(malloc, realloc, free) [emacs]: Undefine before
[bpt/emacs.git] / src / ChangeLog
CommitLineData
dddcbf00
EZ
12001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2
7689ef0b
EZ
3 * regex.c (malloc, realloc, free) [emacs]: Undefine before
4 redefining, to avoid compiler warnings.
5
e7c15bba
EZ
6 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
7
dddcbf00
EZ
8 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
9 (w32_get_bdf_glyph): Cast between unsigned char and char when
10 passing arguments to subroutines, to shut up compiler warnings.
11 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
12 GET_HEX_VAL.
13
14 * xfaces.c: Include keyboard.h before frame.h, not after it.
15
16 * widget.c: Include keyboard.h before frame.h.
17
18 * w32term.h (struct image, struct face): Forward declaration, to
19 avoid compiler warnings.
20
7bd2d083
GM
212001-05-11 Gerd Moellmann <gerd@gnu.org>
22
47e72862
GM
23 * keyboard.c (read_key_sequence): Don't modify events when
24 generating fake prefix keys (mode-line, scroll-bar, ...) since
25 this prevents proper processing of such events when pushed back
26 into unread-command-events.
27
dd5f324b
GM
28 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
29 actually redrawn. Make the function static.
30 (note_mouse_highlight): Fix a case where the mouse cursor
31 was changed back to the text cursor.
32
33 * xterm.h (clear_mouse_face): Remove prototype.
34
d88a79d4
GM
35 * xdisp.c (try_window_id): Fix the fix and set the right
36 window_end_vpos.
37
38 * xdisp.c (try_window_id): Fix computation of window end in the
39 case that lines were deleted at the end of the window. Add some
40 more debug_method_adds.
0416532f 41
7bd2d083
GM
42 * xfaces.c (try_alternative_families): New function.
43 (try_font_list): Use it. If ATTRS specifies a family, check
44 fonts from that family first.
45 (choose_face_font): Remove code setting the family part of
46 the pattern to nil.
47
23fca891
GM
482001-05-10 Gerd Moellmann <gerd@gnu.org>
49
ff9aa2ca
GM
50 * xdisp.c (try_window_id): Fix case of all changes before
51 the window start.
7b2654b5 52
23fca891
GM
53 * xdisp.c (try_window_id): Add some xasserts.
54
e9726794
GM
552001-05-09 Gerd Moellmann <gerd@gnu.org>
56
57 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
58
9e53a675
GM
592001-05-09 Dave Love <fx@gnu.org>
60
61 * xdisp.c (GIVE_UP): Fix for K&R C.
62
0d487c52
GM
632001-05-09 Gerd Moellmann <gerd@gnu.org>
64
fe88d421
GM
65 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
66
0d487c52
GM
67 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
68 back to the text cursor shape without need.
69
1e9fc92e
GM
702001-05-07 Gerd Moellmann <gerd@gnu.org>
71
a2a6232e
GM
72 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
73
74 * dispextern.h (inverse_video): Declare extern.
75
1e9fc92e
GM
76 * keyboard.c (delete_kboard): Handle the case that selected_frame
77 has been deleted in the course of x_connection_closed.
78
12949a7f
EZ
792001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
80
7b2654b5
SM
81 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
82 Fix the change from 2001-04-30.
12949a7f 83
2fa2f461
GM
842001-05-03 Gerd Moellmann <gerd@gnu.org>
85
a779d213
GM
86 * xfns.c (file_dialog_unmap_cb): New function.
87 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
88 where a dialog is closed via the window manager.
89
7b2654b5 90 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
91 the window start or all below the window end mostly rewritten.
92 (redisplay_window): Move the tests if try_window_id is
93 applicable to try_window_id.
94 (GIVE_UP): New macro.
95
3356df63
GM
962001-05-02 Gerd Moellmann <gerd@gnu.org>
97
a39202f6 98 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
99 currently being updated, mark the frame garbaged.
100 Fix computation of rows intersecting the exposed rectangle.
a39202f6 101 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 102
3356df63
GM
103 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
104 again if it has already been drawn.
105
a9d2fd1d
SM
1062001-05-01 Stefan Monnier <monnier@cs.yale.edu>
107
108 * syntax.c (update_syntax_table): Check that oldi has the same
109 properties as old_prop before deciding not to invalidate.
110
c95fc5f1
GM
1112001-04-30 Gerd Moellmann <gerd@gnu.org>
112
a9793e45
GM
113 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
114 read-only text that is so because of text properties.
115
c95fc5f1 116 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 117 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
118 windows that are components of a Lucid menu bar.
119
5a5d9185
GM
1202001-04-27 Gerd Moellmann <gerd@gnu.org>
121
122 * term.c (turn_on_face): Fix reverse video handling on terminals
123 that don't support colors.
124
ba973f7a
GM
1252001-04-26 Gerd Moellmann <gerd@gnu.org>
126
127 * editfns.c (save_excursion_restore): Don't use XBUFFER on
128 a non-buffer.
129
8c56a983
GM
1302001-04-25 Gerd Moellmann <gerd@gnu.org>
131
a728644c
GM
132 * term.c (toggle_highlight): New function.
133 (turn_on_face): Change handling of reverse video.
134
7b2654b5
SM
135 * process.c (wait_reading_process_input):
136 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 137
bfd8410f
GM
138 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
139 of the number of overlays to check.
140
be2488ca
GM
141 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
142
8c56a983
GM
143 * xdisp.c (try_window_id): Fix a case where window_end_pos
144 and window_end_bytepos were not adjusted.
145
522d42f7
GM
1462001-04-23 Gerd Moellmann <gerd@gnu.org>
147
148 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
149 zero instead of -1.
150
78c1afb6
EZ
1512001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
152
a9d2fd1d
SM
153 * process.c (wait_reading_process_input) [!subprocesses]:
154 Don't reference waiting_for_user_input_p, it's not defined in the
155 branch without async subprocesses support.
78c1afb6 156
a2fab450
GM
1572001-04-19 Gerd Moellmann <gerd@gnu.org>
158
a122a38e
GM
159 * keyboard.c (delete_kboard): Prevent a dangling reference
160 from current_kboard to KB, which is freed.
161
a9d2fd1d
SM
162 * process.c (wait_reading_process_input):
163 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
164 read_key_sequence aware of buffer changes from under it.
165
0f8d6dc7
GM
1662001-04-18 Gerd Moellmann <gerd@gnu.org>
167
eeffb293
GM
168 * xfaces.c (Qscalable_fonts_allowed): New variable.
169 (realizing_basic_faces_p): Removed.
2fa2f461
GM
170 (x_face_list_fonts): Special handling for realizing_basic_faces_p
171 removed.
eeffb293 172 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
173 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
174 for scalable-fonts-allowed to t.
eeffb293 175
0f8d6dc7
GM
176 * fileio.c (Finsert_file_contents): If the file size returned from
177 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 178 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 179
eec2d1de
EZ
1802001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
181
182 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
183 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
184 (__memalign_hook): Make the two prototypes consistent.
185
f4f480bd
GM
1862001-04-17 Gerd Moellmann <gerd@gnu.org>
187
188 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
189 matrix of mini-windows.
190
52283633
SM
1912001-04-12 Stefan Monnier <monnier@cs.yale.edu>
192
193 * intervals.c (find_interval): Don't rebalance during signal handling.
194
ec2423c9
GM
1952001-04-11 Gerd Moellmann <gerd@gnu.org>
196
30cb0001 197 * fns.c: Include blockinput.h.
52283633 198
ec2423c9
GM
199 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
200
719d83ad
GM
2012001-04-10 Gerd Moellmann <gerd@gnu.org>
202
60f8d735
GM
203 * fns.c (Fcompare_strings): Fix return values.
204
afffeb57
GM
205 * window.c (window_scroll): Change the meaning of N to mean
206 N screen-fulls or N lines.
207 (window_scroll_pixel_based, window_scroll_line_based)
208 (scroll_command, Fscroll_other_window): Change accordingly.
209
52283633
SM
210 * window.c (window_scroll_pixel_based, Frecenter):
211 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
212 height of the window.
213
214 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
215 instead of using it.last_visible_y for the height of the window.
52283633 216
719d83ad 217 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 218 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
219
220 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
221 able to write to hidden and system files. From Dan Holmsand
222 <dan@eyebee.com>.
719d83ad 223
8ddf3ee1
GM
224 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
225 Holmsand <dan@eyebee.com>.
719d83ad 226
522ed7fb
GM
2272001-04-09 Gerd Moellmann <gerd@gnu.org>
228
9170e5d4
GM
229 * fns.c (Fplist_get, Fplist_put): Add QUITs.
230
522ed7fb
GM
231 * window.c (window_internal_height): Return 1 less if the
232 window has a header line.
233
234 * xdisp.c (try_window_id): When scrolling on a terminal, take
235 the change of window_internal_height into account.
236
ceeb3d7d
EZ
2372001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
238
239 * gmalloc.c (align): If the argument SIZE would overflow
240 __malloc_ptrdiff_t, fail right away.
241
63685b9d
GM
2422001-04-06 Gerd Moellmann <gerd@gnu.org>
243
244 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
245 Make sure the tooltip is completely visible.
246 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
247
248 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
249
250 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
251
3ffb33bb
DL
2522001-04-06 Dave Love <fx@gnu.org>
253
52283633
SM
254 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
255 Fix test of `from'.
3ffb33bb 256
869fb12c
GM
2572001-04-06 Gerd Moellmann <gerd@gnu.org>
258
52283633 259 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 260
869fb12c
GM
261 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
262
441bf856
GM
2632001-04-05 Gerd Moellmann <gerd@gnu.org>
264
4d664b04
GM
265 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
266
52283633 267 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 268
30ca89f5
GM
269 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
270 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
271
272 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
273 shell widget's position only if it is non-null.
274
52283633
SM
275 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
276 Set f->output_data.x->widget to null after destroying it.
30ca89f5 277
81a81c0f
GM
278 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
279 FILENAME to bring it in synch with the documentation.
280
441bf856
GM
281 * xfaces.c (realizing_basic_faces_p): Renamed from
282 realize_default_face_p.
283 (realize_basic_faces): Set/clear realizing_basic_faces_p.
284 (realize_default_face): Don't set the flag.
285
702a1e8e
GM
2862001-04-04 Gerd Moellmann <gerd@gnu.org>
287
1013f4e3
GM
288 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
289
52283633
SM
290 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
291
1013f4e3
GM
292 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
293 the buffer that was used for echoing.
294
702a1e8e
GM
295 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
296 (first_font_matching): Removed unused function.
297 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
298 (may_use_scalable_font_p): Remove parameter FONT; rename
299 parameter NAME to FONT.
300 (x_face_list_fonts): Fix missing bounds check.
301 (realizing_default_face_p): New variable.
302 (realize_default_face): Set and clear that flag.
303 (x_face_list_fonts): When called during the realization of the
304 default face, and no matching fonts are found when ignoring
305 scalable fonts and fonts matching a regexp from
306 face-ignored-fonts, try without ignoring fonts.
307
f9dbcda4
GM
3082001-04-03 Gerd Moellmann <gerd@gnu.org>
309
ad18ffb1
GM
310 * xfns.c (postprocess_image): New function.
311 (lookup_image): Call it for all image types except PostScript.
312 (x_kill_gs_process): Call postprocess_image.
313
f9dbcda4
GM
314 * xterm.c (x_use_underline_position_properties): New variable.
315 (x_draw_glyph_string): Use it.
316 (syms_of_xterm): DEFVAR_BOOL it.
317
651f03b6
GM
3182001-04-02 Gerd Moellmann <gerd@gnu.org>
319
320 * xterm.c (x_alloc_nearest_color_1): New function.
321 (x_alloc_nearest_color): Use it.
322 (x_color_cells): Take a Display as argument, instead of a frame.
323 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
324 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
325 (x_initialize): Register cvt_string_to_pixel as resource converter
326 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
327
73d75a62
GM
3282001-03-30 Gerd Moellmann <gerd@gnu.org>
329
b2046df8
GM
330 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
331 (set_iterator_to_next): If a string from a display property ends,
332 consider the case that this might also be the end of an
333 overlay string having the display property.
334
52283633 335 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 336
87d8eba4
GM
337 * xdisp.c (reseat_to_string): Undo last change.
338
73d75a62
GM
339 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
340 matrix of a window when the header line changes, when
341 new rows are allocated, or when the width changes.
342
911a2406
EZ
3432001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
344
52283633 345 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 346
aea51abe
EZ
3472001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
348
349 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
350 deprecated.
351
176bc847
GM
3522001-03-29 Gerd Moellmann <gerd@gnu.org>
353
ed31fabf
GM
354 * data.c (Fsubr_interactive_form): New function.
355 (syms_of_data): Defsubr it.
356
176bc847
GM
357 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
358 (live_float_p, live_misc_p): Return 1 only if the offset of the
359 pointer in its block is >= 0.
360
e59d0e9d
GM
3612001-03-28 Paul Eggert <eggert@twinsun.com>
362
363 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
364 microseconds calcuation. Avoid double-rounding problem.
365 In doc string, warn that the result is approximate.
366
f827b862
GM
3672001-03-28 Gerd Moellmann <gerd@gnu.org>
368
30a3f61c
GM
369 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
370 bind `inhibit-eval-during-redisplay' to t.
371
372 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
373
374 * xdisp.c (inhibit_eval_during_redisplay)
375 (Qinhibit_eval_during_redisplay): New variables.
376 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
377 don't eval, return nil instead.
378 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
379 Initialize Qinhibit_eval_during_redisplay.
380
e719f5ae
GM
381 * xdisp.c (reseat_to_string): If STRING is multibyte, set
382 the iterator's multibyte_p flag.
383
deb2613a
GM
384 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
385 instead of setting it to zero; it's incremented for each frame
386 where the menu face is changed.
387
52283633
SM
388 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
389 change bottom shadow accordingly.
390
391 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
392 intersections here.
393 (expose_window): Do it here instead.
52283633 394 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 395
f827b862
GM
396 * bytecode.c (BYTE_CODE_QUIT): New macro.
397 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
398
4bde0ebb
GM
3992001-03-27 Gerd Moellmann <gerd@gnu.org>
400
607ec83c
GM
401 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
402 Give up if matrix starts in an ellipsis.
403 (init_from_display_pos): Do nothing if POS doesn't specify
404 a dpvec_index but the iterator has such a position.
405
0245398f
GM
406 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
407
aba25348
GM
408 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
409 x/y position is (0, 0) after destroying the menu bar, restore
410 its original position.
411
4bde0ebb
GM
412 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
413 (init_from_display_pos): Use it.
414 (try_window_reusing_current_matrix): Don't use cursor_row_p.
415
8cdb267e
GM
4162001-03-26 Gerd Moellmann <gerd@gnu.org>
417
418 * xdisp.c (try_window_id): Undo last change.
419
9948db79
EZ
4202001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
421
422 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
423
424 * buffer.c (syms_of_buffer): Doc fix.
425
2eddf899
GM
4262001-03-26 Gerd Moellmann <gerd@gnu.org>
427
428 * xfaces.c (x_update_menu_appearance): Use local variable
429 popup_path for setting font resources.
430
6c145d35
EZ
4312001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
432
6a65b1b5
EZ
433 * frame.c (Fframe_list): Don't reference tip_frame if
434 HAVE_WINDOW_SYSTEM is not defined.
435
6c145d35
EZ
436 * emacs.c (main): Update the copyright year. From Werner LEMBERG
437 <wl@gnu.org>.
438
d74c1900
GM
4392001-03-25 Gerd Moellmann <gerd@gnu.org>
440
20fbd925
GM
441 * xdisp.c (init_from_display_pos): Test invisible property
442 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 443
927c5b3b
GM
444 * xdisp.c (redisplay_internal) <update one window>: Make sure
445 last_arrow_position and last_arrow_string are set.
446
d74c1900
GM
447 * frame.c (Fframe_list): Don't return a tooltip frame.
448
091f8878
GM
4492001-03-23 Gerd Moellmann <gerd@gnu.org>
450
52283633
SM
451 * xdisp.c (mark_window_display_accurate_1): New function,
452 extracted from mark_window_display_accurate.
453 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
454 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
455 (mark_window_display_accurate): Use it.
456 (redisplay_internal): Use it for the selected window.
457 (redisplay_internal): Avoid duplicate mark_window_display_accurate
458 for the selected frame.
459
ac90c44f
GM
460 * xdisp.c Use make_number, for readability.
461 (try_window_id): Disable rows below the window end.
462 (try_window_reusing_current_matrix): Use cursor_row_p.
463 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
464 of rows.
465 (init_from_display_pos): If POS specifies a position in a display
466 vector, maybe get the iterator set up for that ellipsis.
43c09969 467
091f8878
GM
468 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
469
991786dd
EZ
4702001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
471
472 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
473
6c29b43c
GM
4742001-03-23 Gerd Moellmann <gerd@gnu.org>
475
476 * xfaces.c (x_update_menu_appearance): Use a different path
477 for Lucid popup menus.
478
d8731202
SM
4792001-03-22 Stefan Monnier <monnier@cs.yale.edu>
480
481 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
482
483 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
484 (string_buffer_position): Use `make_number'.
485
f61a541b
GM
4862001-03-22 Gerd Moellmann <gerd@gnu.org>
487
3c9e997b
GM
488 * xfaces.c (x_update_menu_appearance): Renamed from
489 x_set_menu_face_resources. Use different resources for popups.
490
491 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
492 (GC_CHECK_STRING_BYTES): Don't define.
493
364cd450
GM
494 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
495 Removed, together with subroutines.
496 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 497 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 498
d8731202
SM
499 * dispextern.h (x_set_menu_resources_from_menu_face):
500 Remove prototype.
364cd450 501
d8731202 502 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
503 Remove calls to x_set_menu_resources_from_menu_face.
504
d8731202
SM
505 * xfaces.c (xm_set_menu_resources_from_menu_face):
506 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
507
508 * xmenu.c: Include widget.h.
509 (single_submenu): Return int. Some cleanup.
510 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
511
140330de
GM
5122001-03-21 Gerd Moellmann <gerd@gnu.org>
513
514 * xterm.c (x_update_window_end): Handle overwritten mouse face
515 also for tool bar windows.
516 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
517 DRAW is DRAW_IMAGE_RAISED.
518
1741905c
GM
5192001-03-20 Gerd Moellmann <gerd@gnu.org>
520
fa88947e
GM
521 * print.c (syms_of_print): Doc fixes.
522
1741905c
GM
523 * fns.c (Fmd5): Doc fix.
524
ade0bee1
GM
5252001-03-19 Gerd Moellmann <gerd@gnu.org>
526
357e7376
GM
527 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
528 Clear area of the frame not occupied by the scroll bar.
529
c2c097cc
GM
530 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
531 tip frame's root window buffer to *tip* right after creating
532 the frame.
533
ade0bee1
GM
534 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
535 is an integer don't have to be for space characters.
536
88c6e37e
GM
5372001-03-16 Gerd Moellmann <gerd@gnu.org>
538
52283633
SM
539 * indent.c (current_column, current_column_1, Fmove_to_column)
540 (compute_motion): Handle characters from display vectors differently.
88c6e37e 541
c62eed76
KH
5422001-03-15 Kenichi Handa <handa@etl.go.jp>
543
544 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
545 drawing glyph string.
546
c899e7e6
GM
5472001-03-15 Gerd Moellmann <gerd@gnu.org>
548
d0bbfc99
GM
549 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
550 (command_loop_1): Undo last change.
551
03d1a189
GM
552 * xterm.c (fast_find_position): Return the correct vpos.
553
c899e7e6 554 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 555 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
556 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
557 Call store_symval_forwarding with BUF null.
558 (set_internal): Call store_symval_forwarding with the BUF
559 parameter passed to set_internal. Formerly, the value was always
560 set in the current buffer; the buffer recorded in specbind for
561 this case wasn't used.
562 (arith_driver): Reindent.
563
52283633
SM
564 * buffer.c (swap_out_buffer_local_variables):
565 Call store_symval_forwarding with BUF null.
c899e7e6
GM
566
567 * lisp.h (store_symval_forwarding): Change prototype.
568
569 * eval.c (specbind): Call store_symval_forwarding with BUF null.
570
57ac7c81
GM
5712001-03-14 Gerd Moellmann <gerd@gnu.org>
572
697617d9
GM
573 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
574 FOR_DELETION. Avoid resizing the mini-window of the selected
575 frame if FOR_DELETION is set.
576 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
577 (Fmake_frame_invisible): Change calls to do_switch_frame for new
578 signature.
579
580 * window.c (Fset_window_configuration): Change call to
581 do_switch_frame to new format.
582
583 * keyboard.c (quit_throw_to_read_char): Change call to
584 do_switch_frame to new format.
585
586 * lisp.h (do_switch_frame): Change prototype.
587
819dce0f
GM
588 * frame.c (Fframe_parameters): In the `buffer-list' frame
589 parameter, store the buffer list of FRAME, not the list of the
590 selected frame.
591
57ac7c81
GM
592 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
593 box just because the glyph row's full_width_p flag is set.
594
65008712
GM
5952001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
596
597 * xdisp.c (highlight_trailing_whitespace): On character terminals,
598 skip the padding blanks inserted in extend_face_to_end_of_line,
599 before checking for trailing whitespace.
600
159cf431
GM
6012001-03-13 Gerd Moellmann <gerd@gnu.org>
602
52283633 603 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
604 Remove special handling for LessTif/Motif.
605 (toplevel): Don't include Xm/Xm.h.
606
52283633
SM
607 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
608 Remove workaround code for LessTif; it doesn't work anymore.
609
2564ea1b 610 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 611 Xm/ScrollBarP.h.
afcdc0a1 612
52283633
SM
613 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
614 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
615 contemporary LessTif.
616
52283633
SM
617 * xfaces.c (xm_set_menu_resources_from_menu_face):
618 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 619
159cf431
GM
620 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
621 removing button grabs.
622
c6f7429a
KH
6232001-03-13 Kenichi Handa <handa@etl.go.jp>
624
cb82d767
KH
625 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
626 and clip-large-size-font as obsolete.
627
c6f7429a
KH
628 * lread.c (read_multibyte): Check the validity of multibyte
629 sequence. If invalid, return the first byte.
630
760cefb5
GM
6312001-03-12 Gerd Moellmann <gerd@gnu.org>
632
633 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
634 before running the command; timer functions or process
635 filters may have set it.
636
5141f9d0
EZ
6372001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
638
639 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
640 Doc fix.
641
b6a15240
GM
6422001-03-12 Gerd Moellmann <gerd@gnu.org>
643
644 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
645 to sprintf.
646
95522746
GM
6472001-03-09 Gerd Moellmann <gerd@gnu.org>
648
db14cfc5
GM
649 * dispextern.h (string_buffer_position): Add prototype.
650
52283633 651 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
652 (single_display_prop_string_p): New functions.
653
654 * xterm.c (note_mouse_highlight): If there's no help-echo on
655 a string, look at the buffer text ``under'' it.
656
657 * keyboard.c (make_lispy_event): Add string info to the event,
658 analogous to what's done on mode lines.
659 (read_key_sequence): For a click on a string, consider `local-map'
660 and `keymap' of that string.
661
52283633
SM
662 * keyboard.c (make_lispy_event, make_lispy_movement):
663 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
664
665 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
666
667 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
668 POS; return void.
669
95522746
GM
670 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
671 flags argument to emacs_open; it seems to conflict with O_EXCL.
672
898a399d
KH
6732001-03-09 Kenichi Handa <handa@etl.go.jp>
674
28cd4910
KH
675 * composite.h (struct composition): Change types of members;
676 glyph_len to unsigned, width to unsigned short.
898a399d 677
4cdf6a6c
AI
6782001-03-08 Andrew Innes <andrewi@gnu.org>
679
680 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
681 menu titles.
682
129004d3
GM
6832001-03-08 Gerd Moellmann <gerd@gnu.org>
684
221dd3e7
GM
685 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
686 instead of nil.
687
52283633 688 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
689 help-echo in strings.
690 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
691 (fast_find_string_pos): New function.
692
52283633
SM
693 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
694 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
695
696 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
697 Handle `mouse-face'.
698
699 * dispextern.h (face_at_string_position): Change prototype.
700
52283633 701 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 702
129004d3
GM
703 * keyboard.c (make_lispy_event): Avoid generating drag events
704 if the mouse hasn't actually moved to another buffer position.
52283633 705
80c8ab8c
DL
7062001-03-08 Dave Love <fx@gnu.org>
707
129004d3 708 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 709
989521fd
GM
7102001-03-08 Gerd Moellmann <gerd@gnu.org>
711
712 * process.c (Fset_process_window_size): Fix a typo.
713
bb5c338d
KH
7142001-03-08 Kenichi Handa <handa@etl.go.jp>
715
716 * coding.c (detect_coding_sjis): Do more rigid check.
717 (detect_coding_big5): Likewise.
718 (decode_coding_sjis_big5): Likewise.
719 (Fdetect_coding_region): Call detect_coding_system with tailing
720 anchor byte `\0' for more rigid detection.
52283633 721 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
722 (Fdetect_coding_string): Likewise.
723
8b8f9197
SM
7242001-03-07 Stefan Monnier <monnier@cs.yale.edu>
725
726 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
727 a string before extracting its data.
728
3bdf2660
GM
7292001-03-07 Gerd Moellmann <gerd@gnu.org>
730
731 * window.c (Frecenter): Rewrite code handling negative values
732 of ARG on graphical frames.
733
7342001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
735
736 * window.c (displayed_window_lines): If W->start is outside the
737 accessible portion of the buffer, call start_display with BEGV or
738 ZV instead of W->start.
739
471f86b9
GM
7402001-03-07 Gerd Moellmann <gerd@gnu.org>
741
2ab62c6c
GM
742 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
743
471f86b9
GM
744 * process.c (Fset_process_filter): Don't crash if the input
745 file descriptor of PROCESS is closed.
746 (Fset_process_window_size): Likewise.
747
101922c3
GM
7482001-03-06 Kenichi Handa <handa@etl.go.jp>
749
750 * xterm.c (XTflash): Make the timeout of select shorter, and call
751 select repeatedly until the desired time expires.
752
45d051a7
GM
7532001-03-06 Gerd Moellmann <gerd@gnu.org>
754
755 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
756
757 * xfns.c (Fx_create_frame): Clear Vwindow_list.
758
759 * lisp.h (Vwindow_list): Declare extern.
760
8f372c46
EZ
7612001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
762
763 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
764
f16a7aa5
GM
7652001-03-06 Gerd Moellmann <gerd@gnu.org>
766
157ae273
GM
767 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
768 to detect a case where we have to highlight a different region
769 despite not having left the currently highlighted region.
770 Set mouse_face_overlay in the x_display_info.
45d051a7 771 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
772
773 * xterm.h (struct x_display_info): Add mouse_face_overlay.
774
775 * buffer.c (mouse_face_overlay_overlaps): New function.
776
777 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
778 (Qmouse_face): Declare extern.
779
f16a7aa5
GM
780 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
781 if face_change_count is non-zero.
782
827afcac
KH
7832001-03-06 Kenichi Handa <handa@etl.go.jp>
784
785 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
786 that the source is unibyte.
787
14c7242e
DL
7882001-03-05 Dave Love <fx@gnu.org>
789
827afcac 790 * xterm.c (XTmouse_position): Fix typo.
14c7242e 791
c28b847b
GM
7922001-03-05 Gerd Moellmann <gerd@gnu.org>
793
794 * minibuf.c (read_minibuf): Clean up the binding stack if
795 called noninteractively.
796
b86644f2
KH
7972001-03-05 Kenichi Handa <handa@etl.go.jp>
798
799 * coding.c (syms_of_coding): Docstring modified.
800
203682cc 8012001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
802
803 * charset.c (char_to_string): If a single byte char has modifier
804 bits that can't be reflected to the character code, ignore them
45d051a7 805 instead of signaling an error.
b86644f2 806
e30bd7b7
EZ
8072001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
808
809 * s/msdos.h: Update copyright notice.
810
811 * dosfns.h: Update copyright notice.
812
813 * dosfns.c: Update copyright notice.
814
815 * msdos.c: Update copyright notice.
816
b52b65bd
GM
8172001-03-02 Gerd Moellmann <gerd@gnu.org>
818
819 * xterm.c (glyph_rect): New function.
820 (XTmouse_position): Use it to raise the threshold for mouse
821 movement event generation.
822
53c4b1e6
EZ
8232001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
824
825 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
826 specifies (reverse . t), reverse the initial screen colors.
827 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
828 but we are reversing the colors, set bg_set, not fg_set.
829 Likewise for setting background-color and reversing: set fg_set.
830 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
831 in effect.
832
833 * xfaces.c (Finternal_set_lisp_face_attribute)
834 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
835 parameters alist.
836
f964b4d7
GM
8372001-03-02 Gerd Moellmann <gerd@gnu.org>
838
ef53d75e
GM
839 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
840 to a single slash in the middle of file names.
841
52283633 842 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
843 Accept only alphanumeric time zone names.
844
f964b4d7
GM
845 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
846 or width area.
847 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
848 a widget to zero height.
52283633 849
c3c45f65
GM
8502001-03-01 Gerd Moellmann <gerd@gnu.org>
851
852 * window.c (Fwindow_end): Call move_it_past_eol only if
853 ending up on a partially visible line.
854
028d739a
DL
8552001-03-01 Dave Love <fx@gnu.org>
856
857 * ccl.c (Fccl_execute): Doc fix.
858
57c5889c
GM
8592001-03-01 Gerd Moellmann <gerd@gnu.org>
860
35f59f6b
GM
861 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
862 of the tool bar before calling x_figure_window_size.
863
f84ff02c
GM
864 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
865 NULL after destroying it, otherwise XTread_socket can access a
866 destroyed widget when input is unblocked.
867
8b8f9197 868 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 869
57c5889c
GM
870 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
871 same name as before, although there was a change in fontsets.
872
224227d1
KR
8732001-02-28 Ken Raeburn <raeburn@gnu.org>
874
4560730a
KR
875 * lisp.h (Fframe_parameter): Declare.
876
224227d1 877 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 878 Lisp_Object.
224227d1 879
ece93c02
GM
8802001-02-28 Gerd Moellmann <gerd@gnu.org>
881
11ef99b9
GM
882 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
883 NULL instead.
884
885 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
886 NULL instead.
887
ece93c02
GM
888 * alloc.c (toplevel): Include process.h.
889 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
890 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
891 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
892 (allocate_vector, allocate_hash_table, allocate_window)
893 (allocate_frame, allocate_process, allocate_other_vector):
894 New functions.
ece93c02
GM
895 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
896 (mark_maybe_pointer): New function.
52283633 897 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
898 remain and not Lisp_Objects.
899 (min_heap_address, max_heap_address): New variables.
900 (mem_find): Return MEM_NIL if START is below min_heap_address or
901 above max_heap_address.
902 (mem_insert): Compute min_heap_address and max_heap_address.
903
904 * process.c (make_process): Use allocate_process.
905
906 * frame.c (make_frame): Use allocate_frame.
907
908 * window.c (make_window, make_dummy_parent): Use allocate_window.
909 (Fcurrent_window_configuration): Use allocate_other_vector.
910
911 * lisp.h (allocate_vectorlike): Remove prototype.
912 (allocate_vector, allocate_other_vector, allocate_frame)
913 (allocate_window, allocate_process, allocate_hash_table):
914 Add prototypes.
915
916 * fns.c (Fdelete, larger_vector): Use allocate_vector.
917 (make_hash_table, copy_hash_table): Use allocate_hash_table.
918
063af457
KH
9192001-02-27 Kenichi Handa <handa@etl.go.jp>
920
921 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
922 treat the produced bytes as a valid multibyte sequence.
923
924 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
925 (ccl_driver) <CCL_WriteMultibyteChar2>:
926 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
927 <ccl_finish>: Set ccl->eight_bit_control properly.
928
929 * ccl.h (struct ccl_program): New member eight_bit_control.
930
f58c6494
SM
9312001-02-26 Stefan Monnier <monnier@cs.yale.edu>
932
933 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
934 accessible_keymaps_char_table.
935 (accessible_keymaps_char_table): Obey `is_metized'.
936 (where_is_internal, Fwhere_is_internal): Don't confuse int and
937 Lisp_Object.
938
c596c392
GM
9392001-02-26 Gerd Moellmann <gerd@gnu.org>
940
941 * dispnew.c: Check HAVE_TERM_H before including term.h.
942
425de386
AI
9432001-02-24 Andrew Innes <andrewi@gnu.org>
944
945 * makefile.w32-in: Update copyright notice.
946
2ba11bbd
SM
9472001-02-24 Stefan Monnier <monnier@cs.yale.edu>
948
949 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
950
66c56ed1
KH
9512001-02-24 Kenichi Handa <handa@etl.go.jp>
952
4c1593ce
KH
953 * Makefile.in (lisp): Add international/utf-8.elc.
954
66c56ed1
KH
955 * fontset.c (Fnew_fontset): Fix handling of the case that an
956 element of FONTLIST is a cons of family and registry.
957
796ead7e
JR
9582001-02-23 Jason Rumney <jasonr@gnu.org>
959
960 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
961 to height unconditionally.
962
963 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 964 background face to the end of the drawing area in the text area, only.
796ead7e
JR
965 (x_insert_glyphs): Call window_box_left to obtain the left
966 x-coordinate of the area to shift.
967
968 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
969 safe_run_hooks.
970
f6839838
AI
9712001-02-22 Andrew Innes <andrewi@gnu.org>
972
52283633 973 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
974 ($(BLD)\dispnew.obj):
975 ($(BLD)\editfns.obj):
976 ($(BLD)\fileio.obj):
977 ($(BLD)\filelock.obj):
978 ($(BLD)\keyboard.obj):
979 ($(BLD)\w32proc.obj):
980 ($(BLD)\process.obj):
981 ($(BLD)\sysdep.obj): Ditto.
982
983 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
984 header files.
52283633
SM
985 ($(BLD)/dispnew.$(O)):
986 ($(BLD)/editfns.$(O)):
987 ($(BLD)/fileio.$(O)):
988 ($(BLD)/filelock.$(O)):
989 ($(BLD)/keyboard.$(O)):
990 ($(BLD)/w32proc.$(O)):
991 ($(BLD)/process.$(O)):
f6839838
AI
992 ($(BLD)/sysdep.$(O)): Ditto.
993
c224f70b
GM
9942001-02-22 Gerd Moellmann <gerd@gnu.org>
995
51695746
GM
996 * xdisp.c (forward_to_next_line_start): When taking the shortcut
997 at the start of the function, check that the \n in it->c is
998 from the iterator's current position.
52283633 999
a61b7058
GM
1000 * xdisp.c (handle_single_display_prop): Add parameter
1001 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1002 properties which replace the display of text with something else.
1003 (handle_display_prop): Call handle_single_display_prop with
1004 additional argument saying if we already replaced text display
1005 with something else. Use AREF.
52283633 1006 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1007 (decode_mode_spec_coding): Use AREF and ASIZE.
1008
3473f362
GM
1009 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1010 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1011 * vmstime.h: Files removed.
52283633 1012
2bb58df3
GM
1013 * unexencap.c, unexfx2800.c: Files removed.
1014
c224f70b
GM
1015 * dispnew.c (direct_output_for_insert): Give up if we are showing
1016 a message or just cleared the message because we might need to
1017 resize the echo area window or display an empty echo area.
1018
ffc9ff0c
GM
10192001-02-21 Gerd Moellmann <gerd@gnu.org>
1020
0528abe1
GM
1021 * xdisp.c (redisplay_internal): Do the
1022 mark_window_display_accurate after all windows have been
1023 redisplayed because this call resets flags in buffers which are
1024 needed for proper redisplay.
1025
52283633
SM
1026 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1027 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1028 the old names.
1029
52283633
SM
1030 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1031 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1032
1033 * msdos.h (struct x_output): Rename busy_window to
1034 hourglass_window, busy_p to hourglass_p.
1035
52283633
SM
1036 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1037 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1038
1039 * xfns.c: Rename everything containing *busy_cursor* and similar
1040 to *hourglass*.
1041 (syms_of_w32fns): Rename x-busy-pointer-shape to
1042 x-hourglass-pointer-shape, display-busy-cursor to
1043 display-hourglass, busy-cursor-delay to hourglass-delay.
1044
1045 * w32fns.c: Rename everything containing *busy_cursor* and similar
1046 to *hourglass*.
1047 (syms_of_w32fns): Rename x-busy-pointer-shape to
1048 x-hourglass-pointer-shape, display-busy-cursor to
1049 display-hourglass, busy-cursor-delay to hourglass-delay.
1050
1051 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1052 of its busy_p flag.
1053
1054 * dispextern.h (start_hourglass, cancel_hourglass)
1055 (display_hourglass_p): Renamed from *busy_cursor*.
1056
ab2c5f0a
GM
10572001-02-20 Gerd Moellmann <gerd@gnu.org>
1058
d17e49a8
GM
1059 * keyboard.c (read_char): When an event from unread-command-events
1060 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1061
fa97adf6
GM
1062 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1063 equal to the current buffer.
1064
ab2c5f0a
GM
1065 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1066 nil, otherwise we're left with truncate_lines t when a message
1067 is printed with message-truncate-lines bound to t.
1068
aeac019e
GM
10692001-02-19 Gerd Moellmann <gerd@gnu.org>
1070
c8bc6f65
GM
1071 * window.c (Fmove_to_window_line): Undo last change.
1072 (displayed_window_lines): Call line_bottom_y to determine
1073 the line's bottom position.
1074
1075 * dispextern.h (line_bottom_y): Add prototype.
1076
52283633 1077 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1078 (pos_visible_p): Use it.
1079
980a2d69
GM
1080 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1081 set redisplaying_p to 0 here instead of in Frecursive_edit.
1082 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1083 set redisplaying_p.
1084
52283633 1085 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1086 New variables.
1087 (syms_of_xdisp): Initialize new variables.
1088 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1089 Specbind `inhibit-menubar-update' when updating the menu bar.
1090
65048e97
GM
1091 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1092 safe_run_hooks.
1093
1094 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1095 safe_run_hooks.
1096
a57c4026
GM
1097 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1098 is null.
1099
aeac019e
GM
1100 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1101 to the start of the file.
1102
76846b31
GM
11032001-02-16 Gerd Moellmann <gerd@gnu.org>
1104
f3f053f3 1105 * window.c (set_window_buffer): Fix last change.
52283633 1106
f3f053f3
GM
1107 * window.c (set_window_buffer): Set window's vscroll to 0.
1108
dad75588
GM
1109 * window.c (coordinates_in_window): Increase width of area
1110 where the vertical line can be dragged.
1111
c220b753
GM
1112 * xterm.c (x_set_glyph_string_background_width): Extend the
1113 background face to the end of the drawing area in the text
1114 area, only.
1115
c56b1c1b
GM
1116 * xdisp.c (handle_single_display_prop): Set iterator's position
1117 to where the `display' property starts, like for images.
1118 (dump_glyph): New function.
1119 (dump_glyph_row): Use it. Dump info about marginal areas.
1120
1121 * dispnew.c (direct_output_for_insert): Recognize more cases where
1122 glyphs can be written instead of being inserted.
1123
1124 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1125 the left x-coordinate of the area to shift.
1126
76846b31
GM
1127 * dired.c (directory_files_internal): Set result list to nil
1128 before retrying.
1129
0fc71a77
KH
11302001-02-15 Kenichi Handa <handa@etl.go.jp>
1131
1132 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1133 invalid multibyte sequence, treat *SRC as a character of
1134 eight-bit-graphic.
1135
25078b54
EZ
11362001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1137
1138 * textprop.c (Fset_text_properties): Doc fix.
1139
8399f8a0
GM
11402001-02-15 Gerd Moellmann <gerd@gnu.org>
1141
1142 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1143
9a2a6f73
DL
11442001-02-14 Dave Love <fx@gnu.org>
1145
1146 * coding.c: Doc and message fixes.
1147
bf853fee
AI
11482001-02-14 Andrew Innes <andrewi@gnu.org>
1149
1150 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1151 Emacs frame above the screen size.
1152
78c663d8
GM
11532001-02-14 Gerd Moellmann <gerd@gnu.org>
1154
1155 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1156
7cc9f69f
GM
11572001-02-13 Gerd Moellmann <gerd@gnu.org>
1158
0a411995
GM
1159 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1160 case that TO ends up beyond ZV after running before-change-functions.
1161
5ddc1b75
GM
1162 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1163 the selected window if it is showing the buffer in question.
1164
7cc9f69f
GM
1165 * dired.c (directory_files_internal): Initialize errno.
1166 (toplevel): Include errno.h.
1167
2e6621ca
GM
11682001-02-13 Kenichi Handa <handa@etl.go.jp>
1169
1170 * xfaces.c (best_matching_font): New parameter width_ratio.
1171 Multiply avgwidth by width_ratio.
1172 (choose_face_font): Call best_matching_font with width_ratio
1173 calculated from the column width of C.
1174
60222d69
AI
11752001-02-12 Andrew Innes <andrewi@gnu.org>
1176
1177 The following changes are to draw box lines inside characters area
1178 if line-width is negative.
52283633 1179
60222d69
AI
1180 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1181 face->box_line_width is negative.
1182 (x_produce_stretch_glyph): Likewise.
1183 (x_produce_glyphs): Likewise.
1184 (x_estimate_mode_line_height): Likewise.
1185 (x_draw_glyph_string_background): Likewise.
1186 (x_draw_glyph_string_foreground): Likewise.
1187 (x_draw_composite_glyph_string_foreground): Likewise.
1188 (x_draw_glyph_string_box): Likewise.
1189 (x_draw_image_foreground): Likewise.
1190 (x_draw_image_relief): Likewise.
1191 (x_draw_image_foreground_1): Likewise.
1192 (x_draw_image_glyph_string): Likewise.
1193
9804b846
KH
11942001-02-09 Kenichi Handa <handa@etl.go.jp>
1195
1196 The following changes are to draw box lines inside characters area
1197 if line-width is negative.
52283633 1198
9804b846
KH
1199 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1200 face->box_line_width is negative.
1201 (x_produce_stretch_glyph): Likewise.
1202 (x_produce_glyphs): Likewise.
1203 (x_estimate_mode_line_height): Likewise.
1204 (x_draw_glyph_string_background): Likewise.
1205 (x_draw_glyph_string_foreground): Likewise.
1206 (x_draw_composite_glyph_string_foreground): Likewise.
1207 (x_draw_glyph_string_box): Likewise.
1208 (x_draw_image_foreground): Likewise.
1209 (x_draw_image_relief): Likewise.
1210 (x_draw_image_foreground_1): Likewise.
1211 (x_draw_image_glyph_string): Likewise.
1212
1213 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1214 and :line-width can be negative.
52283633 1215 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1216
49be9f70
JR
12172001-02-09 Jason Rumney <jasonr@gnu.org>
1218
1219 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1220 characters the same as ASCII and latin-1.
1221 (x_display_and_set_cursor): Check for the focus frame's selected
1222 window instead of selected_window.
1223 (x_after_update_window_line): Don't clear if frame's internal
1224 border width is zero.
1225 (x_new_font): Don't change a tooltip's size.
1226 (w32_initialize): Set char_ins_del_ok to 1.
1227
1228 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1229 (x_set_font): If font hasn't changed, avoid recomputing
1230 faces and other things.
52283633
SM
1231 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1232 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1233 (x_create_tip_frame): Prevent changing the tooltip's
1234 background color by specifying a color for the default font
1235 in .Xdefaults.
1236 (Qcancel_timer): New variable.
1237 (syms_of_w32fns): Initialize and staticpro it.
1238 (Fx_hide_tip, Fx_show_tip): Use it.
1239 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1240 the timer.
1241 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1242
1243 * w32.c (init_environment): Duplicate local string before putenv.
1244
555e35d2
SZ
12452001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1246
1247 * charset.c (Fstring): A typo.
1248
19c92c94
KH
12492001-02-09 Kenichi Handa <handa@etl.go.jp>
1250
e47a1c33
KH
1251 * charset.c (Fstring): If all arguments are less than 256, return
1252 a unibyte string.
1253
1254 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1255 return a unibyte string.
1256
19c92c94
KH
1257 * coding.c (code_convert_region): After detecting a coding, if
1258 nothing found, set coding->composing to COMPOSITION_NO.
1259 (decode_coding_string): Likewise.
1260
d8e675f5
SM
12612001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1262
1263 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1264 to avoid overflow.
1265
bd503487
KH
12662001-02-07 Kenichi Handa <handa@etl.go.jp>
1267
1268 * charset.c (parse_str_to_multibyte): New function.
1269
1270 * charset.h (parse_str_to_multibyte): Extern it.
1271
1272 * print.c (print_string): If we are going to print a unibyte
1273 string into a multibyte buffer, convert the string to multibyte by
1274 str_to_multibyte.
1275
a8370d72
AI
12762001-02-06 Andrew Innes <andrewi@gnu.org>
1277
1278 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1279 been created. It seems we can get sent window messages such as
1280 WM_ERASEBKGND before we properly update a frame.
1281
c363a1d6
GM
12822001-02-06 Gerd Moellmann <gerd@gnu.org>
1283
1284 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1285 Avoid some unnecessary cursor positioning.
1286
a08332c0
GM
12872001-02-05 Gerd Moellmann <gerd@gnu.org>
1288
52283633 1289 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1290 (LFACE_AVGWIDTH): New macro.
1291 (LFACEP): Use AREF.
1292 (check_lface_attrs): Check LFACE_AVGWIDTH.
1293 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1294 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1295 (merge_face_vectors): Check LFACE_AVGWIDTH.
1296 (Finternal_make_lisp_face): Use AREF.
1297 (xm_set_menu_resources_from_menu_face)
1298 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1299 (Finternal_lisp_face_empty_p): Use AREF.
1300 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1301 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1302 Compare average widths..
1303 (best_matching_font): Arrange for comparing average widths.
1304
52283633
SM
1305 * dispextern.h (enum lface_attribute_index):
1306 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1307
5cb3c8d4
DL
13082001-02-05 Dave Love <fx@gnu.org>
1309
1310 * puresize.h: Revert last change following loadup.el change.
1311
193fba87
AI
13122001-02-05 Andrew Innes <andrewi@gnu.org>
1313
1314 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1315 invocation of temacs, to work with Windows 2000.
1316 (bootstrap-emacs): Ditto.
1317
e16f52ce
GM
13182001-02-05 Gerd Moellmann <gerd@gnu.org>
1319
7a58ab59
GM
1320 * xterm.c (x_display_and_set_cursor): Check for the focus
1321 frame's selected window instead of selected_window.
1322
e89aaabd
GM
1323 * xdisp.c (try_scrolling): If point is in the line below the
1324 window, make sure to move the iterator at least a canonical
1325 char height down.
1326
52283633 1327 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1328
789ce875
KH
13292001-02-05 Kenichi Handa <handa@etl.go.jp>
1330
52283633
SM
1331 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1332 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1333 (ccl_driver): If the CCL program is terminated because of
1334 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1335 destination instead of throwing them away.
1336
20b28f82
GM
13372001-02-02 Gerd Moellmann <gerd@gnu.org>
1338
79fb38c0
GM
1339 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1340 faces and other things.
1341
20b28f82
GM
1342 * xdisp.c (get_next_display_element): Fix case of empty
1343 display table entry.
1344
5a72551e
EZ
13452001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1346
eb24d0bf
EZ
1347 * editfns.c (Fconstrain_to_field): Doc fix.
1348
6a3f48c7
EZ
1349 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1350 into `thoroughly', to make it consistent with the doc string.
1351
5a72551e
EZ
1352 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1353
01acdb05
GM
13542001-02-01 Gerd Moellmann <gerd@gnu.org>
1355
0353b28f
GM
1356 * search.c (search_buffer): Call set_search_regs with a byte
1357 position, not a character position.
1358
01acdb05
GM
1359 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1360 minibuffer-only,
1361
e86b5133
EZ
13622001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1363
1364 * frame.c (Fmodify_frame_parameters): Doc fix.
1365
7442878f
GM
13662001-01-31 Gerd Moellmann <gerd@gnu.org>
1367
01acdb05
GM
1368 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1369 identifier which is not reserved by Standard C.
52283633 1370
7442878f
GM
1371 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1372
1373 * window.c (enum window_part): New enumeration.
1374 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1375 Qright_bitmap_area.
1376 (coordinates_in_window): Return an enumerator from enum
1377 window_part. Fix handling of right scroll bar.
1378 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1379 `right-fringe' instead of `left-bitmap-area' and
1380 `right-bitmap-area'. Use enumerators from enum window_part
1381 instead of hard-coded integers.
52283633
SM
1382 (check_window_containing, window_from_coordinates):
1383 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1384 (syms_of_window): Replace Qleft_bitmap_area and
1385 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1386
7c132cba
EZ
13872001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1388
1389 * editfns.c (Fformat_time_string): Doc fix.
1390
c359dd9e
SM
13912001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1392
1393 * keymap.c (Fwhere_is_internal): Use the first valid binding
1394 if no ascii binding is found (when firstonly is t).
1395
ce070307
GM
13962001-01-31 Gerd Moellmann <gerd@gnu.org>
1397
b4f30ec5
GM
1398 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1399 instead of Finteractive_p.
1400
1401 * lisp.h (interactive_p): Add prototype.
1402
1403 * eval.c (interactive_p): New function.
1404 (Finteractive_p): Use it.
1405
ce070307
GM
1406 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1407
f57b6e64
DL
14082001-01-31 Dave Love <fx@gnu.org>
1409
d61c7afe
DL
1410 * .gdbinit (hook-run): Define to run xreload.
1411
f57b6e64
DL
1412 * textprop.c (Fset_text_properties): Fix newline in doc string.
1413
eef93f99
GM
14142001-01-30 Gerd Moellmann <gerd@gnu.org>
1415
52283633
SM
1416 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1417 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1418
1419 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1420 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1421 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1422
1423 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1424 height.
1425
d9c1f6f9
DL
14262001-01-30 Dave Love <fx@gnu.org>
1427
1428 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1429 AFTER_POTENTIAL_GC.
1430
e8f044a0
GM
14312001-01-29 Gerd Moellmann <gerd@gnu.org>
1432
52283633
SM
1433 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1434 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1435
8e1db7b3
EZ
14362001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1437
1438 * textprop.c (Fset_text_properties): Doc fix.
1439
4eefd9d2
GM
14402001-01-29 Gerd Moellmann <gerd@gnu.org>
1441
1442 * xdisp.c (forward_to_next_line_start): Remove xassert.
1443
fccb8288
EZ
14442001-01-29 Jason Rumney <jasonr@gnu.org>
1445
4eefd9d2 1446 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1447 returning without releasing it.
1448
76581eab
KH
14492001-01-29 Kenichi Handa <handa@etl.go.jp>
1450
1451 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1452 for '^', '$', and '\0'.
1453
83a96b4d
AC
14542001-01-28 Andrew Choi <akochoi@i-cable.com>
1455
5604ec34
AC
1456 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1457 regex for '^', '$', and '\0'.
1458
83a96b4d
AC
1459 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1460 only if current_sblock has been initialized.
1461
1462 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1463 terminal frame even if it is the only visible frame.
1464
c09a6440
KH
14652001-01-28 Kenichi Handa <handa@etl.go.jp>
1466
1467 * fontset.c (font_family_registry): Even if FONTNAME conform to
1468 XLFD, if it specifies other fields than family and registry,
52283633 1469 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1470 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1471 a signle byte character. Don't set FAMILY part to nil here.
1472 It is handled by the caller choose_face_font.
c09a6440
KH
1473 (Fnew_fontset): Call font_family_registry with FORCE 0.
1474 (Fset_fontset_font): Likewise.
1475
4dcd74e6
GM
14762001-01-27 Gerd Moellmann <gerd@gnu.org>
1477
1478 * xdisp.c (display_line): Don't treat a newline as fitting
1479 on the line.
1480
d2906bf8
GM
14812001-01-26 Gerd Moellmann <gerd@gnu.org>
1482
0130fe1a
GM
1483 * window.c (size_window): Set the window's orig_top to nil when
1484 changing heights, so that a future shrink_mini_window won't
1485 restore a bogus height.
1486
550f0e6a
GM
1487 * frame.c (do_switch_frame): If selected frame has a mini-window,
1488 resize that to exact size.
1489
b7b20fbd
GM
1490 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1491
a47b7816
GM
1492 * xdisp.c (display_line): Simplify check for glyphs fitting
1493 entirely in the line.
1494
d2906bf8
GM
1495 * xfns.c (xic_style): New variable.
1496 (create_frame_xic): Move static variable to global scope for
550f0e6a 1497 the case that `static' gets defined away.
d2906bf8 1498
73df2b1e
KH
14992001-01-26 Kenichi Handa <handa@etl.go.jp>
1500
1501 * coding.c (decode_coding): Set a flag for inhibiting
1502 inconsistent eol.
1503 (code_convert_region): Always set saved_coding_symbol.
1504 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1505 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1506
6613cfc4
GM
15072001-01-25 Gerd Moellmann <gerd@gnu.org>
1508
c5e6e06b
GM
1509 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1510 XClearArea.
1511
1512 * xterm.c (x_after_update_window_line): Don't clear if frame's
1513 internal border width is zero.
1514 (x_clear_area): New function.
1515 (x_after_update_window_line, x_clear_end_of_line)
1516 (x_scroll_bar_create, x_scroll_bar_set_handle)
1517 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1518 instead of XClearArea.
1519
1520 * xterm.h (x_clear_area): Add prototype.
1521
6613cfc4
GM
1522 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1523 which doesn't seem necessary anymore with Lesstif 0.92.
1524
650cc6cc
DL
15252001-01-25 Dave Love <fx@gnu.org>
1526
34ac3367
DL
1527 * puresize.h (BASE_PURESIZE): Up to 720000.
1528
650cc6cc
DL
1529 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1530
5e37dc22
GM
15312001-01-25 Gerd Moellmann <gerd@gnu.org>
1532
e1e441f9
GM
1533 * xdisp.c (echo_area_display): Don't call redisplay_internal
1534 when Emacs is shutting down. We can't run hooks etc. that
1535 would be necessary to do a redisplay.
1536
5e37dc22
GM
1537 * lread.c (read_integer): Use type EMACS_INT instead of int.
1538
0fb94c7f
EZ
15392001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1540
1541 * ccl.c (ccl_driver): Fix last change.
1542
e3778624
KH
15432001-01-25 Kenichi Handa <handa@etl.go.jp>
1544
1545 * ccl.h (sturct ccl_program): New member suppress_error.
1546
bb264518 1547 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1548 insert error message to the output.
1549 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1550
1551 * coding.h (struct coding_system): New member suppress_error.
1552
1553 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1554 (Fset_terminal_coding_system_internal): Set the member
1555 suppress_error to 1.
1556 (Fset_safe_terminal_coding_system_internal): Likewise.
1557
245ed2b1
SM
15582001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1559
1560 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1561 as if it was a `charset'.
1562
f9aaedb6
GM
15632001-01-24 Gerd Moellmann <gerd@gnu.org>
1564
1565 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1566 value in where_is_cache; the next lookup in the cache returns
1567 something bogus if we do.
1568
c3902c3e
EZ
15692001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1570
1571 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1572 if HAVE_WINDOW_SYSTEM isn't defined.
1573
3497f73e
GM
15742001-01-24 Gerd Moellmann <gerd@gnu.org>
1575
e7e41584
GM
1576 * fns.c (sweep_weak_table): Fix code taking items out of
1577 the hash collision chain. Some cleanup.
1578
3497f73e
GM
1579 * xterm.c (x_new_font): Don't change a tooltip's size.
1580
1581 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1582 background color by specifying a color for the default font
1583 in .Xdefaults.
1584
3d48e687
KH
15852001-01-24 Kenichi Handa <handa@etl.go.jp>
1586
96531b20
KH
1587 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1588 a workaround for SunOS 4's cc.
1589 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1590 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1591 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1592 statement.
3d48e687 1593
a30629d2
GM
15942001-01-23 Gerd Moellmann <gerd@gnu.org>
1595
1596 * xterm.c (x_set_window_size_1): New function extracted from
1597 x_set_window_size.
1598 (x_set_window_size): Use it.
1599 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1600 doesn't have a widget, like tooltips.
1601
5a43decf
EZ
16022001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1603
52283633 1604 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1605
b0e98867
KH
16062001-01-23 Kenichi Handa <handa@etl.go.jp>
1607
1608 * fns.c (Fset_char_table_default): Fix to make sub char-table
1609 correctly.
1610
50606b4c
GM
16112001-01-22 Gerd Moellmann <gerd@gnu.org>
1612
cb2ddc53 1613 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1614 a desired tool bar string, even if there are no tool bar items.
1615
57c28064
GM
1616 * xdisp.c (Ftool_bar_lines_needed): New function.
1617 (syms_of_xdisp): Defsubr it.
1618
50606b4c
GM
1619 * editfns.c (Fformat): Don't extend text properties from arguments
1620 to padding chars in the result.
1621
2f169c38
EZ
16222001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1623
1624 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1625
0f32f023
AI
16262001-01-20 Andrew Innes <andrewi@gnu.org>
1627
52283633 1628 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1629 (w32_initialize): Don't set term hooks that aren't actually needed
1630 in windowed mode.
1631
1632 * xfaces.c (realize_default_face):
1633 (realize_face):
1634 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1635
1636 * xdisp.c (handle_single_display_prop): Remove references to
1637 FRAME_W32_CONSOLE_P.
1638
52283633 1639 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1640
1641 * frame.h (output_method): Remove output_w32_console method.
1642 (FRAME_W32_CONSOLE_P): Remove macro.
1643
1644 * frame.c (Qw32_console): Remove variable.
1645 (Fframep): Remove references to it.
1646 (syms_of_frame): Ditto.
1647 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1648
1649 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1650 redefinition.
1651
7173eada
KH
16522001-01-20 Kenichi Handa <handa@etl.go.jp>
1653
1654 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1655
755b45ce
AI
16562001-01-19 Andrew Innes <andrewi@gnu.org>
1657
1658 * w32.c (init_environment): Add a version-independent site-lisp
1659 directory to EMACSLOADPATH, after the version dependent one.
1660
0a949811
GM
16612001-01-19 Gerd Moellmann <gerd@gnu.org>
1662
8501998a
GM
1663 * editfns.c (Fbuffer_substring): Doc fix.
1664
52283633
SM
1665 * xdisp.c (message_dolog, message2, message2_nolog):
1666 Rename parameter LEN to NBYTES.
0a949811 1667
e6ebcbbe
KH
16682001-01-19 Kenichi Handa <handa@etl.go.jp>
1669
200ecca2
KH
1670 * charset.c (strwidth): Use c_string_width.
1671 (c_string_width): New function.
1672 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1673 Caller changed.
1674
1675 * charset.h (c_string_width, lisp_string_width): Extern them.
1676
52283633 1677 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1678
e6ebcbbe
KH
1679 * indent.c (check_composition): Check validity of composition.
1680
200ecca2
KH
1681 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1682 characters by calling c_string_width.
1683 (x_consider_frame_title): Get byte length of frame tile string
1684 correctly.
1685 (display_mode_element): Pay attention to width of non-ASCII
1686 characters by calling strwidth.
1687
8692ca92
GM
16882001-01-18 Gerd Moellmann <gerd@gnu.org>
1689
8962e303
GM
1690 * xfns.c (Qcancel_timer): New variable.
1691 (syms_of_xfns): Initialize and staticpro it.
1692 (Fx_hide_tip, Fx_show_tip): Use it.
1693 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1694 the timer.
1695 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1696
91523be9
GM
1697 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1698
1699 * window.h (WINDOW_LIVE_P): New macro.
1700
b0b7ed0e
GM
1701 * window.c (window_size_fixed): New variable.
1702 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1703 the doc string.
1704
06bccf8e
GM
1705 * eval.c (specbind): If binding a per-buffer variable which
1706 doesn't have a buffer-local value in the current buffer, change
1707 the global value by changing the value of the symbol bound in all
1708 buffers not having their own value, to make it consistent with
1709 what happens with other buffer-local variables.
1710
8692ca92
GM
1711 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1712
1713 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1714 when searching for a newline.
1715
bb3a3b50
KH
17162001-01-18 Kenichi Handa <handa@etl.go.jp>
1717
1718 * xdisp.c (display_string): Fix previous change.
1719
c2cc16fa
JR
17202001-01-18 Jason Rumney <jasonr@gnu.org>
1721
1722 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1723 GLYPH_DEBUG is defined.
1724 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1725 true for images with `:ascent 100'.
1726 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1727 meantime, use face MOUSE_FACE_ID.
1728 If first glyph isn't a character glyph, use the ASCII NUL
1729 character to determine the face.
1730 (expose_area): Do not treat left margin specially.
1731 (note_mode_line_highlight): If no local_map, check global keymap.
1732 (note_mouse_highlight): Initialize overlay.
52283633 1733 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1734 (show_scroll_bars): Remove unused function.
1735 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1736 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1737 Clip to row.
52283633 1738 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1739 (x_free_frame_resources): Unload relief colors.
1740
9c11f79e
GM
17412001-01-17 Gerd Moellmann <gerd@gnu.org>
1742
3aec8722 1743 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1744 get_next_display_element when the newline is already found.
1745 This may change the iterator's position, when its current position is
3aec8722
GM
1746 equal to the iterator's stop_charpos.
1747
f3ffc2c3
GM
1748 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1749 zero, use this method only at the end of a line.
1750
52283633 1751 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1752 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1753 if SCALABLE_FONTS_P is set.
52283633 1754
d26d6fd9
GM
1755 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1756 so that scalable fonts are included.
1757
9c11f79e
GM
1758 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1759 In the cache, use a key containing the information if scalable
1760 fonts are included.
1761 (x_load_font): Adapt to change of keys in the font cache.
1762
17632001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1764
d26d6fd9
GM
1765 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1766 XListFonts to take advantage of font caching.
1767
9c11f79e
GM
1768 * xterm.c (x_list_fonts): Ensure caching font information when
1769 called for a null frame, which is the case frequently when Emacs
1770 starts.
1771
51446987
GM
17722001-01-17 Gerd Moellmann <gerd@gnu.org>
1773
f864120f
GM
1774 * xfns.c (QCconversion): Replaces QCalgorithm.
1775
1776 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1777
1778 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1779 of :algorithm.
52283633 1780
e37d1417
GM
1781 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1782 not everything could be displayed.
1783
51446987
GM
1784 * line.h, x-list-font.c: Files removed because unused.
1785
9ad4f3e5
AI
17862001-01-17 Andrew Innes <andrewi@gnu.org>
1787
1788 * dired.c (directory_files_internal): Convert result from readdir
1789 to a unibyte string initially, to avoid possible misinterpretation
1790 of some bytes as the internal form of Emacs characters.
1791
2eda09b5
KH
17922001-01-17 Kenichi Handa <handa@etl.go.jp>
1793
1794 * fns.c (concat): Be sure to avoid putting the same `composition'
1795 property on the adjacent regions.
1796
826f3788
GM
17972001-01-16 Gerd Moellmann <gerd@gnu.org>
1798
52283633 1799 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1800 (Fscroll_right, Fscroll_left): Set it here instead, if called
1801 interactively.
1802
d57b83b3
GM
1803 * buffer.c (Fset_buffer_modified_p): Set buffer's
1804 prevent_redisplay_optimizations_p flag.
1805
826f3788 1806 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1807 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1808 with additional arg.
1809
1810 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1811 Change prototype.
826f3788 1812
826f3788
GM
1813 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1814 FROM_WHERE, for debugging.
1815
261d788b
KH
18162001-01-16 Kenichi Handa <handa@etl.go.jp>
1817
1818 * ccl.c (Fregister_ccl_program): Handle the return value of
1819 resolve_symbol_ccl_program correctly.
52283633 1820 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1821
bccee4f2
GM
18222001-01-15 Gerd Moellmann <gerd@gnu.org>
1823
e4ded23c
GM
1824 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1825 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1826
1827 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1828 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1829 the display; we didn't open it.
1830
bccee4f2
GM
1831 * dispnew.c (save_or_restore_current_matrices): Function removed.
1832 (save_current_matrix, restore_current_matrix): New functions.
1833 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1834 restore the frame's current matrix. Due to the glyph pointer
1835 setup done in adjust_glyph_matrix, there is no easy way to make
1836 saving the current matrix in the desired matrix generally correct,
1837 so don't try it.
1838
ebeccffa
KH
18392001-01-15 Kenichi Handa <handa@etl.go.jp>
1840
1841 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1842 truncation glyphs.
1843 (display_line): Optimize for wide characters.
e4ded23c 1844 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1845 partially. On ttys, produce more than one truncation glyph for
1846 multi-column characters that don't fit on the line.
1847
64388126
KH
18482001-01-13 Kenichi Handa <handa@etl.go.jp>
1849
52283633
SM
1850 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1851 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1852
8edb0a6f
JR
18532001-01-13 Jason Rumney <jasonr@gnu.org>
1854
1855 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1856 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1857 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1858 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1859
52283633
SM
1860 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1861 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1862 (x_draw_image_glyph_string): Adapt to change of image margins.
1863
1864 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1865 variables.
1866
1867 * w32bdf.c (search_file_line, get_cached_font_char)
1868 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1869
1870 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1871
1872 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1873 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1874 (Fw32_send_sys_command): Remove unused variables.
1875 (w32_msg_pump): Add parentheses.
1876
1877 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1878 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1879 Add parentheses.
1880
4956d1ef
GM
18812001-01-12 Gerd Moellmann <gerd@gnu.org>
1882
b30623be
GM
1883 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1884 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1885 being a pair of margins.
1886 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1887 to DEFVAR_LISP. Extend doc.
1888
1889 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1890 margins.
1891 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1892 pair of integers `(X . Y)', use X for the horizontal and Y for the
1893 vertical margin.
1894 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1895 (parse_image_spec): Check it.
52283633
SM
1896 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1897 (tiff_format, gif_format, gs_format):
1898 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1899
52283633
SM
1900 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1901 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1902 (x_draw_image_glyph_string): Adapt to the change of image margins.
1903
1904 * dispextern.h (struct image): Replace member `margin' with
1905 `hmargin' and `vmargin'.
1906
4554cc79
GM
1907 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1908 and GLYPHS.
1909
1910 * dispnew.c (update_text_area): Put code which decrements the
1911 stop position when the row's face extends to the end of the
3bffc665 1912 line in #if 0.
4554cc79 1913
3cccce8d
GM
1914 * xfns.c (x_set_mouse_color): Fix color allocation.
1915
4956d1ef
GM
1916 * keyboard.c: Call get_local_map with new argument list.
1917
1918 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1919
1920 * intervals.h (enum map_property): Removed.
1921 (get_local_map): Change prototype.
1922
1923 * keymap.c: Call get_local_map with new argument list.
1924 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1925
2c2ff7f2
GM
19262001-01-11 Gerd Moellmann <gerd@gnu.org>
1927
a23887b9
GM
1928 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1929 of the size needed for the tool bar string. For the last image,
1930 use a `display' property that reaches to the end of the string.
1931
a7ee2d2e
GM
1932 * xselect.c (selection_request_dpyinfo): New variable.
1933 (x_handle_selection_request): Set it.
1934 (x_selection_request_lisp_error): Don't call
1935 x_decline_selection_request if selection request's display has
1936 been closed.
1937
52283633
SM
1938 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1939 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1940
457b792c
GM
19412001-01-10 Dave Love <fx@gnu.org>
1942
1943 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1944 ${SOME_MACHINE_LISP}, not ${lisp}.
1945
c1efd260
GM
19462001-01-10 Gerd Moellmann <gerd@gnu.org>
1947
52283633
SM
1948 * xdisp.c (display_line): On ttys, produce more than one truncation
1949 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1950
ac95a621
GM
1951 * xselect.c (x_reply_selection_request): Add a comment.
1952
c1efd260
GM
1953 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1954 XkbGetNames instead of XkbGetKeyboard.
1955
1bfb1345
DL
19562001-01-10 Dave Love <fx@gnu.org>
1957
1958 * sysdep.c (random): Revert the declaration.
1959
38119822
GM
19602001-01-09 Gerd Moellmann <gerd@gnu.org>
1961
52283633
SM
1962 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1963 Call function string_bytes.
35f464a7
GM
1964 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1965
1966 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1967 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1968 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1969 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1970 the current sblock.
1971 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1972 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1973 after sweeping strings, and at the end.
1974 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1975
38119822
GM
1976 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1977 ensure that pop_message is called.
1978
1979 * keyboard.c (Fexecute_extended_command): Use a
1980 record_unwind_protect to ensure that pop_message is called.
1981
1982 * lisp.h (push_message_unwind): Add prototype.
1983
1984 * xdisp.c (push_message_unwind): New function.
1985
1986 * fileio.c (do_auto_save_unwind): Do the pop_message here
1987 instead of in Fdo_auto_save.
1988 (Fdo_auto_save): Don't call pop_message.
1989
f47a9ec4
KR
19902001-01-08 Ken Raeburn <raeburn@gnu.org>
1991
1992 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1993 in inner block.
1994
a758f97d
GM
19952001-01-08 Gerd Moellmann <gerd@gnu.org>
1996
6d0afc03
GM
1997 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1998 when increasing window's vscroll.
1999
a758f97d
GM
2000 * macros.c (Qkbd_macro_termination_hook): New variable.
2001 (syms_of_macros): Initialize and staticpro it.
2002 (pop_kbd_macro): Run kbd-macro-termination-hook.
2003
2004 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2005
1bfb1345 20062001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2007
2008 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2009 arglist, for documentation's sake.
2010
0dac6924
AI
20112001-01-06 Andrew Innes <andrewi@gnu.org>
2012
2013 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2014 of *.pdb.
2015
8182406a
AI
20162001-01-05 Andrew Innes <andrewi@gnu.org>
2017
2018 * term.c (update_end): Don't check updating_frame; for some reason
2019 this can be 0 sometimes, such as after dismissing a popup menu,
2020 and isn't necessary given the explicit frame argument.
2021
3828218c
GM
20222001-01-05 Gerd Moellmann <gerd@gnu.org>
2023
2024 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2025 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2026
2f5ded21
GM
20272001-01-04 Gerd Moellmann <gerd@gnu.org>
2028
52283633 2029 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2030
2031 * xfns.c (x_create_tip_frame): Preserve the value of
2032 face_change_count around the creation of the tip frame.
52283633 2033
2f5ded21
GM
2034 * xfns.c (last_show_tip_args): New variable.
2035 (compute_tip_xy): New function.
2036 (Fx_show_tip): Reuse an existing tip frame, if possible.
2037 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2038
dfad65fa
DL
20392001-01-04 Dave Love <fx@gnu.org>
2040
64d4ec0f
DL
2041 * editfns.c (Fformat): Doc fix.
2042
dfad65fa
DL
2043 * systime.h (set_file_times): Prototype.
2044
2045 * widget.h (EmacsFrameSetCharSize_): Prototype.
2046
2047 * sysdep.c (random, srandom): Declare explicitly.
2048
2049 * dispextern.h (move_it_vertically_backward): Declare.
2050
85fe3b5e
GM
20512001-01-04 Gerd Moellmann <gerd@gnu.org>
2052
0f2ac578
GM
2053 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2054 like in Fx_create_frame.
2055
482cca61
GM
2056 * xfaces.c (set_font_frame_param): Don't do anything for
2057 non-graphical frames.
2058
85fe3b5e
GM
2059 * window.c (Fdelete_other_windows): Set window's window_end_valid
2060 to nil when changing the window's start. Don't change the
2061 window's start when its top position hasn't changed. If we do,
2062 this will set the window's optional_new_start, which act's like a
2063 force_start during redisplay with C-x 1 M-> under particular
2064 circumstances (see report from Per Starback to emacs-pretest-bug
2065 from 2000-12-13.).
2066
3e99d3b4
GM
20672001-01-03 Gerd Moellmann <gerd@gnu.org>
2068
a77dc1ec
GM
2069 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2070 short cut at the start of the function. Add an assertion.
2071 (reseat_at_next_visible_line_start): Add an assertion.
2072
2f3cad6c
GM
2073 * window.c (Frecenter): When changing the window start, set the
2074 window's window_end_valid to nil.
2075 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2076
2077 * dispextern.h (move_it_past_eol): Add prototype.
2078
2079 * xdisp.c (move_it_past_eol): New function.
2080
3e99d3b4
GM
2081 * window.c (Fwindow_end): Doc fix.
2082
20832001-01-03 Dave Love <fx@gnu.org>
2084
52283633 2085 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2086
bafb434c
GM
20872001-01-03 Gerd Moellmann <gerd@gnu.org>
2088
2089 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2090 the enabled_p flag of the glyph row at window_end_vpos to 0.
2091 (handle_single_display_prop): Fix last change.
2092
5297fb00
RS
20932001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2094
2095 * window.c (Frecenter): Doc fix.
2096
13d6a61c
AI
20972001-01-02 Andrew Innes <andrewi@gnu.org>
2098
2099 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2100
2101 * frame.h (output_method): Add output_w32_console method.
2102 (FRAME_W32_CONSOLE_P): New macro.
2103
2104 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2105 use output_w32_console method.
2106 (Qw32_console): New Lisp_Object.
2107 (Fframep): Return it.
2108 (syms_of_frame): Init it.
52283633 2109 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2110
2111 * xfaces.c (realize_default_face): Set face foreground and
2112 background to unspecified for w32_console frames.
2113 (realize_face): Realize face cache for w32_console frames.
2114 (realize_tty_face): Accept w32_console frames.
2115
52283633 2116 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2117 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2118 necessary, even if running interactively.
2119
2120 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2121 w32_console frames.
2122
52283633
SM
2123 * w32term.c (x_update_begin):
2124 (x_update_end):
2125 (x_clear_frame):
2126 (x_ins_del_lines):
2127 (x_change_line_highlight):
2128 (x_delete_glyphs):
2129 (w32_ring_bell):
2130 (x_update_begin):
2131 (x_update_end):
2132 (w32_reassert_line_highlight):
2133 (w32_frame_rehighlight):
13d6a61c
AI
2134 (w32_frame_raise_lower): Do nothing if not w32 frame.
2135
2136 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2137
2138 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2139 system doesn't tell us directly.
2140 (Fx_display_visual_class): Implement properly.
2141
d6bb0c0d
GM
21422001-01-02 Gerd Moellmann <gerd@gnu.org>
2143
2144 * window.c (Frecenter): Handle centering in graphical frames
2145 specially. Centering on the basis of line counts doesn't work
2146 reliably with variable-height lines.
52283633 2147
315f5865
EZ
21482001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2149
2150 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2151 and al[].
2152
52283633 2153 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2154 (update_compositions): Remove unused variable `hook'.
2155
2156 * intervals.c (get_local_map): Remove unused variable `tem'.
2157
2158 * doprnt.c (doprnt1): Remove unused variable `size'.
2159
2160 * fns.c (Flength): Remove unused variable `tail'.
2161 (Fdelete): Remove unused variable `size'.
2162
2163 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2164 and `gcpro2'.
2165
52283633 2166 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2167
2168 * data.c (find_symbol_value): Remove extra 3rd argument in the
2169 call to swap_in_symval_forwarding.
2170
52283633 2171 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2172
2173 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2174 (trivial_regexp_p): Remove unused variable `c'.
2175 (boyer_moore): Remove unused variable `k'.
2176
2177 * indent.c (current_column): Remove unused variable `stopchar'.
2178 (Fcompute_motion): Remove unused variable `contin'.
2179
2180 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2181
2182 * dired.c (directory_files_internal): Fix a typo in a comment.
2183 Remove an unused variable `handler'.
52283633 2184 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2185 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2186 on BSD4_2.
2187
52283633 2188 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2189
2190 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2191 and `buf'.
2192 (Fmarker_insertion_type): Remove unused variable `buf'.
2193
2194 * insdel.c (make_gap): Remove unused variable `result'.
2195
52283633 2196 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2197 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2198 (menu_bar_items): Remove unused function-scope variable `tem'.
2199
2200 * fontset.c (fontset_ref): Remove unused variable `i'.
2201 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2202 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2203 (make_fontset_for_ascii_face): Remove unused variable `name'.
2204 (fs_load_font): Remove unused variable `font_idx'.
52283633 2205 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2206 (list_fontsets): Remove unused variable `tail'.
2207 (Fnew_fontset): Remove unused variables `family' and `registry'.
2208 (accumulate_font_info): Remove unused variable `tmp'.
2209 (Ffontset_font): Remove unused variable `id'.
2210 (syms_of_fontset): Remove unused variable `i'.
2211
2212 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2213 to x_term_init.
2214 (lookup_image): Remove unused variable `file'.
2215 (xbm_load): Remove unused variables `bitmap_data', `height', and
2216 `width'. Remove function-local variable `i', leave the
2217 block-local one.
2218 (gif_load): Remove unused variable `inc'.
2219
52283633 2220 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2221 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2222 leave only the one in the inner block.
2223
2224 * xfaces.c (face_fontset, realize_default_face): Remove unused
2225 variable `fontset'.
2226 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2227
2228 * term.c (encode_terminal_code): Remove unused variable `c'.
2229
2230 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2231 char *' instead of `char *'.
2232
2233 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2234 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2235 (Fchar_category_set): Remove unused variables `val', `charset',
2236 `c1' and `c2'.
2237
52283633
SM
2238 * coding.c (detect_coding_iso2022, setup_coding_system):
2239 Remove unused variable `i'.
315f5865
EZ
2240 (detect_coding_mask): Remove unused variable `idx'.
2241 (detect_coding): Remove unused variable `i'.
2242 (ccl_coding_driver): Remove unused variable `result'.
2243 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2244 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2245 (encode_coding_string): Remove unused variables `gcpro1' and
2246 `saved_coding_symbol'.
2247 (Ffind_coding_systems_region_internal): Remove function-local
2248 variable args[], leave only the block-local one.
2249 (code_convert_region1): Remove unused variable `len'.
2250
2251 * charset.c (char_printable_p): Remove unused variable `chars'.
2252 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2253 (str_to_multibyte): Remove unused variable `c'.
2254
2255 * window.c (size_window): Remove block-local variable `min_size'.
2256
2257 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2258 `header_line_height'.
2259 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2260 enum display_element_type.
2261
1a8a9daf
GM
22622001-01-02 Gerd Moellmann <gerd@gnu.org>
2263
6dde6abc 2264 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2265 statements that call X. Save away the error message in a local copy.
2266
1883b2c6
GM
2267 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2268 the start.
2269
a13be207
GM
2270 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2271 in or at the start of invisible text.
2272
1a8a9daf
GM
2273 * dispnew.c (update_window): Don't check_current_matrix_flags.
2274
3608c0f9
JR
22752001-01-01 Jason Rumney <jasonr@gnu.org>
2276
2277 * w32fns.c (x_figure_window_size): Do not allow new_height and
2278 new_width of frame to override specified values.
2279
abb1acc4
KH
22802000-12-30 Kenichi Handa <handa@etl.go.jp>
2281
52283633 2282 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2283
762a68ec
GM
22842000-12-29 Gerd Moellmann <gerd@gnu.org>
2285
52283633 2286 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2287 (update_window) [GLYPH_DEBUG]: Call it.
2288 (scrolling_window): Prevent including current rows which are below
2289 what's displayed in the window.
2290
2291 * xdisp.c (try_window_reusing_current_matrix)
2292 <new start <= old start>: Disable rows in the current matrix
2293 which are below the window after scrolling.
52283633 2294
762a68ec
GM
2295 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2296 is zero. It's not worth the complexity.
2297 (invisible_text_between_p): Put in #if 0 because unused.
2298
2d5912c1
GM
22992000-12-28 Gerd Moellmann <gerd@gnu.org>
2300
46f6a258
GM
2301 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2302 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2303
89f93679
GM
2304 * keyboard.c (echo_char): If C is an integer, always call
2305 push_key_description. Former code could signal an invalid
2306 character error.
2307
2308 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2309 If set, print multibyte text.
2310 (Fsingle_key_description): Call push_key_description with
2311 FORCE_MULTIBYTE set.
2312 (describe_buffer_bindings): Likewise.
2313
2314 * lisp.h (push_key_description): Add prototype.
2315
c06017fb
GM
2316 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2317 around the call to redisplay_internal.
2318
f1d2ce7f
GM
2319 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2320
2d5912c1
GM
2321 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2322
9371f831
KH
23232000-12-28 Kenichi Handa <handa@etl.go.jp>
2324
2325 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2326 (ccl_driver): New local variable `extra_bytes'.
2327
2328 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2329
52283633
SM
2330 * coding.c (setup_coding_system):
2331 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2332 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2333
0c80628a
KH
23342000-12-28 Kenichi Handa <handa@etl.go.jp>
2335
2336 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2337 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2338 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2339 (decode_composition_emacs_mule): New function.
2340 (decode_coding_emacs_mule): Decode composition sequence by calling
2341 decode_composition_emacs_mule.
2342 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2343 (encode_coding_emacs_mule): Changed from macro to function.
2344 If a text contains compositions, encode them correctly.
0c80628a
KH
2345 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2346 that decoding and encoding are required.
2347
3e32cc27
GM
23482000-12-27 Gerd Moellmann <gerd@gnu.org>
2349
5e25feee
GM
2350 * xfaces.c (PT_PER_INCH): New macro.
2351 (xlfd_point_size): Compute real point size from font's pixel size.
2352 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2353 instead of 72.
2354
892d8fcd
GM
2355 * .gdbinit: Comment out the line pointing to the Lesstif source
2356 directory.
2357
12c8b416
GM
2358 * window.c (Frecenter): Use displayed_window_lines instead
2359 of window_internal_height.
2360
6061fbf0
GM
2361 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2362 instead of x-toolkit-scroll-bars-p.
2363 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2364
2365 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2366 instead of x-toolkit-scroll-bars-p.
2367 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2368
3e32cc27
GM
2369 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2370 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2371 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2372 New variables.
2373 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2374 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2375 (build_frame_matrix_from_leaf_window): Remove unused code.
2376 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2377 redisplay history.
2378 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2379 (update_window) [GLYPH_DEBUG]: Likewise.
2380 (syms_of_display): Defsubr dump-redisplay-history.
2381
31798cfe
GM
23822000-12-23 Gerd Moellmann <gerd@gnu.org>
2383
f717c2ba
GM
2384 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2385 the end of the prompt. Set echo_after_prompt to the offset
2386 of echoptr in echobuf.
2387
aeb2b8fc
GM
2388 * xdisp.c (init_from_display_pos): Pop until the iterator's
2389 stack is empty; there may be frames for stretch or images
2390 on the stack.
2391
31798cfe
GM
2392 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2393 (save_or_restore_current_matrix): New function for the same
2394 purpose, but more efficient.
2395 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2396
f8156156
EZ
23972000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2398
2399 * xdisp.c (syms_of_xdisp): Fix last change.
2400
bdd6d4e8
GM
24012000-12-23 Gerd Moellmann <gerd@gnu.org>
2402
2403 * xdisp.c (syms_of_xdisp): Doc fix.
2404
2405 * xdisp.c (redisplay_window): Remove label restore_buffers;
2406 use finish_scroll_bars instead to make sure that scroll bars
2407 are redeemed. If we don't do this, flickering can result from
2408 scroll bars being destroyed and recreated.
2409
9436cdf9
JR
24102000-12-22 Jason Rumney <jasonr@gnu.org>
2411
2412 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2413 in the wrong colors when the foreground is not black.
2414 (expose_window): Don't redraw the window that's currently being
2415 updated.
2416
951f9df5
GM
24172000-12-22 Gerd Moellmann <gerd@gnu.org>
2418
856ff7a7
GM
2419 * window.c (size_window): When setting the window's too_small_ok
2420 flag, compare old size with minimum size depending on WIDTH_P,
2421 don't compare with window_min_width.
52283633 2422
951f9df5
GM
2423 * window.c (delete_window): Simplify somewhat.
2424 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2425 freeing window matrices. The flag windows_or_buffers_changed is
2426 set, so the next redisplay will consider all windows; this should
2427 suffice.
2428
886bc933
KH
24292000-12-22 Kenichi Handa <handa@etl.go.jp>
2430
2431 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2432
2433 * ccl.h (struct ccl_program): New member cr_consumed.
2434
2435 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2436 (CCL_READ_CHAR): Handle EOL conversion here.
2437 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2438
177f4e88
GM
24392000-12-21 Gerd Moellmann <gerd@gnu.org>
2440
52283633 2441 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2442
2443 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2444 otherwise tabs of different size compare equal.
2445
2446 * callint.c (Fcall_interactively): Prevent a compiler warning.
2447
2448 * print.c (print_unwind): Return nil.
2449 (PRINTDECLARE): Initialize all local variables.
2450 (print_preprocess): Add a default case.
2451
8e15274f
GM
2452 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2453
2454 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2455
52283633 2456 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2457 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2458
2459 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2460
2461 * dispnew.c (ensure_frame_matrix): Removed.
2462 (save_frame_matrix, restore_frame_matrix): New functions.
2463 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2464
2465 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2466 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2467
99012074
AI
24682000-12-21 Andrew Innes <andrewi@gnu.org>
2469
2470 * w32term.c (x_update_begin): Regenerate the palette here, rather
2471 than for each window.
2472
2473 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2474 palette is NULL, since this corrupts memory! Also get
2475 display_info reference from frame.
2476
29ef7d2d
JR
24772000-12-21 Jason Rumney <jasonr@gnu.org>
2478
2479 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2480
2481 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2482 to avoid returning without releasing it.
3e27fa1f 2483
3f9d67a6
KH
24842000-12-21 Kenichi Handa <handa@etl.go.jp>
2485
587fc3f9
KH
2486 * keymap.c (push_key_description): Don't convert eight-bit-control
2487 and eight-bit-graphic to multibyte character.
2488
3f9d67a6
KH
2489 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2490 generic character and CODE1 is nil, return the smallest character
2491 in CHARSET.
2492
774ba8c9
DL
24932000-12-20 Dave Love <fx@gnu.org>
2494
2495 * s/osf5-0.h (NSIG): Don't redefine.
2496
88416888
SM
24972000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2498
2499 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2500 excluding menu-bar and tool-bar.
2501 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2502 (menu_item_p): Remove.
2503 (where_is_internal_1): Don't ignore menu-items.
2504
a6426c6f
GM
25052000-12-20 Gerd Moellmann <gerd@gnu.org>
2506
03ff8aab
GM
2507 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2508 into account.
2509
2510 * window.c (make_window): Initialize window's min_hscroll.
2511 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2512 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2513 to zero.
2514 (struct saved_window): New member min_hscroll.
2515 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2516 (Fset_window_configuration): Set window's min_hscroll.
2517 (save_window_save): Save window's min_hscroll.
2518 (compare_window_configurations): Compare min_hscroll values.
2519
2520 * window.h (struct window): New member min_hscroll.
2521
2522 * keyboard.c (echo_prompt): Prevent a compiler warning.
2523
8de4aaf8
GM
2524 * xdisp.c (try_cursor_movement): Fix last change. The real
2525 condition is that PT is at the end of the row, and should
2526 be displayed at the start of the next row.
52283633 2527
3f7e3031
GM
2528 * xdisp.c (try_cursor_movement): If we end on a partially
2529 visible line, end we already decided to scroll, return -1.
2530
a6426c6f
GM
2531 * dispextern.h (ensure_frame_matrix): Add prototype.
2532
2533 * window.c (delete_window, Fsplit_window)
2534 (Fset_window_configuration): Call ensure_frame_matrix.
2535
52283633
SM
2536 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2537 New functions.
a6426c6f
GM
2538 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2539 completed, call fake_current_matrices instead of marking frame
2540 garbaged.
2541
57fa2774
JR
25422000-12-20 Jason Rumney <jasonr@gnu.org>
2543
2544 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2545
d925df90
EZ
25462000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2547
2548 * fns.c (Frequire): Doc fix.
2549
7b93a85b
GM
25502000-12-19 Gerd Moellmann <gerd@gnu.org>
2551
52283633 2552 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2553
c74e645b
GM
2554 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2555 currently displaying a message.
2556
7b93a85b
GM
2557 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2558 xterm.h.
2559 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2560
90d97e64
AI
25612000-12-18 Andrew Innes <andrewi@gnu.org>
2562
2563 * w32.c (w32_strerror): New function.
2564
2565 * w32.h (w32_strerror): New extern.
2566
2567 * w32fns.c (Fw32_shell_execute): Use it.
2568
91c9e6ce
GM
25692000-12-18 Gerd Moellmann <gerd@gnu.org>
2570
2571 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2572
6f4745e2
EZ
25732000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2574
2575 * msdos.c (IT_set_face): Obey inverse_video.
2576
c9e088ce
KH
25772000-12-18 Kenichi Handa <handa@etl.go.jp>
2578
2579 * dired.c (directory_files_internal): Always return decoded filenames.
2580
c3695f5f
GM
25812000-12-18 Gerd Moellmann <gerd@gnu.org>
2582
52d8e4ff
GM
2583 * xterm.c (x_connection_closed): Prevent being called recursively
2584 because of an error condition in XtCloseDisplay.
52283633 2585
62be9979
GM
2586 * xdisp.c (init_iterator): If noninteractive, and the frame's
2587 face cache is null, make one.
2588
52283633 2589 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2590
c3695f5f
GM
2591 * process.c (wait_reading_process_input): Check for pending
2592 input when running timers.
2593
78555fbe
EZ
25942000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2595
52283633 2596 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2597
b2b36264
KH
25982000-12-18 Kenichi Handa <handa@etl.go.jp>
2599
2600 * process.c (read_process_output): Don't run a filter if the code
2601 decoder produces nothing but carryover.
2602
9c543fbf
AI
26032000-12-17 Andrew Innes <andrewi@gnu.org>
2604
2605 * w32.c (sys_rename): Only check errno against EEXIST, and not
2606 EACCES, when determining whether rename failed because the target
2607 exists. This was resulting in indefinite looping on Windows 9x if
2608 the source file was locked by another process.
2609
2610 * w32fns.c (Ffile_system_info): New function.
2611 (syms_of_w32fns): Defsubr it.
2612
10c2b5a8
GM
26132000-12-17 Gerd Moellmann <gerd@gnu.org>
2614
b0228ace
GM
2615 * window.c (coordinates_in_window): Fix computation for
2616 position on vertical line between mode lines.
2617
10c2b5a8
GM
2618 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2619 Don't alter tip_frame or tip_window.
2620 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2621 was deleted.
2622
c844a81a
GM
2623 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2624 Don't alter tip_frame or tip_window.
2625 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2626 was deleted.
2627
6c825f8e
EZ
26282000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2629
2630 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2631 be consistent with the doc string. Reported by NAKAJIMA Mikio
2632 <minakaji@osaka.email.ne.jp>.
2633
af4bb4c8
KH
26342000-12-16 Kenichi Handa <handa@etl.go.jp>
2635
2636 * xfaces.c (Vface_ignored_fonts): New variable.
2637 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2638 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2639
8062e53a
GM
26402000-12-15 Gerd Moellmann <gerd@gnu.org>
2641
e87b8809
GM
2642 * dispnew.c (update_window): Detect pending input every nth line
2643 updated, i.e. do it depending on real work done, and not on the
2644 vpos of the line.
2645
2646 * xterm.c (expose_window): Don't redraw the window that's
2647 currently being updated.
2648
a6768cc5
GM
2649 * window.c (Fset_window_point): Remove test for
2650 cursor_in_non_selected_windows.
2651
4ea7fdca
GM
2652 * lread.c (read1): Recognize end of file after `\\'.
2653
8062e53a
GM
2654 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2655 not unwind_create_frame.
2656
bb7959c1
GM
26572000-12-15 Dave Love <fx@gnu.org>
2658
2659 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2660 bcopy & al.
2661
2662 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2663
ced04c42
KH
26642000-12-15 Kenichi Handa <handa@etl.go.jp>
2665
c5443913
KH
2666 * coding.c (setup_coding_system): Clear all members of the struct
2667 coding_system at first.
bc137305
KH
2668 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2669 argument.
2670 (code_convert_region): Don't override coding->src_multibyte and
2671 coding->dst_multibyte.
c5443913 2672
ced04c42
KH
2673 * fns.c (Fmd5): Docstring improved.
2674
c2d7f289
MB
26752000-12-15 Miles Bader <miles@gnu.org>
2676
2677 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2678 are actually marked as mode-lines; otherwise use
2679 estimate_mode_line_height.
2680
9d7d9263
GM
26812000-12-14 Gerd Moellmann <gerd@gnu.org>
2682
2683 * editfns.c (Fformat): Prevent a buffer overrun when the format
2684 specifies a precision.
2685
7cf0153a
EZ
26862000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2687
2688 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2689 argument is outside the range [2..3].
2690
1de0f662
AI
26912000-12-14 Andrew Innes <andrewi@gnu.org>
2692
2693 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2694 nothing to do. Bind inhibit-quit.
2695 (tip_frame): Make it a Lisp_Object.
2696 (x_create_tip_frame): Set tip_frame after it has been added to
2697 Vframe_list.
2698 (Fx_show_tip): Don't set tip_frame here.
52283633 2699 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2700 (unwind_create_frame, unwind_create_tip_frame): New functions.
2701 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2702 while a frame is only partially constructed.
2703
2704 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2705 (x_free_frame_resources): New function.
2706 (x_destroy_window): Use it.
2707
02387dcc
GM
27082000-12-14 Gerd Moellmann <gerd@gnu.org>
2709
2710 * xfns.c (Fx_backspace_delete_keys_p): New function.
2711 (syms_of_xfns): Defsubr it.
2712
2713 * config.in (HAVE_XKBGETKEYBOARD): Add.
2714
0544ef49
KH
27152000-12-14 Kenichi Handa <handa@etl.go.jp>
2716
98d62747
KH
2717 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2718 Always store string in multibyte representation in echobuf.
2719 (echo_char): Always store string in multibyte representation in
2720 echobuf.
2721 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2722 (read_key_sequence): Adjusted for the change of echo_prompt.
2723
a20193cd
KH
2724 * fns.c (Fmd5): Docstring improved.
2725
191b83b6
KH
2726 * lisp.h (detect_coding_system): Prototype adjusted.
2727
0544ef49
KH
2728 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2729 (detect_coding_emacs_mule, detect_coding_iso2022,)
2730 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2731 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2732 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2733 (detect_coding_mask, detect_coding_system): New argument
2734 MULTIBYTEP. Callers changed.
1da1bb05
KH
2735 (decode_coding_string): Set coding->src_multibyte and
2736 coding->dst_multibyte before calling detect_coding and detect_eol.
2737 Update them after some coding system is detected.
52283633 2738
d5b3eb1b
SM
27392000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2740
2741 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2742
2743 * keyboard.c (menu_bar_items, tool_bar_items):
2744 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2745
f7f8bb69
GM
27462000-12-13 Gerd Moellmann <gerd@gnu.org>
2747
52283633 2748 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2749 New variables.
2750 (unwind_create_frame, unwind_create_tip_frame): New functions.
2751 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2752 while a frame is only partially constructed.
2753
2754 * xterm.h (x_free_frame_resources): Declare.
2755
2756 * xterm.c (x_free_frame_resources): New function.
2757 (x_destroy_window): Use it.
2758
e10da507
GM
2759 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2760 don't interrupt the update for pending input initially, i.e.
2761 update at least some lines.
2762
2763 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2764
d5b3eb1b 2765 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2766
2767 * xfns.c (gray_bitmap_bits): Declare `char *'.
2768
90aa2856
GM
27692000-12-12 Gerd Moellmann <gerd@gnu.org>
2770
2771 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2772 lines start with a relief line.
2773
a308c9cd
DL
27742000-12-12 Dave Love <fx@gnu.org>
2775
2776 * window.c (Fdisplay_buffer): Doc fix.
2777 (Fwindow_list): Remove unused var.
2778
2779 * buffer.h (mmap_set_vars): Declare.
2780
2781 * window.h (Fset_window_point): Declare.
2782
d575011f
EZ
27832000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2784
bf6282d2 2785 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2786 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2787 variable `area'. When looking for a row under (X,Y), give up if some
2788 of the previous rows is not enabled.
d575011f 2789
ecf4d726
GM
27902000-12-12 Gerd Moellmann <gerd@gnu.org>
2791
2ebf6139
GM
2792 * window.c (Fset_window_point): If displaying cursors in windows
2793 other than the selected window, make sure redisplay updates
2794 other windows to show the new value of point in the window.
2795
2796 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2797
bfdb75ee
GM
2798 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2799 the buffer is the sole visible buffer when in the mini-buffer.
2800
52283633 2801 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2802 Bind `inhibit-read-only' to t.
2803 (unwind_with_echo_area_buffer): Use AREF.
2804
c0006262
GM
2805 * xfns.c (Fx_hide_tip): Simplified.
2806
52283633
SM
2807 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2808 instead of `1'.
e9a59cad 2809
ecf4d726
GM
2810 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2811
e5959a9a
GM
28122000-12-11 Gerd Moellmann <gerd@gnu.org>
2813
a3642e49 2814 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2815
44b5a125
GM
2816 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2817 nothing to do. Bind inhibit-quit.
2818 (tip_frame): Make it a Lisp_Object.
2819 (x_create_tip_frame): Set tip_frame after it has been added to
2820 Vframe_list.
2821 (Fx_show_tip): Don't set tip_frame here.
2822
2823 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2824
2825 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2826 Lisp_Object.
2827
2828 * dispextern.h: Change external declaration of tip_frame.
2829
d990421f
GM
2830 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2831 return an empty string.
2832
4db87380
GM
2833 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2834 of the window's update_mode_line flag, since the former is set by
2835 force-mode-line-update, not the latter. This makes
2836 column-number-mode slightly faster.
52283633 2837
e5959a9a
GM
2838 * xdisp.c (try_window_id) <all changes above window start>:
2839 Set the cursor.
2840
169fe44e
GM
28412000-12-11 Paul Eggert <eggert@twinsun.com>
2842
2843 * config.in (HAVE_FTELLO): Remove.
2844 (HAVE_FSEEKO): Add.
2845 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2846 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2847 HAVE_FTELLO.
2848 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2849 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2850
59ec59ae
MB
28512000-12-11 Miles Bader <miles@gnu.org>
2852
2853 * window.c (displayed_window_lines): Don't round up when
2854 converting empty space at bottom to lines.
ff904dd6
MB
2855 Handle non-newline-terminated final lines properly.
2856 (Fwindow_text_height): New function (used to be in lisp).
2857 (syms_of_window): Initialize it.
59ec59ae 2858
42ebfa31
SM
28592000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2860
2861 * syntax.c (scan_lists): Check that the right quote char has the
2862 right Sstring syntax when jumping over strings.
2863 (init_syntax_once): Use Smax rather than 13.
2864
5cdb3cf3
MB
28652000-12-09 Miles Bader <miles@gnu.org>
2866
2867 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2868 with PARTIALLY, inverting the sense.
2869 (window_scroll_pixel_based): Scroll partially visible lines into
2870 place if we hit the beginning or end of the buffer.
a12167c5
MB
2871 (displayed_window_lines): Don't include partially visible lines.
2872 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2873
842b2a94
GM
28742000-12-08 Gerd Moellmann <gerd@gnu.org>
2875
2876 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2877
2878 * tparam.c (tparam1): Change the way buffers are reallocated to be
2879 portable and less obfuscated.
2880
2881 * termcap.c (tgetent): Change the way buffers are reallocated to
2882 be portable and less obfuscated.
2883
2884 * macros.c (store_kbd_macro_char): Change the way buffers are
2885 reallocated to be portable and less obfuscated.
2886
2887 * lread.c (read1): Change the way buffers are reallocated to be
2888 portable and less obfuscated.
2889
2890 * doc.c (Fsubstitute_command_keys): Change the way buffers
2891 are reallocated so that it is portable.
2892
137cad7c
EZ
28932000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2894
2895 * dosfns.c (Ffile_system_info): New function.
2896 (syms_of_dosfns): Defsubr it.
2897
5c7f629c
SM
28982000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2899
2900 * alloc.c (gc_sweep): Add comment.
2901
959e647d
GM
29022000-12-07 Gerd Moellmann <gerd@gnu.org>
2903
52283633
SM
2904 * sound.c (vox_configure): Change order of ioctls.
2905 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2906 Ignore errors when changing volume.
2907 (vox_close): Don't reset the device.
2908
926b7e5e
GM
2909 * process.c (read_process_output): Make sure the process marker's
2910 position is valid when the process buffer is changed in
2911 after-change functions. W3 does that.
52283633 2912
959e647d
GM
2913 * xfns.c (x_free_gcs): New function.
2914
2915 * xterm.h (x_free_gcs): Add prototype.
2916
2917 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2918 freeing GCs here.
2919
2920 * xterm.c (x_destroy_window): Call x_free_gcs so that
2921 resources of non-toolkit X windows will be freed.
2922
478ea067
AI
29232000-12-07 Andrew Innes <andrewi@gnu.org>
2924
2925 * w32fns.c (xlfd_charset_of_font): Fix last change.
2926
fbee3231
DL
29272000-12-06 Dave Love <fx@gnu.org>
2928
67292061
DL
2929 * md5.h (__P): Don't define -- it comes from config.h.
2930
fbee3231
DL
2931 * strftime.c: Change some #if foo to #ifdef foo.
2932
4ee87dbb
AI
29332000-12-06 Andrew Innes <andrewi@gnu.org>
2934
2935 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2936
52283633 2937 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2938 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2939 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2940
9765b4a4
GM
29412000-12-06 Gerd Moellmann <gerd@gnu.org>
2942
d285b373
GM
2943 * alloc.c (gc_sweep): Prevent symbols read during loadup
2944 from being freed.
2945
384333ee
GM
2946 * xdisp.c (underlying_face_id): New function.
2947 (handle_face_prop, face_before_or_after_it_pos): Use it
2948 to determine the face ``under'' a string. Let strings inherit
2949 the face of the buffer under them.
2950
2951 * xfaces.c (face_at_string_position): Update function comment.
52283633 2952
d4b72d58
GM
2953 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2954 matrix if the window's left position has changed; we need to
2955 redraw it in this case.
2956
2957 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2958
e1d05387
GM
2959 * window.c (coordinates_in_window): Check mouse on mode-line or
2960 header-line first.
2961
eb1b0c74
GM
2962 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2963 advertized by the function documentation.
2964
d94d636f
GM
2965 * window.c (syms_of_window): Doc fix.
2966
3887b449
GM
2967 * sound.c (vox_configure): Set volume for left and right channel.
2968 (sound_cleanup): Return nil.
2969
efc8f57a
GM
2970 * xdisp.c (move_it_by_lines): Fix paren typo.
2971
9765b4a4
GM
2972 * xterm.c (x_load_font): Don't use the font's max_bounds for
2973 computing the height of the font. If max_bounds' ascent or
2974 descent are greater than the font's ascent or descent, this means
2975 glyphs overlap, which should be handled now by redisplay.
2976
6529ed87
GM
2977 * window.c (Veven_window_heights): New variable.
2978 (syms_of_window): DEFVAR_LISP it.
2979 (Fdisplay_buffer): Check Veven_window_heights before evening the
2980 window heights.
52283633 2981
0eb2ecde
MB
29822000-12-06 Miles Bader <miles@gnu.org>
2983
2984 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2985 update `default-frame-alist' instead of setting no frame parameters.
2986
03d7a167
KH
29872000-12-06 Kenichi Handa <handa@etl.go.jp>
2988
2989 * composite.c (update_compositions): Fix typo (use the correct
2990 variable).
2991
5f8803c2
JR
29922000-12-05 Jason Rumney <jasonr@gnu.org>
2993
2994 * md5.h: Remove underscores from function declarations.
2995 (__attribute__, __alignof__) [!__GNUC__]: Define.
2996
2997 * md5.c: Delay include of md5.h until after namespace cleaning.
2998
c28a075b
JR
2999 * makefile.w32-in (fns.o): Depend on md5.h
3000 (md5.o): New target.
3001 (sunfns.o): Remove.
3002
3003 * makefile.nt: Likewise.
3004
ff3c7056
JR
30052000-12-05 Jason Rumney <jasonr@altavista.net>
3006
3007 * w32term.c (expose_area): Complete last change.
3008
0c21eeeb
KR
30092000-12-05 Ken Raeburn <raeburn@gnu.org>
3010
3011 * minibuf.c: Include intervals.h.
3012
f201d732
JR
30132000-12-05 Jason Rumney <jasonr@gnu.org>
3014
3015 * w32term.c (x_produce_glyphs): If a font for a component of
3016 a composition is not found, use 1 pixel dot ascent and 0 dot
3017 descent value to avoid displaying terribly tall empty boxes.
3018 (expose_area): Pass x-coordinate relative to the exposed
3019 area to x_draw_glyphs instead of a window-relative coordinate.
3020
21999ab9
GM
30212000-12-05 Gerd Moellmann <gerd@gnu.org>
3022
4d2036e4
GM
3023 * xdisp.c (next_element_from_ellipsis): Save face before selective
3024 display in saved_face_id, and set face_before_selective_p.
3025 (reseat_1): Reset face_before_selective_p.
3026 (append_space, extend_face_to_end_of_line): If iterator's
3027 face_before_selective_p is set, use the face from saved_face_id.
3028 (extend_face_to_end_of_line): For tty frames, make sure to
3029 use the right face id when producing spaces at the end of
3030 the line.
3031
3032 * dispextern.h (struct it): Add face_before_selective_p.
3033
52be17cc
GM
3034 * keyboard.c (record_char): Don't record identical help-echo
3035 events in recent_keys.
3036
8a4f36cc
GM
3037 * xterm.c [USE_X_TOOLKIT]: Close the display.
3038 (xim_close_dpy): Handle case that the display has been closed.
3039
57d6e381
GM
3040 * xterm.c (x_destroy_window): Reset the frame's X window after
3041 destroying it.
3042
21999ab9
GM
3043 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3044 variable window_width.
3045 (line_draw_cost): Fix code skipping over spaces at the end of the
3046 line when must_write_spaces is not set.
3047 (scrolling_window): Fix code inserting runs in list of all runs.
3048
91372bb7
KH
30492000-12-05 Kenichi Handa <handa@etl.go.jp>
3050
3051 * coding.c (setup_coding_system): Be sure to initialize
3052 coding->category_idx.
3053
6c083b4c
GM
30542000-12-04 Gerd Moellmann <gerd@gnu.org>
3055
0c68ce6f 3056 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3057
6452929e
GM
3058 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3059 area to x_draw_glyphs instead of a window-relative coordinate.
3060
d7f31e22
GM
3061 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3062 error in the message.
3063
ae18aa3b
GM
3064 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3065 timer after having read a key. It's not good for code reading
3066 several keys in a loop, like an input method.
3067
caa15ef7
GM
3068 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3069 record undo information for format-decode.
3070
3071 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3072 current buffer is read-only, not if it isn't.
3073
6c083b4c
GM
3074 * keyboard.c (record_char): Record `help-echo' input events
3075 in recent_keys only if they display some help. Don't record
3076 `help-echo' events as macro char.
3077
caa15ef7
GM
30782000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3079
3080 * editfns.c (save_excursion_restore): Don't move point
3081 in another window if it is showing the wrong buffer.
3082 Avoid the call to Fwindow_live_p, for speed.
3083
5a13529b
KH
30842000-12-04 Kenichi Handa <handa@etl.go.jp>
3085
e225faa7
KH
3086 * xfaces.c (struct font_name): New member registry_priority.
3087 (split_font_name): Initialize the above member to zero.
3088 (concat_font_list): New function.
3089 (font_list): Include fonts of all alternative registries.
3090 (FONT_POINT_SIZE_QUANTUM): New macro.
3091 (better_font_p): Ignore point size difference less than
3092 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3093
e89648b4
KH
3094 * xterm.c (x_produce_glyphs): If a font for a component of
3095 a composition is not found, use 1 pixel dot ascent and 0 dot
3096 descent value to avoid displaying terribly tall empty boxes.
3097
5a13529b
KH
3098 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3099
d7935eb6
KR
31002000-12-03 Ken Raeburn <raeburn@gnu.org>
3101
3102 * coding.h (code_convert_string1): Declare.
3103
3104 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3105
52283633 3106 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3107
0dd5e255
JR
31082000-12-02 Jason Rumney <jasonr@gnu.org>
3109
3110 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3111 correctly for single byte character case.
3112 (w32_per_char_metric): Do not try to make any assumptions about
3113 the metrics of BDF fonts.
250cfece 3114 (x_estimate_mode_line_height): If `mode-line' face
52283633 3115 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3116 (note_mouse_highlight): Change the cursor shape on the vertical
3117 border between windows [not enabled].
3118
3119 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3120
3121 * w32fns.c (Fx_create_frame): Reintroduce the call to
3122 face-set-after-frame-defaults.
3123 (Vx_window_horizontal_drag_shape): New variable.
3124 (syms_of_xfns): DEFVAR_LISP it.
3125 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3126 enabled].
0dd5e255 3127
b5d8d2ca
GM
31282000-12-02 Simon Josefsson <simon@josefsson.org>
3129
3130 * fns.c (Fmd5): Use a different logic to decide the coding system
3131 to use.
3132
3133 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3134
fbb87147
EZ
31352000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3136
52283633 3137 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3138
447e9da0
GM
31392000-12-01 Gerd Moellmann <gerd@gnu.org>
3140
7708ced0
GM
3141 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3142 height for YNegative.
3143 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3144 height; also see comment there.
3145
447e9da0
GM
3146 * window.c (coordinates_in_window): Handle computations for
3147 positions on the vertical bar and fringes differently for
3148 window-system frames. Consider some pixels near the vertical bar
3149 as on the bar if the frame doesn't have vertical scroll bars.
3150 Associate positions between mode or header lines with the
3151 right window, the left one.
3152
86d1db20
JR
31532000-12-01 Jason Rumney <jasonr@gnu.org>
3154
3155 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3156
3157 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3158 invalid frame.
3159
a1d58e5b
GM
31602000-12-01 Gerd Moellmann <gerd@gnu.org>
3161
52283633 3162 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3163 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3164 (save_window_save, Fset_window_configuration): Save/restore
3165 window's orig_top and orig_height.
3166
89c609af
JR
31672000-12-01 Jason Rumney <jasonr@gnu.org>
3168
4d177746 3169 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3170
89c609af
JR
3171 * w32fns.c (x_set_cursor_color): Fix last change.
3172
eccc05db
GM
31732000-11-30 Gerd Moellmann <gerd@gnu.org>
3174
31b6671b
GM
3175 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3176 sure that the next redisplay displays the minibuffer, so that
3177 the cursor will be replaced with what the minibuffer wants.
3178
eccc05db
GM
3179 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3180 #ifndef instead of using #if.
3181 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3182 USE_TOOLKIT_SCROLL_BARS is defined.
3183
162de750
JR
31842000-11-30 Jason Rumney <jasonr@gnu.org>
3185
3186 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3187 x_display_cursor.
3188
693c4692
GM
31892000-11-30 Gerd Moellmann <gerd@gnu.org>
3190
3191 * fns.c (Fmd5): Doc fix.
3192
b5d8d2ca 31932000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3194
3195 * fns.c (Fmd5): New function.
3196 (syms_of_fns): Defsubr md5.
3197
3198 * Makefile.in (obj): Add md5.o
3199
b02cd40b
GM
32002000-11-30 Gerd Moellmann <gerd@gnu.org>
3201
edfb795e
GM
3202 * md5.h, md5.c: New files, taken from glibc.
3203
df3aedcf
GM
3204 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3205
b02cd40b 3206 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3207 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3208
8b5176cd
SM
32092000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3210
3211 * eval.c (Frun_hooks): Allow 0 arguments.
3212
346598f1
GM
32132000-11-29 Gerd Moellmann <gerd@gnu.org>
3214
f9396e03
GM
3215 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3216 is over the menu bar widget, say it's not on the frame.
3217
4a967a9b
GM
3218 * xfns.c (Fx_create_frame): Reintroduce the call to
3219 face-set-after-frame-defaults.
3220
346598f1
GM
3221 * eval.c (Fsignal): Reset handling_signal.
3222
222456a1
JR
32232000-11-28 Jason Rumney <jasonr@gnu.org>
3224
3225 * w32menu.c (add_menu_item): Reset menu item text when changing
3226 type to radio button.
3227
8049ddc0
GM
32282000-11-28 Gerd Moellmann <gerd@gnu.org>
3229
346598f1 3230 * xselect.c: Update copyright.
f4f4ee4d 3231
bebe4a2c
GM
3232 * window.c (coordinates_in_window): If on a mode or header line,
3233 but sufficiently close to its start, return ``on vertical
3234 border''. This gives us a way to drag windows horizontally when
3235 using toolkit scroll bars.
3236
3237 * xterm.c (note_mouse_highlight): Change the cursor shape
3238 on the vertical border between windows.
3239
3240 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3241
3242 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3243 (syms_of_xfns): DEFVAR_LISP it.
3244 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3245
8d2c2642
GM
3246 * textprop.c (text_read_only): New function.
3247 (verify_interval_modification): Use it instead of signaling
3248 `text-read-only'. This makes it easier to catch this error
52283633 3249 with a breakpoint.:
8d2c2642 3250
52283633 3251 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3252 not end of line, which includes CR.
3253
5a2bae6c
KH
32542000-11-28 Kenichi Handa <handa@etl.go.jp>
3255
3256 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3257 include no-conversion.
3258
ae31f84d
JR
32592000-11-27 Jason Rumney <jasonr@gnu.org>
3260
3261 * w32fns.c (w32_load_system_font): Always mark font as double byte
3262 if codepage is unicode.
3263
67f1cf4c
GM
32642000-11-27 Gerd Moellmann <gerd@gnu.org>
3265
4a74d071 3266 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3267 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3268
902ae620
GM
3269 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3270 `vertical-line', `mode-line' and `header-line' events.
3271
3272 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3273 of a character, a TAB for instance. This is easier than to set
3274 up the iterator exactly, and it's not a frequent case, so the
3275 additional effort wouldn't really pay off.
3276
c1e279c2
AC
32772000-11-26 Andrew Choi <akochoi@i-cable.com>
3278
67f1cf4c 3279 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3280 init_window_once.
3281
a609568a
JR
32822000-11-25 Jason Rumney <jasonr@gnu.org>
3283
52283633
SM
3284 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3285 Args to window_from_coordinates should be pixel coordinates.
48b21762 3286
a609568a
JR
3287 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3288 redisplay handles them properly.
3289
a658d039
MB
32902000-11-25 Miles Bader <miles@gnu.org>
3291
3292 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3293
d3416cca
JR
32942000-11-24 Jason Rumney <jasonr@gnu.org>
3295
3296 * w32.c (init_environment): Set LANG environment variable based on
3297 locale settings, if not set.
3298
3299 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3300 making tool bar smaller. When clearing the frame, also
3301 clear current matrices. Clear frame when tool bar disappears.
3302 Don't use more lines for the tool-bar than is available.
3303 (x_change_window_heights): New function.
3304
ba193890
GM
33052000-11-24 Gerd Moellmann <gerd@gnu.org>
3306
2be8f184
GM
3307 * xdisp.c (init_from_display_pos): If POS says we're already after
3308 an overlay string ending at POS, make sure to pop the iterator
3309 because it will be in front of that overlay string. When POS is
3310 ZV, we've thereby also ``processed'' overlay strings at ZV.
3311
ba193890
GM
3312 * xfaces.c (lface_from_face_name): Function comment fix.
3313
1862a24e
MB
33142000-11-24 Miles Bader <miles@gnu.org>
3315
3316 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3317 apply `mode-line-inverse-video' -- zero means force display using
3318 the default face, non-zero means display using the specialized face.
3319 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3320
f07fa1b8
KH
33212000-11-23 Kenichi Handa <handa@etl.go.jp>
3322
3323 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3324 hard coded `4'.
3325
2bcdf662
EZ
33262000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3327
3328 * coding.c (decode_coding_emacs_mule): Fix the case of
3329 CODING_EOL_LF, which used uninitialized value of c.
3330
ba8299ff
SM
33312000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3332
3333 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3334
f4117c4d
GM
33352000-11-22 Gerd Moellmann <gerd@gnu.org>
3336
03e757c1
GM
3337 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3338 buffer object.
3339
f4117c4d
GM
3340 * frame.h (struct frame): Replace desired_tool_bar_items,
3341 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3342 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3343
3344 * frame.c (make_frame): Change initialization of tool bar
3345 items accordingly.
3346
3347 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3348 Change references to members deleted from struct frame to use the
f4117c4d
GM
3349 new ones.
3350
3351 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3352 references to members deleted from struct frame to use the new ones.
f4117c4d 3353
52283633 3354 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3355
3356 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3357
3358 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3359 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3360 from struct frame to use the new ones.
3361
f8e2f3f2
MB
33622000-11-23 Miles Bader <miles@gnu.org>
3363
3364 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3365 the face's inverse-video attribute, rather than overriding it.
3366
60e8e0a5
GM
33672000-11-22 Gerd Moellmann <gerd@gnu.org>
3368
3369 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3370 making tool bar smaller.
3371
92dd1b29
DL
33722000-11-22 Dave Love <fx@gnu.org>
3373
3374 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3375
e672fdce
MB
33762000-11-22 Miles Bader <miles@gnu.org>
3377
3a17d6cc
MB
3378 * keyboard.c (Vminibuffer_message_timeout): New variable.
3379 (command_loop_1): Use it to determine message timeout.
3380 (syms_of_keyboard): Initialize it.
3381
60e8e0a5 3382 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3383
e9655d81
KH
33842000-11-22 Kenichi Handa <handa@etl.go.jp>
3385
3386 * sysdep.c: Move the code for declaring h_errno after #include
3387 <netdb.h>.
3388
77270fac
GM
33892000-11-21 Gerd Moellmann <gerd@gnu.org>
3390
cd913aae
GM
3391 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3392 the menu bar when the tooltip is unmapped.
3393
77270fac
GM
3394 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3395 sole visible buffer when we're currently in the mini-buffer, and
3396 give up if so.
52283633 3397
556635d6
JR
33982000-11-21 Jason Rumney <jasonr@gnu.org>
3399
3400 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3401 put on the clipboard.
3402 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3403 copy of what Emacs last put there. If they are the same, do not
52283633 3404 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3405
5b7bde64
MB
34062000-11-22 Miles Bader <miles@gnu.org>
3407
3408 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3409 (syms_of_minibuf): Initialize it.
3410 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3411 to prompt, don't make read-only.
3412
ff23e1dd
GM
34132000-11-21 Gerd Moellmann <gerd@gnu.org>
3414
52283633
SM
3415 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3416 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3417
7aaf4388
GM
3418 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3419
f5f47add 3420 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3421
ff23e1dd
GM
3422 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3423
37c35586
KH
34242000-11-21 Kenichi Handa <handa@etl.go.jp>
3425
3426 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3427 ... #endif scope.
3428
ff9ab414
GM
34292000-11-20 Gerd Moellmann <gerd@gnu.org>
3430
52283633 3431 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3432 screen supports it.
3433
29a01b72
GM
3434 * s/gnu-linux.h: Don't use `#cpu'.
3435
09dfdf85
GM
3436 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3437 not defined in mman.h.
3438
52283633 3439 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3440 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3441 and store an index in the XClientMessageEvent. Storing a
3442 Lisp_Object or pointer can fail on a 64 bit system, since X only
3443 transfers 32 bits.
52283633
SM
3444 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3445
81459ac9
DL
34462000-11-20 Dave Love <fx@gnu.org>
3447
3448 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3449
56c13ae6
GM
34502000-11-20 Gerd Moellmann <gerd@gnu.org>
3451
3452 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3453
495a6df3
KH
34542000-11-20 Kenichi Handa <handa@etl.go.jp>
3455
2bcf3714
KH
3456 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3457 by WIDTH.
3458
495a6df3
KH
3459 * alloc.c (make_string): Fix previous change. Be sure to make
3460 unibyte string correctly.
3461
6d950f4c
GM
34622000-11-19 Gerd Moellmann <gerd@gnu.org>
3463
39b39373
GM
3464 * window.c (Fwindow_list): Change parameter list to be XEmacs
3465 compatible.
3466 (window_list_1): New function.
3467 (window_loop): Use it instead of Fwindow_list.
3468
b95b34e5
GM
3469 * sysdep.c (emacs_ospeed): New variable.
3470 (toplevel): Don't declare ospeed extern.
3471 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3472
3473 * termcap.c (ospeed): Remove.
3474 (tputs) [!emacs]: Remove unused code.
3475 (tgetent): Avoid a compiler warning.
3476
e83dc917
GM
3477 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3478 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3479 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3480
3481 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3482 removed.
3483 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3484 Take the X display as additional argument.
3485 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3486 `Widget' is a pointer type that's not easily stored in Lisp_Object
3487 form in a portable way.
52283633 3488
6d950f4c
GM
3489 * dispnew.c (update_text_area): Fix last change.
3490
e47306e6
GM
34912000-11-18 Gerd Moellmann <gerd@gnu.org>
3492
fb3cd89b
GM
3493 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3494
3495 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3496 clear current matrices.
3497
edaa9aed
GM
3498 * buffer.c (mmap_enlarge): Don't print a message on stderr
3499 if mapping new memory at the end of the existing region fails.
3500
e47306e6
GM
3501 * dispnew.c (update_text_area): Don't skip over equal glyphs
3502 when the last current glyph overlaps the glyph to its right.
3503
509633e3
MB
35042000-11-18 Miles Bader <miles@gnu.org>
3505
3506 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3507 lines that *end* with "..." too (that's the most common case!).
3508
d392e9c5
GM
35092000-11-18 Gerd Moellmann <gerd@gnu.org>
3510
67988445
GM
3511 * xdisp.c (resize_mini_window): Temporarily change to the
3512 mini-window's buffer if necessary.
1bfdbe43 3513
d392e9c5
GM
3514 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3515 the tooltip obscures less text under it.
3516
35172000-11-17 Gerd Moellmann <gerd@gnu.org>
3518
3519 * puresize.h (BASE_PURESIZE): Increase to 700000.
3520
92bb977f
JR
35212000-11-18 Jason Rumney <jasonr@gnu.org>
3522
3523 * w32term.c (w32_draw_bitmap): Use face to set colors.
3524
26fbf20b
DL
35252000-11-17 Dave Love <fx@gnu.org>
3526
3527 * lread.c (Fload): Fix #ifdef for pcc.
3528
100b593b
GM
35292000-11-17 Gerd Moellmann <gerd@gnu.org>
3530
3531 * xdisp.c (pos_visible_p): Compute the default character height
3532 differently.
3533
a288d0d1
GM
35342000-11-16 Gerd Moellmann <gerd@gnu.org>
3535
cac94de6 3536 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3537 knowing the line's height; use the default font's height in that case.
cac94de6 3538
a288d0d1
GM
3539 * xfaces.c (weight_table): Add `demi' with the same meaning as
3540 `demibold'.
3541
981fb6f6
KH
35422000-11-16 Kenichi Handa <handa@etl.go.jp>
3543
2cca872d 3544 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3545 (clear_glyph_row): Delete local static variable null_row.
3546
e5fa381b
JR
35472000-11-15 Jason Rumney <jasonr@gnu.org>
3548
3549 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3550 (w32_alloc_lighter_color): Use new brightness calculations from
3551 xterm.c. Scale delta to be in the range expected by W32.
3552 (w32_draw_relief_rect): Use frame relief colors.
3553
8e42f043
GM
35542000-11-15 Gerd Moellmann <gerd@gnu.org>
3555
6d133d1f
GM
3556 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3557 (Qinhibit_default_face_x_resources): New variable.
3558 (syms_of_frame): Initialize it.
3559 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3560
3561 * xdisp.c (pos_visible_p): Improve function comment.
3562
3563 * lisp.h (BINDING_STACK_SIZE): New macro.
3564
8e42f043
GM
3565 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3566 reading the directory if readdir returns null and errno is EAGAIN
3567 or EINTR.
3568
e8c87124
SM
35692000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3570
3571 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3572 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3573 Set amount_to_scroll to max of dx and scroll_step so that
3574 scroll-conservatively doesn't defeat scroll-step>1.
3575 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3576 scroll-conservatively for line-at-a-time scrolling.
3577
5f0c971d
GM
35782000-11-14 Gerd Moellmann <gerd@gnu.org>
3579
3580 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3581 extra argument.
3582
3583 * xdisp.c (current_mode_line_height, current_header_line_height):
3584 New variables.
3585 (init_xdisp): Initialize them.
3586 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3587 and use exact mode line heights if it is set.
3588
3589 * lisp.h (pos_visible_p): Change prototype.
3590
3591 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3592 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3593 and current_header_line_height first.
52283633
SM
3594 (current_mode_line_height, current_header_line_height):
3595 Declare extern.
5f0c971d 3596
d7361edf
MB
35972000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3598
3599 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3600 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3601 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3602
ee5e440a
MB
36032000-11-14 Miles Bader <miles@gnu.org>
3604
3605 * xterm.c (x_alloc_lighter_color): Include an additive component
3606 too for dark colors, because FACTOR isn't enough.
3607 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3608 New macros.
3609
5ca020fc
GM
36102000-11-13 Gerd Moellmann <gerd@gnu.org>
3611
3612 * keyboard.c (show_help_echo): Call message3_nolog with number of
3613 bytes in the help string as 2nd parameter, instead of the number
3614 of characters.
3615
9d348294
MB
36162000-11-13 Miles Bader <miles@gnu.org>
3617
3618 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3619 (Fload): Use new openp return protocol.
3620 Don't try to use Vload_source_file_function to load .elc files.
3621 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3622 openp return protocol.
3623 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3624
1729bb9a
KH
36252000-11-11 Kenichi Handa <handa@etl.go.jp>
3626
4e677396
KH
3627 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3628
3629 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3630 Defined these macros.
3631 (NLIST_STRUCT): Avoid re-defining it.
3632
1729bb9a
KH
3633 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3634 -I/usr/contrib/X11R6/include.
3635 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3636
a82fe213
JR
36372000-11-10 Jason Rumney <jasonr@gnu.org>
3638
3639 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3640
3641 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3642 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3643
3644 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3645 (Qw32_charset_vietnamese): New symbol.
3646 (xlfd_charset_of_font): New function.
3647 (w32_load_system_font): Use it.
3648 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3649 when Vw32_charset_info_alist is nil to ensure default face always
3650 has font. Use Fcar and Fcdr for safety.
3651 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3652 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3653 pseudo-codepages for special cases.
3654 (w32_to_x_font): New parameter to allow charset portion to be
3655 specified where there is many to one mapping. Callers changed.
3656 (w32_list_fonts): Avoid listing fonts that won't display.
3657
52d89894
GM
36582000-11-10 Gerd Moellmann <gerd@gnu.org>
3659
3660 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3661 (font_list_1): Renamed from font_list.
3662 (font_list): New function, trying alternative registries from
3663 Vface_alternative_font_registry_alist.
3664 (Finternal_set_alternative_font_registry_alist): New function.
3665 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3666 Vface_alternative_font_registry_alist.
3667 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3668
651cd3da
KR
36692000-11-09 Ken Raeburn <raeburn@gnu.org>
3670
3671 * lisp.h (Flooking_at): Declare.
3672
388ac098
GM
36732000-11-09 Gerd Moellmann <gerd@gnu.org>
3674
778fbc46 3675 * dired.c (directory_files_internal): Fix a braino.
52283633 3676
388ac098
GM
3677 * dired.c (directory_files_internal): Add missing GCPRO's.
3678 Some cleanup.
3679
ecaedde1
GM
36802000-11-08 Gerd Moellmann <gerd@gnu.org>
3681
f7eb32aa
GM
3682 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3683 (resize_mini_window): Return quickly if Vresize_mini_window is
3684 nil. Don't return if Vmax_mini_window_height is nil.
3685
3686 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3687 (syms_of_xdisp): Initialize them.
3688 (resize_mini_window): Act according to the setting of
3689 Vresize_mini_window.
3690 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3691
ecaedde1
GM
3692 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3693 scroll bar widget after configuring it, so that it will appear at
3694 the right position from the start.
3695 (XTredeem_scroll_bar): Cleaned up.
3696
3747ef2c
KH
36972000-11-08 Kenichi Handa <handa@etl.go.jp>
3698
3699 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3700 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3701 division by two.
3702
3703 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3704
03391420
DL
37052000-11-07 Dave Love <fx@gnu.org>
3706
7758f1c1 3707 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3708
3709 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3710
b5de343d
GM
37112000-11-07 Gerd Moellmann <gerd@gnu.org>
3712
acad3c0b
GM
3713 * window.c (Fset_window_configuration): Don't try to preserve
3714 point in the current buffer, if that buffer is displayed in more
3715 than one window.
3716
b5de343d
GM
3717 * xfaces.c (lookup_named_face): If default face isn't realized,
3718 try to realize it. Return -1 if not successful.
3719 (Fx_list_fonts): Handle case that face cannot be determined.
3720 (Fface_font): Likewise.
3721
cdb1fe49
GM
37222000-11-06 Gerd Moellmann <gerd@gnu.org>
3723
3724 * window.c (displayed_window_lines): Detect partially
3725 visible lines at the bottom correctly.
3726
d3a67486
SM
37272000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3728
3729 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3730 when ensuring we don't do visit in indirect buffer.
3731
ff8dd5d5
KH
37322000-11-06 Kenichi Handa <handa@etl.go.jp>
3733
3734 * composite.h (compose_chars_in_text): Add prototype.
3735
3736 * composite.c (Vcomposition_function_table): New variable.
3737 (Qcomposition_function_table): New variable.
3738 (run_composition_function): Call
3739 Vcompose_chars_after_function with three arguments.
3740 (compose_chars_in_text): New function.
3741 (syms_of_composite): Modified the doc-string of
3742 Vcompose_chars_after_function. Declare composition-function-table
3743 as a lisp variable, and initialize it.
3744
3745 * xfns.c (x_encode_text): Suppress producing escape sequences for
3746 composition.
3747
3748 * xselect.c: Include composite.h.
3749 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3750
d1145f85
AI
37512000-11-05 Andrew Innes <andrewi@gnu.org>
3752
3753 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3754
3755 * sysdep.c (read_input_waiting): Remove extraneous argument to
3756 read_socket_hook.
3757
3758 * w32fns.c (Fx_server_version): Include w32_build_number in the
3759 return list.
3760
3761 * w32heap.c (w32_build_number): New variable.
3762 (cache_system_info): Set it.
3763
3764 * w32heap.h (w32_build_number): Add extern.
3765
3766 * emacs.c (syms_of_emacs): Update docstring for
3767 system-configuration, to reflect the actual usage on MS-Windows.
3768
e85ee976
GM
37692000-10-31 Gerd Moellmann <gerd@gnu.org>
3770
26dcb81b
GM
3771 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3772 process idle timers while waiting for another event.
3773
52283633 3774 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3775 the default face are colored.
3776
e85ee976
GM
3777 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3778 window height hasn't changed.
3779
01b220b6
JR
37802000-10-31 Jason Rumney <jasonr@gnu.org>
3781
3782 * w32term.c (x_produce_glyphs): Handle composite characters.
3783 (x_draw_glyph_string_foreground)
3784 (x_draw_composite_glyph_string_foreground): Restore old font.
3785
4e6b7204
MB
37862000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3787
3788 * minibuf.c (read_minibuf): Reset the undo history just before
3789 starting the recursive-edit.
3790
d4358b37
GM
37912000-10-30 Gerd Moellmann <gerd@gnu.org>
3792
563f68f1
GM
3793 * xfaces.c (menu_face_change_count): New variable.
3794 (Finternal_set_lisp_face_attribute): Increment it for changes
3795 of the `menu' face.
3796 (realize_basic_faces): Reflect changes in the `menu' faces
3797 in menu bars.
3798
82e274d1
GM
3799 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3800 dy obtained from the iterator's y-position after moving from
3801 scroll_margin_pos to PT; see comment there.
52283633 3802
0dbf9fd2
GM
3803 * xdisp.c (safe_eval_handler): Call add_to_log.
3804
906b3b14
GM
3805 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3806 is not a symbol or string.
3807
d4358b37
GM
3808 * xdisp.c (echo_area_display): Don't perform a display update from
3809 inside redisplay. The update will happen anyway at the end of
3810 redisplay, and it can confuse redisplay (GC messages while
3811 redisplaying, for instance.)
3812
70c825df
SM
38132000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3814
cf9b4b0b
SM
3815 * xrdb.c (x_load_resources): Use the class name in the defaults.
3816
70c825df
SM
3817 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3818 (regex_compile): Catch bogus \(\1\).
3819
a1d34b1e
GM
38202000-10-30 Gerd Moellmann <gerd@gnu.org>
3821
cae71efe
GM
3822 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3823 RGB values.
52283633 3824
35efe0a1
GM
3825 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3826 we have a color cache, check that the cached color equals the
3827 allocated color. If not, clear the color cache.
3828
1d3baf74
GM
3829 * window.c (displayed_window_lines): Change buffers if necessary.
3830 Fix computation of displayed lines.
3831
a1d34b1e
GM
3832 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3833 update_menu_bindings to DEFVAR_BOOL.
3834
70737ea9
KH
38352000-10-30 Kenichi Handa <handa@etl.go.jp>
3836
70c825df 3837 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3838
fa0cb51d
KH
3839 * puresize.h (BASE_PURESIZE): Increase to 680000.
3840
70737ea9
KH
3841 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3842
0e4c08e8
JR
38432000-10-29 Jason Rumney <jasonr@gnu.org>
3844
3845 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3846
3847 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3848 (w32_cache_char_metrics): Handle possibility that 'x' does not
3849 exist in a BDF font.
3850 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3851
3852 * w32bdf.h (bdffont): Add nchars.
3853
3854 * w32bdf.c (set_bdf_font_info): Set it.
3855 (w32_BDF_TextOut): Swap byte order of double byte characters.
3856 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3857
45b84006
EZ
38582000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3859
3860 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3861 don't override the colors in frame's param_alist, unless they are
3862 unspecified.
3863
3864 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3865 reverse the effect of the highlight flag.
3866
caf9deee
KR
38672000-10-27 Ken Raeburn <raeburn@gnu.org>
3868
3869 * window.h (Fwindow_live_p): Declare.
3870
ae0b9b46
KR
3871 * undo.c (record_delete): Check that last_undo_buffer is really a
3872 buffer before applying XBUFFER to it.
3873
3874 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3875 Faref.
3876
02067692
SM
38772000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3878
3879 * lisp.h (KEYMAPP): New macro.
3880 (get_keymap): Remove.
3881 (get_keymap_1): Rename get_keymap.
3882
3883 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3884
3885 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3886
3887 * xmenu.c (single_submenu): Use KEYMAPP.
3888 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3889 Use KEYMAPP rather than Fkeymapp.
3890
3891 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3892
3893 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3894 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3895 Use KEYMAPP rather than Fkeymapp.
3896 (single_submenu): Use KEYMAPP.
3897 (w32_menu_show, w32_dialog_show): Use TRUE.
3898
3899 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3900
3901 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3902 (Fkeymapp): Use KEYMAPP.
3903 (get_keymap): Rename from get_keymap_1. Remove old def.
3904 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3905 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3906 (Fminor_mode_key_binding): Don't raise an error if the binding
3907 is not a keymap.
3908 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3909 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3910
3911 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3912 Allow Vspecial_event_map to be autoloaded.
3913 (menu_bar_items): Fetch the keymap rather than using keymapp.
3914 (menu_bar_one_keymap): No need to follow func-indirect any more.
3915 (parse_menu_item): get_keymap_1 -> get_keymap.
3916 (tool_bar_items): Fetch the keymap rather than using keymapp.
3917 (read_key_sequence): Use KEYMAPP.
3918
3919 * intervals.c (get_local_map): Use get_keymap rather than following
3920 function-indirections explicitly.
3921
3922 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3923
f9d80af3
JR
39242000-10-27 Jason Rumney <jasonr@gnu.org>
3925
3926 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3927 point, as Windows has oversized fonts.
3928
3929 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3930
a3ba27da
GM
39312000-10-27 Gerd Moellmann <gerd@gnu.org>
3932
3933 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3934 (freehook, reallochook): Handle null pointer arguments.
3935 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3936
aa3b80cc
SM
39372000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3938
3939 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3940 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3941 Giving in to popular pressure to shut up the compiler with casts.
3942
e24e84cc
GM
39432000-10-27 Gerd Moellmann <gerd@gnu.org>
3944
3945 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3946 signed value, and use a default value computed from the font's
3947 maximum descent.
3948
05ea7ef2
MB
39492000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3950
3951 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3952 that specify a negative underline position can still use underlines.
3953
3954 * window.c (Fpos_visible_in_window_p): Make POS default to
3955 WINDOW's point, not the current buffer's point.
3956
0b95284b
DL
39572000-10-26 Dave Love <fx@gnu.org>
3958
3959 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3960 when it's necessary.
3961
6c5b90af
GM
39622000-10-26 Gerd Moellmann <gerd@gnu.org>
3963
8b6d9dc9
GM
3964 * window.c (size_window): Compute size difference from sum of old
3965 child window sizes instead of from parent's size.
3966
6bc92b2e
GM
3967 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3968 Handle obscured lines at the top of the window.
3969
3970 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3971 down after the last error condition check.
3972
6c5b90af
GM
3973 * frame.c (Fdelete_frame): Run delete-frame-hook.
3974
42f92d4d
KH
39752000-10-26 Kenichi Handa <handa@etl.go.jp>
3976
3977 * coding.c (decode_coding): Fix previous change (check also
3978 CODING_MODE_LAST_BLOCK).
3979
d97151cb
SM
39802000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3981
e7efc503
SM
3982 * regex.c: More `unsigned char' -> `re_char' changes.
3983 Also change several `int' into `re_wchar_t'.
3984 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3985 (PUSH_FAILURE_POINTER): Don't cast any more.
3986 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3987 We want GCC to complain, since this piece of code makes
3988 re_match non-reentrant, which *should* be fixed.
3989 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3990 (EXTEND_BUFFER): Use RETALLOC.
3991 (SET_LIST_BIT): Don't cast.
3992 (re_wchar_t): New type.
3993 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3994 that those two functions will always properly return.
3995 (IMMEDIATE_QUIT_CHECK): Cast to void.
3996 (analyse_first): Use recursion rather than an explicit stack.
3997 (re_compile_fastmap): Can't fail anymore.
3998 (re_search_2): Don't check re_compile_fastmap for failure.
3999 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4000 Now also sets the new value (passed in a new argument).
4001 (re_match_2_internal): Use it.
4002 Also, use a new var `reg' of type size_t when looping through regs
4003 rather than reuse the inappropriate `mcnt'.
4004
d97151cb
SM
4005 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4006 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4007 (where_is_internal): Renamed from Fwhere_is_internal.
4008 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4009 (Fwhere_is_internal): New function wrapping where_is_internal.
4010 (where_is_internal_1): Handle the case where we're filling the cache.
4011 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4012
d5789b65
MB
40132000-10-25 Miles Bader <miles@gnu.org>
4014
4015 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4016
4ecda532
GM
40172000-10-25 Gerd Moellmann <gerd@gnu.org>
4018
4019 * window.c (pos_fully_visible_p): Removed.
4020 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4021 if position is visible and/or fully visible.
4022
4023 * lisp.h (pos_visible_p): Add prototype.
4024
4025 * xdisp.c (pos_visible_p): New function.
4026
68c3a137
KH
40272000-10-25 Kenichi Handa <handa@etl.go.jp>
4028
4029 * process.c (send_process): If OBJECT is t, it means that the data
4030 is from C string, but we should encode it. Before calling
4031 setup_raw_text_coding_system, be sure to flush out data by the
4032 previous coding system.
4033
7ae1c032
MB
40342000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4035
ff4dcd4b
MB
4036 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4037 assignment of startpos to prev when startpos == pos.
4038
7ae1c032
MB
4039 * editfns.c (find_field): Set the field stickiness correctly from
4040 overlay fields. Use renamed `text_property_stickiness'.
4041 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4042 Only check text properties, not overlays.
7ae1c032
MB
4043 * textprop.c (get_char_property_and_overlay): New function.
4044 (Fget_char_property): Use it.
4045 * intervals.h (get_char_property_and_overlay): Add declaration.
4046
49801145
SM
40472000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4048
4049 * keymap.c: Use AREF, ASET and ASIZE macros.
4050 (Fmake_sparse_keymap): Docstring fix.
4051 (synkey): Remove.
4052 (shadow_lookup): Move up.
4053 Handle the case where lookup-key returns an integer.
4054 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4055 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4056 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4057 Simplify/rewrite the keymap-finding code.
4058 Add check for command shadowing, using shadow_lookup.
4059
39e776cd
SM
40602000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4061
4062 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4063 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4064 a symbol.
4065
2488aba5
AI
40662000-10-24 Andrew Innes <andrewi@gnu.org>
4067
4068 * dired.c (directory_files_internal_unwind): New function.
4069 (directory_files_internal): Use it to ensure closedir is called
4070 even if expand-file-name or file-attributes throw, eg. because of
4071 a user interrupt. Also enable immediate_quit while calling
4072 re_search, so that matching can be interrupted as well.
4073
b94fdf61
AI
40742000-10-24 Andrew Innes <andrewi@gnu.org>
4075
4076 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4077 NT-Emacs only.
4078 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4079 so that re_search functions only quit when callers expect them to.
4080
40812000-10-24 Kenichi Handa <handa@etl.go.jp>
4082
4083 * regex.c (regex_compile): Change the way of handling a range from
4084 a char less than 256 to a char not less than 256.
4085
1946f901
GM
40862000-10-24 Gerd Moellmann <gerd@gnu.org>
4087
7ae2f10f
GM
4088 * window.c (size_window): Prevent setting window's width or
4089 height to a negative value (esp. with XSETFASTINT).
4090
5dcab13e
GM
4091 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4092 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4093 (protect_malloc_state) [GC_MALLOC_CHECK &&
4094 GC_PROTECT_MALLOC_STATE]: New function.
4095 (PROTECT_MALLOC_STATE): New macro.
4096 (__malloc_initialize, morecore, _malloc_internal)
4097 (_free_internal) _realloc_internal): Use it to make _heapinfo
4098 read-only outside of gmalloc.
4099
63e1b552
GM
4100 * keymap.c: Update copyright.
4101
1946f901
GM
4102 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4103 a symbol.
4104
4fa09beb
GM
41052000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4106
4107 * filelock.c (unlock_all_files): Use unlock_file to expand each
4108 buffer's file_truename before trying remove its lock file.
4109
23afac01
EZ
41102000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4111
4112 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4113 or CRLF, decode EOLs.
4114
04448b95
KH
41152000-10-24 Kenichi Handa <handa@etl.go.jp>
4116
4117 * window.c (Fdisplay_buffer): Fix doc.
4118
3090a5a5
JR
41192000-10-23 Jason Rumney <jasonr@gnu.org>
4120
4121 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4122 ASCII font of default fontset on Windows.
4123
4124 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4125 xterm.c comment below).
4126
4127 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4128
a83fee2c
GM
41292000-10-23 Gerd Moellmann <gerd@gnu.org>
4130
4131 * xterm.c (x_connection_closed): Reset handling_signal.
4132
52283633 4133 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4134
6ffdb539
MB
41352000-10-23 Miles Bader <miles@gnu.org>
4136
4137 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4138 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4139 maintain old behavior.
4140 * minibuf.c (Fminibuffer_complete): Likewise.
4141
7f1c969b
MB
41422000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4143
4144 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4145 that when a font can't be exactly centered, it errs up rather than
4146 down.
4147
23afac01 41482000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4149
52283633 4150 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4151
1a578e9b
AC
41522000-10-23 Andrew Choi <akochoi@i-cable.com>
4153
4154 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4155
4156 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4157 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4158
4159 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4160 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4161 syms_of_search, x_term_init, and init_keyboard before calling
4162 init_window_once. Also, call syms_of_xmenu.
4163
4164 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4165 default fontset to Monaco.
4166
4167 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4168 NewMacWindow and DisposeMacWindow.
4169 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4170 instead of calling NewMacWindow and setting fields of
4171 f->output_data.mac directly. Call init_frame_faces.
4172 (Fdelete_frame) [macintosh]: Remove unused code.
4173 (Fmodify_frame_parameters) [macintosh]: Call
4174 x_set_frame_parameters instead of mac_set_frame_parameters.
4175
4176 * frame.h [macintosh]: Define menu_bar_lines field in struct
4177 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4178
4179 * keyboard.c [macintosh]: Include macterm.h.
4180 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4181 and menu_bar_activate_event type events as for X and NT.
4182 (make_lispy_event) [macintosh]: Construct lisp events of type
4183 MENU_BAR_EVENT as for X and NT.
4184
4185 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4186 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4187 (sys_subshell) [macintosh]: Remove definition entirely.
4188 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4189 Vwindow_system_version here. Remove initialization of
4190 Vx_bitmap_file_path.
4191 (read_input_waiting): Correct the number of parameters passed to
4192 read_socket_hook.
4193 Move all Macintosh functions to mac/mac.c.
4194
4195 * term.c [macintosh]: Include macterm.h.
4196
4197 * window.c [macintosh]: Include macterm.h.
4198
4199 * xdisp.c [macintosh]: Include macterm.h. Declare
4200 set_frame_menubar and pending_menu_activation.
4201 (echo_area_display) [macintosh]: Do not return if terminal frame
4202 is the selected frame.
4203 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4204 Allow only the selected frame to set menu bar.
4205 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4206 calling FRAME_EXTERNAL_MENU_BAR (f).
4207 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4208
4209 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4210 and check_x. Declare XCreateGC. Define x_create_gc and
4211 x_free_gc. Initialize font_sort_order.
4212 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4213 but call x_list_fonts instead of w32_list_fonts.
4214 (Finternal_face_x_get_resource) [macintosh]: Do not call
4215 display_x_get_resource.
4216 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4217 (realize_x_face) [macintosh]: Load the font if it is specified in
4218 ATTRS.
52283633 4219 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4220
1ffbabe3
SM
42212000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4222
4223 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4224 is nil: since we go to the end of submap anyway, we'd end up
4225 setting nil to nil.
4226 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4227 doesn't obey autoload.
4228
bed43f1d
EZ
42292000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4230
1ffbabe3 4231 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4232
ea4233a7
JR
42332000-10-21 Jason Rumney <jasonr@gnu.org>
4234
4235 * w32term.c (w32_cache_char_metrics): Double check that font is
4236 really fixed pitch before trusting tmPitchAndFamily.
4237
f3d3c491
AI
42382000-10-21 Andrew Innes <andrewi@gnu.org>
4239
4240 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4241
4242 * w32term.h: Extern decl for w32_cache_char_metrics.
4243
4244 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4245
4246 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4247 (w32_unload_font): Free per_char array if present.
4248
4249 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4250 cached information in emulated XFontStruct to handle common cases
4251 quickly. Do not allocate XCharStruct for return.
4252 (w32_native_per_char_metric): New function.
4253 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4254 allocating one.
4255 (x_produce_glyphs): Don't get an HDC. Change calls to
4256 w32_per_char_metric to match arg change above. Remove calls to
4257 free results.
4258 (w32_get_glyph_overhangs): Ditto.
4259 (w32_cache_char_metrics): New function.
4260
4261 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4262 ($(BLD)/casefiddle.$(O)): Remove compile command.
4263 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4264 ($(BLD)/dispnew.obj):
4265 ($(BLD)/keyboard.obj):
4266 ($(BLD)/w32inevt.obj):
4267 ($(BLD)/w32bdf.obj):
4268 ($(BLD)/alloc.obj):
4269 ($(BLD)/buffer.obj):
4270 ($(BLD)/editfns.obj):
4271 ($(BLD)/emacs.obj):
4272 ($(BLD)/fileio.obj):
4273 ($(BLD)/fns.obj):
4274 ($(BLD)/indent.obj):
4275 ($(BLD)/insdel.obj):
4276 ($(BLD)/intervals.obj):
4277 ($(BLD)/minibuf.obj):
4278 ($(BLD)/print.obj):
4279 ($(BLD)/scroll.obj):
4280 ($(BLD)/sysdep.obj):
4281 ($(BLD)/textprop.obj):
4282 ($(BLD)/widget.obj):
f3d3c491
AI
4283 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4284 ($(BLD)/term.obj): Add dependency on dispextern.h.
4285
52283633
SM
4286 * makefile.nt ($(BLD)\dispnew.obj):
4287 ($(BLD)\keyboard.obj):
4288 ($(BLD)\w32inevt.obj):
4289 ($(BLD)\w32bdf.obj):
4290 ($(BLD)\alloc.obj):
4291 ($(BLD)\buffer.obj):
4292 ($(BLD)\editfns.obj):
4293 ($(BLD)\emacs.obj):
4294 ($(BLD)\fileio.obj):
4295 ($(BLD)\fns.obj):
4296 ($(BLD)\indent.obj):
4297 ($(BLD)\insdel.obj):
4298 ($(BLD)\intervals.obj):
4299 ($(BLD)\minibuf.obj):
4300 ($(BLD)\print.obj):
4301 ($(BLD)\scroll.obj):
4302 ($(BLD)\sysdep.obj):
4303 ($(BLD)\textprop.obj):
4304 ($(BLD)\widget.obj):
f3d3c491
AI
4305 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4306 ($(BLD)\term.obj): Add dependency on dispextern.h
4307
18ad4821
EZ
43082000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4309
4310 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4311 with an additional argument of Qt.
4312
de54681a
MB
43132000-10-21 Miles Bader <miles@gnu.org>
4314
4315 * window.c (pos_fully_visible_in_window_p): New function.
4316 (Fpos_visible_in_window_p): Add FULLY argument.
4317 Use pos_fully_visible_in_window_p.
4318 (window_scroll_pixel_based, window_scroll_line_based): Update
4319 calls to Fpos_visible_in_window_p.
4320 * lisp.h (Fpos_visible_in_window_p): Update prototype
4321
13c844fb
GM
43222000-10-20 Gerd Moellmann <gerd@gnu.org>
4323
4324 * alloc.c (toplevel): Conditionalize compilation of mem_*
4325 functions differently.
52283633 4326
d9506268
JR
43272000-10-20 Jason Rumney <jasonr@gnu.org>
4328
4329 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4330 mem_init where it used to be. mem_z etc not defined otherwise.
4331
8094989b
GM
43322000-10-20 Gerd Moellmann <gerd@gnu.org>
4333
4334 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4335 GC_MALLOC_CHECK.
4336 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4337 structure definition and related variabled to the top of the file.
4338 Include this code when GC_MALLOC_CHECK is defined.
4339 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4340 register/unregister allocated region.
4341 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4342 which isn't allocated.
4343 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4344 something which is already in use.
4345 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4346 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4347 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4348 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4349
4350 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4351 _malloc_internal instead of malloc.
4352 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4353 of free.
4354
ea456eb4
AI
43552000-10-20 Andrew Innes <andrewi@gnu.org>
4356
4357 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4358 Windows.
4359 (my_strftime) <macro>: Don't use macro arg list when redefining as
4360 _strftime_copytm.
4361 (my_strftime) <function>: Supply 0 as ut argument.
4362
e64c3a75
JR
43632000-10-19 Jason Rumney <jasonr@altavista.net>
4364
4365 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4366 including dispextern.h, as it stops faces from working.
4367
4368 * w32fns.c (Fx_create_frame): Don't bother calling
4369 face-set-after-frame-default since the caller does it for us
4370 anyway. Clean up calls to x_get_arg to be consistent with X.
4371
4372 * w32term.c (x_produce_glyphs): Handle
4373 unibyte_display_via_language_environment correctly.
4374 (w32_draw_box_rect): Fix the calculation of width and height.
4375
4376 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4377 as it has stopped working.
4378 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4379 menu-bar.
4380
17401c97
GM
43812000-10-19 Gerd Moellmann <gerd@gnu.org>
4382
4383 * eval.c (skip_debugger): Prevent a compiler warning.
4384 (Fcondition_case): Likewise.
4385 (Fbacktrace_frame): Use a null interactive spec.
4386
773272d8
KH
43872000-10-19 Kenichi Handa <handa@etl.go.jp>
4388
4389 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4390
a42943e9
GM
43912000-10-18 Gerd Moellmann <gerd@gnu.org>
4392
e50517d9
GM
4393 * strftime.c: Sync with glibc, file version 1.78.
4394 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4395 should no longer be used according to ISO 8601.
4396
9035a35a
GM
4397 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4398 no map for meta_prefix_char, don't try to use it as a keymap.
4399 Instead, if T_OK is non-zero, look up a default binding, if any,
4400 otherwise, if T_OK is zero, return nil.
4401
a42943e9
GM
4402 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4403 (x_to_xcolors, png_load): Use x_query_color.
4404
52283633
SM
4405 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4406 New functions.
a42943e9
GM
4407 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4408 which can be slow.
4409 (x_copy_color, x_alloc_lighter_color): Likewise.
4410
4411 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4412 (x_query_color, x_query_colors): Add prototype.
4413
4414 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4415 check_string_bytes only if not noninteractive, increase count to 50.
4416
00de2987
MB
44172000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4418
4419 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4420 markers correctly.
4421
54918e2b
GM
44222000-10-17 Gerd Moellmann <gerd@gnu.org>
4423
1f0b3fd2
GM
4424 * alloc.c (pure_bytes_used): Renamed from pureptr.
4425 (ALIGN): New macro.
4426 (pure_alloc): New function.
4427 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4428 Use it.
4429 (Fpurecopy): Use PURE_POINTER_P.
4430
68c5d1db
GM
4431 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4432 PT has moved backward.
52283633 4433
9a038881
GM
4434 * xdisp.c (cursor_row_p): Take continued lines into account.
4435
361b097f
GM
4436 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4437 string's size_byte.
4438 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4439 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4440 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4441 string allocated.
4442
54918e2b
GM
4443 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4444 of selective display off while searching for the next line start.
4445
03ed0806
KH
44462000-10-17 Kenichi Handa <handa@etl.go.jp>
4447
4448 * Makefile.in (term.o): Depend on dispextern.h.
4449
7e05cdaf
SM
44502000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4451
4452 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4453
a6801fd1
GM
44542000-10-16 Gerd Moellmann <gerd@gnu.org>
4455
483de32b
GM
4456 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4457 the iterator at the beginning, so that they can be set later on,
4458 for instance in reseat_at_next_visible_line_start, without being
4459 overwritten.
4460
a6801fd1
GM
4461 * xfns.c (pbm_format): Add :foreground and :background keywords.
4462 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4463 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4464
dbf1fcc1
EZ
44652000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4468
52283633 4469 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4470
4471 * msdos.c (IT_set_face): Compare highlighted face with the default
4472 face, and invert colors if these faces' colors are identical.
4473 (Fmsdos_remember_default_colors): Don't swap foreground and
4474 background colors in initial_colors[].
4475 (IT_set_frame_parameters): Don't swap frame's foreground and
4476 background pixels. If ALIST includes "(reverse . t)", swap
4477 foreground-color and background-color properties in frame's
4478 param_alist. If the original frame's param_alist doesn't specify
4479 the colors, store unspecified-fg and unspecified-bg, reversed if
4480 required.
4481
4482 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4483 the colors are unspecified and reversed, reverse fore- and back-
4484 ground in the returned value.
4485 (Fframe_parameter): Ditto.
4486
b41fe2c3 44872000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4488
3a6b59d9
GM
4489 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4490 get_last_unchanged_at_beg_row.
4491 (find_first_unchanged_at_end_row): Renamed from
4492 get_first_unchanged_at_end_row.
4493 (find_first_unchanged_at_end_row): Convert assertions to
4494 unconditional tests which abort. When looking for a row in
4495 unchanged text, don't go further back than first_text_row.
4496
b41fe2c3
GM
4497 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4498 Don't add in the last line's height when deciding if the new
4499 position is below the scroll margin.
9d1af64f 4500
b41fe2c3 45012000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4502
4503 * editfns.c (Fconstrain_to_field): Check carefully for field
4504 boundaries if either OLD_POS or NEW_POS has a non-nil field
4505 property, even if they're the same.
4506
c412cb7b
KH
45072000-10-16 Kenichi Handa <handa@etl.go.jp>
4508
4509 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4510 height for XFillRectangle.
4511
5586f3eb
SM
45122000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4513
4514 * syntax.c (Fstring_to_syntax): New function extracted from
4515 Fmodify_syntax_entry.
4516 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4517 (skip_chars, Fforward_comment): Remove unused variables.
4518 (syms_of_syntax): Add defsubr for string-to-syntax.
4519 (describe_syntax): Add code for comment and string fences.
4520
db785038
SM
45212000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4522
4523 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4524 Do the meta->esc mapping. Call get_keyelt before returning.
4525 Start scanning from the second element (the first is always `keymap')
4526 to make it easier to detect when we reach a parent map.
4527 Handle the case of inheriting from a symbol whose function is a map.
4528 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4529 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4530 (get_keyelt, Flookup_key): Update call to access_keymap.
4531 Remove the meta->esc mappings.
4532 (define_as_prefix): Delete old disabled code.
4533 (menu_item_p): New function.
4534 (where_is_internal_1): Skip over the few remaining menu items.
4535 * lisp.h (access_keymap): Update prototype.
4536 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4537 Update call to access_keymap.
4538 (follow_key, read_key_sequence): Update calls to access_keymap.
4539 Remove the meta->esc mappings.
4540
cafafe0b
GM
45412000-10-13 Gerd Moellmann <gerd@gnu.org>
4542
a2e2a7f6
GM
4543 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4544 with additional argument.
4545
cafafe0b
GM
4546 * xdisp.c (cursor_row_p): New function.
4547 (try_cursor_movement, display_line): Use it.
52283633 4548
cafafe0b
GM
4549 * xdisp.c (append_space): Also save/restore iterator's current
4550 character and its length.
4551
4552 * xdisp.c (init_from_display_pos): Add an assertion.
4553 (handle_stop): Don't set iterator's add_overlay_start.
4554 (handle_invisible_prop): Likewise.
4555 (load_overlay_strings): If text under an overlay is invisible,
4556 take both before- and after-strings into account when the iterator
4557 is positioned either at the start or at the end of the overlay.
4558 (forward_to_next_line_start): Rewritten.
4559 (reseat_at_next_visible_line_start): Rewritten.
4560 (set_iterator_to_next): Add parameter RESEAT_P.
4561
4562 * dispextern.h (struct it): Remove member add_overlay_start.
4563 (set_iterator_to_next): Change prototype.
4564
c744452b
KH
45652000-10-13 Kenichi Handa <handa@etl.go.jp>
4566
4567 * coding.c (code_convert_region): Be sure to initialize
4568 coding->category_idx.
e4a3f4e1
KH
4569 (decode_coding_string): Set coding->src_multibyte and
4570 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4571 (encode_coding_string): Set coding->src_multibyte and
4572 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4573
321fd26f
SM
45742000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4575
4576 * xfns.c (Fx_create_frame): Don't bother calling
4577 face-set-after-frame-default since the caller does it for us anyway.
4578
76832439
EZ
45792000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4580
4581 * window.c (coordinates_in_window): Fix detection of vertical line
4582 on character terminals.
4583
2483cf58
GM
45842000-10-12 Gerd Moellmann <gerd@gnu.org>
4585
4586 * editfns.c (save_excursion_save): Additionally record the
4587 selected window.
4588 (save_excursion_restore): If buffer was visible in a window, and a
4589 different window was selected, and the old selected window is
4590 still live, restore point in that window.
4591
eb991b25
KH
45922000-10-12 Kenichi Handa <handa@etl.go.jp>
4593
8a0eba09
KH
4594 * xterm.c (x_produce_glyphs): Handle
4595 unibyte_display_via_language_environment correctly.
4596
20401fcc
KH
4597 * regex.c (regex_compile): Change the way of handling a range from
4598 unibyte char to multibyte char.
4599
4600 * syntax.c (skip_chars): Change the way of handling a range from
4601 unibyte char to multibyte char.
4602
eb991b25
KH
4603 * process.c (read_process_output): Cancel previous change.
4604
365dd325
EZ
46052000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4606
c1b096cb
EZ
4607 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4608
365dd325
EZ
4609 * charset.c (Ffind_charset_string): Doc fix.
4610 (Ffind_charset_region): Doc fix.
4611
eb483c2b
KH
46122000-10-11 Kenichi Handa <handa@mule.m17n.org>
4613
4614 * process.c (read_process_output): Fix previous change. Adjust
4615 multibyteness of text to insert in a buffer by
52283633 4616 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4617
b40bfb99
AS
46182000-10-10 Andreas Schwab <schwab@suse.de>
4619
4620 * alloc.c (mark_object): Remove all workarounds installed on
4621 1993-08-08.
4622
caff31d4
KH
46232000-10-10 Kenichi Handa <handa@etl.go.jp>
4624
52283633 4625 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4626 (base64_encode_1): Make it work for a text of multibyte form.
4627 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4628 case. Don't call str_to_multibyte because base64_decode_1
4629 produces correct multibyte form for eight-bit codes.
52283633 4630 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4631 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4632 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4633 codes.
4634
4635 * charset.h (CHAR_STRING): Optimized for single byte characters.
4636
cba026ef
AS
46372000-10-09 Andreas Schwab <schwab@suse.de>
4638
4639 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4640 -1 after socket is closed, to fall through to error processing.
4641
1e21fe48
EZ
46422000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4643
4644 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4645 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4646 background-color, change also the colors of the default face for
4647 this frame.
4648
a640322e
EZ
46492000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4650
4651 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4652 them extern (they are defined on xfaces.c).
4653 (syms_of_msdos): Don't intern and don't staticpro
4654 Qbackground_color and Qforeground_color.
4655
a115794c
EZ
46562000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4657
4658 * frame.c (Fframe_parameter): For non-windowed frames, if
4659 f->param_alist says foreground or background color is unspecified,
4660 call tty_color_name to return the color name computed from the
4661 frame's current colors.
4662
f5533b63
DL
46632000-10-06 Dave Love <fx@gnu.org>
4664
4665 * terminfo.c (ospeed): Don't declare.
4666
4667 * sysdep.c: Don't include string.h.
4668 (h_errno): Declare conditional also on TRY_AGAIN.
4669
4670 * charset.c (Ffind_charset_string): Doc fix.
4671
52283633 4672 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4673 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4674 error messages.
4675
2b06561a
DL
46762000-10-05 Dave Love <fx@gnu.org>
4677
4678 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4679 position like menu-bar.
4680
ca839c85
GM
46812000-10-05 Gerd Moellmann <gerd@gnu.org>
4682
4683 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4684
4685 * xdisp.c (handle_single_display_prop): Use safe_call1.
4686 (safe_call): Renamed from call_function.
4687 (safe_call1): New function.
4688 (handle_fontified_prop): Use safe_call1 instead of call1.
4689 (safe_eval): Renamed from eval_form.
4690 (safe_eval_handler): Renamed from eval_handler.
4691 (handle_single_display_prop, display_mode_element): Use safe_eval
4692 instead of eval_form.
4693
4694 * xfaces.c (merge_face_heights): Use safe_call instead of
4695 call_function.
4696
4697 * keyboard.c (show_help_echo): Use safe_call instead of
4698 call_function; use safe_eval instead of eval_form.
4699
4700 * lisp.h (safe_call): Renamed from call_function.
4701 (safe_eval): Renamed from eval_form.
4702 (safe_call1): Add prototype.
4703
a3489ece
MB
47042000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4705
4706 * xfns.c (image_ascent): Rearrange ascent calculation for the
4707 has-a-font case.
4708
35810b6f
SM
47092000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4710
4711 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4712 (where_is_internal_1): Don't bother ignoring menu-items any more.
4713
3dc78168
GM
47142000-10-04 Gerd Moellmann <gerd@gnu.org>
4715
4716 * keyboard.c (update_menu_bindings): New variable.
4717 (parse_menu_item): Use AREF. If update_menu_bindings
4718 is 0, don't update menu bindings.
4719 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4720
1efc2bb9
EZ
47212000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4722
4723 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4724 to `mark_object'.
4725
3f679f55
SM
47262000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4727
4728 * syntax.c (forw_comment): Match nestedness of ender/starter.
4729 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4730 (prev_char_comstart_first): Remove.
4731 (back_comment): Check two-char comment markers more carefully
4732 to better handle overlapping cases like *//* or /* */* */ ...
4733 Match nestedness of ender/starter.
4734
2021ab61
DL
47352000-10-02 Dave Love <fx@gnu.org>
4736
4737 * config.in (HAVE_GAI_STRERROR): Add undef.
4738
4739 * process.c (Fopen_network_stream): Use it.
4740
4741 * m/alpha.h (NO_REMAP): Don't define.
4742
64e6cc18
GM
47432000-10-02 Gerd Moellmann <gerd@gnu.org>
4744
4745 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4746 return with a string converted to an integer or vice versa when
4747 Vmocklisp_arguments is t.
4748 (Fsignal): Likewise. The function can return for `quit'.
4749 (struct gcpro): Declare member `var' to point to a volatile
4750 Lisp_Object.
4751
4752 * eval.c (error): Prevent compiler warning.
4753
b1904cd9
SM
47542000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4755
4756 * keymap.c (keymap_memberp): New function.
4757 (Fset_keymap_parent): Use it.
4758 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4759 Use keymap_memberp to avoid creating cycles.
4760 (access_keymap): Use KEYMAPP.
4761
71c9ec51
GM
47622000-09-30 Gerd Moellmann <gerd@gnu.org>
4763
4764 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4765 gai_strerror. Make sure xerrno is set if connect fails. Improve
4766 error recovery.
71c9ec51 4767
c70c6b58
JR
47682000-09-29 Jason Rumney <jasonr@gnu.org>
4769
4770 * w32term.c (w32_char_font_type, w32_encode_char)
4771 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4772 (w32_bdf_per_char_metric): New function.
4773 (w32_per_char_metric): Use it.
4774 (x_draw_glyph_string_background): Always draw background for BDF
4775 glyphs.
4776
4777 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4778 GDI object which is a scarce resource.
4779
4780 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4781 (get_quoted_string): Fix limit on memchr search.
4782 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4783 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4784 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4785 (get_cached_font_char, cache_char_offset): Use macro
4786 BDF_CODEPOINT_RANGE_COVER_P.
4787 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4788 (clear_cached_bitmap_slots): New function.
4789 (GET_HEX_VALUE): G-Z, g-z are not hex.
4790 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4791 (get_bitmap_with_cache): Use new cache implementation.
4792 (create_offscreen_bitmap): New function.
4793 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4794
4795 * w32term.c (x_produce_glyphs): If the distance from the current
4796 position to the next tab stop is less than a canonical character
4797 width, use the tab stop after that.
4798 (x_draw_glyphs): Handle case START and END are out of bounds more
4799 carefully.
4800 (x_clear_mouse_face): Block/unblock input.
4801 (x_display_and_set_cursor): Don't show a hollow box cursor for
4802 buffers whose cursor_type is nil.
4803
fe01239f
GM
48042000-09-29 Gerd Moellmann <gerd@gnu.org>
4805
52283633 4806 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4807
4808 * dispextern.h (updating_frame): Declare extern.
4809
e7c52f1f
AS
48102000-09-29 Andreas Schwab <schwab@suse.de>
4811
4812 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4813
de6e1f7c
GM
48142000-09-29 Gerd Moellmann <gerd@gnu.org>
4815
25126faa
GM
4816 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4817 use its function definition.
4818 (tool_bar_items): Likewise.
4819
de6e1f7c 4820 * lisp.h (fatal): Declare NO_RETURN.
52283633 4821
454ee39b
KH
48222000-09-29 Kenichi Handa <handa@etl.go.jp>
4823
4824 * keymap.c: Remove the line "#undef NULL".
4825
96301c5f
GM
48262000-09-28 Gerd Moellmann <gerd@gnu.org>
4827
52283633 4828 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4829
efffeeb4
DL
48302000-09-28 Dave Love <fx@gnu.org>
4831
ecb8b666
DL
4832 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4833
dc3cd20f
DL
4834 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4835
4836 * .gdbinit (xreload): Note its need on GNU/Linux.
4837
efffeeb4
DL
4838 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4839 r_alloc, r_alloc_free.
4840
8610d903
KH
48412000-09-28 Kenichi Handa <handa@etl.go.jp>
4842
4843 * syntax.c (skip_chars): Handle negation correctly.
4844
8901d1ac
GM
48452000-09-27 Gerd Moellmann <gerd@gnu.org>
4846
6f22f1ad
GM
4847 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4848 with non-zero FORCE_P argument.
4849
52283633 4850 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4851 Add assertions.
4852
4853 * xdisp.c (window_box_height): Add an assertion.
4854
4855 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4856 tool-bar than is available.
4857 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4858
36f1966f
DL
48592000-09-27 Dave Love <fx@gnu.org>
4860
efffeeb4 4861 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4862
31d929e5
GM
48632000-09-26 Gerd Moellmann <gerd@gnu.org>
4864
c98863bf
GM
4865 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4866 instead of BITS_PER_INT.
4867 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4868 EMACS_UINT, respectively.
4869 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4870
4871 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4872
4873 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4874
77072ab1
GM
4875 * window.c (freeze_window_starts): Construct last argument for
4876 foreach_window differently.
4877
4878 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4879
4880 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4881 EMACS_UINT instead of `int' and `unsigned int'.
4882 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4883
4884 * frame.h (struct frame): Make the `nothing' member of union
4885 output_data an EMACS_INT.
4886
52283633 4887 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4888 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4889 size in the sdata structure.
4890 (SDATA_NBYTES, SDATA_DATA): New macros.
4891 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4892 differently for the different layout of the sdata structure.
4893 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4894 in sdata.
4895 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4896 Check that size recorded in the string size and size recorded in
4897 the sdata structure agree.
4898
3e60b029
DL
48992000-09-25 Dave Love <fx@gnu.org>
4900
4901 * buffer.c: Include stdio.h.
4902
4903 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4904
3e60b029
DL
4905 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4906
4907 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4908 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4909 (__malloc_extra_blocks): Declare as __malloc_size_t.
4910
8ff16b4e
GM
49112000-09-25 Gerd Moellmann <gerd@gnu.org>
4912
755a2ccd
GM
4913 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4914
d8b4516f
GM
4915 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4916 (read_char): If help-echo is showing, preserve the echo area
4917 when redisplaying.
4918
4919 * xdisp.c (help_echo_showing_p): New variable.
4920 (set_message): Reset it to 0.
4921 (init_xdisp): Initialize help_echo_showing_p.
4922
4923 * dispextern.h (help_echo_showing_p): Declare extern.
4924
4925 * config.in: Fix typo in __GNUC_MINOR__.
4926
4927 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4928
b11af2dd
GM
4929 * s/freebsd.h (POSIX_SIGNALS): Define.
4930
8ff16b4e
GM
4931 * xterm.c (x_clear_mouse_face): Block/unblock input.
4932
844eb643
DL
49332000-09-24 Dave Love <fx@gnu.org>
4934
4935 * fns.c (base64_encode_1): Fix last change.
4936
b30ab1b3
GM
49372000-09-22 Gerd Moellmann <gerd@gnu.org>
4938
4939 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4940
4941 * xdisp.c (try_window_reusing_current_matrix): More fixes
4942 for the case window has a header-line.
4943
c6cbe5f0
DL
49442000-09-22 Dave Love <fx@gnu.org>
4945
4c7c1f3f
DL
4946 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4947 a doc string.
4948
4949 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4950
c6cbe5f0
DL
4951 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4952
550a625e
GM
49532000-09-21 Gerd Moellmann <gerd@gnu.org>
4954
4c7c1f3f 4955 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4956 for GCC >= 2.5.
4957
52283633
SM
4958 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4959 Declare NO_RETURN.
fca99116 4960
80d26f99
GM
4961 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4962 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4963 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4964 warnings.
52283633 4965
80d26f99
GM
4966 * marker.c (byte_char_debug_check): Return void.
4967
623a0aae
GM
4968 * xfns.c (Fx_create_frame): Set default frame parameter value
4969 for tool-bar-lines to 1.
4970
4971 * dispnew.c (scrolling_window): Compare y-positions of rows
4972 equal at the start. Some simplification.
4973
4974 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4975 reused rows' y-position in the case window has a header-line, and
4976 new window start is greater than old window start.
4977
42ac0ae5
GM
4978 * process.c (process_sent_to): New variable.
4979 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4980 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4981 Declare more parameters volatile.
4982
550a625e
GM
4983 * lread.c (Vrecursive_load_depth_limit): New variable.
4984 (Fload): Check recursive loads whose recursion depth exceeds
4985 Vrecursive_load_depth_limit.
4986 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4987
8320414c
GM
49882000-09-20 Gerd Moellmann <gerd@gnu.org>
4989
f46c275e
GM
4990 * fileio.c (Fread_file_name): Doc fix.
4991
4992 * editfns.c (Fmessage_or_box): Doc fix.
4993
4994 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4995
b7e11c5b 4996 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4997
8320414c
GM
4998 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4999 symbols are specified, add color translations to the cache.
52283633 5000 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5001 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5002 xpm_cache_color.
5003 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5004 structures to xpm_init_color_cache.
5005
da1608d9
GM
50062000-09-19 Gerd Moellmann <gerd@gnu.org>
5007
52283633 5008 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5009
6badfa25
AI
50102000-09-19 Andrew Innes <andrewi@gnu.org>
5011
5012 * makefile.nt (bootstrap-emacs): Don't change directory.
5013
3a5f42bb
KH
50142000-09-19 Kenichi Handa <handa@etl.go.jp>
5015
1b7649bd
KH
5016 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5017
3a5f42bb
KH
5018 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5019 If output buffer is too small, signal an appropriated error.
5020
9f83cf0b
DL
50212000-09-18 Dave Love <fx@gnu.org>
5022
52283633 5023 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5024 (current_active_maps): Remove redundant get_local_map call.
5025
28c7826c
GM
50262000-09-18 Gerd Moellmann <gerd@gnu.org>
5027
5cefa566
GM
5028 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5029 cursor for buffers whose cursor_type is nil.
52283633 5030
6fed3546
GM
5031 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5032 a feature to implement that is already implemented.
5033 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5034 warnings.
5035
5036 * xfns.c (x_clear_image_1): New function.
5037 (x_clear_image): Use it.
52283633 5038 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5039
05b1f851
GM
5040 * dispnew.c (update_window): Move test for invisible lines
5041 at the top to update_window_line.
5042 (update_window_line): Handle invisible lines here.
5043
f4779de9
GM
5044 * xfns.c (clear_image_cache): Clear current matrices of all
5045 frames sharing an image cache. Block input while freeing
5046 images. Fix timestamp comparison.
5047 (x_clear_image): Also free the mask.
5048
28c7826c
GM
5049 * xfns.c (lookup_image): Block input while loading the image so
5050 that we won't get interrupted in a state where the image isn't yet
5051 set up completely.
5052 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5053 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5054 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5055 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5056
b7412313
GM
50572000-09-16 Gerd Moellmann <gerd@gnu.org>
5058
5059 * dispnew.c (update_window): Make sure to make desired rows
5060 current even if they are completely invisible at the top
5061 of a window.
5062
47e351a3
GM
50632000-09-15 Gerd Moellmann <gerd@gnu.org>
5064
7f8f1edc
GM
5065 * xfns.c (lookup_image): Build mask before applying an algorithm.
5066 Recognize algorithm `disabled'.
5067 (cross_disabled_images): New variable.
5068 (COLOR_INTENSITY): New macro.
5069 (x_detect_edges): Use COLOR_INTENSITY.
5070 (x_disable_image): New function.
5071 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5072
5073 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5074 disabled state, don't apply an image transformation algorithm if
5075 the user specified an image for the disabled state. Use
28c7826c 5076 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5077 user hasn't specified an image.
5078
ebb8f116
GM
5079 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5080 allocation functions with the XPM lib.
5081 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5082 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5083 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5084 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5085 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5086 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5087 functions, if possible, because these handle color allocation
5088 failure more gracefully.
5089 (Fimage_mask_p): New function.
5090
47e351a3
GM
5091 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5092 (Qedge_detection, Qheuristic): New symbols.
5093 (syms_of_xfns): Initialize new symbols.
5094 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5095 `algorithm (edge-detection ...)'.
5096 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5097 (tiff_format, gif_format, gs_format): Add `:mask'.
5098 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5099 (GIF_MASK, GS_MASK): New enumerators.
5100 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5101 (emboss_matrix, laplace_matrix): New variables.
5102 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5103 (x_edge_detection): New functions.
5104 (x_laplace): Rewritten in terms of x_detect_edges.
5105 (x_build_heuristic_mask): If image has a mask, free it.
5106
fe83b953
AI
51072000-09-14 Andrew Innes <andrewi@gnu.org>
5108
5109 * makefile.w32-in: Revert to Unix line endings.
5110
3021e816
AI
51112000-09-14 Andrew Innes <andrewi@gnu.org>
5112
5113 * makefile.w32-in: Standardize indentation somewhat.
5114 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5115 cater for differences between shells.
5116
5117 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5118
2a32b5ea
GM
51192000-09-14 Gerd Moellmann <gerd@gnu.org>
5120
5121 * xterm.c (x_produce_glyphs): If the distance from the current
5122 position to the next tab stop is less than a canonical character
5123 width, use the tab stop after that.
5124
b4331e96
DL
51252000-09-14 Dave Love <fx@gnu.org>
5126
5127 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5128
ef9e4345
GM
51292000-09-14 Gerd Moellmann <gerd@gnu.org>
5130
085536c2
GM
5131 * xdisp.c (handle_fontified_prop): While running fontification
5132 functions, bind `fontification-functions' and
5133 `after-change-functions' to nil.
5134
ef9e4345
GM
5135 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5136 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5137
5138 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5139
5140 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5141 USE_MMAP_FOR_BUFFERS.
5142
5143 * insdel.c (make_gap): Use enlarge_buffer_text.
5144
5145 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5146 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5147 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5148 from former r_alloc_* functions in ralloc.c.
52283633 5149 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5150 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5151 (mmap_init) [REL_ALLOC_MMAP]: New function.
5152 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5153 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5154 BUFFER_FREE.
5155
5156 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5157 (enlarge_buffer_text): Add prototype.
5158
5159 * ralloc.c: Remove everything having to do with the use of mmap.
5160
f8608968
GM
51612000-09-13 Gerd Moellmann <gerd@gnu.org>
5162
2a494b2d
GM
5163 * sound.c (Fplay_sound): Doc fix.
5164
8c907a56
GM
5165 * keyboard.c: Avoid some more compiler warnings.
5166 (parse_tool_bar_item): Ignore cached key bindings.
5167
f8608968
GM
5168 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5169 and allocation of Lisp data.
5170
6ab70e9a
GM
51712000-09-12 Gerd Moellmann <gerd@gnu.org>
5172
d12d0a9b
GM
5173 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5174 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5175 defaults first.
5176
6ab70e9a
GM
5177 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5178
63c36c3c
KH
51792000-09-12 Miyashita Hisashi <himi@meadowy.org>
5180
5181 * ccl.c: Comment fixed.
5182 (MAX_MAP_SET_LEVEL): Increased to 30.
5183 (PUSH_MAPPING_STACK): Enclose with do-while block.
5184 (POP_MAPPING_STACK): Likewise.
5185 (stack_idx_of_map_multiple): New variable.
5186 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5187 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5188 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5189 (ccl_driver) <CCL_MapSingle>: Likewise.
5190 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5191 with the case where looking up process reaches to the end of
5192 map-set, and call CCL programs as the above change.
5193
7ee3bd7b
GM
51942000-09-11 Gerd Moellmann <gerd@gnu.org>
5195
8ec8a5ec
GM
5196 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5197 that might be clobbered by longjmp.
5198 (check_x_display_info, x_decode_color, create_frame_xic)
5199 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5200 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5201
f74b0705
GM
5202 * lread.c (init_lread): Set Vloads_in_progress to nil.
5203 (Fload): Show list of recursively loaded files, when signaling an
5204 error.
5205
7ee3bd7b
GM
5206 * lread.c (Vloads_in_progress): New variable.
5207 (record_load_unwind): New function.
5208 (Fload): Check for recursive loads.
5209 (syms_of_lread): Initialize Vloads_in_progress.
5210 (read_integer, read1): Avoid some compiler warnings.
5211
5212 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5213 compiler warnings.
5214
974e1e5b
MB
52152000-09-11 Miles Bader <miles@gnu.org>
5216
5217 * editfns.c (Fbuffer_string): Doc fix.
5218
9824c4e3
GM
52192000-09-10 Gerd Moellmann <gerd@gnu.org>
5220
5221 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5222
6a72fdd1
KR
52232000-09-09 Ken Raeburn <raeburn@gnu.org>
5224
5225 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5226 whether to include other header files.
5227
28e6fb66
GM
52282000-09-09 Gerd Moellmann <gerd@gnu.org>
5229
52283633 5230 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5231 by Fmemq as a boolean.
28e6fb66 5232
7f8b6551
SM
52332000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5234
5235 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5236
a8710abf
GM
52372000-09-08 Gerd Moellmann <gerd@gnu.org>
5238
d1a02881
GM
5239 * ralloc.c (mmap_fd): Remove initializer which can make it
5240 read-only in a dumped Emacs.
5241 (mmap_fd_1): New variable.
5242 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5243 restore it from there.
5244 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5245 unconditionally so that mmap_fd can be initialized there.
5246 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5247 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5248 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5249
c454aac1
GM
5250 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5251
5252 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5253 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5254
fc653ef2
GM
5255 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5256
3015eec0
GM
5257 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5258 inheritance.
5259
bfe0ee88
GM
5260 * xdisp.c (try_window_id): When trying to locate cursor in
5261 unchanged rows at the top, handle the case that we can't find it.
5262
a8710abf
GM
5263 * xterm.c (x_draw_glyphs): Handle case START and END are out
5264 of bounds more carefully.
5265
6b7d4ae4
DL
52662000-09-08 Dave Love <fx@gnu.org>
5267
423193c5
DL
5268 * s/sol2.h (REL_ALLOC_MMAP): Define.
5269 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5270
5271 * ralloc.c: Don't include string.h (redundant).
5272 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5273 [!MAP_ANON]: Include fcntl.h.
5274 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5275 (r_alloc, r_re_alloc, r_alloc_free)
5276 (mmap_enlarge, mmap_set_vars): Use it.
5277 (r_alloc_init_fd): New function.
5278 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5279 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5280 malloc type.
5281
5282 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5283 Remove vm-limit.o.
5284
6b7d4ae4
DL
5285 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5286 change to __NetBSD__.
5287
44d31981
KH
52882000-09-08 Kenichi Handa <handa@etl.go.jp>
5289
5290 * search.c (compile_pattern): Check the multibyteness of cached
5291 string and PATTERN.
5292
aad40737
MB
52932000-09-08 Miles Bader <miles@gnu.org>
5294
5295 * xfaces.c (default_face_vector): Function removed.
5296 (Finternal_merge_in_global_face): Restore old global/local
5297 attribute override order. Use inline loop instead of calling
5298 default_face_vector.
5299
91a211b5
GM
53002000-09-07 Gerd Moellmann <gerd@gnu.org>
5301
5302 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5303 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5304 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5305 where necessary, in case POINTER_TYPE is `void'.
5306
03419440
EZ
53072000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5308
5309 * frame.c (make_terminal_frame): Initialize frame foreground and
5310 background colors to unspecified, for the initial instance of an
5311 MSDOS frame.
5312
f46f845b
GM
53132000-09-07 Gerd Moellmann <gerd@gnu.org>
5314
24f76fbf
GM
5315 * ralloc.c (mmap_find): Fix overlap computation.
5316 (mmap_enlarge): Compute nbytes before trying to find an
5317 overlapping region.
5318
f46f845b
GM
5319 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5320 instead of `!='.
5321
5322 * lread.c (syms_of_lread): Change value of regexp
5323 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5324
5325 * xmenu.c (xdialog_show): When looking up the selection in
5326 menu_items, take `quote' boundaries into account; this corresponds
5327 to a nil ITEM in x-popup-dialog.
5328
3c014385
KH
53292000-09-07 Kenichi Handa <handa@etl.go.jp>
5330
fd6f711b
KH
5331 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5332 not 0x81.
5333 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5334
3c014385 5335 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5336 encoding, not decoding. Fix the handling of latin-jisx0201.
5337 Check for the charset katakana-jisx0201 too.
3c014385 5338 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5339 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5340
0da3ecef
GM
53412000-09-07 Gerd Moellmann <gerd@gnu.org>
5342
ab0ee409
GM
5343 * xfaces.c (Vparam_value_alist): New variable.
5344 (syms_of_xfaces): Initialize it.
5345 (Finternal_set_lisp_face_attribute): Avoid more consing.
5346
5347 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5348 specially.
5349 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5350 (Qbackground_mode): New variable.
5351 (syms_of_frame_1): Initialize Qbackground_mode.
5352
5353 * lisp.h (Qdisplay): Declare extern.
1091dd67 5354
0da3ecef
GM
5355 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5356 change face on all frames, and change the default for new frames.
5357
b14654b9
DL
53582000-09-07 Dave Love <fx@gnu.org>
5359
5360 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5361
d24fd56f
KH
53622000-09-07 Kenichi Handa <handa@etl.go.jp>
5363
794f3670
KH
5364 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5365
0fddd0dc
KH
5366 * charset.c: Include composite.h
5367 (lisp_string_width): New function.
5368 (Fstring_width): Call lisp_string_width instead of strwidth.
5369
5370 * Makefile.in (charset.o): Depends on composite.h.
5371
d24fd56f
KH
5372 * process.c (read_process_output): Before inserting the decoded
5373 text in the buffer, adjust the multibyteness.
5374
fa0b693c
GM
53752000-09-06 Gerd Moellmann <gerd@gnu.org>
5376
52283633 5377 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5378 buffer's text buffer is null, map new memory.
5379
0a58f946
GM
5380 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5381 POINTER_TYPE and size_t.
5382 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5383 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5384 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5385 [REL_ALLOC_MMAP]: New macros.
5386 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5387 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5388 [REL_ALLOC_MMAP]: New functions.
5389
5390 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5391 before and after unexec.
5392
5393 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5394 text buffers if necessary.
5395
5396 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5397 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5398 in prototypes.
5399
fa0b693c
GM
5400 * config.in (HAVE_MMAP): Add #undef.
5401
877055f6
GM
54022000-09-05 Gerd Moellmann <gerd@gnu.org>
5403
08ba3862
GM
5404 * frame.c (Qdisplay_type): New variable.
5405 (syms_of_frame_1): Initialize it.
5406 (Fframe_parameter): New function that avoids consing.
5407 (syms_of_frame): Defsubr it.
5408
66ffe51c
GM
5409 * buffer.c (Fother_buffer): Consider buffers as invisible when
5410 they are displayed in a window on an invisible frame.
5411
877055f6
GM
5412 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5413 get-largest-window always return nil.
5414
bb970e67
GM
54152000-09-04 Gerd Moellmann <gerd@gnu.org>
5416
5417 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5418 variable; recognize Emacs 19 elc files.
5419
7a3d0e0e
MB
54202000-09-04 Miles Bader <miles@gnu.org>
5421
5422 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5423 before initially popping up the menu, so the menu doesn't flash
52283633 5424 when the face settings are significantly different from the defaults.
7a3d0e0e 5425
14473664
SM
54262000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5427
5428 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5429 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5430 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5431 (BIT_UNIBYTE): Remove.
5432 (re_match_2_internal): Delete corresponding code and streamline the
5433 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5434 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5435 (re_wctype_t): New type.
5436 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5437 (regex_compile): Use them and fix handling of overly long char classes.
5438
c1174479
AI
54392000-09-03 Andrew Innes <andrewi@gnu.org>
5440
f8803e97
AI
5441 * makefile.w32-in: Change to DOS line endings.
5442
c1174479
AI
5443 * s/ms-w32.h (ORDINARY_LINK): New define.
5444
5445 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5446 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5447
5448 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5449 (distclean): Delete them here instead.
5450
44ef7cf6
AI
5451 * w32proc.c (compare_env): Convert to uppercase for comparison,
5452 not lowercase, to match how the native Windows shell works.
5453
49b3bd82
JR
54542000-09-03 Jason Rumney <jasonr@gnu.org>
5455
5456 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5457 CVS changes the line-ends when checking in/out on DOS/Windows.
5458
5459 * makefile.nt (emacs): Do not change directory to run temacs, as
5460 the load-path is set relative to current directory.
5461
a3d35a39
MB
54622000-09-03 Miles Bader <miles@gnu.org>
5463
5464 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5465
d276b0cf
GM
54662000-09-02 Gerd Moellmann <gerd@gnu.org>
5467
715e84c9
GM
5468 * xdisp.c (redisplay_mode_lines): New function.
5469 (display_mode_lines): Return number of mode lines displayed.
5470 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5471 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5472
8892f40b
GM
5473 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5474 string.h and strings.h.
5475 (index) [HAVE_INDEX]: Add prototype.
5476
d276b0cf
GM
5477 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5478 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5479
5480 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5481 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5482
38404229
GM
54832000-09-01 Gerd Moellmann <gerd@gnu.org>
5484
5485 * lread.c (read1): Accept `?' as symbol constituent, for
5486 compatiblity with XEmacs.
5487
c0f9ea08
SM
54882000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5489
5490 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5491 (struct re_pattern_buffer): Remove newline_anchor.
5492 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5493 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5494 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5495 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5496 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5497 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5498 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5499 Get rid of references to newline_anchor.
5500 (regcomp): Allocate and precompute a fastmap.
5501
8c0f83fe
GM
55022000-08-31 Gerd Moellmann <gerd@gnu.org>
5503
5504 * lread.c (openp): GCPRO local variable `filename'.
5505
4bb91c68
SM
55062000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5507
5508 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5509
5510 * regex.c: Merge some changes from GNU libc. Add prototypes.
5511 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5512 Use memcmp and memcpy instead of bcopy and bcmp.
5513 (init_syntax_once): Use ISALNUM.
5514 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5515 (REG_UNSET_VALUE): Remove. Use NULL instead.
5516 (REG_UNSET, re_match_2_internal): Use NULL.
5517 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5518 New macros.
5519 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5520 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5521 (regex_compile): In handle_interval, return an error rather than try to
5522 unfetch the interval if we can't find the closing brace.
5523 Obey the RE_NO_GNU_OPS syntax bit.
5524 (TOLOWER): New macro.
5525 (regcomp): Use it.
5526 (regexec): Allocate regs.start and regs.end as one block.
5527
5226a931
GM
55282000-08-30 Gerd Moellmann <gerd@gnu.org>
5529
868dd24b
GM
5530 * xdisp.c (echo_area_display): Check display_completed instead
5531 of calling detect_input_pending.
5532
5533 * dispnew.c (update_frame): Only set display_completed here; move
5534 the update_begin and update_end calls here from update_frame_1.
5535 (update_frame_1): Don't set display_completed here, don't call
5536 update_begin/update_end.
5537
5226a931
GM
5538 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5539 instead of store_frame_param.
5540
2a8bd25f
GM
55412000-08-29 Gerd Moellmann <gerd@gnu.org>
5542
5543 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5544 desired window matrix hasn't been displayed, use the current row
5545 instead. Make sure that only those frame rows are updated for
5546 which there exists a corresponding enabled desired row.
52283633 5547
ba3478d9
MB
55482000-08-29 Miles Bader <miles@gnu.org>
5549
5550 * xfaces.c (default_face_vector): New function.
5551 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5552
87d0f685
GM
55532000-08-29 Gerd Moellmann <gerd@gnu.org>
5554
5555 * lread.c (openp): Prevent temporary string passed to
5556 Ffile_readable_p from being garbage collected.
5557
6fa86045
DL
55582000-08-28 Dave Love <fx@gnu.org>
5559
5560 * keymap.c (store_in_keymap): Add `static' to declaration.
5561
bb17930d
GM
55622000-08-28 Gerd Moellmann <gerd@gnu.org>
5563
5564 * emacs.c, callint.c, doc.c, editfns.c
5565 (toplevel) [HAVE_STRING_H]: Include string.h.
5566 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5567 (index): Remove prototypes which might conflict with non-standard
5568 definitions of index/strchr.
5569
5570 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5571 (rindex): Define only if !HAVE_RINDEX.
5572
5573 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5574
5575 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5576
87188200
MB
55772000-08-28 Miles Bader <miles@gnu.org>
5578
5579 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5580 made inconsistent by a font-related attribute in FROM.
5581 (merge_face_inheritance): Add function comment.
5582
41a68aef
KH
55832000-08-28 Kenichi Handa <handa@etl.go.jp>
5584
5585 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5586 the 4th arg (PREV_EVENT) Qt to suppress input method.
5587
f7c436c1
SM
55882000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5589
0b32bf0e
SM
5590 * regex.c: Indent cpp directives and remove parens after `defined'.
5591 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5592 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5593 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5594 (re_compile_pattern): Use size_t for length.
5595 (init_syntax_once): Move to a better place.
5596 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5597 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5598
f7c436c1
SM
5599 * syntax.c (back_comment): Detect cases where a comment-starter is
5600 actually inside another comment as in: /* a // b */ c // d \n.
5601 Make it clear that `comstart_pos' is unused for nested comments.
5602
5603 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5604 (KEYMAPP): New macro.
5605 (Fkeymap_parent, Fset_keymap_parent): Use it.
5606 (fix_submap_inheritance): Mark it static.
5607 (define_as_prefix, describe_buffer_bindings, describe_command)
5608 (describe_translation, describe_map): Complete prototypes.
5609
5610 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5611
5612 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5613 to better match the key-lookup behavior.
5614
6288c62f
GM
56152000-08-27 Gerd Moellmann <gerd@gnu.org>
5616
5617 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5618 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5619
e931344e
EZ
56202000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5621
5622 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5623 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5624 (xterm.o): Depend on coding.h
5625
d10dfeef
KH
56262000-08-26 Kenichi Handa <handa@etl.go.jp>
5627
5628 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5629 the corresponding '#endif'.
5630
2d73e8d3
MB
56312000-08-26 Miles Bader <miles@gnu.org>
5632
5633 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5634 * xfaces.c (QCinherit): New variable.
5635 (syms_of_xfaces): Initialize it.
5636 (LFACE_INHERIT): New macro.
5637 (Finternal_get_lisp_face_attribute)
52283633 5638 (merge_face_vector_with_property)
2d73e8d3
MB
5639 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5640 (check_lface_attrs): Allow new types of face height. Check
5641 inherit attribute.
5642 (CYCLE_CHECK): New macro.
5643 (merge_face_inheritance): New function.
5644 (merge_face_vectors): Merge inherited faces too. Add F and
5645 CYCLE_CHECK arguments.
5646 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5647 (lookup_named_face, lookup_derived_face, realize_named_face)
5648 (face_at_string_position, face_at_buffer_position): Supply
5649 new F and CYCLE_CHECK arguments to merge_face_vectors.
5650 (merge_face_heights): New function.
52283633 5651 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5652 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5653 handle relative face heights.
5654 (lface_same_font_attributes_p): Compare heights using EQ.
5655
6ce974d4
KH
56562000-08-26 Kenichi Handa <handa@etl.go.jp>
5657
5658 * charset.c (char_to_string): Check the character validity.
52283633 5659 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5660
dc1e502d
SM
56612000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5662
5663 * regex.c (PUSH_FAILURE_COUNT): New macro.
5664 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5665 Handle popping of a register's or a counter's data.
5666 (POP_FAILURE_POINT): Use the new name.
5667 (re_match_2_internal): Push counter data on the stack for succeed_n,
5668 jump_n and set_number_at and remove misleading dead code in succeed_n.
5669
bd9d0f3f
GM
56702000-08-25 Gerd Moellmann <gerd@gnu.org>
5671
5672 * xdisp.c (redisplay_internal): If considering all windows on all
5673 frames, update the display for each frame as soon as possible,
5674 instead of first building all desired matrices for all frames, and
5675 then updating them all.
5676 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5677
aa5b8e15
GM
56782000-08-24 Gerd Moellmann <gerd@gnu.org>
5679
17494071
GM
5680 * bytecode.c (mark_byte_stack): Add a comment.
5681
52283633
SM
5682 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5683 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5684 a graphical frame.
5685
c543db81
KH
56862000-08-24 Kenichi Handa <handa@etl.go.jp>
5687
d246d5f5
KH
5688 * minibuf.c (do_completion): Always use compare-string, not
5689 string-equal because the latter doesn't pay attention to
5690 multibyteness of strings.
5691
c543db81
KH
5692 * process.c (create_process): Don't setup raw-text coding here.
5693 (Fopen_network_stream): Don't set coding->src_multibyte and
5694 coding->dst_multibyte here.
5695 (read_process_output): For process filter, return unibyte string
5696 if default-enable-multibyte-characters is nil.
5697 (send_process): If OBJECT is multibyte text, be sure to encoded it
5698 by the specified coding system for the process. Otherwise, setup
5699 raw-text coding.
52283633 5700 (init_process): Don't initialize default-process-coding-system here.
c543db81 5701
9b47cfe0
EZ
57022000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5703
5704 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5705 <scroll-down-aggressively>: Likewise.
5706
f5a36960
KH
57072000-08-23 Kenichi Handa <handa@etl.go.jp>
5708
5709 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5710 zero. Set coding->produced_char correctly.
5711
69a7ffa7
AI
57122000-08-22 Andrew Innes <andrewi@gnu.org>
5713
5714 * makefile.w32-in: New file.
5715
5716 * unexw32.c (unexec): Ignore old_name, and use the actual location
5717 of the current executable instead. Base new_name on this.
5718
5719 * w32proc.c (create_child): Remove reference to security
5720 descriptor, which isn't needed and doesn't compile with mingw32.
5721
5722 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5723 up dllimport attributes.
5724 (x_update_window_end): Update prototype.
5725
5726 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5727 extern, which screws up dllimport attributes.
5728
5729 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5730 up dllimport attributes.
5731
5732 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5733 screws up dllimport attributes.
5734
5735 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5736 up dllimport attributes.
5737 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5738 screws up dllimport attributes.
5739
5740 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5741 up dllimport attributes.
5742
5743 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5744 screws up dllimport attributes.
5745
5746 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5747 screws up dllimport attributes.
5748
5749 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5750 up dllimport attributes.
5751
5752 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5753 unnecessary extern, which screws up dllimport attributes.
5754 (main): Ditto.
5755
5756 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5757 up dllimport attributes.
5758
5759 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5760 unnecessary extern, which screws up dllimport attributes.
5761
5762 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5763 screws up dllimport attributes.
5764
5765 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5766 up dllimport attributes.
5767
5768 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5769
52283633
SM
5770 * w32bdf.c (search_file_line):
5771 (set_bdf_font_info):
5772 (seek_char):
5773 (w32_get_bdf_glyph):
69a7ffa7
AI
5774 (w32_BDF_to_x_font): Fix compile warnings.
5775
52283633 5776 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5777
5778 * w32select.c: Include keyboard.h before frame.h.
5779
5780 * w32fns.c (max): Define macro.
5781 (JOHAB_CHARSET): Define if not known.
5782 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5783 (Fx_show_tip): Synch with X version.
5784
5785 * w32xfns.c: Include keyboard.h before frame.h.
5786
5787 * w32fns.c: Include keyboard.h before frame.h.
5788
5789 * w32term.c: Include keyboard.h before frame.h.
5790
5791 * fontset.c: Include keyboard.h before frame.h.
5792
5793 * w32inevt.c: Include keyboard.h before frame.h.
5794 (MOUSE_MOVED): Define if not known.
5795
5796 * minibuf.c: Include keyboard.h before frame.h.
5797
5798 * keyboard.c: Include keyboard.h before frame.h.
5799
5800 * indent.c: Include keyboard.h before frame.h.
5801
5802 * dispnew.c: Include keyboard.h before frame.h.
5803
5804 * buffer.c: Include keyboard.h before frame.h.
5805
5806 * alloc.c: Include keyboard.h before frame.h.
5807
5808 * print.c: Include keyboard.h before frame.h.
5809
5810 * process.c: Include keyboard.h before frame.h.
5811
5812 * scroll.c: Include keyboard.h before frame.h.
5813
5814 * sysdep.c: Include keyboard.h before frame.h.
5815
5816 * term.c: Include keyboard.h before frame.h.
5817
5818 * window.c: Include keyboard.h before frame.h.
5819
5820 * xdisp.c: Include keyboard.h before frame.h.
5821 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5822
5823 * frame.c: Include keyboard.h before frame.h.
5824
5825 * w32heap.h: Undefine min, max.
5826
5827 * w32gui.h: Undefine min, max.
5828
5829 * unexw32.c: Change PUCHAR to PCHAR.
5830 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5831 (relocate_offset):
5832 (get_section_info):
69a7ffa7
AI
5833 (copy_executable_and_dump_data): Remove unnecessary static defs.
5834 (copy_executable_and_dump_data): Fix compile warnings.
5835
5836 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5837
5838 * w32console.c (min): Define macro.
5839 (clear_frame, write_glyphs): Fix compile warning.
5840
52283633 5841 * w32proc.c (compare_env):
69a7ffa7
AI
5842 (find_child_console): Fix compile warning.
5843
5844 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5845 sys_errlist instead of _sys_errlist.
5846 (get_emacs_configuration_options): New function.
5847
5848 * s/ms-w32.h (sys_nerr): Provide default definition.
5849 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5850 name with _ prepended.
5851 (NSIG): Define if not known.
5852 (get_emacs_configuration): Provide extern declaration.
5853 (get_emacs_configuration_options): Provide extern declaration.
5854 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5855
5856 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5857 (map_w32_filename):
69a7ffa7
AI
5858 (read_unc_volume): Fix compile warning.
5859
5860 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5861 definitions from being used.
5862
5863 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5864
52283633 5865 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5866 (open_unc_volume): Make arg const.
5867
5868 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5869 (read_input_waiting): Remove excess parameter.
5870
5871 * w32.c (init_environment): Call _access.
5872 (check_windows_init_file): Call _close.
5873 (init_user_info): Call _putenv.
5874 (init_environment): Call _putenv and _strdup.
5875 (init_ntproc): Reset volume info cache on startup.
5876
5877 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5878 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5879 cannot override the CRT malloc.
5880
5881 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5882 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5883
5884 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5885 unless we are linking with a static CRT.
5886 (RVA_TO_PTR): Cast result to unsigned char*.
5887
5888 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5889 (add_volume_info): Use xstrdup.
5890
25060080
SM
58912000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5892
5893 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5894 (do_completion, Fminibuffer_complete_word): Use it.
5895 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5896 var so it can take non-boolean values.
5897
6917e6bb
GM
58982000-08-21 Gerd Moellmann <gerd@gnu.org>
5899
acb7cc89 5900 * editfns.c (find_field): Formatting changes.
52283633 5901 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5902 changed to prototypes, some new protypes added, some functions
5903 made static.
5904
5905 * lisp.h (set_time_zone_rule): Add prototype.
5906 (use_dialog_box): External declaration.
5907
0bbfdc25
GM
5908 * keyboard.c (gen_help_event): Add parameter SIZE.
5909 (kbd_buffer_events_waiting): Slightly rewritten.
5910 (clear_event): New function.
5911 (kbd_buffer_get_event): Use it, and clear the input_events of
5912 HELP_EVENTs.
5913 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5914 don't fill the newly created array with nils.
5915 (toplevel): Convert some old-style function forward declarations
5916 to prototypes.
5917
5918 * keyboard.h (gen_help_event): Change prototype.
5919
5920 * xterm.c (XTread_socket): Change calls to gen_help_event.
5921
5922 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5923
6917e6bb
GM
5924 * eval.c (Fmacroexpand): Doc fix.
5925
e5cd3d11
JR
59262000-08-20 Jason Rumney <jasonr@gnu.org>
5927
5928 * w32term.h (x_display_info_for_display): Remove as this function
5929 does not exist on W32.
5930
5931 * w32term.c (help_echo_window): New variable.
5932 (syms_of_w32term): staticpro it.
5933 (note_mode_line_highlight): Set it.
5934 (XTextExtents16): Removed as there is no equivalent on W32.
5935 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5936 the X way of doing this will not work for W32.
5937 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5938 (x_draw_image_foreground): Avoid drawing outside of the clip area
5939 when image doesn't have a mask.
5940 (note_mouse_highlight): Process overlays in the right order of
5941 priority. Set help_echo_window.
5942 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5943 because that's more visible for large images.
5944
5945 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5946 name to single_keymap_panes.
5947 (w32_menu_show): Set wv->title when dealing with titles.
5948 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5949
6e69ab8c
MB
59502000-08-21 Miles Bader <miles@gnu.org>
5951
5952 * minibuf.c (do_completion): Try again if we rewrite the input
5953 string, but no completion was done, so that any completion message
5954 will be correct.
5955
511bd4eb
GM
59562000-08-20 Gerd Moellmann <gerd@gnu.org>
5957
5958 * xfaces.c (lface_equal_p): Compare strings differently.
5959 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5960 (realize_tty_face): Use them.
5961 (syms_of_xfaces): Initialize new variables.
5962 (map_tty_color): New function, extracted from realize_tty_face.
5963 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5964 foreground or background color, store the new color name in the
5965 realized face; previous code trying to do this had no effect.
5966 (realize_tty_face): Use map_tty_color.
5967 (Fclear_face_cache): Set face_change_count and ensure thorough
5968 redisplay.
5969
1433385f
GM
59702000-08-19 Gerd Moellmann <gerd@gnu.org>
5971
511bd4eb
GM
5972 * undo.c (record_first_change, record_marker_adjustment): Don't
5973 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5974
419ac0a2
KH
59752000-08-18 Kenichi Handa <handa@etl.go.jp>
5976
5977 * coding.c (decode_coding_string): Set members consumed,
5978 consumed_char, produced, produced_char of *coding correctly. If
5979 decode_coding doesn't consume any byte, don't try anymore.
5980 (encode_coding_string): Likewise.
5981
7eb9e30d
GM
59822000-08-18 Gerd Moellmann <gerd@gnu.org>
5983
511bd4eb
GM
5984 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5985 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5986
5987 * xdisp.c (redisplay_internal): Compare windows for equality with
5988 EQ, instead of applying XWINDOW to something that might not
5989 be a window.
52283633 5990
dd34a735
KH
59912000-08-18 Kenichi Handa <handa@etl.go.jp>
5992
5993 * fontset.c (Finternal_char_font): Search only the selected frame
5994 for a window of the current buffer.
5995
385ff9e3
GM
59962000-08-18 Gerd Moellmann <gerd@gnu.org>
5997
511bd4eb 5998 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5999 Lisp_Objects.
6000
385ff9e3
GM
6001 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6002 second half of a HELP_EVENT is found at the start of kbd_buffer.
6003
d6abb4c7
MB
60042000-08-18 Miles Bader <miles@gnu.org>
6005
4618074a
MB
6006 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6007
d6abb4c7
MB
6008 * editfns.c (save_restriction_save): Rewrite to use markers.
6009 (save_restriction_restore): Rewrite to understand new form of data
6010 saved by save_restriction_save.
6011 (Fsave_restriction): Remove cautionary note in doc-string.
6012
a7b28523
GM
60132000-08-17 Gerd Moellmann <gerd@gnu.org>
6014
6015 * fileio.c (build_annotations): Add a comment explaining the
6016 return value of format-annotate-function. Replace a spurious call
6017 to Flength with a CONSP test. Call format-annotate-function with
6018 a fifth arg specifying how many times the function is been called
6019 in a row, to let it choose temporary buffers appropriately.
6020
03c9ed77
DL
60212000-08-17 Dave Love <fx@gnu.org>
6022
6023 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6024 declare make_temp_name twice.
6025
52283633 6026 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6027 (unreadpure): Give it an arg.
6028
6029 * unexalpha.c: Prototype fatal_unexec, mark_x,
6030 update_dynamic_symbols. Declare unexec as void.
6031
6032 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6033 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6034
6035 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6036 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6037
6038 * alloca.c: Use #error.
6039 [POINTER_TYPE]: Use it.
6040
6041 * eval.c (Fdefvar): Doc fix.
6042
6043 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6044 INITIALIZE_INTERVAL.
6045
6046 * buffer.h: Avoid DECLARE_INTERVALS.
6047
6048 * config.in: Add size_t.
6049
aae41d97
EZ
60502000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6051
6052 * w16select.c (set_clipboard_data): If there's not enough memory
6053 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6054 expects. In case of other failures, return 3.
6055 (system_error_msg): New error message.
6056 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6057 system_error_msg.
6058
65aa5e85
GM
60592000-08-16 Gerd Moellmann <gerd@gnu.org>
6060
6061 * term.c (write_glyphs): Also turn off inverse video after turning
6062 off other appearances in case TS_exit_attribute_mode is not equal
6063 to TS_end_standout_mode.
6064 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6065 with the same face.
6066 (turn_off_face): Reset standout_mode only if
6067 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6068 is equal to TS_end_standout_mode.
6069
ece23901
KH
60702000-08-16 Kenichi Handa <handa@etl.go.jp>
6071
9d7bcb2e
KH
6072 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6073 sequence at the end of the source block.
6074
ece23901
KH
6075 * ccl.c (Fccl_program_p): Docstring modified.
6076 (Fccl_execute): Likewise.
6077 (Fccl_execute_on_string): Likewise.
6078
5e30eaa2
EZ
60792000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6080
6081 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6082
290602fd
KH
60832000-08-16 Kenichi Handa <handa@etl.go.jp>
6084
6085 The following changes are mainly to fix bugs of
6086 encode/decode-coding-string failing if encoding/decoding return
6087 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6088 variable conversion_buffer.
6089
6090 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6091 decrement dst_end to avoid buffer overflow in the later call of
6092 string_as_multibyte
6093
6094 * coding.h (conversion_buffer_size, conversion_buffer)
6095 (get_conversion_buffer): Extern deleted.
6096
6097 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6098 (conversion_buffer, conversion_buffer_size): Variables deleted.
6099 (get_conversion_buffer): Function deleted.
6100 (struct conversion_buffer): New structure.
6101 (MAX_ALLOCA): New macro.
6102 (allocate_conversion_buffer): New macro.
6103 (extend_conversion_buffer, free_conversion_buffer): New functions.
6104 (ccl_coding_driver): Set coding->result.
6105 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6106 this is the last block of source.
6107 (encode_coding): Likewise. Handle the source block as the last
6108 one only when the whole source text is consumed.
6109 (decode_coding_string): Handle the case that the output buffer is
6110 too small to decode the whole source text. Use
6111 allocate_conversion_buffer, extend_conversion_buffer and
6112 free_conversion_buffer, not get_conversion_buffer.
6113 (encode_coding_string): Likewise.
6114 (init_coding): Function deleted.
52283633 6115 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6116
6117 * emacs.c (main): Don't call init_coding.
6118
52283633 6119 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6120
6121 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6122 (insert_glyphs): Likewise.
6123
6124 * w32console.c (write_glyphs): Use a locally declared
6125 conversion_buffer.
6126
b9f80d41
EZ
61272000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6128
6129 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6130 member of display_info is NULL.
6131
32dc52f7
GM
61322000-08-15 Gerd Moellmann <gerd@gnu.org>
6133
52283633 6134 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6135
32dc52f7 6136 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6137 appearances with capability `me'.
32dc52f7
GM
6138 (write_glyphs): Switch on inverse video before each face change.
6139
4eb22d33
DL
61402000-08-14 Dave Love <fx@gnu.org>
6141
6142 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6143 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6144 (lisp_free): Declare and make static.
6145
6146 * window.c: Fix embedded comment.
6147 (syms_of_window): Fix doc string.
6148
90cbf47e
GM
61492000-08-14 Gerd Moellmann <gerd@gnu.org>
6150
52283633 6151 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6152 make sure to print `C-' before `M-', like in the manual.
6153
440fc135
GM
61542000-08-11 Gerd Moellmann <gerd@gnu.org>
6155
6156 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6157 since they aren't relocated anymore.
52283633 6158 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6159
6160 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6161 partially visible line which is smaller than the window's height.
440fc135 6162
6e264fad
KH
61632000-08-11 Kenichi Handa <handa@etl.go.jp>
6164
6165 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6166 the multibyte form of eight-bit-control characters.
6e264fad
KH
6167 (Fccl_execute_on_string): Initialize ccl->multibyte.
6168
6169 * ccl.h (struct ccl_program): New member multibyte.
6170
6171 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6172
c371f69a
KH
61732000-08-11 Kenichi Handa <handa@etl.go.jp>
6174
6175 * regex.c (regex_compile) <normal_char>: Pay attention to
6176 multibyteness.
6177 (analyse_first) <exactn>: Setup fastmap correctly for
6178 eight-bit-control characters.
6179
61802000-08-11 Kenichi Handa <handa@etl.go.jp>
6181
52283633 6182 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6183
6184 * keyboard.c (make_lispy_event): Handle the new event type
6185 multibyte_char_keystroke.
6186
6187 * xterm.c: Include coding.h.
6188 (XTread_socket): Work around a bug of XmbLookupString. If the
6189 input is from XIM, decode it according to the current locale. In
6190 that case, generate multibyte_char_keystroke events.
6191
b8ddbe71
KH
61922000-08-11 Kenichi Handa <handa@etl.go.jp>
6193
6194 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6195 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6196
47589c8c
GM
61972000-08-10 Gerd Moellmann <gerd@gnu.org>
6198
6199 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6200 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6201 (move_it_in_display_line_to): Record iterator's ascent and descent
6202 before producing glyphs, and restore them when we know the glyph
6203 doesn't fit on the line.
6204 (move_it_to): Restructured so that it's easier to debug. If
6205 moving to a vpos, and not moving to an x or character position,
6206 stop as soon as the specified vpos is reached; don't move further
6207 into that line because that might change the computed line height.
6208 (try_cursor_movement): New function, extracted from the cursor
6209 movement branch of redisplay_window. If ending on a partially
6210 visible line, don't try to scroll if the cursor line is taller
6211 than the window.
6212 (redisplay_window): Use try_cursor_movement.
6213
6214 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6215 because that function doesn't cope with variable-height lines.
6216
6217 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6218 box cursor because that's better visible for large images.
52283633 6219
c51bacd6
MB
62202000-08-10 Miles Bader <miles@gnu.org>
6221
6222 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6223
bea56df7
GM
62242000-08-10 Gerd Moellmann <gerd@gnu.org>
6225
6226 * xdisp.c (Vmessages_buffer_name): New variable.
6227 (message_dolog): Use it.
6228 (syms_of_xdisp): Initialize it.
6229
99cd7364
EZ
62302000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6231
52283633 6232 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6233 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6234 redundant now that keyboard.h is included.
6235
7d093d56
EZ
62362000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6237
6238 * keyboard.c (kbd_buffer_events_waiting): New function.
6239
6240 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6241
6242 * msdos.c: Include keyboard.h.
6243 (XMenuActivate): Empty no_event events from the event buffer. If
6244 no events are left after that, call clear_input_pending.
6245 (mouse_clear_clicks): New function, code moved from mouse_init.
6246 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6247 mouse driver to ``forget'' any past clicks.
6248
6249 * Makefile.in (msdos.o): Depend on keyboard.h.
6250
41e757a6
GM
62512000-08-09 Gerd Moellmann <gerd@gnu.org>
6252
8e7bd231
GM
6253 * lisp.h (input_pending): External declaration.
6254
6255 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6256
8e7bd231
GM
6257 * xdisp.c (echo_area_display): Display thoroughly if input is
6258 pending. Bind redisplay-dont-pause to t during the redisplay.
6259 in case input is pending.
6260
6261 * dispnew.c (Qredisplay_dont_pause): New variable.
6262 (syms_of_display): Initialize and staticpro it.
6263 (update_frame_1): Don't interrupt the display for pending input if
6264 redisplay_dont_pause is set.
52283633 6265
43028b7e
GM
6266 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6267
41e757a6
GM
6268 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6269
2f2174fa
KH
62702000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6271
6272 * callproc.c (Fcall_process): Terminate the unwind-protect around
6273 the post-read-conversion of coding system.
6274
0a6fd67e
MB
6275 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6276 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6277 * buffer.h (overlays_at): Update prototype.
6278 * xdisp.c (next_overlay_change): Update call to overlays_at.
6279 * xfaces.c (face_at_buffer_position): Likewise.
6280 * textprop.c (Fget_char_property): Likewise.
6281 * xterm.c (note_mouse_highlight): Likewise.
6282
0c80756e
MB
6283 * minibuf.c (do_completion): Don't consider a simple change of
6284 case as `completion'.
6285
975f250a
KR
62862000-08-08 Ken Raeburn <raeburn@gnu.org>
6287
52283633 6288 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6289 * undo.c (record_delete): Make sure last_point_position_buffer is
6290 a buffer before comparing pointers.
6291
6292 * coding.h (decode_coding_string): Declare.
6293
6294 * intervals.h (Fprevious_single_char_property_change): Declare.
6295
6296 * textprop.c (Fprevious_single_char_property_change): Don't do
6297 arithmetic directly on lisp objects.
6298
52283633 6299 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6300
6301 * keyboard.h (menu_item_eval_property): Declare.
6302
6303 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6304 reuse as buffer name, instead of recreating (and discarding) every
6305 time a message is logged.
6306 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6307 (current_message_1, truncate_message_1, set_message_1)
6308 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6309 (current_message, truncate_echo_area, display_echo_area)
6310 (resize_echo_area_axactly): Changed calls.
b347b3fd 6311
975f250a 6312 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6313 Lisp object.
975f250a 6314 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6315 must be an integer, not a Lisp object.
975f250a 6316
46dc9912
KH
63172000-08-08 Kenichi Handa <handa@etl.go.jp>
6318
6319 * charset.c (Fchar_width): Doc fix.
6320
9f6d1a6c
GM
63212000-08-08 Gerd Moellmann <gerd@gnu.org>
6322
6323 * charset.c (Fstring_width): Doc fix.
6324
ff3d9573
GM
63252000-08-07 Gerd Moellmann <gerd@gnu.org>
6326
41e757a6 6327 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6328 line, clear ascent and descent members of the iterator structure;
6329 the height of the continued line does not affect the height of the
6330 continuation line.
6331 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6332 line taller than the window.
6333 (redisplay_window) <forced window start>: Handle case that the
6334 middle of the window is not found in any row.
6335 (dump_glyph_row): Show more information.
6336 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6337 first text line in a glyph matrix.
6338
6339 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6340 of the clip area when image doesn't have a mask.
6341
70fc58b3
GM
6342 * fns.c (sweep_weak_table): Fix survival conditions for
6343 key-or-value and key-and-value weakness.
6344
6345 * .gdbinit (xhashtable): New command.
6346
ac0e96ee
GM
6347 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6348 tables out of the list of all weak hash tables.
6349
ff3d9573
GM
6350 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6351 a new buffer is created, make sure echo_area_buffer[] references
6352 the new buffer.
6353
e0d8827b
EZ
63542000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6355
6356 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6357 the doc string.
6358
c6f35378
KH
63592000-08-07 Kenichi Handa <handa@etl.go.jp>
6360
6361 * syntax.c (skip_chars): Fix previous change. Make the handling
6362 of unibyte string consistent with that of regex search.
6363
1fd4c450
GM
63642000-08-05 Gerd Moellmann <gerd@gnu.org>
6365
e49aa397
GM
6366 * xmenu.c (popup_get_selection): Use xfree instead of free.
6367
6368 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6369
6370 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6371
6372 * callproc.c (child_setup): Use xfree instead of free.
6373
6374 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6375 instead of malloc.
6376 (run_mac_command, closedir): Use `xfree' instead of `free'.
6377
6378 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6379
6380 * eval.c (error): Use xfree instead of free.
6381
1fd4c450
GM
6382 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6383
6384 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6385 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6386
82d497fc
KH
63872000-08-05 Kenichi Handa <handa@etl.go.jp>
6388
6389 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6390 conversion.
6391
59f953a2
NF
63922000-08-04 Noah Friedman <friedman@splode.com>
6393
6394 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6395 docstring.
6396
688351f2
GM
63972000-08-04 Gerd Moellmann <gerd@gnu.org>
6398
6399 * syntax.c (skip_chars): Fix typo in error message.
6400
2dad51cc
AS
64012000-08-04 Andreas Schwab <schwab@suse.de>
6402
6403 * m/ia64.h: Moved from s/ia64.h.
6404
99bb2c60
KH
64052000-08-04 Kenichi Handa <handa@etl.go.jp>
6406
082a1df2
KH
6407 * process.c (read_process_output): Big simplification. Handle
6408 composition and post-read-conversion of coding system correctly.
6409 (send_process): Handle composition correctly.
6410
6411 * callproc.c (Fcall_process): Handle post-read-conversion of
6412 coding system if any.
6413
99bb2c60
KH
6414 * coding.c (decode_coding_iso2022): More strict check for handling
6415 single shifting.
082a1df2
KH
6416 (coding_restore_composition): Pay attention to the case that
6417 cmp_data is not set properly (because of invalid code in the
6418 source text).
6419 (run_pre_post_conversion_on_str): Include text properties in the
6420 resulting string.
6421 (decode_coding_string): Set members of coding correctly.
99bb2c60 6422
f4988be7
GM
64232000-08-03 Gerd Moellmann <gerd@gnu.org>
6424
6425 * s/ia64.h: New file.
6426
6427 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6428 Use NULL instead of 0 at the end of variable argument list of
6429 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6430 sizeof (int) < sizeof (void *).
6431
6432 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6433 of variable argument lists of XtVaGetValues and XtVaSetValues.
6434
6435 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6436 variable argument lists of XtVaGetValues and XtVaSetValues.
6437
ead53494
GM
64382000-08-02 Gerd Moellmann <gerd@gnu.org>
6439
6440 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6441 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6442
6443 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6444 prototype.
6445
6446 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6447 in call to Fsingle_key_description.
6448
6449 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6450 Callers changed.
6451
64522000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6453
6454 * window.c (display_buffer_reuse_frames): New variable.
6455 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6456 frames displaying BUFFER.
52283633 6457 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6458
10b0f752
MB
64592000-08-01 Miles Bader <miles@gnu.org>
6460
6461 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6462 when to constrain NEW_POS (they were pretty screwed up before).
6463
16425c4a
EZ
64642000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6465
6466 * msdos.c (run_msdos_command): Save and restore the master
6467 environment, for the case that child_setup signals an error.
6468 When mirroring slashes in DOS shell commands, don't fail when
6469 argv[2] has embedded blanks.
da288c14
EZ
6470 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6471 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6472 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6473
6474 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6475 using alloca; free it after run_msdos_command returns.
6476
27f73852
DL
64772000-07-27 Dave Love <fx@gnu.org>
6478
52283633
SM
6479 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6480 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6481
6482 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6483
c0261b5e
EZ
64842000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6485
6486 * editfns.c (lisp_time_argument): Fix last change.
6487
b548072f
GM
64882000-07-27 Gerd Moellmann <gerd@gnu.org>
6489
3ab82477
GM
6490 * fns.c (Fdelete): Make it work on vectors and strings in addition
6491 to lists.
6492
b548072f
GM
6493 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6494 (syms_of_fns): Initialize new variables.
52283633 6495 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6496 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6497 weakness, with t meaning the same as `key-and-value'.
6498
91ae8751
KH
64992000-07-27 Kenichi Handa <handa@etl.go.jp>
6500
6501 * coding.h (struct coding_system): Member safe_charset deleted.
6502
6503 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6504 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6505 New variables.
91ae8751
KH
6506 (coding_safe_chars): New function.
6507 (CODING_SAFE_CHAR_P): New macro.
6508 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6509 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6510 (detect_coding_iso2022): New local variable safe_chars.
6511 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6512 safe_charsets member of the coding system.
6513 (decode_coding_iso2022): New local variable safe_chars.
6514 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6515 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6516 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6517 (ENCODE_UNSAFE_CHARACTER): New macro.
6518 (encode_coding_iso2022): New local variable safe_chars. Check
6519 unsafe chars.
6520 (setup_coding_system): Delete the code to initialize
6521 coding->safe_charses
6522 (intersection, find_safe_codings): New functions.
6523 (Ffind_coding_systems_region_internal): New function.
6524 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6525 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6526 variable and initialize it.
6527
6528 * fns.c (char_table_ref_and_index): New function.
6529
6530 * lisp.h (char_table_ref_and_index): Add prototype.
6531
34a7a267
SS
65322000-07-26 Sam Steingold <sds@gnu.org>
6533
6534 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6535 (Ffloat_time): New built-in Lisp function.
34a7a267 6536
a95cb10a
GM
65372000-07-26 Gerd Moellmann <gerd@gnu.org>
6538
3353ef5a
GM
6539 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6540 for the character code.
6541
6542 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6543 GNU/Linux.
6544
a95cb10a
GM
6545 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6546 if called for a popup menu.
6547 (xmenu_show): Store help string in widget values.
6548
b4a12321
DL
65492000-07-26 Dave Love <fx@gnu.org>
6550
6551 * syswait.h: Move some definitions.
6552 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6553 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6554 perspicuous definitions.
6555 (WTERMSIG): Fix bit pattern used.
6556
13f5ad37
KH
65572000-07-26 Kenichi Handa <handa@etl.go.jp>
6558
6559 * print.c (print_object): If vector printing is truncated, print
6560 "..." to indicate it as well as the case of list printing.
6561
070fe99c
GM
65622000-07-25 Gerd Moellmann <gerd@gnu.org>
6563
969065c3
GM
6564 * xdisp.c (next_element_from_display_vector): Improve comments.
6565
6566 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6567 for the character code, and the rest for the face id as in 20.x.
6568 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6569
6570 * window.c (window_display_table): Cleaned up.
6571
070fe99c
GM
6572 * syntax.c (Fforward_word): Add last arg nil in call of
6573 Fconstrain_to_field.
6574
bad77ef7
EZ
65752000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6576
969065c3 6577 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6578 identical but for the letter-case, don't call
6579 barf_or_query_if_file_exists.
bad77ef7 6580
c28da489
MB
65812000-07-25 Miles Bader <miles@gnu.org>
6582
6583 * editfns.c (find_field): Honor special `boundary' fields.
6584 (Qboundary): New variables.
6585 (syms_of_editfns): Initialize Qboundary.
6586 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6587 Use scan_buffer instead of find_before_next_newline, because it
6588 allows us to detect the boundary case where there's a newline at
6589 the search limit.
6590 * lisp.h (Fconstrain_to_field): Update external declaration.
6591
e3c31fd5
GM
65922000-07-24 Gerd Moellmann <gerd@gnu.org>
6593
6594 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6595 if that is nil.
c28da489 6596
c66c29a2
DL
65972000-07-24 Dave Love <fx@gnu.org>
6598
6599 * s/sunos4-0.h, s/sol2.h:
6600 (LIBS_TERMCAP): Move from m/sparc.h.
6601
6602 * m/sparc.h (TERMINFO): Moved to system files (probably only
6603 relevant for sunos4 judging by its vintage).
6604 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6605 __arch64__.
6606
fbe0a958
EZ
66072000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6608
6609 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6610 name to single_keymap_panes.
6611
7d88e5c9
AS
66122000-07-24 Andreas Schwab <schwab@suse.de>
6613
6614 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6615
e024b101
GM
66162000-07-24 Gerd Moellmann <gerd@gnu.org>
6617
6618 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6619 parameters instead of using int parameters. Expect FN to accept
6620 EMACS_INT parameters.
6621 (display_echo_area, resize_echo_area_axactly, current_message)
6622 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6623 with new argument list.
6624 (resize_mini_window_1): New callback function.
6625 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6626 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6627
25c1a9ce
KH
66282000-07-24 Kenichi Handa <handa@etl.go.jp>
6629
6630 * fontset.c (fontset_ref): Remove INLINE declaration.
6631 (fontset_ref_via_base): Likewise.
6632 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6633 to downcase.
6634
7f987ac0
EZ
66352000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6636
6637 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6638 correct order of priority. If help echo was found in an overlay,
6639 use that overlay as the object in which the help echo was found.
6640
e2db3069
MB
66412000-07-22 Miles Bader <miles@gnu.org>
6642
6643 * textprop.c (Fprevious_single_char_property_change): The initial
6644 property value should be from the position preceding POSITION, not
6645 following it.
6646
5e3203e4
EZ
66472000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6648
6649 * coding.c (syms_of_coding): Doc fix for
6650 inhibit-iso-escape-detection.
6651
62145073
GM
66522000-07-21 Gerd Moellmann <gerd@gnu.org>
6653
c20aeb83
GM
6654 * xterm.c (note_mouse_highlight): Process overlays in the right
6655 order of priority.
34a7a267 6656
743934db
GM
6657 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6658
6659 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6660 overlay, use that overlay as the object in which the help was found.
743934db 6661
d1dc7e43 6662 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6663
62145073
GM
6664 * window.c (foreach_window): Instead of a fake variable argument
6665 list, take one USER_DATA argument.
6666 (foreach_window_1): Likewise, and call callback functions with two
6667 args, the window and USER_DATA.
6668 (struct check_window_data): New struct.
6669 (check_window_containing): Use it.
6670 (window_from_coordinates): Set up a struct check_window_data for
6671 foreach_window.
6672 (add_window_to_list, freeze_window_start): Change parameters
6673 according to new calling convention.
6674
6675 * window.h (foreach_window): Change prototype.
6676
6677 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6678
66792000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6680
6681 * xmenu.c (menu_help_callback): Call show_help_echo with
6682 additional arguments OBJECT and POS.
6683
11270583
KH
66842000-07-21 Kenichi Handa <handa@etl.go.jp>
6685
07b14857
KH
6686 * data.c (Faset): Allow storing any multibyte character in a
6687 string. Convert unibyte string to multibyte if necessary.
6688
11270583
KH
6689 * xfns.c (x_encode_text): New function.
6690 (x_set_name): Use x_encode_text.
6691 (x_set_title): Likewise.
6692
6693 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6694
6695 * xterm.h (x_encode_text): Add prototype.
6696
bc75b4fd
DL
66972000-07-20 Dave Love <fx@gnu.org>
6698
6699 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6700 xfree, not free.
6701
48c14970
EZ
67022000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6703
6704 * msdos.c (help_echo_window): New variable.
6705 (syms_of_msdos): Initialize and staticpro it.
6706 (IT_note_mode_line_highlight): Set help_echo_window.
6707 (IT_note_mouse_highlight): Ditto.
6708 (dos_rawgetc): Store help_echo_window in the second event produced
6709 for HELP_EVENTs.
6710
6711 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6712 Record the object that generated the help echo and the position of
6713 that object in help_echo_object and help_echo_pos. Record that
6714 some glyphs in a row are displayed in mouse-face.
6715 (IT_update_begin): Don't clear mouse highlight unless one of the
6716 enabled glyph rows is marked as being displayed in mouse-face.
6717 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6718 and position recorded in help_echo_object and help_echo_pos to the
6719 event queue.
6720 (IT_menu_display): Accept a new argument PN: the pane number of
6721 the current menu pane. Record the pane number and the item
6722 number of the item which has associated help string.
6723 (XMenuActivate): Update the prototype for help_callback in
6724 function declaration. Call IT_menu_display with the current menu
6725 pane number as an additional argument. Call help_callback with
6726 two additional arguments: the pane number and the item number of
6727 the menu item associated with the help text.
6728 (help_echo_object, help_echo_pos): New variables.
6729 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6730
6731 * msdos.h (XMenuActivate): Update prototype.
6732
4279296d
GM
67332000-07-19 Gerd Moellmann <gerd@gnu.org>
6734
47db06aa
GM
6735 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6736 Add some more prototypes.
6737
6738 * xterm.c, xterm.h: Add some more prototypes.
6739
6740 * lisp.h (Fnext_single_char_property_change): Add prototype.
6741
6742 * dispnew.c (direct_output_for_insert): Remove confusing
6743 outer local variable mouse_face_overwritten_p.
6744 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6745
4279296d
GM
6746 * alloc.c (allocate_string_data): Don't copy old string contents.
6747
670acd62
KH
67482000-07-19 Kenichi Handa <handa@etl.go.jp>
6749
6750 * coding.c (code_convert_region): Delete text properties before
6751 shrinking the conversion region.
6752
7cea38bc
GM
67532000-07-18 Gerd Moellmann <gerd@gnu.org>
6754
dc1cac59
GM
6755 * dispnew.c (update_text_area): Write the whole row if it
6756 has mouse-face in it.
6757
85a8aca9
GM
6758 * xfaces.c (face-alternative-font-family-alist): Remove
6759 DEFVAR_LISP; staticpro instead.
6760
34a7a267 6761 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6762 new arguments.
6763
6764 * keyboard.c (show_help_echo): Add parameter WINDOW.
6765 (read_char): Call show_help_echo with window extracted from Lisp
6766 help event.
6767 (gen_help_event): Add parameter WINDOW.
6768
6769 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6770
6771 * xterm.c (help_echo_window): New variable.
52283633 6772 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6773 (XTread_socket): Pass help_echo_window to gen_help_event.
6774 (syms_of_xterm): Initialize and staticpro help_echo_window.
6775
f8276b77
DL
67762000-07-18 Dave Love <fx@gnu.org>
6777
52283633 6778 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6779
088831a6
GM
67802000-07-18 Gerd Moellmann <gerd@gnu.org>
6781
3d6cd763
GM
6782 * alloc.c (allocate_string_data): If string had already data
6783 assigned, copy old contents to new string data.
6784
6785 * coding.c (syms_of_coding): Fix typo in spelling of variable
6786 `inhibit-iso-escape-detection'.
6787
088831a6
GM
6788 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6789
6790 * Makefile.in: Add dependencies on dispextern.h.
6791 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6792 `free'; both can conflict with system header files.
6793
bc8a8d55
KH
67942000-07-18 Kenichi Handa <handa@etl.go.jp>
6795
6796 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6797 undefined.
6798
069f5950
DL
67992000-07-18 Dave Love <fx@gnu.org>
6800
6801 * window.c (Fwindow_list): Declare arg `window'.
6802
aa96c820
KH
68032000-07-18 Kenichi Handa <handa@etl.go.jp>
6804
6805 * coding.c (setup_coding_system): Don't override the explicitly
6806 specified designations.
6807
06be8d32
MB
68082000-07-15 Miles Bader <miles@gnu.org>
6809
6810 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6811 from `text_property_eq' and `text_property_stickiness', respectively.
6812 (find_field, Fconstrain_to_field, char_property_eq)
6813 (char_property_stickiness): Changed to call char-property functions
6814 instead of text-property-only ones.
6815
6816 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6817 `next_single_char_property_change'). Do more error checking, and
6818 cleanup limit behavior.
6819 (Fprevious_single_char_property_change): New function.
6820 (syms_of_textprop): Initialize new subrs.
6821
6822 * xdisp.c (display_prop_end, invisible_text_between_p):
6823 Call Fnext_single_char_property_change instead of
6824 next_single_char_property_change.
6825
3fddcdc3
JR
68262000-07-15 Jason Rumney <jasonr@gnu.org>
6827
6828 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6829 after menu is finished with.
6830 (add_menu_item): Only consider wv->title as a menu title.
6831 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6832
6833 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6834 null title.
6835 (FONT_REGEXP): Remove unused macro, and its sub-components.
6836 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6837
6838 * w32term.c (help_echo_object, help_echo_pos): New variables.
6839 (note_mode_line_highlight): Store additional information about the
6840 help-echo in help_echo_object and help_echo_pos. Check both
6841 `local-map' and `keymap' properties for changing the cursor
6842 (note_mouse_highlight): Store additional information about the
6843 help-echo in help_echo_object and help_echo_pos.
6844 (note_tool_bar_highlight): Set help_echo_object to nil and
6845 help_echo_pos to -1.
6846 (w32_read_socket): Use gen_help_event instead of filling
6847 input_events manually.
6848 (syms_of_w32term): Staticpro help_echo_object.
6849 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6850 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6851 (x_clear_mouse_face): New function.
6852 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6853 (x_update_window_begin): No need to turn off the mouse
6854 highlight here.
6855 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6856 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6857 (x_fill_stretch_glyph_string): Consume runs of stretch
6858 glyphs instead of a single one.
6859 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6860 with new argument list.
6861 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6862 (x_append_glyph, x_append_composite_glyph)
6863 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6864 changes in struct glyph starting 1999-12-27. See comments for
6865 xterm.c on 2000-07-05.
6866
178c5d9c
SS
68672000-07-14 Sam Steingold <sds@gnu.org>
6868
6869 * xfaces.c (realize_x_face): Fix the last patch:
6870 check `default_face' before dereferencing.
6871
6fe533f6
DL
68722000-07-14 Dave Love <fx@gnu.org>
6873
069f5950 6874 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6875
dd7b81cf
KH
68762000-07-14 Kenichi Handa <handa@etl.go.jp>
6877
0693904a 6878 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6879 default_face's fontset, not using the default fontset.
0693904a 6880
dd7b81cf
KH
6881 * coding.c (inhibit_iso_escape_detection): New variable.
6882 (syms_of_coding): Make it a Lisp variable.
6883 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6884 nonzero, ignore ISO2022's escape sequence.
6885
d5aa31d8
GM
68862000-07-14 Gerd Moellmann <gerd@gnu.org>
6887
e5acf0ca
GM
6888 * alloca.c (malloc) [emacs]: Define as xmalloc.
6889
bd23a692
GM
6890 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6891 use that instead of the mouse position. Add parameters DX and DY.
6892
6893 * dispextern.h (Fx_show_tip): Adjust number of parameters
6894 in prototype.
6895
9662da0b
GM
6896 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6897 if HELP is a function, call it with OBJECT and POS as parameters
6898 to get the help to display.
6899 (gen_help_event, kbd_buffer_store_help_event): New functions.
6900 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6901 (read_char): Call show_help_echo with new parameters.
6902
178c5d9c 6903 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6904 Add prototypes.
6905
6906 * xterm.c (help_echo_object, help_echo_pos): New variables.
6907 (note_mode_line_highlight): Store additional information about the
6908 help-echo in help_echo_object and help_echo_pos. Check both
6909 `local-map' and `keymap' properties for changing the cursor
6910 (note_mouse_highlight): Store additional information about the
6911 help-echo in help_echo_object and help_echo_pos.
6912 (note_tool_bar_highlight): Set help_echo_object to nil and
6913 help_echo_pos to -1.
6914 (XTread_socket): Use gen_help_event instead of filling
6915 input_events manually.
6916 (syms_of_xterm): Staticpro help_echo_object.
6917
6918 * xmenu.c (menu_highlight_callback): Use
6919 kbd_buffer_store_help_event instead of setting up and input_event
6920 structure manually.
6921
6922 * xdisp.c (eval_form): GCPRO argument sexpr.
6923 (call_function): New function.
6924 (handle_single_display_prop): Use call_function and FUNCTIONP
6925 instead of checking whether if font_height is a symbol and
6926 using eval_form.
6927
6928 * eval.c (internal_condition_case_2): New function.
6929
6930 * lisp.h (FUNCTIONP): New macro.
6931 (internal_condition_case_2, call_function): Add prototypes.
6932
d5aa31d8
GM
6933 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6934 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6935 Always set `arg' member of input_events.
6936 (construct_menu_click): Unused function removed.
6937
6938 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6939
6940 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6941 (construct_drag_n_drop, x_scroll_bar_handle_click)
6942 (w32_read_socket): Always set `arg' member of input_events.
6943
6944 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6945
6946 * lisp.h (eval_form): Add prototype.
6947
6948 * xdisp.c (eval_form): Make it externally visible.
6949
0f1a9b23
GM
69502000-07-13 Gerd Moellmann <gerd@gnu.org>
6951
6952 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6953 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6954 consing. For prefix events, store the frame in the `arg' slot of
6955 the event, otherwise store the key there.
6956 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6957 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6958
6959 * xmenu.c (menu_highlight_callback): Store help string in the
6960 `arg' member of the input event; don't cons.
6961 (menubar_selection_callback): Use the `arg' slot of input events
6962 to queue additional information, instead of consing.
6963
6964 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6965
6966 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6967 TOOL_BAR_EVENTs.
6968 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6969
6970 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6971 input events to queue additional information, instead of consing.
6972
6973 * keyboard.c (kbd_buffer_gcpro): Renamed from
6974 kbd_buffer_frame_or_window. Now used for all Lisp objects
6975 referenced from the input queue.
6976 (kbd_buffer_store_event): Always use structure assignment for
6977 copying input events. Record all Lisp objects referenced from
6978 events in kbd_buffer_gcpro.
6979 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6980 differently from input events. Test for prefix menu_bar_events
6981 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6982 event in kbd_buffer_gcpro to nil.
6983 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6984 frame_or_window is equal to its arg member as prefix events.
6985 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6986 used by an input event to nil.
6987 (init_keyboard): Use two times the size of the input queue
6988 for kbd_buffer_gcpro.
6989 (syms_of_keyboard): Likewise.
6990
52283633
SM
6991 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6992 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6993
6994 * termhooks.h (struct input_event): Add member `arg'.
6995 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6996 (USER_SIGNAL_EVENT): Renamed from user_signal.
6997
6998 * xfaces.c (ASET): Remove definition.
6999
7000 * lisp.h (AREF, ASET, ASIZE): New macros.
7001
7002 * fontset.c (AREF, ASIZE): Remove definitions.
7003
7004 * fns.c (AREF): Remove definition.
178c5d9c 7005
0f1a9b23
GM
7006 * composite.c (AREF): Remove definition.
7007
712eaef2
GM
70082000-07-12 Gerd Moellmann <gerd@gnu.org>
7009
d8ee7803
GM
7010 * dispnew.c (redraw_overlapped_rows): Add missing local.
7011 (scrolling_window): Remove debug code.
7012
712eaef2
GM
7013 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7014 Before scrolling, turn off a mouse-highlight in the window
7015 being scrolled.
7016
7017 * xterm.c (x_update_window_end): Add parameter
7018 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7019 redisplay in XTframe_up_to_date.
7020 (x_clear_mouse_face): New function.
7021 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7022
7023 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7024 current glyph row.
7025 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7026 it when any row is written to that contains glyphs highlighted in
7027 mouse-face.
7028 (update_window): Call the window update end hook with new
7029 parameter MOUSE_FACE_OVERWRITTEN_P.
7030 (direct_output_for_insert): Give up if row contains mouse-face.
7031
7032 * dispextern.h (struct redisplay_interface): Add parameter
7033 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7034 (clear_mouse_face): New function pointer member.
7035
02010917
SM
70362000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7037
7038 * syntax.c (back_comment): Use one switch rather than a few `if's.
7039 Obey open_paren_in_column_0_is_defun_start.
7040 When reverting to the `slow' method, try to nicely handle the case
7041 of nested comments by checking that the comment-starter we found
7042 does indeed match the comment-ender.
7043 (scan_sexps_forward, scan_sexps_forward):
7044 Ignore excessive opening parenthesis rather than throwing an error.
7045
d76c03ea
GM
70462000-07-11 Gerd Moellmann <gerd@gnu.org>
7047
7048 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7049 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7050
7051 * dispnew.c (direct_output_forward_char): Give up if currently
7052 displaying a message instead of the minibuffer contents.
7053
7054 * xterm.c (x_update_window_begin): No need to turn off the mouse
7055 highlight here.
7056 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7057 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7058
7059 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7060 compare the mouse_face_p flags of both rows.
7061
7062 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7063
d55ead18
EZ
70642000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7065
7066 * keyboard.c (show_help_echo): Accept additional parameter
7067 ok_to_overwrite_keystroke_echo.
7068 (read_char): Call show_help_echo with a zero
7069 ok_to_overwrite_keystroke_echo argument.
52283633 7070 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7071 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7072 ok_to_overwrite_keystroke_echo argument.
7073 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7074 non-zero ok_to_overwrite_keystroke_echo argument.
7075
df75b1a3
GM
70762000-07-10 Gerd Moellmann <gerd@gnu.org>
7077
4b92c49a
GM
7078 * xdisp.c (try_window_id): If changes are all below what is
7079 displayed in the window, and point is in the window, we still
7080 might have to find point on the display.
7081
7082 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7083 glyphs instead of a single one.
7084 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7085 with new argument list.
7086 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7087
df75b1a3
GM
7088 * keymap.c (get_keymap_1): Add comment that this function can GC.
7089 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7090 comment that functions can GC.
7091 (Fset_keymap_parent): GCPRO arg KEYMAP.
7092
4314cf3e
EZ
70932000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7094
7095 * msdos.c (XMenuActivate): After exiting the menu, restore the
7096 echo area message and erase it.
7097
ab49ce15
KH
70982000-07-10 Kenichi Handa <handa@etl.go.jp>
7099
7100 * fontset.c (Ffontset_info): Make the return value more compatible
7101 with that of Emacs 20.
7102
090a072f
GM
71032000-07-07 Gerd Moellmann <gerd@gnu.org>
7104
7105 * eval.c (Fsignal): Handle case that backtrace_list is null.
7106
f92de4a6
KH
71072000-07-07 Kenichi Handa <handa@etl.go.jp>
7108
7109 * ccl.c (Fccl_execute): Typo fixed.
7110
dd8888a1
GM
71112000-07-06 Gerd Moellmann <gerd@gnu.org>
7112
e5c81191 7113 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7114
dd8888a1
GM
7115 * window.c (Fwindow_list): Reverse list at the end.
7116 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7117 means allow windows on OWINDOW's frame, only.
7118 (window_loop): Simplified; use Fwindow_list.
7119
7120 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7121
485266d0
GM
71222000-07-05 Gerd Moellmann <gerd@gnu.org>
7123
7124 * xterm.c (XTread_socket): Increment handling_signal at the start,
7125 decrement it at the end.
7126
7127 * eval.c (handling_signal): New variable.
7128 (Fsignal): Abort if handling_signal is non-zero.
7129
7130 * lisp.h (handling_signal): External declaration.
178c5d9c 7131
485266d0
GM
7132 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7133
80fcd514
KR
71342000-07-05 Ken Raeburn <raeburn@gnu.org>
7135
7136 Sound support for NetBSD through "Linux emulation" support:
7137 * config.in (HAVE_SOUNDCARD_H): Undef.
7138 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7139 * Makefile.in (LIBSOUND): New variable.
7140 (LIBES): Include it.
52283633
SM
7141 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7142 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7143 (vox_open): Use DEFAULT_SOUND_DEVICE.
7144 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7145
d5c5cddd
GM
71462000-07-05 Gerd Moellmann <gerd@gnu.org>
7147
7148 * print.c (print_error_message): If Vsignaling_function is set,
7149 show it in *Messages*.
7150
7151 * lisp.h (Vsignaling_function): External declaration.
7152
7153 * eval.c (Vsignaling_function): New variable.
7154 (Fsignal): Compute it.
7155 (syms_of_eval): Staticpro it.
7156
65171e3a
DL
71572000-07-05 Dave Love <fx@gnu.org>
7158
7159 * syswait.h: Use the autoconf recommended approach. Old code
7160 #if'd out in case we need to revert.
7161
178c5d9c 7162 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7163
e2c46326
AI
71642000-07-05 Andrew Innes <andrewi@gnu.org>
7165
7166 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7167 when non-NULL instead of __morecore, to take account of buffer
7168 memory. This also solves a problem with spurious memory warnings
7169 on Windows.
7170
7171 * ralloc.c: Make real_morecore non-static.
7172
7173 * eval.c (internal_condition_case): Comment out abort if
7174 interrupt_input_blocked is not zero.
7175
7176 * makefile.nt: Add support for `bootstrap' and related targets.
7177 Include minimal debug info in emacs.exe in release build.
7178 Remove all dependencies on lisp.h, and fixup some others.
7179
7180 * w32.c (init_environment): Install code from 20.7 for providing
7181 default values for environment variables, based on the
7182 executable's own location.
52283633 7183 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7184 (sys_socket): Install socket inheritance bug fix from 20.7.
7185
7186 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7187 here via blockinput.h).
7188
a027a91b
SM
71892000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7190
e4b31601
SM
7191 * w32menu.c (w32_menu_display_help):
7192 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7193
7194 * keyboard.h (show_help_echo): Declare.
7195
7196 * keyboard.c (show_help_echo): New function, extracted from read_char.
7197 Feval its `msg' argument if it's a cons cell.
7198 (read_char): Use it.
4cf8d9d5 7199 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7200
178c5d9c 7201 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7202 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7203 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7204 (dos_rawgetc):
7205 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7206 (note_tool_bar_highlight, w32_read_socket):
7207 Do not gratuitously ignore non-string `help-echo' properties.
7208
88d75730
GM
72092000-07-05 Gerd Moellmann <gerd@gnu.org>
7210
969f7e79
GM
7211 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7212
71201b00
GM
7213 * window.c (delete_all_subwindows): Reset Vwindow_list.
7214
88d75730
GM
7215 * xterm.c (x_append_glyph, x_append_composite_glyph)
7216 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7217 changes in struct glyph starting 1999-12-27. Some bit-fields of
7218 struct glyph were not set, which made glyphs unequal when compared
7219 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7220 effects were the result. This also depended on the contents of
7221 memory returned by xmalloc. If flickering happens again, activate
7222 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7223 gone with that, chances are that it is caused by something similar.
88d75730
GM
7224
7225 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7226
88d75730
GM
7227 * dispextern.h: Add some comments.
7228
7229 * window.c (add_window_to_list): Add parameter LIST.
7230 (window_list): Order list so that, for each frame, windows are
7231 in canonical order, and so that frames appear in the list in
7232 the order given by Vframe_list.
7233 (next_window): Reverse the handling of NEXT_P.
7234
53654733
GM
72352000-07-04 Gerd Moellmann <gerd@gnu.org>
7236
87efd256
GM
7237 * window.c (Vwindow_list): New variable.
7238 (make_window, delete_window): Set Vwindow_list to nil.
7239 (check_window_containing): New function.
7240 (window_from_coordinates): Rewritten.
7241 (add_window_to_list, window_list, candidate_window_p)
7242 (decode_next_window_args, next_window): New functions.
52283633 7243 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7244 (Fwindow_list): New function.
7245 (Fother_window): Cleaned up.
7246 (foreach_window): Add a longer "variable argument list". Let
7247 callback function return 0 to indicate that cycling over windows
7248 should stop.
7249 (foreach_window_1): Likewise.
7250 (freeze_window_start): Return int.
7251 (init_window): New function.
7252 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7253
7254 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7255 input_event with bzero.
7256 (main): Call init_window.
7257
53654733
GM
7258 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7259 a menu filter.
7260
4a8c194f
KH
72612000-07-04 Kenichi Handa <handa@etl.go.jp>
7262
7263 * composite.h (make_composition_value_copy): Extern it.
7264
7265 * composite.c (make_composition_value_copy): New function.
7266
7267 * editfns.c (Fformat): While copying text properties, make each
7268 composition property value a copy.
7269
7270 * fns.c (concat): While copying text properties, make each
7271 composition property value a copy.
7272
831a6cb0
GM
72732000-07-03 Gerd Moellmann <gerd@gnu.org>
7274
2f516940
GM
7275 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7276
178c5d9c 7277 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7278 marked already.
7279
831a6cb0
GM
7280 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7281 include those frames as candidates which have their focus
7282 redirected to the minibuffer frame.
7283
d9c4f922
SM
72842000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7285
7286 * fns.c (Fputhash): Return `value' rather than nil.
7287
3780bc22
GM
72882000-06-30 Gerd Moellmann <gerd@gnu.org>
7289
97d176db
GM
7290 * frame.c (next_frame): Don't check focus redirection in case
7291 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7292 unless their focus is redirected, which contradicts the
7293 specification of next-frame, and leads to infinite loops in
7294 certain situations when cycling through windows with next-window.
7295
dca9961d
KH
72962000-06-30 Kenichi Handa <handa@etl.go.jp>
7297
7298 * coding.c (code_convert_region): Even if the length of text is
7299 zero, try to convert it if coding->type is coding_type_ccl.
7300 (decode_coding_string, encode_coding_string): Likewise.
7301
d5483ab1
GM
73022000-06-28 Gerd Moellmann <gerd@gnu.org>
7303
af5c25e1 7304 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7305 the display if windows_or_buffers_changed.
af5c25e1
GM
7306
7307 * dispnew.c (struct row_entry): New structure.
7308 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7309 (row_table_size, old_lines, new_lines, old_lines_size)
7310 (new_lines_size, run_pool, runs_size, runs): New variables.
7311 (add_row_entry): New function.
7312 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7313 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7314 holding them in local variables. Use a larger hash table whose
7315 size depends on glyph matrix sizes. Don't use bzero to clear the
7316 hash table; instead, clear used slots only.
7317
7318 * fns.c (next_almost_prime): Make it externally visible.
7319
7320 * lisp.h (next_almost_prime): Add prototype.
7321
d5483ab1
GM
7322 * s/isc4-0.h (sigunblock): Define.
7323
7324 * s/sco5.h (sigunblock): Define.
7325
93e40f40
DL
73262000-06-27 Dave Love <fx@gnu.org>
7327
7328 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7329 (moved to osf5-0.h).
7330 [!NOT_C_CODE]: Protect string.h stuff.
7331
7332 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7333 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7334
3c4b7685
GM
73352000-06-27 Gerd Moellmann <gerd@gnu.org>
7336
97d176db 7337 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7338 below the last line from the needed window height.
7339
32cad0aa
SM
73402000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7341
7342 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7343 (Fwidget_get): Use it.
7344 (syms_of_fns): Defsubr it.
7345
2c69ced2
GM
73462000-06-26 Gerd Moellmann <gerd@gnu.org>
7347
178c5d9c 7348 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7349 display info for XIM.
7350 (xim_open_dpy): Likewise.
7351 (xim_close_dpy): Don't free the display info's XIM.
7352
7353 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7354
7355 * config.in (USE_XIM): New define.
7356
3fc720e4
GM
7357 * keymap.c (get_keyelt): For menu-items containing a `:filter
7358 FILTER', apply FILTER to the menu-item's definition to get the
7359 real definition to use.
7360
7361 * lisp.h (QCfilter): External declaration.
7362
2c69ced2
GM
7363 * xfns.c (Fimage_size): New function.
7364 (syms_of_xfns): Defsubr it.
7365
f978b2a2
AS
73662000-06-26 Andreas Schwab <schwab@suse.de>
7367
7368 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7369 Fstring_as_unibyte.
7370
94cc7892
DL
73712000-06-25 Dave Love <fx@gnu.org>
7372
52283633 7373 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7374
7375 * Makefile.in (blockinput.h): Depend on atimer.h.
7376 (atimer.h): Depend on systime.h.
7377
52283633 7378 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7379
52283633 7380 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7381
7382 * lisp.h (swap_in_global_binding): Declare.
7383
b8c24556
KR
73842000-06-24 Ken Raeburn <raeburn@gnu.org>
7385
7386 * process.c (Fopen_network_stream): Turn off atimers for duration
7387 of call to connect. (Patch from Gerd.)
7388
8cf8560b
DL
73892000-06-23 Dave Love <fx@gnu.org>
7390
511c7541
DL
7391 * ralloc.c: Maybe include unistd.h
7392
8cf8560b
DL
7393 * emacs.c (setgrp): Undefine before defining.
7394 (malloc_warning, set_time_zone_rule, index): Prototype.
7395
7396 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7397 HAVE_STRUCT_TIMEZONE.
7398
7399 * s/osf1.h: Move string.h hack here from alpha.h and make it
7400 conditional.
7401 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7402 _XOPEN_SOURCE.
7403 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7404 (SOCKLEN_TYPE): Don't define.
7405
7406 * m/alpha.h: Remove string.h hack.
7407
7408 * s/osf5-0.h: New file.
7409
7410 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7411 include time.h, done by systime.h.
7412 [__FreeBSD__]: Remove redundant includes.
7413
3fc720e4 7414 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7415 (delete_temp_file): Return Qnil to avoid warning.
7416
7417 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7418
7419 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7420 HAVE_X_WINDOWS.
7421
7422 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7423
7424 * composite.h (compose_text): Declare.
7425
7426 * xterm.c: Don't include sys/types.h unconditionally. Don't
7427 protect its inclusion with !USG (following xmenu.c).
7428
ea055732
GM
74292000-06-23 Gerd Moellmann <gerd@gnu.org>
7430
7431 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7432 in x_create_frame.
7433
74b01b80
EZ
74342000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7435
7436 * coding.c (decode_eol_post_ccl): Special handling for undecided
7437 and inconsistent EOL types.
7438
64f3a166
GM
74392000-06-22 Gerd Moellmann <gerd@gnu.org>
7440
16cf31f7
GM
7441 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7442 trough color and main window's background color.
7443
52283633 7444 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7445
7446 * xterm.h (Xt_app_con): External declaration.
7447
7448 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7449
486a103d
GM
7450 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7451
64f3a166
GM
7452 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7453 (handle_invisible_prop): Record the start of invisible text in
7454 it->add_overlay_start.
7455 (struct overlay_entry): Add member `overlay'.
7456 (handle_overlay_change): Simplify.
7457 (next_overlay_string): After having processed overlay strings at the
7458 end of the buffer, record that fact in
7459 it->overlay_strings_at_end_processed_p.
7460 (compare_overlay_entries): If before- and after-strings come
7461 from the same overlay, let before-strings come first.
7462 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7463 (load_overlay_strings): Take it->add_overlay_start into account
7464 when adding overlay strings.
7465
7466 * dispextern.h (struct it): Add member add_overlay_start.
7467
bb746ea6
DL
74682000-06-22 Dave Love <fx@gnu.org>
7469
7470 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7471
7472 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7473
a8f573f3
KH
74742000-06-22 Kenichi Handa <handa@etl.go.jp>
7475
7476 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7477 is greater than 0.
7478
9f2bbc92
DL
74792000-06-21 Dave Love <fx@gnu.org>
7480
178c5d9c 7481 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7482
3ee5041c
SM
74832000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7484
7485 * syntax.c (back_comment): Simplify string-parity counting (with
7486 the added benefit of handling multiple string-styles as long as
7487 they are not intertwined).
7488 Jump to the slow code as soon as a comment starter is found in
7489 a "string_lossage" position. Fixes the case: " /* " /* " */.
7490
4c343001
DL
74912000-06-21 Dave Love <fx@gnu.org>
7492
7493 * Makefile.in: Use GETLOADAVG_LIBS.
7494
7495 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7496 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7497
e6365855
SM
74982000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7499
7500 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7501 (Fforward_comment, scan_lists):
7502 Check the comstyle of single-char comment-starters.
7503 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7504 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7505 Check the comstyle of single-char comment-starters.
7506 Clarify control-flow around the Scomment case.
e6365855 7507
5700d2cc
DL
75082000-06-20 Dave Love <fx@gnu.org>
7509
d355bd8a
SM
7510 * fns.c (make_hash_table, maybe_resize_hash_table):
7511 Cast arg of next_almost_prime.
5700d2cc 7512
178c5d9c 7513 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7514
7515 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7516 and unistd.h.
7517
4a27bdfb
GM
75182000-06-20 Gerd Moellmann <gerd@gnu.org>
7519
a61d762c 7520 * keyboard.c (adjust_point_for_property): Check if display
52283633 7521 property should be treated as intangible by looking at its value.
a61d762c 7522
178c5d9c 7523 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7524 (display_prop_intangible_p): New functions.
7525
7526 * dispextern.h (display_prop_intangible_p): Add prototype.
7527
7528 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7529
4a27bdfb
GM
7530 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7531 argument to sigprocmask.
7532
7533 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7534 argument to sigprocmask.
7535
7536 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7537 sigprocmask_set, and pass a pointer to it to sigprocmask.
7538
7539 * sysdep.c (sigprocmask_set): New variable.
7540
7541 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7542 report_file_error.
7543
427ec082
SS
75442000-06-20 Sam Steingold <sds@gnu.org>
7545
7546 * xrdb.c: Don't declare xmalloc, xrealloc.
7547
8972fe79 75482000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7549
7550 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7551 (re_comp): Cast gettext return value to avoid complaints when
7552 !HAVE_LIBINTL.
7553
074b6efe
DL
75542000-06-20 Dave Love <fx@gnu.org>
7555
52283633 7556 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7557
5700d2cc 7558 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7559
d355bd8a 7560 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7561
7562 * m/alpha.h: Don't declare xmalloc, xrealloc.
7563
0af4f205
DL
7564 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7565
7566 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7567
7568 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7569
7570 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7571 HAVE_GETWD.
7572
074b6efe
DL
7573 * keyboard.h (poll_for_input_1): Declare.
7574
7575 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7576
7577 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7578
7579 * doprnt.c: Don't declare xmalloc, xrealloc.
7580
7581 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7582 (getenv, ctime, getwd): Removed.
7583 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7584
7585 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7586 x_set_tool_bar_lines.
7587
7588 * config.in: Add HAVE_GETWD. Move some definitions above
7589 machine/system includes.
7590
68a5e97b
KH
75912000-06-20 Kenichi Handa <handa@etl.go.jp>
7592
95417e1e
KH
7593 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7594
68a5e97b
KH
7595 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7596 contain information about ENCODING.
7597
7598 * fontset.c (FONTSET_ASCII): Use the first element of char table
7599 for an ASCII font, not defalt slot.
7600 (fontset_ref_via_base): If FONTSET doesn't contain information for
7601 C, try the default fontset.
7602 (make_fontset): Don't copy the default fontset.
7603 (fontset_font_pattern): Likewise.
7604 (accumulate_font_info): If ELT is nil, use the corresponding
7605 element in the default fontset.
7606
3b4fa1b2
DL
76072000-06-19 Dave Love <fx@gnu.org>
7608
943e731c
DL
7609 * syntax.c (Fparse_partial_sexp): Doc fix.
7610
7611 * regex.h: Test PROTOTYPES as well as __STDC__.
7612
3b4fa1b2
DL
7613 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7614 errno, strerror. Put text after #endif in comment.
7615
52283633 7616 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7617
7618 * xterm.c (x_frame_of_widget): Likewise.
7619
cdf0357b
GM
76202000-06-19 Gerd Moellmann <gerd@gnu.org>
7621
7622 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7623 to Vfundamental_mode_abbrev_table.
7624
7625 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7626 bogus objects are marked. This slows down GC by ~80 percent, but
7627 it might be worth trying when debugging GC-related problems.
7628 This feature requires conservative stack marking to be enabled.
7629
7630 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7631 returns XLookupChars, reset `modifiers' to zero.
7632
998e9f8c
DL
76332000-06-19 Dave Love <fx@gnu.org>
7634
7635 * mktime.c: Unprotoized.
7636
18e21ce8 76372000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7638
7639 * data.c (set_internal): If variable is frame-local,
7640 store the new value immediately into the frame parameter alist.
7641
140c4ac6
KR
76422000-06-19 Ken Raeburn <raeburn@gnu.org>
7643
14358466
KR
7644 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7645 in the custom handler pointer.
7646
140c4ac6
KR
7647 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7648 value, or checks for CHAR_META can fail when Lisp_Object is a
7649 union type.
7650 * keymap.c (get_keyelt): Likewise.
7651
10d7bf84
KH
76522000-06-19 Kenichi Handa <handa@etl.go.jp>
7653
7654 * ccl.h (struct ccl_program): New member eol_type.
7655 (struct ccl_spec): New member cr_carryover.
7656
7657 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7658 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7659
7660 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7661 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7662 (decode_eol_post_ccl): New function.
7663 (decode_coding): Don't detect EOL format here for CCL based coding
7664 systems.
7665 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7666 decode_eol_post_ccl after running the CCL program.
7667 (code_convert_region): Don't detect EOL format here for CCL based
7668 coding systems.
7669 (decode_coding_string): Likewise.
7670
52e386c2
KR
76712000-06-18 Ken Raeburn <raeburn@gnu.org>
7672
7673 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7674 when treating it as an integer.
7675
7676 * coding.h (encode_coding_string): Declare.
7677
7678 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7679 it as an integer.
7680
7681 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7682 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7683 to be passed to get_local_map.
7684
7685 * sound.c (Fplay_sound): Don't call make_number on
7686 Frun_hook_with_args count argument.
7687
7688 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7689 for lisp objects in X event structure data field, when lisp
7690 objects are represented with unions.
7691 (x_scroll_bar_to_input_event): Ditto.
7692
b357b9d4
KR
76932000-06-16 Ken Raeburn <raeburn@gnu.org>
7694
7695 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7696 termination of string. Fix sense of test whether
7697 Vline_number_display_limit is an integer.
b357b9d4 7698
a871441d
GM
76992000-06-16 Gerd Moellmann <gerd@gnu.org>
7700
a9021acd
GM
7701 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7702 only if HAVE_X_WINDOWS.
7703
6344985d
GM
7704 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7705 of titles.
7706
427ec082 7707 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7708 out of bounds.
7709
228b083e
EZ
77102000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7711
7712 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7713 of its headers.
7714
c25b53a2
KH
77152000-06-15 Kenichi Handa <handa@etl.go.jp>
7716
7717 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7718 start of the while loop.
7719
a6981b11
GM
77202000-06-15 Gerd Moellmann <gerd@gnu.org>
7721
e9924e52
GM
7722 * atimer.c (alarm_signal_handler): Add forward declaration.
7723
a6981b11
GM
7724 * data.c (set_internal): Remove debug code.
7725
25fa6deb
GM
77262000-06-14 Gerd Moellmann <gerd@gnu.org>
7727
dce6b995
GM
7728 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7729
9f817ea4
GM
7730 * unexec.c (toplevel) [COFF]: Include coff.h.
7731
7732 * s/lynxos.h: New file.
7733
7734 * keymap.c (Fsingle_key_description): Enclose function key and
7735 event symbol names in angle brackets.
7736
8a4e3c0c
GM
7737 * xdisp.c (setup_echo_area_for_printing): Call
7738 message_log_maybe_newline if message_buf_print is not set.
7739
7740 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7741 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7742 function does something useful even when message_buf_print is
7743 already set.
7744
52283633
SM
7745 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7746 New variables.
25fa6deb
GM
7747 (ensure_echo_area_buffers): Initialize echo buffer's
7748 truncate lines setting to nil.
7749 (with_echo_area_buffer): Don't set the echo buffer's truncate
7750 lines setting here.
8a4e3c0c 7751 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7752 of message_truncate_lines.
7753 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7754 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7755 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7756
7757 * keyboard.c (read_char): Bind message-truncate-lines to t
7758 while displaying a help-echo.
7759
7760 * lisp.h (Qmessage_truncate_lines): External declaration.
7761
163dcff3
GM
77622000-06-13 Gerd Moellmann <gerd@gnu.org>
7763
1681ead6
GM
7764 * xdisp.c (Vline_number_display_limit): Renamed from
7765 line_number_display_limit.
7766 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7767 Extend documentation string. Initialize
7768 Vline_number_display_limit to nil meaning no limit.
7769 (decode_mode_spec): Use Vline_number_display_limit with its new
7770 meaning.
7771
163dcff3
GM
7772 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7773
18e21ce8 77742000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7775
7776 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7777
163dcff3
GM
7778 * xfns.c (x_set_frame_parameters): Comment fix.
7779
7780 * frame.c (store_frame_param): Call swap_in_global_binding if the
7781 variable's current binding was chosen based on this frame.
7782
7783 * data.c (swap_in_global_binding): New function.
7784
a704139d
EZ
77852000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7786
7787 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7788 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7789
9b6610db
EZ
77902000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7791
7792 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7793
c68833d2
JR
77942000-06-12 Jason Rumney <jasonr@gnu.org>
7795
7796 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7797
7798 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7799
7800 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7801
7802 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7803
ed1056b3
GM
78042000-06-12 Gerd Moellmann <gerd@gnu.org>
7805
7806 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7807 (syms_of_xfaces): Defsubr Sdump_colors.
7808 (x_free_colors): Don't treat b&w specially on default visual.
7809 (x_free_dpy_colors): New function.
7810 (free_face_colors): Don't check visual class; it's done
7811 in x_free_colors.
7812
7813 * xterm.c (x_frame_of_widget): New function.
7814 (x_alloc_nearest_color_for_widget): Use it.
7815 (x_copy_dpy_color): New function.
7816 (x_destroy_window): Free various colors.
7817
5050a2ef
KH
78182000-06-12 Kenichi Handa <handa@etl.go.jp>
7819
7820 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7821
7822 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7823
7824 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7825
7826 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7827
7828 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7829
fb1b041d
DL
78302000-06-11 Dave Love <fx@gnu.org>
7831
7832 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7833
ff96b5f4
EZ
78342000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7835
7836 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7837
db8eeecd
GM
78382000-06-11 Gerd Moellmann <gerd@gnu.org>
7839
ed1056b3 7840 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7841 to `XEvent *'.
7842
49b71c5f
KH
78432000-06-10 Kenichi Handa <handa@etl.go.jp>
7844
c479bd55
KH
7845 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7846 (regex_compile): Fix the code for handling the case of single byte
7847 char and multibyte char being mixed in a range within [...].
7848
ff6a65c2
KH
7849 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7850 and dst_multibyte members of coding.
7851
49b71c5f
KH
7852 * charset.c (update_charset_table): Update the table
7853 bytes_by_char_head.
7854 (init_charset_once): Initialize elements of bytes_by_char_head to
7855 1 except for leading codes for private charases.
7856
7857 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7858 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7859
9e80b57d
KR
78602000-06-09 Ken Raeburn <raeburn@gnu.org>
7861
7862 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7863 access the data it doesn't point to.
7864
f83fe4b4
GM
78652000-06-08 Gerd Moellmann <gerd@gnu.org>
7866
7867 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7868 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7869 event queue. This is necessary because Emacs otherwise won't
7870 perform a switch-frame to a new frame until some other event, for
7871 example a keystroke event, forces it to do so. This has various
7872 effects, one visible being that the cursor of a frame created with
7873 C-x 5 2 or switched to with a window manager key binding like
7874 A-TAB stays hollow because selected_window isn't on the newly
7875 focused frame until the switch-frame is performed.
7876
7877 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7878 generating a switch-frame event if necessary.
7879
7880 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7881
7882 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7883 it's an integer.
7884
0890801b
KH
78852000-06-08 Kenichi Handa <handa@etl.go.jp>
7886
52283633 7887 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7888
173cbca8
GM
78892000-06-07 Gerd Moellmann <gerd@gnu.org>
7890
3091c2a6
GM
7891 * window.c (displayed_window_lines): Take empty lines at
7892 the bottom of a window into account.
427ec082 7893
f38952fe
GM
7894 * window.c (displayed_window_lines): New function.
7895 (Fmove_to_window_line): Use displayed_window_lines to determine
7896 the number of lines to move, instead of using the window's height.
7897
7898 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7899 to stop reading, even if the form read sets point to a different
7900 value when evaluated.
7901
427ec082 7902 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7903 put the cursor.
7904
6ba6c818
KH
79052000-06-07 Kenichi Handa <handa@etl.go.jp>
7906
7907 * fileio.c (e_write): Free composition data if stored in
7908 coding->cmp_data.
7909
5f1aea9a
GM
79102000-06-06 Gerd Moellmann <gerd@gnu.org>
7911
666852af
GM
7912 * xdisp.c (display_line): Set row's and iterator's
7913 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7914 Set cursor even if row ends in the middle of a character.
7915 (dump_glyph_row): Print values of new flags.
7916 (redisplay_window) <cursor movement in unchanged window>: When
7917 point has been moved forward, and PT is at the end of the cursor
7918 row, don't place the cursor in the next row if the cursor row ends
7919 in the middle of a character or at ZV.
7920
7921 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7922 (struct glyph_row): Add starts_in_middle_of_char_p and
7923 ends_in_middle_of_char_p.
7924 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7925 ends_in_middle_of_char_p flag.
7926 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7927
d13f3e2e
GM
7928 * term.c (append_glyph): Revert change of 2000-06-06.
7929
7930 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7931 padding glyph not fitting on line as whole character not
7932 fitting on line.
7933
5f1aea9a
GM
7934 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7935 this isn't true for images with `:ascent 100'.
7936
10cda9b0
KH
79372000-06-06 Kenichi Handa <handa@etl.go.jp>
7938
ed00559d
KH
7939 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7940 as modified if it is originally unmodified.
7941
10cda9b0
KH
7942 * term.c (encode_terminal_code): Change the way to check if
7943 terminal coding does any conversion.
7944 (append_glyph): Set glyph->pixel_width correctly.
7945
7946 * xdisp.c (display_line): While checking line continuation, pay
7947 attention to a padding glyph.
7948
1969fae2
GM
79492000-06-05 Gerd Moellmann <gerd@gnu.org>
7950
7951 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7952
162ccef4
DL
79532000-06-05 Dave Love <fx@gnu.org>
7954
f19f32dd
DL
7955 * xdisp.c: Include fontset.h.
7956
7957 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7958
7959 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7960
7961 * dispnew.c: Conditionally include term.h.
7962
7963 * coding.h: Declare code_convert_string_norecord.
7964
7965 * frame.h (struct frame): Use volatile unconditionally.
7966
7967 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7968
7969 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7970
7971 * systime.h: Protect against multiple inclusion.
7972 (timezone) [USG5_4]: Define as time_t.
7973
7974 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7975 (Foptimize_char_table, make_temp_name): Declare.
7976
7977 * Makefile.in (xdisp.o): Depend on fontset.h.
7978
7979 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7980
7981 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7982 (Foptimize_char_table, make_temp_name): Declare.
7983
427ec082 7984 * s/irix4-0.h:
162ccef4
DL
7985 * s/irix5-0.h:
7986 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7987
2082fe81
DL
79882000-06-02 Dave Love <fx@gnu.org>
7989
7990 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7991
dcf671d2
GM
79922000-06-02 Gerd Moellmann <gerd@gnu.org>
7993
7994 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7995 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7996 be freed.
7997
7998 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7999 glyph, use the ASCII NUL character to determine the face.
8000
d42122a3
DL
80012000-06-02 Dave Love <fx@gnu.org>
8002
8003 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8004 (VFORK_RETURN_TYPE): Remove.
427ec082 8005
d42122a3
DL
8006 * config.in: Add NO_MATHERR.
8007
dd432f16
DL
80082000-06-01 Dave Love <fx@gnu.org>
8009
90aa4ea8
DL
8010 * cmds.c (internal_self_insert): Don't check
8011 Vbefore_change_function, Vafter_change_function.
8012
8013 * insdel.c (signal_before_change, signal_after_change): Likewise.
8014
8015 * buffer.c (Vbefore_change_function, Vafter_change_function):
8016 Variables and their initializations deleted.
8017
2330c9d4
DL
8018 * callint.c (Fcall_interactively): Doc fix.
8019
dd432f16
DL
8020 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8021
bf9e8804
DL
80222000-05-31 Dave Love <fx@gnu.org>
8023
8024 * textprop.c: Revert last change -- duplicated.
8025
3694b4ab
GM
80262000-05-31 Gerd Moellmann <gerd@gnu.org>
8027
8028 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8029 in #if 0.
8030
8031 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8032
f14156cd
JR
80332000-05-31 Jason Rumney <jasonr@gnu.org>
8034
8119aab8
JR
8035 * search.c (Fre_search_forward, Fre_search_backward)
8036 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8037
f14156cd
JR
8038 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8039
4aab9be3
JR
80402000-05-30 Jason Rumney <jasonr@gnu.org>
8041
8042 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8043 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8044
52283633 8045 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8046
8047 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8048 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8049 expand a nil default_filename.
8050
8051 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8052 pointer to glyph_to_pixel_coords, not a frame.
8053
8054 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8055 coding.h to dependencies.
8056
8057 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8058
8059 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8060 window pointer to be consistent with w32term.c and xterm.c.
8061
8062 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8063 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8064 (Qline_spacing, Qcenter): New variables.
8065 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8066 (x_set_line_spacing): New function.
52283633 8067 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8068 (x_specified_cursor_type): New function.
8069 (x_set_cursor_type): Use it.
8070 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8071 and icon strings.
8072 (validate_x_resource_name, x_get_resource_string): Measure lengths
8073 of external strings in bytes.
8074 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8075 GetTextExtentPoint32 with NULL title.
8076 (Fx_create_frame): Initialize Qline_spacing.
8077 (w32_load_system_font): Initialize font->double_byte_p.
8078 (x_to_w32_charset): Use Vw32_charset_info_alist.
8079 (Image, busy cursor, tooltip functions): Merged changes from
8080 xfns.c. Not yet functional on Windows.
8081
8082 * w32gui.h (W32FontStruct): Add double_byte_p member.
8083
8084 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8085 (emacs_button_translation): Use it.
8086 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8087 in `mask' to be set.
8088
8089 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8090 menu strings.
8091
8092 * w32term.c: Format and doc changes to bring closer to xterm.c.
8093 (w32_char_font_type): New enum.
8094 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8095 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8096 (w32_encode_char): New function.
8097 (x_encode_char): Removed.
8098 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8099 x_encode_char and w32_font_is_double_byte.
8100 (x_produce_image_glyph): Use image_ascent.
8101 (x_produce_glyphs): Use new version of w32_per_char_metric and
8102 handle NULL return value. Allow extra line spacing.
8103 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8104 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8105 w32_font_type member of glyph instead.
8106 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8107 (fast_find_position): Make sure not to consider rows not visible
8108 in the window.
8109 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8110 w32_menu_display_help with input blocked, as it can abort.
8111 (x_display_and_set_cursor): Choose cursor depending
8112 on buffer-local value of cursor_type.
8113 (x_draw_bar_cursor): Add parameter WIDTH.
8114
8115 * w32term.h (CP_DEFAULT): Define.
8116 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8117
10fc3187
GM
81182000-05-30 Gerd Moellmann <gerd@gnu.org>
8119
8120 * search.c (Fre_search_forward, Fre_search_backward)
8121 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8122
d0555360
KH
81232000-05-30 Kenichi Handa <handa@etl.go.jp>
8124
8125 * coding.c (detect_coding_iso2022): Fix code for checking
8126 CODING_CATEGORY_MASK_ISO_8_2.
8127
f1ad044f
SM
81282000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8129
8130 * regex.c (PREFETCH_NOLIMIT): New function.
8131 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8132
84ec3b4b
GM
81332000-05-29 Gerd Moellmann <gerd@gnu.org>
8134
66254a13
GM
8135 * syntax.c (find_defun_start): Move test for
8136 open_paren_in_column_0_is_defun_start outside of the loop.
8137
49e70dec
GM
8138 * xdisp.c (redisplay_window): Really switch buffers when
8139 displaying mode lines, and temporarily set selected_frame to the
8140 frame of the window that's redisplayed.
8141
84ec3b4b
GM
8142 * xfaces.c (free_realized_faces): Block/unblock input.
8143 (free_realized_multibyte_face): Ditto.
8144
869a3a14
DL
81452000-05-29 Dave Love <fx@gnu.org>
8146
8147 * textprop.c (Qkeymap): New variable.
8148 (syms_of_textprop): Intern it.
8149
8150 * keymap.c: Include intervals.h.
8151 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8152
8153 * Makefile.in (keymap.o): Depend on intervals.h.
8154
8155 * keyboard.c (menu_bar_items, tool_bar_items)
8156 (Fexecute_extended_command): Deal with `keymap' property.
8157 (read_key_sequence): Track map from `keymap' property as well as
8158 `local_map'.
8159
8160 * intervals.c (get_local_map): Extra arg to allow looking for
8161 `keymap' too.
8162
8163 * intervals.h (map_property): New enum.
8164 (get_local_map): Extra arg using it.
8165 (Qkeymap): Declare.
8166
84ec3b4b 8167 * lisp.h (get_local_map): Don't declare here.
869a3a14 8168
89d0c844
KH
81692000-05-29 Kenichi Handa <handa@etl.go.jp>
8170
8171 * Makefile.in (callproc.o): Depend on composite.h.
8172
8173 * callproc.c: Include composite.h.
8174 (Fcall_process): Handle composition correctly.
8175
8176 * coding.h (coding_allocate_composition_data): Extern it.
8177 (coding_restore_composition): Likewise.
8178
8179 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8180 yet allocated, finish decoding with result
8181 CODING_FINISH_INSUFFICIENT_CMP.
8182 (coding_allocate_composition_data): Make it non-static.
8183 (coding_restore_composition): Likewise.
8184
797a084a
EZ
81852000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8186
8187 * charset.c (syms_of_charset): Revert last change.
8188
cf872af5
EZ
81892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8190
8191 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8192 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8193 Handa.
cf872af5 8194
5b1ae051
EZ
81952000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8196
8197 * charset.c (syms_of_charset): Set width of character sets
8198 eight-bit-control and eight-bit-graphic to 1 column.
8199
34ec9ebe
GM
82002000-05-26 Gerd Moellmann <gerd@gnu.org>
8201
8202 * config.in (HAVE_SPEED_T): New define.
8203
8204 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8205 `extern speed_t'.
8206
dd854dc2
DL
82072000-05-26 Dave Love <fx@gnu.org>
8208
8209 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8210
8211 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8212 (Fsubr_arity): New function.
8213 (syms_of_data): Install them.
8214
ba9f8f95
KH
82152000-05-26 Kenichi Handa <handa@etl.go.jp>
8216
0f3e0672
KH
8217 * charset.c (init_charset_once): Set the table bytes_by_char_head
8218 correctly.
8219
cebefb44
KH
8220 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8221 the default fontset to what Emacs uses by default.
0f3e0672
KH
8222 (check_registry_encoding): This function deleted.
8223 (Fset_fontset_font): Remove the adhoc condition for the default
8224 fontset. Allow cons in FONTNAME.
cebefb44 8225
0f3e0672
KH
8226 * fns.c (map_char_table): Ignore char-table entries for
8227 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8228
7a18af49
KR
82292000-05-25 Ken Raeburn <raeburn@gnu.org>
8230
8231 * emacs.c (main): Initialize keyboard syms before initializing
8232 window code, so face names are available.
8233
d2af47df
SM
82342000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8235
8236 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8237 of an anchor at the beginning of a shy-group.
8238
fc6a6a4e
GM
82392000-05-25 Gerd Moellmann <gerd@gnu.org>
8240
8241 * xdisp.c (handle_invisible_prop): Don't try to skip over
8242 invisible text if end of text is already reached.
8243
005f0d35
DL
82442000-05-25 Dave Love <fx@gnu.org>
8245
02513cdd
DL
8246 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8247
005f0d35
DL
8248 * coding.c (encode_eol): Add null statement after label.
8249
89f6ca4e
EZ
82502000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8251
8252 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8253 2000-05-20.
8254
a4e1759e
KH
82552000-05-25 Kenichi Handa <handa@etl.go.jp>
8256
8257 * ccl.c (ccl_driver): Fix previous change.
8258
eacfd7fe
KH
82592000-05-25 Kenichi Handa <handa@etl.go.jp>
8260
46ab33a9
KH
8261 * coding.c (run_pre_post_conversion_on_str): Set point to the
8262 beginning of buffer before calling coding->post_read_conversion.
8263 (decode_coding_string): Give correct args to
8264 run_pre_post_conversion_on_str.
8265 (encode_coding_string): Likewise.
8266
eacfd7fe
KH
8267 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8268 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8269 eight-bit-graphic correctly.
8270
f8569325
DL
82712000-05-24 Kenichi HANDA <handa@etl.go.jp>
8272
8273 * fileio.c (Finsert_file_contents): Even if a file is not found,
8274 execute codes for setting up coding system. Call
8275 after-insert-file-functions unconditionally.
8276
04545643
GM
82772000-05-24 Gerd Moellmann <gerd@gnu.org>
8278
8279 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8280 BSD_PGRPS are not defined.
8281
747d90ea
KH
82822000-05-24 Kenichi Handa <handa@etl.go.jp>
8283
8284 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8285 DESCRIPTION.
8286 (syms_of_charset): Avoid building same strings.
8287
716e3b88
GM
82882000-05-23 Gerd Moellmann <gerd@gnu.org>
8289
8290 * lread.c (Fload): Add a comment about the meaning of
8291 Vuser_init_file being t.
8292
8293 * puresize.h (BASE_PURESIZE): Increase to 675000.
8294
8295 * s/gnu-linux.h (setpgrp): Don't define it here because this
8296 prevents compilation on GNU/Linux systems with glib 2.2.
8297
8298 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8299 as setpgid.
427ec082 8300
9aeb39fa
EZ
83012000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8302
8303 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8304 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8305 version.
8306 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8307
29ced61b
KH
83082000-05-23 Kenichi Handa <handa@etl.go.jp>
8309
52283633 8310 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8311
3d80f24d
KH
8312 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8313
52283633 8314 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8315
29ced61b
KH
8316 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8317
d7e00792
KH
83182000-05-22 Kenichi Handa <handa@etl.go.jp>
8319
c9d80d38
KH
8320 * keyboard.c (read_char): Allow character codes 128..255 to be
8321 handled by input-method-function.
8322
d7e00792
KH
8323 * insdel.c (adjust_markers_for_replace): Fix previous change.
8324 (adjust_after_replace): If PREV_TEXT is nil, call
8325 adjust_markers_for_insert, not adjust_markers_for_replace.
8326
087121cc 83272000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8328
087121cc
GM
8329 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8330 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8331 [HAVE_GRANDPT]: Define.
8332 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8333
8334 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8335 like SYSV_PTYS.
8336
8337 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8338
8339 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8340
c9671f81
KH
83412000-05-20 Kenichi Handa <handa@etl.go.jp>
8342
8343 The following changes are to handle 8-bit characters in a
8344 multibyte buffer/string without facing with byte combining
8345 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8346 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8347
8348 * Makefile.in (fns.o): Depend on charset.h.
8349
8350 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8351 convert it to unibyte.
8352 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8353
8354 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8355 apparent char boundary.
8356 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8357 0x80..0x9F to/from multibyte form.
8358
8359 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8360 to unibyte.
8361
8362 * callproc.c (Fcall_process): Always encode an argument string if
8363 it is multibyte. Setup src_multibyte and dst_multibyte members of
8364 process_coding properly.
ce75fd23 8365
c9671f81
KH
8366 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8367 SPLIT_NON_ASCII_CHAR.
8368
8369 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8370 as is.
8371 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8372
52283633 8373 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8374 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8375 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8376 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8377 and eight-bit-graphic.
8378 (char_to_string): Likewise. Signal an error for too large
8379 character code.
8380 (char_printable_p): Return 0 for 8-bit characters.
8381 (update_charset_table): Update iso_charset_table only when a final
8382 character is non-negative.
8383 (find_charset_in_text): Renamed from find_charset_in_str.
8384 Arguments and return value changed. Callers changed.
8385 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8386 be -1 if CHARSET is used only internally.
8387 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8388 eight-bit-graphic.
8389 (Fcharset_after): Simplified.
8390 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8391 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8392 (multibyte_chars_in_text): Simplified by assuming there's no
8393 invalid multibyte sequence.
52283633
SM
8394 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8395 (str_as_unibyte): New functions.
8396 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8397 (init_charset_once): Initialization for
8398 LEADING_CODE_8_BIT_CONTROL.
8399 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8400 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8401 eight-bit-control and eight-bit-graphic.
8402
52283633
SM
8403 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8404 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8405 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8406 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8407 (CHARSET_REVERSE_CHARSET): Likewise.
8408 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8409 eight-bit-graphic.
8410 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8411 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8412 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8413 encounter an invalid multibyte sequence.
8414 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8415 sequence is always valid.
8416 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8417 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8418 (CHAR_STRING): For 8-bit characters, call char_to_string.
8419 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8420 multibyte sequence is always valid.
8421 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8422 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8423 (str_as_unibyte): Extern them.
c9671f81 8424 (BCOPY_SHORT): Fix a bug.
52283633 8425 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8426 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8427 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8428 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8429
bd4bde7f 8430 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8431 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8432 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8433 (EMIT_BYTES): New macros.
8434 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8435 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8436 macros deleted.
8437 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8438 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8439 check the validity of multibyte sequence.
8440 (decode_coding_emacs_mule): New function.
8441 (encode_coding_emacs_mule): New macro.
8442 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8443 the source.
8444 (DECODE_ISO_CHARACTER): Just return a character code.
8445 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8446 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8447 EMIT_CHAR to produced decoded characters. Exit the loop only by
8448 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8449 block here.
8450 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8451 only position codes for an invalid character.
8452 (encode_designation_at_bol): Return new destination pointer. 5th
8453 arg DSTP is changed to DST.
8454 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8455 from the source by ONE_MORE_CHAR. Don't handle the case of last
8456 block here.
8457 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8458 macros deleted.
52283633
SM
8459 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8460 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8461 TWO_MORE_BYTES to fetch a byte from the source.
8462 (encode_eol): Pay attention to coding->src_multibyte.
8463 (detect_coding, detect_eol): Preserve members src_multibyte and
8464 dst_multibyte.
8465 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8466 (encoding_buffer_size): Set magnification to 3 for all coding
8467 systems that require encoding.
8468 (ccl_coding_driver): For decoding, be sure that the result is
8469 valid multibyte sequence.
8470 (decode_coding): Initialize coding->errors and coding->result.
8471 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8472 and raw-text, always call decode_eol. Handle the case of last
8473 block here. If not coding->dst_multibyte, convert the resulting
8474 sequence to unibyte.
8475 (encode_coding): Initialize coding->errors and coding->result.
8476 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8477 and raw-text, always call encode_eol. Handle the case of last
8478 block here.
8479 (shrink_decoding_region, shrink_encoding_region): Detect cases
8480 that we can't skip data more rigidly.
8481 (code_convert_region): Setup src_multibyte and dst_multibyte
8482 members of coding. For decoding, if the buffer is multibyte,
8483 convert the source sequence to unibyte in advance. For encoding,
8484 if the buffer is multibyte, convert the resulting sequence to
8485 multibyte afterward.
8486 (run_pre_post_conversion_on_str): New function.
8487 (code_convert_string): Deleted and divided into the following two.
8488 (decode_coding_string, encode_coding_string): New functions.
8489 (code_convert_string1, code_convert_string_norecord): Call one of
8490 above.
8491 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8492 MAKE_NON_ASCII_CHAR.
52283633
SM
8493 (Fset_terminal_coding_system_internal)
8494 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8495 and dst_multibyte members.
8496 (init_coding_once): Initialize iso_code_class with new enum
8497 ISO_control_0 and ISO_control_1.
8498
8499 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8500 devided into ISO_control_0 and ISO_control_1.
8501 (struct coding_system): New members src_multibyte, dst_multibyte,
8502 errors, and result. Delete member fake_multibyte.
8503 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8504 nonzero.
8505 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8506 nonzero.
8507
8508 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8509 (Faset): Likewise.
8510
8511 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8512 multibyte form.
8513 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8514 combining occurs.
8515 (Ftranspose_region): Delete codes for handling byte combining.
8516
8517 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8518 dst_multibyte members of coding. On handling REPLACE on unibyte
8519 buffer, convert the result of decode_coding to unibyte. On
8520 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8521 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8522 multibyteness of the source (buffer or string).
8523
8524 * fns.c (concat): Handle 8-bit characters correctly.
8525 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8526 unibyte in the result.
8527 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8528 valid multibyte form in the result.
8529 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8530 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8531 return -1, signal an error.
8532 (base64_encode_1): New arg MULTIBYTE. Get each character by
8533 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8534 character is found, return -1.
8535 (Fbase64_decode_region): Delete codes for handling byte-combining.
8536 Treat each decoded byte as a unibyte character.
8537 (Fbase64_decode_string): Return unibyte string.
8538 (Fcompare_strings, concat, string_byte_to_char): Use
8539 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8540 FETCH_STRING_CHAR_ADVANCE.
8541 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8542 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8543
8544 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8545 SPLIT_NON_ASCII_CHAR.
8546 (fontset_ref_via_base, fontset_set): Likewise
8547
8548 * insdel.c (adjust_markers_for_record_delete): Deleted.
8549 (adjust_markers_for_insert): Argument changed. Caller changed.
8550 (adjust_markers_for_replace): Likewise.
52283633
SM
8551 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8552 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8553 (copy_text): Delete unused local varialbe c_save. For converting
8554 to multibyte, be sure to make all 8-bit characters in valid
8555 multibyte form.
8556 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8557 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8558 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8559 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8560 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8561 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8562 handling byte combining.
8563 (adjust_before_replace): Deleted.
427ec082 8564
c9671f81
KH
8565 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8566 SPLIT_NON_ASCII_CHAR.
8567 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8568 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8569 (Fkey_description): Likewise.
8570
8571 * lread.c (read1): On reading multibyte string, be sure to make
8572 all 8-bit chararacters in valid multibyte form.
8573 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8574
8575 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8576 unconditionally.
8577
8578 * process.c (Fstart_process): GCPRO current_dir before calling
8579 Ffind_operation_coding_system. Encode arguments here.
8580 (create_process): Don't encode arguments here. Setup
8581 src_multibyte and dst_multibyte members of struct coding.
8582 (read_process_output): Setup src_multibyte and dst_multibyte
8583 members of struct coding. If the output is to multibyte buffer,
8584 always decode the output of the process. Adjust the
52283633 8585 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8586 (send_process): Setup coding->src_multibyte according to the
8587 multibyteness of the source.
8588
52283633 8589 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8590 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8591 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8592
52283633 8593 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8594
8595 * w16select.c (Fw16_set_clipboard_data): Setup members
8596 src_multibyte and dst_multibyte of coding. Adjusted for the
8597 change for find_charset_in_str.
8598 (Fw16_get_clipboard_data): Likewise.
8599
8600 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8601 dst_multibyte of coding.
8602 (x_to_w32_font): Likewise.
8603
8604 * w32select.c (Fw32_set_clipboard_data): Setup members
8605 src_multibyte and dst_multibyte of coding. Adjusted for the
8606 change for find_charset_in_str.
8607 (Fw32_get_clipboard_data): Likewise.
8608
8609 * xdisp.c (get_next_display_element): Handle 8-bit characters
8610 correctly.
52283633
SM
8611 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8612 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8613
8614 * xselect.c (selection_data_to_lisp_data): Setup members
8615 src_multibyte and dst_multibyte of coding. Adjusted for the
8616 change for find_charset_in_str.
8617 (lisp_data_to_selection_data): Likewise.
8618
5f64c9e0
GM
86192000-05-19 Gerd Moellmann <gerd@gnu.org>
8620
52283633 8621 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8622
5f64c9e0
GM
8623 * dispextern.h (Vimage_types): Add extern declaration.
8624
8625 * xdisp.c (Vimage_types): Moved here from xfns.c.
8626 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8627
8628 * xfns.c (Vimages_types): Moved to xdisp.c.
8629 (syms_of_xfns): Move `image-types' to xdisp.c.
8630
8631 * w32fns.c (Vimage_types): Removed.
8632 (syms_of_w32fns): Remove `image-types'.
8633
813086ea
KH
86342000-05-18 Kenichi Handa <handa@etl.go.jp>
8635
8636 * fns.c (map_char_table): Pay attention to character number of
8637 charset. Check the validity of charset at the first level. For
8638 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8639 the default value.
8640
8641 * fontset.c: Include "buffer.h".
8642 (fs_load_font): If the face has fontset, record the face ID in
8643 that fontset.
8644 (Finternal_char_font): New function.
8645 (accumulate_font_info): New function.
8646 (Ffontset_info): Rewritten for the new fontset implementation.
8647 (syms_of_fontset): Register Vdefault_fontset in the first element
8648 of Vfontset_table. Include Vdefault_fontset in
8649 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8650 function.
8651
bdaebbf0
DL
86522000-05-16 Dave Love <fx@gnu.org>
8653
8654 * m/iris5d.h: Deleted -- unused.
8655
cb613bb8
GM
86562000-05-16 Gerd Moellmann <gerd@gnu.org>
8657
b15f3b77
GM
8658 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8659 `invalid' instead of `illegal'.
8660
8661 * indent.c (Fmove_to_column): When ending within a tab, insert
8662 spaces first so that markers at the end of the tab get adjusted.
8663
835c1b36
GM
8664 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8665 buffer list that wasn't selected in that frame.
8666
cb613bb8
GM
8667 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8668 is needed on mescaline, use a 2 char prefix, and call
8669 make_temp_name with second arg non-zero.
8670
8671 * fileio.c (make_temp_name): New function, extracted from
8672 Fmake_temp_name.
8673 (Fmake_temp_name): Use it.
8674
f685bea9
EZ
86752000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8676
52283633 8677 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8678
a1b8d58b
GM
86792000-05-15 Gerd Moellmann <gerd@gnu.org>
8680
8681 * Makefile.in (lisp): Add env.elc.
8682
8683 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8684
a265079f
GM
86852000-05-12 Gerd Moellmann <gerd@gnu.org>
8686
8687 * search.c (Freplace_match): Handle case of `\N' in the
8688 replacement when there's no group N.
8689
da4496b6
GM
86902000-05-11 Gerd Moellmann <gerd@gnu.org>
8691
0ace421a
GM
8692 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8693 of the message to message_dolog.
8694
1172eb8d
GM
8695 * keyboard.c (read_char): Don't clear current message for help
8696 events; let the code handling help events handle this. Change
8697 code detecting help events that should be ignored.
8698
da4496b6
GM
8699 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8700 we're interating over a string.
8701
0623e40f
DL
87022000-05-09 Dave Love <fx@gnu.org>
8703
8704 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8705 that offset before writing. Move gcpro region past call of
8706 Ffile_regular_p.
8707
bae2503b
DL
87082000-05-04 Dave Love <fx@gnu.org>
8709
8710 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8711
ec82fb2f
GM
87122000-05-04 Gerd Moellmann <gerd@gnu.org>
8713
8714 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8715 of inserted characters when BUF equals the current buffer, and PT
8716 is in front of or equal to FROM.
8717
cbf18892
GM
87182000-05-03 Gerd Moellmann <gerd@gnu.org>
8719
4ff40dd0
GM
8720 * xdisp.c (handle_single_display_prop): If display property value
8721 is invalid, or something not supported on the frame, restore
8722 iterator's position to what it was initially. Make sure to return
8723 0 for invalid and unsupported property values.
8724
cbf18892
GM
8725 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8726 that x_per_char_metric returns null.
8727
1b0672c3
GM
87282000-05-02 Gerd Moellmann <gerd@gnu.org>
8729
576da55d
GM
8730 * xterm.h (struct face): Add forward declaration.
8731 (struct image): Ditto.
8732 (image_ascent): Add prototype.
8733
8734 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8735 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8736 image_ascent instead of using IMAGE_ASCENT.
8737
8738 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8739 (IMAGE_ASCENT): Removed.
8740
8741 * xfns.c (Qcenter): New variable.
8742 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8743 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8744 (image_ascent): New function.
8745 (lookup_image): Recognize `:ascent center'.
8746 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8747 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8748 (xbm_load): Don't set image's ascent here.
8749 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8750 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8751 check ascent values here.
8752 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8753 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8754 (syms_of_xfns): Initialize Qcenter.
8755
1b0672c3
GM
8756 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8757 to the limits, increase the limits.
8758
0d7811ed
KH
87592000-05-01 Kenichi Handa <handa@etl.go.jp>
8760
8761 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8762 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8763
a943a5ca
GM
87642000-04-28 Gerd Moellmann <gerd@gnu.org>
8765
8766 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8767 taller than the window.
8768
5dba1e29
KH
87692000-04-28 Kenichi Handa <handa@etl.go.jp>
8770
8771 * xfaces.c (realize_x_face): Fix the argument of the second
8772 xassert. BASE_FACE may not be a face for ASCII.
8773
353964e3
GM
87742000-04-27 Gerd Moellmann <gerd@gnu.org>
8775
c76e04a8
GM
8776 * print.c (print_object): Treat print-length < 0 as nil.
8777
8778 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8779
8780 * s/freebsd.h (TERMCAP_OBJ): Removed.
8781 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8782
8783 * lread.c (read1): Don't treat period followed by certain
8784 characters as symbol start.
8785
8786 * xfns.c (slurp_file): New function.
8787 (xbm_image_p): Handle case of in-memory XBM files.
8788 (xbm_scan): Rewritten to work on memory buffers instead of files.
8789 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8790 Work on memory buffers instead of files. If DATA is null test
8791 if buffer looks like an in-memory XBM file.
8792 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8793 memory buffers instead of files.
8794 (xbm_file_p): New function.
8795 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8796
353964e3
GM
8797 * lread.c (end_of_file_error): New function.
8798 (read1): Call it instead of signaling `end-of-file' directly.
8799
427ec082 8800 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8801 with Fprinc instead of Fprin1.
8802
24d744ac
KR
88032000-04-26 Ken Raeburn <raeburn@gnu.org>
8804
8805 * window.c (freeze_window_start): Check that minibuffer scroll
8806 window isn't nil before extracting the window structure pointer
8807 from it.
8808
8809 * undo.c (record_delete): If we hit the end of the undo list, stop
8810 picking elements apart.
8811
7464346d
GM
88122000-04-26 Gerd Moellmann <gerd@gnu.org>
8813
8814 * xdisp.c (display_line): If lines are continued, restore
8815 iterator's ascent/descent information to the values before the
8816 first glyph not fitting on the line.
8817
612839b6
GM
88182000-04-25 Gerd Moellmann <gerd@gnu.org>
8819
8820 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8821 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8822
8823 * dispnew.c (increment_matrix_positions): Renamed from
8824 increment_glyph_matrix_buffer_positions.
8825 (increment_row_positions): Renamed from
8826 increment_glyph_row_buffer_positions.
8827
8828 * dispextern.h: Change names of renamed functions from dispnew.c
8829 in prototypes.
8830
cc181e95
GM
88312000-04-24 Gerd Moellmann <gerd@gnu.org>
8832
abfcc168
GM
8833 * fileio.c (Fdo_auto_save): Create directories for auto-save
8834 list file if necessary.
8835
cc181e95
GM
8836 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8837 from buffer or frame.
8838 (automatic_hscrolling_p): New variable.
8839 (hscroll_windows): Scroll windows horizontally only if automatic
8840 hscrolling is allowed.
8841 (syms_of_xdisp): New variable `automatic-hscrolling'.
8842
8843 * frame.h (struct frame): Add member extra_line_spacing.
8844
8845 * xfns.c (x_set_line_spacing): New function.
8846 (Fx_create_frame): Set line spacing from resources.
8847 (Qline_spacing): New variable.
8848 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8849
cc181e95
GM
8850 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8851
8852 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8853 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8854 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8855 extra_line_spacing from default value.
8856 (init_buffer_once): Initialize default value of extra_line_spacing.
8857
8858 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8859 and extra3.
8860
8861 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8862 prompt_width. Add extra line spacing.
8863
8864 * term.c (produce_glyphs): Remove reference to struct it's
8865 prompt_width.
8866
8867 * dispextern.h (struct it): Remove member prompt_width, add
8868 extra_line_spacing.
8869
58827478
GM
88702000-04-22 Gerd Moellmann <gerd@gnu.org>
8871
8872 * dispnew.c (update_frame_line): When writing a whole line, make
8873 sure cursor is in the right row afterwards, otherwise a use of
8874 capability `ch' in cmgoto might leave the cursor in the row below.
8875
25a87f42
GM
88762000-04-21 Gerd Moellmann <gerd@gnu.org>
8877
8878 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8879
8880 * keyboard.c (timer_check): Fix typo in comment.
8881
54edf5c2
KH
88822000-04-21 Kenichi Handa <handa@etl.go.jp>
8883
8884 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8885 name change: ch -> character.
8886
3a64eef5
GM
88872000-04-20 Gerd Moellmann <gerd@gnu.org>
8888
8889 * keyboard.c (echo_message_buffer): New variable.
8890 (echo_now): Set echo_message_buffer to the echo area buffer used
8891 to display the echo.
8892 (cancel_echoing): Reset echo_message_buffer to nil.
8893 (read_char): Code rewritten that handles canceling an echo or
8894 echoing a dash, respectively.
8895
8896 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8897 directory doesn't exist.
8898
6142fdcb
DL
88992000-04-19 Dave Love <fx@gnu.org>
8900
8901 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8902 (concat): Don't allow numeric args.
8903 (Fconcat): Doc change.
6142fdcb 8904
ac6b5352
SM
89052000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8906
8907 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8908 instead define end_match(1|2) more carefully.
8909 Use GET_CHAR_BEFORE_2 for `begline'.
8910
cb9215e4
GM
89112000-04-19 Gerd Moellmann <gerd@gnu.org>
8912
5e3dac3f
GM
8913 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8914 on 64-bit systems where NULL is defined as `0'.
8915
8916 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8917 the `variable argument list' to make it work on Alpha.
8918
cb9215e4
GM
8919 * m/alpha.h (_LP64) [!_LP64]: Define.
8920 (ORDINARY_LINK): Define for NetBSD.
8921
8922 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8923
f532dca0
DL
89242000-04-19 Dave Love <fx@gnu.org>
8925
c750667e
DL
8926 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8927 change.
8928
8929 * Makefile.in (LIBS): Don't use.
8930 (GETLOADAVG_OBJ): Define again.
8931 (otherobj): Add GETLOADAVG_OBJ.
8932
f532dca0
DL
8933 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8934
1c7e22fd
GM
89352000-04-18 Gerd Moellmann <gerd@gnu.org>
8936
f6d3257b
GM
8937 * lread.c (read_filtered_event): Cancel and start busy cursor.
8938
427ec082 8939 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8940 that the per-character metrics may be null.
8941
e10f64e7
GM
89422000-04-17 Gerd Moellmann <gerd@gnu.org>
8943
0daee095
GM
8944 * buffer.c (clone_per_buffer_values): New function.
8945 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8946 clone_per_buffer_values if CLONE is not nil.
8947
e10f64e7
GM
8948 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8949
38687d43
DL
89502000-04-16 Dave Love <fx@gnu.org>
8951
8952 * Makefile.in: Remove obsolete localcpp stuff.
8953 (GETLOADAVG_OBJ): Don't define.
8954 (obj): Move LIBOBJS...
8955 (otherobj): ... to here.
8956 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8957 whitespace-only lines after the continuation (Irix).
8958
c21c7262
GM
89592000-04-14 Gerd Moellmann <gerd@gnu.org>
8960
8961 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8962
8963 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8964
314767c0
DL
89652000-04-14 Dave Love <fx@gnu.org>
8966
8967 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8968 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8969 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8970 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8971 NLIST_STRUCT.
8972
8973 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8974 autoconfiscated HAVE_GETLOADAVG.
8975
8976 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8977 BROKEN_MKTIME.
8978
a2522dca
GM
89792000-04-14 Gerd Moellmann <gerd@gnu.org>
8980
8981 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8982 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8983
33744b5d
DL
89842000-04-14 Dave Love <fx@gnu.org>
8985
c21c7262 8986 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8987 (INTERVAL_SRC): Convert to make variable.
8988 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8989 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8990 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8991 add LIBOBJS.
8992 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8993 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8994 (shortlisp): Add facemenu, float-sup, frame.
8995 (SOME_MACHINE_LISP): Remove them from here.
8996 (LIBES): Change unused LDLIBS to autoconf LIBS.
8997
8998 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8999
9d3d5916
KH
90002000-04-14 Kenichi Handa <handa@etl.go.jp>
9001
9002 * composite.c (update_compositions): If FROM and TO are not in a
9003 valid range, do nothing.
9004
198e3c7a
GM
90052000-04-13 Gerd Moellmann <gerd@gnu.org>
9006
52283633 9007 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9008
52283633 9009 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9010
9011 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9012 as TERMCAP_OBJ.
9013
055a28c9
EZ
90142000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9015
9016 * fileio.c (a_write): Remove redundant semi-colons.
9017 (e_write): Return -1 if failed to write all the data.
9018 This fixes the changes made at 1999-12-15.
9019
f5c75033
DL
90202000-04-12 Dave Love <fx@gnu.org>
9021
9022 * fns.c (mapcar1): Test for null vals to support mapc.
9023 (Fmapc): New function.
9024
0c3cfc51
EZ
90252000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9026
9027 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9028 (IT_frame_up_to_date): Support the buffer local value of
9029 cursor-type, if defined.
9030
33465a31
DL
90312000-04-10 Dave Love <fx@gnu.org>
9032
9033 * editfns.c (preceding-char, following-char): Doc fix.
9034
6ed56568
KR
90352000-04-10 Ken Raeburn <raeburn@gnu.org>
9036
9037 * Makefile.in (temacs): Revert 2000-03-12 change.
9038
7cf80d4e
JR
90392000-04-10 Jason Rumney <jasonr@gnu.org>
9040
9041 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9042
34f3f342
GM
90432000-04-10 Gerd Moellmann <gerd@gnu.org>
9044
1a1b1895
GM
9045 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9046 area buffer, if it's not set up yet.
9047
34f3f342
GM
9048 * indent.c (compute_motion): Set immediate_quit.
9049
be0dbdab
GM
90502000-04-09 Gerd Moellmann <gerd@gnu.org>
9051
52283633 9052 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9053 (realize_tty_face): Suppress boldness if colors are the inverse of
9054 the default colors, and tty_suppress_bold_inverse_default_colors_p
9055 is set.
9056 (Ftty_suppress_bold_inverse_default_colors): New function.
9057 (syms_of_xfaces): Defsubr it.
9058
be0dbdab
GM
9059 * buffer.c (Frestore_buffer_modified_p): New function.
9060 (syms_of_buffer): Defsubr it.
9061
e8413c3b
KR
90622000-04-08 Ken Raeburn <raeburn@gnu.org>
9063
87f67317
KR
9064 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9065 charset id (int) argument, not a charset (Lisp_Object).
9066
e8413c3b
KR
9067 * coding.h (code_convert_string): Declare.
9068 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9069 object, as the fourth argument to code_convert_string.
9070
52283633 9071 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9072 (Fset_fontset_font): Use EQ to compare lisp objects.
9073
7c752c80
KR
90742000-04-05 Ken Raeburn <raeburn@gnu.org>
9075
c0333abc
KR
9076 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9077 a pointer that looks like a lisp object.
9078 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9079 zero, instead see whether it's an integer object, since they can't
9080 have intervals.
9081 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9082
52283633
SM
9083 * dispnew.c (allocate_matrices_for_frame_redisplay)
9084 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9085 to convert between (unsigned) int values and lisp integers.
9086 * keyboard.c (read_key_sequence): Likewise.
9087 * lread.c (substitute_object_recurse): Likewise.
9088 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9089 * minibuf.c (do_completion, Fminibuffer_complete_word)
9090 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9091 * term.c (produce_special_glyphs): Likewise.
9092
9093 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9094 * print.c (print_preprocess, print_object): Likewise.
9095
9096 * search.c (compile_pattern): Use NILP when checking for nil.
9097
74e49b38
KR
9098 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9099 __OPTIMIZE__]: Provide a GNU C macro version that handles
9100 lisp-object unions.
9101 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9102 field, to better cope with ENABLE_CHECKING and calls that modify a
9103 Lisp_Object using its old value.
9104
685e5ed2
GM
91052000-04-04 Gerd Moellmann <gerd@gnu.org>
9106
c407c570
GM
9107 * window.c (compare_window_configurations): Signal an error
9108 if parameters C1 or C2 aren't window configurations.
9109
685e5ed2
GM
9110 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9111 AFTER_POTENTIAL_GC calls around calls to functions that can
9112 signal an error and thus invoke the debugger.
9113
587a49ab
GM
91142000-04-03 Gerd Moellmann <gerd@gnu.org>
9115
62f20204
GM
9116 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9117 an error if decoding fails.
9118
587a49ab
GM
9119 * keyboard.c (lispy_mouse_names): Variable removed.
9120 (Vlispy_mouse_stem): New variable.
9121 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9122 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9123 for any mouse button number. Increase size of mouse_syms and
9124 button_down_location as needed. Call modify_event_symbol with
9125 different arguments.
9126 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9127 Call modify_event_symbol with different arguments.
9128 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9129 for any button number. Call modify_event_symbol with different
9130 arguments.
9131 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9132 Accept a string for NAME_ALIST_OR_STEM.
9133
9134 * lisp.h (larger_vector): Add prototype.
9135
9136 * fns.c (larger_vector): Make externally visible.
9137
9138 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9139
2d1675e4
SM
91402000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9141
9142 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9143 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9144 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9145 we are between str1 and str2.
9146 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9147 (PATFETCH): Use `TRANSLATE'.
9148 (PATFETCH_RAW): Fetch multibyte char if applicable.
9149 (PATUNFETCH): Remove.
9150 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9151 When writing a char, write it directly into the pattern buffer rather
9152 than going needlessly through a temp char-array.
9153 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9154 multibyte magic and remove the useless `#ifdef emacs'.
9155 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9156 buffer.
9157
9158 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9159 conditional on `emacs'.
9160
9161 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9162
cc2d8c6b
KR
91632000-04-01 Ken Raeburn <raeburn@gnu.org>
9164
9165 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9166 non-union-type versions of XMARK and friends here, because XMARK
9167 and friends won't work on an integer field if NO_UNION_TYPE is not
9168 defined.
52283633 9169 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9170
52283633 9171 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9172 (syms_of_composite): Delete local var NARGS, pass an int as first
9173 argument to Fmake_hash_table.
9174
2387b382
KR
9175 * editfns.c (text_property_stickiness): Use NILP to test
9176 Lisp_Object boolean value.
9177 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9178 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9179 problems reading from and changing the same lisp value in an
9180 XSETSTRING call.
9181
27660e89
GM
91822000-04-01 Gerd Moellmann <gerd@gnu.org>
9183
9184 * term.c (TN_no_color_video): New variable.
9185 (term_init): Intitialize TN_no_color_video.
9186 (enum no_color_bit): New enumeration.
9187 (MAY_USE_WITH_COLORS_P): New macro.
9188 (turn_on_face): Use it to determine if attributes may be used
9189 combined with colors.
9190
3578db3c
KR
91912000-04-01 Ken Raeburn <raeburn@gnu.org>
9192
9193 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9194 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9195 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9196 proper accessor macros.
9197 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9198 (grow_mini_window): Fix typo getting int value of root->height.
9199
6fc556fd
KR
9200 * xdisp.c (compute_string_pos): Fix order of arguments to
9201 string_pos_nchars_ahead.
9202 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9203 count arg to variable-arg routines like Frun_hook_with_args and
9204 Fformat.
587a49ab
GM
9205 (back_to_previous_visible_line_start)
9206 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9207 fixed-arg routines like Fget_char_property and Fmake_string.
9208 (reconsider_clip_changes): Use XINT when comparing integer lisp
9209 objects, or passing them as int arguments.
587a49ab
GM
9210 (mark_window_display_accurate, insert_left_trunc_glyphs)
9211 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9212 storing or passing integer values as lisp objects.
9213 (set_cursor_from_row, highlight_trailing_whitespace): Use
9214 INTEGERP, not implicit test against zero, for glyph object.
9215 (try_window_id): Don't use make_number when we want an int value.
9216
9217 * xfaces.c (xlfd_symbolic_value): Make last argument a
9218 Lisp_Object, to be consistent with callers.
9219 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9220 (lface_hash): Apply XFASTINT to lisp values before folding in.
9221
9222 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9223 fill in window width and height. Pass an int, not a lisp object,
9224 as first arg to Finsert.
9225
6e7b2457
GM
92262000-04-01 Gerd Moellmann <gerd@gnu.org>
9227
610d841e
GM
9228 * xfaces.c (realize_basic_faces): Block input while realizing
9229 the faces.
9230
6e7b2457
GM
9231 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9232
9233 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9234
aa110c0c
GM
92352000-03-31 Gerd Moellmann <gerd@gnu.org>
9236
9237 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9238 or ASCII, handle case that per-char metric is null.
aa110c0c 9239
8801a864
KR
92402000-03-30 Ken Raeburn <raeburn@gnu.org>
9241
c6129d7e
KR
9242 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9243
52283633
SM
9244 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9245 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9246 pointer, using eassert.
9247 * frame.h (XFRAME): Likewise.
9248
52283633
SM
9249 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9250 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9251 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9252 * data.c (set_internal): Likewise.
52283633
SM
9253 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9254 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9255 * fileio.c (auto_save_1): Likewise.
9256 * insdel.c (check_markers): Likewise.
9257 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9258 * undo.c (record_insert): Likewise.
9259 * vmsproc.c (child_sig): Likewise.
9260 * window.c (unshow_buffer, window_loop): Likewise.
9261 * xterm.c (x_erase_phys_cursor): Likewise.
9262
8e7af858
GM
92632000-03-30 Gerd Moellmann <gerd@gnu.org>
9264
9265 * xfns.c (free_image_cache): Free the cache structure itself
9266 last, after all its members have been freed.
9267
9268 * lisp.h (xstrdup): Add prototype.
9269
9270 * alloc.c (xstrdup): Moved here from xfaces.c.
9271 (allocating_for_lisp): Variable removed.
52283633 9272 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9273
9274 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9275 of Fsymbol_value.
9276 (xstrdup): Moved to alloc.c.
9277
e0b8c689
KR
92782000-03-29 Ken Raeburn <raeburn@gnu.org>
9279
b96f9fb7
KR
9280 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9281
9282 * emacs.c (main): Fix sense of no-loadup test.
9283
e0b8c689
KR
9284 * config.in (ENABLE_CHECKING): Undef.
9285
9286 * lisp.h (struct interval): Replace "parent" field with a union of
9287 interval pointer and Lisp_Object; add new bitfield to use as
9288 discriminant. Change other flag fields to bitfields.
9289 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9290 is defined and the supplied test fails, print a message and abort.
9291 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9292
9293 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9294 pointers; abort if the value looks like a lisp object.
52283633
SM
9295 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9296 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9297 Modify for new interval parent definition.
9298
52283633
SM
9299 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9300 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9301 addressable lisp object in the interval structure.
9302 (die): New function.
9303 (suppress_checking): New variable.
9304
9305 * intervals.c (interval_start_pos): Just return 0 if there's no
9306 parent object.
9307
f83c5440
GM
93082000-03-29 Gerd Moellmann <gerd@gnu.org>
9309
9310 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9311 and earlier Emacs versions.
9312
9313 * keyboard.c (Ftop_level): Cancel busy-cursor.
9314
9315 * eval.c (call_debugger): Cancel busy-cursor.
9316
fdce64ff
KH
93172000-03-29 Kenichi Handa <handa@etl.go.jp>
9318
9319 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9320 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9321
f6a3f532
SM
93222000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9323
9324 * regex.c (analyse_first): New function obtained by ripping out most
9325 of re_compile_fastmap and generalizing it a little bit so that it
9326 can also just return whether a given (sub)pattern can match the empty
9327 string or not.
9328 (regex_compile): Use `analyse_first' to decide whether the loop-check
9329 needs to be done or not for *, +, *? and +? (the loop check is costly
9330 for non-greedy repetition).
9331 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9332
e9b309ac
DL
93332000-03-28 Dave Love <fx@gnu.org>
9334
52283633 9335 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9336
e9b309ac
DL
9337 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9338
ed0767d8
SM
93392000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9340
9341 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9342 an expression.
9343 (enum re_opcode_t): Update description of succeed_n.
9344 (PATFETCH): Always define.
9345 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9346 operators, char classes, shy-groups and intervals).
9347 Optimize special cases of intervals so as to only use succeed_n and
9348 jump_n when really needed.
9349 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9350 that we don't have to handle the special cases any more.
9351 Simplify on_failure_jump handling as well.
9352
e11e7e46
JR
93532000-03-28 Jason Rumney <jasonr@gnu.org>
9354
9355 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9356
88faab89
GM
93572000-03-27 Gerd Moellmann <gerd@gnu.org>
9358
182ff242
GM
9359 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9360
9361 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9362
182ff242
GM
9363 * alloc.c (mark_maybe_object): New function.
9364 (mark_memory): Use it.
9365 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9366 (setjmp_tested_p, longjmp_done): New variables.
9367 (test_setjmp): New function.
9368 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9369 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9370
c1005d06
GM
9371 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9372 to DEC_TEXT_POS and INC_TEXT_POS.
9373
9374 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9375 with parameter MULTIBYTE_P.
9376
52283633 9377 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9378
7439e5b9 9379 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9380 buffers because it looks for multibyte character byte sequences
9381 which don't exist in unibyte text.
7439e5b9 9382
d9c545da
GM
9383 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9384
11fd416e 9385 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9386 [DEBUG_X_COLORS]: New functions.
9387 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9388
9389 * xfns.c (x_set_cursor_color): Get color reference counts right.
9390
9391 * xterm.c (x_copy_color): New function.
9392 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9393
9394 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9395 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9396 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9397 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9398 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9399 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9400 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9401 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9402 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9403 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9404
11fd416e
GM
9405 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9406 names for handling per-buffer variables.
d9c545da
GM
9407
9408 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9409 instead of MAX_BUFFER_LOCAL_VARS.
9410 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9411
9412 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9413
88faab89
GM
9414 * xfns.c (x_specified_cursor_type): New function.
9415 (x_set_cursor_type): Use it.
9416
9417 * buffer.h (struct buffer): Add cursor_type.
9418
d80f42b7
SM
94192000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9420
9421 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9422 (print_partial_compiled_pattern, re_compile_fastmap):
9423 Handle new opcode.
d80f42b7
SM
9424 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9425 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9426 executing it as well as when popping it off the stack to find infinite
9427 loops in non-greedy repetition operators.
9428
89e80928
GM
94292000-03-26 Gerd Moellmann <gerd@gnu.org>
9430
3d4ff2dd
GM
9431 * doc.c (Qfunction_documentation): New variable.
9432 (syms_of_doc): Initialize Qfunction_documentation.
9433 (Fdocumentation): If FUNCTION is a symbol with non-nil
9434 `function-documentation' property, return a documentation derived
9435 from that.
9436
bd96bd79
GM
9437 * buffer.c (syms_of_buffer): Add default-cursor-type.
9438 (init_buffer_once): Don't let cursor_type have a local value
9439 in every buffer.
9440
19d1bc27
GM
9441 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9442 on buffer-local value of cursor_type.
9443 (x_draw_bar_cursor): Add parameter WIDTH.
9444
9445 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9446 (init_buffer_once): Set default cursor_type value to t.
9447 Mark cursor_type as local everywhere.
9448 (syms_of_buffer): New per-buffer variable cursor-type.
9449
89e80928
GM
9450 * buffer.h (struct buffer): Remove member local_var_flags,
9451 add local_flags.
9452 (MAX_BUFFER_LOCAL_VARS): New macro.
9453 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9454 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9455 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9456 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9457
52283633 9458 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9459
9460 * category.c (Fset_category_table): Use new macros for per-buffer
9461 variables.
9462
9463 * buffer.c (buffer_permanent_local_flags): Make a char array.
9464 (max_buffer_local_idx): New variable.
9465 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9466 for new handling of per-buffer variables.
9467 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9468 (init_buffer_once): Initialize per-buffer vars differently.
9469 Set max_buffer_local_idx.
9470
9471 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9472 variables.
9473
52283633 9474 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9475
9476 * data.c (do_symval_forwarding, store_symval_forwarding)
9477 (find_symbol_value, set_internal, default_value, Fset_default)
9478 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9479 per-buffer variables.
9480
9481 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9482
9a0dd3dc
GM
94832000-03-24 Gerd Moellmann <gerd@gnu.org>
9484
b68c375f
GM
9485 * xterm.c (x_term_init): Unblock input around call1 of
9486 Qvendor_specific_keysyms.
9487
9a0dd3dc
GM
9488 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9489 (find_defun_start): Consider an open parenthesis in column 0
9490 a defun start only if open_paren_in_column_0_is_defun_start is set.
9491 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9492
7973e637
SM
94932000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9494
9495 * eval.c (Fautoload): Add entry in load-history (if after dump).
9496 * lread.c (load-history): Update docstring.
9497
39210e90
GM
94982000-03-24 Gerd Moellmann <gerd@gnu.org>
9499
9500 * indent.c (Fvertical_motion): Always use the current buffer.
9501 Temporarily change the window's buffer, if necessary.
9502
72db3ab5
GM
95032000-03-23 Gerd Moellmann <gerd@gnu.org>
9504
9505 * xterm.c (fast_find_position): Make sure not to consider rows
9506 not visible in the window.
9507
990b2375
SM
95082000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9509
9510 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9511 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9512
ff4df011
JR
95132000-03-22 Jason Rumney <jasonr@gnu.org>
9514
9515 * w32menu.c (single_submenu): Set help string to NULL if none.
9516 (w32_menu_show): Set help string correctly.
9517 (add-menu-item): Set help string in MIIM_DATA for menu item.
9518 Load SetMenuItemInfoA explicitly.
9519 (w32_menu_display_help): New function.
427ec082 9520
ff4df011
JR
9521 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9522 (QCdata): Moved to xdisp.c.
9523
9524 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9525 (Vw32_charset_to_codepage_alist): Removed.
9526 (Vw32_charset_info_alist): New variable.
52283633
SM
9527 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9528 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9529 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9530 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9531 with TODO comment.
9532 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9533 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9534 Define Vw32_charset_info_alist and w32_charset symbols.
9535
95362000-03-22 Jason Rumney <jasonr@gnu.org>
9537
9538 * makefile.nt (w32bdf.obj): Update dependencies.
9539
9540 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9541
9542 * w32fns.c: Include fontset.h after dispextern.h.
9543 (Fx_create_frame): Do not create fontset.
9544 (w32_load_system_font): Doc fix.
9545 (Fx_close_connection): Free full_name if it is not shared.
9546
9547 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9548 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9549 Callers updated.
ff4df011
JR
9550 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9551 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9552 (w32_font_is_double_byte): New function, needs body.
9553 (x_append_glyph): Set glyph->glyph_not_available_p.
9554 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9555 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9556 character, convert it to a unibyte character.
9557 (struct glyph_string): Delete member `charset'.
9558 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9559 calculating it is found.
9560 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9561 the case that per char metric is not available correctly.
9562 (x_fill_glyph_string): Handle the case that the specific glyph is
9563 not available correctly.
9564 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9565 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9566 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9567 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9568 fontset. Don't call FS_LOAD_FONT.
9569
439d5cb4
KR
95702000-03-22 Ken Raeburn <raeburn@gnu.org>
9571
9572 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9573 (INT_LISPLIKE): New macro.
9574 (NULL_INTERVAL_P): Use it.
52283633
SM
9575 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9576 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9577 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9578
9579 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9580 explicit references to "parent" field of struct interval and
9581 associated unclean type conversions.
52283633
SM
9582 * intervals.c (create_root_interval, root_interval, rotate_right)
9583 (rotate_left, balance_possible_root_interval, split_interval_right)
9584 (split_interval_left, interval_start_pos, find_interval)
9585 (next_interval, previous_interval, update_interval)
9586 (adjust_intervals_for_insertion, delete_node, delete_interval)
9587 (adjust_intervals_for_deletion, merge_interval_right)
9588 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9589 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9590 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9591 Likewise.
9592 * syntax.c (update_syntax_table): Likewise.
9593
9594 * intervals.c (reproduce_tree_obj): New function, like
9595 reproduce_tree but takes a Lisp_Object for the parent. Declare
9596 with prototype.
9597 (graft_intervals_into_buffer): Use it when appropriate.
9598 (reproduce_tree): Declare with prototype.
9599 (balance_possible_root_interval): Check that the parent is a lisp
9600 object before trying to examine its type.
9601
ee1c5b21
GM
96022000-03-22 Gerd Moellmann <gerd@gnu.org>
9603
9604 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9605 as strings only if both are known to be strings.
9606
9607 * s/openbsd.h (LIBS_TERMCAP): Undef.
9608
1fb352e0
SM
96092000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9610
9611 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9612 definitions for non-Emacs compilation.
9613 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9614 outside of `#ifdef emacs'.
9615 (print_partial_compiled_pattern): Update.
9616 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9617 (re_compile_fastmap): Merge handling of charset and charset_not (for
9618 emacs and non-emacs compilation as well).
9619 Similarly for (not)categoryspec and (not)syntaxspec.
9620 Don't use the fastmap when reaching `anychar' since the added
9621 complexity is not justified.
9622 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9623 and (not)syntaxspec. Merge (not)categoryspec.
9624
fdaa1f77
KH
96252000-03-22 Kenichi Handa <handa@etl.go.jp>
9626
52283633
SM
9627 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9628 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9629 --without-x.
fdaa1f77 9630
d152fb46
DL
96312000-03-21 Dave Love <fx@gnu.org>
9632
9633 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9634 doc string.
9635
d2cafc8c
GM
96362000-03-21 Gerd Moellmann <gerd@gnu.org>
9637
9638 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9639 (lface_fully_specified_p): Don't check contents of
9640 LFACE_FONT_INDEX because that attribute is optional.
9641 (realize_x_face): Remove now unwarranted xassert.
9642
9111d4b5
KH
96432000-03-21 Kenichi HANDA <handa@etl.go.jp>
9644
9645 The following changes are to make font selection based on
9646 characters, not charset. In addition, they recover fontset
9647 facilities while utilizing the new font selection mechanism.
9648
6c4bfdc0
KH
9649 * Makefile.in (fontset.o): Depend on dispextern.h.
9650
9651 * alloc.c (mark_face_cache): Don't mark face->registry.
9652
9111d4b5
KH
9653 * dispextern.h (struct glyph): New member glyph_not_available_p.
9654 Use 22 bits for face_id.
9655 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9656 (struct face): Delete member registry, new member ascii_face.
9657 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9658 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9659 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9660 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9661
9662 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9663 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9664 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9665 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9666 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9667 (fs_free_face_fontset, fontset_font_pattern)
9668 (face_suitable_for_char_p, face_for_char)
9669 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9670 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9671 (FS_LOAD_FACE_FONT): New macro.
9672
9673 * fontset.c: All codes rewritten or adjusted for the change of
9674 fontset implementation. Now fontset is represented by char table.
52283633
SM
9675 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9676 Variables removed.
9111d4b5 9677 (my_strcasecmp): Function removed.
52283633 9678 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9679 (AREF, ASIZE): New macros.
52283633
SM
9680 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9681 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9682 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9683 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9684 (fontset_id_valid_p, font_family_registry, fontset_name)
9685 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9686 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9687 New functions.
9688 (fs_load_font): New arg FACE. Caller changed.
9689 (fs_query_fontset): Argument changed. Caller changed.
9690 (Fquery_fontset): call fs_query_fontset.
9691 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9692 Functions removed.
52283633
SM
9693 (clear_fontset_elements, check_registry_encoding)
9694 (check_fontset_name): New functions.
9111d4b5
KH
9695 (syms_of_fontset): Set char-table-extra-slots property of fontset
9696 to 3. Staticpro and initialize Vfontset_table and
9697 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9698
9699 * frame.h (struct frame): Member `fontset_data' removed.
9700 (FRAME_FONTSET_DATA): Macro removed.
9701
9702 * frame.c (make_frame): Don't allocate f->fontset_data.
9703 (Fdelete_frame): Don't free f->fontset_data.
9704
6c4bfdc0
KH
9705 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9706
9111d4b5
KH
9707 * xdisp.c (charset_at_position): Function removed.
9708 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9709 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9710 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9711 Likewise.
9712 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9713 FACE_FOR_CHARSET.
52283633
SM
9714 (get_next_display_element, append_space)
9715 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9716
9717 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9718 Variables removed.
9719 (clear_font_table, frame_update_line_height, load_face_font):
9720 Adjusted for the change of fontset implementation.
9721 (load_face_fontset_font): Function removed.
9722 (pixel_point_size): New function.
9723 (font_list): Argument type changed. Caller changed.
9724 (LFACE_FONT): New macro.
9725 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9726 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9727 Lisp_Object. Determine the font name by actually loading a font
9728 by the specified pattern. Set LFACE_FONT (lface) to the specified
9729 pattern. Even if a font is not found, don't try alternatives.
9730 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9731 (set_font_frame_param): If `font' is specified in lface, use it.
9732 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9733 (lface_same_font_attributes_p): Likewise.
9734 (make_realized_face): Arguent changed. Caller changed. Set
9735 face->ascii_face to face itself.
9736 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9737 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9738 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9739 (free_realized_multibyte_face): New function.
9740 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9741 changed. Caller changed.
9742 (try_font_list): Argument type changed.
9743 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9744 (choose_face_font): Argument changed. Handle fontset properly.
9745 (choose_face_fontset_font): Function removed.
9746 (realize_default_face, realize_named_face): Don't remove the
9747 former face here.
9748 (realize_face): Argument changed. Caller changed. Remove face
52283633 9749 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9750 (realize_x_face): Argument changed. Caller changed. For a
9751 multibyte character, share fontset with base_face. For a single
52283633 9752 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9753 (realize_tty_face): Argument changed. Caller changed.
9754 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9755 (face_at_buffer_position): Don't check multibyte_p for returning
9756 DEFAULT_FACE_ID.
9757 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9758 FACE_SUITABLE_FOR_CHARSET_P.
9759 (syms_of_xfaces): Remove code for Qx_charset_registry and
9760 Vface_default_registry.
9761
6c4bfdc0
KH
9762 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9763 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9764 (x_per_char_metric): Don't try FONT->default_char. Even if
9765 pcm->width is zero, glyph bits may exist.
9766 (x_encode_char): Always initialize char2b->byte1.
9767 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9768 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9769 (x_append_glyph): Set glyph->glyph_not_available_p.
9770 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9771 it->charset. Handle the case that per char metric is not
9772 available. If it->multibyte_p is zero and it->c is a multibyte
9773 character, convert it to a unibyte character.
9774 (struct glyph_string): Delete member `charset'.
9775 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9776 the case that per char metric is not available correctly.
9777 (x_fill_glyph_string): Handle the case that the specific glyph is
9778 not available correctly.
9779 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9780 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9781 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9782 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9783 fontset. Don't call FS_LOAD_FONT.
9784
9785 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9786 (x_create_tip_frame): Likewise.
9787 (Fx_close_connection): Free full_name of font_info.
9788
9789 * fns.c (optimize_sub_char_table): New function.
9790 (Foptimize_char_table): New function.
9791 (syms_of_fns): Defsubr Soptimize_char_table.
9792
b33dd3b0
GM
97932000-03-20 Gerd Moellmann <gerd@gnu.org>
9794
9795 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9796 only if buffer is displayed in some window.
9797
9798 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9799 (try_window_reusing_current_matrix): Don't call scroll run
9800 function if run's current and desired position are the same;
9801 this prevents cursor flickering.
9802
4e8a9132
SM
98032000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9804
9805 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9806
9807 * regex.c (RE_STRING_CHAR): New macro.
9808 (GET_CHAR_AFER_2): Remove.
9809 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9810 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9811 (print_partial_compiled_pattern, re_compile_fastmap)
9812 (re_match_2_internal): Remove on_failure_jump_exclusive.
9813 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9814 optimization only need to work for * (ie. can use of_keep_string_jump).
9815 Remove the special case for .*\n since it is now covered by the general
9816 optimization.
9817 (re_search_2): Don't bother with `room'.
9818 (skip_one_char): New function.
9819 (skip_noops): Simplify since `memory' is not needed any more.
9820 (mutually_exclusive_p): Restructure slightly to use `switch' and
9821 add handling for "all" remaining cases.
9822 (re_match_2_internal): Change on_failure_jump_smart to use
9823 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9824 rather than on_failure_jump_exclusive.
9825
2136fdd4
GM
98262000-03-19 Gerd Moellmann <gerd@gnu.org>
9827
9828 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9829 number of bits per RGB because it's everywhere used as the depth
9830 of the visual.
9831
9832 * term.c (calculate_costs): Remove code dealing with X frames.
9833
18e21ce8 98342000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9835
9836 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9837
d7b511c4
GM
98382000-03-18 Gerd Moellmann <gerd@gnu.org>
9839
9840 * lread.c (read_integer): Unread the last char not consumed.
9841
16b5d424
GM
98422000-03-17 Gerd Moellmann <gerd@gnu.org>
9843
9844 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9845 which are in the process of being deleted.
16b5d424 9846
1fa28578
GM
98472000-03-16 Gerd Moellmann <gerd@gnu.org>
9848
83488cce
GM
9849 * Makefile.in (mostlyclean): Add `*.core'.
9850 (clean): Add `bootstrap-emacs'.
9851
1fa28578
GM
9852 * lread.c (read_integer): New function.
9853 (read1): Support read syntax #o, #x, #b, #r.
9854
99633e97
SM
98552000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9856
1fa28578
GM
9857 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9858 make sure POINTER_TO_OFFSET gives the same value before and after
9859 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9860 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9861 (debug): Now only active if > 0 rather than if != 0.
9862 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9863 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9864 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9865 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9866 (store_op1, store_op2, insert_op1, insert_op2)
9867 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9868 (group_in_compile_stack): Move to after its arg's types are
9869 declared and add a prototype.
99633e97 9870 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9871 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9872 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9873 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9874 indentation of the greedy-op and shy-group code.
99633e97
SM
9875 (at_(beg|end)line_loc_p): Fix argument's types.
9876 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9877 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9878 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9879 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9880 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9881 QUIT unconditionally.
99633e97 9882
699238d9
GM
98832000-03-15 Gerd Moellmann <gerd@gnu.org>
9884
9885 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9886 a sole completion.
9887
9888 * process.c (send_process): Add a hint that the function
9889 can call Lisp code to its comment.
9890
9891 * lread.c (load_dangerous_libraries): New variable.
9892 (Vbytecomp_version_regexp): New variable.
9893 (safe_to_load_p): New function.
9894 (Fload): Handle files not compiled with Emacs specially.
9895 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9896
34e23e5a
GM
98972000-03-14 Gerd Moellmann <gerd@gnu.org>
9898
9c763cca
GM
9899 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9900
9901 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9902 support functions only if HAVE_X11R6_XIM is defined.
9903 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9904
9905 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9906
9907 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9908 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9909 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9910
9911 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9912 (HAVE_X11R6_XIM): Define.
9913
9914 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9915
34e23e5a
GM
9916 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9917 If set, call XSynchronize.
9918
66f0296e
SM
99192000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9920
34e23e5a
GM
9921 * regex.c: Declare a new type `re_char' used throughout the code
9922 for the string char type. It's `const unsigned char' to match the
9923 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9924 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9925 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9926 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9927 code duplication.
66f0296e
SM
9928
9929 * charset.h (GET_CHAR_AFTER_2): Remove.
9930 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9931
854a025c
KR
99322000-03-12 Ken Raeburn <raeburn@gnu.org>
9933
9934 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9935 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9936 of them try to use backquotes.
9937
b9d2c7e2
DL
99382000-03-12 Dave Love <fx@gnu.org>
9939
9940 * unexelf.c: Restore changes of 1999-10-19.
9941 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9942 fix its type and alignment; copy it from current process.
9943
5e5dff44
GM
99442000-03-12 Gerd Moellmann <gerd@gnu.org>
9945
9b2f3c38
GM
9946 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9947 has been found. Fix bug not computing timer's predecessor.
9948
427ec082 9949 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9950 file name.
9951
e1cff360
GM
9952 * window.c (Fsave_window_excursion): Doc fix.
9953
52283633 9954 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9955
e411ce4b
EZ
99562000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9957
9958 * msdos.c (vga_installed): New function, code moved from
9959 dos_set_window_size.
9960 (Qbar, Qcursor_type, outside_cursor): New variables.
9961 (syms_of_msdos): Intern and staticpro them.
9962 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9963 shape used outside Emacs when called for the first time.
9964 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9965 cursor shape used outside Emacs.
9966 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9967 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9968 type has changed.
9969 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9970 parameters specify the cursor. Make qreverse a global
9971 variable (renamed to Qreverse).
9972
80460654
GM
99732000-03-09 Gerd Moellmann <gerd@gnu.org>
9974
9975 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9976
95cd4c40
SM
99772000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9978
9979 This is a big redesign of failure-stack and register handling, prompted
9980 by bugs revealed when trying to add shy-groups. Overall, what happened
9981 is that loops are now structured a little differently, groups can be
9982 shy and the code is a little simpler.
9983
9984 * regex.h: Update the copyright.
9985 (RE_SHY_GROUPS): New value.
9986 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9987 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9988
80460654
GM
9989 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9990 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9991 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9992 for (start|stop)_memory since they now only take one argument (the
9993 second has becomes unnecessary).
52283633 9994 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9995 (print_compiled_pattern): Use %ld to printf long ints and flush to
9996 make debugging a little easier.
95cd4c40
SM
9997 (union fail_stack_elt): Make the integer unsigned.
9998 (struct fail_stack_type): Add a `frame' element.
9999 (INIT_FAIL_STACK): Init `frame' as well.
10000 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10001 (DEBUG_PUSH, DEBUG_POP): Remove.
10002 (NUM_REG_ITEMS): Remove.
10003 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10004 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10005 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10006 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10007 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10008 New macros.
80460654
GM
10009 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10010 address pushed is not the destination of the jump but the source
10011 of it instead.
95cd4c40
SM
10012 (NUM_FAILURE_ITEMS): Remove.
10013 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10014 registers before the actual failure point). Don't hardcode any
10015 meaning for str==NULL anymore.
95cd4c40 10016 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10017 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10018 Remove.
95cd4c40
SM
10019 (REG_UNSET_VALUE): Use NULL (why not?).
10020 (compile_range): Remove declaration since it doesn't exist.
10021 (struct compile_stack_elt_t): Remove inner_group_offset.
10022 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10023 (regex_grow_registers): Remove dead code.
10024 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10025 (regex_compile): Add shy-groups Change loops to use
10026 on_failure_jump_smart&jump instead of
10027 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10028 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10029 variable to me). Use `jump' instead of `jump_past_alt' and don't
10030 bother with push_dummy_failure in alternatives since it is now
10031 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10032 emacs' for (re)allocating the stack.
10033 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10034 from loop when bufp->can_be_null rather than jumping to `done'.
10035 Avoid jumping backwards so as to ensure termination. Use
10036 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10037 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10038 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10039 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10040 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10041 (lowest_active_reg, highest_active_reg)
10042 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10043 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10044 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10045 variables. Push register (in `start_memory') on the stack rather
10046 than storing it in old_reg(start|end). Remove the cycle detection
10047 from `stop_memory', replaced by the use of on_failure_jump_loop
10048 for greedy loops. Add code for the new on_failure_jump_<foo>.
10049 Remove ad-hoc code in `on_failure_jump' to push more registers in
10050 the case of a loop. Take out code from `maybe_pop_jump' into
10051 separate functions and adapt it to the semantics of
10052 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10053 and push_dummy_failure. Remove dummy_failure handling and
10054 handling of `failures to jump to on_failure_jump' (this last one
10055 was already dead code, it seems).
10056 (group_match_null_string_p, alt_match_null_string_p)
10057 (common_op_match_null_string_p): Remove.
95cd4c40 10058
7397acc4
DL
100592000-03-08 Dave Love <fx@gnu.org>
10060
10061 * config.in: Don't depend on __STDC__ for volatile.
10062 Add POINTER_TYPE, PTR, PROTOTYPES.
10063
10064 * hftctl.c, strftime.c: Use PROTOTYPES.
10065 * eval.c (find_handler_clause): Likewise.
10066
10067 * mem-limits.h: Use POINTER_TYPE.
10068
10069 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10070 (memory_warnings): Declare using POINTER_TYPE.
10071
5e91ff9e
GM
100722000-03-08 Gerd Moellmann <gerd@gnu.org>
10073
feab4fba
GM
10074 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10075
52283633 10076 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10077
5e91ff9e
GM
10078 * xfns.c: Remove obsolete code in #if 0.
10079 (Fx_focus_frame): New function.
10080
a735b7e1
KH
100812000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10082
10083 * coding.c (coding_category_name): Add coding-category-utf-8,
10084 coding-category-utf-16-be, coding-category-utf-16-le.
10085 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10086 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10087 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10088 (detect_coding_utf_8): New function.
10089 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10090 UTF_16_LOW_SURROGATE_P): New macros.
10091 (detect_coding_utf_16): New function
10092 (detect_coding_mask): When priorities are specified, skip any
10093 categories that have `nil' coding-system. Fix bug of returning
10094 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10095 returns a mask not set in PRIORITIES.
10096 (detect_eol_type_in_2_octet_form): New function.
10097 (detect_eol): selects detect_eol_type_XXX to call according to
10098 cooding->category_idx.
10099 (detect_coding_system): Remove `nil' coding-system in the result.
10100 (Fupdate_coding_systems_internal): Update all coding-categories.
10101
52283633
SM
10102 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10103 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10104 New macros.
10105 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10106 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10107 (CODING_CATEGORY_IDX_UTF_16_LE)
10108 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10109 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10110 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10111 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10112
9994cc69
GM
101132000-03-07 Gerd Moellmann <gerd@gnu.org>
10114
e9b4e5ff
GM
10115 * doc.c (Fdocumentation_property): If value is not a string,
10116 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10117
f7daf1e1
GM
10118 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10119 close the display with XtCloseDisplay. This caused a bus error
10120 on OpenWindows.
10121
9994cc69
GM
10122 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10123 complete but not unique.
10124
4336c705
GM
101252000-03-06 Gerd Moellmann <gerd@gnu.org>
10126
18bb0684
GM
10127 * process.c (send_process): Remove local variable `procname' that
10128 might become invalid when a GC happens. Instead, access the
10129 process name slot directly.
10130
4336c705
GM
10131 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10132 orig_height if set.
10133
10134 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10135 orig_height if set.
10136
515d0d0e
EZ
101372000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10138
10139 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10140 glyph matrices have been freed.
10141
100b3cbb
GM
101422000-03-05 Gerd Moellmann <gerd@gnu.org>
10143
50df5e5a 10144 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10145 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10146
10147 * xfns.c (QCdata): Moved to xdisp.c.
10148
10149 * xdisp.c (QCdata): Moved here from xfns.c.
10150 (syms_of_xdisp): Initialize QCdata.
10151
10152 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10153
10154 * window.c (coordinates_in_window): Use
10155 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10156 FRAME_INTERNAL_BORDER_WIDTH.
10157
100b3cbb 10158 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10159 it is obviously invalid.
100b3cbb
GM
10160
10161 * xterm.c (x_term_init): Create a colormap if not using the
10162 default visual.
10163
10164 * xterm.h (select_visual): Change prototype.
10165
10166 * xfns.c (select_visual): Rewritten. Recognize user-specified
10167 visual classes.
10168 (visual_classes): New variable.
10169
64d739c4
GM
101702000-03-04 Gerd Moellmann <gerd@gnu.org>
10171
10172 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10173 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10174 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10175 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10176 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10177 XtNcolormap resources.
10178 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10179 (Fx_create_frame): Initialize color members of x_output structure.
10180 (xpm_load): Pass colormap to XPM lib.
10181
10182 * xfaces.c (x_free_colors): Access colormap of frame using
10183 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10184 when default colormap is used.
10185
10186 * xterm.c (x_term_init): Set Colormap member of x_display_info
10187 structure. Copy colormap if resource `privateColormap' is
10188 specified (PseudoColor only).
10189 (x_setup_relief_color): Access colormap of frame using
10190 FRAME_X_COLORMAP.
10191
10192 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10193 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10194
c3cee013
JR
101952000-03-04 Jason Rumney <jasonr@gnu.org>
10196
10197 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10198 other non-platform-specific equivalents.
64d739c4 10199 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10200 specific functions and macros as their w32 equivalents where
10201 non-platform-specifics are not available.
10202 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10203 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10204 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10205 (frame_update_line_height): Use macros to access f->output_data.
10206 (defined_color): Remove FIXME comments; fixed.
10207 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10208 into #ifdef blocks. Add WINDOWSNT blocks.
10209 (Fx_list_fonts): Use macros for accessing font data.
10210 (set_lface_from_font_name): Different default fonts for X and
10211 WINDOWSNT.
10212 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10213 scalable for backward compatibility.
64d739c4 10214 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10215 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10216
64d739c4 10217 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10218 syms_of_w32faces.
10219
10220 * makefile.nt (w32faces.obj): Remove.
10221 (xfaces.obj): Add.
10222
807cc41c
JR
102232000-03-03 Jason Rumney <jasonr@gnu.org>
10224
10225 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10226 correct parameters.
10227
0007072a
KR
102282000-03-03 Ken Raeburn <raeburn@gnu.org>
10229
10230 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10231 standard ELF definitions here if the system header does not.
10232
71a6ba55
GM
102332000-03-03 Gerd Moellmann <gerd@gnu.org>
10234
10235 * xterm.c (PER_CHAR_METRIC): Removed.
10236 (x_per_char_metric_1, x_default_char): New functions.
10237 (x_per_char_metric): If font's default char is invalid, return
10238 metrics of a suitably chosen usable default char.
10239 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10240 char, replace occurrences of unprintable chars with a suitably
10241 chosen usable default char.
71a6ba55 10242
900fa1f1
GM
102432000-03-02 Gerd Moellmann <gerd@gnu.org>
10244
42f55fe0
GM
10245 * xterm.c (note_mouse_highlight): Return quickly if frame's
10246 glyph matrices have been freed.
10247
10248 * dispnew.c (free_glyphs): Block input while freeing matrices.
10249
900fa1f1
GM
10250 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10251
52283633
SM
10252 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10253 Use x_free_colors.
900fa1f1
GM
10254
10255 * dispextern.h (x_free_colors): Add prototype.
10256
10257 * xfaces.c (x_free_colors): New function.
10258 (unload_color, free_face_colors): Use it.
10259
2f950292
EZ
102602000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10261
10262 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10263
10264 * window.c [MSDOS]: Include msdos.h.
10265
54d04320
DL
102662000-03-02 Dave Love <fx@gnu.org>
10267
10268 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10269
10270 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10271 set C_OPTIMIZE_SWITCH for gcc.
10272
0ba93ac4
KH
102732000-03-02 Kenichi Handa <handa@etl.go.jp>
10274
10275 * coding.c (coding_save_composition): Be sure to allocate
10276 composition data area in coding even if there's no composition in
10277 the current run.
10278
a2bc11d4
JR
102792000-03-01 Jason Rumney <jasonr@gnu.org>
10280
10281 * w32term.c: Equivalent changes to those made to xterm.c on
10282 2000-02-25 and 2000-02-24.
10283
10284 * w32fns.c: Equivalent changes to those made to xfns.c on
10285 2000-02-25 and 2000-02-21.
10286
10287 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10288 correct line-end convention is followed.
10289
10290 * w32menu.c [HAVE_BOXES]: Remove #undef.
10291 (single_keymap_panes): Remove code for simulating checkmarks.
10292 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10293 Remove code for drawing simulated checkmarks.
10294 (w32_menu_show): make unibyte help string correctly.
10295 (add_menu_item): draw standard Windows checkmarks. Draw radio
10296 buttons as radio buttons if possible.
10297
72d19d75
GM
102982000-03-01 Gerd Moellmann <gerd@gnu.org>
10299
2df636f4
GM
10300 * sysdep.c (start_of_text): Don't define this function for NetBSD
10301 with ELF.
10302
427ec082 10303 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10304 Don't define.
10305 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10306 (LINKER): Don't undef if __NetBSD__ is defined.
10307
10308 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10309
10310 * fileio.c [__NetBSD__]: Define `unix'.
10311
72d19d75
GM
10312 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10313
ed4d0512
GM
103142000-02-29 Gerd Moellmann <gerd@gnu.org>
10315
50b1039f
GM
10316 * atimer.c (start_atimer): Don't abort when timers are stopped.
10317 (append_atimer_lists): New function.
10318 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10319 arbitrary lists of stopped and running atimers.
10320
ed4d0512
GM
10321 * atimer.c (cancel_atimer): Handle canceling an atimer when
10322 some timers are stopped.
10323
10324 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10325 after canceling it.
10326
10327 * fns.c (maybe_resize_hash_table): Handle case of new size
10328 coming out as being the same as old size.
10329
387023ee
JR
103302000-02-27 Jason Rumney <jasonr@gnu.org>
10331
10332 * makefile.nt: Add atimer.h to dependencies.
10333 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10334 * w32console.c: Only disable window system features for dispextern.h
10335 (initialize_w32_display): Build a display info for the console.
10336 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10337 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10338 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10339 as 2 button mice.
10340 * w32gui.h (struct W32FontStruct): Revert last change after change
10341 to xdisp.c.
10342 * w32menu.c (single_submenu): Set up help string.
10343 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10344 (w32_dialog_show): Set up help string.
10345 * w32term.c (w32_display_info_for_display): Remove unused function.
10346 (w32_draw_bitmap): Use pre-built bitmaps.
10347 (w32_initialize_display_info): New function to initialize parts of
10348 display info that are common to both GUI and console frames.
10349 (w32_term_init): Use w32_initialize_display_info. Do not set
10350 Vw32_num_mouse_buttons here, as it is not called for console
10351 frames. Build bitmaps for indicating truncated lines etc.
10352 (x_delete_display): Destroy pre-built bitmaps.
10353 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10354 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10355
4516715a
DL
103562000-02-27 Dave Love <fx@gnu.org>
10357
10358 * lisp.h: Add a bunch of prototypes.
10359
171ca836
KH
103602000-02-26 Kenichi Handa <handa@etl.go.jp>
10361
10362 * keyboard.c (read_char): Set `usec' correctly.
10363
4013921d
KH
103642000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10365
10366 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10367 `lambda', set reg[RRR] to the map index.
10368 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10369 reg[RRR] to 0. Otherwise, set it to -1.
10370
9244a058
GM
103712000-02-25 Gerd Moellmann <gerd@gnu.org>
10372
2df636f4 10373 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10374
18e21ce8 103752000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10376
f43d79c1
GM
10377 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10378 and contains a `:', prepend `/:'.
10379
10380 * window.c (select_window_1): If selected_window is nil,
10381 don't "swap out" the buffer's point.
10382 (Fset_window_configuration): Set selected_window to nil
10383 before calling Fselect_window.
10384 (unshow_buffer): Don't set point in buffer from window's point
10385 if another more recently selected window also shows the buffer.
10386
bed0c171
GM
103872000-02-25 Gerd Moellmann <gerd@gnu.org>
10388
449c3c52
GM
10389 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10390
f5b58615
GM
10391 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10392 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10393 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10394 New variables.
f5b58615
GM
10395 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10396 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10397 (hide_busy_cursor): New functions.
10398 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10399
10400 * minibuf.c (read_minibuf): Cancel busy-cursor.
10401
10402 * keyboard.c (command_loop_1): Call start_busy_cursor before
10403 Fcommand_execute and cancel_busy_cursor after it.
10404 (timer_check): Remove busy-cursor code.
10405 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10406 cursor timer.
10407
10408 * process.c (wait_reading_process_input): Remove busy-cursor code.
10409
10410 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10411 Fx_hide_busy_cursor.
10412
10413 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10414 Remove prototyoes.
10415 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10416
10417 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10418
10419 * xterm.c (XTread_socket): Remove busy-cursor code.
10420
4eb8436f
GM
10421 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10422 (build_frame_matrix_from_leaf_window): Put code handling
10423 glyph row's not being a slice of a frame row in #if 0.
10424 (sync_window_with_frame_matrix_rows): New function.
10425 (frame_row_to_window): New function.
10426 (mirror_line_dance): Handle copies between windows.
10427
3cb65b0e
GM
10428 * lread.c (Fload): Use `xfree' instead of `free'.
10429 (init_obarray): Use `xmalloc' instead of `malloc'.
10430
bed0c171
GM
10431 * window.c (Fset_window_buffer): Set WINDOW to the window
10432 after decoding.
2add4349
GM
10433 (coordinates_in_window): Take frame's internal border width
10434 into account.
bed0c171 10435
42088c12
GM
104362000-02-24 Gerd Moellmann <gerd@gnu.org>
10437
10438 * xterm.c (x_display_and_set_cursor): Display cursor of
10439 non-selected windows depending on the setting of
10440 cursor_in_non_selected_windows.
10441
10442 * xdisp.c (cursor_in_non_selected_windows): New variable.
10443 (syms_of_xdisp): DEFVAR_BOOL it.
10444
d1e103b2
GM
104452000-02-23 Gerd Moellmann <gerd@gnu.org>
10446
723e779c
GM
10447 * data.c (Fstring_to_number): If number is greater than what
10448 fits into an integer, return a float.
10449
d1e103b2
GM
10450 * eval.c (specbind): Remove references to
10451 keyword_symbols_constant_flag.
10452
10453 * data.c (keyword_symbols_constant_flag): Removed.
10454 (Fmakunbound, set_internal, syms_of_data): Remove references to
10455 keyword_symbols_constant_flag.
10456
10457 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10458
214f877f
KH
104592000-02-23 Kenichi Handa <handa@etl.go.jp>
10460
10461 * syntax.c (multibyte_syntax_as_symbol): New variable.
10462 (syms_of_syntax): Declare it as a Lisp variable.
10463 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10464 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10465 nonzero, treat all multibyte characters as symbol.
52283633 10466 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10467
130adcb7
EZ
104682000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10469
3cb65b0e 10470 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10471 a deleted frame.
130adcb7 10472
17cbbf95
GM
104732000-02-21 Gerd Moellmann <gerd@gnu.org>
10474
10475 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10476
10477 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10478 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10479
beb0bc36
DL
104802000-02-21 Dave Love <fx@gnu.org>
10481
10482 * frame.c (Vmouse_position_function): New variable.
10483 (Fmouse_position): Use it.
10484 (syms_of_frame): Install it.
10485
10486 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10487
1d92afcd
GM
104882000-02-20 Gerd Moellmann <gerd@gnu.org>
10489
10490 * fileio.c (Finsert_file_contents): Unbind the binding of
10491 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10492
10493 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10494 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10495 (specbind, unbind_to): Handle most common case of non-constant
10496 symbol with trivial value specially.
10497
10498 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10499
18e21ce8 105002000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10501
10502 * data.c (Fmake_variable_buffer_local): Doc fix.
10503 Init found_for_buffer to 0.
10504 (Fmake_variable_frame_local): If the variable has already
10505 been buffer-local, set the check_frame field.
10506
1d4311c3
EZ
105072000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10508
10509 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10510 produced for CODING_MODE_LAST_BLOCK requires.
10511
2dc95ddd
DL
105122000-02-18 Dave Love <fx@gnu.org>
10513
10514 * keyboard.c (echo_keystrokes): Remove declaration.
10515 (Vecho_keystrokes) New variable.
10516 (read_char, record_menu_key, read_key_sequence): Use it to allow
10517 use of float value.
10518 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10519
10520 * lread.c: Undef feature selection macros before defining.
10521
f0930f35
GM
105222000-02-18 Gerd Moellmann <gerd@gnu.org>
10523
10524 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10525 for symbols other than the symbol in question.
10526
e3d4de90
DL
105272000-02-17 Dave Love <fx@gnu.org>
10528
10529 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10530
0b378936
GM
105312000-02-17 Gerd Moellmann <gerd@gnu.org>
10532
d621caf7
GM
10533 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10534
0b378936
GM
10535 * alloc.c (enum mem_type): Compile unconditionally.
10536
3b451f74
EZ
105372000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10538
10539 * xfaces.c (tty_defined_color): Don't return faulire indication
10540 for unspecified-fg and unspecified-bg pseudo-colors.
10541
10689a01
GM
105422000-02-17 Gerd Moellmann <gerd@gnu.org>
10543
1216f5e4
GM
10544 * alloc.c (mark_object): Don't mark symbol names in pure space.
10545 (gc_sweep): Don't unmark symbol names in pure space.
10546
10547 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10548 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10549 [GC_MARK_STACK]: New defines.
427ec082 10550 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10551 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10552
10553 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10554
10555 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10556 allocate_buffer instead of xmalloc.
10557
10558 * alloc.c (toplevel): Include setjmp.h.
10559 (PURE_POINTER_P): New define.
10560 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10561 (Vdead) [GC_MARK_STACK]: New variable.
10562 (lisp_malloc): Add parameter TYPE, call mem_insert if
10563 GC_MARK_STACK is defined.
10564 (allocate_buffer): New function.
427ec082 10565 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10566 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10567 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10568 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10569 (MEM_NIL) [GC_MARK_STACK]: New define.
10570 (struct mem_node) [GC_MARK_STACK]: New structure.
10571 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10572 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10573 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10574 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10575 (mark_stack) [GC_MARK_STACK]: New functions.
10576 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10577 (clear_marks): Removed.
10578 (gc_sweep): Set free conses' car, free floats' type, free
10579 symbols' function to Vdead. Use lisp_free to free buffers.
10580 (init_alloc_once): Initialize Vdead.
10581 (survives_gc_p): Return non-zero for pure objects.
10582
10583 * alloc.c: Add comments throughout the file.
10584
2503c8b1
GM
10585 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10586 that unblocks alarms.
10587
8389e1e2
GM
10588 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10589 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10590 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10591
10689a01 10592 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10593
bfc17d18
KH
105942000-02-17 Kenichi Handa <handa@etl.go.jp>
10595
4a09dee0
KH
10596 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10597 avoid infinite error signaling. Allocate sufficient memory for
10598 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10599
2b927d02
SM
106002000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10601
10602 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10603 depends on the previous behavior.
10604
b49cb764
GM
106052000-02-16 Gerd Moellmann <gerd@gnu.org>
10606
10607 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10608
99e95407
GM
106092000-02-15 Gerd Moellmann <gerd@gnu.org>
10610
10611 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10612
10613 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10614 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10615 write(2).
10616
6ffd3cf7
RS
106172000-02-15 Richard M. Stallman <rms@gnu.org>
10618
10619 * data.c (set_internal): Don't make variable buffer-local
10620 if within a let-binding for the same buffer.
10621 (let_shadows_buffer_binding_p): New function.
10622
10623 * eval.c (specbind): For buffer-local value,
10624 record the current buffer also.
10625 (unbind_to): Cope with that change.
10626
cad53475
GM
106272000-02-15 Gerd Moellmann <gerd@gnu.org>
10628
10629 * window.c (Fsave_window_excursion): Doc fix.
10630
1aa963c8
SM
106312000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10632
10633 * syntax.c (back_comment): Make sure we only consider comment-starters
10634 of the relevant style and return -1 in case of a failure to find the
10635 beginning of the comment.
10636 (Fforward_comment): If back_comment fails, go back to the position just
10637 after the comment-end.
10638 (scan_lists): Add comment describing a very minor bug.
10639
b9b84fd3
SM
106402000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10641
10642 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10643 `completion-regexp-list' in the docstring.
10644
3a28db80
DL
106452000-02-14 Dave Love <fx@gnu.org>
10646
10647 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10648
fb4a568d
SM
106492000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10650
10651 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10652 to Emacs' syntax. Also fix the comment about set/not-set meanings
10653 since Emacs syntax is not the value 0 any more.
10654 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10655 since it's now part of RE_SYNTAX_EMACS.
10656
1063ebb5
DL
106572000-02-12 Dave Love <fx@gnu.org>
10658
52283633 10659 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10660
fb07a302
GM
106612000-02-12 Gerd Moellmann <gerd@gnu.org>
10662
10663 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10664
aaf2320c
DL
106652000-02-12 Dave Love <fx@gnu.org>
10666
10667 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10668
10669 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10670 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10671 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10672
10673 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10674
10675 * s/nextstep.h: Don't define HAVE_ALLOCA.
10676
10677 * config.in: Add vfork bits.
10678
eedf8bde
GM
106792000-02-12 Gerd Moellmann <gerd@gnu.org>
10680
10681 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10682 unwind function to undo the effect of stopping atimers.
10683
52283633 10684 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10685
10686 * atimer.c (stopped_atimers): New variable.
10687 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10688 New functions.
10689
10690 * atimer.h (stop_other_atimers, run_all_atimers)
10691 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10692
eedf8bde
GM
10693 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10694
8476c2f8
KR
106952000-02-11 Ken Raeburn <raeburn@gnu.org>
10696
10697 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10698 library may depend on jpeg.
10699 (atimer.o): Depends on atimer.c.
10700
0e85e4a3
KH
107012000-02-11 Kenichi Handa <handa@etl.go.jp>
10702
10703 * insdel.c (del_range_1): Call update_compositions.
10704 (del_range_both): Call update_compositions just once..
10705
97fa0cc8
DL
107062000-02-10 Dave Love <fx@gnu.org>
10707
10708 * xfns.c (create_frame_xic): Fix initialization of automatic
10709 aggregates for pcc.
10710
25566a3c
KH
107112000-02-09 Kenichi Handa <handa@etl.go.jp>
10712
10713 * ccl.c (CCL_MAKE_CHAR): New macro.
10714 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10715 registers by CCL_MAKE_CHAR before calling translate_char.
10716 <CCL_TranslateCharacterConstTbl> Likewise.
10717
69da54ba
DL
107182000-02-08 Dave Love <fx@gnu.org>
10719
10720 * lread.c (__EXTENSIONS__): Define.
10721
f7136ee8
GM
107222000-02-08 Gerd Moellmann <gerd@gnu.org>
10723
10724 * puresize.h (BASE_PURESIZE): Increase to 650000.
10725
7768790b
EZ
107262000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10727
10728 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10729 the help message.
10730
38fd211b
EZ
107312000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10732
10733 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10734 md, mh, mb, mr, and me to the fake termcap entry.
10735
66e4690f
KR
107362000-02-06 Ken Raeburn <raeburn@gnu.org>
10737
10738 * sound.c (sound_cleanup): Don't call device close routine if the
10739 function pointer is null.
10740
a75dfea0
AI
107412000-02-06 Andrew Innes <andrewi@gnu.org>
10742
10743 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10744 around image definitions and prototypes.
10745 (gamma_correct) [WINDOWSNT]: New prototype.
10746
10747 * w32term.c (x_make_frame_visible): Replace call to
10748 input_poll_signal with poll_for_input.
10749
10750 * window.c [WINDOWSNT]: Include w32term.h.
10751
10752 * xdisp.c [WINDOWSNT]: Include w32term.h.
10753
10754 * makefile.nt: Add dependencies on w32gui.h.
10755 (OBJ1): Include atimer.obj.
10756 ($(BLD)\atimer.obj): New dependency rule.
10757
10758 * w32.c (sigmask): New function (does nothing).
10759 (sigunblock): Ditto.
10760
10761 * frame.c [WINDOWSNT]: Include w32term.h.
10762
10763 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10764
10765 * lread.c (syms_of_lread): Fix literal newlines.
10766
10767 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10768 the string constant limit (2048 bytes) in MSVC.
10769 (main): Ditto.
10770
59ddecde
GM
107712000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10772
52283633 10773 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10774 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10775 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10776 dispatch the event.
10777
07590973
DL
107782000-02-04 Dave Love <fx@gnu.org>
10779
10780 * fileio.c: Remove some unused vars.
10781 (_GNU_SOURCE): Define (for euidaccess).
10782
10783 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10784
10785 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10786 gcpro1, gcpro2.
10787 (read_minibuf): Deal with allow_props correctly.
10788
649351f9
EZ
107892000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10790
10791 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10792
66e4690f 107932000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10794
10795 * search.c (compile_pattern): If a cache entry has a nil regexp,
10796 fill in that entry instead of clobbering a previously cached
10797 string regexp.
10798
66e4690f 107992000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10800
10801 * puresize.h (BASE_PURESIZE): Increase to 610000.
10802
d240a249
GM
108032000-02-02 Gerd Moellmann <gerd@gnu.org>
10804
10805 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10806 can GC.
10807
ca91fb26
KH
108082000-02-02 Kenichi Handa <handa@etl.go.jp>
10809
25660570
KH
10810 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10811 instead of incrementing ic directly.
10812 <CCL_WriteExprConst> Likewise.
10813 <ccl_set_expr>: Set ic to jump_address.
10814
ca91fb26
KH
10815 * fileio.c (e_write): Fix the handling of
10816 CODING_FINISH_INSUFFICIENT_SRC.
10817
2ede9689
DL
108182000-02-01 Dave Love <fx@gnu.org>
10819
10820 * editfns.c (Fpropertize): Doc fix.
10821
10822 * process.c (Fstart_process): Doc fix.
10823
10824 * eval.c: Fix various doc strings not to duplicate information
10825 from help-manyarg-func-alist.
10826
52283633 10827 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10828
10829 * doc.c (Vhelp_manyarg_func_alist): New variable.
10830 (Fdocumentation): Use it.
10831 (syms_of_doc): Define it.
10832
b6680a0e
GM
108332000-01-31 Gerd Moellmann <gerd@gnu.org>
10834
2cb750ba
GM
10835 * xterm.c (xim_open_dpy): Remove unused local variable.
10836
52283633 10837 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10838
10839 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10840 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10841
b6680a0e
GM
10842 * fns.c (sweep_weak_table): New function.
10843 (sweep_weak_hash_tables): Use it. Keep on marking until there
10844 is no more change.
10845
994c5afe
GM
108462000-01-30 Gerd Moellmann <gerd@gnu.org>
10847
10848 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10849 that XTread_socket does not crash by trying to call XNoOp on a
10850 closed display.
427ec082 10851
f00276e3
JR
108522000-01-30 Jason Rumney <jasonr@gnu.org>
10853
10854 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10855 Change selected_frame to SELECTED_FRAME ().
10856 (w32_console_mouse_position): Remove #ifndef MULE from around
10857 `insist' parameter.
10858
10859 * makefile.nt: Remove dosfns.obj.
10860
10861 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10862
10863 * w32fns.c (w32_defined_color): Check for valid frame before
10864 applying gamma correction. Eliminate dependency on frame elsewhere.
10865 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10866 (w32_to_x_font): Use resx and resy not height_in and width_in.
10867 (x_to_w32_font): Doc fix.
10868 (xlfd_strip_height): New function to strip and return font height.
10869 (w32_font_match): Compare height separately from rest of xlfd
10870 spec, using xlfd_strip_height.
10871
10872 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10873 width_in. Use w32_defined_color in place of defined_color.
10874
10875 * w32faces.c: Merge more of DOS and X specifics in preparation for
10876 merge with xfaces.c.
10877 (defined_color): Remove FIXME comment.
10878 (tty_color_name): Provide w32-specific function.
10879 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10880
10881 * w32console.c (turn_on_face, turn_off_face): Removed.
10882 (w32_face_attributes): New function.
10883 (Global_variables): Reduce scope where possible.
10884 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10885 fill attribute.
10886 (hl_mode): Don't modify text attributes.
10887 (write_glyphs): Don't do anything if len <= 0. Use
10888 w32_face_attributes to get attributes for drawing. Write
10889 terminating codes using char_attr_normal.
10890 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10891 (update_begin, update_end): Likewise.
10892 (vga_stdcolor_name): New function.
10893 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10894 (Fset_screen_color): Remove char_attr_reverse.
10895
b08e8bb2
GM
108962000-01-29 Gerd Moellmann <gerd@gnu.org>
10897
10898 * xfns.c (xic_set_preeditarea): Take window parameter and
10899 window-relative pixel-positions.
10900
10901 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10902 is its frame's selected window.
10903 (xim_instantiate_callback): Likewise.
10904
10905 * xfns.c (x_create_im): Removed.
10906 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10907 (supported_xim_styles): Renamed from supported_styles.
10908 (best_xim_style): Renamed from best_style.
10909 (create_frame_xic): Renamed from xic_create_frame.
10910 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10911
b08e8bb2
GM
109122000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10913
10914 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10915 our frames, call XFilterEvent with 2nd parameter `None'.
10916 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10917 returning XBufferOverflow.
52283633 10918 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10919 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10920 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10921 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10922 (xim_initialize, xim_close)
10923 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10924 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10925 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10926 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10927
10928 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10929 and `xim_styles'.
10930 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10931 `xic_style' and `xic_xfs'.
10932 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10933 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10934 (FRAME_XIM): Removed.
10935
10936 * xfns.c (supported_styles): New variable.
10937 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10938 (xic_create_xfontset, best_style, xic_create_frame)
10939 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10940 (xic_set_xfontset): New functions.
10941
142e109c
DL
109422000-01-28 Dave Love <fx@gnu.org>
10943
10944 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10945
10946 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10947
b02786f9
GM
109482000-01-28 Gerd Moellmann <gerd@gnu.org>
10949
d060bc9f
GM
10950 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10951 for *scratch* if it already existed.
10952
b02786f9
GM
10953 * emacs.c (USAGE): New macro.
10954 (main): Use it to display usage information.
10955
2c52d7e4
EZ
109562000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10957
10958 Support for the menu-help feature:
10959
52283633 10960 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10961
10962 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10963 part of the line to the termscript file.
10964 (IT_clear_to_end): Clear the entire line, not just its beginning.
10965 (menu_help_message, prev_menu_help_message): New variables.
10966 (IT_menu_make_room): Make room for the help_text member.
10967 (IT_menu_display): New argument disp_help; all callers changed.
10968 If disp_help is non-zero, store the help text of the active menu
10969 item in menu_help_message.
10970 (XMenuAddPane): Initialize the help_text member to NULL.
10971 (XMenuAddSelection): New argument help_text. Store it in the
10972 XMenu structure.
10973 (XMenuActivate): New argument help_callback. If the value of
10974 menu_help_message has changed since the last time, display the
10975 menu help message text while waiting for the mouse to move. Clear
10976 the echo area before exiting.
10977 (XMenuDestroy): Free the help_text member.
10978
ffe0bcd1
GM
109792000-01-27 Gerd Moellmann <gerd@gnu.org>
10980
10981 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10982 XMenuAddSelection. Pass help callback to XMenuActivate.
10983 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10984
50dbd23f
EZ
109852000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10986
10987 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10988 and EMACS_SET_USECS.
10989
f5941bf8
GM
109902000-01-26 Dave Love <fx@gnu.org>
10991
6c67ddee
DL
10992 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10993
f5941bf8
GM
10994 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10995 an error may be signalled.
10996
9e49c990
GM
109972000-01-26 Gerd Moellmann <gerd@gnu.org>
10998
fc3cb460
GM
10999 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11000 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11001
9e49c990
GM
11002 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11003
d0c037d8
GM
110042000-01-25 Gerd Moellmann <gerd@gnu.org>
11005
11006 * charset.c (Fstring): If there is a multibyte char among
11007 the args, always return a multibyte string.
11008
e12489f9
GM
110092000-01-25 Gerd Moellmann <gerd@gnu.org>
11010
11011 * sysdep.c (sys_select): Turn atimers off and on instead of
11012 recording and restoring old alarm handler
11013
11014 * process.c (toplevel): Include atimer.h.
11015 (create_process_1): Rewritten.
11016 (create_process): Use atimers instead of alarm.
11017 (wait_reading_process_input) [hpux]: Turn atimers off instead
11018 of turning off SIGALRM.
11019 (wait_reading_process_input): Turn off atimers instead off
11020 calling stop_polling.
11021
11022 * emacs.c (main): Call init_atimer.
11023
11024 * keyboard.c (toplevel): Include systime.h and atimer.h.
11025 (polling_for_input): Removed because unused.
11026 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11027 (poll_timer): New variable.
11028 (poll_for_input, poll_for_input_1): New functions.
11029 (start_polling, stop_polling): Rewritten.
11030
11031 * keyboard.h (polling_for_input): Removed.
427ec082 11032
e12489f9
GM
11033 * atimer.h, atimer.c: New files.
11034
11035 * Makefile.in (obj): Add atimer.o.
11036 (atimer.o): New target.
11037
11038 * blockinput.h (pending_atimers): Add extern declaration.
11039 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11040
11041 * lisp.h (popup_activated_flag): Add extern declaration.
11042
11043 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11044 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11045 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11046
11047 * xterm.c (toplevel): Include atimer.h.
11048 (toolkit_scroll_bar_interaction): New variable.
11049 (Fxt_process_timeouts): Removed.
11050 (x_process_timeouts): New function.
11051 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11052 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11053 (x_make_frame_visible): Call poll_for_input_1 instead of
11054 input_poll_signal. Don't call alarm.
11055 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11056
1e5279b9
DL
110572000-01-24 Dave Love <fx@gnu.org>
11058
6c67ddee 11059 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11060 Don't use -cckr -- apparently not now necessary.
11061
edf6aeb8
EZ
110622000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11063
11064 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11065 screen boundary.
11066
9badad41
JR
110672000-01-23 Jason Rumney <jasonr@gnu.org>
11068
11069 * w32fns.c (w32_defined_color): Apply gamma correction before
11070 trying to map to the palette.
11071 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11072 to w32_clear_rect.
11073
11074 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11075 here. Callers changed to always pass real device context.
11076 (w32_draw_bitmap): Likewise.
11077 (w32_get_glyph_overhangs): Likewise.
52283633 11078 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11079 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11080 pfnSetScrollInfo and SetScrollRange.
11081 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11082 back into MULE characters after decoding them.
11083 (x_get_glyph_face_and_encoding): Likewise.
11084 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11085 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11086 (x_produce_glyphs): Calculate per char metrics for a character
11087 that we know exists in default font when font_not_found_p is true.
11088
63bd786b
JR
110892000-01-22 Jason Rumney <jasonr@gnu.org>
11090
11091 * makefile.nt (intervals.obj, composite.obj): New modules.
11092 (composite.h): Added as dependency where appropriate.
11093
11094 * w32gui.h (XGCValue): New struct for emulating X GCs.
11095
11096 * w32term.h (XCharStruct): New struct for emulating X.
11097
11098 * w32console.c (turn_on_face, turn_off_face): New functions.
11099 (change_line_highlight): New prototype for new redisplay.
11100 (write_glyphs): Support multibyte text. Support faces.
11101
52283633 11102 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11103
11104 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11105 throughout. struct frame * in place of FRAME_PTR.
11106 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11107 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11108 (w32_get_arg): Renamed from x_get_arg.
11109 (Fx_file_dialog): New function.
11110 (w32_list_fonts): Check cache before asking system.
11111 (Vw32_enable_synthesized_fonts): New variable.
11112 (Vw32_enable_italics): Obsolete, removed.
11113
11114 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11115 Use SELECTED_FRAME macro.
11116
11117 * w32menu.c: Add skeleton support for help strings on menus.
11118 (add_menu_item): Native checkbox and radio support added, but not
11119 yet enabled due to bugs.
11120 (push_menu_item): Add parameters type, selection and help.
11121 Callers updated.
11122 Formatting changes to reduce unnecessary diffs with xmenu.c.
11123
11124 * w32select.c (Fw32_set_clipboard_data): Update call to
11125 find_charset_in_str.
11126
11127 * w32term.c: Complete rewrite for new redisplay based on new
11128 xterm.c with necessary sections merged back in from old w32term.c.
11129
6ffd3cf7 111302000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11131
11132 * data.c (set_internal): Further fix in same criterion.
11133
6ffd3cf7 111342000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11135
11136 * data.c (set_internal): Fix the criteria for whether
11137 to swap out the old cached binding.
11138
60af03f1
DL
111392000-01-19 Dave Love <fx@gnu.org>
11140
11141 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11142
f9be074f
KH
111432000-01-18 Kenichi Handa <handa@etl.go.jp>
11144
11145 * regex.c (re_compile_fastmap): While checking a range table for
11146 `charset', skip flag bits for a character class correctly.
11147
52b8dbf9
GM
111482000-01-17 Gerd Moellmann <gerd@gnu.org>
11149
d36100c9
GM
11150 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11151
52283633 11152 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11153
11154 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11155 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11156
11157 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11158 MENU_ITEMS_ITEM_.*.
11159 (MENU_ITEMS_ITEM_HELP): New enumerator.
11160 (push_menu_item): Add parameter HELP. Record help in menu_items.
11161 (single_menu_item, single_submenu, list_of_items): Call
11162 push_menu_item with new parameter.
11163 (single_submenu): Set help string in widget value.
11164 (menu_highlight_callback): New function.
11165 (set_frame_menubar): Call lw_create_widget with new
11166 parameter list.
11167 (xmenu_show, xdialog_show): Ditto.
11168
3139018f
GM
111692000-01-13 Gerd Moellmann <gerd@gnu.org>
11170
11171 * sound.c (Fplay_sound): Improve doc string.
11172
83c8f461
RS
111732000-01-11 Richard M. Stallman <rms@gnu.org>
11174
11175 * lisp.h (set_internal): Enter the new arg.
11176
11177 * eval.c (specbind): Record buffer-local variables specially,
11178 indicating which buffer's binding was saved.
11179 (unbind_to): Restore buffer-local variables specially
11180 in the proper buffer.
11181
11182 * data.c (set_internal): New arg BUF.
427ec082 11183
83c8f461
RS
11184 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11185 * data.c (Fset): Pass new arg to set_internal.
11186 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11187
1fab1775
GM
111882000-01-11 Gerd Moellmann <gerd@gnu.org>
11189
52283633 11190 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11191
83c8f461 111922000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11193
11194 * minibuf.c (Ftry_completion): Doc fix.
11195
7a85e4df
GM
111962000-01-11 Gerd Moellmann <gerd@gnu.org>
11197
11198 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11199 vector, too.
11200
a970dae4
AS
112012000-01-11 Andreas Schwab <schwab@suse.de>
11202
11203 * coding.c (code_convert_region): Initialize total_skip.
11204
c65d14ee
DL
112052000-01-08 Dave Love <fx@gnu.org>
11206
11207 * eval.c (Fuser_variable_p): Check customizability too.
11208
834938d2
GM
112092000-01-07 Gerd Moellmann <gerd@gnu.org>
11210
11211 * minibuf.c (Fcompleting_read): Doc fix.
11212
e0303cd6
GM
112132000-01-05 Gerd Moellmann <gerd@gnu.org>
11214
8a26744b
GM
11215 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11216 -L /usr/local/lib.
11217
e0303cd6
GM
11218 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11219 Check that input style is supported before trying to create an
11220 IC for it.
11221 (x_window): Call x_create_im.
427ec082 11222
2e471eb5
GM
112232000-01-04 Gerd Moellmann <gerd@gnu.org>
11224
560a7bd2
GM
11225 * xfns.c (current_gif_memory_src): New variable.
11226 (gif_load): Record the address of the current memory source
11227 in current_gif_memory_src.
11228 (gif_read_from_memory): Use current_gif_memory_src.
11229
f9ee84a3
GM
11230 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11231 macros statement form.
11232
d1299cde
GM
11233 * sound.c (struct sound): Renamed from struct sound_file.
11234 (struct sound): Add members `data' and `header_size'.
11235 (enum sound_attr): Add SOUND_DATA.
11236 (current_sound, current_sound_device): Variables renamed from
11237 sound_file and sound_device.
11238 (parse_sound): Parse :data.
11239 (parse_sound): Handle sound data in strings.
11240 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11241 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11242 needed header size.
11243 (wav_play, au_play): Play sounds from string data.
11244
2e471eb5
GM
11245 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11246
11247 * lisp.h: Add prototype for allocate_string_data.
11248
52283633 11249 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11250
11251 * alloc.c (mark_buffer): Remove code in #if 0.
11252 (gc_sweep): Ditto.
11253 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11254 (strings_consed): New variable.
11255 (allocate_string): Set it.
11256 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11257 (Fmemory_use_counts): Return strings_consed. Use Flist.
11258
11259 * alloc.c: General cleanup in comments etc. Remove conditional
11260 compilation for `standalone'.
11261
11262 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11263
11264 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11265 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11266 (DONT_COPY_FLAG): Removed.
11267 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11268 (struct sdata, struct sblock): New
11269 (struct string_block): Rewritten.
11270 (STRINGS_IN_STRING_BLOCK): New macro.
11271 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11272 (large_sblocks, string_blocks, string_free_list): New variables.
11273 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11274 (init_strings): Rewritten.
11275 (allocate_string, allocate_string_data, compact_small_strings)
11276 (free_large_strings, sweep_strings): New functions.
11277 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11278 (struct string_block_head, current_string_block)
11279 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11280 (STRING_PAD): Removed.
11281 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11282 (Fgarbage_collect): Don't set mark bit in large strings.
11283 (mark_object): Mark strings differently. Mark symbol names
11284 differently.
11285 (survives_gc_p): Test marked strings differently.
427ec082 11286 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11287 symbol names.
11288 (compact_strings): Removed.
11289
42608ba8
EZ
112902000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11291
11292 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11293 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11294
e0a09e1a
KH
112952000-01-04 Kenichi Handa <handa@etl.go.jp>
11296
dd9f0750 11297 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11298 in a non-empty buffer.
dd9f0750 11299
3c0f3b15 11300 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11301
44cd3ae5
GM
113022000-01-03 Gerd Moellmann <gerd@gnu.org>
11303
11304 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11305 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11306
11307 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11308
c182a70f
EZ
113092000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11310
11311 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11312 need to test for MSDOS frames.
11313
24480d5b
EZ
113142000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11315
11316 * dosfns.c (unspecified_colors): Remove.
11317 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11318 unspecified_bg.
11319 (msdos_stdcolor_name): Return strings for unspecified fore- and
11320 back-ground colors.
11321
11322 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11323 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11324 (tty_color_name): Return Lisp strings for unspecified fore- and
11325 back-ground colors.
11326 (Finternal_set_lisp_face_attribute): Remove the special treatment
11327 for Qunspecified_{f,b}g.
52283633 11328 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11329
047f434a
GM
113302000-01-03 Gerd Moellmann <gerd@gnu.org>
11331
11332 * xdisp.c (reseat_at_next_visible_line_start): Position before
11333 newline only if ending up on a newline.
11334 (next_element_from_ellipsis): Return success. Handle case of
52283633 11335 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11336 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11337 returns 0.
11338
d684c676
EZ
113392000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11340
11341 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11342 (Fcolor_supported_p): Renamed from face-color-supported-p.
11343
5fe1d139
EZ
113442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11345
11346 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11347 list of colors renamed to tty-defined-color-alist.
11348 (tty_color_name): Pass the frame to tty-color-by-index.
11349 (realize_tty_face): tty-color-alist is now a function which
11350 accepts the frame as argument.
11351
52283633 11352 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11353
816be8b8
EZ
113542000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11355
11356 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11357 encode_terminal_code.
11358
b635321e
EZ
113592000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11360
11361 * dispnew.c (mode_line_string): Support termcap frames as well.
11362
9b784e96
GM
113632000-01-01 Gerd Moellmann <gerd@gnu.org>
11364
27189709
GM
11365 * syntax.c (Fforward_word): Undo previous change.
11366
11367 * editfns.c (Fconstrain_to_field): Don't constrain if
11368 inhibit-field-text-motion is non-nil.
11369 (Fline_beginning_position): Undo previous change.
11370 (Fline_end_position): Ditto.
11371
11372 * syntax.c (Fforward_word): Notice field boundaries only if
11373 inhibit-field-text-motion is nil.
11374
11375 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11376
11377 * editfns.c (Vinhibit_field_text_motion): New variable.
11378 (inhibit-field-text-motion): New DEFVAR_LISP.
11379 (Fline_beginning_position, Fline_end_position): Notice field
11380 boundaries only if inhibit-field-text-motion is nil.
11381
45158a91
GM
11382 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11383 All calls adjusted.
11384 (x_build_heuristic_mask): Likewise.
11385 (xbm_load_image_from_file): Change error output.
11386 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11387 (gif_load, gs_load, x_kill_gs_process): Ditto.
11388
9b784e96
GM
11389 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11390 color indices when accessing raster pixels.
63cec32f
GM
11391 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11392 one of :file or :data.
11393 (enum pbm_keyword_index): Add PBM_DATA.
11394 (pbm_format): Add :data.
11395 (pbm_image_p): Allow either :file or :data.
11396 (pbm_read_file): New function.
11397 (pbm_scan_number): Rewritten to read from string.
11398 (pbm_load): Support :data.
9b784e96 11399
2cb085db 11400See ChangeLog.8 for earlier changes.
6922b018
KH
11401
11402;; Local Variables:
49b3bd82 11403;; coding: iso-2022-7bit
6922b018 11404;; End: