(Ffile_symlink_p): Fix last change.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4c8c7926
GM
12001-09-13 Gerd Moellmann <gerd@gnu.org>
2
620c4704
GM
3 * filelock.c (current_lock_owner): If readlink returns ERANGE,
4 take that to mean that the buffer is too small.
5
81c3310d
GM
6 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
7 that to mean that the buffer is too small.
8
06fd3792
GM
9 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
10 current buffer's multibyteness when discarding the iterator's
11 stack.
12
4c8c7926
GM
13 * xfns.c (Fx_window_property): Handle case that property gets
14 deleted between the two calls to XGetWindowProperty.
15
9a72e4c1
GM
162001-09-11 Gerd Moellmann <gerd@gnu.org>
17
bd819d14
GM
18 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
19
a41edd99
GM
20 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
21 in addition to read-only.
22
23 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
24 to t in addition to read-only.
25
26 * lisp.h (Qinhibit_modification_hooks): Declare.
27
28 * insdel.c (Qinhibit_modification_hooks): New variable.
29 (syms_of_insdel): Initialize and staticpro it.
30
d4881c6a
GM
31 * textprop.c (verify_interval_modification): Don't run
32 modification-hooks if inhibit_modification_hooks.
33
34 * dispnew.c (set_window_cursor_after_update): Fix code
35 finding glyph row containing cursor when cursor_in_echo_area
36 is >= 0.
37
9a72e4c1
GM
38 * xdisp.c (init_from_display_pos): Put some code in #if 0.
39 (add_to_log): Use bcopy instead of strcpy.
40 (init_from_display_pos): Use an explicit loop over bytes in
41 overlay strings instead of calling index.
42
f4a374a1
GM
432001-09-10 Gerd Moellmann <gerd@gnu.org>
44
300e57bd
GM
45 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
46
47 * dispnew.c (direct_output_for_insert): Don't change IT's
48 stop_charpos to something in front of its current position.
49
f4a374a1
GM
50 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
51 `format'.
52
7e4cbc91
RS
532001-09-10 Richard M. Stallman <rms@gnu.org>
54
55 * frame.c (Fmouse_position): Doc fix.
56
6afad91e
GM
572001-09-07 Gerd Moellmann <gerd@gnu.org>
58
59 * xdisp.c (init_from_display_pos): Don't compare the result
60 of calling index with NULL.
61
f76e0368
GM
622001-09-06 Gerd Moellmann <gerd@gnu.org>
63
64 * xfns.c (x_set_background_color): Don't change the colors
65 of the X window of scroll bar widgets.
66
9ead1b60
AI
672001-09-05 Andrew Innes <andrewi@gnu.org>
68
69 * w32fns.c (w32_createwindow): Undo last change.
70
c3b497b3
GM
712001-09-05 Gerd Moellmann <gerd@gnu.org>
72
08e1d6df
GM
73 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
74
c3b497b3
GM
75 * xdisp.c (string_buffer_position): Use *single_char_property*
76 functions instead of the *single_property* functions.
77
8f860180
AI
782001-09-04 Andrew Innes <andrewi@gnu.org>
79
9a72e4c1
GM
80 * w32term.c (w32_read_socket): Add more information to debugging
81 output.
8f860180
AI
82
83 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
84 from Emacs frames, so that calls to GetClipBox in w32term.c
85 correctly report when part of a frame is visible (including
86 scrollbars, etc). This prevents repeated redrawing of frames when
87 only a scrollbar is visible.
88 (w32_wnd_proc): Add more frame information to debugging output.
89
2ee1aa00
SM
902001-09-03 Stefan Monnier <monnier@cs.yale.edu>
91
92 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
93
e3b22517
GM
942001-09-03 Gerd Moellmann <gerd@gnu.org>
95
7e376260
GM
96 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
97 help-echo for a string which doesn't have help-echo itself, use
98 get-char-property to obtain the help-echo from the string's buffer
99 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
100 have mouse-face, look ``under'' the string for mouse-face from an
101 overlay.
102 (fast_find_position): Add parameter STOP. In the final row, stop
103 before glyphs having STOP as object. Don't consider glyphs that
104 are not from a buffer.
105
e3b22517
GM
106 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
107
9a249bba
EZ
1082001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
109
110 * fns.c (Fmd5): Doc fix.
111
c9979669
GM
1122001-08-31 Gerd Moellmann <gerd@gnu.org>
113
114 * composite.c (update_compositions): Do nothing if
115 inhibit-modification-hooks is set.
116
9584e63a
GM
1172001-08-30 Gerd Moellmann <gerd@gnu.org>
118
986ec8f2 119 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 120 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
121 glyph matrices etc. in a core dump.
122
92a25631
GM
123 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
124 (syms_of_xdisp): Initialize them.
125 (handle_single_display_prop): Don't change point, bind `object',
126 `position', and `buffer-position' instead to the object having the
2ee1aa00 127 `display' property, position in the object and position in the buffer.
92a25631 128
9584e63a
GM
129 * fileio.c (Finsert_file_contents): Don't change the multibyteness
130 of the buffer if REPLACE is non-nil.
131
d38633a3
GM
1322001-08-29 Gerd Moellmann <gerd@gnu.org>
133
134 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
135
f4fccc1e
EZ
1362001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
137
138 * w32term.c (x_set_glyph_string_background_width)
139 (show_mouse_face): Track the last changes in xterm.c.
140
eaaa65b0
GM
1412001-08-28 Gerd Moellmann <gerd@gnu.org>
142
7b0870b2
GM
143 * xterm.c (x_set_glyph_string_background_width): Set the glyph
144 string's background width so that multi-line mouse-face is drawn
145 to the right edge of the window.
146 (show_mouse_face): Set the row's mouse_face_p flag after drawing
147 glyphs.
148
6b6e2422 149 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 150 before inserting/writing glyphs.
6b6e2422 151
eaaa65b0
GM
152 * xdisp.c (display_mode_element): Use string_byte_to_char to
153 determine character positions in strings, use chars_in_text
154 instead of strwidth.
155 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
156 a matrix as parameter; this is easier to use from GDB.
157
9ad62cf8
MB
1582001-08-28 Miles Bader <miles@gnu.org>
159
2ee1aa00
SM
160 * textprop.c (Fprevious_single_char_property_change)
161 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 162
32171635
GM
1632001-08-27 Gerd Moellmann <gerd@gnu.org>
164
47d57b22
GM
165 * fileio.c (Finsert_file_contents): Allocate, restore, and
166 free composition data in the case of REPLACE not being nil.
167
168 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
169 there exist overlay strings with newlines at POS.
170 (text_outside_line_unchanged_p): Return 0 if changes start at
171 START and overlays exist at START. Likewise for END.
172 (try_window_id): Give up if init_to_row_end returns 0.
173
32171635
GM
174 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
175 unconditionally.
176
e1249666
GM
1772001-08-24 Gerd Moellmann <gerd@gnu.org>
178
33954c45
GM
179 * keymap.c (access_keymap): Return the cdr of the binding of
180 a generic character instead of its definition (KEY . BINDING).
181
e1249666
GM
182 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
183 to 0 also in the REPLACE case.
184
fb4c6c96
AC
1852001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
186
187 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
188 open to determine whether file is readable (as for DOS_NT).
189
59ecf80b
GM
1902001-08-23 Gerd Moellmann <gerd@gnu.org>
191
192 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
193 coding.type is coding_type_no_conversion or coding_type_raw_text,
194 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
195 non-nil instead of just setting enable_multibyte_characters in the
196 buffer to nil.
197
40e33037
GM
1982001-08-22 Gerd Moellmann <gerd@gnu.org>
199
374388c3
GM
200 * dispextern.h (struct face_cache): Add member
201 menu_face_changed_p.
202
203 * xfaces.c (menu_face_changed_default): New variable.
204 (menu_face_changed_count): Variable removed.
205 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
206 the menu_face_changed_default flag, otherwise set the FRAME's
207 menu_face_changed_p flag if the `menu' face has been changed.
208 Prevent calling set_font_frame_param if FRAME is t.
209 (make_face_cache): Initialize cache's menu_face_changed_p
210 from menu_face_changed_default.
211 (realize_basic_faces): Look into the frame's face cache to
212 determine if the menu appearance needs updating.
213
40e33037
GM
214 * keymap.c (access_keymap): Fix last change to not consider
215 IDX when it has modifiers.
216
859ea4b8
GM
2172001-08-21 Gerd Moellmann <gerd@gnu.org>
218
219 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
220 . BINDING) exists, where GENERIC-CHAR is the generic character of
221 the charset of IDX, return BINDING unless there exists a binding
222 for IDX itself.
223
e8660d73
GM
2242001-08-16 Gerd Moellmann <gerd@gnu.org>
225
cca1b1d7
GM
226 * xrdb.c (SYSV): Don't define on Solaris 2.
227 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
228
e8660d73 229 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 230 of the screen line, not text line, containing IT's current position.
e8660d73 231
93aba6fc
GM
2322001-08-15 Gerd Moellmann <gerd@gnu.org>
233
288d4e06
GM
234 * window.c (window_scroll_pixel_based): Don't recenter if
235 PT is partially visible in the window.
236
3452efc2
SM
237 * xterm.c (expose_window_tree, expose_window, expose_line):
238 Return 1 when overwriting mouse-face.
82f053ab
GM
239 (expose_frame): If mouse-face was overwritten, redo it.
240
93aba6fc
GM
241 * xfaces.c (x_update_menu_appearance): Don't call
242 set_frame_menubar, let the next redisplay do it.
243
858a55c1
AI
2442001-08-14 Andrew Innes <andrewi@gnu.org>
245
246 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
247 drawing glyph string.
248
3a990b67
EZ
2492001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
250
251 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
252 running HI-UX/MPP.
253
04386463
GM
2542001-08-14 Gerd Moellmann <gerd@gnu.org>
255
256 * xfaces.c (x_update_menu_appearance): Save and restore value of
257 interrupt_input_blocked.
258
3e6385a4
GM
2592001-08-13 Gerd Moellmann <gerd@gnu.org>
260
b0e619b4
GM
261 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
262 a line start, move back to the line start.
3452efc2 263
0de73d5a
GM
264 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
265 exactly when a mini-buffer is active.
266
3e6385a4
GM
267 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
268 in units of 1/8 character on non window-system frames.
269 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
270
d1b5f629
EZ
2712001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
272
273 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
274 a doc string.
275
eaa2319f
GM
2762001-08-09 Gerd Moellmann <gerd@gnu.org>
277
8e3189f0
GM
278 * keyboard.c (Vpre_help_message): New variable.
279 (syms_of_keyboard): Initialize and staticpro it.
280 (show_help_echo): Record current message before displaying a
281 help-echo, and restore that message when clearing the help.
282
eaa2319f
GM
283 * xfns.c (x_create_im): Remove prototype.
284
285 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
286
287 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 288
eaa2319f
GM
2892001-08-08 Gerd Moellmann <gerd@gnu.org>
290
291 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 292 windows whose height has changed, disable partially visible lines.
eaa2319f 293
17fdcfc8
GM
2942001-08-07 Gerd Moellmann <gerd@gnu.org>
295
22d01aed 296 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 297 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 298
17fdcfc8
GM
299 * xdisp.c (start_display): Don't try to determine the continuation
300 lines width if lines are truncated. It's superfluous and leads to
301 incorrect results if POS is not visible in the window after
302 reseating the iterator at the previous line start.
303
8e3fe78e
GM
3042001-08-06 Gerd Moellmann <gerd@gnu.org>
305
306 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
307
98a8938c
GM
3082001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
309
310 * alloc.c (init_stack): Remove declaration.
311
18f9986a
GM
3122001-08-03 Gerd Moellmann <gerd@gnu.org>
313
5e1f85e0
GM
314 * keyboard.c (read_key_sequence): Check that key is an integer
315 before comparing it with quit_char.
316 (add_command_key): Use larger_vector.
317 (read_char_x_menu_prompt): Instead of converting symbol and
318 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 319 which cannot be confused with valid events.
5e1f85e0
GM
320 (read_char): When reading from Vunread_command_events, check for
321 events of the form (EVENT . disabled) instead of
322 (EVENT . nil).
323
18f9986a
GM
324 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
325 a float, determine the max height from the frame's height.
326
fbc7f2a6
GM
3272001-08-02 Gerd Moellmann <gerd@gnu.org>
328
329 * xdisp.c (redisplay_internal): Take message_cleared_p into
330 account only if minibuf_level == 0.
331
81b1a79d
GM
3322001-08-01 Gerd Moellmann <gerd@gnu.org>
333
e5c60873
GM
334 * xdisp.c (redisplay_internal): Add a check for the last
335 displayed message.
3452efc2 336
6e019995
GM
337 * xdisp.c (message_cleared_p): New variable.
338 (clear_message): Set message_cleared_p when clearing the current
339 message.
340 (redisplay_internal): Look at message_cleared_p to capture
341 the case that the echo area should be cleared.
342
308a74d8
GM
343 * keyboard.c (command_loop_1): Fix spelling of
344 resize_echo_area_exactly.
345
3452efc2 346 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
347
348 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
349
81b1a79d
GM
350 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
351 current matrix when the window gets smaller.
352
ada329e6
EZ
3532001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
354
355 * print.c (strout): Cast the character passed to insert_char to
356 unsigned char, to avoid sign extension when it is promoted to int.
357
ed86208c
GM
3582001-07-31 Gerd Moellmann <gerd@gnu.org>
359
360 * fileio.c (Finsert_file_contents): Don't treat a return value
361 of 0 from emacs_read as an IO error.
362
6594ac22
GM
3632001-07-30 Gerd Moellmann <gerd@gnu.org>
364
cef68af5
GM
365 * keyboard.c (abs): New macro.
366 (double_click_fuzz): New variable.
367 (make_lispy_event): Use it to determine what makes a double-click.
368 (syms_of_keyboard): DEFVAR_INT it.
369
6594ac22
GM
370 * xmenu.c (set_frame_menubar): Take into account that
371 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
372 <raeburn@gnu.org>.
373
75c5350a
GM
3742001-07-27 Gerd Moellmann <gerd@gnu.org>
375
376 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
377
378 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
379 of row's visible height.
380
381 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
382 deal with the first overlay string having an image `display' property.
383 (try_window_reusing_current_matrix, compute_line_metrics):
384 Fix computation of row's visible height for the case that part of the
75c5350a
GM
385 row is invisible above and part of the row is at the same time
386 invisible below the window.
387
ac49effe
GM
3882001-07-26 Gerd Moellmann <gerd@gnu.org>
389
390 * xfns.c (x-show-tip): Doc fix.
3452efc2 391
ac49effe
GM
392 * xfns.c (Vx_max_tooltip_size): New variable.
393 (syms_of_xfns): DEFVAR_LISP it.
394 (Fx_show_tip): Set frame's window_width to the width of the
395 window. Use a maximum tooltip size specified by
396 Vx_max_tooltip_size, if that has valid contents.
397 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 398
8c3b00cb
AI
3992001-07-26 Andrew Innes <andrewi@gnu.org>
400
401 * w32term.c (x_display_list): New variable.
402 (w32_term_init): Set it.
403
404 * w32term.h (x_display_list): New extern.
405
16098288
GM
4062001-07-26 Gerd Moellmann <gerd@gnu.org>
407
408 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
409 is non-nil, instead of when redisplaying_p is non-zero.
410 See comment there.
16098288
GM
411 (mark_window_display_accurate_1): Add an assertion.
412
64c5be50
GM
4132001-07-25 Gerd Moellmann <gerd@gnu.org>
414
e743f599
GM
415 * dispextern.h (struct it): Increase size of ctl_chars to 16.
416
563b384d
GM
417 * xfns.c (Fx_file_dialog): Block/unblock input while processing
418 events so that we get a chance of processing expose events.
419
64c5be50
GM
420 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
421
296808a5
GM
4222001-07-24 Gerd Moellmann <gerd@gnu.org>
423
424 * xfns.c (valid_image_p): Protect better against invalid image
425 specifications. Previous code could signal an error.
426
5247262a
GM
4272001-07-23 Gerd Moellmann <gerd@gnu.org>
428
3452efc2 429 * indent.c (current_column): Fix column computation in the
f1004faf
GM
430 presence of display table entries.
431 (current_column_1, Fmove_to_column, compute_motion): Likewise.
432
dd42b31a
GM
433 * dispnew.c (adjust_glyph_matrix): In the optimization for
434 windows whose height has changed, use the new window height
435 to compute which rows to invalidate.
436
9e5a7f2a
GM
437 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
438 (MAX_10_EXP): New macro.
439 (Fformat): Use it.
440
5247262a
GM
441 * coding.c (code_convert_region): Handle the multibyte case if
442 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
443
177ab8ce
GM
4442001-07-20 Gerd Moellmann <gerd@gnu.org>
445
6e07c0a5
GM
446 * dispextern.h (struct face): Change type of `stipple' to
447 int; it's an ID.
448
177ab8ce
GM
449 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
450
b5b80599
GM
4512001-07-19 Gerd Moellmann <gerd@gnu.org>
452
4e2a256b
GM
453 * dispnew.c (update_window): Don't set the cursor at the end
454 of the update if display update has been paused.
455
3452efc2 456 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 457
c1fd9232
KR
4582001-07-18 Ken Raeburn <raeburn@gnu.org>
459
460 * fns.c (Fset_char_table_default): Check that a charset is defined
461 before checking its dimension.
462
928a85c1
KR
4632001-07-17 Ken Raeburn <raeburn@gnu.org>
464
465 * coding.c (setup_coding_system): Don't do any designation based
466 on reg_bits if charset is not yet defined.
467
fb4c6c96 468 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
469 pointer, using eassert.
470
de11c1ea
GM
4712001-07-17 Gerd Moellmann <gerd@gnu.org>
472
3452efc2
SM
473 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
474 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 475
467f1209
GM
4762001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
477
478 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
479
c3d6be34
GM
4802001-07-16 Gerd Moellmann <gerd@gnu.org>
481
c1d61a7d
GM
482 * fileio.c (unwind_read): Function removed.
483 (read_non_regular, read_non_regular_quit): New functions.
484 (Finsert_file_contents): When reading from non-regular files,
485 arrange to catch a `quit' and terminate the loop. Rearrange
486 code so that a `quit' when reading from a regular file doesn't
487 insert text in the buffer.
488
c3d6be34
GM
489 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
490 Clear faces afterwards.
491 (clear_font_table): Take a x_display_info parameter. Don't free
492 fonts being the default font of any frame on the given display.
493
e06aa1f9
GM
4942001-07-13 Gerd Moellmann <gerd@gnu.org>
495
496 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
497 instead of CHAR_STRING which can signal an error.
498
499 * charset.c (char_to_string_1): Extracted from char_to_string.
500 Return -1 instead of signaling an error.
501 (char_to_string): Use it.
502
503 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
504
176c92e6
SM
5052001-07-12 Stefan Monnier <monnier@cs.yale.edu>
506
507 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
508 is t, don't try to append anything to it.
509
1c56232f
EZ
5102001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
511
512 * dired.c (file_name_completion): Pass dp->d_name to
513 Fstring_match, not elt, which is always nil here.
514
1d2b2268
GM
5152001-07-12 Gerd Moellmann <gerd@gnu.org>
516
517 * xselect.c (x_decline_selection_request): Handle errors
518 caused by receivers that have vanished.
519
520 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
521 ignoring events on foreign windows in #if 0. Always dispatch
522 the event after checking it with x_handle_property_notify.
523
524 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
525 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
526 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
527 (toplevel): Add prototypes for file-local functions.
528 (x_atom_to_symbol): Remove DPYINFO parameter.
529
fe5a0162
SM
5302001-07-11 Stefan Monnier <monnier@cs.yale.edu>
531
532 * w32menu.c (menubar_selection_callback, w32_menu_show):
533 Initialize `entry' to nil.
534 (w32_dialog_show): Remove unused `save_wv' variable.
535 (name_is_separator): Recognize "--:foo" and "--foo-bar".
536
a777242c
GM
5372001-07-11 Gerd Moellmann <gerd@gnu.org>
538
8ee5b6a3
GM
539 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
540
d0e2444e
GM
541 * fileio.c (unwind_read): Print a message when discarding inserted
542 text or switching the buffer to unibyte. Change parameter.
543 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 544
a777242c
GM
545 * fileio.c (unwind_read): New function.
546 (Finsert_file_contents): Record it as unwind-function for
547 the case that reading is interrupted by C-g.
548
ae794295
GM
5492001-07-10 Gerd Moellmann <gerd@gnu.org>
550
fe5a0162 551 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
552 update when scrolling_window returns 0.
553
6b05fae3
GM
554 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
555
556 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 557 for the case that x_decode_color signals an error.
6b05fae3 558
ae794295
GM
559 * xdisp.c (add_to_log): Do nothing if called asynchronously.
560
bb6e8cee
GM
5612001-07-09 Gerd Moellmann <gerd@gnu.org>
562
563 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
564 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
565 around ioctls.
566
36b40a8a
EZ
5672001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
568
24b97d4b
EZ
569 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
570 doc string line for dos-timezone-offset.
571
36b40a8a
EZ
572 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
573 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
574 (syms_of_msdos): Add \n\ at the end of a line in the doc string
575 line for dos-unsupported-char-glyph.
36b40a8a
EZ
576
577 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
578
0967b4b0
GM
5792001-07-05 Gerd Moellmann <gerd@gnu.org>
580
f25cfe53
GM
581 * sound.c: Include Emacs' header files with #include "...".
582
0967b4b0
GM
583 * eval.c (specbind): Additionally record the buffer that was
584 current when a buffer-local or frame-local variable was bound.
585
c347a1c3
GM
5862001-07-04 Gerd Moellmann <gerd@gnu.org>
587
588 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
589 to unibyte characters in unibyte buffers.
590
6332ca8a
GM
5912001-07-03 Gerd Moellmann <gerd@gnu.org>
592
38472d44
GM
593 * eval.c (specbind): If SYMBOL has a frame-local binding, record
594 the frame on the binding stack. Change format of entries for
595 local bindings on the binding stack to '(SYMBOL . WHERE)'.
596 (unbind_to): Handle unbinding a frame-local variable.
597
6332ca8a 598 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 599 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
600 (dump_glyph_row): Print row's continuation_lines_width.
601 (try_window_id): Take the shortcut if ZV is visible in the
602 window, but there are actually no changes at ZV.
603
63d1b174
GM
6042001-07-02 Gerd Moellmann <gerd@gnu.org>
605
4c175203
GM
606 * xterm.h (x_free_dpy_colors): Add prototype.
607
608 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
609 right number of arguments.
610
0b54ce28
GM
611 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
612 ($(lwlibdir)TAGS): New target.
4c175203 613 (TAGS): Fix dependency list.
0b54ce28 614
63d1b174
GM
615 * xterm.c (x_list_fonts): Make sure XFreeFont is called
616 with input blocked.
617
d827466c
GM
6182001-06-30 Gerd Moellmann <gerd@gnu.org>
619
620 * emacs.c (main): Remove extern declaration for sys_nerr, which
621 isn't used and causes a compilation error with GCC 3.0 on
622 FreeBSD 4.3.
623
b5cb1ada
GM
6242001-06-27 Gerd Moellmann <gerd@gnu.org>
625
a5d3ec3f 626 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 627 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
628 (toplevel): Include <signal.h> and syssignal.h.
629
b5cb1ada
GM
630 * sound.c (vox_configure, vox_close): Turn off atimers
631 around ioctls.
632
d9bad487
GM
6332001-06-26 Gerd Moellmann <gerd@gnu.org>
634
fdbb67fe
GM
635 * keyboard.c (read_char) <non_reread>: Record the previous idle
636 start time before calling timer_stop_idle.
637 (read_char) <reread_first>: After processing a help-echo event,
638 restore the previous idle start time.
639
d9bad487
GM
640 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
641 the start of invisible text.
642 (setup_for_ellipsis): New function.
643 (next_overlay_string): After all overlay strings have been
644 processed, display an ellipsis if necessary.
645 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
646 (push_it): Initialize display_ellipsis_p on the iterator's stack.
647
648 * dispextern.h (struct iterator_stack_entry): Add member
649 display_ellipsis_p.
650
2b9c25e0
GM
6512001-06-25 Gerd Moellmann <gerd@gnu.org>
652
80de57df
GM
653 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
654 on the value of the wait-for-wm frame parameter.
655
656 * xterm.h (struct x_output): Add member wait_for_wm.
657
658 * xfns.c (Qwait_for_wm): New variable.
659 (x_frame_parms): Add entry for `wait-for-wm".
660 (x_set_wait_for_wm): New function.
661 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
662 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
663
2b9c25e0
GM
664 * xdisp.c (try_window_id) <all changes below window end>: Don't
665 take this shortcut if ZV is visible in the window.
666 (try_window_id): When checking for window start being in changed
667 text, don't check that the buffer's size has changed.
668
f772775c
RS
6692001-06-23 Richard M. Stallman <rms@gnu.org>
670
671 * minibuf.c (Fcompleting_read): Doc fix.
672
fa9090b8
GM
6732001-06-19 Gerd Moellmann <gerd@gnu.org>
674
675 * composite.c (Ffind_composition_internal): Accept ZV
676 and a string's end position as POS.
677
f6f1beba
GM
6782001-06-18 Gerd Moellmann <gerd@gnu.org>
679
680 * composite.c (Ffind_composition_internal): Check POS
681 for validity.
682
0ae83348
EZ
6832001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
684
685 * editfns.c (Fmessage_box): If the frame is not under a window
686 system, output the message in the echo area.
687
e4cdc335
RS
6882001-06-14 Richard M. Stallman <rms@gnu.org>
689
690 * xdisp.c (try_window_id): When EOB is visible, don't treat
691 insertion at EOB as if it were "off the bottom of the screen."
692
a55a5f3c
AI
6932001-06-11 Andrew Innes <andrewi@gnu.org>
694
695 * w32proc.c (create_child): Add new parameter is_gui_app.
696 (w32_executable_type): Add new parameter is_gui_app.
697 (sys_spawnve): Use it.
698 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
699 SIGQUIT. This matches better how the signals are interpreted by
700 MSVC compiled programs.
701 (syms_of_ntproc): Update docstring.
702
1b85dc1c
SM
7032001-06-02 Stefan Monnier <monnier@cs.yale.edu>
704
705 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
706 well otherwise note_mouse_highlight might optimize away highlighting
707 if we pass over that same overlay again.
708
b75f8eab
EZ
7092001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
710
711 * lread.c (Fload): Document that the argument is run via
712 substitute-in-file-name.
713
94843cc1
GM
7142001-05-31 Gerd Moellmann <gerd@gnu.org>
715
b14659e6
GM
716 * Makefile.in (bootstrap-doc): New target.
717 (bootstrap-emacs): Depend on it.
718
0894672f
GM
719 * fileio.c (Fdo_auto_save): Don't try to create the directory of
720 auto-save-list-file-name when shutting down Emacs, because
721 creating the directory might signal an error, and leaves
722 Emacs in a strange state.
723
94843cc1
GM
724 * term.c: (tty_cursor_hidden): New variable.
725 (update_begin): Don't call tty_hide_cursor. Clean up.
726 (update_end, set_terminal_window, set_scroll_region): Clean up.
727 (ring_bell, reset_terminal_modes): Clean up.
728 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
729 on tty_cursor_hidden.
730 (write_glyphs): Call tty_hide_cursor.
731
db3a49a6
SM
7322001-05-30 Stefan Monnier <monnier@cs.yale.edu>
733
734 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
735
8bd189fb
GM
7362001-05-30 Gerd Moellmann <gerd@gnu.org>
737
6f1be3b9
GM
738 * xfns.c (enum image_value_type): New enumerator
739 IMAGE_STRING_OR_NIL_VALUE.
740 (parse_image_spec): Handle it.
741 (xbm_format, pbm_format): Use it for :foreground and :background.
742 (xbm_load, pbm_load): Check for nil color names.
743
8bd189fb
GM
744 * xterm.c (note_mouse_highlight): If an overlapping overlay
745 exists, but we find that we highlight the same overlay as before,
746 don't do the highlighting again.
747
7bdba03c
GM
7482001-05-29 Gerd Moellmann <gerd@gnu.org>
749
4c329aa8
GM
750 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
751 Protect unibyte strings created by replacing their multibyte
752 equivalents in menu_items.
753
e15e2828
GM
754 * keymap.c (Fsingle_key_description): NUL-terminate the string
755 buffer before calling build_string.
756
7bdba03c
GM
757 * callproc.c (Fcall_process): Deal with decode_coding returning
758 CODING_FINISH_INCONSISTENT_EOL.
759
89c8dc6c
GM
7602001-05-28 Gerd Moellmann <gerd@gnu.org>
761
db3a49a6 762 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
763 an item's name with its key description in case the description
764 is a multibyte string.
765
766 * keymap.c (Fsingle_key_description): Create a multibyte string
767 only if necessary.
768
eb04d6cd
GM
769 * macros.c (Fstart_kbd_macro): Doc fix.
770
8bd6307f
GM
771 * xterm.c (cursor_in_mouse_face_p): New function.
772 (x_draw_stretch_glyph_string): Use it to choose a different GC
773 when drawing a cursor within highlighted text.
774
e26c4089
GM
775 * editfns.c (char_property_eq): Put in #if 0.
776
777 * indent.c (string_display_width): Put in #if 0.
778
779 * lread.c (Fload): Remove unused label.
780
89c8dc6c
GM
781 * termcap.c (speeds): Put in #if 0.
782
9a1211f2
GM
7832001-05-18 Gerd Moellmann <gerd@gnu.org>
784
29148a3f
GM
785 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
786
9a1211f2
GM
787 * xfaces.c (xlfd_point_size): Don't divide pixel size from
788 transformation matrix by 10.
789
09393d07
GM
7902001-05-16 Gerd Moellmann <gerd@gnu.org>
791
792 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
793 only if it's equal to the former foreground pixel color.
db3a49a6 794 (x_set_foreground_color, x_set_background_color)
09393d07
GM
795 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
796
460e6bae
GM
7972001-05-16 Dave Love <fx@gnu.org>
798
799 * insdel.c (signal_before_change, signal_after_change): Consider a
800 local change hook which changes the buffer.
99c78ce8
GM
801
802 * process.c (read_process_output): Don't call signal_after_change
803 and update_compositions after insert_from_string_before_markers.
804
dbcf3c03
GM
8052001-05-16 Gerd Moellmann <gerd@gnu.org>
806
a90b3d3c
GM
807 * xfaces.c (split_font_name): Use the right field when
808 checking for `[...]' syntax.
809
1b7818b4
GM
810 * buffer.c (copy_overlays): New function.
811 (clone_per_buffer_values): Use it.
812
813 * buffer.h (OVERLAY_PLIST): New macro.
814
9bae8781
GM
815 * keymap.c (Fsingle_key_description): Replace a build_string with
816 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
817
dbcf3c03
GM
818 * fontset.c (Ffontset_info): Check that face is non-null
819 before accessing its fields.
820
8a1ae4dd
GM
8212001-05-15 Gerd Moellmann <gerd@gnu.org>
822
18a0a39e
GM
823 * keyboard.c (read_key_sequence): Prevent generating a fake
824 prefix key twice.
825
e335b66a
GM
826 * xfaces.c (split_font_name): Handle `[...]' for the right
827 font name fields.
828
8a1ae4dd
GM
829 * ccl.c (ccl_driver): Don't copy remaining bytes in case
830 of CCL_STAT_INVALID_CMD.
831
3cf80731
SM
8322001-05-14 Stefan Monnier <monnier@cs.yale.edu>
833
33568849
SM
834 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
835 in <var> has no default value yet.
836
3cf80731
SM
837 * xfaces.c (try_alternative_families): First try the FAMILY.
838 And if nothing is found in the end, try again with scalable fonts.
839 (try_font_list): Let try_alternative_families do a bit more of
840 the work. Only use FAMILY if it is not nil.
841 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
842
933b0249
GM
8432001-05-14 Gerd Moellmann <gerd@gnu.org>
844
58e5af83
GM
845 * xterm.c (note_mouse_highlight): Avoid changing the mouse
846 pointer shape when show_mouse_face has already done it.
33568849 847
58e5af83 848 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
849 full-width rows.
850
7b16a6bf
GM
851 * xfaces.c (split_font_name): Make sure to leave the loop
852 with the right value of `i'.
3cf80731 853
933b0249
GM
854 * xfaces.c (split_font_name): Handle matrix transformations
855 in the pixel and point size fields of XLFD font names.
856 (xlfd_point_size): Likewise.
857
dddcbf00
EZ
8582001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
859
3cf80731 860 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
861 (x_to_w32_font): Add prototype.
862
7689ef0b
EZ
863 * regex.c (malloc, realloc, free) [emacs]: Undefine before
864 redefining, to avoid compiler warnings.
865
e7c15bba
EZ
866 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
867
dddcbf00
EZ
868 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
869 (w32_get_bdf_glyph): Cast between unsigned char and char when
870 passing arguments to subroutines, to shut up compiler warnings.
871 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
872 GET_HEX_VAL.
873
874 * xfaces.c: Include keyboard.h before frame.h, not after it.
875
876 * widget.c: Include keyboard.h before frame.h.
877
878 * w32term.h (struct image, struct face): Forward declaration, to
879 avoid compiler warnings.
880
7bd2d083
GM
8812001-05-11 Gerd Moellmann <gerd@gnu.org>
882
47e72862
GM
883 * keyboard.c (read_key_sequence): Don't modify events when
884 generating fake prefix keys (mode-line, scroll-bar, ...) since
885 this prevents proper processing of such events when pushed back
886 into unread-command-events.
887
dd5f324b
GM
888 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
889 actually redrawn. Make the function static.
890 (note_mouse_highlight): Fix a case where the mouse cursor
891 was changed back to the text cursor.
892
893 * xterm.h (clear_mouse_face): Remove prototype.
894
d88a79d4
GM
895 * xdisp.c (try_window_id): Fix the fix and set the right
896 window_end_vpos.
897
898 * xdisp.c (try_window_id): Fix computation of window end in the
899 case that lines were deleted at the end of the window. Add some
900 more debug_method_adds.
0416532f 901
7bd2d083
GM
902 * xfaces.c (try_alternative_families): New function.
903 (try_font_list): Use it. If ATTRS specifies a family, check
904 fonts from that family first.
905 (choose_face_font): Remove code setting the family part of
906 the pattern to nil.
907
23fca891
GM
9082001-05-10 Gerd Moellmann <gerd@gnu.org>
909
ff9aa2ca
GM
910 * xdisp.c (try_window_id): Fix case of all changes before
911 the window start.
7b2654b5 912
23fca891
GM
913 * xdisp.c (try_window_id): Add some xasserts.
914
e9726794
GM
9152001-05-09 Gerd Moellmann <gerd@gnu.org>
916
917 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
918
9e53a675
GM
9192001-05-09 Dave Love <fx@gnu.org>
920
921 * xdisp.c (GIVE_UP): Fix for K&R C.
922
0d487c52
GM
9232001-05-09 Gerd Moellmann <gerd@gnu.org>
924
fe88d421
GM
925 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
926
0d487c52
GM
927 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
928 back to the text cursor shape without need.
929
1e9fc92e
GM
9302001-05-07 Gerd Moellmann <gerd@gnu.org>
931
a2a6232e
GM
932 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
933
934 * dispextern.h (inverse_video): Declare extern.
935
1e9fc92e
GM
936 * keyboard.c (delete_kboard): Handle the case that selected_frame
937 has been deleted in the course of x_connection_closed.
938
12949a7f
EZ
9392001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
940
7b2654b5
SM
941 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
942 Fix the change from 2001-04-30.
12949a7f 943
2fa2f461
GM
9442001-05-03 Gerd Moellmann <gerd@gnu.org>
945
a779d213
GM
946 * xfns.c (file_dialog_unmap_cb): New function.
947 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
948 where a dialog is closed via the window manager.
949
7b2654b5 950 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
951 the window start or all below the window end mostly rewritten.
952 (redisplay_window): Move the tests if try_window_id is
953 applicable to try_window_id.
954 (GIVE_UP): New macro.
955
3356df63
GM
9562001-05-02 Gerd Moellmann <gerd@gnu.org>
957
a39202f6 958 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
959 currently being updated, mark the frame garbaged.
960 Fix computation of rows intersecting the exposed rectangle.
a39202f6 961 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 962
3356df63
GM
963 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
964 again if it has already been drawn.
965
a9d2fd1d
SM
9662001-05-01 Stefan Monnier <monnier@cs.yale.edu>
967
968 * syntax.c (update_syntax_table): Check that oldi has the same
969 properties as old_prop before deciding not to invalidate.
970
c95fc5f1
GM
9712001-04-30 Gerd Moellmann <gerd@gnu.org>
972
a9793e45
GM
973 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
974 read-only text that is so because of text properties.
975
c95fc5f1 976 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 977 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
978 windows that are components of a Lucid menu bar.
979
5a5d9185
GM
9802001-04-27 Gerd Moellmann <gerd@gnu.org>
981
982 * term.c (turn_on_face): Fix reverse video handling on terminals
983 that don't support colors.
984
ba973f7a
GM
9852001-04-26 Gerd Moellmann <gerd@gnu.org>
986
987 * editfns.c (save_excursion_restore): Don't use XBUFFER on
988 a non-buffer.
989
8c56a983
GM
9902001-04-25 Gerd Moellmann <gerd@gnu.org>
991
a728644c
GM
992 * term.c (toggle_highlight): New function.
993 (turn_on_face): Change handling of reverse video.
994
7b2654b5
SM
995 * process.c (wait_reading_process_input):
996 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 997
bfd8410f
GM
998 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
999 of the number of overlays to check.
1000
be2488ca
GM
1001 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1002
8c56a983
GM
1003 * xdisp.c (try_window_id): Fix a case where window_end_pos
1004 and window_end_bytepos were not adjusted.
1005
522d42f7
GM
10062001-04-23 Gerd Moellmann <gerd@gnu.org>
1007
1008 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1009 zero instead of -1.
1010
78c1afb6
EZ
10112001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1012
a9d2fd1d
SM
1013 * process.c (wait_reading_process_input) [!subprocesses]:
1014 Don't reference waiting_for_user_input_p, it's not defined in the
1015 branch without async subprocesses support.
78c1afb6 1016
a2fab450
GM
10172001-04-19 Gerd Moellmann <gerd@gnu.org>
1018
a122a38e
GM
1019 * keyboard.c (delete_kboard): Prevent a dangling reference
1020 from current_kboard to KB, which is freed.
1021
a9d2fd1d
SM
1022 * process.c (wait_reading_process_input):
1023 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1024 read_key_sequence aware of buffer changes from under it.
1025
0f8d6dc7
GM
10262001-04-18 Gerd Moellmann <gerd@gnu.org>
1027
eeffb293
GM
1028 * xfaces.c (Qscalable_fonts_allowed): New variable.
1029 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1030 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1031 removed.
eeffb293 1032 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1033 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1034 for scalable-fonts-allowed to t.
eeffb293 1035
0f8d6dc7
GM
1036 * fileio.c (Finsert_file_contents): If the file size returned from
1037 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1038 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1039
eec2d1de
EZ
10402001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1041
1042 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1043 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1044 (__memalign_hook): Make the two prototypes consistent.
1045
f4f480bd
GM
10462001-04-17 Gerd Moellmann <gerd@gnu.org>
1047
1048 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1049 matrix of mini-windows.
1050
52283633
SM
10512001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1052
1053 * intervals.c (find_interval): Don't rebalance during signal handling.
1054
ec2423c9
GM
10552001-04-11 Gerd Moellmann <gerd@gnu.org>
1056
30cb0001 1057 * fns.c: Include blockinput.h.
52283633 1058
ec2423c9
GM
1059 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1060
719d83ad
GM
10612001-04-10 Gerd Moellmann <gerd@gnu.org>
1062
60f8d735
GM
1063 * fns.c (Fcompare_strings): Fix return values.
1064
afffeb57
GM
1065 * window.c (window_scroll): Change the meaning of N to mean
1066 N screen-fulls or N lines.
1067 (window_scroll_pixel_based, window_scroll_line_based)
1068 (scroll_command, Fscroll_other_window): Change accordingly.
1069
52283633
SM
1070 * window.c (window_scroll_pixel_based, Frecenter):
1071 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1072 height of the window.
1073
1074 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1075 instead of using it.last_visible_y for the height of the window.
52283633 1076
719d83ad 1077 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1078 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1079
1080 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1081 able to write to hidden and system files. From Dan Holmsand
1082 <dan@eyebee.com>.
719d83ad 1083
8ddf3ee1
GM
1084 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1085 Holmsand <dan@eyebee.com>.
719d83ad 1086
522ed7fb
GM
10872001-04-09 Gerd Moellmann <gerd@gnu.org>
1088
9170e5d4
GM
1089 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1090
522ed7fb
GM
1091 * window.c (window_internal_height): Return 1 less if the
1092 window has a header line.
1093
1094 * xdisp.c (try_window_id): When scrolling on a terminal, take
1095 the change of window_internal_height into account.
1096
ceeb3d7d
EZ
10972001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1098
1099 * gmalloc.c (align): If the argument SIZE would overflow
1100 __malloc_ptrdiff_t, fail right away.
1101
63685b9d
GM
11022001-04-06 Gerd Moellmann <gerd@gnu.org>
1103
1104 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1105 Make sure the tooltip is completely visible.
1106 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1107
1108 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1109
1110 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1111
3ffb33bb
DL
11122001-04-06 Dave Love <fx@gnu.org>
1113
52283633
SM
1114 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1115 Fix test of `from'.
3ffb33bb 1116
869fb12c
GM
11172001-04-06 Gerd Moellmann <gerd@gnu.org>
1118
52283633 1119 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1120
869fb12c
GM
1121 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1122
441bf856
GM
11232001-04-05 Gerd Moellmann <gerd@gnu.org>
1124
4d664b04
GM
1125 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1126
52283633 1127 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1128
30ca89f5
GM
1129 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1130 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1131
1132 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1133 shell widget's position only if it is non-null.
1134
52283633
SM
1135 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1136 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1137
81a81c0f
GM
1138 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1139 FILENAME to bring it in synch with the documentation.
1140
441bf856
GM
1141 * xfaces.c (realizing_basic_faces_p): Renamed from
1142 realize_default_face_p.
1143 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1144 (realize_default_face): Don't set the flag.
1145
702a1e8e
GM
11462001-04-04 Gerd Moellmann <gerd@gnu.org>
1147
1013f4e3
GM
1148 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1149
52283633
SM
1150 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1151
1013f4e3
GM
1152 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1153 the buffer that was used for echoing.
1154
702a1e8e
GM
1155 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1156 (first_font_matching): Removed unused function.
1157 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1158 (may_use_scalable_font_p): Remove parameter FONT; rename
1159 parameter NAME to FONT.
1160 (x_face_list_fonts): Fix missing bounds check.
1161 (realizing_default_face_p): New variable.
1162 (realize_default_face): Set and clear that flag.
1163 (x_face_list_fonts): When called during the realization of the
1164 default face, and no matching fonts are found when ignoring
1165 scalable fonts and fonts matching a regexp from
1166 face-ignored-fonts, try without ignoring fonts.
1167
f9dbcda4
GM
11682001-04-03 Gerd Moellmann <gerd@gnu.org>
1169
ad18ffb1
GM
1170 * xfns.c (postprocess_image): New function.
1171 (lookup_image): Call it for all image types except PostScript.
1172 (x_kill_gs_process): Call postprocess_image.
1173
f9dbcda4
GM
1174 * xterm.c (x_use_underline_position_properties): New variable.
1175 (x_draw_glyph_string): Use it.
1176 (syms_of_xterm): DEFVAR_BOOL it.
1177
651f03b6
GM
11782001-04-02 Gerd Moellmann <gerd@gnu.org>
1179
1180 * xterm.c (x_alloc_nearest_color_1): New function.
1181 (x_alloc_nearest_color): Use it.
1182 (x_color_cells): Take a Display as argument, instead of a frame.
1183 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1184 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1185 (x_initialize): Register cvt_string_to_pixel as resource converter
1186 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1187
73d75a62
GM
11882001-03-30 Gerd Moellmann <gerd@gnu.org>
1189
b2046df8
GM
1190 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1191 (set_iterator_to_next): If a string from a display property ends,
1192 consider the case that this might also be the end of an
1193 overlay string having the display property.
1194
52283633 1195 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1196
87d8eba4
GM
1197 * xdisp.c (reseat_to_string): Undo last change.
1198
73d75a62
GM
1199 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1200 matrix of a window when the header line changes, when
1201 new rows are allocated, or when the width changes.
1202
911a2406
EZ
12032001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1204
52283633 1205 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1206
aea51abe
EZ
12072001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1208
1209 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1210 deprecated.
1211
176bc847
GM
12122001-03-29 Gerd Moellmann <gerd@gnu.org>
1213
ed31fabf
GM
1214 * data.c (Fsubr_interactive_form): New function.
1215 (syms_of_data): Defsubr it.
1216
176bc847
GM
1217 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1218 (live_float_p, live_misc_p): Return 1 only if the offset of the
1219 pointer in its block is >= 0.
1220
e59d0e9d
GM
12212001-03-28 Paul Eggert <eggert@twinsun.com>
1222
1223 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1224 microseconds calcuation. Avoid double-rounding problem.
1225 In doc string, warn that the result is approximate.
1226
f827b862
GM
12272001-03-28 Gerd Moellmann <gerd@gnu.org>
1228
30a3f61c
GM
1229 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1230 bind `inhibit-eval-during-redisplay' to t.
1231
1232 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1233
1234 * xdisp.c (inhibit_eval_during_redisplay)
1235 (Qinhibit_eval_during_redisplay): New variables.
1236 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1237 don't eval, return nil instead.
1238 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1239 Initialize Qinhibit_eval_during_redisplay.
1240
e719f5ae
GM
1241 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1242 the iterator's multibyte_p flag.
1243
deb2613a
GM
1244 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1245 instead of setting it to zero; it's incremented for each frame
1246 where the menu face is changed.
1247
52283633
SM
1248 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1249 change bottom shadow accordingly.
1250
1251 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1252 intersections here.
1253 (expose_window): Do it here instead.
52283633 1254 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1255
f827b862
GM
1256 * bytecode.c (BYTE_CODE_QUIT): New macro.
1257 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1258
4bde0ebb
GM
12592001-03-27 Gerd Moellmann <gerd@gnu.org>
1260
607ec83c
GM
1261 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1262 Give up if matrix starts in an ellipsis.
1263 (init_from_display_pos): Do nothing if POS doesn't specify
1264 a dpvec_index but the iterator has such a position.
1265
0245398f
GM
1266 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1267
aba25348
GM
1268 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1269 x/y position is (0, 0) after destroying the menu bar, restore
1270 its original position.
1271
4bde0ebb
GM
1272 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1273 (init_from_display_pos): Use it.
1274 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1275
8cdb267e
GM
12762001-03-26 Gerd Moellmann <gerd@gnu.org>
1277
1278 * xdisp.c (try_window_id): Undo last change.
1279
9948db79
EZ
12802001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1281
1282 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1283
1284 * buffer.c (syms_of_buffer): Doc fix.
1285
2eddf899
GM
12862001-03-26 Gerd Moellmann <gerd@gnu.org>
1287
1288 * xfaces.c (x_update_menu_appearance): Use local variable
1289 popup_path for setting font resources.
1290
6c145d35
EZ
12912001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1292
6a65b1b5
EZ
1293 * frame.c (Fframe_list): Don't reference tip_frame if
1294 HAVE_WINDOW_SYSTEM is not defined.
1295
6c145d35
EZ
1296 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1297 <wl@gnu.org>.
1298
d74c1900
GM
12992001-03-25 Gerd Moellmann <gerd@gnu.org>
1300
20fbd925
GM
1301 * xdisp.c (init_from_display_pos): Test invisible property
1302 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1303
927c5b3b
GM
1304 * xdisp.c (redisplay_internal) <update one window>: Make sure
1305 last_arrow_position and last_arrow_string are set.
1306
d74c1900
GM
1307 * frame.c (Fframe_list): Don't return a tooltip frame.
1308
091f8878
GM
13092001-03-23 Gerd Moellmann <gerd@gnu.org>
1310
52283633
SM
1311 * xdisp.c (mark_window_display_accurate_1): New function,
1312 extracted from mark_window_display_accurate.
1313 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1314 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1315 (mark_window_display_accurate): Use it.
1316 (redisplay_internal): Use it for the selected window.
1317 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1318 for the selected frame.
1319
ac90c44f
GM
1320 * xdisp.c Use make_number, for readability.
1321 (try_window_id): Disable rows below the window end.
1322 (try_window_reusing_current_matrix): Use cursor_row_p.
1323 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1324 of rows.
1325 (init_from_display_pos): If POS specifies a position in a display
1326 vector, maybe get the iterator set up for that ellipsis.
43c09969 1327
091f8878
GM
1328 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1329
991786dd
EZ
13302001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1331
1332 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1333
6c29b43c
GM
13342001-03-23 Gerd Moellmann <gerd@gnu.org>
1335
1336 * xfaces.c (x_update_menu_appearance): Use a different path
1337 for Lucid popup menus.
1338
d8731202
SM
13392001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1340
1341 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1342
1343 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1344 (string_buffer_position): Use `make_number'.
1345
f61a541b
GM
13462001-03-22 Gerd Moellmann <gerd@gnu.org>
1347
3c9e997b
GM
1348 * xfaces.c (x_update_menu_appearance): Renamed from
1349 x_set_menu_face_resources. Use different resources for popups.
1350
1351 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1352 (GC_CHECK_STRING_BYTES): Don't define.
1353
364cd450
GM
1354 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1355 Removed, together with subroutines.
1356 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1357 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1358
d8731202
SM
1359 * dispextern.h (x_set_menu_resources_from_menu_face):
1360 Remove prototype.
364cd450 1361
d8731202 1362 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1363 Remove calls to x_set_menu_resources_from_menu_face.
1364
d8731202
SM
1365 * xfaces.c (xm_set_menu_resources_from_menu_face):
1366 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1367
1368 * xmenu.c: Include widget.h.
1369 (single_submenu): Return int. Some cleanup.
1370 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1371
140330de
GM
13722001-03-21 Gerd Moellmann <gerd@gnu.org>
1373
1374 * xterm.c (x_update_window_end): Handle overwritten mouse face
1375 also for tool bar windows.
1376 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1377 DRAW is DRAW_IMAGE_RAISED.
1378
1741905c
GM
13792001-03-20 Gerd Moellmann <gerd@gnu.org>
1380
fa88947e
GM
1381 * print.c (syms_of_print): Doc fixes.
1382
1741905c
GM
1383 * fns.c (Fmd5): Doc fix.
1384
ade0bee1
GM
13852001-03-19 Gerd Moellmann <gerd@gnu.org>
1386
357e7376
GM
1387 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1388 Clear area of the frame not occupied by the scroll bar.
1389
c2c097cc
GM
1390 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1391 tip frame's root window buffer to *tip* right after creating
1392 the frame.
1393
ade0bee1
GM
1394 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1395 is an integer don't have to be for space characters.
1396
88c6e37e
GM
13972001-03-16 Gerd Moellmann <gerd@gnu.org>
1398
52283633
SM
1399 * indent.c (current_column, current_column_1, Fmove_to_column)
1400 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1401
c62eed76
KH
14022001-03-15 Kenichi Handa <handa@etl.go.jp>
1403
1404 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1405 drawing glyph string.
1406
c899e7e6
GM
14072001-03-15 Gerd Moellmann <gerd@gnu.org>
1408
d0bbfc99
GM
1409 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1410 (command_loop_1): Undo last change.
1411
03d1a189
GM
1412 * xterm.c (fast_find_position): Return the correct vpos.
1413
c899e7e6 1414 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1415 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1416 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1417 Call store_symval_forwarding with BUF null.
1418 (set_internal): Call store_symval_forwarding with the BUF
1419 parameter passed to set_internal. Formerly, the value was always
1420 set in the current buffer; the buffer recorded in specbind for
1421 this case wasn't used.
1422 (arith_driver): Reindent.
1423
52283633
SM
1424 * buffer.c (swap_out_buffer_local_variables):
1425 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1426
1427 * lisp.h (store_symval_forwarding): Change prototype.
1428
1429 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1430
57ac7c81
GM
14312001-03-14 Gerd Moellmann <gerd@gnu.org>
1432
697617d9
GM
1433 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1434 FOR_DELETION. Avoid resizing the mini-window of the selected
1435 frame if FOR_DELETION is set.
1436 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1437 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1438 signature.
1439
1440 * window.c (Fset_window_configuration): Change call to
1441 do_switch_frame to new format.
1442
1443 * keyboard.c (quit_throw_to_read_char): Change call to
1444 do_switch_frame to new format.
1445
1446 * lisp.h (do_switch_frame): Change prototype.
1447
819dce0f
GM
1448 * frame.c (Fframe_parameters): In the `buffer-list' frame
1449 parameter, store the buffer list of FRAME, not the list of the
1450 selected frame.
1451
57ac7c81
GM
1452 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1453 box just because the glyph row's full_width_p flag is set.
1454
65008712
GM
14552001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1456
1457 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1458 skip the padding blanks inserted in extend_face_to_end_of_line,
1459 before checking for trailing whitespace.
1460
159cf431
GM
14612001-03-13 Gerd Moellmann <gerd@gnu.org>
1462
52283633 1463 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1464 Remove special handling for LessTif/Motif.
1465 (toplevel): Don't include Xm/Xm.h.
1466
52283633
SM
1467 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1468 Remove workaround code for LessTif; it doesn't work anymore.
1469
2564ea1b 1470 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1471 Xm/ScrollBarP.h.
afcdc0a1 1472
52283633
SM
1473 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1474 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1475 contemporary LessTif.
1476
52283633
SM
1477 * xfaces.c (xm_set_menu_resources_from_menu_face):
1478 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1479
159cf431
GM
1480 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1481 removing button grabs.
1482
c6f7429a
KH
14832001-03-13 Kenichi Handa <handa@etl.go.jp>
1484
cb82d767
KH
1485 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1486 and clip-large-size-font as obsolete.
1487
c6f7429a
KH
1488 * lread.c (read_multibyte): Check the validity of multibyte
1489 sequence. If invalid, return the first byte.
1490
760cefb5
GM
14912001-03-12 Gerd Moellmann <gerd@gnu.org>
1492
1493 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1494 before running the command; timer functions or process
1495 filters may have set it.
1496
5141f9d0
EZ
14972001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1498
1499 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1500 Doc fix.
1501
b6a15240
GM
15022001-03-12 Gerd Moellmann <gerd@gnu.org>
1503
1504 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1505 to sprintf.
1506
95522746
GM
15072001-03-09 Gerd Moellmann <gerd@gnu.org>
1508
db14cfc5
GM
1509 * dispextern.h (string_buffer_position): Add prototype.
1510
52283633 1511 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1512 (single_display_prop_string_p): New functions.
1513
1514 * xterm.c (note_mouse_highlight): If there's no help-echo on
1515 a string, look at the buffer text ``under'' it.
1516
1517 * keyboard.c (make_lispy_event): Add string info to the event,
1518 analogous to what's done on mode lines.
1519 (read_key_sequence): For a click on a string, consider `local-map'
1520 and `keymap' of that string.
1521
52283633
SM
1522 * keyboard.c (make_lispy_event, make_lispy_movement):
1523 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1524
1525 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1526
1527 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1528 POS; return void.
1529
95522746
GM
1530 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1531 flags argument to emacs_open; it seems to conflict with O_EXCL.
1532
898a399d
KH
15332001-03-09 Kenichi Handa <handa@etl.go.jp>
1534
28cd4910
KH
1535 * composite.h (struct composition): Change types of members;
1536 glyph_len to unsigned, width to unsigned short.
898a399d 1537
4cdf6a6c
AI
15382001-03-08 Andrew Innes <andrewi@gnu.org>
1539
1540 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1541 menu titles.
1542
129004d3
GM
15432001-03-08 Gerd Moellmann <gerd@gnu.org>
1544
221dd3e7
GM
1545 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1546 instead of nil.
1547
52283633 1548 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1549 help-echo in strings.
1550 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1551 (fast_find_string_pos): New function.
1552
52283633
SM
1553 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1554 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1555
1556 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1557 Handle `mouse-face'.
1558
1559 * dispextern.h (face_at_string_position): Change prototype.
1560
52283633 1561 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1562
129004d3
GM
1563 * keyboard.c (make_lispy_event): Avoid generating drag events
1564 if the mouse hasn't actually moved to another buffer position.
52283633 1565
80c8ab8c
DL
15662001-03-08 Dave Love <fx@gnu.org>
1567
129004d3 1568 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1569
989521fd
GM
15702001-03-08 Gerd Moellmann <gerd@gnu.org>
1571
1572 * process.c (Fset_process_window_size): Fix a typo.
1573
bb5c338d
KH
15742001-03-08 Kenichi Handa <handa@etl.go.jp>
1575
1576 * coding.c (detect_coding_sjis): Do more rigid check.
1577 (detect_coding_big5): Likewise.
1578 (decode_coding_sjis_big5): Likewise.
1579 (Fdetect_coding_region): Call detect_coding_system with tailing
1580 anchor byte `\0' for more rigid detection.
52283633 1581 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1582 (Fdetect_coding_string): Likewise.
1583
8b8f9197
SM
15842001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1585
1586 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1587 a string before extracting its data.
1588
3bdf2660
GM
15892001-03-07 Gerd Moellmann <gerd@gnu.org>
1590
1591 * window.c (Frecenter): Rewrite code handling negative values
1592 of ARG on graphical frames.
1593
15942001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1595
1596 * window.c (displayed_window_lines): If W->start is outside the
1597 accessible portion of the buffer, call start_display with BEGV or
1598 ZV instead of W->start.
1599
471f86b9
GM
16002001-03-07 Gerd Moellmann <gerd@gnu.org>
1601
2ab62c6c
GM
1602 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1603
471f86b9
GM
1604 * process.c (Fset_process_filter): Don't crash if the input
1605 file descriptor of PROCESS is closed.
1606 (Fset_process_window_size): Likewise.
1607
101922c3
GM
16082001-03-06 Kenichi Handa <handa@etl.go.jp>
1609
1610 * xterm.c (XTflash): Make the timeout of select shorter, and call
1611 select repeatedly until the desired time expires.
1612
45d051a7
GM
16132001-03-06 Gerd Moellmann <gerd@gnu.org>
1614
1615 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1616
1617 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1618
1619 * lisp.h (Vwindow_list): Declare extern.
1620
8f372c46
EZ
16212001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1622
1623 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1624
f16a7aa5
GM
16252001-03-06 Gerd Moellmann <gerd@gnu.org>
1626
157ae273
GM
1627 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1628 to detect a case where we have to highlight a different region
1629 despite not having left the currently highlighted region.
1630 Set mouse_face_overlay in the x_display_info.
45d051a7 1631 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1632
1633 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1634
1635 * buffer.c (mouse_face_overlay_overlaps): New function.
1636
1637 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1638 (Qmouse_face): Declare extern.
1639
f16a7aa5
GM
1640 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1641 if face_change_count is non-zero.
1642
827afcac
KH
16432001-03-06 Kenichi Handa <handa@etl.go.jp>
1644
1645 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1646 that the source is unibyte.
1647
14c7242e
DL
16482001-03-05 Dave Love <fx@gnu.org>
1649
827afcac 1650 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1651
c28b847b
GM
16522001-03-05 Gerd Moellmann <gerd@gnu.org>
1653
1654 * minibuf.c (read_minibuf): Clean up the binding stack if
1655 called noninteractively.
1656
b86644f2
KH
16572001-03-05 Kenichi Handa <handa@etl.go.jp>
1658
1659 * coding.c (syms_of_coding): Docstring modified.
1660
203682cc 16612001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1662
1663 * charset.c (char_to_string): If a single byte char has modifier
1664 bits that can't be reflected to the character code, ignore them
45d051a7 1665 instead of signaling an error.
b86644f2 1666
e30bd7b7
EZ
16672001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1668
1669 * s/msdos.h: Update copyright notice.
1670
1671 * dosfns.h: Update copyright notice.
1672
1673 * dosfns.c: Update copyright notice.
1674
1675 * msdos.c: Update copyright notice.
1676
b52b65bd
GM
16772001-03-02 Gerd Moellmann <gerd@gnu.org>
1678
1679 * xterm.c (glyph_rect): New function.
1680 (XTmouse_position): Use it to raise the threshold for mouse
1681 movement event generation.
1682
53c4b1e6
EZ
16832001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1684
1685 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1686 specifies (reverse . t), reverse the initial screen colors.
1687 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1688 but we are reversing the colors, set bg_set, not fg_set.
1689 Likewise for setting background-color and reversing: set fg_set.
1690 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1691 in effect.
1692
1693 * xfaces.c (Finternal_set_lisp_face_attribute)
1694 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1695 parameters alist.
1696
f964b4d7
GM
16972001-03-02 Gerd Moellmann <gerd@gnu.org>
1698
ef53d75e
GM
1699 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1700 to a single slash in the middle of file names.
1701
52283633 1702 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1703 Accept only alphanumeric time zone names.
1704
f964b4d7
GM
1705 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1706 or width area.
1707 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1708 a widget to zero height.
52283633 1709
c3c45f65
GM
17102001-03-01 Gerd Moellmann <gerd@gnu.org>
1711
1712 * window.c (Fwindow_end): Call move_it_past_eol only if
1713 ending up on a partially visible line.
1714
028d739a
DL
17152001-03-01 Dave Love <fx@gnu.org>
1716
1717 * ccl.c (Fccl_execute): Doc fix.
1718
57c5889c
GM
17192001-03-01 Gerd Moellmann <gerd@gnu.org>
1720
35f59f6b
GM
1721 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1722 of the tool bar before calling x_figure_window_size.
1723
f84ff02c
GM
1724 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1725 NULL after destroying it, otherwise XTread_socket can access a
1726 destroyed widget when input is unblocked.
1727
8b8f9197 1728 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1729
57c5889c
GM
1730 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1731 same name as before, although there was a change in fontsets.
1732
224227d1
KR
17332001-02-28 Ken Raeburn <raeburn@gnu.org>
1734
4560730a
KR
1735 * lisp.h (Fframe_parameter): Declare.
1736
224227d1 1737 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1738 Lisp_Object.
224227d1 1739
ece93c02
GM
17402001-02-28 Gerd Moellmann <gerd@gnu.org>
1741
11ef99b9
GM
1742 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1743 NULL instead.
1744
1745 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1746 NULL instead.
1747
ece93c02
GM
1748 * alloc.c (toplevel): Include process.h.
1749 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1750 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1751 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1752 (allocate_vector, allocate_hash_table, allocate_window)
1753 (allocate_frame, allocate_process, allocate_other_vector):
1754 New functions.
ece93c02
GM
1755 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1756 (mark_maybe_pointer): New function.
52283633 1757 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1758 remain and not Lisp_Objects.
1759 (min_heap_address, max_heap_address): New variables.
1760 (mem_find): Return MEM_NIL if START is below min_heap_address or
1761 above max_heap_address.
1762 (mem_insert): Compute min_heap_address and max_heap_address.
1763
1764 * process.c (make_process): Use allocate_process.
1765
1766 * frame.c (make_frame): Use allocate_frame.
1767
1768 * window.c (make_window, make_dummy_parent): Use allocate_window.
1769 (Fcurrent_window_configuration): Use allocate_other_vector.
1770
1771 * lisp.h (allocate_vectorlike): Remove prototype.
1772 (allocate_vector, allocate_other_vector, allocate_frame)
1773 (allocate_window, allocate_process, allocate_hash_table):
1774 Add prototypes.
1775
1776 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1777 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1778
063af457
KH
17792001-02-27 Kenichi Handa <handa@etl.go.jp>
1780
1781 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1782 treat the produced bytes as a valid multibyte sequence.
1783
1784 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1785 (ccl_driver) <CCL_WriteMultibyteChar2>:
1786 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1787 <ccl_finish>: Set ccl->eight_bit_control properly.
1788
1789 * ccl.h (struct ccl_program): New member eight_bit_control.
1790
f58c6494
SM
17912001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1792
1793 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1794 accessible_keymaps_char_table.
1795 (accessible_keymaps_char_table): Obey `is_metized'.
1796 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1797 Lisp_Object.
1798
c596c392
GM
17992001-02-26 Gerd Moellmann <gerd@gnu.org>
1800
1801 * dispnew.c: Check HAVE_TERM_H before including term.h.
1802
425de386
AI
18032001-02-24 Andrew Innes <andrewi@gnu.org>
1804
1805 * makefile.w32-in: Update copyright notice.
1806
2ba11bbd
SM
18072001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1808
1809 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1810
66c56ed1
KH
18112001-02-24 Kenichi Handa <handa@etl.go.jp>
1812
4c1593ce
KH
1813 * Makefile.in (lisp): Add international/utf-8.elc.
1814
66c56ed1
KH
1815 * fontset.c (Fnew_fontset): Fix handling of the case that an
1816 element of FONTLIST is a cons of family and registry.
1817
796ead7e
JR
18182001-02-23 Jason Rumney <jasonr@gnu.org>
1819
1820 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1821 to height unconditionally.
1822
1823 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1824 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1825 (x_insert_glyphs): Call window_box_left to obtain the left
1826 x-coordinate of the area to shift.
1827
1828 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1829 safe_run_hooks.
1830
f6839838
AI
18312001-02-22 Andrew Innes <andrewi@gnu.org>
1832
52283633 1833 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1834 ($(BLD)\dispnew.obj):
1835 ($(BLD)\editfns.obj):
1836 ($(BLD)\fileio.obj):
1837 ($(BLD)\filelock.obj):
1838 ($(BLD)\keyboard.obj):
1839 ($(BLD)\w32proc.obj):
1840 ($(BLD)\process.obj):
1841 ($(BLD)\sysdep.obj): Ditto.
1842
1843 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1844 header files.
52283633
SM
1845 ($(BLD)/dispnew.$(O)):
1846 ($(BLD)/editfns.$(O)):
1847 ($(BLD)/fileio.$(O)):
1848 ($(BLD)/filelock.$(O)):
1849 ($(BLD)/keyboard.$(O)):
1850 ($(BLD)/w32proc.$(O)):
1851 ($(BLD)/process.$(O)):
f6839838
AI
1852 ($(BLD)/sysdep.$(O)): Ditto.
1853
c224f70b
GM
18542001-02-22 Gerd Moellmann <gerd@gnu.org>
1855
51695746
GM
1856 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1857 at the start of the function, check that the \n in it->c is
1858 from the iterator's current position.
52283633 1859
a61b7058
GM
1860 * xdisp.c (handle_single_display_prop): Add parameter
1861 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1862 properties which replace the display of text with something else.
1863 (handle_display_prop): Call handle_single_display_prop with
1864 additional argument saying if we already replaced text display
1865 with something else. Use AREF.
52283633 1866 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1867 (decode_mode_spec_coding): Use AREF and ASIZE.
1868
3473f362
GM
1869 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1870 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1871 * vmstime.h: Files removed.
52283633 1872
2bb58df3
GM
1873 * unexencap.c, unexfx2800.c: Files removed.
1874
c224f70b
GM
1875 * dispnew.c (direct_output_for_insert): Give up if we are showing
1876 a message or just cleared the message because we might need to
1877 resize the echo area window or display an empty echo area.
1878
ffc9ff0c
GM
18792001-02-21 Gerd Moellmann <gerd@gnu.org>
1880
0528abe1
GM
1881 * xdisp.c (redisplay_internal): Do the
1882 mark_window_display_accurate after all windows have been
1883 redisplayed because this call resets flags in buffers which are
1884 needed for proper redisplay.
1885
52283633
SM
1886 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1887 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1888 the old names.
1889
52283633
SM
1890 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1891 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1892
1893 * msdos.h (struct x_output): Rename busy_window to
1894 hourglass_window, busy_p to hourglass_p.
1895
52283633
SM
1896 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1897 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1898
1899 * xfns.c: Rename everything containing *busy_cursor* and similar
1900 to *hourglass*.
1901 (syms_of_w32fns): Rename x-busy-pointer-shape to
1902 x-hourglass-pointer-shape, display-busy-cursor to
1903 display-hourglass, busy-cursor-delay to hourglass-delay.
1904
1905 * w32fns.c: Rename everything containing *busy_cursor* and similar
1906 to *hourglass*.
1907 (syms_of_w32fns): Rename x-busy-pointer-shape to
1908 x-hourglass-pointer-shape, display-busy-cursor to
1909 display-hourglass, busy-cursor-delay to hourglass-delay.
1910
1911 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1912 of its busy_p flag.
1913
1914 * dispextern.h (start_hourglass, cancel_hourglass)
1915 (display_hourglass_p): Renamed from *busy_cursor*.
1916
ab2c5f0a
GM
19172001-02-20 Gerd Moellmann <gerd@gnu.org>
1918
d17e49a8
GM
1919 * keyboard.c (read_char): When an event from unread-command-events
1920 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1921
fa97adf6
GM
1922 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1923 equal to the current buffer.
1924
ab2c5f0a
GM
1925 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1926 nil, otherwise we're left with truncate_lines t when a message
1927 is printed with message-truncate-lines bound to t.
1928
aeac019e
GM
19292001-02-19 Gerd Moellmann <gerd@gnu.org>
1930
c8bc6f65
GM
1931 * window.c (Fmove_to_window_line): Undo last change.
1932 (displayed_window_lines): Call line_bottom_y to determine
1933 the line's bottom position.
1934
1935 * dispextern.h (line_bottom_y): Add prototype.
1936
52283633 1937 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1938 (pos_visible_p): Use it.
1939
980a2d69
GM
1940 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1941 set redisplaying_p to 0 here instead of in Frecursive_edit.
1942 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1943 set redisplaying_p.
1944
52283633 1945 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1946 New variables.
1947 (syms_of_xdisp): Initialize new variables.
1948 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1949 Specbind `inhibit-menubar-update' when updating the menu bar.
1950
65048e97
GM
1951 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1952 safe_run_hooks.
1953
1954 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1955 safe_run_hooks.
1956
a57c4026
GM
1957 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1958 is null.
1959
aeac019e
GM
1960 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1961 to the start of the file.
1962
76846b31
GM
19632001-02-16 Gerd Moellmann <gerd@gnu.org>
1964
f3f053f3 1965 * window.c (set_window_buffer): Fix last change.
52283633 1966
f3f053f3
GM
1967 * window.c (set_window_buffer): Set window's vscroll to 0.
1968
dad75588
GM
1969 * window.c (coordinates_in_window): Increase width of area
1970 where the vertical line can be dragged.
1971
c220b753
GM
1972 * xterm.c (x_set_glyph_string_background_width): Extend the
1973 background face to the end of the drawing area in the text
1974 area, only.
1975
c56b1c1b
GM
1976 * xdisp.c (handle_single_display_prop): Set iterator's position
1977 to where the `display' property starts, like for images.
1978 (dump_glyph): New function.
1979 (dump_glyph_row): Use it. Dump info about marginal areas.
1980
1981 * dispnew.c (direct_output_for_insert): Recognize more cases where
1982 glyphs can be written instead of being inserted.
1983
1984 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1985 the left x-coordinate of the area to shift.
1986
76846b31
GM
1987 * dired.c (directory_files_internal): Set result list to nil
1988 before retrying.
1989
0fc71a77
KH
19902001-02-15 Kenichi Handa <handa@etl.go.jp>
1991
1992 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1993 invalid multibyte sequence, treat *SRC as a character of
1994 eight-bit-graphic.
1995
25078b54
EZ
19962001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1997
1998 * textprop.c (Fset_text_properties): Doc fix.
1999
8399f8a0
GM
20002001-02-15 Gerd Moellmann <gerd@gnu.org>
2001
2002 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2003
9a2a6f73
DL
20042001-02-14 Dave Love <fx@gnu.org>
2005
2006 * coding.c: Doc and message fixes.
2007
bf853fee
AI
20082001-02-14 Andrew Innes <andrewi@gnu.org>
2009
2010 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2011 Emacs frame above the screen size.
2012
78c663d8
GM
20132001-02-14 Gerd Moellmann <gerd@gnu.org>
2014
2015 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2016
7cc9f69f
GM
20172001-02-13 Gerd Moellmann <gerd@gnu.org>
2018
0a411995
GM
2019 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2020 case that TO ends up beyond ZV after running before-change-functions.
2021
5ddc1b75
GM
2022 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2023 the selected window if it is showing the buffer in question.
2024
7cc9f69f
GM
2025 * dired.c (directory_files_internal): Initialize errno.
2026 (toplevel): Include errno.h.
2027
2e6621ca
GM
20282001-02-13 Kenichi Handa <handa@etl.go.jp>
2029
2030 * xfaces.c (best_matching_font): New parameter width_ratio.
2031 Multiply avgwidth by width_ratio.
2032 (choose_face_font): Call best_matching_font with width_ratio
2033 calculated from the column width of C.
2034
60222d69
AI
20352001-02-12 Andrew Innes <andrewi@gnu.org>
2036
2037 The following changes are to draw box lines inside characters area
2038 if line-width is negative.
52283633 2039
60222d69
AI
2040 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2041 face->box_line_width is negative.
2042 (x_produce_stretch_glyph): Likewise.
2043 (x_produce_glyphs): Likewise.
2044 (x_estimate_mode_line_height): Likewise.
2045 (x_draw_glyph_string_background): Likewise.
2046 (x_draw_glyph_string_foreground): Likewise.
2047 (x_draw_composite_glyph_string_foreground): Likewise.
2048 (x_draw_glyph_string_box): Likewise.
2049 (x_draw_image_foreground): Likewise.
2050 (x_draw_image_relief): Likewise.
2051 (x_draw_image_foreground_1): Likewise.
2052 (x_draw_image_glyph_string): Likewise.
2053
9804b846
KH
20542001-02-09 Kenichi Handa <handa@etl.go.jp>
2055
2056 The following changes are to draw box lines inside characters area
2057 if line-width is negative.
52283633 2058
9804b846
KH
2059 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2060 face->box_line_width is negative.
2061 (x_produce_stretch_glyph): Likewise.
2062 (x_produce_glyphs): Likewise.
2063 (x_estimate_mode_line_height): Likewise.
2064 (x_draw_glyph_string_background): Likewise.
2065 (x_draw_glyph_string_foreground): Likewise.
2066 (x_draw_composite_glyph_string_foreground): Likewise.
2067 (x_draw_glyph_string_box): Likewise.
2068 (x_draw_image_foreground): Likewise.
2069 (x_draw_image_relief): Likewise.
2070 (x_draw_image_foreground_1): Likewise.
2071 (x_draw_image_glyph_string): Likewise.
2072
2073 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2074 and :line-width can be negative.
52283633 2075 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2076
49be9f70
JR
20772001-02-09 Jason Rumney <jasonr@gnu.org>
2078
2079 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2080 characters the same as ASCII and latin-1.
2081 (x_display_and_set_cursor): Check for the focus frame's selected
2082 window instead of selected_window.
2083 (x_after_update_window_line): Don't clear if frame's internal
2084 border width is zero.
2085 (x_new_font): Don't change a tooltip's size.
2086 (w32_initialize): Set char_ins_del_ok to 1.
2087
2088 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2089 (x_set_font): If font hasn't changed, avoid recomputing
2090 faces and other things.
52283633
SM
2091 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2092 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2093 (x_create_tip_frame): Prevent changing the tooltip's
2094 background color by specifying a color for the default font
2095 in .Xdefaults.
2096 (Qcancel_timer): New variable.
2097 (syms_of_w32fns): Initialize and staticpro it.
2098 (Fx_hide_tip, Fx_show_tip): Use it.
2099 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2100 the timer.
2101 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2102
2103 * w32.c (init_environment): Duplicate local string before putenv.
2104
555e35d2
SZ
21052001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2106
2107 * charset.c (Fstring): A typo.
2108
19c92c94
KH
21092001-02-09 Kenichi Handa <handa@etl.go.jp>
2110
e47a1c33
KH
2111 * charset.c (Fstring): If all arguments are less than 256, return
2112 a unibyte string.
2113
2114 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2115 return a unibyte string.
2116
19c92c94
KH
2117 * coding.c (code_convert_region): After detecting a coding, if
2118 nothing found, set coding->composing to COMPOSITION_NO.
2119 (decode_coding_string): Likewise.
2120
d8e675f5
SM
21212001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2122
2123 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2124 to avoid overflow.
2125
bd503487
KH
21262001-02-07 Kenichi Handa <handa@etl.go.jp>
2127
2128 * charset.c (parse_str_to_multibyte): New function.
2129
2130 * charset.h (parse_str_to_multibyte): Extern it.
2131
2132 * print.c (print_string): If we are going to print a unibyte
2133 string into a multibyte buffer, convert the string to multibyte by
2134 str_to_multibyte.
2135
a8370d72
AI
21362001-02-06 Andrew Innes <andrewi@gnu.org>
2137
2138 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2139 been created. It seems we can get sent window messages such as
2140 WM_ERASEBKGND before we properly update a frame.
2141
c363a1d6
GM
21422001-02-06 Gerd Moellmann <gerd@gnu.org>
2143
2144 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2145 Avoid some unnecessary cursor positioning.
2146
a08332c0
GM
21472001-02-05 Gerd Moellmann <gerd@gnu.org>
2148
52283633 2149 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2150 (LFACE_AVGWIDTH): New macro.
2151 (LFACEP): Use AREF.
2152 (check_lface_attrs): Check LFACE_AVGWIDTH.
2153 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2154 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2155 (merge_face_vectors): Check LFACE_AVGWIDTH.
2156 (Finternal_make_lisp_face): Use AREF.
2157 (xm_set_menu_resources_from_menu_face)
2158 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2159 (Finternal_lisp_face_empty_p): Use AREF.
2160 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2161 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2162 Compare average widths..
2163 (best_matching_font): Arrange for comparing average widths.
2164
52283633
SM
2165 * dispextern.h (enum lface_attribute_index):
2166 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2167
5cb3c8d4
DL
21682001-02-05 Dave Love <fx@gnu.org>
2169
2170 * puresize.h: Revert last change following loadup.el change.
2171
193fba87
AI
21722001-02-05 Andrew Innes <andrewi@gnu.org>
2173
2174 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2175 invocation of temacs, to work with Windows 2000.
2176 (bootstrap-emacs): Ditto.
2177
e16f52ce
GM
21782001-02-05 Gerd Moellmann <gerd@gnu.org>
2179
7a58ab59
GM
2180 * xterm.c (x_display_and_set_cursor): Check for the focus
2181 frame's selected window instead of selected_window.
2182
e89aaabd
GM
2183 * xdisp.c (try_scrolling): If point is in the line below the
2184 window, make sure to move the iterator at least a canonical
2185 char height down.
2186
52283633 2187 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2188
789ce875
KH
21892001-02-05 Kenichi Handa <handa@etl.go.jp>
2190
52283633
SM
2191 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2192 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2193 (ccl_driver): If the CCL program is terminated because of
2194 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2195 destination instead of throwing them away.
2196
20b28f82
GM
21972001-02-02 Gerd Moellmann <gerd@gnu.org>
2198
79fb38c0
GM
2199 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2200 faces and other things.
2201
20b28f82
GM
2202 * xdisp.c (get_next_display_element): Fix case of empty
2203 display table entry.
2204
5a72551e
EZ
22052001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2206
eb24d0bf
EZ
2207 * editfns.c (Fconstrain_to_field): Doc fix.
2208
6a3f48c7
EZ
2209 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2210 into `thoroughly', to make it consistent with the doc string.
2211
5a72551e
EZ
2212 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2213
01acdb05
GM
22142001-02-01 Gerd Moellmann <gerd@gnu.org>
2215
0353b28f
GM
2216 * search.c (search_buffer): Call set_search_regs with a byte
2217 position, not a character position.
2218
01acdb05
GM
2219 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2220 minibuffer-only,
2221
e86b5133
EZ
22222001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2223
2224 * frame.c (Fmodify_frame_parameters): Doc fix.
2225
7442878f
GM
22262001-01-31 Gerd Moellmann <gerd@gnu.org>
2227
01acdb05
GM
2228 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2229 identifier which is not reserved by Standard C.
52283633 2230
7442878f
GM
2231 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2232
2233 * window.c (enum window_part): New enumeration.
2234 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2235 Qright_bitmap_area.
2236 (coordinates_in_window): Return an enumerator from enum
2237 window_part. Fix handling of right scroll bar.
2238 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2239 `right-fringe' instead of `left-bitmap-area' and
2240 `right-bitmap-area'. Use enumerators from enum window_part
2241 instead of hard-coded integers.
52283633
SM
2242 (check_window_containing, window_from_coordinates):
2243 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2244 (syms_of_window): Replace Qleft_bitmap_area and
2245 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2246
7c132cba
EZ
22472001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2248
2249 * editfns.c (Fformat_time_string): Doc fix.
2250
c359dd9e
SM
22512001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2252
2253 * keymap.c (Fwhere_is_internal): Use the first valid binding
2254 if no ascii binding is found (when firstonly is t).
2255
ce070307
GM
22562001-01-31 Gerd Moellmann <gerd@gnu.org>
2257
b4f30ec5
GM
2258 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2259 instead of Finteractive_p.
2260
2261 * lisp.h (interactive_p): Add prototype.
2262
2263 * eval.c (interactive_p): New function.
2264 (Finteractive_p): Use it.
2265
ce070307
GM
2266 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2267
f57b6e64
DL
22682001-01-31 Dave Love <fx@gnu.org>
2269
d61c7afe
DL
2270 * .gdbinit (hook-run): Define to run xreload.
2271
f57b6e64
DL
2272 * textprop.c (Fset_text_properties): Fix newline in doc string.
2273
eef93f99
GM
22742001-01-30 Gerd Moellmann <gerd@gnu.org>
2275
52283633
SM
2276 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2277 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2278
2279 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2280 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2281 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2282
2283 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2284 height.
2285
d9c1f6f9
DL
22862001-01-30 Dave Love <fx@gnu.org>
2287
2288 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2289 AFTER_POTENTIAL_GC.
2290
e8f044a0
GM
22912001-01-29 Gerd Moellmann <gerd@gnu.org>
2292
52283633
SM
2293 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2294 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2295
8e1db7b3
EZ
22962001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2297
2298 * textprop.c (Fset_text_properties): Doc fix.
2299
4eefd9d2
GM
23002001-01-29 Gerd Moellmann <gerd@gnu.org>
2301
2302 * xdisp.c (forward_to_next_line_start): Remove xassert.
2303
fccb8288
EZ
23042001-01-29 Jason Rumney <jasonr@gnu.org>
2305
4eefd9d2 2306 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2307 returning without releasing it.
2308
76581eab
KH
23092001-01-29 Kenichi Handa <handa@etl.go.jp>
2310
2311 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2312 for '^', '$', and '\0'.
2313
83a96b4d
AC
23142001-01-28 Andrew Choi <akochoi@i-cable.com>
2315
5604ec34
AC
2316 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2317 regex for '^', '$', and '\0'.
2318
83a96b4d
AC
2319 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2320 only if current_sblock has been initialized.
2321
2322 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2323 terminal frame even if it is the only visible frame.
2324
c09a6440
KH
23252001-01-28 Kenichi Handa <handa@etl.go.jp>
2326
2327 * fontset.c (font_family_registry): Even if FONTNAME conform to
2328 XLFD, if it specifies other fields than family and registry,
52283633 2329 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2330 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2331 a signle byte character. Don't set FAMILY part to nil here.
2332 It is handled by the caller choose_face_font.
c09a6440
KH
2333 (Fnew_fontset): Call font_family_registry with FORCE 0.
2334 (Fset_fontset_font): Likewise.
2335
4dcd74e6
GM
23362001-01-27 Gerd Moellmann <gerd@gnu.org>
2337
2338 * xdisp.c (display_line): Don't treat a newline as fitting
2339 on the line.
2340
d2906bf8
GM
23412001-01-26 Gerd Moellmann <gerd@gnu.org>
2342
0130fe1a
GM
2343 * window.c (size_window): Set the window's orig_top to nil when
2344 changing heights, so that a future shrink_mini_window won't
2345 restore a bogus height.
2346
550f0e6a
GM
2347 * frame.c (do_switch_frame): If selected frame has a mini-window,
2348 resize that to exact size.
2349
b7b20fbd
GM
2350 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2351
a47b7816
GM
2352 * xdisp.c (display_line): Simplify check for glyphs fitting
2353 entirely in the line.
2354
d2906bf8
GM
2355 * xfns.c (xic_style): New variable.
2356 (create_frame_xic): Move static variable to global scope for
550f0e6a 2357 the case that `static' gets defined away.
d2906bf8 2358
73df2b1e
KH
23592001-01-26 Kenichi Handa <handa@etl.go.jp>
2360
2361 * coding.c (decode_coding): Set a flag for inhibiting
2362 inconsistent eol.
2363 (code_convert_region): Always set saved_coding_symbol.
2364 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2365 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2366
6613cfc4
GM
23672001-01-25 Gerd Moellmann <gerd@gnu.org>
2368
c5e6e06b
GM
2369 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2370 XClearArea.
2371
2372 * xterm.c (x_after_update_window_line): Don't clear if frame's
2373 internal border width is zero.
2374 (x_clear_area): New function.
2375 (x_after_update_window_line, x_clear_end_of_line)
2376 (x_scroll_bar_create, x_scroll_bar_set_handle)
2377 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2378 instead of XClearArea.
2379
2380 * xterm.h (x_clear_area): Add prototype.
2381
6613cfc4
GM
2382 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2383 which doesn't seem necessary anymore with Lesstif 0.92.
2384
650cc6cc
DL
23852001-01-25 Dave Love <fx@gnu.org>
2386
34ac3367
DL
2387 * puresize.h (BASE_PURESIZE): Up to 720000.
2388
650cc6cc
DL
2389 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2390
5e37dc22
GM
23912001-01-25 Gerd Moellmann <gerd@gnu.org>
2392
e1e441f9
GM
2393 * xdisp.c (echo_area_display): Don't call redisplay_internal
2394 when Emacs is shutting down. We can't run hooks etc. that
2395 would be necessary to do a redisplay.
2396
5e37dc22
GM
2397 * lread.c (read_integer): Use type EMACS_INT instead of int.
2398
0fb94c7f
EZ
23992001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2400
2401 * ccl.c (ccl_driver): Fix last change.
2402
e3778624
KH
24032001-01-25 Kenichi Handa <handa@etl.go.jp>
2404
2405 * ccl.h (sturct ccl_program): New member suppress_error.
2406
bb264518 2407 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2408 insert error message to the output.
2409 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2410
2411 * coding.h (struct coding_system): New member suppress_error.
2412
2413 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2414 (Fset_terminal_coding_system_internal): Set the member
2415 suppress_error to 1.
2416 (Fset_safe_terminal_coding_system_internal): Likewise.
2417
245ed2b1
SM
24182001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2419
2420 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2421 as if it was a `charset'.
2422
f9aaedb6
GM
24232001-01-24 Gerd Moellmann <gerd@gnu.org>
2424
2425 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2426 value in where_is_cache; the next lookup in the cache returns
2427 something bogus if we do.
2428
c3902c3e
EZ
24292001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2430
2431 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2432 if HAVE_WINDOW_SYSTEM isn't defined.
2433
3497f73e
GM
24342001-01-24 Gerd Moellmann <gerd@gnu.org>
2435
e7e41584
GM
2436 * fns.c (sweep_weak_table): Fix code taking items out of
2437 the hash collision chain. Some cleanup.
2438
3497f73e
GM
2439 * xterm.c (x_new_font): Don't change a tooltip's size.
2440
2441 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2442 background color by specifying a color for the default font
2443 in .Xdefaults.
2444
3d48e687
KH
24452001-01-24 Kenichi Handa <handa@etl.go.jp>
2446
96531b20
KH
2447 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2448 a workaround for SunOS 4's cc.
2449 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2450 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2451 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2452 statement.
3d48e687 2453
a30629d2
GM
24542001-01-23 Gerd Moellmann <gerd@gnu.org>
2455
2456 * xterm.c (x_set_window_size_1): New function extracted from
2457 x_set_window_size.
2458 (x_set_window_size): Use it.
2459 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2460 doesn't have a widget, like tooltips.
2461
5a43decf
EZ
24622001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2463
52283633 2464 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2465
b0e98867
KH
24662001-01-23 Kenichi Handa <handa@etl.go.jp>
2467
2468 * fns.c (Fset_char_table_default): Fix to make sub char-table
2469 correctly.
2470
50606b4c
GM
24712001-01-22 Gerd Moellmann <gerd@gnu.org>
2472
cb2ddc53 2473 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2474 a desired tool bar string, even if there are no tool bar items.
2475
57c28064
GM
2476 * xdisp.c (Ftool_bar_lines_needed): New function.
2477 (syms_of_xdisp): Defsubr it.
2478
50606b4c
GM
2479 * editfns.c (Fformat): Don't extend text properties from arguments
2480 to padding chars in the result.
2481
2f169c38
EZ
24822001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2483
2484 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2485
0f32f023
AI
24862001-01-20 Andrew Innes <andrewi@gnu.org>
2487
52283633 2488 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2489 (w32_initialize): Don't set term hooks that aren't actually needed
2490 in windowed mode.
2491
2492 * xfaces.c (realize_default_face):
2493 (realize_face):
2494 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2495
2496 * xdisp.c (handle_single_display_prop): Remove references to
2497 FRAME_W32_CONSOLE_P.
2498
52283633 2499 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2500
2501 * frame.h (output_method): Remove output_w32_console method.
2502 (FRAME_W32_CONSOLE_P): Remove macro.
2503
2504 * frame.c (Qw32_console): Remove variable.
2505 (Fframep): Remove references to it.
2506 (syms_of_frame): Ditto.
2507 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2508
2509 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2510 redefinition.
2511
7173eada
KH
25122001-01-20 Kenichi Handa <handa@etl.go.jp>
2513
2514 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2515
755b45ce
AI
25162001-01-19 Andrew Innes <andrewi@gnu.org>
2517
2518 * w32.c (init_environment): Add a version-independent site-lisp
2519 directory to EMACSLOADPATH, after the version dependent one.
2520
0a949811
GM
25212001-01-19 Gerd Moellmann <gerd@gnu.org>
2522
8501998a
GM
2523 * editfns.c (Fbuffer_substring): Doc fix.
2524
52283633
SM
2525 * xdisp.c (message_dolog, message2, message2_nolog):
2526 Rename parameter LEN to NBYTES.
0a949811 2527
e6ebcbbe
KH
25282001-01-19 Kenichi Handa <handa@etl.go.jp>
2529
200ecca2
KH
2530 * charset.c (strwidth): Use c_string_width.
2531 (c_string_width): New function.
2532 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2533 Caller changed.
2534
2535 * charset.h (c_string_width, lisp_string_width): Extern them.
2536
52283633 2537 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2538
e6ebcbbe
KH
2539 * indent.c (check_composition): Check validity of composition.
2540
200ecca2
KH
2541 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2542 characters by calling c_string_width.
2543 (x_consider_frame_title): Get byte length of frame tile string
2544 correctly.
2545 (display_mode_element): Pay attention to width of non-ASCII
2546 characters by calling strwidth.
2547
8692ca92
GM
25482001-01-18 Gerd Moellmann <gerd@gnu.org>
2549
8962e303
GM
2550 * xfns.c (Qcancel_timer): New variable.
2551 (syms_of_xfns): Initialize and staticpro it.
2552 (Fx_hide_tip, Fx_show_tip): Use it.
2553 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2554 the timer.
2555 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2556
91523be9
GM
2557 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2558
2559 * window.h (WINDOW_LIVE_P): New macro.
2560
b0b7ed0e
GM
2561 * window.c (window_size_fixed): New variable.
2562 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2563 the doc string.
2564
06bccf8e
GM
2565 * eval.c (specbind): If binding a per-buffer variable which
2566 doesn't have a buffer-local value in the current buffer, change
2567 the global value by changing the value of the symbol bound in all
2568 buffers not having their own value, to make it consistent with
2569 what happens with other buffer-local variables.
2570
8692ca92
GM
2571 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2572
2573 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2574 when searching for a newline.
2575
bb3a3b50
KH
25762001-01-18 Kenichi Handa <handa@etl.go.jp>
2577
2578 * xdisp.c (display_string): Fix previous change.
2579
c2cc16fa
JR
25802001-01-18 Jason Rumney <jasonr@gnu.org>
2581
2582 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2583 GLYPH_DEBUG is defined.
2584 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2585 true for images with `:ascent 100'.
2586 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2587 meantime, use face MOUSE_FACE_ID.
2588 If first glyph isn't a character glyph, use the ASCII NUL
2589 character to determine the face.
2590 (expose_area): Do not treat left margin specially.
2591 (note_mode_line_highlight): If no local_map, check global keymap.
2592 (note_mouse_highlight): Initialize overlay.
52283633 2593 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2594 (show_scroll_bars): Remove unused function.
2595 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2596 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2597 Clip to row.
52283633 2598 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2599 (x_free_frame_resources): Unload relief colors.
2600
9c11f79e
GM
26012001-01-17 Gerd Moellmann <gerd@gnu.org>
2602
3aec8722 2603 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2604 get_next_display_element when the newline is already found.
2605 This may change the iterator's position, when its current position is
3aec8722
GM
2606 equal to the iterator's stop_charpos.
2607
f3ffc2c3
GM
2608 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2609 zero, use this method only at the end of a line.
2610
52283633 2611 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2612 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2613 if SCALABLE_FONTS_P is set.
52283633 2614
d26d6fd9
GM
2615 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2616 so that scalable fonts are included.
2617
9c11f79e
GM
2618 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2619 In the cache, use a key containing the information if scalable
2620 fonts are included.
2621 (x_load_font): Adapt to change of keys in the font cache.
2622
26232001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2624
d26d6fd9
GM
2625 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2626 XListFonts to take advantage of font caching.
2627
9c11f79e
GM
2628 * xterm.c (x_list_fonts): Ensure caching font information when
2629 called for a null frame, which is the case frequently when Emacs
2630 starts.
2631
51446987
GM
26322001-01-17 Gerd Moellmann <gerd@gnu.org>
2633
f864120f
GM
2634 * xfns.c (QCconversion): Replaces QCalgorithm.
2635
2636 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2637
2638 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2639 of :algorithm.
52283633 2640
e37d1417
GM
2641 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2642 not everything could be displayed.
2643
51446987
GM
2644 * line.h, x-list-font.c: Files removed because unused.
2645
9ad4f3e5
AI
26462001-01-17 Andrew Innes <andrewi@gnu.org>
2647
2648 * dired.c (directory_files_internal): Convert result from readdir
2649 to a unibyte string initially, to avoid possible misinterpretation
2650 of some bytes as the internal form of Emacs characters.
2651
2eda09b5
KH
26522001-01-17 Kenichi Handa <handa@etl.go.jp>
2653
2654 * fns.c (concat): Be sure to avoid putting the same `composition'
2655 property on the adjacent regions.
2656
826f3788
GM
26572001-01-16 Gerd Moellmann <gerd@gnu.org>
2658
52283633 2659 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2660 (Fscroll_right, Fscroll_left): Set it here instead, if called
2661 interactively.
2662
d57b83b3
GM
2663 * buffer.c (Fset_buffer_modified_p): Set buffer's
2664 prevent_redisplay_optimizations_p flag.
2665
826f3788 2666 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2667 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2668 with additional arg.
2669
2670 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2671 Change prototype.
826f3788 2672
826f3788
GM
2673 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2674 FROM_WHERE, for debugging.
2675
261d788b
KH
26762001-01-16 Kenichi Handa <handa@etl.go.jp>
2677
2678 * ccl.c (Fregister_ccl_program): Handle the return value of
2679 resolve_symbol_ccl_program correctly.
52283633 2680 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2681
bccee4f2
GM
26822001-01-15 Gerd Moellmann <gerd@gnu.org>
2683
e4ded23c
GM
2684 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2685 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2686
2687 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2688 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2689 the display; we didn't open it.
2690
bccee4f2
GM
2691 * dispnew.c (save_or_restore_current_matrices): Function removed.
2692 (save_current_matrix, restore_current_matrix): New functions.
2693 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2694 restore the frame's current matrix. Due to the glyph pointer
2695 setup done in adjust_glyph_matrix, there is no easy way to make
2696 saving the current matrix in the desired matrix generally correct,
2697 so don't try it.
2698
ebeccffa
KH
26992001-01-15 Kenichi Handa <handa@etl.go.jp>
2700
2701 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2702 truncation glyphs.
2703 (display_line): Optimize for wide characters.
e4ded23c 2704 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2705 partially. On ttys, produce more than one truncation glyph for
2706 multi-column characters that don't fit on the line.
2707
64388126
KH
27082001-01-13 Kenichi Handa <handa@etl.go.jp>
2709
52283633
SM
2710 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2711 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2712
8edb0a6f
JR
27132001-01-13 Jason Rumney <jasonr@gnu.org>
2714
2715 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2716 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2717 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2718 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2719
52283633
SM
2720 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2721 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2722 (x_draw_image_glyph_string): Adapt to change of image margins.
2723
2724 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2725 variables.
2726
2727 * w32bdf.c (search_file_line, get_cached_font_char)
2728 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2729
2730 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2731
2732 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2733 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2734 (Fw32_send_sys_command): Remove unused variables.
2735 (w32_msg_pump): Add parentheses.
2736
2737 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2738 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2739 Add parentheses.
2740
4956d1ef
GM
27412001-01-12 Gerd Moellmann <gerd@gnu.org>
2742
b30623be
GM
2743 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2744 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2745 being a pair of margins.
2746 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2747 to DEFVAR_LISP. Extend doc.
2748
2749 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2750 margins.
2751 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2752 pair of integers `(X . Y)', use X for the horizontal and Y for the
2753 vertical margin.
2754 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2755 (parse_image_spec): Check it.
52283633
SM
2756 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2757 (tiff_format, gif_format, gs_format):
2758 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2759
52283633
SM
2760 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2761 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2762 (x_draw_image_glyph_string): Adapt to the change of image margins.
2763
2764 * dispextern.h (struct image): Replace member `margin' with
2765 `hmargin' and `vmargin'.
2766
4554cc79
GM
2767 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2768 and GLYPHS.
2769
2770 * dispnew.c (update_text_area): Put code which decrements the
2771 stop position when the row's face extends to the end of the
3bffc665 2772 line in #if 0.
4554cc79 2773
3cccce8d
GM
2774 * xfns.c (x_set_mouse_color): Fix color allocation.
2775
4956d1ef
GM
2776 * keyboard.c: Call get_local_map with new argument list.
2777
2778 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2779
2780 * intervals.h (enum map_property): Removed.
2781 (get_local_map): Change prototype.
2782
2783 * keymap.c: Call get_local_map with new argument list.
2784 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2785
2c2ff7f2
GM
27862001-01-11 Gerd Moellmann <gerd@gnu.org>
2787
a23887b9
GM
2788 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2789 of the size needed for the tool bar string. For the last image,
2790 use a `display' property that reaches to the end of the string.
2791
a7ee2d2e
GM
2792 * xselect.c (selection_request_dpyinfo): New variable.
2793 (x_handle_selection_request): Set it.
2794 (x_selection_request_lisp_error): Don't call
2795 x_decline_selection_request if selection request's display has
2796 been closed.
2797
52283633
SM
2798 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2799 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2800
457b792c
GM
28012001-01-10 Dave Love <fx@gnu.org>
2802
2803 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2804 ${SOME_MACHINE_LISP}, not ${lisp}.
2805
c1efd260
GM
28062001-01-10 Gerd Moellmann <gerd@gnu.org>
2807
52283633
SM
2808 * xdisp.c (display_line): On ttys, produce more than one truncation
2809 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2810
ac95a621
GM
2811 * xselect.c (x_reply_selection_request): Add a comment.
2812
c1efd260
GM
2813 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2814 XkbGetNames instead of XkbGetKeyboard.
2815
1bfb1345
DL
28162001-01-10 Dave Love <fx@gnu.org>
2817
2818 * sysdep.c (random): Revert the declaration.
2819
38119822
GM
28202001-01-09 Gerd Moellmann <gerd@gnu.org>
2821
52283633
SM
2822 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2823 Call function string_bytes.
35f464a7
GM
2824 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2825
2826 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2827 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2828 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2829 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2830 the current sblock.
2831 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2832 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2833 after sweeping strings, and at the end.
2834 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2835
38119822
GM
2836 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2837 ensure that pop_message is called.
2838
2839 * keyboard.c (Fexecute_extended_command): Use a
2840 record_unwind_protect to ensure that pop_message is called.
2841
2842 * lisp.h (push_message_unwind): Add prototype.
2843
2844 * xdisp.c (push_message_unwind): New function.
2845
2846 * fileio.c (do_auto_save_unwind): Do the pop_message here
2847 instead of in Fdo_auto_save.
2848 (Fdo_auto_save): Don't call pop_message.
2849
f47a9ec4
KR
28502001-01-08 Ken Raeburn <raeburn@gnu.org>
2851
2852 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2853 in inner block.
2854
a758f97d
GM
28552001-01-08 Gerd Moellmann <gerd@gnu.org>
2856
6d0afc03
GM
2857 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2858 when increasing window's vscroll.
2859
a758f97d
GM
2860 * macros.c (Qkbd_macro_termination_hook): New variable.
2861 (syms_of_macros): Initialize and staticpro it.
2862 (pop_kbd_macro): Run kbd-macro-termination-hook.
2863
2864 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2865
1bfb1345 28662001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2867
2868 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2869 arglist, for documentation's sake.
2870
0dac6924
AI
28712001-01-06 Andrew Innes <andrewi@gnu.org>
2872
2873 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2874 of *.pdb.
2875
8182406a
AI
28762001-01-05 Andrew Innes <andrewi@gnu.org>
2877
2878 * term.c (update_end): Don't check updating_frame; for some reason
2879 this can be 0 sometimes, such as after dismissing a popup menu,
2880 and isn't necessary given the explicit frame argument.
2881
3828218c
GM
28822001-01-05 Gerd Moellmann <gerd@gnu.org>
2883
2884 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2885 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2886
2f5ded21
GM
28872001-01-04 Gerd Moellmann <gerd@gnu.org>
2888
52283633 2889 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2890
2891 * xfns.c (x_create_tip_frame): Preserve the value of
2892 face_change_count around the creation of the tip frame.
52283633 2893
2f5ded21
GM
2894 * xfns.c (last_show_tip_args): New variable.
2895 (compute_tip_xy): New function.
2896 (Fx_show_tip): Reuse an existing tip frame, if possible.
2897 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2898
dfad65fa
DL
28992001-01-04 Dave Love <fx@gnu.org>
2900
64d4ec0f
DL
2901 * editfns.c (Fformat): Doc fix.
2902
dfad65fa
DL
2903 * systime.h (set_file_times): Prototype.
2904
2905 * widget.h (EmacsFrameSetCharSize_): Prototype.
2906
2907 * sysdep.c (random, srandom): Declare explicitly.
2908
2909 * dispextern.h (move_it_vertically_backward): Declare.
2910
85fe3b5e
GM
29112001-01-04 Gerd Moellmann <gerd@gnu.org>
2912
0f2ac578
GM
2913 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2914 like in Fx_create_frame.
2915
482cca61
GM
2916 * xfaces.c (set_font_frame_param): Don't do anything for
2917 non-graphical frames.
2918
85fe3b5e
GM
2919 * window.c (Fdelete_other_windows): Set window's window_end_valid
2920 to nil when changing the window's start. Don't change the
2921 window's start when its top position hasn't changed. If we do,
2922 this will set the window's optional_new_start, which act's like a
2923 force_start during redisplay with C-x 1 M-> under particular
2924 circumstances (see report from Per Starback to emacs-pretest-bug
2925 from 2000-12-13.).
2926
3e99d3b4
GM
29272001-01-03 Gerd Moellmann <gerd@gnu.org>
2928
a77dc1ec
GM
2929 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2930 short cut at the start of the function. Add an assertion.
2931 (reseat_at_next_visible_line_start): Add an assertion.
2932
2f3cad6c
GM
2933 * window.c (Frecenter): When changing the window start, set the
2934 window's window_end_valid to nil.
2935 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2936
2937 * dispextern.h (move_it_past_eol): Add prototype.
2938
2939 * xdisp.c (move_it_past_eol): New function.
2940
3e99d3b4
GM
2941 * window.c (Fwindow_end): Doc fix.
2942
29432001-01-03 Dave Love <fx@gnu.org>
2944
52283633 2945 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2946
bafb434c
GM
29472001-01-03 Gerd Moellmann <gerd@gnu.org>
2948
2949 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2950 the enabled_p flag of the glyph row at window_end_vpos to 0.
2951 (handle_single_display_prop): Fix last change.
2952
5297fb00
RS
29532001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2954
2955 * window.c (Frecenter): Doc fix.
2956
13d6a61c
AI
29572001-01-02 Andrew Innes <andrewi@gnu.org>
2958
2959 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2960
2961 * frame.h (output_method): Add output_w32_console method.
2962 (FRAME_W32_CONSOLE_P): New macro.
2963
2964 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2965 use output_w32_console method.
2966 (Qw32_console): New Lisp_Object.
2967 (Fframep): Return it.
2968 (syms_of_frame): Init it.
52283633 2969 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2970
2971 * xfaces.c (realize_default_face): Set face foreground and
2972 background to unspecified for w32_console frames.
2973 (realize_face): Realize face cache for w32_console frames.
2974 (realize_tty_face): Accept w32_console frames.
2975
52283633 2976 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2977 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2978 necessary, even if running interactively.
2979
2980 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2981 w32_console frames.
2982
52283633
SM
2983 * w32term.c (x_update_begin):
2984 (x_update_end):
2985 (x_clear_frame):
2986 (x_ins_del_lines):
2987 (x_change_line_highlight):
2988 (x_delete_glyphs):
2989 (w32_ring_bell):
2990 (x_update_begin):
2991 (x_update_end):
2992 (w32_reassert_line_highlight):
2993 (w32_frame_rehighlight):
13d6a61c
AI
2994 (w32_frame_raise_lower): Do nothing if not w32 frame.
2995
2996 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2997
2998 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2999 system doesn't tell us directly.
3000 (Fx_display_visual_class): Implement properly.
3001
d6bb0c0d
GM
30022001-01-02 Gerd Moellmann <gerd@gnu.org>
3003
3004 * window.c (Frecenter): Handle centering in graphical frames
3005 specially. Centering on the basis of line counts doesn't work
3006 reliably with variable-height lines.
52283633 3007
315f5865
EZ
30082001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3009
3010 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3011 and al[].
3012
52283633 3013 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3014 (update_compositions): Remove unused variable `hook'.
3015
3016 * intervals.c (get_local_map): Remove unused variable `tem'.
3017
3018 * doprnt.c (doprnt1): Remove unused variable `size'.
3019
3020 * fns.c (Flength): Remove unused variable `tail'.
3021 (Fdelete): Remove unused variable `size'.
3022
3023 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3024 and `gcpro2'.
3025
52283633 3026 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3027
3028 * data.c (find_symbol_value): Remove extra 3rd argument in the
3029 call to swap_in_symval_forwarding.
3030
52283633 3031 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3032
3033 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3034 (trivial_regexp_p): Remove unused variable `c'.
3035 (boyer_moore): Remove unused variable `k'.
3036
3037 * indent.c (current_column): Remove unused variable `stopchar'.
3038 (Fcompute_motion): Remove unused variable `contin'.
3039
3040 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3041
3042 * dired.c (directory_files_internal): Fix a typo in a comment.
3043 Remove an unused variable `handler'.
52283633 3044 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3045 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3046 on BSD4_2.
3047
52283633 3048 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3049
3050 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3051 and `buf'.
3052 (Fmarker_insertion_type): Remove unused variable `buf'.
3053
3054 * insdel.c (make_gap): Remove unused variable `result'.
3055
52283633 3056 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3057 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3058 (menu_bar_items): Remove unused function-scope variable `tem'.
3059
3060 * fontset.c (fontset_ref): Remove unused variable `i'.
3061 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3062 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3063 (make_fontset_for_ascii_face): Remove unused variable `name'.
3064 (fs_load_font): Remove unused variable `font_idx'.
52283633 3065 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3066 (list_fontsets): Remove unused variable `tail'.
3067 (Fnew_fontset): Remove unused variables `family' and `registry'.
3068 (accumulate_font_info): Remove unused variable `tmp'.
3069 (Ffontset_font): Remove unused variable `id'.
3070 (syms_of_fontset): Remove unused variable `i'.
3071
3072 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3073 to x_term_init.
3074 (lookup_image): Remove unused variable `file'.
3075 (xbm_load): Remove unused variables `bitmap_data', `height', and
3076 `width'. Remove function-local variable `i', leave the
3077 block-local one.
3078 (gif_load): Remove unused variable `inc'.
3079
52283633 3080 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3081 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3082 leave only the one in the inner block.
3083
3084 * xfaces.c (face_fontset, realize_default_face): Remove unused
3085 variable `fontset'.
3086 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3087
3088 * term.c (encode_terminal_code): Remove unused variable `c'.
3089
3090 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3091 char *' instead of `char *'.
3092
3093 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3094 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3095 (Fchar_category_set): Remove unused variables `val', `charset',
3096 `c1' and `c2'.
3097
52283633
SM
3098 * coding.c (detect_coding_iso2022, setup_coding_system):
3099 Remove unused variable `i'.
315f5865
EZ
3100 (detect_coding_mask): Remove unused variable `idx'.
3101 (detect_coding): Remove unused variable `i'.
3102 (ccl_coding_driver): Remove unused variable `result'.
3103 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3104 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3105 (encode_coding_string): Remove unused variables `gcpro1' and
3106 `saved_coding_symbol'.
3107 (Ffind_coding_systems_region_internal): Remove function-local
3108 variable args[], leave only the block-local one.
3109 (code_convert_region1): Remove unused variable `len'.
3110
3111 * charset.c (char_printable_p): Remove unused variable `chars'.
3112 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3113 (str_to_multibyte): Remove unused variable `c'.
3114
3115 * window.c (size_window): Remove block-local variable `min_size'.
3116
3117 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3118 `header_line_height'.
3119 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3120 enum display_element_type.
3121
1a8a9daf
GM
31222001-01-02 Gerd Moellmann <gerd@gnu.org>
3123
6dde6abc 3124 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3125 statements that call X. Save away the error message in a local copy.
3126
1883b2c6
GM
3127 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3128 the start.
3129
a13be207
GM
3130 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3131 in or at the start of invisible text.
3132
1a8a9daf
GM
3133 * dispnew.c (update_window): Don't check_current_matrix_flags.
3134
3608c0f9
JR
31352001-01-01 Jason Rumney <jasonr@gnu.org>
3136
3137 * w32fns.c (x_figure_window_size): Do not allow new_height and
3138 new_width of frame to override specified values.
3139
abb1acc4
KH
31402000-12-30 Kenichi Handa <handa@etl.go.jp>
3141
52283633 3142 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3143
762a68ec
GM
31442000-12-29 Gerd Moellmann <gerd@gnu.org>
3145
52283633 3146 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3147 (update_window) [GLYPH_DEBUG]: Call it.
3148 (scrolling_window): Prevent including current rows which are below
3149 what's displayed in the window.
3150
3151 * xdisp.c (try_window_reusing_current_matrix)
3152 <new start <= old start>: Disable rows in the current matrix
3153 which are below the window after scrolling.
52283633 3154
762a68ec
GM
3155 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3156 is zero. It's not worth the complexity.
3157 (invisible_text_between_p): Put in #if 0 because unused.
3158
2d5912c1
GM
31592000-12-28 Gerd Moellmann <gerd@gnu.org>
3160
46f6a258
GM
3161 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3162 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3163
89f93679
GM
3164 * keyboard.c (echo_char): If C is an integer, always call
3165 push_key_description. Former code could signal an invalid
3166 character error.
3167
3168 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3169 If set, print multibyte text.
3170 (Fsingle_key_description): Call push_key_description with
3171 FORCE_MULTIBYTE set.
3172 (describe_buffer_bindings): Likewise.
3173
3174 * lisp.h (push_key_description): Add prototype.
3175
c06017fb
GM
3176 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3177 around the call to redisplay_internal.
3178
f1d2ce7f
GM
3179 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3180
2d5912c1
GM
3181 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3182
9371f831
KH
31832000-12-28 Kenichi Handa <handa@etl.go.jp>
3184
3185 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3186 (ccl_driver): New local variable `extra_bytes'.
3187
3188 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3189
52283633
SM
3190 * coding.c (setup_coding_system):
3191 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3192 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3193
0c80628a
KH
31942000-12-28 Kenichi Handa <handa@etl.go.jp>
3195
3196 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3197 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3198 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3199 (decode_composition_emacs_mule): New function.
3200 (decode_coding_emacs_mule): Decode composition sequence by calling
3201 decode_composition_emacs_mule.
3202 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3203 (encode_coding_emacs_mule): Changed from macro to function.
3204 If a text contains compositions, encode them correctly.
0c80628a
KH
3205 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3206 that decoding and encoding are required.
3207
3e32cc27
GM
32082000-12-27 Gerd Moellmann <gerd@gnu.org>
3209
5e25feee
GM
3210 * xfaces.c (PT_PER_INCH): New macro.
3211 (xlfd_point_size): Compute real point size from font's pixel size.
3212 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3213 instead of 72.
3214
892d8fcd
GM
3215 * .gdbinit: Comment out the line pointing to the Lesstif source
3216 directory.
3217
12c8b416
GM
3218 * window.c (Frecenter): Use displayed_window_lines instead
3219 of window_internal_height.
3220
6061fbf0
GM
3221 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3222 instead of x-toolkit-scroll-bars-p.
3223 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3224
3225 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3226 instead of x-toolkit-scroll-bars-p.
3227 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3228
3e32cc27
GM
3229 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3230 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3231 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3232 New variables.
3233 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3234 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3235 (build_frame_matrix_from_leaf_window): Remove unused code.
3236 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3237 redisplay history.
3238 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3239 (update_window) [GLYPH_DEBUG]: Likewise.
3240 (syms_of_display): Defsubr dump-redisplay-history.
3241
31798cfe
GM
32422000-12-23 Gerd Moellmann <gerd@gnu.org>
3243
f717c2ba
GM
3244 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3245 the end of the prompt. Set echo_after_prompt to the offset
3246 of echoptr in echobuf.
3247
aeb2b8fc
GM
3248 * xdisp.c (init_from_display_pos): Pop until the iterator's
3249 stack is empty; there may be frames for stretch or images
3250 on the stack.
3251
31798cfe
GM
3252 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3253 (save_or_restore_current_matrix): New function for the same
3254 purpose, but more efficient.
3255 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3256
f8156156
EZ
32572000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3258
3259 * xdisp.c (syms_of_xdisp): Fix last change.
3260
bdd6d4e8
GM
32612000-12-23 Gerd Moellmann <gerd@gnu.org>
3262
3263 * xdisp.c (syms_of_xdisp): Doc fix.
3264
3265 * xdisp.c (redisplay_window): Remove label restore_buffers;
3266 use finish_scroll_bars instead to make sure that scroll bars
3267 are redeemed. If we don't do this, flickering can result from
3268 scroll bars being destroyed and recreated.
3269
9436cdf9
JR
32702000-12-22 Jason Rumney <jasonr@gnu.org>
3271
3272 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3273 in the wrong colors when the foreground is not black.
3274 (expose_window): Don't redraw the window that's currently being
3275 updated.
3276
951f9df5
GM
32772000-12-22 Gerd Moellmann <gerd@gnu.org>
3278
856ff7a7
GM
3279 * window.c (size_window): When setting the window's too_small_ok
3280 flag, compare old size with minimum size depending on WIDTH_P,
3281 don't compare with window_min_width.
52283633 3282
951f9df5
GM
3283 * window.c (delete_window): Simplify somewhat.
3284 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3285 freeing window matrices. The flag windows_or_buffers_changed is
3286 set, so the next redisplay will consider all windows; this should
3287 suffice.
3288
886bc933
KH
32892000-12-22 Kenichi Handa <handa@etl.go.jp>
3290
3291 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3292
3293 * ccl.h (struct ccl_program): New member cr_consumed.
3294
3295 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3296 (CCL_READ_CHAR): Handle EOL conversion here.
3297 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3298
177f4e88
GM
32992000-12-21 Gerd Moellmann <gerd@gnu.org>
3300
52283633 3301 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3302
3303 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3304 otherwise tabs of different size compare equal.
3305
3306 * callint.c (Fcall_interactively): Prevent a compiler warning.
3307
3308 * print.c (print_unwind): Return nil.
3309 (PRINTDECLARE): Initialize all local variables.
3310 (print_preprocess): Add a default case.
3311
8e15274f
GM
3312 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3313
3314 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3315
52283633 3316 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3317 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3318
3319 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3320
3321 * dispnew.c (ensure_frame_matrix): Removed.
3322 (save_frame_matrix, restore_frame_matrix): New functions.
3323 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3324
3325 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3326 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3327
99012074
AI
33282000-12-21 Andrew Innes <andrewi@gnu.org>
3329
3330 * w32term.c (x_update_begin): Regenerate the palette here, rather
3331 than for each window.
3332
3333 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3334 palette is NULL, since this corrupts memory! Also get
3335 display_info reference from frame.
3336
29ef7d2d
JR
33372000-12-21 Jason Rumney <jasonr@gnu.org>
3338
3339 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3340
3341 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3342 to avoid returning without releasing it.
3e27fa1f 3343
3f9d67a6
KH
33442000-12-21 Kenichi Handa <handa@etl.go.jp>
3345
587fc3f9
KH
3346 * keymap.c (push_key_description): Don't convert eight-bit-control
3347 and eight-bit-graphic to multibyte character.
3348
3f9d67a6
KH
3349 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3350 generic character and CODE1 is nil, return the smallest character
3351 in CHARSET.
3352
774ba8c9
DL
33532000-12-20 Dave Love <fx@gnu.org>
3354
3355 * s/osf5-0.h (NSIG): Don't redefine.
3356
88416888
SM
33572000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3358
3359 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3360 excluding menu-bar and tool-bar.
3361 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3362 (menu_item_p): Remove.
3363 (where_is_internal_1): Don't ignore menu-items.
3364
a6426c6f
GM
33652000-12-20 Gerd Moellmann <gerd@gnu.org>
3366
03ff8aab
GM
3367 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3368 into account.
3369
3370 * window.c (make_window): Initialize window's min_hscroll.
3371 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3372 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3373 to zero.
3374 (struct saved_window): New member min_hscroll.
3375 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3376 (Fset_window_configuration): Set window's min_hscroll.
3377 (save_window_save): Save window's min_hscroll.
3378 (compare_window_configurations): Compare min_hscroll values.
3379
3380 * window.h (struct window): New member min_hscroll.
3381
3382 * keyboard.c (echo_prompt): Prevent a compiler warning.
3383
8de4aaf8
GM
3384 * xdisp.c (try_cursor_movement): Fix last change. The real
3385 condition is that PT is at the end of the row, and should
3386 be displayed at the start of the next row.
52283633 3387
3f7e3031
GM
3388 * xdisp.c (try_cursor_movement): If we end on a partially
3389 visible line, end we already decided to scroll, return -1.
3390
a6426c6f
GM
3391 * dispextern.h (ensure_frame_matrix): Add prototype.
3392
3393 * window.c (delete_window, Fsplit_window)
3394 (Fset_window_configuration): Call ensure_frame_matrix.
3395
52283633
SM
3396 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3397 New functions.
a6426c6f
GM
3398 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3399 completed, call fake_current_matrices instead of marking frame
3400 garbaged.
3401
57fa2774
JR
34022000-12-20 Jason Rumney <jasonr@gnu.org>
3403
3404 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3405
d925df90
EZ
34062000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3407
3408 * fns.c (Frequire): Doc fix.
3409
7b93a85b
GM
34102000-12-19 Gerd Moellmann <gerd@gnu.org>
3411
52283633 3412 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3413
c74e645b
GM
3414 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3415 currently displaying a message.
3416
7b93a85b
GM
3417 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3418 xterm.h.
3419 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3420
90d97e64
AI
34212000-12-18 Andrew Innes <andrewi@gnu.org>
3422
3423 * w32.c (w32_strerror): New function.
3424
3425 * w32.h (w32_strerror): New extern.
3426
3427 * w32fns.c (Fw32_shell_execute): Use it.
3428
91c9e6ce
GM
34292000-12-18 Gerd Moellmann <gerd@gnu.org>
3430
3431 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3432
6f4745e2
EZ
34332000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3434
3435 * msdos.c (IT_set_face): Obey inverse_video.
3436
c9e088ce
KH
34372000-12-18 Kenichi Handa <handa@etl.go.jp>
3438
3439 * dired.c (directory_files_internal): Always return decoded filenames.
3440
c3695f5f
GM
34412000-12-18 Gerd Moellmann <gerd@gnu.org>
3442
52d8e4ff
GM
3443 * xterm.c (x_connection_closed): Prevent being called recursively
3444 because of an error condition in XtCloseDisplay.
52283633 3445
62be9979
GM
3446 * xdisp.c (init_iterator): If noninteractive, and the frame's
3447 face cache is null, make one.
3448
52283633 3449 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3450
c3695f5f
GM
3451 * process.c (wait_reading_process_input): Check for pending
3452 input when running timers.
3453
78555fbe
EZ
34542000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3455
52283633 3456 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3457
b2b36264
KH
34582000-12-18 Kenichi Handa <handa@etl.go.jp>
3459
3460 * process.c (read_process_output): Don't run a filter if the code
3461 decoder produces nothing but carryover.
3462
9c543fbf
AI
34632000-12-17 Andrew Innes <andrewi@gnu.org>
3464
3465 * w32.c (sys_rename): Only check errno against EEXIST, and not
3466 EACCES, when determining whether rename failed because the target
3467 exists. This was resulting in indefinite looping on Windows 9x if
3468 the source file was locked by another process.
3469
3470 * w32fns.c (Ffile_system_info): New function.
3471 (syms_of_w32fns): Defsubr it.
3472
10c2b5a8
GM
34732000-12-17 Gerd Moellmann <gerd@gnu.org>
3474
b0228ace
GM
3475 * window.c (coordinates_in_window): Fix computation for
3476 position on vertical line between mode lines.
3477
10c2b5a8
GM
3478 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3479 Don't alter tip_frame or tip_window.
3480 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3481 was deleted.
3482
c844a81a
GM
3483 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3484 Don't alter tip_frame or tip_window.
3485 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3486 was deleted.
3487
6c825f8e
EZ
34882000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3489
3490 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3491 be consistent with the doc string. Reported by NAKAJIMA Mikio
3492 <minakaji@osaka.email.ne.jp>.
3493
af4bb4c8
KH
34942000-12-16 Kenichi Handa <handa@etl.go.jp>
3495
3496 * xfaces.c (Vface_ignored_fonts): New variable.
3497 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3498 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3499
8062e53a
GM
35002000-12-15 Gerd Moellmann <gerd@gnu.org>
3501
e87b8809
GM
3502 * dispnew.c (update_window): Detect pending input every nth line
3503 updated, i.e. do it depending on real work done, and not on the
3504 vpos of the line.
3505
3506 * xterm.c (expose_window): Don't redraw the window that's
3507 currently being updated.
3508
a6768cc5
GM
3509 * window.c (Fset_window_point): Remove test for
3510 cursor_in_non_selected_windows.
3511
4ea7fdca
GM
3512 * lread.c (read1): Recognize end of file after `\\'.
3513
8062e53a
GM
3514 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3515 not unwind_create_frame.
3516
bb7959c1
GM
35172000-12-15 Dave Love <fx@gnu.org>
3518
3519 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3520 bcopy & al.
3521
3522 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3523
ced04c42
KH
35242000-12-15 Kenichi Handa <handa@etl.go.jp>
3525
c5443913
KH
3526 * coding.c (setup_coding_system): Clear all members of the struct
3527 coding_system at first.
bc137305
KH
3528 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3529 argument.
3530 (code_convert_region): Don't override coding->src_multibyte and
3531 coding->dst_multibyte.
c5443913 3532
ced04c42
KH
3533 * fns.c (Fmd5): Docstring improved.
3534
c2d7f289
MB
35352000-12-15 Miles Bader <miles@gnu.org>
3536
3537 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3538 are actually marked as mode-lines; otherwise use
3539 estimate_mode_line_height.
3540
9d7d9263
GM
35412000-12-14 Gerd Moellmann <gerd@gnu.org>
3542
3543 * editfns.c (Fformat): Prevent a buffer overrun when the format
3544 specifies a precision.
3545
7cf0153a
EZ
35462000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3547
3548 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3549 argument is outside the range [2..3].
3550
1de0f662
AI
35512000-12-14 Andrew Innes <andrewi@gnu.org>
3552
3553 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3554 nothing to do. Bind inhibit-quit.
3555 (tip_frame): Make it a Lisp_Object.
3556 (x_create_tip_frame): Set tip_frame after it has been added to
3557 Vframe_list.
3558 (Fx_show_tip): Don't set tip_frame here.
52283633 3559 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3560 (unwind_create_frame, unwind_create_tip_frame): New functions.
3561 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3562 while a frame is only partially constructed.
3563
3564 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3565 (x_free_frame_resources): New function.
3566 (x_destroy_window): Use it.
3567
02387dcc
GM
35682000-12-14 Gerd Moellmann <gerd@gnu.org>
3569
3570 * xfns.c (Fx_backspace_delete_keys_p): New function.
3571 (syms_of_xfns): Defsubr it.
3572
3573 * config.in (HAVE_XKBGETKEYBOARD): Add.
3574
0544ef49
KH
35752000-12-14 Kenichi Handa <handa@etl.go.jp>
3576
98d62747
KH
3577 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3578 Always store string in multibyte representation in echobuf.
3579 (echo_char): Always store string in multibyte representation in
3580 echobuf.
3581 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3582 (read_key_sequence): Adjusted for the change of echo_prompt.
3583
a20193cd
KH
3584 * fns.c (Fmd5): Docstring improved.
3585
191b83b6
KH
3586 * lisp.h (detect_coding_system): Prototype adjusted.
3587
0544ef49
KH
3588 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3589 (detect_coding_emacs_mule, detect_coding_iso2022,)
3590 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3591 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3592 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3593 (detect_coding_mask, detect_coding_system): New argument
3594 MULTIBYTEP. Callers changed.
1da1bb05
KH
3595 (decode_coding_string): Set coding->src_multibyte and
3596 coding->dst_multibyte before calling detect_coding and detect_eol.
3597 Update them after some coding system is detected.
52283633 3598
d5b3eb1b
SM
35992000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3600
3601 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3602
3603 * keyboard.c (menu_bar_items, tool_bar_items):
3604 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3605
f7f8bb69
GM
36062000-12-13 Gerd Moellmann <gerd@gnu.org>
3607
52283633 3608 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3609 New variables.
3610 (unwind_create_frame, unwind_create_tip_frame): New functions.
3611 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3612 while a frame is only partially constructed.
3613
3614 * xterm.h (x_free_frame_resources): Declare.
3615
3616 * xterm.c (x_free_frame_resources): New function.
3617 (x_destroy_window): Use it.
3618
e10da507
GM
3619 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3620 don't interrupt the update for pending input initially, i.e.
3621 update at least some lines.
3622
3623 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3624
d5b3eb1b 3625 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3626
3627 * xfns.c (gray_bitmap_bits): Declare `char *'.
3628
90aa2856
GM
36292000-12-12 Gerd Moellmann <gerd@gnu.org>
3630
3631 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3632 lines start with a relief line.
3633
a308c9cd
DL
36342000-12-12 Dave Love <fx@gnu.org>
3635
3636 * window.c (Fdisplay_buffer): Doc fix.
3637 (Fwindow_list): Remove unused var.
3638
3639 * buffer.h (mmap_set_vars): Declare.
3640
3641 * window.h (Fset_window_point): Declare.
3642
d575011f
EZ
36432000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3644
bf6282d2 3645 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3646 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3647 variable `area'. When looking for a row under (X,Y), give up if some
3648 of the previous rows is not enabled.
d575011f 3649
ecf4d726
GM
36502000-12-12 Gerd Moellmann <gerd@gnu.org>
3651
2ebf6139
GM
3652 * window.c (Fset_window_point): If displaying cursors in windows
3653 other than the selected window, make sure redisplay updates
3654 other windows to show the new value of point in the window.
3655
3656 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3657
bfdb75ee
GM
3658 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3659 the buffer is the sole visible buffer when in the mini-buffer.
3660
52283633 3661 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3662 Bind `inhibit-read-only' to t.
3663 (unwind_with_echo_area_buffer): Use AREF.
3664
c0006262
GM
3665 * xfns.c (Fx_hide_tip): Simplified.
3666
52283633
SM
3667 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3668 instead of `1'.
e9a59cad 3669
ecf4d726
GM
3670 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3671
e5959a9a
GM
36722000-12-11 Gerd Moellmann <gerd@gnu.org>
3673
a3642e49 3674 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3675
44b5a125
GM
3676 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3677 nothing to do. Bind inhibit-quit.
3678 (tip_frame): Make it a Lisp_Object.
3679 (x_create_tip_frame): Set tip_frame after it has been added to
3680 Vframe_list.
3681 (Fx_show_tip): Don't set tip_frame here.
3682
3683 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3684
3685 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3686 Lisp_Object.
3687
3688 * dispextern.h: Change external declaration of tip_frame.
3689
d990421f
GM
3690 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3691 return an empty string.
3692
4db87380
GM
3693 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3694 of the window's update_mode_line flag, since the former is set by
3695 force-mode-line-update, not the latter. This makes
3696 column-number-mode slightly faster.
52283633 3697
e5959a9a
GM
3698 * xdisp.c (try_window_id) <all changes above window start>:
3699 Set the cursor.
3700
169fe44e
GM
37012000-12-11 Paul Eggert <eggert@twinsun.com>
3702
3703 * config.in (HAVE_FTELLO): Remove.
3704 (HAVE_FSEEKO): Add.
3705 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3706 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3707 HAVE_FTELLO.
3708 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3709 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3710
59ec59ae
MB
37112000-12-11 Miles Bader <miles@gnu.org>
3712
3713 * window.c (displayed_window_lines): Don't round up when
3714 converting empty space at bottom to lines.
ff904dd6
MB
3715 Handle non-newline-terminated final lines properly.
3716 (Fwindow_text_height): New function (used to be in lisp).
3717 (syms_of_window): Initialize it.
59ec59ae 3718
42ebfa31
SM
37192000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3720
3721 * syntax.c (scan_lists): Check that the right quote char has the
3722 right Sstring syntax when jumping over strings.
3723 (init_syntax_once): Use Smax rather than 13.
3724
5cdb3cf3
MB
37252000-12-09 Miles Bader <miles@gnu.org>
3726
3727 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3728 with PARTIALLY, inverting the sense.
3729 (window_scroll_pixel_based): Scroll partially visible lines into
3730 place if we hit the beginning or end of the buffer.
a12167c5
MB
3731 (displayed_window_lines): Don't include partially visible lines.
3732 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3733
842b2a94
GM
37342000-12-08 Gerd Moellmann <gerd@gnu.org>
3735
3736 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3737
3738 * tparam.c (tparam1): Change the way buffers are reallocated to be
3739 portable and less obfuscated.
3740
3741 * termcap.c (tgetent): Change the way buffers are reallocated to
3742 be portable and less obfuscated.
3743
3744 * macros.c (store_kbd_macro_char): Change the way buffers are
3745 reallocated to be portable and less obfuscated.
3746
3747 * lread.c (read1): Change the way buffers are reallocated to be
3748 portable and less obfuscated.
3749
3750 * doc.c (Fsubstitute_command_keys): Change the way buffers
3751 are reallocated so that it is portable.
3752
137cad7c
EZ
37532000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3754
3755 * dosfns.c (Ffile_system_info): New function.
3756 (syms_of_dosfns): Defsubr it.
3757
5c7f629c
SM
37582000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3759
3760 * alloc.c (gc_sweep): Add comment.
3761
959e647d
GM
37622000-12-07 Gerd Moellmann <gerd@gnu.org>
3763
52283633
SM
3764 * sound.c (vox_configure): Change order of ioctls.
3765 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3766 Ignore errors when changing volume.
3767 (vox_close): Don't reset the device.
3768
926b7e5e
GM
3769 * process.c (read_process_output): Make sure the process marker's
3770 position is valid when the process buffer is changed in
3771 after-change functions. W3 does that.
52283633 3772
959e647d
GM
3773 * xfns.c (x_free_gcs): New function.
3774
3775 * xterm.h (x_free_gcs): Add prototype.
3776
3777 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3778 freeing GCs here.
3779
3780 * xterm.c (x_destroy_window): Call x_free_gcs so that
3781 resources of non-toolkit X windows will be freed.
3782
478ea067
AI
37832000-12-07 Andrew Innes <andrewi@gnu.org>
3784
3785 * w32fns.c (xlfd_charset_of_font): Fix last change.
3786
fbee3231
DL
37872000-12-06 Dave Love <fx@gnu.org>
3788
67292061
DL
3789 * md5.h (__P): Don't define -- it comes from config.h.
3790
fbee3231
DL
3791 * strftime.c: Change some #if foo to #ifdef foo.
3792
4ee87dbb
AI
37932000-12-06 Andrew Innes <andrewi@gnu.org>
3794
3795 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3796
52283633 3797 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3798 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3799 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3800
9765b4a4
GM
38012000-12-06 Gerd Moellmann <gerd@gnu.org>
3802
d285b373
GM
3803 * alloc.c (gc_sweep): Prevent symbols read during loadup
3804 from being freed.
3805
384333ee
GM
3806 * xdisp.c (underlying_face_id): New function.
3807 (handle_face_prop, face_before_or_after_it_pos): Use it
3808 to determine the face ``under'' a string. Let strings inherit
3809 the face of the buffer under them.
3810
3811 * xfaces.c (face_at_string_position): Update function comment.
52283633 3812
d4b72d58
GM
3813 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3814 matrix if the window's left position has changed; we need to
3815 redraw it in this case.
3816
3817 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3818
e1d05387
GM
3819 * window.c (coordinates_in_window): Check mouse on mode-line or
3820 header-line first.
3821
eb1b0c74
GM
3822 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3823 advertized by the function documentation.
3824
d94d636f
GM
3825 * window.c (syms_of_window): Doc fix.
3826
3887b449
GM
3827 * sound.c (vox_configure): Set volume for left and right channel.
3828 (sound_cleanup): Return nil.
3829
efc8f57a
GM
3830 * xdisp.c (move_it_by_lines): Fix paren typo.
3831
9765b4a4
GM
3832 * xterm.c (x_load_font): Don't use the font's max_bounds for
3833 computing the height of the font. If max_bounds' ascent or
3834 descent are greater than the font's ascent or descent, this means
3835 glyphs overlap, which should be handled now by redisplay.
3836
6529ed87
GM
3837 * window.c (Veven_window_heights): New variable.
3838 (syms_of_window): DEFVAR_LISP it.
3839 (Fdisplay_buffer): Check Veven_window_heights before evening the
3840 window heights.
52283633 3841
0eb2ecde
MB
38422000-12-06 Miles Bader <miles@gnu.org>
3843
3844 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3845 update `default-frame-alist' instead of setting no frame parameters.
3846
03d7a167
KH
38472000-12-06 Kenichi Handa <handa@etl.go.jp>
3848
3849 * composite.c (update_compositions): Fix typo (use the correct
3850 variable).
3851
5f8803c2
JR
38522000-12-05 Jason Rumney <jasonr@gnu.org>
3853
3854 * md5.h: Remove underscores from function declarations.
3855 (__attribute__, __alignof__) [!__GNUC__]: Define.
3856
3857 * md5.c: Delay include of md5.h until after namespace cleaning.
3858
c28a075b
JR
3859 * makefile.w32-in (fns.o): Depend on md5.h
3860 (md5.o): New target.
3861 (sunfns.o): Remove.
3862
3863 * makefile.nt: Likewise.
3864
ff3c7056
JR
38652000-12-05 Jason Rumney <jasonr@altavista.net>
3866
3867 * w32term.c (expose_area): Complete last change.
3868
0c21eeeb
KR
38692000-12-05 Ken Raeburn <raeburn@gnu.org>
3870
3871 * minibuf.c: Include intervals.h.
3872
f201d732
JR
38732000-12-05 Jason Rumney <jasonr@gnu.org>
3874
3875 * w32term.c (x_produce_glyphs): If a font for a component of
3876 a composition is not found, use 1 pixel dot ascent and 0 dot
3877 descent value to avoid displaying terribly tall empty boxes.
3878 (expose_area): Pass x-coordinate relative to the exposed
3879 area to x_draw_glyphs instead of a window-relative coordinate.
3880
21999ab9
GM
38812000-12-05 Gerd Moellmann <gerd@gnu.org>
3882
4d2036e4
GM
3883 * xdisp.c (next_element_from_ellipsis): Save face before selective
3884 display in saved_face_id, and set face_before_selective_p.
3885 (reseat_1): Reset face_before_selective_p.
3886 (append_space, extend_face_to_end_of_line): If iterator's
3887 face_before_selective_p is set, use the face from saved_face_id.
3888 (extend_face_to_end_of_line): For tty frames, make sure to
3889 use the right face id when producing spaces at the end of
3890 the line.
3891
3892 * dispextern.h (struct it): Add face_before_selective_p.
3893
52be17cc
GM
3894 * keyboard.c (record_char): Don't record identical help-echo
3895 events in recent_keys.
3896
8a4f36cc
GM
3897 * xterm.c [USE_X_TOOLKIT]: Close the display.
3898 (xim_close_dpy): Handle case that the display has been closed.
3899
57d6e381
GM
3900 * xterm.c (x_destroy_window): Reset the frame's X window after
3901 destroying it.
3902
21999ab9
GM
3903 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3904 variable window_width.
3905 (line_draw_cost): Fix code skipping over spaces at the end of the
3906 line when must_write_spaces is not set.
3907 (scrolling_window): Fix code inserting runs in list of all runs.
3908
91372bb7
KH
39092000-12-05 Kenichi Handa <handa@etl.go.jp>
3910
3911 * coding.c (setup_coding_system): Be sure to initialize
3912 coding->category_idx.
3913
6c083b4c
GM
39142000-12-04 Gerd Moellmann <gerd@gnu.org>
3915
0c68ce6f 3916 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3917
6452929e
GM
3918 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3919 area to x_draw_glyphs instead of a window-relative coordinate.
3920
d7f31e22
GM
3921 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3922 error in the message.
3923
ae18aa3b
GM
3924 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3925 timer after having read a key. It's not good for code reading
3926 several keys in a loop, like an input method.
3927
caa15ef7
GM
3928 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3929 record undo information for format-decode.
3930
3931 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3932 current buffer is read-only, not if it isn't.
3933
6c083b4c
GM
3934 * keyboard.c (record_char): Record `help-echo' input events
3935 in recent_keys only if they display some help. Don't record
3936 `help-echo' events as macro char.
3937
caa15ef7
GM
39382000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3939
3940 * editfns.c (save_excursion_restore): Don't move point
3941 in another window if it is showing the wrong buffer.
3942 Avoid the call to Fwindow_live_p, for speed.
3943
5a13529b
KH
39442000-12-04 Kenichi Handa <handa@etl.go.jp>
3945
e225faa7
KH
3946 * xfaces.c (struct font_name): New member registry_priority.
3947 (split_font_name): Initialize the above member to zero.
3948 (concat_font_list): New function.
3949 (font_list): Include fonts of all alternative registries.
3950 (FONT_POINT_SIZE_QUANTUM): New macro.
3951 (better_font_p): Ignore point size difference less than
3952 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3953
e89648b4
KH
3954 * xterm.c (x_produce_glyphs): If a font for a component of
3955 a composition is not found, use 1 pixel dot ascent and 0 dot
3956 descent value to avoid displaying terribly tall empty boxes.
3957
5a13529b
KH
3958 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3959
d7935eb6
KR
39602000-12-03 Ken Raeburn <raeburn@gnu.org>
3961
3962 * coding.h (code_convert_string1): Declare.
3963
3964 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3965
52283633 3966 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3967
0dd5e255
JR
39682000-12-02 Jason Rumney <jasonr@gnu.org>
3969
3970 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3971 correctly for single byte character case.
3972 (w32_per_char_metric): Do not try to make any assumptions about
3973 the metrics of BDF fonts.
250cfece 3974 (x_estimate_mode_line_height): If `mode-line' face
52283633 3975 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3976 (note_mouse_highlight): Change the cursor shape on the vertical
3977 border between windows [not enabled].
3978
3979 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3980
3981 * w32fns.c (Fx_create_frame): Reintroduce the call to
3982 face-set-after-frame-defaults.
3983 (Vx_window_horizontal_drag_shape): New variable.
3984 (syms_of_xfns): DEFVAR_LISP it.
3985 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3986 enabled].
0dd5e255 3987
b5d8d2ca
GM
39882000-12-02 Simon Josefsson <simon@josefsson.org>
3989
3990 * fns.c (Fmd5): Use a different logic to decide the coding system
3991 to use.
3992
3993 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3994
fbb87147
EZ
39952000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3996
52283633 3997 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3998
447e9da0
GM
39992000-12-01 Gerd Moellmann <gerd@gnu.org>
4000
7708ced0
GM
4001 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4002 height for YNegative.
4003 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4004 height; also see comment there.
4005
447e9da0
GM
4006 * window.c (coordinates_in_window): Handle computations for
4007 positions on the vertical bar and fringes differently for
4008 window-system frames. Consider some pixels near the vertical bar
4009 as on the bar if the frame doesn't have vertical scroll bars.
4010 Associate positions between mode or header lines with the
4011 right window, the left one.
4012
86d1db20
JR
40132000-12-01 Jason Rumney <jasonr@gnu.org>
4014
4015 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4016
4017 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4018 invalid frame.
4019
a1d58e5b
GM
40202000-12-01 Gerd Moellmann <gerd@gnu.org>
4021
52283633 4022 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4023 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4024 (save_window_save, Fset_window_configuration): Save/restore
4025 window's orig_top and orig_height.
4026
89c609af
JR
40272000-12-01 Jason Rumney <jasonr@gnu.org>
4028
4d177746 4029 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4030
89c609af
JR
4031 * w32fns.c (x_set_cursor_color): Fix last change.
4032
eccc05db
GM
40332000-11-30 Gerd Moellmann <gerd@gnu.org>
4034
31b6671b
GM
4035 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4036 sure that the next redisplay displays the minibuffer, so that
4037 the cursor will be replaced with what the minibuffer wants.
4038
eccc05db
GM
4039 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4040 #ifndef instead of using #if.
4041 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4042 USE_TOOLKIT_SCROLL_BARS is defined.
4043
162de750
JR
40442000-11-30 Jason Rumney <jasonr@gnu.org>
4045
4046 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4047 x_display_cursor.
4048
693c4692
GM
40492000-11-30 Gerd Moellmann <gerd@gnu.org>
4050
4051 * fns.c (Fmd5): Doc fix.
4052
b5d8d2ca 40532000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4054
4055 * fns.c (Fmd5): New function.
4056 (syms_of_fns): Defsubr md5.
4057
4058 * Makefile.in (obj): Add md5.o
4059
b02cd40b
GM
40602000-11-30 Gerd Moellmann <gerd@gnu.org>
4061
edfb795e
GM
4062 * md5.h, md5.c: New files, taken from glibc.
4063
df3aedcf
GM
4064 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4065
b02cd40b 4066 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4067 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4068
8b5176cd
SM
40692000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4070
4071 * eval.c (Frun_hooks): Allow 0 arguments.
4072
346598f1
GM
40732000-11-29 Gerd Moellmann <gerd@gnu.org>
4074
f9396e03
GM
4075 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4076 is over the menu bar widget, say it's not on the frame.
4077
4a967a9b
GM
4078 * xfns.c (Fx_create_frame): Reintroduce the call to
4079 face-set-after-frame-defaults.
4080
346598f1
GM
4081 * eval.c (Fsignal): Reset handling_signal.
4082
222456a1
JR
40832000-11-28 Jason Rumney <jasonr@gnu.org>
4084
4085 * w32menu.c (add_menu_item): Reset menu item text when changing
4086 type to radio button.
4087
8049ddc0
GM
40882000-11-28 Gerd Moellmann <gerd@gnu.org>
4089
346598f1 4090 * xselect.c: Update copyright.
f4f4ee4d 4091
bebe4a2c
GM
4092 * window.c (coordinates_in_window): If on a mode or header line,
4093 but sufficiently close to its start, return ``on vertical
4094 border''. This gives us a way to drag windows horizontally when
4095 using toolkit scroll bars.
4096
4097 * xterm.c (note_mouse_highlight): Change the cursor shape
4098 on the vertical border between windows.
4099
4100 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4101
4102 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4103 (syms_of_xfns): DEFVAR_LISP it.
4104 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4105
8d2c2642
GM
4106 * textprop.c (text_read_only): New function.
4107 (verify_interval_modification): Use it instead of signaling
4108 `text-read-only'. This makes it easier to catch this error
52283633 4109 with a breakpoint.:
8d2c2642 4110
52283633 4111 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4112 not end of line, which includes CR.
4113
5a2bae6c
KH
41142000-11-28 Kenichi Handa <handa@etl.go.jp>
4115
4116 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4117 include no-conversion.
4118
ae31f84d
JR
41192000-11-27 Jason Rumney <jasonr@gnu.org>
4120
4121 * w32fns.c (w32_load_system_font): Always mark font as double byte
4122 if codepage is unicode.
4123
67f1cf4c
GM
41242000-11-27 Gerd Moellmann <gerd@gnu.org>
4125
4a74d071 4126 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4127 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4128
902ae620
GM
4129 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4130 `vertical-line', `mode-line' and `header-line' events.
4131
4132 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4133 of a character, a TAB for instance. This is easier than to set
4134 up the iterator exactly, and it's not a frequent case, so the
4135 additional effort wouldn't really pay off.
4136
c1e279c2
AC
41372000-11-26 Andrew Choi <akochoi@i-cable.com>
4138
67f1cf4c 4139 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4140 init_window_once.
4141
a609568a
JR
41422000-11-25 Jason Rumney <jasonr@gnu.org>
4143
52283633
SM
4144 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4145 Args to window_from_coordinates should be pixel coordinates.
48b21762 4146
a609568a
JR
4147 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4148 redisplay handles them properly.
4149
a658d039
MB
41502000-11-25 Miles Bader <miles@gnu.org>
4151
4152 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4153
d3416cca
JR
41542000-11-24 Jason Rumney <jasonr@gnu.org>
4155
4156 * w32.c (init_environment): Set LANG environment variable based on
4157 locale settings, if not set.
4158
4159 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4160 making tool bar smaller. When clearing the frame, also
4161 clear current matrices. Clear frame when tool bar disappears.
4162 Don't use more lines for the tool-bar than is available.
4163 (x_change_window_heights): New function.
4164
ba193890
GM
41652000-11-24 Gerd Moellmann <gerd@gnu.org>
4166
2be8f184
GM
4167 * xdisp.c (init_from_display_pos): If POS says we're already after
4168 an overlay string ending at POS, make sure to pop the iterator
4169 because it will be in front of that overlay string. When POS is
4170 ZV, we've thereby also ``processed'' overlay strings at ZV.
4171
ba193890
GM
4172 * xfaces.c (lface_from_face_name): Function comment fix.
4173
1862a24e
MB
41742000-11-24 Miles Bader <miles@gnu.org>
4175
4176 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4177 apply `mode-line-inverse-video' -- zero means force display using
4178 the default face, non-zero means display using the specialized face.
4179 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4180
f07fa1b8
KH
41812000-11-23 Kenichi Handa <handa@etl.go.jp>
4182
4183 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4184 hard coded `4'.
4185
2bcdf662
EZ
41862000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4187
4188 * coding.c (decode_coding_emacs_mule): Fix the case of
4189 CODING_EOL_LF, which used uninitialized value of c.
4190
ba8299ff
SM
41912000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4192
4193 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4194
f4117c4d
GM
41952000-11-22 Gerd Moellmann <gerd@gnu.org>
4196
03e757c1
GM
4197 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4198 buffer object.
4199
f4117c4d
GM
4200 * frame.h (struct frame): Replace desired_tool_bar_items,
4201 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4202 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4203
4204 * frame.c (make_frame): Change initialization of tool bar
4205 items accordingly.
4206
4207 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4208 Change references to members deleted from struct frame to use the
f4117c4d
GM
4209 new ones.
4210
4211 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4212 references to members deleted from struct frame to use the new ones.
f4117c4d 4213
52283633 4214 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4215
4216 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4217
4218 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4219 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4220 from struct frame to use the new ones.
4221
f8e2f3f2
MB
42222000-11-23 Miles Bader <miles@gnu.org>
4223
4224 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4225 the face's inverse-video attribute, rather than overriding it.
4226
60e8e0a5
GM
42272000-11-22 Gerd Moellmann <gerd@gnu.org>
4228
4229 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4230 making tool bar smaller.
4231
92dd1b29
DL
42322000-11-22 Dave Love <fx@gnu.org>
4233
4234 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4235
e672fdce
MB
42362000-11-22 Miles Bader <miles@gnu.org>
4237
3a17d6cc
MB
4238 * keyboard.c (Vminibuffer_message_timeout): New variable.
4239 (command_loop_1): Use it to determine message timeout.
4240 (syms_of_keyboard): Initialize it.
4241
60e8e0a5 4242 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4243
e9655d81
KH
42442000-11-22 Kenichi Handa <handa@etl.go.jp>
4245
4246 * sysdep.c: Move the code for declaring h_errno after #include
4247 <netdb.h>.
4248
77270fac
GM
42492000-11-21 Gerd Moellmann <gerd@gnu.org>
4250
cd913aae
GM
4251 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4252 the menu bar when the tooltip is unmapped.
4253
77270fac
GM
4254 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4255 sole visible buffer when we're currently in the mini-buffer, and
4256 give up if so.
52283633 4257
556635d6
JR
42582000-11-21 Jason Rumney <jasonr@gnu.org>
4259
4260 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4261 put on the clipboard.
4262 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4263 copy of what Emacs last put there. If they are the same, do not
52283633 4264 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4265
5b7bde64
MB
42662000-11-22 Miles Bader <miles@gnu.org>
4267
4268 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4269 (syms_of_minibuf): Initialize it.
4270 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4271 to prompt, don't make read-only.
4272
ff23e1dd
GM
42732000-11-21 Gerd Moellmann <gerd@gnu.org>
4274
52283633
SM
4275 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4276 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4277
7aaf4388
GM
4278 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4279
f5f47add 4280 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4281
ff23e1dd
GM
4282 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4283
37c35586
KH
42842000-11-21 Kenichi Handa <handa@etl.go.jp>
4285
4286 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4287 ... #endif scope.
4288
ff9ab414
GM
42892000-11-20 Gerd Moellmann <gerd@gnu.org>
4290
52283633 4291 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4292 screen supports it.
4293
29a01b72
GM
4294 * s/gnu-linux.h: Don't use `#cpu'.
4295
09dfdf85
GM
4296 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4297 not defined in mman.h.
4298
52283633 4299 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4300 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4301 and store an index in the XClientMessageEvent. Storing a
4302 Lisp_Object or pointer can fail on a 64 bit system, since X only
4303 transfers 32 bits.
52283633
SM
4304 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4305
81459ac9
DL
43062000-11-20 Dave Love <fx@gnu.org>
4307
4308 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4309
56c13ae6
GM
43102000-11-20 Gerd Moellmann <gerd@gnu.org>
4311
4312 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4313
495a6df3
KH
43142000-11-20 Kenichi Handa <handa@etl.go.jp>
4315
2bcf3714
KH
4316 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4317 by WIDTH.
4318
495a6df3
KH
4319 * alloc.c (make_string): Fix previous change. Be sure to make
4320 unibyte string correctly.
4321
6d950f4c
GM
43222000-11-19 Gerd Moellmann <gerd@gnu.org>
4323
39b39373
GM
4324 * window.c (Fwindow_list): Change parameter list to be XEmacs
4325 compatible.
4326 (window_list_1): New function.
4327 (window_loop): Use it instead of Fwindow_list.
4328
b95b34e5
GM
4329 * sysdep.c (emacs_ospeed): New variable.
4330 (toplevel): Don't declare ospeed extern.
4331 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4332
4333 * termcap.c (ospeed): Remove.
4334 (tputs) [!emacs]: Remove unused code.
4335 (tgetent): Avoid a compiler warning.
4336
e83dc917
GM
4337 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4338 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4339 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4340
4341 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4342 removed.
4343 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4344 Take the X display as additional argument.
4345 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4346 `Widget' is a pointer type that's not easily stored in Lisp_Object
4347 form in a portable way.
52283633 4348
6d950f4c
GM
4349 * dispnew.c (update_text_area): Fix last change.
4350
e47306e6
GM
43512000-11-18 Gerd Moellmann <gerd@gnu.org>
4352
fb3cd89b
GM
4353 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4354
4355 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4356 clear current matrices.
4357
edaa9aed
GM
4358 * buffer.c (mmap_enlarge): Don't print a message on stderr
4359 if mapping new memory at the end of the existing region fails.
4360
e47306e6
GM
4361 * dispnew.c (update_text_area): Don't skip over equal glyphs
4362 when the last current glyph overlaps the glyph to its right.
4363
509633e3
MB
43642000-11-18 Miles Bader <miles@gnu.org>
4365
4366 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4367 lines that *end* with "..." too (that's the most common case!).
4368
d392e9c5
GM
43692000-11-18 Gerd Moellmann <gerd@gnu.org>
4370
67988445
GM
4371 * xdisp.c (resize_mini_window): Temporarily change to the
4372 mini-window's buffer if necessary.
1bfdbe43 4373
d392e9c5
GM
4374 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4375 the tooltip obscures less text under it.
4376
43772000-11-17 Gerd Moellmann <gerd@gnu.org>
4378
4379 * puresize.h (BASE_PURESIZE): Increase to 700000.
4380
92bb977f
JR
43812000-11-18 Jason Rumney <jasonr@gnu.org>
4382
4383 * w32term.c (w32_draw_bitmap): Use face to set colors.
4384
26fbf20b
DL
43852000-11-17 Dave Love <fx@gnu.org>
4386
4387 * lread.c (Fload): Fix #ifdef for pcc.
4388
100b593b
GM
43892000-11-17 Gerd Moellmann <gerd@gnu.org>
4390
4391 * xdisp.c (pos_visible_p): Compute the default character height
4392 differently.
4393
a288d0d1
GM
43942000-11-16 Gerd Moellmann <gerd@gnu.org>
4395
cac94de6 4396 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4397 knowing the line's height; use the default font's height in that case.
cac94de6 4398
a288d0d1
GM
4399 * xfaces.c (weight_table): Add `demi' with the same meaning as
4400 `demibold'.
4401
981fb6f6
KH
44022000-11-16 Kenichi Handa <handa@etl.go.jp>
4403
2cca872d 4404 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4405 (clear_glyph_row): Delete local static variable null_row.
4406
e5fa381b
JR
44072000-11-15 Jason Rumney <jasonr@gnu.org>
4408
4409 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4410 (w32_alloc_lighter_color): Use new brightness calculations from
4411 xterm.c. Scale delta to be in the range expected by W32.
4412 (w32_draw_relief_rect): Use frame relief colors.
4413
8e42f043
GM
44142000-11-15 Gerd Moellmann <gerd@gnu.org>
4415
6d133d1f
GM
4416 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4417 (Qinhibit_default_face_x_resources): New variable.
4418 (syms_of_frame): Initialize it.
4419 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4420
4421 * xdisp.c (pos_visible_p): Improve function comment.
4422
4423 * lisp.h (BINDING_STACK_SIZE): New macro.
4424
8e42f043
GM
4425 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4426 reading the directory if readdir returns null and errno is EAGAIN
4427 or EINTR.
4428
e8c87124
SM
44292000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4430
4431 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4432 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4433 Set amount_to_scroll to max of dx and scroll_step so that
4434 scroll-conservatively doesn't defeat scroll-step>1.
4435 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4436 scroll-conservatively for line-at-a-time scrolling.
4437
5f0c971d
GM
44382000-11-14 Gerd Moellmann <gerd@gnu.org>
4439
4440 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4441 extra argument.
4442
4443 * xdisp.c (current_mode_line_height, current_header_line_height):
4444 New variables.
4445 (init_xdisp): Initialize them.
4446 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4447 and use exact mode line heights if it is set.
4448
4449 * lisp.h (pos_visible_p): Change prototype.
4450
4451 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4452 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4453 and current_header_line_height first.
52283633
SM
4454 (current_mode_line_height, current_header_line_height):
4455 Declare extern.
5f0c971d 4456
d7361edf
MB
44572000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4458
4459 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4460 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4461 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4462
ee5e440a
MB
44632000-11-14 Miles Bader <miles@gnu.org>
4464
4465 * xterm.c (x_alloc_lighter_color): Include an additive component
4466 too for dark colors, because FACTOR isn't enough.
4467 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4468 New macros.
4469
5ca020fc
GM
44702000-11-13 Gerd Moellmann <gerd@gnu.org>
4471
4472 * keyboard.c (show_help_echo): Call message3_nolog with number of
4473 bytes in the help string as 2nd parameter, instead of the number
4474 of characters.
4475
9d348294
MB
44762000-11-13 Miles Bader <miles@gnu.org>
4477
4478 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4479 (Fload): Use new openp return protocol.
4480 Don't try to use Vload_source_file_function to load .elc files.
4481 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4482 openp return protocol.
4483 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4484
1729bb9a
KH
44852000-11-11 Kenichi Handa <handa@etl.go.jp>
4486
4e677396
KH
4487 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4488
4489 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4490 Defined these macros.
4491 (NLIST_STRUCT): Avoid re-defining it.
4492
1729bb9a
KH
4493 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4494 -I/usr/contrib/X11R6/include.
4495 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4496
a82fe213
JR
44972000-11-10 Jason Rumney <jasonr@gnu.org>
4498
4499 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4500
4501 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4502 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4503
4504 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4505 (Qw32_charset_vietnamese): New symbol.
4506 (xlfd_charset_of_font): New function.
4507 (w32_load_system_font): Use it.
4508 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4509 when Vw32_charset_info_alist is nil to ensure default face always
4510 has font. Use Fcar and Fcdr for safety.
4511 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4512 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4513 pseudo-codepages for special cases.
4514 (w32_to_x_font): New parameter to allow charset portion to be
4515 specified where there is many to one mapping. Callers changed.
4516 (w32_list_fonts): Avoid listing fonts that won't display.
4517
52d89894
GM
45182000-11-10 Gerd Moellmann <gerd@gnu.org>
4519
4520 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4521 (font_list_1): Renamed from font_list.
4522 (font_list): New function, trying alternative registries from
4523 Vface_alternative_font_registry_alist.
4524 (Finternal_set_alternative_font_registry_alist): New function.
4525 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4526 Vface_alternative_font_registry_alist.
4527 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4528
651cd3da
KR
45292000-11-09 Ken Raeburn <raeburn@gnu.org>
4530
4531 * lisp.h (Flooking_at): Declare.
4532
388ac098
GM
45332000-11-09 Gerd Moellmann <gerd@gnu.org>
4534
778fbc46 4535 * dired.c (directory_files_internal): Fix a braino.
52283633 4536
388ac098
GM
4537 * dired.c (directory_files_internal): Add missing GCPRO's.
4538 Some cleanup.
4539
ecaedde1
GM
45402000-11-08 Gerd Moellmann <gerd@gnu.org>
4541
f7eb32aa
GM
4542 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4543 (resize_mini_window): Return quickly if Vresize_mini_window is
4544 nil. Don't return if Vmax_mini_window_height is nil.
4545
4546 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4547 (syms_of_xdisp): Initialize them.
4548 (resize_mini_window): Act according to the setting of
4549 Vresize_mini_window.
4550 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4551
ecaedde1
GM
4552 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4553 scroll bar widget after configuring it, so that it will appear at
4554 the right position from the start.
4555 (XTredeem_scroll_bar): Cleaned up.
4556
3747ef2c
KH
45572000-11-08 Kenichi Handa <handa@etl.go.jp>
4558
4559 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4560 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4561 division by two.
4562
4563 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4564
03391420
DL
45652000-11-07 Dave Love <fx@gnu.org>
4566
7758f1c1 4567 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4568
4569 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4570
b5de343d
GM
45712000-11-07 Gerd Moellmann <gerd@gnu.org>
4572
acad3c0b
GM
4573 * window.c (Fset_window_configuration): Don't try to preserve
4574 point in the current buffer, if that buffer is displayed in more
4575 than one window.
4576
b5de343d
GM
4577 * xfaces.c (lookup_named_face): If default face isn't realized,
4578 try to realize it. Return -1 if not successful.
4579 (Fx_list_fonts): Handle case that face cannot be determined.
4580 (Fface_font): Likewise.
4581
cdb1fe49
GM
45822000-11-06 Gerd Moellmann <gerd@gnu.org>
4583
4584 * window.c (displayed_window_lines): Detect partially
4585 visible lines at the bottom correctly.
4586
d3a67486
SM
45872000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4588
4589 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4590 when ensuring we don't do visit in indirect buffer.
4591
ff8dd5d5
KH
45922000-11-06 Kenichi Handa <handa@etl.go.jp>
4593
4594 * composite.h (compose_chars_in_text): Add prototype.
4595
4596 * composite.c (Vcomposition_function_table): New variable.
4597 (Qcomposition_function_table): New variable.
4598 (run_composition_function): Call
4599 Vcompose_chars_after_function with three arguments.
4600 (compose_chars_in_text): New function.
4601 (syms_of_composite): Modified the doc-string of
4602 Vcompose_chars_after_function. Declare composition-function-table
4603 as a lisp variable, and initialize it.
4604
4605 * xfns.c (x_encode_text): Suppress producing escape sequences for
4606 composition.
4607
4608 * xselect.c: Include composite.h.
4609 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4610
d1145f85
AI
46112000-11-05 Andrew Innes <andrewi@gnu.org>
4612
4613 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4614
4615 * sysdep.c (read_input_waiting): Remove extraneous argument to
4616 read_socket_hook.
4617
4618 * w32fns.c (Fx_server_version): Include w32_build_number in the
4619 return list.
4620
4621 * w32heap.c (w32_build_number): New variable.
4622 (cache_system_info): Set it.
4623
4624 * w32heap.h (w32_build_number): Add extern.
4625
4626 * emacs.c (syms_of_emacs): Update docstring for
4627 system-configuration, to reflect the actual usage on MS-Windows.
4628
e85ee976
GM
46292000-10-31 Gerd Moellmann <gerd@gnu.org>
4630
26dcb81b
GM
4631 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4632 process idle timers while waiting for another event.
4633
52283633 4634 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4635 the default face are colored.
4636
e85ee976
GM
4637 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4638 window height hasn't changed.
4639
01b220b6
JR
46402000-10-31 Jason Rumney <jasonr@gnu.org>
4641
4642 * w32term.c (x_produce_glyphs): Handle composite characters.
4643 (x_draw_glyph_string_foreground)
4644 (x_draw_composite_glyph_string_foreground): Restore old font.
4645
4e6b7204
MB
46462000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4647
4648 * minibuf.c (read_minibuf): Reset the undo history just before
4649 starting the recursive-edit.
4650
d4358b37
GM
46512000-10-30 Gerd Moellmann <gerd@gnu.org>
4652
563f68f1
GM
4653 * xfaces.c (menu_face_change_count): New variable.
4654 (Finternal_set_lisp_face_attribute): Increment it for changes
4655 of the `menu' face.
4656 (realize_basic_faces): Reflect changes in the `menu' faces
4657 in menu bars.
4658
82e274d1
GM
4659 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4660 dy obtained from the iterator's y-position after moving from
4661 scroll_margin_pos to PT; see comment there.
52283633 4662
0dbf9fd2
GM
4663 * xdisp.c (safe_eval_handler): Call add_to_log.
4664
906b3b14
GM
4665 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4666 is not a symbol or string.
4667
d4358b37
GM
4668 * xdisp.c (echo_area_display): Don't perform a display update from
4669 inside redisplay. The update will happen anyway at the end of
4670 redisplay, and it can confuse redisplay (GC messages while
4671 redisplaying, for instance.)
4672
70c825df
SM
46732000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4674
cf9b4b0b
SM
4675 * xrdb.c (x_load_resources): Use the class name in the defaults.
4676
70c825df
SM
4677 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4678 (regex_compile): Catch bogus \(\1\).
4679
a1d34b1e
GM
46802000-10-30 Gerd Moellmann <gerd@gnu.org>
4681
cae71efe
GM
4682 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4683 RGB values.
52283633 4684
35efe0a1
GM
4685 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4686 we have a color cache, check that the cached color equals the
4687 allocated color. If not, clear the color cache.
4688
1d3baf74
GM
4689 * window.c (displayed_window_lines): Change buffers if necessary.
4690 Fix computation of displayed lines.
4691
a1d34b1e
GM
4692 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4693 update_menu_bindings to DEFVAR_BOOL.
4694
70737ea9
KH
46952000-10-30 Kenichi Handa <handa@etl.go.jp>
4696
70c825df 4697 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4698
fa0cb51d
KH
4699 * puresize.h (BASE_PURESIZE): Increase to 680000.
4700
70737ea9
KH
4701 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4702
0e4c08e8
JR
47032000-10-29 Jason Rumney <jasonr@gnu.org>
4704
4705 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4706
4707 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4708 (w32_cache_char_metrics): Handle possibility that 'x' does not
4709 exist in a BDF font.
4710 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4711
4712 * w32bdf.h (bdffont): Add nchars.
4713
4714 * w32bdf.c (set_bdf_font_info): Set it.
4715 (w32_BDF_TextOut): Swap byte order of double byte characters.
4716 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4717
45b84006
EZ
47182000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4719
4720 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4721 don't override the colors in frame's param_alist, unless they are
4722 unspecified.
4723
4724 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4725 reverse the effect of the highlight flag.
4726
caf9deee
KR
47272000-10-27 Ken Raeburn <raeburn@gnu.org>
4728
4729 * window.h (Fwindow_live_p): Declare.
4730
ae0b9b46
KR
4731 * undo.c (record_delete): Check that last_undo_buffer is really a
4732 buffer before applying XBUFFER to it.
4733
4734 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4735 Faref.
4736
02067692
SM
47372000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4738
4739 * lisp.h (KEYMAPP): New macro.
4740 (get_keymap): Remove.
4741 (get_keymap_1): Rename get_keymap.
4742
4743 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4744
4745 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4746
4747 * xmenu.c (single_submenu): Use KEYMAPP.
4748 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4749 Use KEYMAPP rather than Fkeymapp.
4750
4751 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4752
4753 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4754 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4755 Use KEYMAPP rather than Fkeymapp.
4756 (single_submenu): Use KEYMAPP.
4757 (w32_menu_show, w32_dialog_show): Use TRUE.
4758
4759 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4760
4761 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4762 (Fkeymapp): Use KEYMAPP.
4763 (get_keymap): Rename from get_keymap_1. Remove old def.
4764 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4765 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4766 (Fminor_mode_key_binding): Don't raise an error if the binding
4767 is not a keymap.
4768 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4769 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4770
4771 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4772 Allow Vspecial_event_map to be autoloaded.
4773 (menu_bar_items): Fetch the keymap rather than using keymapp.
4774 (menu_bar_one_keymap): No need to follow func-indirect any more.
4775 (parse_menu_item): get_keymap_1 -> get_keymap.
4776 (tool_bar_items): Fetch the keymap rather than using keymapp.
4777 (read_key_sequence): Use KEYMAPP.
4778
4779 * intervals.c (get_local_map): Use get_keymap rather than following
4780 function-indirections explicitly.
4781
4782 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4783
f9d80af3
JR
47842000-10-27 Jason Rumney <jasonr@gnu.org>
4785
4786 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4787 point, as Windows has oversized fonts.
4788
4789 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4790
a3ba27da
GM
47912000-10-27 Gerd Moellmann <gerd@gnu.org>
4792
4793 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4794 (freehook, reallochook): Handle null pointer arguments.
4795 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4796
aa3b80cc
SM
47972000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4798
4799 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4800 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4801 Giving in to popular pressure to shut up the compiler with casts.
4802
e24e84cc
GM
48032000-10-27 Gerd Moellmann <gerd@gnu.org>
4804
4805 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4806 signed value, and use a default value computed from the font's
4807 maximum descent.
4808
05ea7ef2
MB
48092000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4810
4811 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4812 that specify a negative underline position can still use underlines.
4813
4814 * window.c (Fpos_visible_in_window_p): Make POS default to
4815 WINDOW's point, not the current buffer's point.
4816
0b95284b
DL
48172000-10-26 Dave Love <fx@gnu.org>
4818
4819 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4820 when it's necessary.
4821
6c5b90af
GM
48222000-10-26 Gerd Moellmann <gerd@gnu.org>
4823
8b6d9dc9
GM
4824 * window.c (size_window): Compute size difference from sum of old
4825 child window sizes instead of from parent's size.
4826
6bc92b2e
GM
4827 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4828 Handle obscured lines at the top of the window.
4829
4830 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4831 down after the last error condition check.
4832
6c5b90af
GM
4833 * frame.c (Fdelete_frame): Run delete-frame-hook.
4834
42f92d4d
KH
48352000-10-26 Kenichi Handa <handa@etl.go.jp>
4836
4837 * coding.c (decode_coding): Fix previous change (check also
4838 CODING_MODE_LAST_BLOCK).
4839
d97151cb
SM
48402000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4841
e7efc503
SM
4842 * regex.c: More `unsigned char' -> `re_char' changes.
4843 Also change several `int' into `re_wchar_t'.
4844 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4845 (PUSH_FAILURE_POINTER): Don't cast any more.
4846 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4847 We want GCC to complain, since this piece of code makes
4848 re_match non-reentrant, which *should* be fixed.
4849 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4850 (EXTEND_BUFFER): Use RETALLOC.
4851 (SET_LIST_BIT): Don't cast.
4852 (re_wchar_t): New type.
4853 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4854 that those two functions will always properly return.
4855 (IMMEDIATE_QUIT_CHECK): Cast to void.
4856 (analyse_first): Use recursion rather than an explicit stack.
4857 (re_compile_fastmap): Can't fail anymore.
4858 (re_search_2): Don't check re_compile_fastmap for failure.
4859 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4860 Now also sets the new value (passed in a new argument).
4861 (re_match_2_internal): Use it.
4862 Also, use a new var `reg' of type size_t when looping through regs
4863 rather than reuse the inappropriate `mcnt'.
4864
d97151cb
SM
4865 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4866 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4867 (where_is_internal): Renamed from Fwhere_is_internal.
4868 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4869 (Fwhere_is_internal): New function wrapping where_is_internal.
4870 (where_is_internal_1): Handle the case where we're filling the cache.
4871 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4872
d5789b65
MB
48732000-10-25 Miles Bader <miles@gnu.org>
4874
4875 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4876
4ecda532
GM
48772000-10-25 Gerd Moellmann <gerd@gnu.org>
4878
4879 * window.c (pos_fully_visible_p): Removed.
4880 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4881 if position is visible and/or fully visible.
4882
4883 * lisp.h (pos_visible_p): Add prototype.
4884
4885 * xdisp.c (pos_visible_p): New function.
4886
68c3a137
KH
48872000-10-25 Kenichi Handa <handa@etl.go.jp>
4888
4889 * process.c (send_process): If OBJECT is t, it means that the data
4890 is from C string, but we should encode it. Before calling
4891 setup_raw_text_coding_system, be sure to flush out data by the
4892 previous coding system.
4893
7ae1c032
MB
48942000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4895
ff4dcd4b
MB
4896 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4897 assignment of startpos to prev when startpos == pos.
4898
7ae1c032
MB
4899 * editfns.c (find_field): Set the field stickiness correctly from
4900 overlay fields. Use renamed `text_property_stickiness'.
4901 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4902 Only check text properties, not overlays.
7ae1c032
MB
4903 * textprop.c (get_char_property_and_overlay): New function.
4904 (Fget_char_property): Use it.
4905 * intervals.h (get_char_property_and_overlay): Add declaration.
4906
49801145
SM
49072000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4908
4909 * keymap.c: Use AREF, ASET and ASIZE macros.
4910 (Fmake_sparse_keymap): Docstring fix.
4911 (synkey): Remove.
4912 (shadow_lookup): Move up.
4913 Handle the case where lookup-key returns an integer.
4914 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4915 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4916 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4917 Simplify/rewrite the keymap-finding code.
4918 Add check for command shadowing, using shadow_lookup.
4919
39e776cd
SM
49202000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4921
4922 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4923 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4924 a symbol.
4925
2488aba5
AI
49262000-10-24 Andrew Innes <andrewi@gnu.org>
4927
4928 * dired.c (directory_files_internal_unwind): New function.
4929 (directory_files_internal): Use it to ensure closedir is called
4930 even if expand-file-name or file-attributes throw, eg. because of
4931 a user interrupt. Also enable immediate_quit while calling
4932 re_search, so that matching can be interrupted as well.
4933
b94fdf61
AI
49342000-10-24 Andrew Innes <andrewi@gnu.org>
4935
4936 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4937 NT-Emacs only.
4938 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4939 so that re_search functions only quit when callers expect them to.
4940
49412000-10-24 Kenichi Handa <handa@etl.go.jp>
4942
4943 * regex.c (regex_compile): Change the way of handling a range from
4944 a char less than 256 to a char not less than 256.
4945
1946f901
GM
49462000-10-24 Gerd Moellmann <gerd@gnu.org>
4947
7ae2f10f
GM
4948 * window.c (size_window): Prevent setting window's width or
4949 height to a negative value (esp. with XSETFASTINT).
4950
5dcab13e
GM
4951 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4952 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4953 (protect_malloc_state) [GC_MALLOC_CHECK &&
4954 GC_PROTECT_MALLOC_STATE]: New function.
4955 (PROTECT_MALLOC_STATE): New macro.
4956 (__malloc_initialize, morecore, _malloc_internal)
4957 (_free_internal) _realloc_internal): Use it to make _heapinfo
4958 read-only outside of gmalloc.
4959
63e1b552
GM
4960 * keymap.c: Update copyright.
4961
1946f901
GM
4962 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4963 a symbol.
4964
4fa09beb
GM
49652000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4966
4967 * filelock.c (unlock_all_files): Use unlock_file to expand each
4968 buffer's file_truename before trying remove its lock file.
4969
23afac01
EZ
49702000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4971
4972 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4973 or CRLF, decode EOLs.
4974
04448b95
KH
49752000-10-24 Kenichi Handa <handa@etl.go.jp>
4976
4977 * window.c (Fdisplay_buffer): Fix doc.
4978
3090a5a5
JR
49792000-10-23 Jason Rumney <jasonr@gnu.org>
4980
4981 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4982 ASCII font of default fontset on Windows.
4983
4984 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4985 xterm.c comment below).
4986
4987 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4988
a83fee2c
GM
49892000-10-23 Gerd Moellmann <gerd@gnu.org>
4990
4991 * xterm.c (x_connection_closed): Reset handling_signal.
4992
52283633 4993 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4994
6ffdb539
MB
49952000-10-23 Miles Bader <miles@gnu.org>
4996
4997 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4998 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4999 maintain old behavior.
5000 * minibuf.c (Fminibuffer_complete): Likewise.
5001
7f1c969b
MB
50022000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5003
5004 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5005 that when a font can't be exactly centered, it errs up rather than
5006 down.
5007
23afac01 50082000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5009
52283633 5010 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5011
1a578e9b
AC
50122000-10-23 Andrew Choi <akochoi@i-cable.com>
5013
5014 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5015
5016 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5017 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5018
5019 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5020 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5021 syms_of_search, x_term_init, and init_keyboard before calling
5022 init_window_once. Also, call syms_of_xmenu.
5023
5024 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5025 default fontset to Monaco.
5026
5027 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5028 NewMacWindow and DisposeMacWindow.
5029 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5030 instead of calling NewMacWindow and setting fields of
5031 f->output_data.mac directly. Call init_frame_faces.
5032 (Fdelete_frame) [macintosh]: Remove unused code.
5033 (Fmodify_frame_parameters) [macintosh]: Call
5034 x_set_frame_parameters instead of mac_set_frame_parameters.
5035
5036 * frame.h [macintosh]: Define menu_bar_lines field in struct
5037 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5038
5039 * keyboard.c [macintosh]: Include macterm.h.
5040 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5041 and menu_bar_activate_event type events as for X and NT.
5042 (make_lispy_event) [macintosh]: Construct lisp events of type
5043 MENU_BAR_EVENT as for X and NT.
5044
5045 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5046 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5047 (sys_subshell) [macintosh]: Remove definition entirely.
5048 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5049 Vwindow_system_version here. Remove initialization of
5050 Vx_bitmap_file_path.
5051 (read_input_waiting): Correct the number of parameters passed to
5052 read_socket_hook.
5053 Move all Macintosh functions to mac/mac.c.
5054
5055 * term.c [macintosh]: Include macterm.h.
5056
5057 * window.c [macintosh]: Include macterm.h.
5058
5059 * xdisp.c [macintosh]: Include macterm.h. Declare
5060 set_frame_menubar and pending_menu_activation.
5061 (echo_area_display) [macintosh]: Do not return if terminal frame
5062 is the selected frame.
5063 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5064 Allow only the selected frame to set menu bar.
5065 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5066 calling FRAME_EXTERNAL_MENU_BAR (f).
5067 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5068
5069 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5070 and check_x. Declare XCreateGC. Define x_create_gc and
5071 x_free_gc. Initialize font_sort_order.
5072 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5073 but call x_list_fonts instead of w32_list_fonts.
5074 (Finternal_face_x_get_resource) [macintosh]: Do not call
5075 display_x_get_resource.
5076 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5077 (realize_x_face) [macintosh]: Load the font if it is specified in
5078 ATTRS.
52283633 5079 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5080
1ffbabe3
SM
50812000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5082
5083 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5084 is nil: since we go to the end of submap anyway, we'd end up
5085 setting nil to nil.
5086 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5087 doesn't obey autoload.
5088
bed43f1d
EZ
50892000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5090
1ffbabe3 5091 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5092
ea4233a7
JR
50932000-10-21 Jason Rumney <jasonr@gnu.org>
5094
5095 * w32term.c (w32_cache_char_metrics): Double check that font is
5096 really fixed pitch before trusting tmPitchAndFamily.
5097
f3d3c491
AI
50982000-10-21 Andrew Innes <andrewi@gnu.org>
5099
5100 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5101
5102 * w32term.h: Extern decl for w32_cache_char_metrics.
5103
5104 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5105
5106 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5107 (w32_unload_font): Free per_char array if present.
5108
5109 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5110 cached information in emulated XFontStruct to handle common cases
5111 quickly. Do not allocate XCharStruct for return.
5112 (w32_native_per_char_metric): New function.
5113 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5114 allocating one.
5115 (x_produce_glyphs): Don't get an HDC. Change calls to
5116 w32_per_char_metric to match arg change above. Remove calls to
5117 free results.
5118 (w32_get_glyph_overhangs): Ditto.
5119 (w32_cache_char_metrics): New function.
5120
5121 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5122 ($(BLD)/casefiddle.$(O)): Remove compile command.
5123 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5124 ($(BLD)/dispnew.obj):
5125 ($(BLD)/keyboard.obj):
5126 ($(BLD)/w32inevt.obj):
5127 ($(BLD)/w32bdf.obj):
5128 ($(BLD)/alloc.obj):
5129 ($(BLD)/buffer.obj):
5130 ($(BLD)/editfns.obj):
5131 ($(BLD)/emacs.obj):
5132 ($(BLD)/fileio.obj):
5133 ($(BLD)/fns.obj):
5134 ($(BLD)/indent.obj):
5135 ($(BLD)/insdel.obj):
5136 ($(BLD)/intervals.obj):
5137 ($(BLD)/minibuf.obj):
5138 ($(BLD)/print.obj):
5139 ($(BLD)/scroll.obj):
5140 ($(BLD)/sysdep.obj):
5141 ($(BLD)/textprop.obj):
5142 ($(BLD)/widget.obj):
f3d3c491
AI
5143 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5144 ($(BLD)/term.obj): Add dependency on dispextern.h.
5145
52283633
SM
5146 * makefile.nt ($(BLD)\dispnew.obj):
5147 ($(BLD)\keyboard.obj):
5148 ($(BLD)\w32inevt.obj):
5149 ($(BLD)\w32bdf.obj):
5150 ($(BLD)\alloc.obj):
5151 ($(BLD)\buffer.obj):
5152 ($(BLD)\editfns.obj):
5153 ($(BLD)\emacs.obj):
5154 ($(BLD)\fileio.obj):
5155 ($(BLD)\fns.obj):
5156 ($(BLD)\indent.obj):
5157 ($(BLD)\insdel.obj):
5158 ($(BLD)\intervals.obj):
5159 ($(BLD)\minibuf.obj):
5160 ($(BLD)\print.obj):
5161 ($(BLD)\scroll.obj):
5162 ($(BLD)\sysdep.obj):
5163 ($(BLD)\textprop.obj):
5164 ($(BLD)\widget.obj):
f3d3c491
AI
5165 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5166 ($(BLD)\term.obj): Add dependency on dispextern.h
5167
18ad4821
EZ
51682000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5169
5170 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5171 with an additional argument of Qt.
5172
de54681a
MB
51732000-10-21 Miles Bader <miles@gnu.org>
5174
5175 * window.c (pos_fully_visible_in_window_p): New function.
5176 (Fpos_visible_in_window_p): Add FULLY argument.
5177 Use pos_fully_visible_in_window_p.
5178 (window_scroll_pixel_based, window_scroll_line_based): Update
5179 calls to Fpos_visible_in_window_p.
5180 * lisp.h (Fpos_visible_in_window_p): Update prototype
5181
13c844fb
GM
51822000-10-20 Gerd Moellmann <gerd@gnu.org>
5183
5184 * alloc.c (toplevel): Conditionalize compilation of mem_*
5185 functions differently.
52283633 5186
d9506268
JR
51872000-10-20 Jason Rumney <jasonr@gnu.org>
5188
5189 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5190 mem_init where it used to be. mem_z etc not defined otherwise.
5191
8094989b
GM
51922000-10-20 Gerd Moellmann <gerd@gnu.org>
5193
5194 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5195 GC_MALLOC_CHECK.
5196 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5197 structure definition and related variabled to the top of the file.
5198 Include this code when GC_MALLOC_CHECK is defined.
5199 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5200 register/unregister allocated region.
5201 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5202 which isn't allocated.
5203 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5204 something which is already in use.
5205 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5206 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5207 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5208 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5209
5210 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5211 _malloc_internal instead of malloc.
5212 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5213 of free.
5214
ea456eb4
AI
52152000-10-20 Andrew Innes <andrewi@gnu.org>
5216
5217 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5218 Windows.
5219 (my_strftime) <macro>: Don't use macro arg list when redefining as
5220 _strftime_copytm.
5221 (my_strftime) <function>: Supply 0 as ut argument.
5222
e64c3a75
JR
52232000-10-19 Jason Rumney <jasonr@altavista.net>
5224
5225 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5226 including dispextern.h, as it stops faces from working.
5227
5228 * w32fns.c (Fx_create_frame): Don't bother calling
5229 face-set-after-frame-default since the caller does it for us
5230 anyway. Clean up calls to x_get_arg to be consistent with X.
5231
5232 * w32term.c (x_produce_glyphs): Handle
5233 unibyte_display_via_language_environment correctly.
5234 (w32_draw_box_rect): Fix the calculation of width and height.
5235
5236 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5237 as it has stopped working.
5238 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5239 menu-bar.
5240
17401c97
GM
52412000-10-19 Gerd Moellmann <gerd@gnu.org>
5242
5243 * eval.c (skip_debugger): Prevent a compiler warning.
5244 (Fcondition_case): Likewise.
5245 (Fbacktrace_frame): Use a null interactive spec.
5246
773272d8
KH
52472000-10-19 Kenichi Handa <handa@etl.go.jp>
5248
5249 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5250
a42943e9
GM
52512000-10-18 Gerd Moellmann <gerd@gnu.org>
5252
e50517d9
GM
5253 * strftime.c: Sync with glibc, file version 1.78.
5254 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5255 should no longer be used according to ISO 8601.
5256
9035a35a
GM
5257 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5258 no map for meta_prefix_char, don't try to use it as a keymap.
5259 Instead, if T_OK is non-zero, look up a default binding, if any,
5260 otherwise, if T_OK is zero, return nil.
5261
a42943e9
GM
5262 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5263 (x_to_xcolors, png_load): Use x_query_color.
5264
52283633
SM
5265 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5266 New functions.
a42943e9
GM
5267 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5268 which can be slow.
5269 (x_copy_color, x_alloc_lighter_color): Likewise.
5270
5271 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5272 (x_query_color, x_query_colors): Add prototype.
5273
5274 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5275 check_string_bytes only if not noninteractive, increase count to 50.
5276
00de2987
MB
52772000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5278
5279 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5280 markers correctly.
5281
54918e2b
GM
52822000-10-17 Gerd Moellmann <gerd@gnu.org>
5283
1f0b3fd2
GM
5284 * alloc.c (pure_bytes_used): Renamed from pureptr.
5285 (ALIGN): New macro.
5286 (pure_alloc): New function.
5287 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5288 Use it.
5289 (Fpurecopy): Use PURE_POINTER_P.
5290
68c5d1db
GM
5291 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5292 PT has moved backward.
52283633 5293
9a038881
GM
5294 * xdisp.c (cursor_row_p): Take continued lines into account.
5295
361b097f
GM
5296 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5297 string's size_byte.
5298 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5299 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5300 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5301 string allocated.
5302
54918e2b
GM
5303 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5304 of selective display off while searching for the next line start.
5305
03ed0806
KH
53062000-10-17 Kenichi Handa <handa@etl.go.jp>
5307
5308 * Makefile.in (term.o): Depend on dispextern.h.
5309
7e05cdaf
SM
53102000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5311
5312 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5313
a6801fd1
GM
53142000-10-16 Gerd Moellmann <gerd@gnu.org>
5315
483de32b
GM
5316 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5317 the iterator at the beginning, so that they can be set later on,
5318 for instance in reseat_at_next_visible_line_start, without being
5319 overwritten.
5320
a6801fd1
GM
5321 * xfns.c (pbm_format): Add :foreground and :background keywords.
5322 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5323 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5324
dbf1fcc1
EZ
53252000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5326
5327 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5328
52283633 5329 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5330
5331 * msdos.c (IT_set_face): Compare highlighted face with the default
5332 face, and invert colors if these faces' colors are identical.
5333 (Fmsdos_remember_default_colors): Don't swap foreground and
5334 background colors in initial_colors[].
5335 (IT_set_frame_parameters): Don't swap frame's foreground and
5336 background pixels. If ALIST includes "(reverse . t)", swap
5337 foreground-color and background-color properties in frame's
5338 param_alist. If the original frame's param_alist doesn't specify
5339 the colors, store unspecified-fg and unspecified-bg, reversed if
5340 required.
5341
5342 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5343 the colors are unspecified and reversed, reverse fore- and back-
5344 ground in the returned value.
5345 (Fframe_parameter): Ditto.
5346
b41fe2c3 53472000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5348
3a6b59d9
GM
5349 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5350 get_last_unchanged_at_beg_row.
5351 (find_first_unchanged_at_end_row): Renamed from
5352 get_first_unchanged_at_end_row.
5353 (find_first_unchanged_at_end_row): Convert assertions to
5354 unconditional tests which abort. When looking for a row in
5355 unchanged text, don't go further back than first_text_row.
5356
b41fe2c3
GM
5357 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5358 Don't add in the last line's height when deciding if the new
5359 position is below the scroll margin.
9d1af64f 5360
b41fe2c3 53612000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5362
5363 * editfns.c (Fconstrain_to_field): Check carefully for field
5364 boundaries if either OLD_POS or NEW_POS has a non-nil field
5365 property, even if they're the same.
5366
c412cb7b
KH
53672000-10-16 Kenichi Handa <handa@etl.go.jp>
5368
5369 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5370 height for XFillRectangle.
5371
5586f3eb
SM
53722000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5373
5374 * syntax.c (Fstring_to_syntax): New function extracted from
5375 Fmodify_syntax_entry.
5376 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5377 (skip_chars, Fforward_comment): Remove unused variables.
5378 (syms_of_syntax): Add defsubr for string-to-syntax.
5379 (describe_syntax): Add code for comment and string fences.
5380
db785038
SM
53812000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5382
5383 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5384 Do the meta->esc mapping. Call get_keyelt before returning.
5385 Start scanning from the second element (the first is always `keymap')
5386 to make it easier to detect when we reach a parent map.
5387 Handle the case of inheriting from a symbol whose function is a map.
5388 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5389 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5390 (get_keyelt, Flookup_key): Update call to access_keymap.
5391 Remove the meta->esc mappings.
5392 (define_as_prefix): Delete old disabled code.
5393 (menu_item_p): New function.
5394 (where_is_internal_1): Skip over the few remaining menu items.
5395 * lisp.h (access_keymap): Update prototype.
5396 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5397 Update call to access_keymap.
5398 (follow_key, read_key_sequence): Update calls to access_keymap.
5399 Remove the meta->esc mappings.
5400
cafafe0b
GM
54012000-10-13 Gerd Moellmann <gerd@gnu.org>
5402
a2e2a7f6
GM
5403 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5404 with additional argument.
5405
cafafe0b
GM
5406 * xdisp.c (cursor_row_p): New function.
5407 (try_cursor_movement, display_line): Use it.
52283633 5408
cafafe0b
GM
5409 * xdisp.c (append_space): Also save/restore iterator's current
5410 character and its length.
5411
5412 * xdisp.c (init_from_display_pos): Add an assertion.
5413 (handle_stop): Don't set iterator's add_overlay_start.
5414 (handle_invisible_prop): Likewise.
5415 (load_overlay_strings): If text under an overlay is invisible,
5416 take both before- and after-strings into account when the iterator
5417 is positioned either at the start or at the end of the overlay.
5418 (forward_to_next_line_start): Rewritten.
5419 (reseat_at_next_visible_line_start): Rewritten.
5420 (set_iterator_to_next): Add parameter RESEAT_P.
5421
5422 * dispextern.h (struct it): Remove member add_overlay_start.
5423 (set_iterator_to_next): Change prototype.
5424
c744452b
KH
54252000-10-13 Kenichi Handa <handa@etl.go.jp>
5426
5427 * coding.c (code_convert_region): Be sure to initialize
5428 coding->category_idx.
e4a3f4e1
KH
5429 (decode_coding_string): Set coding->src_multibyte and
5430 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5431 (encode_coding_string): Set coding->src_multibyte and
5432 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5433
321fd26f
SM
54342000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5435
5436 * xfns.c (Fx_create_frame): Don't bother calling
5437 face-set-after-frame-default since the caller does it for us anyway.
5438
76832439
EZ
54392000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5440
5441 * window.c (coordinates_in_window): Fix detection of vertical line
5442 on character terminals.
5443
2483cf58
GM
54442000-10-12 Gerd Moellmann <gerd@gnu.org>
5445
5446 * editfns.c (save_excursion_save): Additionally record the
5447 selected window.
5448 (save_excursion_restore): If buffer was visible in a window, and a
5449 different window was selected, and the old selected window is
5450 still live, restore point in that window.
5451
eb991b25
KH
54522000-10-12 Kenichi Handa <handa@etl.go.jp>
5453
8a0eba09
KH
5454 * xterm.c (x_produce_glyphs): Handle
5455 unibyte_display_via_language_environment correctly.
5456
20401fcc
KH
5457 * regex.c (regex_compile): Change the way of handling a range from
5458 unibyte char to multibyte char.
5459
5460 * syntax.c (skip_chars): Change the way of handling a range from
5461 unibyte char to multibyte char.
5462
eb991b25
KH
5463 * process.c (read_process_output): Cancel previous change.
5464
365dd325
EZ
54652000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5466
c1b096cb
EZ
5467 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5468
365dd325
EZ
5469 * charset.c (Ffind_charset_string): Doc fix.
5470 (Ffind_charset_region): Doc fix.
5471
eb483c2b
KH
54722000-10-11 Kenichi Handa <handa@mule.m17n.org>
5473
5474 * process.c (read_process_output): Fix previous change. Adjust
5475 multibyteness of text to insert in a buffer by
52283633 5476 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5477
b40bfb99
AS
54782000-10-10 Andreas Schwab <schwab@suse.de>
5479
5480 * alloc.c (mark_object): Remove all workarounds installed on
5481 1993-08-08.
5482
caff31d4
KH
54832000-10-10 Kenichi Handa <handa@etl.go.jp>
5484
52283633 5485 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5486 (base64_encode_1): Make it work for a text of multibyte form.
5487 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5488 case. Don't call str_to_multibyte because base64_decode_1
5489 produces correct multibyte form for eight-bit codes.
52283633 5490 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5491 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5492 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5493 codes.
5494
5495 * charset.h (CHAR_STRING): Optimized for single byte characters.
5496
cba026ef
AS
54972000-10-09 Andreas Schwab <schwab@suse.de>
5498
5499 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5500 -1 after socket is closed, to fall through to error processing.
5501
1e21fe48
EZ
55022000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5503
5504 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5505 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5506 background-color, change also the colors of the default face for
5507 this frame.
5508
a640322e
EZ
55092000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5510
5511 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5512 them extern (they are defined on xfaces.c).
5513 (syms_of_msdos): Don't intern and don't staticpro
5514 Qbackground_color and Qforeground_color.
5515
a115794c
EZ
55162000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5517
5518 * frame.c (Fframe_parameter): For non-windowed frames, if
5519 f->param_alist says foreground or background color is unspecified,
5520 call tty_color_name to return the color name computed from the
5521 frame's current colors.
5522
f5533b63
DL
55232000-10-06 Dave Love <fx@gnu.org>
5524
5525 * terminfo.c (ospeed): Don't declare.
5526
5527 * sysdep.c: Don't include string.h.
5528 (h_errno): Declare conditional also on TRY_AGAIN.
5529
5530 * charset.c (Ffind_charset_string): Doc fix.
5531
52283633 5532 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5533 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5534 error messages.
5535
2b06561a
DL
55362000-10-05 Dave Love <fx@gnu.org>
5537
5538 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5539 position like menu-bar.
5540
ca839c85
GM
55412000-10-05 Gerd Moellmann <gerd@gnu.org>
5542
5543 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5544
5545 * xdisp.c (handle_single_display_prop): Use safe_call1.
5546 (safe_call): Renamed from call_function.
5547 (safe_call1): New function.
5548 (handle_fontified_prop): Use safe_call1 instead of call1.
5549 (safe_eval): Renamed from eval_form.
5550 (safe_eval_handler): Renamed from eval_handler.
5551 (handle_single_display_prop, display_mode_element): Use safe_eval
5552 instead of eval_form.
5553
5554 * xfaces.c (merge_face_heights): Use safe_call instead of
5555 call_function.
5556
5557 * keyboard.c (show_help_echo): Use safe_call instead of
5558 call_function; use safe_eval instead of eval_form.
5559
5560 * lisp.h (safe_call): Renamed from call_function.
5561 (safe_eval): Renamed from eval_form.
5562 (safe_call1): Add prototype.
5563
a3489ece
MB
55642000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5565
5566 * xfns.c (image_ascent): Rearrange ascent calculation for the
5567 has-a-font case.
5568
35810b6f
SM
55692000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5570
5571 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5572 (where_is_internal_1): Don't bother ignoring menu-items any more.
5573
3dc78168
GM
55742000-10-04 Gerd Moellmann <gerd@gnu.org>
5575
5576 * keyboard.c (update_menu_bindings): New variable.
5577 (parse_menu_item): Use AREF. If update_menu_bindings
5578 is 0, don't update menu bindings.
5579 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5580
1efc2bb9
EZ
55812000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5582
5583 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5584 to `mark_object'.
5585
3f679f55
SM
55862000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5587
5588 * syntax.c (forw_comment): Match nestedness of ender/starter.
5589 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5590 (prev_char_comstart_first): Remove.
5591 (back_comment): Check two-char comment markers more carefully
5592 to better handle overlapping cases like *//* or /* */* */ ...
5593 Match nestedness of ender/starter.
5594
2021ab61
DL
55952000-10-02 Dave Love <fx@gnu.org>
5596
5597 * config.in (HAVE_GAI_STRERROR): Add undef.
5598
5599 * process.c (Fopen_network_stream): Use it.
5600
5601 * m/alpha.h (NO_REMAP): Don't define.
5602
64e6cc18
GM
56032000-10-02 Gerd Moellmann <gerd@gnu.org>
5604
5605 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5606 return with a string converted to an integer or vice versa when
5607 Vmocklisp_arguments is t.
5608 (Fsignal): Likewise. The function can return for `quit'.
5609 (struct gcpro): Declare member `var' to point to a volatile
5610 Lisp_Object.
5611
5612 * eval.c (error): Prevent compiler warning.
5613
b1904cd9
SM
56142000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5615
5616 * keymap.c (keymap_memberp): New function.
5617 (Fset_keymap_parent): Use it.
5618 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5619 Use keymap_memberp to avoid creating cycles.
5620 (access_keymap): Use KEYMAPP.
5621
71c9ec51
GM
56222000-09-30 Gerd Moellmann <gerd@gnu.org>
5623
5624 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5625 gai_strerror. Make sure xerrno is set if connect fails. Improve
5626 error recovery.
71c9ec51 5627
c70c6b58
JR
56282000-09-29 Jason Rumney <jasonr@gnu.org>
5629
5630 * w32term.c (w32_char_font_type, w32_encode_char)
5631 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5632 (w32_bdf_per_char_metric): New function.
5633 (w32_per_char_metric): Use it.
5634 (x_draw_glyph_string_background): Always draw background for BDF
5635 glyphs.
5636
5637 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5638 GDI object which is a scarce resource.
5639
5640 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5641 (get_quoted_string): Fix limit on memchr search.
5642 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5643 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5644 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5645 (get_cached_font_char, cache_char_offset): Use macro
5646 BDF_CODEPOINT_RANGE_COVER_P.
5647 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5648 (clear_cached_bitmap_slots): New function.
5649 (GET_HEX_VALUE): G-Z, g-z are not hex.
5650 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5651 (get_bitmap_with_cache): Use new cache implementation.
5652 (create_offscreen_bitmap): New function.
5653 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5654
5655 * w32term.c (x_produce_glyphs): If the distance from the current
5656 position to the next tab stop is less than a canonical character
5657 width, use the tab stop after that.
5658 (x_draw_glyphs): Handle case START and END are out of bounds more
5659 carefully.
5660 (x_clear_mouse_face): Block/unblock input.
5661 (x_display_and_set_cursor): Don't show a hollow box cursor for
5662 buffers whose cursor_type is nil.
5663
fe01239f
GM
56642000-09-29 Gerd Moellmann <gerd@gnu.org>
5665
52283633 5666 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5667
5668 * dispextern.h (updating_frame): Declare extern.
5669
e7c52f1f
AS
56702000-09-29 Andreas Schwab <schwab@suse.de>
5671
5672 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5673
de6e1f7c
GM
56742000-09-29 Gerd Moellmann <gerd@gnu.org>
5675
25126faa
GM
5676 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5677 use its function definition.
5678 (tool_bar_items): Likewise.
5679
de6e1f7c 5680 * lisp.h (fatal): Declare NO_RETURN.
52283633 5681
454ee39b
KH
56822000-09-29 Kenichi Handa <handa@etl.go.jp>
5683
5684 * keymap.c: Remove the line "#undef NULL".
5685
96301c5f
GM
56862000-09-28 Gerd Moellmann <gerd@gnu.org>
5687
52283633 5688 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5689
efffeeb4
DL
56902000-09-28 Dave Love <fx@gnu.org>
5691
ecb8b666
DL
5692 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5693
dc3cd20f
DL
5694 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5695
5696 * .gdbinit (xreload): Note its need on GNU/Linux.
5697
efffeeb4
DL
5698 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5699 r_alloc, r_alloc_free.
5700
8610d903
KH
57012000-09-28 Kenichi Handa <handa@etl.go.jp>
5702
5703 * syntax.c (skip_chars): Handle negation correctly.
5704
8901d1ac
GM
57052000-09-27 Gerd Moellmann <gerd@gnu.org>
5706
6f22f1ad
GM
5707 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5708 with non-zero FORCE_P argument.
5709
52283633 5710 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5711 Add assertions.
5712
5713 * xdisp.c (window_box_height): Add an assertion.
5714
5715 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5716 tool-bar than is available.
5717 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5718
36f1966f
DL
57192000-09-27 Dave Love <fx@gnu.org>
5720
efffeeb4 5721 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5722
31d929e5
GM
57232000-09-26 Gerd Moellmann <gerd@gnu.org>
5724
c98863bf
GM
5725 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5726 instead of BITS_PER_INT.
5727 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5728 EMACS_UINT, respectively.
5729 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5730
5731 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5732
5733 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5734
77072ab1
GM
5735 * window.c (freeze_window_starts): Construct last argument for
5736 foreach_window differently.
5737
5738 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5739
5740 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5741 EMACS_UINT instead of `int' and `unsigned int'.
5742 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5743
5744 * frame.h (struct frame): Make the `nothing' member of union
5745 output_data an EMACS_INT.
5746
52283633 5747 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5748 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5749 size in the sdata structure.
5750 (SDATA_NBYTES, SDATA_DATA): New macros.
5751 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5752 differently for the different layout of the sdata structure.
5753 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5754 in sdata.
5755 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5756 Check that size recorded in the string size and size recorded in
5757 the sdata structure agree.
5758
3e60b029
DL
57592000-09-25 Dave Love <fx@gnu.org>
5760
5761 * buffer.c: Include stdio.h.
5762
5763 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5764
3e60b029
DL
5765 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5766
5767 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5768 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5769 (__malloc_extra_blocks): Declare as __malloc_size_t.
5770
8ff16b4e
GM
57712000-09-25 Gerd Moellmann <gerd@gnu.org>
5772
755a2ccd
GM
5773 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5774
d8b4516f
GM
5775 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5776 (read_char): If help-echo is showing, preserve the echo area
5777 when redisplaying.
5778
5779 * xdisp.c (help_echo_showing_p): New variable.
5780 (set_message): Reset it to 0.
5781 (init_xdisp): Initialize help_echo_showing_p.
5782
5783 * dispextern.h (help_echo_showing_p): Declare extern.
5784
5785 * config.in: Fix typo in __GNUC_MINOR__.
5786
5787 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5788
b11af2dd
GM
5789 * s/freebsd.h (POSIX_SIGNALS): Define.
5790
8ff16b4e
GM
5791 * xterm.c (x_clear_mouse_face): Block/unblock input.
5792
844eb643
DL
57932000-09-24 Dave Love <fx@gnu.org>
5794
5795 * fns.c (base64_encode_1): Fix last change.
5796
b30ab1b3
GM
57972000-09-22 Gerd Moellmann <gerd@gnu.org>
5798
5799 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5800
5801 * xdisp.c (try_window_reusing_current_matrix): More fixes
5802 for the case window has a header-line.
5803
c6cbe5f0
DL
58042000-09-22 Dave Love <fx@gnu.org>
5805
4c7c1f3f
DL
5806 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5807 a doc string.
5808
5809 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5810
c6cbe5f0
DL
5811 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5812
550a625e
GM
58132000-09-21 Gerd Moellmann <gerd@gnu.org>
5814
4c7c1f3f 5815 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5816 for GCC >= 2.5.
5817
52283633
SM
5818 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5819 Declare NO_RETURN.
fca99116 5820
80d26f99
GM
5821 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5822 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5823 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5824 warnings.
52283633 5825
80d26f99
GM
5826 * marker.c (byte_char_debug_check): Return void.
5827
623a0aae
GM
5828 * xfns.c (Fx_create_frame): Set default frame parameter value
5829 for tool-bar-lines to 1.
5830
5831 * dispnew.c (scrolling_window): Compare y-positions of rows
5832 equal at the start. Some simplification.
5833
5834 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5835 reused rows' y-position in the case window has a header-line, and
5836 new window start is greater than old window start.
5837
42ac0ae5
GM
5838 * process.c (process_sent_to): New variable.
5839 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5840 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5841 Declare more parameters volatile.
5842
550a625e
GM
5843 * lread.c (Vrecursive_load_depth_limit): New variable.
5844 (Fload): Check recursive loads whose recursion depth exceeds
5845 Vrecursive_load_depth_limit.
5846 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5847
8320414c
GM
58482000-09-20 Gerd Moellmann <gerd@gnu.org>
5849
f46c275e
GM
5850 * fileio.c (Fread_file_name): Doc fix.
5851
5852 * editfns.c (Fmessage_or_box): Doc fix.
5853
5854 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5855
b7e11c5b 5856 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5857
8320414c
GM
5858 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5859 symbols are specified, add color translations to the cache.
52283633 5860 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5861 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5862 xpm_cache_color.
5863 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5864 structures to xpm_init_color_cache.
5865
da1608d9
GM
58662000-09-19 Gerd Moellmann <gerd@gnu.org>
5867
52283633 5868 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5869
6badfa25
AI
58702000-09-19 Andrew Innes <andrewi@gnu.org>
5871
5872 * makefile.nt (bootstrap-emacs): Don't change directory.
5873
3a5f42bb
KH
58742000-09-19 Kenichi Handa <handa@etl.go.jp>
5875
1b7649bd
KH
5876 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5877
3a5f42bb
KH
5878 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5879 If output buffer is too small, signal an appropriated error.
5880
9f83cf0b
DL
58812000-09-18 Dave Love <fx@gnu.org>
5882
52283633 5883 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5884 (current_active_maps): Remove redundant get_local_map call.
5885
28c7826c
GM
58862000-09-18 Gerd Moellmann <gerd@gnu.org>
5887
5cefa566
GM
5888 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5889 cursor for buffers whose cursor_type is nil.
52283633 5890
6fed3546
GM
5891 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5892 a feature to implement that is already implemented.
5893 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5894 warnings.
5895
5896 * xfns.c (x_clear_image_1): New function.
5897 (x_clear_image): Use it.
52283633 5898 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5899
05b1f851
GM
5900 * dispnew.c (update_window): Move test for invisible lines
5901 at the top to update_window_line.
5902 (update_window_line): Handle invisible lines here.
5903
f4779de9
GM
5904 * xfns.c (clear_image_cache): Clear current matrices of all
5905 frames sharing an image cache. Block input while freeing
5906 images. Fix timestamp comparison.
5907 (x_clear_image): Also free the mask.
5908
28c7826c
GM
5909 * xfns.c (lookup_image): Block input while loading the image so
5910 that we won't get interrupted in a state where the image isn't yet
5911 set up completely.
5912 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5913 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5914 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5915 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5916
b7412313
GM
59172000-09-16 Gerd Moellmann <gerd@gnu.org>
5918
5919 * dispnew.c (update_window): Make sure to make desired rows
5920 current even if they are completely invisible at the top
5921 of a window.
5922
47e351a3
GM
59232000-09-15 Gerd Moellmann <gerd@gnu.org>
5924
7f8f1edc
GM
5925 * xfns.c (lookup_image): Build mask before applying an algorithm.
5926 Recognize algorithm `disabled'.
5927 (cross_disabled_images): New variable.
5928 (COLOR_INTENSITY): New macro.
5929 (x_detect_edges): Use COLOR_INTENSITY.
5930 (x_disable_image): New function.
5931 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5932
5933 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5934 disabled state, don't apply an image transformation algorithm if
5935 the user specified an image for the disabled state. Use
28c7826c 5936 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5937 user hasn't specified an image.
5938
ebb8f116
GM
5939 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5940 allocation functions with the XPM lib.
5941 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5942 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5943 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5944 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5945 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5946 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5947 functions, if possible, because these handle color allocation
5948 failure more gracefully.
5949 (Fimage_mask_p): New function.
5950
47e351a3
GM
5951 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5952 (Qedge_detection, Qheuristic): New symbols.
5953 (syms_of_xfns): Initialize new symbols.
5954 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5955 `algorithm (edge-detection ...)'.
5956 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5957 (tiff_format, gif_format, gs_format): Add `:mask'.
5958 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5959 (GIF_MASK, GS_MASK): New enumerators.
5960 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5961 (emboss_matrix, laplace_matrix): New variables.
5962 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5963 (x_edge_detection): New functions.
5964 (x_laplace): Rewritten in terms of x_detect_edges.
5965 (x_build_heuristic_mask): If image has a mask, free it.
5966
fe83b953
AI
59672000-09-14 Andrew Innes <andrewi@gnu.org>
5968
5969 * makefile.w32-in: Revert to Unix line endings.
5970
3021e816
AI
59712000-09-14 Andrew Innes <andrewi@gnu.org>
5972
5973 * makefile.w32-in: Standardize indentation somewhat.
5974 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5975 cater for differences between shells.
5976
5977 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5978
2a32b5ea
GM
59792000-09-14 Gerd Moellmann <gerd@gnu.org>
5980
5981 * xterm.c (x_produce_glyphs): If the distance from the current
5982 position to the next tab stop is less than a canonical character
5983 width, use the tab stop after that.
5984
b4331e96
DL
59852000-09-14 Dave Love <fx@gnu.org>
5986
5987 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5988
ef9e4345
GM
59892000-09-14 Gerd Moellmann <gerd@gnu.org>
5990
085536c2
GM
5991 * xdisp.c (handle_fontified_prop): While running fontification
5992 functions, bind `fontification-functions' and
5993 `after-change-functions' to nil.
5994
ef9e4345
GM
5995 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5996 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5997
5998 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5999
6000 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6001 USE_MMAP_FOR_BUFFERS.
6002
6003 * insdel.c (make_gap): Use enlarge_buffer_text.
6004
6005 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6006 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6007 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6008 from former r_alloc_* functions in ralloc.c.
52283633 6009 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6010 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6011 (mmap_init) [REL_ALLOC_MMAP]: New function.
6012 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6013 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6014 BUFFER_FREE.
6015
6016 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6017 (enlarge_buffer_text): Add prototype.
6018
6019 * ralloc.c: Remove everything having to do with the use of mmap.
6020
f8608968
GM
60212000-09-13 Gerd Moellmann <gerd@gnu.org>
6022
2a494b2d
GM
6023 * sound.c (Fplay_sound): Doc fix.
6024
8c907a56
GM
6025 * keyboard.c: Avoid some more compiler warnings.
6026 (parse_tool_bar_item): Ignore cached key bindings.
6027
f8608968
GM
6028 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6029 and allocation of Lisp data.
6030
6ab70e9a
GM
60312000-09-12 Gerd Moellmann <gerd@gnu.org>
6032
d12d0a9b
GM
6033 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6034 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6035 defaults first.
6036
6ab70e9a
GM
6037 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6038
63c36c3c
KH
60392000-09-12 Miyashita Hisashi <himi@meadowy.org>
6040
6041 * ccl.c: Comment fixed.
6042 (MAX_MAP_SET_LEVEL): Increased to 30.
6043 (PUSH_MAPPING_STACK): Enclose with do-while block.
6044 (POP_MAPPING_STACK): Likewise.
6045 (stack_idx_of_map_multiple): New variable.
6046 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6047 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6048 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6049 (ccl_driver) <CCL_MapSingle>: Likewise.
6050 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6051 with the case where looking up process reaches to the end of
6052 map-set, and call CCL programs as the above change.
6053
7ee3bd7b
GM
60542000-09-11 Gerd Moellmann <gerd@gnu.org>
6055
8ec8a5ec
GM
6056 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6057 that might be clobbered by longjmp.
6058 (check_x_display_info, x_decode_color, create_frame_xic)
6059 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6060 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6061
f74b0705
GM
6062 * lread.c (init_lread): Set Vloads_in_progress to nil.
6063 (Fload): Show list of recursively loaded files, when signaling an
6064 error.
6065
7ee3bd7b
GM
6066 * lread.c (Vloads_in_progress): New variable.
6067 (record_load_unwind): New function.
6068 (Fload): Check for recursive loads.
6069 (syms_of_lread): Initialize Vloads_in_progress.
6070 (read_integer, read1): Avoid some compiler warnings.
6071
6072 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6073 compiler warnings.
6074
974e1e5b
MB
60752000-09-11 Miles Bader <miles@gnu.org>
6076
6077 * editfns.c (Fbuffer_string): Doc fix.
6078
9824c4e3
GM
60792000-09-10 Gerd Moellmann <gerd@gnu.org>
6080
6081 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6082
6a72fdd1
KR
60832000-09-09 Ken Raeburn <raeburn@gnu.org>
6084
6085 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6086 whether to include other header files.
6087
28e6fb66
GM
60882000-09-09 Gerd Moellmann <gerd@gnu.org>
6089
52283633 6090 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6091 by Fmemq as a boolean.
28e6fb66 6092
7f8b6551
SM
60932000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6094
6095 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6096
a8710abf
GM
60972000-09-08 Gerd Moellmann <gerd@gnu.org>
6098
d1a02881
GM
6099 * ralloc.c (mmap_fd): Remove initializer which can make it
6100 read-only in a dumped Emacs.
6101 (mmap_fd_1): New variable.
6102 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6103 restore it from there.
6104 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6105 unconditionally so that mmap_fd can be initialized there.
6106 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6107 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6108 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6109
c454aac1
GM
6110 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6111
6112 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6113 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6114
fc653ef2
GM
6115 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6116
3015eec0
GM
6117 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6118 inheritance.
6119
bfe0ee88
GM
6120 * xdisp.c (try_window_id): When trying to locate cursor in
6121 unchanged rows at the top, handle the case that we can't find it.
6122
a8710abf
GM
6123 * xterm.c (x_draw_glyphs): Handle case START and END are out
6124 of bounds more carefully.
6125
6b7d4ae4
DL
61262000-09-08 Dave Love <fx@gnu.org>
6127
423193c5
DL
6128 * s/sol2.h (REL_ALLOC_MMAP): Define.
6129 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6130
6131 * ralloc.c: Don't include string.h (redundant).
6132 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6133 [!MAP_ANON]: Include fcntl.h.
6134 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6135 (r_alloc, r_re_alloc, r_alloc_free)
6136 (mmap_enlarge, mmap_set_vars): Use it.
6137 (r_alloc_init_fd): New function.
6138 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6139 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6140 malloc type.
6141
6142 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6143 Remove vm-limit.o.
6144
6b7d4ae4
DL
6145 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6146 change to __NetBSD__.
6147
44d31981
KH
61482000-09-08 Kenichi Handa <handa@etl.go.jp>
6149
6150 * search.c (compile_pattern): Check the multibyteness of cached
6151 string and PATTERN.
6152
aad40737
MB
61532000-09-08 Miles Bader <miles@gnu.org>
6154
6155 * xfaces.c (default_face_vector): Function removed.
6156 (Finternal_merge_in_global_face): Restore old global/local
6157 attribute override order. Use inline loop instead of calling
6158 default_face_vector.
6159
91a211b5
GM
61602000-09-07 Gerd Moellmann <gerd@gnu.org>
6161
6162 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6163 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6164 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6165 where necessary, in case POINTER_TYPE is `void'.
6166
03419440
EZ
61672000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6168
6169 * frame.c (make_terminal_frame): Initialize frame foreground and
6170 background colors to unspecified, for the initial instance of an
6171 MSDOS frame.
6172
f46f845b
GM
61732000-09-07 Gerd Moellmann <gerd@gnu.org>
6174
24f76fbf
GM
6175 * ralloc.c (mmap_find): Fix overlap computation.
6176 (mmap_enlarge): Compute nbytes before trying to find an
6177 overlapping region.
6178
f46f845b
GM
6179 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6180 instead of `!='.
6181
6182 * lread.c (syms_of_lread): Change value of regexp
6183 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6184
6185 * xmenu.c (xdialog_show): When looking up the selection in
6186 menu_items, take `quote' boundaries into account; this corresponds
6187 to a nil ITEM in x-popup-dialog.
6188
3c014385
KH
61892000-09-07 Kenichi Handa <handa@etl.go.jp>
6190
fd6f711b
KH
6191 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6192 not 0x81.
6193 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6194
3c014385 6195 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6196 encoding, not decoding. Fix the handling of latin-jisx0201.
6197 Check for the charset katakana-jisx0201 too.
3c014385 6198 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6199 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6200
0da3ecef
GM
62012000-09-07 Gerd Moellmann <gerd@gnu.org>
6202
ab0ee409
GM
6203 * xfaces.c (Vparam_value_alist): New variable.
6204 (syms_of_xfaces): Initialize it.
6205 (Finternal_set_lisp_face_attribute): Avoid more consing.
6206
6207 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6208 specially.
6209 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6210 (Qbackground_mode): New variable.
6211 (syms_of_frame_1): Initialize Qbackground_mode.
6212
6213 * lisp.h (Qdisplay): Declare extern.
1091dd67 6214
0da3ecef
GM
6215 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6216 change face on all frames, and change the default for new frames.
6217
b14654b9
DL
62182000-09-07 Dave Love <fx@gnu.org>
6219
6220 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6221
d24fd56f
KH
62222000-09-07 Kenichi Handa <handa@etl.go.jp>
6223
794f3670
KH
6224 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6225
0fddd0dc
KH
6226 * charset.c: Include composite.h
6227 (lisp_string_width): New function.
6228 (Fstring_width): Call lisp_string_width instead of strwidth.
6229
6230 * Makefile.in (charset.o): Depends on composite.h.
6231
d24fd56f
KH
6232 * process.c (read_process_output): Before inserting the decoded
6233 text in the buffer, adjust the multibyteness.
6234
fa0b693c
GM
62352000-09-06 Gerd Moellmann <gerd@gnu.org>
6236
52283633 6237 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6238 buffer's text buffer is null, map new memory.
6239
0a58f946
GM
6240 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6241 POINTER_TYPE and size_t.
6242 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6243 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6244 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6245 [REL_ALLOC_MMAP]: New macros.
6246 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6247 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6248 [REL_ALLOC_MMAP]: New functions.
6249
6250 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6251 before and after unexec.
6252
6253 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6254 text buffers if necessary.
6255
6256 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6257 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6258 in prototypes.
6259
fa0b693c
GM
6260 * config.in (HAVE_MMAP): Add #undef.
6261
877055f6
GM
62622000-09-05 Gerd Moellmann <gerd@gnu.org>
6263
08ba3862
GM
6264 * frame.c (Qdisplay_type): New variable.
6265 (syms_of_frame_1): Initialize it.
6266 (Fframe_parameter): New function that avoids consing.
6267 (syms_of_frame): Defsubr it.
6268
66ffe51c
GM
6269 * buffer.c (Fother_buffer): Consider buffers as invisible when
6270 they are displayed in a window on an invisible frame.
6271
877055f6
GM
6272 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6273 get-largest-window always return nil.
6274
bb970e67
GM
62752000-09-04 Gerd Moellmann <gerd@gnu.org>
6276
6277 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6278 variable; recognize Emacs 19 elc files.
6279
7a3d0e0e
MB
62802000-09-04 Miles Bader <miles@gnu.org>
6281
6282 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6283 before initially popping up the menu, so the menu doesn't flash
52283633 6284 when the face settings are significantly different from the defaults.
7a3d0e0e 6285
14473664
SM
62862000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6287
6288 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6289 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6290 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6291 (BIT_UNIBYTE): Remove.
6292 (re_match_2_internal): Delete corresponding code and streamline the
6293 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6294 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6295 (re_wctype_t): New type.
6296 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6297 (regex_compile): Use them and fix handling of overly long char classes.
6298
c1174479
AI
62992000-09-03 Andrew Innes <andrewi@gnu.org>
6300
f8803e97
AI
6301 * makefile.w32-in: Change to DOS line endings.
6302
c1174479
AI
6303 * s/ms-w32.h (ORDINARY_LINK): New define.
6304
6305 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6306 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6307
6308 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6309 (distclean): Delete them here instead.
6310
44ef7cf6
AI
6311 * w32proc.c (compare_env): Convert to uppercase for comparison,
6312 not lowercase, to match how the native Windows shell works.
6313
49b3bd82
JR
63142000-09-03 Jason Rumney <jasonr@gnu.org>
6315
6316 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6317 CVS changes the line-ends when checking in/out on DOS/Windows.
6318
6319 * makefile.nt (emacs): Do not change directory to run temacs, as
6320 the load-path is set relative to current directory.
6321
a3d35a39
MB
63222000-09-03 Miles Bader <miles@gnu.org>
6323
6324 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6325
d276b0cf
GM
63262000-09-02 Gerd Moellmann <gerd@gnu.org>
6327
715e84c9
GM
6328 * xdisp.c (redisplay_mode_lines): New function.
6329 (display_mode_lines): Return number of mode lines displayed.
6330 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6331 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6332
8892f40b
GM
6333 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6334 string.h and strings.h.
6335 (index) [HAVE_INDEX]: Add prototype.
6336
d276b0cf
GM
6337 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6338 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6339
6340 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6341 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6342
38404229
GM
63432000-09-01 Gerd Moellmann <gerd@gnu.org>
6344
6345 * lread.c (read1): Accept `?' as symbol constituent, for
6346 compatiblity with XEmacs.
6347
c0f9ea08
SM
63482000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6349
6350 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6351 (struct re_pattern_buffer): Remove newline_anchor.
6352 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6353 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6354 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6355 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6356 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6357 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6358 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6359 Get rid of references to newline_anchor.
6360 (regcomp): Allocate and precompute a fastmap.
6361
8c0f83fe
GM
63622000-08-31 Gerd Moellmann <gerd@gnu.org>
6363
6364 * lread.c (openp): GCPRO local variable `filename'.
6365
4bb91c68
SM
63662000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6367
6368 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6369
6370 * regex.c: Merge some changes from GNU libc. Add prototypes.
6371 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6372 Use memcmp and memcpy instead of bcopy and bcmp.
6373 (init_syntax_once): Use ISALNUM.
6374 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6375 (REG_UNSET_VALUE): Remove. Use NULL instead.
6376 (REG_UNSET, re_match_2_internal): Use NULL.
6377 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6378 New macros.
6379 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6380 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6381 (regex_compile): In handle_interval, return an error rather than try to
6382 unfetch the interval if we can't find the closing brace.
6383 Obey the RE_NO_GNU_OPS syntax bit.
6384 (TOLOWER): New macro.
6385 (regcomp): Use it.
6386 (regexec): Allocate regs.start and regs.end as one block.
6387
5226a931
GM
63882000-08-30 Gerd Moellmann <gerd@gnu.org>
6389
868dd24b
GM
6390 * xdisp.c (echo_area_display): Check display_completed instead
6391 of calling detect_input_pending.
6392
6393 * dispnew.c (update_frame): Only set display_completed here; move
6394 the update_begin and update_end calls here from update_frame_1.
6395 (update_frame_1): Don't set display_completed here, don't call
6396 update_begin/update_end.
6397
5226a931
GM
6398 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6399 instead of store_frame_param.
6400
2a8bd25f
GM
64012000-08-29 Gerd Moellmann <gerd@gnu.org>
6402
6403 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6404 desired window matrix hasn't been displayed, use the current row
6405 instead. Make sure that only those frame rows are updated for
6406 which there exists a corresponding enabled desired row.
52283633 6407
ba3478d9
MB
64082000-08-29 Miles Bader <miles@gnu.org>
6409
6410 * xfaces.c (default_face_vector): New function.
6411 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6412
87d0f685
GM
64132000-08-29 Gerd Moellmann <gerd@gnu.org>
6414
6415 * lread.c (openp): Prevent temporary string passed to
6416 Ffile_readable_p from being garbage collected.
6417
6fa86045
DL
64182000-08-28 Dave Love <fx@gnu.org>
6419
6420 * keymap.c (store_in_keymap): Add `static' to declaration.
6421
bb17930d
GM
64222000-08-28 Gerd Moellmann <gerd@gnu.org>
6423
6424 * emacs.c, callint.c, doc.c, editfns.c
6425 (toplevel) [HAVE_STRING_H]: Include string.h.
6426 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6427 (index): Remove prototypes which might conflict with non-standard
6428 definitions of index/strchr.
6429
6430 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6431 (rindex): Define only if !HAVE_RINDEX.
6432
6433 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6434
6435 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6436
87188200
MB
64372000-08-28 Miles Bader <miles@gnu.org>
6438
6439 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6440 made inconsistent by a font-related attribute in FROM.
6441 (merge_face_inheritance): Add function comment.
6442
41a68aef
KH
64432000-08-28 Kenichi Handa <handa@etl.go.jp>
6444
6445 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6446 the 4th arg (PREV_EVENT) Qt to suppress input method.
6447
f7c436c1
SM
64482000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6449
0b32bf0e
SM
6450 * regex.c: Indent cpp directives and remove parens after `defined'.
6451 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6452 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6453 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6454 (re_compile_pattern): Use size_t for length.
6455 (init_syntax_once): Move to a better place.
6456 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6457 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6458
f7c436c1
SM
6459 * syntax.c (back_comment): Detect cases where a comment-starter is
6460 actually inside another comment as in: /* a // b */ c // d \n.
6461 Make it clear that `comstart_pos' is unused for nested comments.
6462
6463 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6464 (KEYMAPP): New macro.
6465 (Fkeymap_parent, Fset_keymap_parent): Use it.
6466 (fix_submap_inheritance): Mark it static.
6467 (define_as_prefix, describe_buffer_bindings, describe_command)
6468 (describe_translation, describe_map): Complete prototypes.
6469
6470 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6471
6472 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6473 to better match the key-lookup behavior.
6474
6288c62f
GM
64752000-08-27 Gerd Moellmann <gerd@gnu.org>
6476
6477 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6478 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6479
e931344e
EZ
64802000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6481
6482 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6483 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6484 (xterm.o): Depend on coding.h
6485
d10dfeef
KH
64862000-08-26 Kenichi Handa <handa@etl.go.jp>
6487
6488 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6489 the corresponding '#endif'.
6490
2d73e8d3
MB
64912000-08-26 Miles Bader <miles@gnu.org>
6492
6493 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6494 * xfaces.c (QCinherit): New variable.
6495 (syms_of_xfaces): Initialize it.
6496 (LFACE_INHERIT): New macro.
6497 (Finternal_get_lisp_face_attribute)
52283633 6498 (merge_face_vector_with_property)
2d73e8d3
MB
6499 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6500 (check_lface_attrs): Allow new types of face height. Check
6501 inherit attribute.
6502 (CYCLE_CHECK): New macro.
6503 (merge_face_inheritance): New function.
6504 (merge_face_vectors): Merge inherited faces too. Add F and
6505 CYCLE_CHECK arguments.
6506 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6507 (lookup_named_face, lookup_derived_face, realize_named_face)
6508 (face_at_string_position, face_at_buffer_position): Supply
6509 new F and CYCLE_CHECK arguments to merge_face_vectors.
6510 (merge_face_heights): New function.
52283633 6511 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6512 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6513 handle relative face heights.
6514 (lface_same_font_attributes_p): Compare heights using EQ.
6515
6ce974d4
KH
65162000-08-26 Kenichi Handa <handa@etl.go.jp>
6517
6518 * charset.c (char_to_string): Check the character validity.
52283633 6519 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6520
dc1e502d
SM
65212000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6522
6523 * regex.c (PUSH_FAILURE_COUNT): New macro.
6524 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6525 Handle popping of a register's or a counter's data.
6526 (POP_FAILURE_POINT): Use the new name.
6527 (re_match_2_internal): Push counter data on the stack for succeed_n,
6528 jump_n and set_number_at and remove misleading dead code in succeed_n.
6529
bd9d0f3f
GM
65302000-08-25 Gerd Moellmann <gerd@gnu.org>
6531
6532 * xdisp.c (redisplay_internal): If considering all windows on all
6533 frames, update the display for each frame as soon as possible,
6534 instead of first building all desired matrices for all frames, and
6535 then updating them all.
6536 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6537
aa5b8e15
GM
65382000-08-24 Gerd Moellmann <gerd@gnu.org>
6539
17494071
GM
6540 * bytecode.c (mark_byte_stack): Add a comment.
6541
52283633
SM
6542 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6543 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6544 a graphical frame.
6545
c543db81
KH
65462000-08-24 Kenichi Handa <handa@etl.go.jp>
6547
d246d5f5
KH
6548 * minibuf.c (do_completion): Always use compare-string, not
6549 string-equal because the latter doesn't pay attention to
6550 multibyteness of strings.
6551
c543db81
KH
6552 * process.c (create_process): Don't setup raw-text coding here.
6553 (Fopen_network_stream): Don't set coding->src_multibyte and
6554 coding->dst_multibyte here.
6555 (read_process_output): For process filter, return unibyte string
6556 if default-enable-multibyte-characters is nil.
6557 (send_process): If OBJECT is multibyte text, be sure to encoded it
6558 by the specified coding system for the process. Otherwise, setup
6559 raw-text coding.
52283633 6560 (init_process): Don't initialize default-process-coding-system here.
c543db81 6561
9b47cfe0
EZ
65622000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6563
6564 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6565 <scroll-down-aggressively>: Likewise.
6566
f5a36960
KH
65672000-08-23 Kenichi Handa <handa@etl.go.jp>
6568
6569 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6570 zero. Set coding->produced_char correctly.
6571
69a7ffa7
AI
65722000-08-22 Andrew Innes <andrewi@gnu.org>
6573
6574 * makefile.w32-in: New file.
6575
6576 * unexw32.c (unexec): Ignore old_name, and use the actual location
6577 of the current executable instead. Base new_name on this.
6578
6579 * w32proc.c (create_child): Remove reference to security
6580 descriptor, which isn't needed and doesn't compile with mingw32.
6581
6582 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6583 up dllimport attributes.
6584 (x_update_window_end): Update prototype.
6585
6586 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6587 extern, which screws up dllimport attributes.
6588
6589 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6590 up dllimport attributes.
6591
6592 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6593 screws up dllimport attributes.
6594
6595 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6596 up dllimport attributes.
6597 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6598 screws up dllimport attributes.
6599
6600 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6601 up dllimport attributes.
6602
6603 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6604 screws up dllimport attributes.
6605
6606 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6607 screws up dllimport attributes.
6608
6609 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6610 up dllimport attributes.
6611
6612 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6613 unnecessary extern, which screws up dllimport attributes.
6614 (main): Ditto.
6615
6616 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6617 up dllimport attributes.
6618
6619 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6620 unnecessary extern, which screws up dllimport attributes.
6621
6622 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6623 screws up dllimport attributes.
6624
6625 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6626 up dllimport attributes.
6627
6628 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6629
52283633
SM
6630 * w32bdf.c (search_file_line):
6631 (set_bdf_font_info):
6632 (seek_char):
6633 (w32_get_bdf_glyph):
69a7ffa7
AI
6634 (w32_BDF_to_x_font): Fix compile warnings.
6635
52283633 6636 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6637
6638 * w32select.c: Include keyboard.h before frame.h.
6639
6640 * w32fns.c (max): Define macro.
6641 (JOHAB_CHARSET): Define if not known.
6642 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6643 (Fx_show_tip): Synch with X version.
6644
6645 * w32xfns.c: Include keyboard.h before frame.h.
6646
6647 * w32fns.c: Include keyboard.h before frame.h.
6648
6649 * w32term.c: Include keyboard.h before frame.h.
6650
6651 * fontset.c: Include keyboard.h before frame.h.
6652
6653 * w32inevt.c: Include keyboard.h before frame.h.
6654 (MOUSE_MOVED): Define if not known.
6655
6656 * minibuf.c: Include keyboard.h before frame.h.
6657
6658 * keyboard.c: Include keyboard.h before frame.h.
6659
6660 * indent.c: Include keyboard.h before frame.h.
6661
6662 * dispnew.c: Include keyboard.h before frame.h.
6663
6664 * buffer.c: Include keyboard.h before frame.h.
6665
6666 * alloc.c: Include keyboard.h before frame.h.
6667
6668 * print.c: Include keyboard.h before frame.h.
6669
6670 * process.c: Include keyboard.h before frame.h.
6671
6672 * scroll.c: Include keyboard.h before frame.h.
6673
6674 * sysdep.c: Include keyboard.h before frame.h.
6675
6676 * term.c: Include keyboard.h before frame.h.
6677
6678 * window.c: Include keyboard.h before frame.h.
6679
6680 * xdisp.c: Include keyboard.h before frame.h.
6681 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6682
6683 * frame.c: Include keyboard.h before frame.h.
6684
6685 * w32heap.h: Undefine min, max.
6686
6687 * w32gui.h: Undefine min, max.
6688
6689 * unexw32.c: Change PUCHAR to PCHAR.
6690 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6691 (relocate_offset):
6692 (get_section_info):
69a7ffa7
AI
6693 (copy_executable_and_dump_data): Remove unnecessary static defs.
6694 (copy_executable_and_dump_data): Fix compile warnings.
6695
6696 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6697
6698 * w32console.c (min): Define macro.
6699 (clear_frame, write_glyphs): Fix compile warning.
6700
52283633 6701 * w32proc.c (compare_env):
69a7ffa7
AI
6702 (find_child_console): Fix compile warning.
6703
6704 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6705 sys_errlist instead of _sys_errlist.
6706 (get_emacs_configuration_options): New function.
6707
6708 * s/ms-w32.h (sys_nerr): Provide default definition.
6709 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6710 name with _ prepended.
6711 (NSIG): Define if not known.
6712 (get_emacs_configuration): Provide extern declaration.
6713 (get_emacs_configuration_options): Provide extern declaration.
6714 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6715
6716 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6717 (map_w32_filename):
69a7ffa7
AI
6718 (read_unc_volume): Fix compile warning.
6719
6720 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6721 definitions from being used.
6722
6723 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6724
52283633 6725 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6726 (open_unc_volume): Make arg const.
6727
6728 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6729 (read_input_waiting): Remove excess parameter.
6730
6731 * w32.c (init_environment): Call _access.
6732 (check_windows_init_file): Call _close.
6733 (init_user_info): Call _putenv.
6734 (init_environment): Call _putenv and _strdup.
6735 (init_ntproc): Reset volume info cache on startup.
6736
6737 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6738 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6739 cannot override the CRT malloc.
6740
6741 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6742 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6743
6744 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6745 unless we are linking with a static CRT.
6746 (RVA_TO_PTR): Cast result to unsigned char*.
6747
6748 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6749 (add_volume_info): Use xstrdup.
6750
25060080
SM
67512000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6752
6753 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6754 (do_completion, Fminibuffer_complete_word): Use it.
6755 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6756 var so it can take non-boolean values.
6757
6917e6bb
GM
67582000-08-21 Gerd Moellmann <gerd@gnu.org>
6759
acb7cc89 6760 * editfns.c (find_field): Formatting changes.
52283633 6761 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6762 changed to prototypes, some new protypes added, some functions
6763 made static.
6764
6765 * lisp.h (set_time_zone_rule): Add prototype.
6766 (use_dialog_box): External declaration.
6767
0bbfdc25
GM
6768 * keyboard.c (gen_help_event): Add parameter SIZE.
6769 (kbd_buffer_events_waiting): Slightly rewritten.
6770 (clear_event): New function.
6771 (kbd_buffer_get_event): Use it, and clear the input_events of
6772 HELP_EVENTs.
6773 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6774 don't fill the newly created array with nils.
6775 (toplevel): Convert some old-style function forward declarations
6776 to prototypes.
6777
6778 * keyboard.h (gen_help_event): Change prototype.
6779
6780 * xterm.c (XTread_socket): Change calls to gen_help_event.
6781
6782 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6783
6917e6bb
GM
6784 * eval.c (Fmacroexpand): Doc fix.
6785
e5cd3d11
JR
67862000-08-20 Jason Rumney <jasonr@gnu.org>
6787
6788 * w32term.h (x_display_info_for_display): Remove as this function
6789 does not exist on W32.
6790
6791 * w32term.c (help_echo_window): New variable.
6792 (syms_of_w32term): staticpro it.
6793 (note_mode_line_highlight): Set it.
6794 (XTextExtents16): Removed as there is no equivalent on W32.
6795 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6796 the X way of doing this will not work for W32.
6797 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6798 (x_draw_image_foreground): Avoid drawing outside of the clip area
6799 when image doesn't have a mask.
6800 (note_mouse_highlight): Process overlays in the right order of
6801 priority. Set help_echo_window.
6802 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6803 because that's more visible for large images.
6804
6805 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6806 name to single_keymap_panes.
6807 (w32_menu_show): Set wv->title when dealing with titles.
6808 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6809
6e69ab8c
MB
68102000-08-21 Miles Bader <miles@gnu.org>
6811
6812 * minibuf.c (do_completion): Try again if we rewrite the input
6813 string, but no completion was done, so that any completion message
6814 will be correct.
6815
511bd4eb
GM
68162000-08-20 Gerd Moellmann <gerd@gnu.org>
6817
6818 * xfaces.c (lface_equal_p): Compare strings differently.
6819 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6820 (realize_tty_face): Use them.
6821 (syms_of_xfaces): Initialize new variables.
6822 (map_tty_color): New function, extracted from realize_tty_face.
6823 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6824 foreground or background color, store the new color name in the
6825 realized face; previous code trying to do this had no effect.
6826 (realize_tty_face): Use map_tty_color.
6827 (Fclear_face_cache): Set face_change_count and ensure thorough
6828 redisplay.
6829
1433385f
GM
68302000-08-19 Gerd Moellmann <gerd@gnu.org>
6831
511bd4eb
GM
6832 * undo.c (record_first_change, record_marker_adjustment): Don't
6833 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6834
419ac0a2
KH
68352000-08-18 Kenichi Handa <handa@etl.go.jp>
6836
6837 * coding.c (decode_coding_string): Set members consumed,
6838 consumed_char, produced, produced_char of *coding correctly. If
6839 decode_coding doesn't consume any byte, don't try anymore.
6840 (encode_coding_string): Likewise.
6841
7eb9e30d
GM
68422000-08-18 Gerd Moellmann <gerd@gnu.org>
6843
511bd4eb
GM
6844 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6845 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6846
6847 * xdisp.c (redisplay_internal): Compare windows for equality with
6848 EQ, instead of applying XWINDOW to something that might not
6849 be a window.
52283633 6850
dd34a735
KH
68512000-08-18 Kenichi Handa <handa@etl.go.jp>
6852
6853 * fontset.c (Finternal_char_font): Search only the selected frame
6854 for a window of the current buffer.
6855
385ff9e3
GM
68562000-08-18 Gerd Moellmann <gerd@gnu.org>
6857
511bd4eb 6858 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6859 Lisp_Objects.
6860
385ff9e3
GM
6861 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6862 second half of a HELP_EVENT is found at the start of kbd_buffer.
6863
d6abb4c7
MB
68642000-08-18 Miles Bader <miles@gnu.org>
6865
4618074a
MB
6866 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6867
d6abb4c7
MB
6868 * editfns.c (save_restriction_save): Rewrite to use markers.
6869 (save_restriction_restore): Rewrite to understand new form of data
6870 saved by save_restriction_save.
6871 (Fsave_restriction): Remove cautionary note in doc-string.
6872
a7b28523
GM
68732000-08-17 Gerd Moellmann <gerd@gnu.org>
6874
6875 * fileio.c (build_annotations): Add a comment explaining the
6876 return value of format-annotate-function. Replace a spurious call
6877 to Flength with a CONSP test. Call format-annotate-function with
6878 a fifth arg specifying how many times the function is been called
6879 in a row, to let it choose temporary buffers appropriately.
6880
03c9ed77
DL
68812000-08-17 Dave Love <fx@gnu.org>
6882
6883 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6884 declare make_temp_name twice.
6885
52283633 6886 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6887 (unreadpure): Give it an arg.
6888
6889 * unexalpha.c: Prototype fatal_unexec, mark_x,
6890 update_dynamic_symbols. Declare unexec as void.
6891
6892 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6893 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6894
6895 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6896 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6897
6898 * alloca.c: Use #error.
6899 [POINTER_TYPE]: Use it.
6900
6901 * eval.c (Fdefvar): Doc fix.
6902
6903 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6904 INITIALIZE_INTERVAL.
6905
6906 * buffer.h: Avoid DECLARE_INTERVALS.
6907
6908 * config.in: Add size_t.
6909
aae41d97
EZ
69102000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6911
6912 * w16select.c (set_clipboard_data): If there's not enough memory
6913 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6914 expects. In case of other failures, return 3.
6915 (system_error_msg): New error message.
6916 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6917 system_error_msg.
6918
65aa5e85
GM
69192000-08-16 Gerd Moellmann <gerd@gnu.org>
6920
6921 * term.c (write_glyphs): Also turn off inverse video after turning
6922 off other appearances in case TS_exit_attribute_mode is not equal
6923 to TS_end_standout_mode.
6924 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6925 with the same face.
6926 (turn_off_face): Reset standout_mode only if
6927 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6928 is equal to TS_end_standout_mode.
6929
ece23901
KH
69302000-08-16 Kenichi Handa <handa@etl.go.jp>
6931
9d7bcb2e
KH
6932 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6933 sequence at the end of the source block.
6934
ece23901
KH
6935 * ccl.c (Fccl_program_p): Docstring modified.
6936 (Fccl_execute): Likewise.
6937 (Fccl_execute_on_string): Likewise.
6938
5e30eaa2
EZ
69392000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6940
6941 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6942
290602fd
KH
69432000-08-16 Kenichi Handa <handa@etl.go.jp>
6944
6945 The following changes are mainly to fix bugs of
6946 encode/decode-coding-string failing if encoding/decoding return
6947 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6948 variable conversion_buffer.
6949
6950 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6951 decrement dst_end to avoid buffer overflow in the later call of
6952 string_as_multibyte
6953
6954 * coding.h (conversion_buffer_size, conversion_buffer)
6955 (get_conversion_buffer): Extern deleted.
6956
6957 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6958 (conversion_buffer, conversion_buffer_size): Variables deleted.
6959 (get_conversion_buffer): Function deleted.
6960 (struct conversion_buffer): New structure.
6961 (MAX_ALLOCA): New macro.
6962 (allocate_conversion_buffer): New macro.
6963 (extend_conversion_buffer, free_conversion_buffer): New functions.
6964 (ccl_coding_driver): Set coding->result.
6965 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6966 this is the last block of source.
6967 (encode_coding): Likewise. Handle the source block as the last
6968 one only when the whole source text is consumed.
6969 (decode_coding_string): Handle the case that the output buffer is
6970 too small to decode the whole source text. Use
6971 allocate_conversion_buffer, extend_conversion_buffer and
6972 free_conversion_buffer, not get_conversion_buffer.
6973 (encode_coding_string): Likewise.
6974 (init_coding): Function deleted.
52283633 6975 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6976
6977 * emacs.c (main): Don't call init_coding.
6978
52283633 6979 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6980
6981 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6982 (insert_glyphs): Likewise.
6983
6984 * w32console.c (write_glyphs): Use a locally declared
6985 conversion_buffer.
6986
b9f80d41
EZ
69872000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6988
6989 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6990 member of display_info is NULL.
6991
32dc52f7
GM
69922000-08-15 Gerd Moellmann <gerd@gnu.org>
6993
52283633 6994 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6995
32dc52f7 6996 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6997 appearances with capability `me'.
32dc52f7
GM
6998 (write_glyphs): Switch on inverse video before each face change.
6999
4eb22d33
DL
70002000-08-14 Dave Love <fx@gnu.org>
7001
7002 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7003 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7004 (lisp_free): Declare and make static.
7005
7006 * window.c: Fix embedded comment.
7007 (syms_of_window): Fix doc string.
7008
90cbf47e
GM
70092000-08-14 Gerd Moellmann <gerd@gnu.org>
7010
52283633 7011 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7012 make sure to print `C-' before `M-', like in the manual.
7013
440fc135
GM
70142000-08-11 Gerd Moellmann <gerd@gnu.org>
7015
7016 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7017 since they aren't relocated anymore.
52283633 7018 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7019
7020 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7021 partially visible line which is smaller than the window's height.
440fc135 7022
6e264fad
KH
70232000-08-11 Kenichi Handa <handa@etl.go.jp>
7024
7025 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7026 the multibyte form of eight-bit-control characters.
6e264fad
KH
7027 (Fccl_execute_on_string): Initialize ccl->multibyte.
7028
7029 * ccl.h (struct ccl_program): New member multibyte.
7030
7031 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7032
c371f69a
KH
70332000-08-11 Kenichi Handa <handa@etl.go.jp>
7034
7035 * regex.c (regex_compile) <normal_char>: Pay attention to
7036 multibyteness.
7037 (analyse_first) <exactn>: Setup fastmap correctly for
7038 eight-bit-control characters.
7039
70402000-08-11 Kenichi Handa <handa@etl.go.jp>
7041
52283633 7042 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7043
7044 * keyboard.c (make_lispy_event): Handle the new event type
7045 multibyte_char_keystroke.
7046
7047 * xterm.c: Include coding.h.
7048 (XTread_socket): Work around a bug of XmbLookupString. If the
7049 input is from XIM, decode it according to the current locale. In
7050 that case, generate multibyte_char_keystroke events.
7051
b8ddbe71
KH
70522000-08-11 Kenichi Handa <handa@etl.go.jp>
7053
7054 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7055 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7056
47589c8c
GM
70572000-08-10 Gerd Moellmann <gerd@gnu.org>
7058
7059 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7060 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7061 (move_it_in_display_line_to): Record iterator's ascent and descent
7062 before producing glyphs, and restore them when we know the glyph
7063 doesn't fit on the line.
7064 (move_it_to): Restructured so that it's easier to debug. If
7065 moving to a vpos, and not moving to an x or character position,
7066 stop as soon as the specified vpos is reached; don't move further
7067 into that line because that might change the computed line height.
7068 (try_cursor_movement): New function, extracted from the cursor
7069 movement branch of redisplay_window. If ending on a partially
7070 visible line, don't try to scroll if the cursor line is taller
7071 than the window.
7072 (redisplay_window): Use try_cursor_movement.
7073
7074 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7075 because that function doesn't cope with variable-height lines.
7076
7077 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7078 box cursor because that's better visible for large images.
52283633 7079
c51bacd6
MB
70802000-08-10 Miles Bader <miles@gnu.org>
7081
7082 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7083
bea56df7
GM
70842000-08-10 Gerd Moellmann <gerd@gnu.org>
7085
7086 * xdisp.c (Vmessages_buffer_name): New variable.
7087 (message_dolog): Use it.
7088 (syms_of_xdisp): Initialize it.
7089
99cd7364
EZ
70902000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7091
52283633 7092 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7093 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7094 redundant now that keyboard.h is included.
7095
7d093d56
EZ
70962000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7097
7098 * keyboard.c (kbd_buffer_events_waiting): New function.
7099
7100 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7101
7102 * msdos.c: Include keyboard.h.
7103 (XMenuActivate): Empty no_event events from the event buffer. If
7104 no events are left after that, call clear_input_pending.
7105 (mouse_clear_clicks): New function, code moved from mouse_init.
7106 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7107 mouse driver to ``forget'' any past clicks.
7108
7109 * Makefile.in (msdos.o): Depend on keyboard.h.
7110
41e757a6
GM
71112000-08-09 Gerd Moellmann <gerd@gnu.org>
7112
8e7bd231
GM
7113 * lisp.h (input_pending): External declaration.
7114
7115 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7116
8e7bd231
GM
7117 * xdisp.c (echo_area_display): Display thoroughly if input is
7118 pending. Bind redisplay-dont-pause to t during the redisplay.
7119 in case input is pending.
7120
7121 * dispnew.c (Qredisplay_dont_pause): New variable.
7122 (syms_of_display): Initialize and staticpro it.
7123 (update_frame_1): Don't interrupt the display for pending input if
7124 redisplay_dont_pause is set.
52283633 7125
43028b7e
GM
7126 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7127
41e757a6
GM
7128 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7129
2f2174fa
KH
71302000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7131
7132 * callproc.c (Fcall_process): Terminate the unwind-protect around
7133 the post-read-conversion of coding system.
7134
0a6fd67e
MB
7135 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7136 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7137 * buffer.h (overlays_at): Update prototype.
7138 * xdisp.c (next_overlay_change): Update call to overlays_at.
7139 * xfaces.c (face_at_buffer_position): Likewise.
7140 * textprop.c (Fget_char_property): Likewise.
7141 * xterm.c (note_mouse_highlight): Likewise.
7142
0c80756e
MB
7143 * minibuf.c (do_completion): Don't consider a simple change of
7144 case as `completion'.
7145
975f250a
KR
71462000-08-08 Ken Raeburn <raeburn@gnu.org>
7147
52283633 7148 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7149 * undo.c (record_delete): Make sure last_point_position_buffer is
7150 a buffer before comparing pointers.
7151
7152 * coding.h (decode_coding_string): Declare.
7153
7154 * intervals.h (Fprevious_single_char_property_change): Declare.
7155
7156 * textprop.c (Fprevious_single_char_property_change): Don't do
7157 arithmetic directly on lisp objects.
7158
52283633 7159 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7160
7161 * keyboard.h (menu_item_eval_property): Declare.
7162
7163 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7164 reuse as buffer name, instead of recreating (and discarding) every
7165 time a message is logged.
7166 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7167 (current_message_1, truncate_message_1, set_message_1)
7168 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7169 (current_message, truncate_echo_area, display_echo_area)
7170 (resize_echo_area_axactly): Changed calls.
b347b3fd 7171
975f250a 7172 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7173 Lisp object.
975f250a 7174 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7175 must be an integer, not a Lisp object.
975f250a 7176
46dc9912
KH
71772000-08-08 Kenichi Handa <handa@etl.go.jp>
7178
7179 * charset.c (Fchar_width): Doc fix.
7180
9f6d1a6c
GM
71812000-08-08 Gerd Moellmann <gerd@gnu.org>
7182
7183 * charset.c (Fstring_width): Doc fix.
7184
ff3d9573
GM
71852000-08-07 Gerd Moellmann <gerd@gnu.org>
7186
41e757a6 7187 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7188 line, clear ascent and descent members of the iterator structure;
7189 the height of the continued line does not affect the height of the
7190 continuation line.
7191 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7192 line taller than the window.
7193 (redisplay_window) <forced window start>: Handle case that the
7194 middle of the window is not found in any row.
7195 (dump_glyph_row): Show more information.
7196 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7197 first text line in a glyph matrix.
7198
7199 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7200 of the clip area when image doesn't have a mask.
7201
70fc58b3
GM
7202 * fns.c (sweep_weak_table): Fix survival conditions for
7203 key-or-value and key-and-value weakness.
7204
7205 * .gdbinit (xhashtable): New command.
7206
ac0e96ee
GM
7207 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7208 tables out of the list of all weak hash tables.
7209
ff3d9573
GM
7210 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7211 a new buffer is created, make sure echo_area_buffer[] references
7212 the new buffer.
7213
e0d8827b
EZ
72142000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7215
7216 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7217 the doc string.
7218
c6f35378
KH
72192000-08-07 Kenichi Handa <handa@etl.go.jp>
7220
7221 * syntax.c (skip_chars): Fix previous change. Make the handling
7222 of unibyte string consistent with that of regex search.
7223
1fd4c450
GM
72242000-08-05 Gerd Moellmann <gerd@gnu.org>
7225
e49aa397
GM
7226 * xmenu.c (popup_get_selection): Use xfree instead of free.
7227
7228 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7229
7230 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7231
7232 * callproc.c (child_setup): Use xfree instead of free.
7233
7234 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7235 instead of malloc.
7236 (run_mac_command, closedir): Use `xfree' instead of `free'.
7237
7238 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7239
7240 * eval.c (error): Use xfree instead of free.
7241
1fd4c450
GM
7242 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7243
7244 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7245 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7246
82d497fc
KH
72472000-08-05 Kenichi Handa <handa@etl.go.jp>
7248
7249 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7250 conversion.
7251
59f953a2
NF
72522000-08-04 Noah Friedman <friedman@splode.com>
7253
7254 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7255 docstring.
7256
688351f2
GM
72572000-08-04 Gerd Moellmann <gerd@gnu.org>
7258
7259 * syntax.c (skip_chars): Fix typo in error message.
7260
2dad51cc
AS
72612000-08-04 Andreas Schwab <schwab@suse.de>
7262
7263 * m/ia64.h: Moved from s/ia64.h.
7264
99bb2c60
KH
72652000-08-04 Kenichi Handa <handa@etl.go.jp>
7266
082a1df2
KH
7267 * process.c (read_process_output): Big simplification. Handle
7268 composition and post-read-conversion of coding system correctly.
7269 (send_process): Handle composition correctly.
7270
7271 * callproc.c (Fcall_process): Handle post-read-conversion of
7272 coding system if any.
7273
99bb2c60
KH
7274 * coding.c (decode_coding_iso2022): More strict check for handling
7275 single shifting.
082a1df2
KH
7276 (coding_restore_composition): Pay attention to the case that
7277 cmp_data is not set properly (because of invalid code in the
7278 source text).
7279 (run_pre_post_conversion_on_str): Include text properties in the
7280 resulting string.
7281 (decode_coding_string): Set members of coding correctly.
99bb2c60 7282
f4988be7
GM
72832000-08-03 Gerd Moellmann <gerd@gnu.org>
7284
7285 * s/ia64.h: New file.
7286
7287 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7288 Use NULL instead of 0 at the end of variable argument list of
7289 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7290 sizeof (int) < sizeof (void *).
7291
7292 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7293 of variable argument lists of XtVaGetValues and XtVaSetValues.
7294
7295 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7296 variable argument lists of XtVaGetValues and XtVaSetValues.
7297
ead53494
GM
72982000-08-02 Gerd Moellmann <gerd@gnu.org>
7299
7300 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7301 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7302
7303 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7304 prototype.
7305
7306 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7307 in call to Fsingle_key_description.
7308
7309 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7310 Callers changed.
7311
73122000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7313
7314 * window.c (display_buffer_reuse_frames): New variable.
7315 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7316 frames displaying BUFFER.
52283633 7317 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7318
10b0f752
MB
73192000-08-01 Miles Bader <miles@gnu.org>
7320
7321 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7322 when to constrain NEW_POS (they were pretty screwed up before).
7323
16425c4a
EZ
73242000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7325
7326 * msdos.c (run_msdos_command): Save and restore the master
7327 environment, for the case that child_setup signals an error.
7328 When mirroring slashes in DOS shell commands, don't fail when
7329 argv[2] has embedded blanks.
da288c14
EZ
7330 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7331 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7332 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7333
7334 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7335 using alloca; free it after run_msdos_command returns.
7336
27f73852
DL
73372000-07-27 Dave Love <fx@gnu.org>
7338
52283633
SM
7339 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7340 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7341
7342 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7343
c0261b5e
EZ
73442000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7345
7346 * editfns.c (lisp_time_argument): Fix last change.
7347
b548072f
GM
73482000-07-27 Gerd Moellmann <gerd@gnu.org>
7349
3ab82477
GM
7350 * fns.c (Fdelete): Make it work on vectors and strings in addition
7351 to lists.
7352
b548072f
GM
7353 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7354 (syms_of_fns): Initialize new variables.
52283633 7355 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7356 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7357 weakness, with t meaning the same as `key-and-value'.
7358
91ae8751
KH
73592000-07-27 Kenichi Handa <handa@etl.go.jp>
7360
7361 * coding.h (struct coding_system): Member safe_charset deleted.
7362
7363 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7364 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7365 New variables.
91ae8751
KH
7366 (coding_safe_chars): New function.
7367 (CODING_SAFE_CHAR_P): New macro.
7368 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7369 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7370 (detect_coding_iso2022): New local variable safe_chars.
7371 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7372 safe_charsets member of the coding system.
7373 (decode_coding_iso2022): New local variable safe_chars.
7374 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7375 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7376 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7377 (ENCODE_UNSAFE_CHARACTER): New macro.
7378 (encode_coding_iso2022): New local variable safe_chars. Check
7379 unsafe chars.
7380 (setup_coding_system): Delete the code to initialize
7381 coding->safe_charses
7382 (intersection, find_safe_codings): New functions.
7383 (Ffind_coding_systems_region_internal): New function.
7384 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7385 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7386 variable and initialize it.
7387
7388 * fns.c (char_table_ref_and_index): New function.
7389
7390 * lisp.h (char_table_ref_and_index): Add prototype.
7391
34a7a267
SS
73922000-07-26 Sam Steingold <sds@gnu.org>
7393
7394 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7395 (Ffloat_time): New built-in Lisp function.
34a7a267 7396
a95cb10a
GM
73972000-07-26 Gerd Moellmann <gerd@gnu.org>
7398
3353ef5a
GM
7399 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7400 for the character code.
7401
7402 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7403 GNU/Linux.
7404
a95cb10a
GM
7405 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7406 if called for a popup menu.
7407 (xmenu_show): Store help string in widget values.
7408
b4a12321
DL
74092000-07-26 Dave Love <fx@gnu.org>
7410
7411 * syswait.h: Move some definitions.
7412 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7413 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7414 perspicuous definitions.
7415 (WTERMSIG): Fix bit pattern used.
7416
13f5ad37
KH
74172000-07-26 Kenichi Handa <handa@etl.go.jp>
7418
7419 * print.c (print_object): If vector printing is truncated, print
7420 "..." to indicate it as well as the case of list printing.
7421
070fe99c
GM
74222000-07-25 Gerd Moellmann <gerd@gnu.org>
7423
969065c3
GM
7424 * xdisp.c (next_element_from_display_vector): Improve comments.
7425
7426 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7427 for the character code, and the rest for the face id as in 20.x.
7428 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7429
7430 * window.c (window_display_table): Cleaned up.
7431
070fe99c
GM
7432 * syntax.c (Fforward_word): Add last arg nil in call of
7433 Fconstrain_to_field.
7434
bad77ef7
EZ
74352000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7436
969065c3 7437 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7438 identical but for the letter-case, don't call
7439 barf_or_query_if_file_exists.
bad77ef7 7440
c28da489
MB
74412000-07-25 Miles Bader <miles@gnu.org>
7442
7443 * editfns.c (find_field): Honor special `boundary' fields.
7444 (Qboundary): New variables.
7445 (syms_of_editfns): Initialize Qboundary.
7446 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7447 Use scan_buffer instead of find_before_next_newline, because it
7448 allows us to detect the boundary case where there's a newline at
7449 the search limit.
7450 * lisp.h (Fconstrain_to_field): Update external declaration.
7451
e3c31fd5
GM
74522000-07-24 Gerd Moellmann <gerd@gnu.org>
7453
7454 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7455 if that is nil.
c28da489 7456
c66c29a2
DL
74572000-07-24 Dave Love <fx@gnu.org>
7458
7459 * s/sunos4-0.h, s/sol2.h:
7460 (LIBS_TERMCAP): Move from m/sparc.h.
7461
7462 * m/sparc.h (TERMINFO): Moved to system files (probably only
7463 relevant for sunos4 judging by its vintage).
7464 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7465 __arch64__.
7466
fbe0a958
EZ
74672000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7468
7469 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7470 name to single_keymap_panes.
7471
7d88e5c9
AS
74722000-07-24 Andreas Schwab <schwab@suse.de>
7473
7474 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7475
e024b101
GM
74762000-07-24 Gerd Moellmann <gerd@gnu.org>
7477
7478 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7479 parameters instead of using int parameters. Expect FN to accept
7480 EMACS_INT parameters.
7481 (display_echo_area, resize_echo_area_axactly, current_message)
7482 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7483 with new argument list.
7484 (resize_mini_window_1): New callback function.
7485 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7486 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7487
25c1a9ce
KH
74882000-07-24 Kenichi Handa <handa@etl.go.jp>
7489
7490 * fontset.c (fontset_ref): Remove INLINE declaration.
7491 (fontset_ref_via_base): Likewise.
7492 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7493 to downcase.
7494
7f987ac0
EZ
74952000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7496
7497 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7498 correct order of priority. If help echo was found in an overlay,
7499 use that overlay as the object in which the help echo was found.
7500
e2db3069
MB
75012000-07-22 Miles Bader <miles@gnu.org>
7502
7503 * textprop.c (Fprevious_single_char_property_change): The initial
7504 property value should be from the position preceding POSITION, not
7505 following it.
7506
5e3203e4
EZ
75072000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7508
7509 * coding.c (syms_of_coding): Doc fix for
7510 inhibit-iso-escape-detection.
7511
62145073
GM
75122000-07-21 Gerd Moellmann <gerd@gnu.org>
7513
c20aeb83
GM
7514 * xterm.c (note_mouse_highlight): Process overlays in the right
7515 order of priority.
34a7a267 7516
743934db
GM
7517 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7518
7519 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7520 overlay, use that overlay as the object in which the help was found.
743934db 7521
d1dc7e43 7522 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7523
62145073
GM
7524 * window.c (foreach_window): Instead of a fake variable argument
7525 list, take one USER_DATA argument.
7526 (foreach_window_1): Likewise, and call callback functions with two
7527 args, the window and USER_DATA.
7528 (struct check_window_data): New struct.
7529 (check_window_containing): Use it.
7530 (window_from_coordinates): Set up a struct check_window_data for
7531 foreach_window.
7532 (add_window_to_list, freeze_window_start): Change parameters
7533 according to new calling convention.
7534
7535 * window.h (foreach_window): Change prototype.
7536
7537 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7538
75392000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7540
7541 * xmenu.c (menu_help_callback): Call show_help_echo with
7542 additional arguments OBJECT and POS.
7543
11270583
KH
75442000-07-21 Kenichi Handa <handa@etl.go.jp>
7545
07b14857
KH
7546 * data.c (Faset): Allow storing any multibyte character in a
7547 string. Convert unibyte string to multibyte if necessary.
7548
11270583
KH
7549 * xfns.c (x_encode_text): New function.
7550 (x_set_name): Use x_encode_text.
7551 (x_set_title): Likewise.
7552
7553 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7554
7555 * xterm.h (x_encode_text): Add prototype.
7556
bc75b4fd
DL
75572000-07-20 Dave Love <fx@gnu.org>
7558
7559 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7560 xfree, not free.
7561
48c14970
EZ
75622000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7563
7564 * msdos.c (help_echo_window): New variable.
7565 (syms_of_msdos): Initialize and staticpro it.
7566 (IT_note_mode_line_highlight): Set help_echo_window.
7567 (IT_note_mouse_highlight): Ditto.
7568 (dos_rawgetc): Store help_echo_window in the second event produced
7569 for HELP_EVENTs.
7570
7571 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7572 Record the object that generated the help echo and the position of
7573 that object in help_echo_object and help_echo_pos. Record that
7574 some glyphs in a row are displayed in mouse-face.
7575 (IT_update_begin): Don't clear mouse highlight unless one of the
7576 enabled glyph rows is marked as being displayed in mouse-face.
7577 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7578 and position recorded in help_echo_object and help_echo_pos to the
7579 event queue.
7580 (IT_menu_display): Accept a new argument PN: the pane number of
7581 the current menu pane. Record the pane number and the item
7582 number of the item which has associated help string.
7583 (XMenuActivate): Update the prototype for help_callback in
7584 function declaration. Call IT_menu_display with the current menu
7585 pane number as an additional argument. Call help_callback with
7586 two additional arguments: the pane number and the item number of
7587 the menu item associated with the help text.
7588 (help_echo_object, help_echo_pos): New variables.
7589 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7590
7591 * msdos.h (XMenuActivate): Update prototype.
7592
4279296d
GM
75932000-07-19 Gerd Moellmann <gerd@gnu.org>
7594
47db06aa
GM
7595 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7596 Add some more prototypes.
7597
7598 * xterm.c, xterm.h: Add some more prototypes.
7599
7600 * lisp.h (Fnext_single_char_property_change): Add prototype.
7601
7602 * dispnew.c (direct_output_for_insert): Remove confusing
7603 outer local variable mouse_face_overwritten_p.
7604 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7605
4279296d
GM
7606 * alloc.c (allocate_string_data): Don't copy old string contents.
7607
670acd62
KH
76082000-07-19 Kenichi Handa <handa@etl.go.jp>
7609
7610 * coding.c (code_convert_region): Delete text properties before
7611 shrinking the conversion region.
7612
7cea38bc
GM
76132000-07-18 Gerd Moellmann <gerd@gnu.org>
7614
dc1cac59
GM
7615 * dispnew.c (update_text_area): Write the whole row if it
7616 has mouse-face in it.
7617
85a8aca9
GM
7618 * xfaces.c (face-alternative-font-family-alist): Remove
7619 DEFVAR_LISP; staticpro instead.
7620
34a7a267 7621 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7622 new arguments.
7623
7624 * keyboard.c (show_help_echo): Add parameter WINDOW.
7625 (read_char): Call show_help_echo with window extracted from Lisp
7626 help event.
7627 (gen_help_event): Add parameter WINDOW.
7628
7629 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7630
7631 * xterm.c (help_echo_window): New variable.
52283633 7632 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7633 (XTread_socket): Pass help_echo_window to gen_help_event.
7634 (syms_of_xterm): Initialize and staticpro help_echo_window.
7635
f8276b77
DL
76362000-07-18 Dave Love <fx@gnu.org>
7637
52283633 7638 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7639
088831a6
GM
76402000-07-18 Gerd Moellmann <gerd@gnu.org>
7641
3d6cd763
GM
7642 * alloc.c (allocate_string_data): If string had already data
7643 assigned, copy old contents to new string data.
7644
7645 * coding.c (syms_of_coding): Fix typo in spelling of variable
7646 `inhibit-iso-escape-detection'.
7647
088831a6
GM
7648 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7649
7650 * Makefile.in: Add dependencies on dispextern.h.
7651 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7652 `free'; both can conflict with system header files.
7653
bc8a8d55
KH
76542000-07-18 Kenichi Handa <handa@etl.go.jp>
7655
7656 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7657 undefined.
7658
069f5950
DL
76592000-07-18 Dave Love <fx@gnu.org>
7660
7661 * window.c (Fwindow_list): Declare arg `window'.
7662
aa96c820
KH
76632000-07-18 Kenichi Handa <handa@etl.go.jp>
7664
7665 * coding.c (setup_coding_system): Don't override the explicitly
7666 specified designations.
7667
06be8d32
MB
76682000-07-15 Miles Bader <miles@gnu.org>
7669
7670 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7671 from `text_property_eq' and `text_property_stickiness', respectively.
7672 (find_field, Fconstrain_to_field, char_property_eq)
7673 (char_property_stickiness): Changed to call char-property functions
7674 instead of text-property-only ones.
7675
7676 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7677 `next_single_char_property_change'). Do more error checking, and
7678 cleanup limit behavior.
7679 (Fprevious_single_char_property_change): New function.
7680 (syms_of_textprop): Initialize new subrs.
7681
7682 * xdisp.c (display_prop_end, invisible_text_between_p):
7683 Call Fnext_single_char_property_change instead of
7684 next_single_char_property_change.
7685
3fddcdc3
JR
76862000-07-15 Jason Rumney <jasonr@gnu.org>
7687
7688 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7689 after menu is finished with.
7690 (add_menu_item): Only consider wv->title as a menu title.
7691 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7692
7693 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7694 null title.
7695 (FONT_REGEXP): Remove unused macro, and its sub-components.
7696 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7697
7698 * w32term.c (help_echo_object, help_echo_pos): New variables.
7699 (note_mode_line_highlight): Store additional information about the
7700 help-echo in help_echo_object and help_echo_pos. Check both
7701 `local-map' and `keymap' properties for changing the cursor
7702 (note_mouse_highlight): Store additional information about the
7703 help-echo in help_echo_object and help_echo_pos.
7704 (note_tool_bar_highlight): Set help_echo_object to nil and
7705 help_echo_pos to -1.
7706 (w32_read_socket): Use gen_help_event instead of filling
7707 input_events manually.
7708 (syms_of_w32term): Staticpro help_echo_object.
7709 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7710 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7711 (x_clear_mouse_face): New function.
7712 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7713 (x_update_window_begin): No need to turn off the mouse
7714 highlight here.
7715 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7716 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7717 (x_fill_stretch_glyph_string): Consume runs of stretch
7718 glyphs instead of a single one.
7719 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7720 with new argument list.
7721 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7722 (x_append_glyph, x_append_composite_glyph)
7723 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7724 changes in struct glyph starting 1999-12-27. See comments for
7725 xterm.c on 2000-07-05.
7726
178c5d9c
SS
77272000-07-14 Sam Steingold <sds@gnu.org>
7728
7729 * xfaces.c (realize_x_face): Fix the last patch:
7730 check `default_face' before dereferencing.
7731
6fe533f6
DL
77322000-07-14 Dave Love <fx@gnu.org>
7733
069f5950 7734 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7735
dd7b81cf
KH
77362000-07-14 Kenichi Handa <handa@etl.go.jp>
7737
0693904a 7738 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7739 default_face's fontset, not using the default fontset.
0693904a 7740
dd7b81cf
KH
7741 * coding.c (inhibit_iso_escape_detection): New variable.
7742 (syms_of_coding): Make it a Lisp variable.
7743 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7744 nonzero, ignore ISO2022's escape sequence.
7745
d5aa31d8
GM
77462000-07-14 Gerd Moellmann <gerd@gnu.org>
7747
e5acf0ca
GM
7748 * alloca.c (malloc) [emacs]: Define as xmalloc.
7749
bd23a692
GM
7750 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7751 use that instead of the mouse position. Add parameters DX and DY.
7752
7753 * dispextern.h (Fx_show_tip): Adjust number of parameters
7754 in prototype.
7755
9662da0b
GM
7756 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7757 if HELP is a function, call it with OBJECT and POS as parameters
7758 to get the help to display.
7759 (gen_help_event, kbd_buffer_store_help_event): New functions.
7760 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7761 (read_char): Call show_help_echo with new parameters.
7762
178c5d9c 7763 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7764 Add prototypes.
7765
7766 * xterm.c (help_echo_object, help_echo_pos): New variables.
7767 (note_mode_line_highlight): Store additional information about the
7768 help-echo in help_echo_object and help_echo_pos. Check both
7769 `local-map' and `keymap' properties for changing the cursor
7770 (note_mouse_highlight): Store additional information about the
7771 help-echo in help_echo_object and help_echo_pos.
7772 (note_tool_bar_highlight): Set help_echo_object to nil and
7773 help_echo_pos to -1.
7774 (XTread_socket): Use gen_help_event instead of filling
7775 input_events manually.
7776 (syms_of_xterm): Staticpro help_echo_object.
7777
7778 * xmenu.c (menu_highlight_callback): Use
7779 kbd_buffer_store_help_event instead of setting up and input_event
7780 structure manually.
7781
7782 * xdisp.c (eval_form): GCPRO argument sexpr.
7783 (call_function): New function.
7784 (handle_single_display_prop): Use call_function and FUNCTIONP
7785 instead of checking whether if font_height is a symbol and
7786 using eval_form.
7787
7788 * eval.c (internal_condition_case_2): New function.
7789
7790 * lisp.h (FUNCTIONP): New macro.
7791 (internal_condition_case_2, call_function): Add prototypes.
7792
d5aa31d8
GM
7793 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7794 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7795 Always set `arg' member of input_events.
7796 (construct_menu_click): Unused function removed.
7797
7798 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7799
7800 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7801 (construct_drag_n_drop, x_scroll_bar_handle_click)
7802 (w32_read_socket): Always set `arg' member of input_events.
7803
7804 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7805
7806 * lisp.h (eval_form): Add prototype.
7807
7808 * xdisp.c (eval_form): Make it externally visible.
7809
0f1a9b23
GM
78102000-07-13 Gerd Moellmann <gerd@gnu.org>
7811
7812 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7813 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7814 consing. For prefix events, store the frame in the `arg' slot of
7815 the event, otherwise store the key there.
7816 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7817 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7818
7819 * xmenu.c (menu_highlight_callback): Store help string in the
7820 `arg' member of the input event; don't cons.
7821 (menubar_selection_callback): Use the `arg' slot of input events
7822 to queue additional information, instead of consing.
7823
7824 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7825
7826 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7827 TOOL_BAR_EVENTs.
7828 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7829
7830 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7831 input events to queue additional information, instead of consing.
7832
7833 * keyboard.c (kbd_buffer_gcpro): Renamed from
7834 kbd_buffer_frame_or_window. Now used for all Lisp objects
7835 referenced from the input queue.
7836 (kbd_buffer_store_event): Always use structure assignment for
7837 copying input events. Record all Lisp objects referenced from
7838 events in kbd_buffer_gcpro.
7839 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7840 differently from input events. Test for prefix menu_bar_events
7841 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7842 event in kbd_buffer_gcpro to nil.
7843 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7844 frame_or_window is equal to its arg member as prefix events.
7845 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7846 used by an input event to nil.
7847 (init_keyboard): Use two times the size of the input queue
7848 for kbd_buffer_gcpro.
7849 (syms_of_keyboard): Likewise.
7850
52283633
SM
7851 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7852 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7853
7854 * termhooks.h (struct input_event): Add member `arg'.
7855 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7856 (USER_SIGNAL_EVENT): Renamed from user_signal.
7857
7858 * xfaces.c (ASET): Remove definition.
7859
7860 * lisp.h (AREF, ASET, ASIZE): New macros.
7861
7862 * fontset.c (AREF, ASIZE): Remove definitions.
7863
7864 * fns.c (AREF): Remove definition.
178c5d9c 7865
0f1a9b23
GM
7866 * composite.c (AREF): Remove definition.
7867
712eaef2
GM
78682000-07-12 Gerd Moellmann <gerd@gnu.org>
7869
d8ee7803
GM
7870 * dispnew.c (redraw_overlapped_rows): Add missing local.
7871 (scrolling_window): Remove debug code.
7872
712eaef2
GM
7873 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7874 Before scrolling, turn off a mouse-highlight in the window
7875 being scrolled.
7876
7877 * xterm.c (x_update_window_end): Add parameter
7878 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7879 redisplay in XTframe_up_to_date.
7880 (x_clear_mouse_face): New function.
7881 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7882
7883 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7884 current glyph row.
7885 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7886 it when any row is written to that contains glyphs highlighted in
7887 mouse-face.
7888 (update_window): Call the window update end hook with new
7889 parameter MOUSE_FACE_OVERWRITTEN_P.
7890 (direct_output_for_insert): Give up if row contains mouse-face.
7891
7892 * dispextern.h (struct redisplay_interface): Add parameter
7893 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7894 (clear_mouse_face): New function pointer member.
7895
02010917
SM
78962000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7897
7898 * syntax.c (back_comment): Use one switch rather than a few `if's.
7899 Obey open_paren_in_column_0_is_defun_start.
7900 When reverting to the `slow' method, try to nicely handle the case
7901 of nested comments by checking that the comment-starter we found
7902 does indeed match the comment-ender.
7903 (scan_sexps_forward, scan_sexps_forward):
7904 Ignore excessive opening parenthesis rather than throwing an error.
7905
d76c03ea
GM
79062000-07-11 Gerd Moellmann <gerd@gnu.org>
7907
7908 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7909 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7910
7911 * dispnew.c (direct_output_forward_char): Give up if currently
7912 displaying a message instead of the minibuffer contents.
7913
7914 * xterm.c (x_update_window_begin): No need to turn off the mouse
7915 highlight here.
7916 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7917 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7918
7919 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7920 compare the mouse_face_p flags of both rows.
7921
7922 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7923
d55ead18
EZ
79242000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7925
7926 * keyboard.c (show_help_echo): Accept additional parameter
7927 ok_to_overwrite_keystroke_echo.
7928 (read_char): Call show_help_echo with a zero
7929 ok_to_overwrite_keystroke_echo argument.
52283633 7930 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7931 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7932 ok_to_overwrite_keystroke_echo argument.
7933 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7934 non-zero ok_to_overwrite_keystroke_echo argument.
7935
df75b1a3
GM
79362000-07-10 Gerd Moellmann <gerd@gnu.org>
7937
4b92c49a
GM
7938 * xdisp.c (try_window_id): If changes are all below what is
7939 displayed in the window, and point is in the window, we still
7940 might have to find point on the display.
7941
7942 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7943 glyphs instead of a single one.
7944 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7945 with new argument list.
7946 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7947
df75b1a3
GM
7948 * keymap.c (get_keymap_1): Add comment that this function can GC.
7949 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7950 comment that functions can GC.
7951 (Fset_keymap_parent): GCPRO arg KEYMAP.
7952
4314cf3e
EZ
79532000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7954
7955 * msdos.c (XMenuActivate): After exiting the menu, restore the
7956 echo area message and erase it.
7957
ab49ce15
KH
79582000-07-10 Kenichi Handa <handa@etl.go.jp>
7959
7960 * fontset.c (Ffontset_info): Make the return value more compatible
7961 with that of Emacs 20.
7962
090a072f
GM
79632000-07-07 Gerd Moellmann <gerd@gnu.org>
7964
7965 * eval.c (Fsignal): Handle case that backtrace_list is null.
7966
f92de4a6
KH
79672000-07-07 Kenichi Handa <handa@etl.go.jp>
7968
7969 * ccl.c (Fccl_execute): Typo fixed.
7970
dd8888a1
GM
79712000-07-06 Gerd Moellmann <gerd@gnu.org>
7972
e5c81191 7973 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7974
dd8888a1
GM
7975 * window.c (Fwindow_list): Reverse list at the end.
7976 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7977 means allow windows on OWINDOW's frame, only.
7978 (window_loop): Simplified; use Fwindow_list.
7979
7980 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7981
485266d0
GM
79822000-07-05 Gerd Moellmann <gerd@gnu.org>
7983
7984 * xterm.c (XTread_socket): Increment handling_signal at the start,
7985 decrement it at the end.
7986
7987 * eval.c (handling_signal): New variable.
7988 (Fsignal): Abort if handling_signal is non-zero.
7989
7990 * lisp.h (handling_signal): External declaration.
178c5d9c 7991
485266d0
GM
7992 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7993
80fcd514
KR
79942000-07-05 Ken Raeburn <raeburn@gnu.org>
7995
7996 Sound support for NetBSD through "Linux emulation" support:
7997 * config.in (HAVE_SOUNDCARD_H): Undef.
7998 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7999 * Makefile.in (LIBSOUND): New variable.
8000 (LIBES): Include it.
52283633
SM
8001 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8002 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8003 (vox_open): Use DEFAULT_SOUND_DEVICE.
8004 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8005
d5c5cddd
GM
80062000-07-05 Gerd Moellmann <gerd@gnu.org>
8007
8008 * print.c (print_error_message): If Vsignaling_function is set,
8009 show it in *Messages*.
8010
8011 * lisp.h (Vsignaling_function): External declaration.
8012
8013 * eval.c (Vsignaling_function): New variable.
8014 (Fsignal): Compute it.
8015 (syms_of_eval): Staticpro it.
8016
65171e3a
DL
80172000-07-05 Dave Love <fx@gnu.org>
8018
8019 * syswait.h: Use the autoconf recommended approach. Old code
8020 #if'd out in case we need to revert.
8021
178c5d9c 8022 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8023
e2c46326
AI
80242000-07-05 Andrew Innes <andrewi@gnu.org>
8025
8026 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8027 when non-NULL instead of __morecore, to take account of buffer
8028 memory. This also solves a problem with spurious memory warnings
8029 on Windows.
8030
8031 * ralloc.c: Make real_morecore non-static.
8032
8033 * eval.c (internal_condition_case): Comment out abort if
8034 interrupt_input_blocked is not zero.
8035
8036 * makefile.nt: Add support for `bootstrap' and related targets.
8037 Include minimal debug info in emacs.exe in release build.
8038 Remove all dependencies on lisp.h, and fixup some others.
8039
8040 * w32.c (init_environment): Install code from 20.7 for providing
8041 default values for environment variables, based on the
8042 executable's own location.
52283633 8043 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8044 (sys_socket): Install socket inheritance bug fix from 20.7.
8045
8046 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8047 here via blockinput.h).
8048
a027a91b
SM
80492000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8050
e4b31601
SM
8051 * w32menu.c (w32_menu_display_help):
8052 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8053
8054 * keyboard.h (show_help_echo): Declare.
8055
8056 * keyboard.c (show_help_echo): New function, extracted from read_char.
8057 Feval its `msg' argument if it's a cons cell.
8058 (read_char): Use it.
4cf8d9d5 8059 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8060
178c5d9c 8061 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8062 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8063 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8064 (dos_rawgetc):
8065 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8066 (note_tool_bar_highlight, w32_read_socket):
8067 Do not gratuitously ignore non-string `help-echo' properties.
8068
88d75730
GM
80692000-07-05 Gerd Moellmann <gerd@gnu.org>
8070
969f7e79
GM
8071 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8072
71201b00
GM
8073 * window.c (delete_all_subwindows): Reset Vwindow_list.
8074
88d75730
GM
8075 * xterm.c (x_append_glyph, x_append_composite_glyph)
8076 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8077 changes in struct glyph starting 1999-12-27. Some bit-fields of
8078 struct glyph were not set, which made glyphs unequal when compared
8079 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8080 effects were the result. This also depended on the contents of
8081 memory returned by xmalloc. If flickering happens again, activate
8082 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8083 gone with that, chances are that it is caused by something similar.
88d75730
GM
8084
8085 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8086
88d75730
GM
8087 * dispextern.h: Add some comments.
8088
8089 * window.c (add_window_to_list): Add parameter LIST.
8090 (window_list): Order list so that, for each frame, windows are
8091 in canonical order, and so that frames appear in the list in
8092 the order given by Vframe_list.
8093 (next_window): Reverse the handling of NEXT_P.
8094
53654733
GM
80952000-07-04 Gerd Moellmann <gerd@gnu.org>
8096
87efd256
GM
8097 * window.c (Vwindow_list): New variable.
8098 (make_window, delete_window): Set Vwindow_list to nil.
8099 (check_window_containing): New function.
8100 (window_from_coordinates): Rewritten.
8101 (add_window_to_list, window_list, candidate_window_p)
8102 (decode_next_window_args, next_window): New functions.
52283633 8103 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8104 (Fwindow_list): New function.
8105 (Fother_window): Cleaned up.
8106 (foreach_window): Add a longer "variable argument list". Let
8107 callback function return 0 to indicate that cycling over windows
8108 should stop.
8109 (foreach_window_1): Likewise.
8110 (freeze_window_start): Return int.
8111 (init_window): New function.
8112 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8113
8114 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8115 input_event with bzero.
8116 (main): Call init_window.
8117
53654733
GM
8118 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8119 a menu filter.
8120
4a8c194f
KH
81212000-07-04 Kenichi Handa <handa@etl.go.jp>
8122
8123 * composite.h (make_composition_value_copy): Extern it.
8124
8125 * composite.c (make_composition_value_copy): New function.
8126
8127 * editfns.c (Fformat): While copying text properties, make each
8128 composition property value a copy.
8129
8130 * fns.c (concat): While copying text properties, make each
8131 composition property value a copy.
8132
831a6cb0
GM
81332000-07-03 Gerd Moellmann <gerd@gnu.org>
8134
2f516940
GM
8135 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8136
178c5d9c 8137 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8138 marked already.
8139
831a6cb0
GM
8140 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8141 include those frames as candidates which have their focus
8142 redirected to the minibuffer frame.
8143
d9c4f922
SM
81442000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8145
8146 * fns.c (Fputhash): Return `value' rather than nil.
8147
3780bc22
GM
81482000-06-30 Gerd Moellmann <gerd@gnu.org>
8149
97d176db
GM
8150 * frame.c (next_frame): Don't check focus redirection in case
8151 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8152 unless their focus is redirected, which contradicts the
8153 specification of next-frame, and leads to infinite loops in
8154 certain situations when cycling through windows with next-window.
8155
dca9961d
KH
81562000-06-30 Kenichi Handa <handa@etl.go.jp>
8157
8158 * coding.c (code_convert_region): Even if the length of text is
8159 zero, try to convert it if coding->type is coding_type_ccl.
8160 (decode_coding_string, encode_coding_string): Likewise.
8161
d5483ab1
GM
81622000-06-28 Gerd Moellmann <gerd@gnu.org>
8163
af5c25e1 8164 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8165 the display if windows_or_buffers_changed.
af5c25e1
GM
8166
8167 * dispnew.c (struct row_entry): New structure.
8168 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8169 (row_table_size, old_lines, new_lines, old_lines_size)
8170 (new_lines_size, run_pool, runs_size, runs): New variables.
8171 (add_row_entry): New function.
8172 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8173 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8174 holding them in local variables. Use a larger hash table whose
8175 size depends on glyph matrix sizes. Don't use bzero to clear the
8176 hash table; instead, clear used slots only.
8177
8178 * fns.c (next_almost_prime): Make it externally visible.
8179
8180 * lisp.h (next_almost_prime): Add prototype.
8181
d5483ab1
GM
8182 * s/isc4-0.h (sigunblock): Define.
8183
8184 * s/sco5.h (sigunblock): Define.
8185
93e40f40
DL
81862000-06-27 Dave Love <fx@gnu.org>
8187
8188 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8189 (moved to osf5-0.h).
8190 [!NOT_C_CODE]: Protect string.h stuff.
8191
8192 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8193 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8194
3c4b7685
GM
81952000-06-27 Gerd Moellmann <gerd@gnu.org>
8196
97d176db 8197 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8198 below the last line from the needed window height.
8199
32cad0aa
SM
82002000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8201
8202 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8203 (Fwidget_get): Use it.
8204 (syms_of_fns): Defsubr it.
8205
2c69ced2
GM
82062000-06-26 Gerd Moellmann <gerd@gnu.org>
8207
178c5d9c 8208 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8209 display info for XIM.
8210 (xim_open_dpy): Likewise.
8211 (xim_close_dpy): Don't free the display info's XIM.
8212
8213 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8214
8215 * config.in (USE_XIM): New define.
8216
3fc720e4
GM
8217 * keymap.c (get_keyelt): For menu-items containing a `:filter
8218 FILTER', apply FILTER to the menu-item's definition to get the
8219 real definition to use.
8220
8221 * lisp.h (QCfilter): External declaration.
8222
2c69ced2
GM
8223 * xfns.c (Fimage_size): New function.
8224 (syms_of_xfns): Defsubr it.
8225
f978b2a2
AS
82262000-06-26 Andreas Schwab <schwab@suse.de>
8227
8228 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8229 Fstring_as_unibyte.
8230
94cc7892
DL
82312000-06-25 Dave Love <fx@gnu.org>
8232
52283633 8233 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8234
8235 * Makefile.in (blockinput.h): Depend on atimer.h.
8236 (atimer.h): Depend on systime.h.
8237
52283633 8238 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8239
52283633 8240 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8241
8242 * lisp.h (swap_in_global_binding): Declare.
8243
b8c24556
KR
82442000-06-24 Ken Raeburn <raeburn@gnu.org>
8245
8246 * process.c (Fopen_network_stream): Turn off atimers for duration
8247 of call to connect. (Patch from Gerd.)
8248
8cf8560b
DL
82492000-06-23 Dave Love <fx@gnu.org>
8250
511c7541
DL
8251 * ralloc.c: Maybe include unistd.h
8252
8cf8560b
DL
8253 * emacs.c (setgrp): Undefine before defining.
8254 (malloc_warning, set_time_zone_rule, index): Prototype.
8255
8256 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8257 HAVE_STRUCT_TIMEZONE.
8258
8259 * s/osf1.h: Move string.h hack here from alpha.h and make it
8260 conditional.
8261 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8262 _XOPEN_SOURCE.
8263 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8264 (SOCKLEN_TYPE): Don't define.
8265
8266 * m/alpha.h: Remove string.h hack.
8267
8268 * s/osf5-0.h: New file.
8269
8270 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8271 include time.h, done by systime.h.
8272 [__FreeBSD__]: Remove redundant includes.
8273
3fc720e4 8274 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8275 (delete_temp_file): Return Qnil to avoid warning.
8276
8277 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8278
8279 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8280 HAVE_X_WINDOWS.
8281
8282 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8283
8284 * composite.h (compose_text): Declare.
8285
8286 * xterm.c: Don't include sys/types.h unconditionally. Don't
8287 protect its inclusion with !USG (following xmenu.c).
8288
ea055732
GM
82892000-06-23 Gerd Moellmann <gerd@gnu.org>
8290
8291 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8292 in x_create_frame.
8293
74b01b80
EZ
82942000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8295
8296 * coding.c (decode_eol_post_ccl): Special handling for undecided
8297 and inconsistent EOL types.
8298
64f3a166
GM
82992000-06-22 Gerd Moellmann <gerd@gnu.org>
8300
16cf31f7
GM
8301 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8302 trough color and main window's background color.
8303
52283633 8304 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8305
8306 * xterm.h (Xt_app_con): External declaration.
8307
8308 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8309
486a103d
GM
8310 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8311
64f3a166
GM
8312 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8313 (handle_invisible_prop): Record the start of invisible text in
8314 it->add_overlay_start.
8315 (struct overlay_entry): Add member `overlay'.
8316 (handle_overlay_change): Simplify.
8317 (next_overlay_string): After having processed overlay strings at the
8318 end of the buffer, record that fact in
8319 it->overlay_strings_at_end_processed_p.
8320 (compare_overlay_entries): If before- and after-strings come
8321 from the same overlay, let before-strings come first.
8322 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8323 (load_overlay_strings): Take it->add_overlay_start into account
8324 when adding overlay strings.
8325
8326 * dispextern.h (struct it): Add member add_overlay_start.
8327
bb746ea6
DL
83282000-06-22 Dave Love <fx@gnu.org>
8329
8330 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8331
8332 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8333
a8f573f3
KH
83342000-06-22 Kenichi Handa <handa@etl.go.jp>
8335
8336 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8337 is greater than 0.
8338
9f2bbc92
DL
83392000-06-21 Dave Love <fx@gnu.org>
8340
178c5d9c 8341 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8342
3ee5041c
SM
83432000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8344
8345 * syntax.c (back_comment): Simplify string-parity counting (with
8346 the added benefit of handling multiple string-styles as long as
8347 they are not intertwined).
8348 Jump to the slow code as soon as a comment starter is found in
8349 a "string_lossage" position. Fixes the case: " /* " /* " */.
8350
4c343001
DL
83512000-06-21 Dave Love <fx@gnu.org>
8352
8353 * Makefile.in: Use GETLOADAVG_LIBS.
8354
8355 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8356 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8357
e6365855
SM
83582000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8359
8360 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8361 (Fforward_comment, scan_lists):
8362 Check the comstyle of single-char comment-starters.
8363 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8364 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8365 Check the comstyle of single-char comment-starters.
8366 Clarify control-flow around the Scomment case.
e6365855 8367
5700d2cc
DL
83682000-06-20 Dave Love <fx@gnu.org>
8369
d355bd8a
SM
8370 * fns.c (make_hash_table, maybe_resize_hash_table):
8371 Cast arg of next_almost_prime.
5700d2cc 8372
178c5d9c 8373 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8374
8375 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8376 and unistd.h.
8377
4a27bdfb
GM
83782000-06-20 Gerd Moellmann <gerd@gnu.org>
8379
a61d762c 8380 * keyboard.c (adjust_point_for_property): Check if display
52283633 8381 property should be treated as intangible by looking at its value.
a61d762c 8382
178c5d9c 8383 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8384 (display_prop_intangible_p): New functions.
8385
8386 * dispextern.h (display_prop_intangible_p): Add prototype.
8387
8388 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8389
4a27bdfb
GM
8390 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8391 argument to sigprocmask.
8392
8393 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8394 argument to sigprocmask.
8395
8396 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8397 sigprocmask_set, and pass a pointer to it to sigprocmask.
8398
8399 * sysdep.c (sigprocmask_set): New variable.
8400
8401 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8402 report_file_error.
8403
427ec082
SS
84042000-06-20 Sam Steingold <sds@gnu.org>
8405
8406 * xrdb.c: Don't declare xmalloc, xrealloc.
8407
8972fe79 84082000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8409
8410 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8411 (re_comp): Cast gettext return value to avoid complaints when
8412 !HAVE_LIBINTL.
8413
074b6efe
DL
84142000-06-20 Dave Love <fx@gnu.org>
8415
52283633 8416 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8417
5700d2cc 8418 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8419
d355bd8a 8420 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8421
8422 * m/alpha.h: Don't declare xmalloc, xrealloc.
8423
0af4f205
DL
8424 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8425
8426 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8427
8428 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8429
8430 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8431 HAVE_GETWD.
8432
074b6efe
DL
8433 * keyboard.h (poll_for_input_1): Declare.
8434
8435 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8436
8437 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8438
8439 * doprnt.c: Don't declare xmalloc, xrealloc.
8440
8441 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8442 (getenv, ctime, getwd): Removed.
8443 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8444
8445 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8446 x_set_tool_bar_lines.
8447
8448 * config.in: Add HAVE_GETWD. Move some definitions above
8449 machine/system includes.
8450
68a5e97b
KH
84512000-06-20 Kenichi Handa <handa@etl.go.jp>
8452
95417e1e
KH
8453 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8454
68a5e97b
KH
8455 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8456 contain information about ENCODING.
8457
8458 * fontset.c (FONTSET_ASCII): Use the first element of char table
8459 for an ASCII font, not defalt slot.
8460 (fontset_ref_via_base): If FONTSET doesn't contain information for
8461 C, try the default fontset.
8462 (make_fontset): Don't copy the default fontset.
8463 (fontset_font_pattern): Likewise.
8464 (accumulate_font_info): If ELT is nil, use the corresponding
8465 element in the default fontset.
8466
3b4fa1b2
DL
84672000-06-19 Dave Love <fx@gnu.org>
8468
943e731c
DL
8469 * syntax.c (Fparse_partial_sexp): Doc fix.
8470
8471 * regex.h: Test PROTOTYPES as well as __STDC__.
8472
3b4fa1b2
DL
8473 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8474 errno, strerror. Put text after #endif in comment.
8475
52283633 8476 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8477
8478 * xterm.c (x_frame_of_widget): Likewise.
8479
cdf0357b
GM
84802000-06-19 Gerd Moellmann <gerd@gnu.org>
8481
8482 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8483 to Vfundamental_mode_abbrev_table.
8484
8485 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8486 bogus objects are marked. This slows down GC by ~80 percent, but
8487 it might be worth trying when debugging GC-related problems.
8488 This feature requires conservative stack marking to be enabled.
8489
8490 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8491 returns XLookupChars, reset `modifiers' to zero.
8492
998e9f8c
DL
84932000-06-19 Dave Love <fx@gnu.org>
8494
8495 * mktime.c: Unprotoized.
8496
18e21ce8 84972000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8498
8499 * data.c (set_internal): If variable is frame-local,
8500 store the new value immediately into the frame parameter alist.
8501
140c4ac6
KR
85022000-06-19 Ken Raeburn <raeburn@gnu.org>
8503
14358466
KR
8504 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8505 in the custom handler pointer.
8506
140c4ac6
KR
8507 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8508 value, or checks for CHAR_META can fail when Lisp_Object is a
8509 union type.
8510 * keymap.c (get_keyelt): Likewise.
8511
10d7bf84
KH
85122000-06-19 Kenichi Handa <handa@etl.go.jp>
8513
8514 * ccl.h (struct ccl_program): New member eol_type.
8515 (struct ccl_spec): New member cr_carryover.
8516
8517 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8518 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8519
8520 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8521 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8522 (decode_eol_post_ccl): New function.
8523 (decode_coding): Don't detect EOL format here for CCL based coding
8524 systems.
8525 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8526 decode_eol_post_ccl after running the CCL program.
8527 (code_convert_region): Don't detect EOL format here for CCL based
8528 coding systems.
8529 (decode_coding_string): Likewise.
8530
52e386c2
KR
85312000-06-18 Ken Raeburn <raeburn@gnu.org>
8532
8533 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8534 when treating it as an integer.
8535
8536 * coding.h (encode_coding_string): Declare.
8537
8538 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8539 it as an integer.
8540
8541 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8542 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8543 to be passed to get_local_map.
8544
8545 * sound.c (Fplay_sound): Don't call make_number on
8546 Frun_hook_with_args count argument.
8547
8548 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8549 for lisp objects in X event structure data field, when lisp
8550 objects are represented with unions.
8551 (x_scroll_bar_to_input_event): Ditto.
8552
b357b9d4
KR
85532000-06-16 Ken Raeburn <raeburn@gnu.org>
8554
8555 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8556 termination of string. Fix sense of test whether
8557 Vline_number_display_limit is an integer.
b357b9d4 8558
a871441d
GM
85592000-06-16 Gerd Moellmann <gerd@gnu.org>
8560
a9021acd
GM
8561 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8562 only if HAVE_X_WINDOWS.
8563
6344985d
GM
8564 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8565 of titles.
8566
427ec082 8567 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8568 out of bounds.
8569
228b083e
EZ
85702000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8571
8572 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8573 of its headers.
8574
c25b53a2
KH
85752000-06-15 Kenichi Handa <handa@etl.go.jp>
8576
8577 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8578 start of the while loop.
8579
a6981b11
GM
85802000-06-15 Gerd Moellmann <gerd@gnu.org>
8581
e9924e52
GM
8582 * atimer.c (alarm_signal_handler): Add forward declaration.
8583
a6981b11
GM
8584 * data.c (set_internal): Remove debug code.
8585
25fa6deb
GM
85862000-06-14 Gerd Moellmann <gerd@gnu.org>
8587
dce6b995
GM
8588 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8589
9f817ea4
GM
8590 * unexec.c (toplevel) [COFF]: Include coff.h.
8591
8592 * s/lynxos.h: New file.
8593
8594 * keymap.c (Fsingle_key_description): Enclose function key and
8595 event symbol names in angle brackets.
8596
8a4e3c0c
GM
8597 * xdisp.c (setup_echo_area_for_printing): Call
8598 message_log_maybe_newline if message_buf_print is not set.
8599
8600 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8601 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8602 function does something useful even when message_buf_print is
8603 already set.
8604
52283633
SM
8605 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8606 New variables.
25fa6deb
GM
8607 (ensure_echo_area_buffers): Initialize echo buffer's
8608 truncate lines setting to nil.
8609 (with_echo_area_buffer): Don't set the echo buffer's truncate
8610 lines setting here.
8a4e3c0c 8611 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8612 of message_truncate_lines.
8613 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8614 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8615 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8616
8617 * keyboard.c (read_char): Bind message-truncate-lines to t
8618 while displaying a help-echo.
8619
8620 * lisp.h (Qmessage_truncate_lines): External declaration.
8621
163dcff3
GM
86222000-06-13 Gerd Moellmann <gerd@gnu.org>
8623
1681ead6
GM
8624 * xdisp.c (Vline_number_display_limit): Renamed from
8625 line_number_display_limit.
8626 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8627 Extend documentation string. Initialize
8628 Vline_number_display_limit to nil meaning no limit.
8629 (decode_mode_spec): Use Vline_number_display_limit with its new
8630 meaning.
8631
163dcff3
GM
8632 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8633
18e21ce8 86342000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8635
8636 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8637
163dcff3
GM
8638 * xfns.c (x_set_frame_parameters): Comment fix.
8639
8640 * frame.c (store_frame_param): Call swap_in_global_binding if the
8641 variable's current binding was chosen based on this frame.
8642
8643 * data.c (swap_in_global_binding): New function.
8644
a704139d
EZ
86452000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8646
8647 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8648 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8649
9b6610db
EZ
86502000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8651
8652 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8653
c68833d2
JR
86542000-06-12 Jason Rumney <jasonr@gnu.org>
8655
8656 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8657
8658 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8659
8660 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8661
8662 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8663
ed1056b3
GM
86642000-06-12 Gerd Moellmann <gerd@gnu.org>
8665
8666 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8667 (syms_of_xfaces): Defsubr Sdump_colors.
8668 (x_free_colors): Don't treat b&w specially on default visual.
8669 (x_free_dpy_colors): New function.
8670 (free_face_colors): Don't check visual class; it's done
8671 in x_free_colors.
8672
8673 * xterm.c (x_frame_of_widget): New function.
8674 (x_alloc_nearest_color_for_widget): Use it.
8675 (x_copy_dpy_color): New function.
8676 (x_destroy_window): Free various colors.
8677
5050a2ef
KH
86782000-06-12 Kenichi Handa <handa@etl.go.jp>
8679
8680 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8681
8682 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8683
8684 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8685
8686 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8687
8688 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8689
fb1b041d
DL
86902000-06-11 Dave Love <fx@gnu.org>
8691
8692 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8693
ff96b5f4
EZ
86942000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8695
8696 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8697
db8eeecd
GM
86982000-06-11 Gerd Moellmann <gerd@gnu.org>
8699
ed1056b3 8700 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8701 to `XEvent *'.
8702
49b71c5f
KH
87032000-06-10 Kenichi Handa <handa@etl.go.jp>
8704
c479bd55
KH
8705 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8706 (regex_compile): Fix the code for handling the case of single byte
8707 char and multibyte char being mixed in a range within [...].
8708
ff6a65c2
KH
8709 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8710 and dst_multibyte members of coding.
8711
49b71c5f
KH
8712 * charset.c (update_charset_table): Update the table
8713 bytes_by_char_head.
8714 (init_charset_once): Initialize elements of bytes_by_char_head to
8715 1 except for leading codes for private charases.
8716
8717 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8718 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8719
9e80b57d
KR
87202000-06-09 Ken Raeburn <raeburn@gnu.org>
8721
8722 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8723 access the data it doesn't point to.
8724
f83fe4b4
GM
87252000-06-08 Gerd Moellmann <gerd@gnu.org>
8726
8727 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8728 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8729 event queue. This is necessary because Emacs otherwise won't
8730 perform a switch-frame to a new frame until some other event, for
8731 example a keystroke event, forces it to do so. This has various
8732 effects, one visible being that the cursor of a frame created with
8733 C-x 5 2 or switched to with a window manager key binding like
8734 A-TAB stays hollow because selected_window isn't on the newly
8735 focused frame until the switch-frame is performed.
8736
8737 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8738 generating a switch-frame event if necessary.
8739
8740 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8741
8742 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8743 it's an integer.
8744
0890801b
KH
87452000-06-08 Kenichi Handa <handa@etl.go.jp>
8746
52283633 8747 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8748
173cbca8
GM
87492000-06-07 Gerd Moellmann <gerd@gnu.org>
8750
3091c2a6
GM
8751 * window.c (displayed_window_lines): Take empty lines at
8752 the bottom of a window into account.
427ec082 8753
f38952fe
GM
8754 * window.c (displayed_window_lines): New function.
8755 (Fmove_to_window_line): Use displayed_window_lines to determine
8756 the number of lines to move, instead of using the window's height.
8757
8758 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8759 to stop reading, even if the form read sets point to a different
8760 value when evaluated.
8761
427ec082 8762 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8763 put the cursor.
8764
6ba6c818
KH
87652000-06-07 Kenichi Handa <handa@etl.go.jp>
8766
8767 * fileio.c (e_write): Free composition data if stored in
8768 coding->cmp_data.
8769
5f1aea9a
GM
87702000-06-06 Gerd Moellmann <gerd@gnu.org>
8771
666852af
GM
8772 * xdisp.c (display_line): Set row's and iterator's
8773 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8774 Set cursor even if row ends in the middle of a character.
8775 (dump_glyph_row): Print values of new flags.
8776 (redisplay_window) <cursor movement in unchanged window>: When
8777 point has been moved forward, and PT is at the end of the cursor
8778 row, don't place the cursor in the next row if the cursor row ends
8779 in the middle of a character or at ZV.
8780
8781 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8782 (struct glyph_row): Add starts_in_middle_of_char_p and
8783 ends_in_middle_of_char_p.
8784 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8785 ends_in_middle_of_char_p flag.
8786 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8787
d13f3e2e
GM
8788 * term.c (append_glyph): Revert change of 2000-06-06.
8789
8790 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8791 padding glyph not fitting on line as whole character not
8792 fitting on line.
8793
5f1aea9a
GM
8794 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8795 this isn't true for images with `:ascent 100'.
8796
10cda9b0
KH
87972000-06-06 Kenichi Handa <handa@etl.go.jp>
8798
ed00559d
KH
8799 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8800 as modified if it is originally unmodified.
8801
10cda9b0
KH
8802 * term.c (encode_terminal_code): Change the way to check if
8803 terminal coding does any conversion.
8804 (append_glyph): Set glyph->pixel_width correctly.
8805
8806 * xdisp.c (display_line): While checking line continuation, pay
8807 attention to a padding glyph.
8808
1969fae2
GM
88092000-06-05 Gerd Moellmann <gerd@gnu.org>
8810
8811 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8812
162ccef4
DL
88132000-06-05 Dave Love <fx@gnu.org>
8814
f19f32dd
DL
8815 * xdisp.c: Include fontset.h.
8816
8817 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8818
8819 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8820
8821 * dispnew.c: Conditionally include term.h.
8822
8823 * coding.h: Declare code_convert_string_norecord.
8824
8825 * frame.h (struct frame): Use volatile unconditionally.
8826
8827 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8828
8829 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8830
8831 * systime.h: Protect against multiple inclusion.
8832 (timezone) [USG5_4]: Define as time_t.
8833
8834 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8835 (Foptimize_char_table, make_temp_name): Declare.
8836
8837 * Makefile.in (xdisp.o): Depend on fontset.h.
8838
8839 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8840
8841 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8842 (Foptimize_char_table, make_temp_name): Declare.
8843
427ec082 8844 * s/irix4-0.h:
162ccef4
DL
8845 * s/irix5-0.h:
8846 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8847
2082fe81
DL
88482000-06-02 Dave Love <fx@gnu.org>
8849
8850 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8851
dcf671d2
GM
88522000-06-02 Gerd Moellmann <gerd@gnu.org>
8853
8854 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8855 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8856 be freed.
8857
8858 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8859 glyph, use the ASCII NUL character to determine the face.
8860
d42122a3
DL
88612000-06-02 Dave Love <fx@gnu.org>
8862
8863 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8864 (VFORK_RETURN_TYPE): Remove.
427ec082 8865
d42122a3
DL
8866 * config.in: Add NO_MATHERR.
8867
dd432f16
DL
88682000-06-01 Dave Love <fx@gnu.org>
8869
90aa4ea8
DL
8870 * cmds.c (internal_self_insert): Don't check
8871 Vbefore_change_function, Vafter_change_function.
8872
8873 * insdel.c (signal_before_change, signal_after_change): Likewise.
8874
8875 * buffer.c (Vbefore_change_function, Vafter_change_function):
8876 Variables and their initializations deleted.
8877
2330c9d4
DL
8878 * callint.c (Fcall_interactively): Doc fix.
8879
dd432f16
DL
8880 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8881
bf9e8804
DL
88822000-05-31 Dave Love <fx@gnu.org>
8883
8884 * textprop.c: Revert last change -- duplicated.
8885
3694b4ab
GM
88862000-05-31 Gerd Moellmann <gerd@gnu.org>
8887
8888 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8889 in #if 0.
8890
8891 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8892
f14156cd
JR
88932000-05-31 Jason Rumney <jasonr@gnu.org>
8894
8119aab8
JR
8895 * search.c (Fre_search_forward, Fre_search_backward)
8896 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8897
f14156cd
JR
8898 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8899
4aab9be3
JR
89002000-05-30 Jason Rumney <jasonr@gnu.org>
8901
8902 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8903 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8904
52283633 8905 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8906
8907 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8908 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8909 expand a nil default_filename.
8910
8911 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8912 pointer to glyph_to_pixel_coords, not a frame.
8913
8914 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8915 coding.h to dependencies.
8916
8917 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8918
8919 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8920 window pointer to be consistent with w32term.c and xterm.c.
8921
8922 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8923 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8924 (Qline_spacing, Qcenter): New variables.
8925 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8926 (x_set_line_spacing): New function.
52283633 8927 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8928 (x_specified_cursor_type): New function.
8929 (x_set_cursor_type): Use it.
8930 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8931 and icon strings.
8932 (validate_x_resource_name, x_get_resource_string): Measure lengths
8933 of external strings in bytes.
8934 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8935 GetTextExtentPoint32 with NULL title.
8936 (Fx_create_frame): Initialize Qline_spacing.
8937 (w32_load_system_font): Initialize font->double_byte_p.
8938 (x_to_w32_charset): Use Vw32_charset_info_alist.
8939 (Image, busy cursor, tooltip functions): Merged changes from
8940 xfns.c. Not yet functional on Windows.
8941
8942 * w32gui.h (W32FontStruct): Add double_byte_p member.
8943
8944 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8945 (emacs_button_translation): Use it.
8946 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8947 in `mask' to be set.
8948
8949 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8950 menu strings.
8951
8952 * w32term.c: Format and doc changes to bring closer to xterm.c.
8953 (w32_char_font_type): New enum.
8954 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8955 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8956 (w32_encode_char): New function.
8957 (x_encode_char): Removed.
8958 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8959 x_encode_char and w32_font_is_double_byte.
8960 (x_produce_image_glyph): Use image_ascent.
8961 (x_produce_glyphs): Use new version of w32_per_char_metric and
8962 handle NULL return value. Allow extra line spacing.
8963 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8964 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8965 w32_font_type member of glyph instead.
8966 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8967 (fast_find_position): Make sure not to consider rows not visible
8968 in the window.
8969 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8970 w32_menu_display_help with input blocked, as it can abort.
8971 (x_display_and_set_cursor): Choose cursor depending
8972 on buffer-local value of cursor_type.
8973 (x_draw_bar_cursor): Add parameter WIDTH.
8974
8975 * w32term.h (CP_DEFAULT): Define.
8976 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8977
10fc3187
GM
89782000-05-30 Gerd Moellmann <gerd@gnu.org>
8979
8980 * search.c (Fre_search_forward, Fre_search_backward)
8981 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8982
d0555360
KH
89832000-05-30 Kenichi Handa <handa@etl.go.jp>
8984
8985 * coding.c (detect_coding_iso2022): Fix code for checking
8986 CODING_CATEGORY_MASK_ISO_8_2.
8987
f1ad044f
SM
89882000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8989
8990 * regex.c (PREFETCH_NOLIMIT): New function.
8991 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8992
84ec3b4b
GM
89932000-05-29 Gerd Moellmann <gerd@gnu.org>
8994
66254a13
GM
8995 * syntax.c (find_defun_start): Move test for
8996 open_paren_in_column_0_is_defun_start outside of the loop.
8997
49e70dec
GM
8998 * xdisp.c (redisplay_window): Really switch buffers when
8999 displaying mode lines, and temporarily set selected_frame to the
9000 frame of the window that's redisplayed.
9001
84ec3b4b
GM
9002 * xfaces.c (free_realized_faces): Block/unblock input.
9003 (free_realized_multibyte_face): Ditto.
9004
869a3a14
DL
90052000-05-29 Dave Love <fx@gnu.org>
9006
9007 * textprop.c (Qkeymap): New variable.
9008 (syms_of_textprop): Intern it.
9009
9010 * keymap.c: Include intervals.h.
9011 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9012
9013 * Makefile.in (keymap.o): Depend on intervals.h.
9014
9015 * keyboard.c (menu_bar_items, tool_bar_items)
9016 (Fexecute_extended_command): Deal with `keymap' property.
9017 (read_key_sequence): Track map from `keymap' property as well as
9018 `local_map'.
9019
9020 * intervals.c (get_local_map): Extra arg to allow looking for
9021 `keymap' too.
9022
9023 * intervals.h (map_property): New enum.
9024 (get_local_map): Extra arg using it.
9025 (Qkeymap): Declare.
9026
84ec3b4b 9027 * lisp.h (get_local_map): Don't declare here.
869a3a14 9028
89d0c844
KH
90292000-05-29 Kenichi Handa <handa@etl.go.jp>
9030
9031 * Makefile.in (callproc.o): Depend on composite.h.
9032
9033 * callproc.c: Include composite.h.
9034 (Fcall_process): Handle composition correctly.
9035
9036 * coding.h (coding_allocate_composition_data): Extern it.
9037 (coding_restore_composition): Likewise.
9038
9039 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9040 yet allocated, finish decoding with result
9041 CODING_FINISH_INSUFFICIENT_CMP.
9042 (coding_allocate_composition_data): Make it non-static.
9043 (coding_restore_composition): Likewise.
9044
797a084a
EZ
90452000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9046
9047 * charset.c (syms_of_charset): Revert last change.
9048
cf872af5
EZ
90492000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9050
9051 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9052 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9053 Handa.
cf872af5 9054
5b1ae051
EZ
90552000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9056
9057 * charset.c (syms_of_charset): Set width of character sets
9058 eight-bit-control and eight-bit-graphic to 1 column.
9059
34ec9ebe
GM
90602000-05-26 Gerd Moellmann <gerd@gnu.org>
9061
9062 * config.in (HAVE_SPEED_T): New define.
9063
9064 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9065 `extern speed_t'.
9066
dd854dc2
DL
90672000-05-26 Dave Love <fx@gnu.org>
9068
9069 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9070
9071 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9072 (Fsubr_arity): New function.
9073 (syms_of_data): Install them.
9074
ba9f8f95
KH
90752000-05-26 Kenichi Handa <handa@etl.go.jp>
9076
0f3e0672
KH
9077 * charset.c (init_charset_once): Set the table bytes_by_char_head
9078 correctly.
9079
cebefb44
KH
9080 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9081 the default fontset to what Emacs uses by default.
0f3e0672
KH
9082 (check_registry_encoding): This function deleted.
9083 (Fset_fontset_font): Remove the adhoc condition for the default
9084 fontset. Allow cons in FONTNAME.
cebefb44 9085
0f3e0672
KH
9086 * fns.c (map_char_table): Ignore char-table entries for
9087 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9088
7a18af49
KR
90892000-05-25 Ken Raeburn <raeburn@gnu.org>
9090
9091 * emacs.c (main): Initialize keyboard syms before initializing
9092 window code, so face names are available.
9093
d2af47df
SM
90942000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9095
9096 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9097 of an anchor at the beginning of a shy-group.
9098
fc6a6a4e
GM
90992000-05-25 Gerd Moellmann <gerd@gnu.org>
9100
9101 * xdisp.c (handle_invisible_prop): Don't try to skip over
9102 invisible text if end of text is already reached.
9103
005f0d35
DL
91042000-05-25 Dave Love <fx@gnu.org>
9105
02513cdd
DL
9106 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9107
005f0d35
DL
9108 * coding.c (encode_eol): Add null statement after label.
9109
89f6ca4e
EZ
91102000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9111
9112 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9113 2000-05-20.
9114
a4e1759e
KH
91152000-05-25 Kenichi Handa <handa@etl.go.jp>
9116
9117 * ccl.c (ccl_driver): Fix previous change.
9118
eacfd7fe
KH
91192000-05-25 Kenichi Handa <handa@etl.go.jp>
9120
46ab33a9
KH
9121 * coding.c (run_pre_post_conversion_on_str): Set point to the
9122 beginning of buffer before calling coding->post_read_conversion.
9123 (decode_coding_string): Give correct args to
9124 run_pre_post_conversion_on_str.
9125 (encode_coding_string): Likewise.
9126
eacfd7fe
KH
9127 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9128 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9129 eight-bit-graphic correctly.
9130
f8569325
DL
91312000-05-24 Kenichi HANDA <handa@etl.go.jp>
9132
9133 * fileio.c (Finsert_file_contents): Even if a file is not found,
9134 execute codes for setting up coding system. Call
9135 after-insert-file-functions unconditionally.
9136
04545643
GM
91372000-05-24 Gerd Moellmann <gerd@gnu.org>
9138
9139 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9140 BSD_PGRPS are not defined.
9141
747d90ea
KH
91422000-05-24 Kenichi Handa <handa@etl.go.jp>
9143
9144 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9145 DESCRIPTION.
9146 (syms_of_charset): Avoid building same strings.
9147
716e3b88
GM
91482000-05-23 Gerd Moellmann <gerd@gnu.org>
9149
9150 * lread.c (Fload): Add a comment about the meaning of
9151 Vuser_init_file being t.
9152
9153 * puresize.h (BASE_PURESIZE): Increase to 675000.
9154
9155 * s/gnu-linux.h (setpgrp): Don't define it here because this
9156 prevents compilation on GNU/Linux systems with glib 2.2.
9157
9158 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9159 as setpgid.
427ec082 9160
9aeb39fa
EZ
91612000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9162
9163 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9164 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9165 version.
9166 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9167
29ced61b
KH
91682000-05-23 Kenichi Handa <handa@etl.go.jp>
9169
52283633 9170 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9171
3d80f24d
KH
9172 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9173
52283633 9174 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9175
29ced61b
KH
9176 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9177
d7e00792
KH
91782000-05-22 Kenichi Handa <handa@etl.go.jp>
9179
c9d80d38
KH
9180 * keyboard.c (read_char): Allow character codes 128..255 to be
9181 handled by input-method-function.
9182
d7e00792
KH
9183 * insdel.c (adjust_markers_for_replace): Fix previous change.
9184 (adjust_after_replace): If PREV_TEXT is nil, call
9185 adjust_markers_for_insert, not adjust_markers_for_replace.
9186
087121cc 91872000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9188
087121cc
GM
9189 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9190 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9191 [HAVE_GRANDPT]: Define.
9192 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9193
9194 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9195 like SYSV_PTYS.
9196
9197 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9198
9199 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9200
c9671f81
KH
92012000-05-20 Kenichi Handa <handa@etl.go.jp>
9202
9203 The following changes are to handle 8-bit characters in a
9204 multibyte buffer/string without facing with byte combining
9205 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9206 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9207
9208 * Makefile.in (fns.o): Depend on charset.h.
9209
9210 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9211 convert it to unibyte.
9212 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9213
9214 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9215 apparent char boundary.
9216 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9217 0x80..0x9F to/from multibyte form.
9218
9219 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9220 to unibyte.
9221
9222 * callproc.c (Fcall_process): Always encode an argument string if
9223 it is multibyte. Setup src_multibyte and dst_multibyte members of
9224 process_coding properly.
ce75fd23 9225
c9671f81
KH
9226 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9227 SPLIT_NON_ASCII_CHAR.
9228
9229 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9230 as is.
9231 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9232
52283633 9233 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9234 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9235 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9236 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9237 and eight-bit-graphic.
9238 (char_to_string): Likewise. Signal an error for too large
9239 character code.
9240 (char_printable_p): Return 0 for 8-bit characters.
9241 (update_charset_table): Update iso_charset_table only when a final
9242 character is non-negative.
9243 (find_charset_in_text): Renamed from find_charset_in_str.
9244 Arguments and return value changed. Callers changed.
9245 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9246 be -1 if CHARSET is used only internally.
9247 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9248 eight-bit-graphic.
9249 (Fcharset_after): Simplified.
9250 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9251 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9252 (multibyte_chars_in_text): Simplified by assuming there's no
9253 invalid multibyte sequence.
52283633
SM
9254 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9255 (str_as_unibyte): New functions.
9256 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9257 (init_charset_once): Initialization for
9258 LEADING_CODE_8_BIT_CONTROL.
9259 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9260 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9261 eight-bit-control and eight-bit-graphic.
9262
52283633
SM
9263 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9264 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9265 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9266 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9267 (CHARSET_REVERSE_CHARSET): Likewise.
9268 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9269 eight-bit-graphic.
9270 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9271 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9272 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9273 encounter an invalid multibyte sequence.
9274 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9275 sequence is always valid.
9276 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9277 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9278 (CHAR_STRING): For 8-bit characters, call char_to_string.
9279 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9280 multibyte sequence is always valid.
9281 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9282 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9283 (str_as_unibyte): Extern them.
c9671f81 9284 (BCOPY_SHORT): Fix a bug.
52283633 9285 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9286 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9287 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9288 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9289
bd4bde7f 9290 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9291 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9292 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9293 (EMIT_BYTES): New macros.
9294 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9295 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9296 macros deleted.
9297 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9298 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9299 check the validity of multibyte sequence.
9300 (decode_coding_emacs_mule): New function.
9301 (encode_coding_emacs_mule): New macro.
9302 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9303 the source.
9304 (DECODE_ISO_CHARACTER): Just return a character code.
9305 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9306 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9307 EMIT_CHAR to produced decoded characters. Exit the loop only by
9308 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9309 block here.
9310 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9311 only position codes for an invalid character.
9312 (encode_designation_at_bol): Return new destination pointer. 5th
9313 arg DSTP is changed to DST.
9314 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9315 from the source by ONE_MORE_CHAR. Don't handle the case of last
9316 block here.
9317 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9318 macros deleted.
52283633
SM
9319 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9320 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9321 TWO_MORE_BYTES to fetch a byte from the source.
9322 (encode_eol): Pay attention to coding->src_multibyte.
9323 (detect_coding, detect_eol): Preserve members src_multibyte and
9324 dst_multibyte.
9325 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9326 (encoding_buffer_size): Set magnification to 3 for all coding
9327 systems that require encoding.
9328 (ccl_coding_driver): For decoding, be sure that the result is
9329 valid multibyte sequence.
9330 (decode_coding): Initialize coding->errors and coding->result.
9331 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9332 and raw-text, always call decode_eol. Handle the case of last
9333 block here. If not coding->dst_multibyte, convert the resulting
9334 sequence to unibyte.
9335 (encode_coding): Initialize coding->errors and coding->result.
9336 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9337 and raw-text, always call encode_eol. Handle the case of last
9338 block here.
9339 (shrink_decoding_region, shrink_encoding_region): Detect cases
9340 that we can't skip data more rigidly.
9341 (code_convert_region): Setup src_multibyte and dst_multibyte
9342 members of coding. For decoding, if the buffer is multibyte,
9343 convert the source sequence to unibyte in advance. For encoding,
9344 if the buffer is multibyte, convert the resulting sequence to
9345 multibyte afterward.
9346 (run_pre_post_conversion_on_str): New function.
9347 (code_convert_string): Deleted and divided into the following two.
9348 (decode_coding_string, encode_coding_string): New functions.
9349 (code_convert_string1, code_convert_string_norecord): Call one of
9350 above.
9351 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9352 MAKE_NON_ASCII_CHAR.
52283633
SM
9353 (Fset_terminal_coding_system_internal)
9354 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9355 and dst_multibyte members.
9356 (init_coding_once): Initialize iso_code_class with new enum
9357 ISO_control_0 and ISO_control_1.
9358
9359 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9360 devided into ISO_control_0 and ISO_control_1.
9361 (struct coding_system): New members src_multibyte, dst_multibyte,
9362 errors, and result. Delete member fake_multibyte.
9363 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9364 nonzero.
9365 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9366 nonzero.
9367
9368 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9369 (Faset): Likewise.
9370
9371 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9372 multibyte form.
9373 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9374 combining occurs.
9375 (Ftranspose_region): Delete codes for handling byte combining.
9376
9377 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9378 dst_multibyte members of coding. On handling REPLACE on unibyte
9379 buffer, convert the result of decode_coding to unibyte. On
9380 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9381 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9382 multibyteness of the source (buffer or string).
9383
9384 * fns.c (concat): Handle 8-bit characters correctly.
9385 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9386 unibyte in the result.
9387 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9388 valid multibyte form in the result.
9389 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9390 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9391 return -1, signal an error.
9392 (base64_encode_1): New arg MULTIBYTE. Get each character by
9393 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9394 character is found, return -1.
9395 (Fbase64_decode_region): Delete codes for handling byte-combining.
9396 Treat each decoded byte as a unibyte character.
9397 (Fbase64_decode_string): Return unibyte string.
9398 (Fcompare_strings, concat, string_byte_to_char): Use
9399 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9400 FETCH_STRING_CHAR_ADVANCE.
9401 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9402 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9403
9404 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9405 SPLIT_NON_ASCII_CHAR.
9406 (fontset_ref_via_base, fontset_set): Likewise
9407
9408 * insdel.c (adjust_markers_for_record_delete): Deleted.
9409 (adjust_markers_for_insert): Argument changed. Caller changed.
9410 (adjust_markers_for_replace): Likewise.
52283633
SM
9411 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9412 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9413 (copy_text): Delete unused local varialbe c_save. For converting
9414 to multibyte, be sure to make all 8-bit characters in valid
9415 multibyte form.
9416 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9417 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9418 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9419 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9420 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9421 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9422 handling byte combining.
9423 (adjust_before_replace): Deleted.
427ec082 9424
c9671f81
KH
9425 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9426 SPLIT_NON_ASCII_CHAR.
9427 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9428 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9429 (Fkey_description): Likewise.
9430
9431 * lread.c (read1): On reading multibyte string, be sure to make
9432 all 8-bit chararacters in valid multibyte form.
9433 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9434
9435 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9436 unconditionally.
9437
9438 * process.c (Fstart_process): GCPRO current_dir before calling
9439 Ffind_operation_coding_system. Encode arguments here.
9440 (create_process): Don't encode arguments here. Setup
9441 src_multibyte and dst_multibyte members of struct coding.
9442 (read_process_output): Setup src_multibyte and dst_multibyte
9443 members of struct coding. If the output is to multibyte buffer,
9444 always decode the output of the process. Adjust the
52283633 9445 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9446 (send_process): Setup coding->src_multibyte according to the
9447 multibyteness of the source.
9448
52283633 9449 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9450 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9451 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9452
52283633 9453 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9454
9455 * w16select.c (Fw16_set_clipboard_data): Setup members
9456 src_multibyte and dst_multibyte of coding. Adjusted for the
9457 change for find_charset_in_str.
9458 (Fw16_get_clipboard_data): Likewise.
9459
9460 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9461 dst_multibyte of coding.
9462 (x_to_w32_font): Likewise.
9463
9464 * w32select.c (Fw32_set_clipboard_data): Setup members
9465 src_multibyte and dst_multibyte of coding. Adjusted for the
9466 change for find_charset_in_str.
9467 (Fw32_get_clipboard_data): Likewise.
9468
9469 * xdisp.c (get_next_display_element): Handle 8-bit characters
9470 correctly.
52283633
SM
9471 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9472 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9473
9474 * xselect.c (selection_data_to_lisp_data): Setup members
9475 src_multibyte and dst_multibyte of coding. Adjusted for the
9476 change for find_charset_in_str.
9477 (lisp_data_to_selection_data): Likewise.
9478
5f64c9e0
GM
94792000-05-19 Gerd Moellmann <gerd@gnu.org>
9480
52283633 9481 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9482
5f64c9e0
GM
9483 * dispextern.h (Vimage_types): Add extern declaration.
9484
9485 * xdisp.c (Vimage_types): Moved here from xfns.c.
9486 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9487
9488 * xfns.c (Vimages_types): Moved to xdisp.c.
9489 (syms_of_xfns): Move `image-types' to xdisp.c.
9490
9491 * w32fns.c (Vimage_types): Removed.
9492 (syms_of_w32fns): Remove `image-types'.
9493
813086ea
KH
94942000-05-18 Kenichi Handa <handa@etl.go.jp>
9495
9496 * fns.c (map_char_table): Pay attention to character number of
9497 charset. Check the validity of charset at the first level. For
9498 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9499 the default value.
9500
9501 * fontset.c: Include "buffer.h".
9502 (fs_load_font): If the face has fontset, record the face ID in
9503 that fontset.
9504 (Finternal_char_font): New function.
9505 (accumulate_font_info): New function.
9506 (Ffontset_info): Rewritten for the new fontset implementation.
9507 (syms_of_fontset): Register Vdefault_fontset in the first element
9508 of Vfontset_table. Include Vdefault_fontset in
9509 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9510 function.
9511
bdaebbf0
DL
95122000-05-16 Dave Love <fx@gnu.org>
9513
9514 * m/iris5d.h: Deleted -- unused.
9515
cb613bb8
GM
95162000-05-16 Gerd Moellmann <gerd@gnu.org>
9517
b15f3b77
GM
9518 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9519 `invalid' instead of `illegal'.
9520
9521 * indent.c (Fmove_to_column): When ending within a tab, insert
9522 spaces first so that markers at the end of the tab get adjusted.
9523
835c1b36
GM
9524 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9525 buffer list that wasn't selected in that frame.
9526
cb613bb8
GM
9527 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9528 is needed on mescaline, use a 2 char prefix, and call
9529 make_temp_name with second arg non-zero.
9530
9531 * fileio.c (make_temp_name): New function, extracted from
9532 Fmake_temp_name.
9533 (Fmake_temp_name): Use it.
9534
f685bea9
EZ
95352000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9536
52283633 9537 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9538
a1b8d58b
GM
95392000-05-15 Gerd Moellmann <gerd@gnu.org>
9540
9541 * Makefile.in (lisp): Add env.elc.
9542
9543 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9544
a265079f
GM
95452000-05-12 Gerd Moellmann <gerd@gnu.org>
9546
9547 * search.c (Freplace_match): Handle case of `\N' in the
9548 replacement when there's no group N.
9549
da4496b6
GM
95502000-05-11 Gerd Moellmann <gerd@gnu.org>
9551
0ace421a
GM
9552 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9553 of the message to message_dolog.
9554
1172eb8d
GM
9555 * keyboard.c (read_char): Don't clear current message for help
9556 events; let the code handling help events handle this. Change
9557 code detecting help events that should be ignored.
9558
da4496b6
GM
9559 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9560 we're interating over a string.
9561
0623e40f
DL
95622000-05-09 Dave Love <fx@gnu.org>
9563
9564 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9565 that offset before writing. Move gcpro region past call of
9566 Ffile_regular_p.
9567
bae2503b
DL
95682000-05-04 Dave Love <fx@gnu.org>
9569
9570 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9571
ec82fb2f
GM
95722000-05-04 Gerd Moellmann <gerd@gnu.org>
9573
9574 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9575 of inserted characters when BUF equals the current buffer, and PT
9576 is in front of or equal to FROM.
9577
cbf18892
GM
95782000-05-03 Gerd Moellmann <gerd@gnu.org>
9579
4ff40dd0
GM
9580 * xdisp.c (handle_single_display_prop): If display property value
9581 is invalid, or something not supported on the frame, restore
9582 iterator's position to what it was initially. Make sure to return
9583 0 for invalid and unsupported property values.
9584
cbf18892
GM
9585 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9586 that x_per_char_metric returns null.
9587
1b0672c3
GM
95882000-05-02 Gerd Moellmann <gerd@gnu.org>
9589
576da55d
GM
9590 * xterm.h (struct face): Add forward declaration.
9591 (struct image): Ditto.
9592 (image_ascent): Add prototype.
9593
9594 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9595 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9596 image_ascent instead of using IMAGE_ASCENT.
9597
9598 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9599 (IMAGE_ASCENT): Removed.
9600
9601 * xfns.c (Qcenter): New variable.
9602 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9603 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9604 (image_ascent): New function.
9605 (lookup_image): Recognize `:ascent center'.
9606 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9607 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9608 (xbm_load): Don't set image's ascent here.
9609 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9610 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9611 check ascent values here.
9612 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9613 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9614 (syms_of_xfns): Initialize Qcenter.
9615
1b0672c3
GM
9616 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9617 to the limits, increase the limits.
9618
0d7811ed
KH
96192000-05-01 Kenichi Handa <handa@etl.go.jp>
9620
9621 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9622 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9623
a943a5ca
GM
96242000-04-28 Gerd Moellmann <gerd@gnu.org>
9625
9626 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9627 taller than the window.
9628
5dba1e29
KH
96292000-04-28 Kenichi Handa <handa@etl.go.jp>
9630
9631 * xfaces.c (realize_x_face): Fix the argument of the second
9632 xassert. BASE_FACE may not be a face for ASCII.
9633
353964e3
GM
96342000-04-27 Gerd Moellmann <gerd@gnu.org>
9635
c76e04a8
GM
9636 * print.c (print_object): Treat print-length < 0 as nil.
9637
9638 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9639
9640 * s/freebsd.h (TERMCAP_OBJ): Removed.
9641 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9642
9643 * lread.c (read1): Don't treat period followed by certain
9644 characters as symbol start.
9645
9646 * xfns.c (slurp_file): New function.
9647 (xbm_image_p): Handle case of in-memory XBM files.
9648 (xbm_scan): Rewritten to work on memory buffers instead of files.
9649 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9650 Work on memory buffers instead of files. If DATA is null test
9651 if buffer looks like an in-memory XBM file.
9652 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9653 memory buffers instead of files.
9654 (xbm_file_p): New function.
9655 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9656
353964e3
GM
9657 * lread.c (end_of_file_error): New function.
9658 (read1): Call it instead of signaling `end-of-file' directly.
9659
427ec082 9660 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9661 with Fprinc instead of Fprin1.
9662
24d744ac
KR
96632000-04-26 Ken Raeburn <raeburn@gnu.org>
9664
9665 * window.c (freeze_window_start): Check that minibuffer scroll
9666 window isn't nil before extracting the window structure pointer
9667 from it.
9668
9669 * undo.c (record_delete): If we hit the end of the undo list, stop
9670 picking elements apart.
9671
7464346d
GM
96722000-04-26 Gerd Moellmann <gerd@gnu.org>
9673
9674 * xdisp.c (display_line): If lines are continued, restore
9675 iterator's ascent/descent information to the values before the
9676 first glyph not fitting on the line.
9677
612839b6
GM
96782000-04-25 Gerd Moellmann <gerd@gnu.org>
9679
9680 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9681 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9682
9683 * dispnew.c (increment_matrix_positions): Renamed from
9684 increment_glyph_matrix_buffer_positions.
9685 (increment_row_positions): Renamed from
9686 increment_glyph_row_buffer_positions.
9687
9688 * dispextern.h: Change names of renamed functions from dispnew.c
9689 in prototypes.
9690
cc181e95
GM
96912000-04-24 Gerd Moellmann <gerd@gnu.org>
9692
abfcc168
GM
9693 * fileio.c (Fdo_auto_save): Create directories for auto-save
9694 list file if necessary.
9695
cc181e95
GM
9696 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9697 from buffer or frame.
9698 (automatic_hscrolling_p): New variable.
9699 (hscroll_windows): Scroll windows horizontally only if automatic
9700 hscrolling is allowed.
9701 (syms_of_xdisp): New variable `automatic-hscrolling'.
9702
9703 * frame.h (struct frame): Add member extra_line_spacing.
9704
9705 * xfns.c (x_set_line_spacing): New function.
9706 (Fx_create_frame): Set line spacing from resources.
9707 (Qline_spacing): New variable.
9708 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9709
cc181e95
GM
9710 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9711
9712 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9713 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9714 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9715 extra_line_spacing from default value.
9716 (init_buffer_once): Initialize default value of extra_line_spacing.
9717
9718 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9719 and extra3.
9720
9721 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9722 prompt_width. Add extra line spacing.
9723
9724 * term.c (produce_glyphs): Remove reference to struct it's
9725 prompt_width.
9726
9727 * dispextern.h (struct it): Remove member prompt_width, add
9728 extra_line_spacing.
9729
58827478
GM
97302000-04-22 Gerd Moellmann <gerd@gnu.org>
9731
9732 * dispnew.c (update_frame_line): When writing a whole line, make
9733 sure cursor is in the right row afterwards, otherwise a use of
9734 capability `ch' in cmgoto might leave the cursor in the row below.
9735
25a87f42
GM
97362000-04-21 Gerd Moellmann <gerd@gnu.org>
9737
9738 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9739
9740 * keyboard.c (timer_check): Fix typo in comment.
9741
54edf5c2
KH
97422000-04-21 Kenichi Handa <handa@etl.go.jp>
9743
9744 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9745 name change: ch -> character.
9746
3a64eef5
GM
97472000-04-20 Gerd Moellmann <gerd@gnu.org>
9748
9749 * keyboard.c (echo_message_buffer): New variable.
9750 (echo_now): Set echo_message_buffer to the echo area buffer used
9751 to display the echo.
9752 (cancel_echoing): Reset echo_message_buffer to nil.
9753 (read_char): Code rewritten that handles canceling an echo or
9754 echoing a dash, respectively.
9755
9756 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9757 directory doesn't exist.
9758
6142fdcb
DL
97592000-04-19 Dave Love <fx@gnu.org>
9760
9761 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9762 (concat): Don't allow numeric args.
9763 (Fconcat): Doc change.
6142fdcb 9764
ac6b5352
SM
97652000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9766
9767 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9768 instead define end_match(1|2) more carefully.
9769 Use GET_CHAR_BEFORE_2 for `begline'.
9770
cb9215e4
GM
97712000-04-19 Gerd Moellmann <gerd@gnu.org>
9772
5e3dac3f
GM
9773 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9774 on 64-bit systems where NULL is defined as `0'.
9775
9776 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9777 the `variable argument list' to make it work on Alpha.
9778
cb9215e4
GM
9779 * m/alpha.h (_LP64) [!_LP64]: Define.
9780 (ORDINARY_LINK): Define for NetBSD.
9781
9782 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9783
f532dca0
DL
97842000-04-19 Dave Love <fx@gnu.org>
9785
c750667e
DL
9786 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9787 change.
9788
9789 * Makefile.in (LIBS): Don't use.
9790 (GETLOADAVG_OBJ): Define again.
9791 (otherobj): Add GETLOADAVG_OBJ.
9792
f532dca0
DL
9793 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9794
1c7e22fd
GM
97952000-04-18 Gerd Moellmann <gerd@gnu.org>
9796
f6d3257b
GM
9797 * lread.c (read_filtered_event): Cancel and start busy cursor.
9798
427ec082 9799 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9800 that the per-character metrics may be null.
9801
e10f64e7
GM
98022000-04-17 Gerd Moellmann <gerd@gnu.org>
9803
0daee095
GM
9804 * buffer.c (clone_per_buffer_values): New function.
9805 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9806 clone_per_buffer_values if CLONE is not nil.
9807
e10f64e7
GM
9808 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9809
38687d43
DL
98102000-04-16 Dave Love <fx@gnu.org>
9811
9812 * Makefile.in: Remove obsolete localcpp stuff.
9813 (GETLOADAVG_OBJ): Don't define.
9814 (obj): Move LIBOBJS...
9815 (otherobj): ... to here.
9816 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9817 whitespace-only lines after the continuation (Irix).
9818
c21c7262
GM
98192000-04-14 Gerd Moellmann <gerd@gnu.org>
9820
9821 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9822
9823 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9824
314767c0
DL
98252000-04-14 Dave Love <fx@gnu.org>
9826
9827 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9828 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9829 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9830 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9831 NLIST_STRUCT.
9832
9833 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9834 autoconfiscated HAVE_GETLOADAVG.
9835
9836 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9837 BROKEN_MKTIME.
9838
a2522dca
GM
98392000-04-14 Gerd Moellmann <gerd@gnu.org>
9840
9841 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9842 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9843
33744b5d
DL
98442000-04-14 Dave Love <fx@gnu.org>
9845
c21c7262 9846 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9847 (INTERVAL_SRC): Convert to make variable.
9848 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9849 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9850 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9851 add LIBOBJS.
9852 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9853 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9854 (shortlisp): Add facemenu, float-sup, frame.
9855 (SOME_MACHINE_LISP): Remove them from here.
9856 (LIBES): Change unused LDLIBS to autoconf LIBS.
9857
9858 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9859
9d3d5916
KH
98602000-04-14 Kenichi Handa <handa@etl.go.jp>
9861
9862 * composite.c (update_compositions): If FROM and TO are not in a
9863 valid range, do nothing.
9864
198e3c7a
GM
98652000-04-13 Gerd Moellmann <gerd@gnu.org>
9866
52283633 9867 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9868
52283633 9869 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9870
9871 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9872 as TERMCAP_OBJ.
9873
055a28c9
EZ
98742000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9875
9876 * fileio.c (a_write): Remove redundant semi-colons.
9877 (e_write): Return -1 if failed to write all the data.
9878 This fixes the changes made at 1999-12-15.
9879
f5c75033
DL
98802000-04-12 Dave Love <fx@gnu.org>
9881
9882 * fns.c (mapcar1): Test for null vals to support mapc.
9883 (Fmapc): New function.
9884
0c3cfc51
EZ
98852000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9886
9887 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9888 (IT_frame_up_to_date): Support the buffer local value of
9889 cursor-type, if defined.
9890
33465a31
DL
98912000-04-10 Dave Love <fx@gnu.org>
9892
9893 * editfns.c (preceding-char, following-char): Doc fix.
9894
6ed56568
KR
98952000-04-10 Ken Raeburn <raeburn@gnu.org>
9896
9897 * Makefile.in (temacs): Revert 2000-03-12 change.
9898
7cf80d4e
JR
98992000-04-10 Jason Rumney <jasonr@gnu.org>
9900
9901 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9902
34f3f342
GM
99032000-04-10 Gerd Moellmann <gerd@gnu.org>
9904
1a1b1895
GM
9905 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9906 area buffer, if it's not set up yet.
9907
34f3f342
GM
9908 * indent.c (compute_motion): Set immediate_quit.
9909
be0dbdab
GM
99102000-04-09 Gerd Moellmann <gerd@gnu.org>
9911
52283633 9912 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9913 (realize_tty_face): Suppress boldness if colors are the inverse of
9914 the default colors, and tty_suppress_bold_inverse_default_colors_p
9915 is set.
9916 (Ftty_suppress_bold_inverse_default_colors): New function.
9917 (syms_of_xfaces): Defsubr it.
9918
be0dbdab
GM
9919 * buffer.c (Frestore_buffer_modified_p): New function.
9920 (syms_of_buffer): Defsubr it.
9921
e8413c3b
KR
99222000-04-08 Ken Raeburn <raeburn@gnu.org>
9923
87f67317
KR
9924 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9925 charset id (int) argument, not a charset (Lisp_Object).
9926
e8413c3b
KR
9927 * coding.h (code_convert_string): Declare.
9928 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9929 object, as the fourth argument to code_convert_string.
9930
52283633 9931 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9932 (Fset_fontset_font): Use EQ to compare lisp objects.
9933
7c752c80
KR
99342000-04-05 Ken Raeburn <raeburn@gnu.org>
9935
c0333abc
KR
9936 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9937 a pointer that looks like a lisp object.
9938 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9939 zero, instead see whether it's an integer object, since they can't
9940 have intervals.
9941 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9942
52283633
SM
9943 * dispnew.c (allocate_matrices_for_frame_redisplay)
9944 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9945 to convert between (unsigned) int values and lisp integers.
9946 * keyboard.c (read_key_sequence): Likewise.
9947 * lread.c (substitute_object_recurse): Likewise.
9948 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9949 * minibuf.c (do_completion, Fminibuffer_complete_word)
9950 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9951 * term.c (produce_special_glyphs): Likewise.
9952
9953 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9954 * print.c (print_preprocess, print_object): Likewise.
9955
9956 * search.c (compile_pattern): Use NILP when checking for nil.
9957
74e49b38
KR
9958 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9959 __OPTIMIZE__]: Provide a GNU C macro version that handles
9960 lisp-object unions.
9961 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9962 field, to better cope with ENABLE_CHECKING and calls that modify a
9963 Lisp_Object using its old value.
9964
685e5ed2
GM
99652000-04-04 Gerd Moellmann <gerd@gnu.org>
9966
c407c570
GM
9967 * window.c (compare_window_configurations): Signal an error
9968 if parameters C1 or C2 aren't window configurations.
9969
685e5ed2
GM
9970 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9971 AFTER_POTENTIAL_GC calls around calls to functions that can
9972 signal an error and thus invoke the debugger.
9973
587a49ab
GM
99742000-04-03 Gerd Moellmann <gerd@gnu.org>
9975
62f20204
GM
9976 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9977 an error if decoding fails.
9978
587a49ab
GM
9979 * keyboard.c (lispy_mouse_names): Variable removed.
9980 (Vlispy_mouse_stem): New variable.
9981 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9982 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9983 for any mouse button number. Increase size of mouse_syms and
9984 button_down_location as needed. Call modify_event_symbol with
9985 different arguments.
9986 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9987 Call modify_event_symbol with different arguments.
9988 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9989 for any button number. Call modify_event_symbol with different
9990 arguments.
9991 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9992 Accept a string for NAME_ALIST_OR_STEM.
9993
9994 * lisp.h (larger_vector): Add prototype.
9995
9996 * fns.c (larger_vector): Make externally visible.
9997
9998 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9999
2d1675e4
SM
100002000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10001
10002 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10003 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10004 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10005 we are between str1 and str2.
10006 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10007 (PATFETCH): Use `TRANSLATE'.
10008 (PATFETCH_RAW): Fetch multibyte char if applicable.
10009 (PATUNFETCH): Remove.
10010 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10011 When writing a char, write it directly into the pattern buffer rather
10012 than going needlessly through a temp char-array.
10013 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10014 multibyte magic and remove the useless `#ifdef emacs'.
10015 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10016 buffer.
10017
10018 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10019 conditional on `emacs'.
10020
10021 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10022
cc2d8c6b
KR
100232000-04-01 Ken Raeburn <raeburn@gnu.org>
10024
10025 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10026 non-union-type versions of XMARK and friends here, because XMARK
10027 and friends won't work on an integer field if NO_UNION_TYPE is not
10028 defined.
52283633 10029 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10030
52283633 10031 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10032 (syms_of_composite): Delete local var NARGS, pass an int as first
10033 argument to Fmake_hash_table.
10034
2387b382
KR
10035 * editfns.c (text_property_stickiness): Use NILP to test
10036 Lisp_Object boolean value.
10037 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10038 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10039 problems reading from and changing the same lisp value in an
10040 XSETSTRING call.
10041
27660e89
GM
100422000-04-01 Gerd Moellmann <gerd@gnu.org>
10043
10044 * term.c (TN_no_color_video): New variable.
10045 (term_init): Intitialize TN_no_color_video.
10046 (enum no_color_bit): New enumeration.
10047 (MAY_USE_WITH_COLORS_P): New macro.
10048 (turn_on_face): Use it to determine if attributes may be used
10049 combined with colors.
10050
3578db3c
KR
100512000-04-01 Ken Raeburn <raeburn@gnu.org>
10052
10053 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10054 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10055 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10056 proper accessor macros.
10057 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10058 (grow_mini_window): Fix typo getting int value of root->height.
10059
6fc556fd
KR
10060 * xdisp.c (compute_string_pos): Fix order of arguments to
10061 string_pos_nchars_ahead.
10062 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10063 count arg to variable-arg routines like Frun_hook_with_args and
10064 Fformat.
587a49ab
GM
10065 (back_to_previous_visible_line_start)
10066 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10067 fixed-arg routines like Fget_char_property and Fmake_string.
10068 (reconsider_clip_changes): Use XINT when comparing integer lisp
10069 objects, or passing them as int arguments.
587a49ab
GM
10070 (mark_window_display_accurate, insert_left_trunc_glyphs)
10071 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10072 storing or passing integer values as lisp objects.
10073 (set_cursor_from_row, highlight_trailing_whitespace): Use
10074 INTEGERP, not implicit test against zero, for glyph object.
10075 (try_window_id): Don't use make_number when we want an int value.
10076
10077 * xfaces.c (xlfd_symbolic_value): Make last argument a
10078 Lisp_Object, to be consistent with callers.
10079 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10080 (lface_hash): Apply XFASTINT to lisp values before folding in.
10081
10082 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10083 fill in window width and height. Pass an int, not a lisp object,
10084 as first arg to Finsert.
10085
6e7b2457
GM
100862000-04-01 Gerd Moellmann <gerd@gnu.org>
10087
610d841e
GM
10088 * xfaces.c (realize_basic_faces): Block input while realizing
10089 the faces.
10090
6e7b2457
GM
10091 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10092
10093 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10094
aa110c0c
GM
100952000-03-31 Gerd Moellmann <gerd@gnu.org>
10096
10097 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10098 or ASCII, handle case that per-char metric is null.
aa110c0c 10099
8801a864
KR
101002000-03-30 Ken Raeburn <raeburn@gnu.org>
10101
c6129d7e
KR
10102 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10103
52283633
SM
10104 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10105 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10106 pointer, using eassert.
10107 * frame.h (XFRAME): Likewise.
10108
52283633
SM
10109 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10110 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10111 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10112 * data.c (set_internal): Likewise.
52283633
SM
10113 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10114 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10115 * fileio.c (auto_save_1): Likewise.
10116 * insdel.c (check_markers): Likewise.
10117 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10118 * undo.c (record_insert): Likewise.
10119 * vmsproc.c (child_sig): Likewise.
10120 * window.c (unshow_buffer, window_loop): Likewise.
10121 * xterm.c (x_erase_phys_cursor): Likewise.
10122
8e7af858
GM
101232000-03-30 Gerd Moellmann <gerd@gnu.org>
10124
10125 * xfns.c (free_image_cache): Free the cache structure itself
10126 last, after all its members have been freed.
10127
10128 * lisp.h (xstrdup): Add prototype.
10129
10130 * alloc.c (xstrdup): Moved here from xfaces.c.
10131 (allocating_for_lisp): Variable removed.
52283633 10132 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10133
10134 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10135 of Fsymbol_value.
10136 (xstrdup): Moved to alloc.c.
10137
e0b8c689
KR
101382000-03-29 Ken Raeburn <raeburn@gnu.org>
10139
b96f9fb7
KR
10140 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10141
10142 * emacs.c (main): Fix sense of no-loadup test.
10143
e0b8c689
KR
10144 * config.in (ENABLE_CHECKING): Undef.
10145
10146 * lisp.h (struct interval): Replace "parent" field with a union of
10147 interval pointer and Lisp_Object; add new bitfield to use as
10148 discriminant. Change other flag fields to bitfields.
10149 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10150 is defined and the supplied test fails, print a message and abort.
10151 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10152
10153 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10154 pointers; abort if the value looks like a lisp object.
52283633
SM
10155 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10156 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10157 Modify for new interval parent definition.
10158
52283633
SM
10159 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10160 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10161 addressable lisp object in the interval structure.
10162 (die): New function.
10163 (suppress_checking): New variable.
10164
10165 * intervals.c (interval_start_pos): Just return 0 if there's no
10166 parent object.
10167
f83c5440
GM
101682000-03-29 Gerd Moellmann <gerd@gnu.org>
10169
10170 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10171 and earlier Emacs versions.
10172
10173 * keyboard.c (Ftop_level): Cancel busy-cursor.
10174
10175 * eval.c (call_debugger): Cancel busy-cursor.
10176
fdce64ff
KH
101772000-03-29 Kenichi Handa <handa@etl.go.jp>
10178
10179 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10180 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10181
f6a3f532
SM
101822000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10183
10184 * regex.c (analyse_first): New function obtained by ripping out most
10185 of re_compile_fastmap and generalizing it a little bit so that it
10186 can also just return whether a given (sub)pattern can match the empty
10187 string or not.
10188 (regex_compile): Use `analyse_first' to decide whether the loop-check
10189 needs to be done or not for *, +, *? and +? (the loop check is costly
10190 for non-greedy repetition).
10191 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10192
e9b309ac
DL
101932000-03-28 Dave Love <fx@gnu.org>
10194
52283633 10195 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10196
e9b309ac
DL
10197 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10198
ed0767d8
SM
101992000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10200
10201 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10202 an expression.
10203 (enum re_opcode_t): Update description of succeed_n.
10204 (PATFETCH): Always define.
10205 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10206 operators, char classes, shy-groups and intervals).
10207 Optimize special cases of intervals so as to only use succeed_n and
10208 jump_n when really needed.
10209 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10210 that we don't have to handle the special cases any more.
10211 Simplify on_failure_jump handling as well.
10212
e11e7e46
JR
102132000-03-28 Jason Rumney <jasonr@gnu.org>
10214
10215 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10216
88faab89
GM
102172000-03-27 Gerd Moellmann <gerd@gnu.org>
10218
182ff242
GM
10219 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10220
10221 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10222
182ff242
GM
10223 * alloc.c (mark_maybe_object): New function.
10224 (mark_memory): Use it.
10225 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10226 (setjmp_tested_p, longjmp_done): New variables.
10227 (test_setjmp): New function.
10228 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10229 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10230
c1005d06
GM
10231 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10232 to DEC_TEXT_POS and INC_TEXT_POS.
10233
10234 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10235 with parameter MULTIBYTE_P.
10236
52283633 10237 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10238
7439e5b9 10239 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10240 buffers because it looks for multibyte character byte sequences
10241 which don't exist in unibyte text.
7439e5b9 10242
d9c545da
GM
10243 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10244
11fd416e 10245 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10246 [DEBUG_X_COLORS]: New functions.
10247 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10248
10249 * xfns.c (x_set_cursor_color): Get color reference counts right.
10250
10251 * xterm.c (x_copy_color): New function.
10252 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10253
10254 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10255 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10256 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10257 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10258 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10259 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10260 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10261 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10262 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10263 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10264
11fd416e
GM
10265 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10266 names for handling per-buffer variables.
d9c545da
GM
10267
10268 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10269 instead of MAX_BUFFER_LOCAL_VARS.
10270 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10271
10272 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10273
88faab89
GM
10274 * xfns.c (x_specified_cursor_type): New function.
10275 (x_set_cursor_type): Use it.
10276
10277 * buffer.h (struct buffer): Add cursor_type.
10278
d80f42b7
SM
102792000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10280
10281 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10282 (print_partial_compiled_pattern, re_compile_fastmap):
10283 Handle new opcode.
d80f42b7
SM
10284 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10285 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10286 executing it as well as when popping it off the stack to find infinite
10287 loops in non-greedy repetition operators.
10288
89e80928
GM
102892000-03-26 Gerd Moellmann <gerd@gnu.org>
10290
3d4ff2dd
GM
10291 * doc.c (Qfunction_documentation): New variable.
10292 (syms_of_doc): Initialize Qfunction_documentation.
10293 (Fdocumentation): If FUNCTION is a symbol with non-nil
10294 `function-documentation' property, return a documentation derived
10295 from that.
10296
bd96bd79
GM
10297 * buffer.c (syms_of_buffer): Add default-cursor-type.
10298 (init_buffer_once): Don't let cursor_type have a local value
10299 in every buffer.
10300
19d1bc27
GM
10301 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10302 on buffer-local value of cursor_type.
10303 (x_draw_bar_cursor): Add parameter WIDTH.
10304
10305 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10306 (init_buffer_once): Set default cursor_type value to t.
10307 Mark cursor_type as local everywhere.
10308 (syms_of_buffer): New per-buffer variable cursor-type.
10309
89e80928
GM
10310 * buffer.h (struct buffer): Remove member local_var_flags,
10311 add local_flags.
10312 (MAX_BUFFER_LOCAL_VARS): New macro.
10313 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10314 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10315 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10316 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10317
52283633 10318 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10319
10320 * category.c (Fset_category_table): Use new macros for per-buffer
10321 variables.
10322
10323 * buffer.c (buffer_permanent_local_flags): Make a char array.
10324 (max_buffer_local_idx): New variable.
10325 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10326 for new handling of per-buffer variables.
10327 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10328 (init_buffer_once): Initialize per-buffer vars differently.
10329 Set max_buffer_local_idx.
10330
10331 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10332 variables.
10333
52283633 10334 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10335
10336 * data.c (do_symval_forwarding, store_symval_forwarding)
10337 (find_symbol_value, set_internal, default_value, Fset_default)
10338 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10339 per-buffer variables.
10340
10341 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10342
9a0dd3dc
GM
103432000-03-24 Gerd Moellmann <gerd@gnu.org>
10344
b68c375f
GM
10345 * xterm.c (x_term_init): Unblock input around call1 of
10346 Qvendor_specific_keysyms.
10347
9a0dd3dc
GM
10348 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10349 (find_defun_start): Consider an open parenthesis in column 0
10350 a defun start only if open_paren_in_column_0_is_defun_start is set.
10351 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10352
7973e637
SM
103532000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10354
10355 * eval.c (Fautoload): Add entry in load-history (if after dump).
10356 * lread.c (load-history): Update docstring.
10357
39210e90
GM
103582000-03-24 Gerd Moellmann <gerd@gnu.org>
10359
10360 * indent.c (Fvertical_motion): Always use the current buffer.
10361 Temporarily change the window's buffer, if necessary.
10362
72db3ab5
GM
103632000-03-23 Gerd Moellmann <gerd@gnu.org>
10364
10365 * xterm.c (fast_find_position): Make sure not to consider rows
10366 not visible in the window.
10367
990b2375
SM
103682000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10369
10370 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10371 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10372
ff4df011
JR
103732000-03-22 Jason Rumney <jasonr@gnu.org>
10374
10375 * w32menu.c (single_submenu): Set help string to NULL if none.
10376 (w32_menu_show): Set help string correctly.
10377 (add-menu-item): Set help string in MIIM_DATA for menu item.
10378 Load SetMenuItemInfoA explicitly.
10379 (w32_menu_display_help): New function.
427ec082 10380
ff4df011
JR
10381 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10382 (QCdata): Moved to xdisp.c.
10383
10384 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10385 (Vw32_charset_to_codepage_alist): Removed.
10386 (Vw32_charset_info_alist): New variable.
52283633
SM
10387 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10388 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10389 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10390 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10391 with TODO comment.
10392 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10393 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10394 Define Vw32_charset_info_alist and w32_charset symbols.
10395
103962000-03-22 Jason Rumney <jasonr@gnu.org>
10397
10398 * makefile.nt (w32bdf.obj): Update dependencies.
10399
10400 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10401
10402 * w32fns.c: Include fontset.h after dispextern.h.
10403 (Fx_create_frame): Do not create fontset.
10404 (w32_load_system_font): Doc fix.
10405 (Fx_close_connection): Free full_name if it is not shared.
10406
10407 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10408 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10409 Callers updated.
ff4df011
JR
10410 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10411 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10412 (w32_font_is_double_byte): New function, needs body.
10413 (x_append_glyph): Set glyph->glyph_not_available_p.
10414 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10415 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10416 character, convert it to a unibyte character.
10417 (struct glyph_string): Delete member `charset'.
10418 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10419 calculating it is found.
10420 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10421 the case that per char metric is not available correctly.
10422 (x_fill_glyph_string): Handle the case that the specific glyph is
10423 not available correctly.
10424 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10425 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10426 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10427 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10428 fontset. Don't call FS_LOAD_FONT.
10429
439d5cb4
KR
104302000-03-22 Ken Raeburn <raeburn@gnu.org>
10431
10432 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10433 (INT_LISPLIKE): New macro.
10434 (NULL_INTERVAL_P): Use it.
52283633
SM
10435 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10436 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10437 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10438
10439 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10440 explicit references to "parent" field of struct interval and
10441 associated unclean type conversions.
52283633
SM
10442 * intervals.c (create_root_interval, root_interval, rotate_right)
10443 (rotate_left, balance_possible_root_interval, split_interval_right)
10444 (split_interval_left, interval_start_pos, find_interval)
10445 (next_interval, previous_interval, update_interval)
10446 (adjust_intervals_for_insertion, delete_node, delete_interval)
10447 (adjust_intervals_for_deletion, merge_interval_right)
10448 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10449 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10450 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10451 Likewise.
10452 * syntax.c (update_syntax_table): Likewise.
10453
10454 * intervals.c (reproduce_tree_obj): New function, like
10455 reproduce_tree but takes a Lisp_Object for the parent. Declare
10456 with prototype.
10457 (graft_intervals_into_buffer): Use it when appropriate.
10458 (reproduce_tree): Declare with prototype.
10459 (balance_possible_root_interval): Check that the parent is a lisp
10460 object before trying to examine its type.
10461
ee1c5b21
GM
104622000-03-22 Gerd Moellmann <gerd@gnu.org>
10463
10464 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10465 as strings only if both are known to be strings.
10466
10467 * s/openbsd.h (LIBS_TERMCAP): Undef.
10468
1fb352e0
SM
104692000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10470
10471 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10472 definitions for non-Emacs compilation.
10473 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10474 outside of `#ifdef emacs'.
10475 (print_partial_compiled_pattern): Update.
10476 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10477 (re_compile_fastmap): Merge handling of charset and charset_not (for
10478 emacs and non-emacs compilation as well).
10479 Similarly for (not)categoryspec and (not)syntaxspec.
10480 Don't use the fastmap when reaching `anychar' since the added
10481 complexity is not justified.
10482 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10483 and (not)syntaxspec. Merge (not)categoryspec.
10484
fdaa1f77
KH
104852000-03-22 Kenichi Handa <handa@etl.go.jp>
10486
52283633
SM
10487 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10488 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10489 --without-x.
fdaa1f77 10490
d152fb46
DL
104912000-03-21 Dave Love <fx@gnu.org>
10492
10493 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10494 doc string.
10495
d2cafc8c
GM
104962000-03-21 Gerd Moellmann <gerd@gnu.org>
10497
10498 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10499 (lface_fully_specified_p): Don't check contents of
10500 LFACE_FONT_INDEX because that attribute is optional.
10501 (realize_x_face): Remove now unwarranted xassert.
10502
9111d4b5
KH
105032000-03-21 Kenichi HANDA <handa@etl.go.jp>
10504
10505 The following changes are to make font selection based on
10506 characters, not charset. In addition, they recover fontset
10507 facilities while utilizing the new font selection mechanism.
10508
6c4bfdc0
KH
10509 * Makefile.in (fontset.o): Depend on dispextern.h.
10510
10511 * alloc.c (mark_face_cache): Don't mark face->registry.
10512
9111d4b5
KH
10513 * dispextern.h (struct glyph): New member glyph_not_available_p.
10514 Use 22 bits for face_id.
10515 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10516 (struct face): Delete member registry, new member ascii_face.
10517 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10518 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10519 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10520 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10521
10522 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10523 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10524 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10525 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10526 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10527 (fs_free_face_fontset, fontset_font_pattern)
10528 (face_suitable_for_char_p, face_for_char)
10529 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10530 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10531 (FS_LOAD_FACE_FONT): New macro.
10532
10533 * fontset.c: All codes rewritten or adjusted for the change of
10534 fontset implementation. Now fontset is represented by char table.
52283633
SM
10535 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10536 Variables removed.
9111d4b5 10537 (my_strcasecmp): Function removed.
52283633 10538 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10539 (AREF, ASIZE): New macros.
52283633
SM
10540 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10541 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10542 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10543 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10544 (fontset_id_valid_p, font_family_registry, fontset_name)
10545 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10546 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10547 New functions.
10548 (fs_load_font): New arg FACE. Caller changed.
10549 (fs_query_fontset): Argument changed. Caller changed.
10550 (Fquery_fontset): call fs_query_fontset.
10551 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10552 Functions removed.
52283633
SM
10553 (clear_fontset_elements, check_registry_encoding)
10554 (check_fontset_name): New functions.
9111d4b5
KH
10555 (syms_of_fontset): Set char-table-extra-slots property of fontset
10556 to 3. Staticpro and initialize Vfontset_table and
10557 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10558
10559 * frame.h (struct frame): Member `fontset_data' removed.
10560 (FRAME_FONTSET_DATA): Macro removed.
10561
10562 * frame.c (make_frame): Don't allocate f->fontset_data.
10563 (Fdelete_frame): Don't free f->fontset_data.
10564
6c4bfdc0
KH
10565 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10566
9111d4b5
KH
10567 * xdisp.c (charset_at_position): Function removed.
10568 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10569 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10570 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10571 Likewise.
10572 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10573 FACE_FOR_CHARSET.
52283633
SM
10574 (get_next_display_element, append_space)
10575 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10576
10577 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10578 Variables removed.
10579 (clear_font_table, frame_update_line_height, load_face_font):
10580 Adjusted for the change of fontset implementation.
10581 (load_face_fontset_font): Function removed.
10582 (pixel_point_size): New function.
10583 (font_list): Argument type changed. Caller changed.
10584 (LFACE_FONT): New macro.
10585 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10586 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10587 Lisp_Object. Determine the font name by actually loading a font
10588 by the specified pattern. Set LFACE_FONT (lface) to the specified
10589 pattern. Even if a font is not found, don't try alternatives.
10590 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10591 (set_font_frame_param): If `font' is specified in lface, use it.
10592 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10593 (lface_same_font_attributes_p): Likewise.
10594 (make_realized_face): Arguent changed. Caller changed. Set
10595 face->ascii_face to face itself.
10596 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10597 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10598 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10599 (free_realized_multibyte_face): New function.
10600 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10601 changed. Caller changed.
10602 (try_font_list): Argument type changed.
10603 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10604 (choose_face_font): Argument changed. Handle fontset properly.
10605 (choose_face_fontset_font): Function removed.
10606 (realize_default_face, realize_named_face): Don't remove the
10607 former face here.
10608 (realize_face): Argument changed. Caller changed. Remove face
52283633 10609 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10610 (realize_x_face): Argument changed. Caller changed. For a
10611 multibyte character, share fontset with base_face. For a single
52283633 10612 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10613 (realize_tty_face): Argument changed. Caller changed.
10614 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10615 (face_at_buffer_position): Don't check multibyte_p for returning
10616 DEFAULT_FACE_ID.
10617 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10618 FACE_SUITABLE_FOR_CHARSET_P.
10619 (syms_of_xfaces): Remove code for Qx_charset_registry and
10620 Vface_default_registry.
10621
6c4bfdc0
KH
10622 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10623 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10624 (x_per_char_metric): Don't try FONT->default_char. Even if
10625 pcm->width is zero, glyph bits may exist.
10626 (x_encode_char): Always initialize char2b->byte1.
10627 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10628 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10629 (x_append_glyph): Set glyph->glyph_not_available_p.
10630 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10631 it->charset. Handle the case that per char metric is not
10632 available. If it->multibyte_p is zero and it->c is a multibyte
10633 character, convert it to a unibyte character.
10634 (struct glyph_string): Delete member `charset'.
10635 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10636 the case that per char metric is not available correctly.
10637 (x_fill_glyph_string): Handle the case that the specific glyph is
10638 not available correctly.
10639 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10640 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10641 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10642 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10643 fontset. Don't call FS_LOAD_FONT.
10644
10645 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10646 (x_create_tip_frame): Likewise.
10647 (Fx_close_connection): Free full_name of font_info.
10648
10649 * fns.c (optimize_sub_char_table): New function.
10650 (Foptimize_char_table): New function.
10651 (syms_of_fns): Defsubr Soptimize_char_table.
10652
b33dd3b0
GM
106532000-03-20 Gerd Moellmann <gerd@gnu.org>
10654
10655 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10656 only if buffer is displayed in some window.
10657
10658 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10659 (try_window_reusing_current_matrix): Don't call scroll run
10660 function if run's current and desired position are the same;
10661 this prevents cursor flickering.
10662
4e8a9132
SM
106632000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10664
10665 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10666
10667 * regex.c (RE_STRING_CHAR): New macro.
10668 (GET_CHAR_AFER_2): Remove.
10669 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10670 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10671 (print_partial_compiled_pattern, re_compile_fastmap)
10672 (re_match_2_internal): Remove on_failure_jump_exclusive.
10673 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10674 optimization only need to work for * (ie. can use of_keep_string_jump).
10675 Remove the special case for .*\n since it is now covered by the general
10676 optimization.
10677 (re_search_2): Don't bother with `room'.
10678 (skip_one_char): New function.
10679 (skip_noops): Simplify since `memory' is not needed any more.
10680 (mutually_exclusive_p): Restructure slightly to use `switch' and
10681 add handling for "all" remaining cases.
10682 (re_match_2_internal): Change on_failure_jump_smart to use
10683 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10684 rather than on_failure_jump_exclusive.
10685
2136fdd4
GM
106862000-03-19 Gerd Moellmann <gerd@gnu.org>
10687
10688 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10689 number of bits per RGB because it's everywhere used as the depth
10690 of the visual.
10691
10692 * term.c (calculate_costs): Remove code dealing with X frames.
10693
18e21ce8 106942000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10695
10696 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10697
d7b511c4
GM
106982000-03-18 Gerd Moellmann <gerd@gnu.org>
10699
10700 * lread.c (read_integer): Unread the last char not consumed.
10701
16b5d424
GM
107022000-03-17 Gerd Moellmann <gerd@gnu.org>
10703
10704 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10705 which are in the process of being deleted.
16b5d424 10706
1fa28578
GM
107072000-03-16 Gerd Moellmann <gerd@gnu.org>
10708
83488cce
GM
10709 * Makefile.in (mostlyclean): Add `*.core'.
10710 (clean): Add `bootstrap-emacs'.
10711
1fa28578
GM
10712 * lread.c (read_integer): New function.
10713 (read1): Support read syntax #o, #x, #b, #r.
10714
99633e97
SM
107152000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10716
1fa28578
GM
10717 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10718 make sure POINTER_TO_OFFSET gives the same value before and after
10719 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10720 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10721 (debug): Now only active if > 0 rather than if != 0.
10722 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10723 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10724 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10725 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10726 (store_op1, store_op2, insert_op1, insert_op2)
10727 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10728 (group_in_compile_stack): Move to after its arg's types are
10729 declared and add a prototype.
99633e97 10730 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10731 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10732 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10733 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10734 indentation of the greedy-op and shy-group code.
99633e97
SM
10735 (at_(beg|end)line_loc_p): Fix argument's types.
10736 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10737 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10738 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10739 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10740 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10741 QUIT unconditionally.
99633e97 10742
699238d9
GM
107432000-03-15 Gerd Moellmann <gerd@gnu.org>
10744
10745 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10746 a sole completion.
10747
10748 * process.c (send_process): Add a hint that the function
10749 can call Lisp code to its comment.
10750
10751 * lread.c (load_dangerous_libraries): New variable.
10752 (Vbytecomp_version_regexp): New variable.
10753 (safe_to_load_p): New function.
10754 (Fload): Handle files not compiled with Emacs specially.
10755 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10756
34e23e5a
GM
107572000-03-14 Gerd Moellmann <gerd@gnu.org>
10758
9c763cca
GM
10759 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10760
10761 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10762 support functions only if HAVE_X11R6_XIM is defined.
10763 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10764
10765 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10766
10767 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10768 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10769 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10770
10771 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10772 (HAVE_X11R6_XIM): Define.
10773
10774 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10775
34e23e5a
GM
10776 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10777 If set, call XSynchronize.
10778
66f0296e
SM
107792000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10780
34e23e5a
GM
10781 * regex.c: Declare a new type `re_char' used throughout the code
10782 for the string char type. It's `const unsigned char' to match the
10783 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10784 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10785 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10786 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10787 code duplication.
66f0296e
SM
10788
10789 * charset.h (GET_CHAR_AFTER_2): Remove.
10790 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10791
854a025c
KR
107922000-03-12 Ken Raeburn <raeburn@gnu.org>
10793
10794 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10795 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10796 of them try to use backquotes.
10797
b9d2c7e2
DL
107982000-03-12 Dave Love <fx@gnu.org>
10799
10800 * unexelf.c: Restore changes of 1999-10-19.
10801 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10802 fix its type and alignment; copy it from current process.
10803
5e5dff44
GM
108042000-03-12 Gerd Moellmann <gerd@gnu.org>
10805
9b2f3c38
GM
10806 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10807 has been found. Fix bug not computing timer's predecessor.
10808
427ec082 10809 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10810 file name.
10811
e1cff360
GM
10812 * window.c (Fsave_window_excursion): Doc fix.
10813
52283633 10814 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10815
e411ce4b
EZ
108162000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10817
10818 * msdos.c (vga_installed): New function, code moved from
10819 dos_set_window_size.
10820 (Qbar, Qcursor_type, outside_cursor): New variables.
10821 (syms_of_msdos): Intern and staticpro them.
10822 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10823 shape used outside Emacs when called for the first time.
10824 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10825 cursor shape used outside Emacs.
10826 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10827 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10828 type has changed.
10829 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10830 parameters specify the cursor. Make qreverse a global
10831 variable (renamed to Qreverse).
10832
80460654
GM
108332000-03-09 Gerd Moellmann <gerd@gnu.org>
10834
10835 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10836
95cd4c40
SM
108372000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10838
10839 This is a big redesign of failure-stack and register handling, prompted
10840 by bugs revealed when trying to add shy-groups. Overall, what happened
10841 is that loops are now structured a little differently, groups can be
10842 shy and the code is a little simpler.
10843
10844 * regex.h: Update the copyright.
10845 (RE_SHY_GROUPS): New value.
10846 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10847 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10848
80460654
GM
10849 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10850 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10851 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10852 for (start|stop)_memory since they now only take one argument (the
10853 second has becomes unnecessary).
52283633 10854 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10855 (print_compiled_pattern): Use %ld to printf long ints and flush to
10856 make debugging a little easier.
95cd4c40
SM
10857 (union fail_stack_elt): Make the integer unsigned.
10858 (struct fail_stack_type): Add a `frame' element.
10859 (INIT_FAIL_STACK): Init `frame' as well.
10860 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10861 (DEBUG_PUSH, DEBUG_POP): Remove.
10862 (NUM_REG_ITEMS): Remove.
10863 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10864 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10865 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10866 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10867 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10868 New macros.
80460654
GM
10869 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10870 address pushed is not the destination of the jump but the source
10871 of it instead.
95cd4c40
SM
10872 (NUM_FAILURE_ITEMS): Remove.
10873 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10874 registers before the actual failure point). Don't hardcode any
10875 meaning for str==NULL anymore.
95cd4c40 10876 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10877 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10878 Remove.
95cd4c40
SM
10879 (REG_UNSET_VALUE): Use NULL (why not?).
10880 (compile_range): Remove declaration since it doesn't exist.
10881 (struct compile_stack_elt_t): Remove inner_group_offset.
10882 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10883 (regex_grow_registers): Remove dead code.
10884 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10885 (regex_compile): Add shy-groups Change loops to use
10886 on_failure_jump_smart&jump instead of
10887 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10888 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10889 variable to me). Use `jump' instead of `jump_past_alt' and don't
10890 bother with push_dummy_failure in alternatives since it is now
10891 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10892 emacs' for (re)allocating the stack.
10893 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10894 from loop when bufp->can_be_null rather than jumping to `done'.
10895 Avoid jumping backwards so as to ensure termination. Use
10896 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10897 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10898 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10899 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10900 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10901 (lowest_active_reg, highest_active_reg)
10902 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10903 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10904 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10905 variables. Push register (in `start_memory') on the stack rather
10906 than storing it in old_reg(start|end). Remove the cycle detection
10907 from `stop_memory', replaced by the use of on_failure_jump_loop
10908 for greedy loops. Add code for the new on_failure_jump_<foo>.
10909 Remove ad-hoc code in `on_failure_jump' to push more registers in
10910 the case of a loop. Take out code from `maybe_pop_jump' into
10911 separate functions and adapt it to the semantics of
10912 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10913 and push_dummy_failure. Remove dummy_failure handling and
10914 handling of `failures to jump to on_failure_jump' (this last one
10915 was already dead code, it seems).
10916 (group_match_null_string_p, alt_match_null_string_p)
10917 (common_op_match_null_string_p): Remove.
95cd4c40 10918
7397acc4
DL
109192000-03-08 Dave Love <fx@gnu.org>
10920
10921 * config.in: Don't depend on __STDC__ for volatile.
10922 Add POINTER_TYPE, PTR, PROTOTYPES.
10923
10924 * hftctl.c, strftime.c: Use PROTOTYPES.
10925 * eval.c (find_handler_clause): Likewise.
10926
10927 * mem-limits.h: Use POINTER_TYPE.
10928
10929 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10930 (memory_warnings): Declare using POINTER_TYPE.
10931
5e91ff9e
GM
109322000-03-08 Gerd Moellmann <gerd@gnu.org>
10933
feab4fba
GM
10934 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10935
52283633 10936 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10937
5e91ff9e
GM
10938 * xfns.c: Remove obsolete code in #if 0.
10939 (Fx_focus_frame): New function.
10940
a735b7e1
KH
109412000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10942
10943 * coding.c (coding_category_name): Add coding-category-utf-8,
10944 coding-category-utf-16-be, coding-category-utf-16-le.
10945 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10946 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10947 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10948 (detect_coding_utf_8): New function.
10949 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10950 UTF_16_LOW_SURROGATE_P): New macros.
10951 (detect_coding_utf_16): New function
10952 (detect_coding_mask): When priorities are specified, skip any
10953 categories that have `nil' coding-system. Fix bug of returning
10954 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10955 returns a mask not set in PRIORITIES.
10956 (detect_eol_type_in_2_octet_form): New function.
10957 (detect_eol): selects detect_eol_type_XXX to call according to
10958 cooding->category_idx.
10959 (detect_coding_system): Remove `nil' coding-system in the result.
10960 (Fupdate_coding_systems_internal): Update all coding-categories.
10961
52283633
SM
10962 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10963 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10964 New macros.
10965 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10966 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10967 (CODING_CATEGORY_IDX_UTF_16_LE)
10968 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10969 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10970 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10971 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10972
9994cc69
GM
109732000-03-07 Gerd Moellmann <gerd@gnu.org>
10974
e9b4e5ff
GM
10975 * doc.c (Fdocumentation_property): If value is not a string,
10976 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10977
f7daf1e1
GM
10978 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10979 close the display with XtCloseDisplay. This caused a bus error
10980 on OpenWindows.
10981
9994cc69
GM
10982 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10983 complete but not unique.
10984
4336c705
GM
109852000-03-06 Gerd Moellmann <gerd@gnu.org>
10986
18bb0684
GM
10987 * process.c (send_process): Remove local variable `procname' that
10988 might become invalid when a GC happens. Instead, access the
10989 process name slot directly.
10990
4336c705
GM
10991 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10992 orig_height if set.
10993
10994 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10995 orig_height if set.
10996
515d0d0e
EZ
109972000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10998
10999 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11000 glyph matrices have been freed.
11001
100b3cbb
GM
110022000-03-05 Gerd Moellmann <gerd@gnu.org>
11003
50df5e5a 11004 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11005 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11006
11007 * xfns.c (QCdata): Moved to xdisp.c.
11008
11009 * xdisp.c (QCdata): Moved here from xfns.c.
11010 (syms_of_xdisp): Initialize QCdata.
11011
11012 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11013
11014 * window.c (coordinates_in_window): Use
11015 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11016 FRAME_INTERNAL_BORDER_WIDTH.
11017
100b3cbb 11018 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11019 it is obviously invalid.
100b3cbb
GM
11020
11021 * xterm.c (x_term_init): Create a colormap if not using the
11022 default visual.
11023
11024 * xterm.h (select_visual): Change prototype.
11025
11026 * xfns.c (select_visual): Rewritten. Recognize user-specified
11027 visual classes.
11028 (visual_classes): New variable.
11029
64d739c4
GM
110302000-03-04 Gerd Moellmann <gerd@gnu.org>
11031
11032 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11033 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11034 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11035 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11036 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11037 XtNcolormap resources.
11038 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11039 (Fx_create_frame): Initialize color members of x_output structure.
11040 (xpm_load): Pass colormap to XPM lib.
11041
11042 * xfaces.c (x_free_colors): Access colormap of frame using
11043 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11044 when default colormap is used.
11045
11046 * xterm.c (x_term_init): Set Colormap member of x_display_info
11047 structure. Copy colormap if resource `privateColormap' is
11048 specified (PseudoColor only).
11049 (x_setup_relief_color): Access colormap of frame using
11050 FRAME_X_COLORMAP.
11051
11052 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11053 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11054
c3cee013
JR
110552000-03-04 Jason Rumney <jasonr@gnu.org>
11056
11057 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11058 other non-platform-specific equivalents.
64d739c4 11059 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11060 specific functions and macros as their w32 equivalents where
11061 non-platform-specifics are not available.
11062 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11063 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11064 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11065 (frame_update_line_height): Use macros to access f->output_data.
11066 (defined_color): Remove FIXME comments; fixed.
11067 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11068 into #ifdef blocks. Add WINDOWSNT blocks.
11069 (Fx_list_fonts): Use macros for accessing font data.
11070 (set_lface_from_font_name): Different default fonts for X and
11071 WINDOWSNT.
11072 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11073 scalable for backward compatibility.
64d739c4 11074 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11075 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11076
64d739c4 11077 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11078 syms_of_w32faces.
11079
11080 * makefile.nt (w32faces.obj): Remove.
11081 (xfaces.obj): Add.
11082
807cc41c
JR
110832000-03-03 Jason Rumney <jasonr@gnu.org>
11084
11085 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11086 correct parameters.
11087
0007072a
KR
110882000-03-03 Ken Raeburn <raeburn@gnu.org>
11089
11090 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11091 standard ELF definitions here if the system header does not.
11092
71a6ba55
GM
110932000-03-03 Gerd Moellmann <gerd@gnu.org>
11094
11095 * xterm.c (PER_CHAR_METRIC): Removed.
11096 (x_per_char_metric_1, x_default_char): New functions.
11097 (x_per_char_metric): If font's default char is invalid, return
11098 metrics of a suitably chosen usable default char.
11099 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11100 char, replace occurrences of unprintable chars with a suitably
11101 chosen usable default char.
71a6ba55 11102
900fa1f1
GM
111032000-03-02 Gerd Moellmann <gerd@gnu.org>
11104
42f55fe0
GM
11105 * xterm.c (note_mouse_highlight): Return quickly if frame's
11106 glyph matrices have been freed.
11107
11108 * dispnew.c (free_glyphs): Block input while freeing matrices.
11109
900fa1f1
GM
11110 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11111
52283633
SM
11112 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11113 Use x_free_colors.
900fa1f1
GM
11114
11115 * dispextern.h (x_free_colors): Add prototype.
11116
11117 * xfaces.c (x_free_colors): New function.
11118 (unload_color, free_face_colors): Use it.
11119
2f950292
EZ
111202000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11121
11122 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11123
11124 * window.c [MSDOS]: Include msdos.h.
11125
54d04320
DL
111262000-03-02 Dave Love <fx@gnu.org>
11127
11128 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11129
11130 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11131 set C_OPTIMIZE_SWITCH for gcc.
11132
0ba93ac4
KH
111332000-03-02 Kenichi Handa <handa@etl.go.jp>
11134
11135 * coding.c (coding_save_composition): Be sure to allocate
11136 composition data area in coding even if there's no composition in
11137 the current run.
11138
a2bc11d4
JR
111392000-03-01 Jason Rumney <jasonr@gnu.org>
11140
11141 * w32term.c: Equivalent changes to those made to xterm.c on
11142 2000-02-25 and 2000-02-24.
11143
11144 * w32fns.c: Equivalent changes to those made to xfns.c on
11145 2000-02-25 and 2000-02-21.
11146
11147 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11148 correct line-end convention is followed.
11149
11150 * w32menu.c [HAVE_BOXES]: Remove #undef.
11151 (single_keymap_panes): Remove code for simulating checkmarks.
11152 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11153 Remove code for drawing simulated checkmarks.
11154 (w32_menu_show): make unibyte help string correctly.
11155 (add_menu_item): draw standard Windows checkmarks. Draw radio
11156 buttons as radio buttons if possible.
11157
72d19d75
GM
111582000-03-01 Gerd Moellmann <gerd@gnu.org>
11159
2df636f4
GM
11160 * sysdep.c (start_of_text): Don't define this function for NetBSD
11161 with ELF.
11162
427ec082 11163 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11164 Don't define.
11165 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11166 (LINKER): Don't undef if __NetBSD__ is defined.
11167
11168 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11169
11170 * fileio.c [__NetBSD__]: Define `unix'.
11171
72d19d75
GM
11172 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11173
ed4d0512
GM
111742000-02-29 Gerd Moellmann <gerd@gnu.org>
11175
50b1039f
GM
11176 * atimer.c (start_atimer): Don't abort when timers are stopped.
11177 (append_atimer_lists): New function.
11178 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11179 arbitrary lists of stopped and running atimers.
11180
ed4d0512
GM
11181 * atimer.c (cancel_atimer): Handle canceling an atimer when
11182 some timers are stopped.
11183
11184 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11185 after canceling it.
11186
11187 * fns.c (maybe_resize_hash_table): Handle case of new size
11188 coming out as being the same as old size.
11189
387023ee
JR
111902000-02-27 Jason Rumney <jasonr@gnu.org>
11191
11192 * makefile.nt: Add atimer.h to dependencies.
11193 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11194 * w32console.c: Only disable window system features for dispextern.h
11195 (initialize_w32_display): Build a display info for the console.
11196 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11197 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11198 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11199 as 2 button mice.
11200 * w32gui.h (struct W32FontStruct): Revert last change after change
11201 to xdisp.c.
11202 * w32menu.c (single_submenu): Set up help string.
11203 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11204 (w32_dialog_show): Set up help string.
11205 * w32term.c (w32_display_info_for_display): Remove unused function.
11206 (w32_draw_bitmap): Use pre-built bitmaps.
11207 (w32_initialize_display_info): New function to initialize parts of
11208 display info that are common to both GUI and console frames.
11209 (w32_term_init): Use w32_initialize_display_info. Do not set
11210 Vw32_num_mouse_buttons here, as it is not called for console
11211 frames. Build bitmaps for indicating truncated lines etc.
11212 (x_delete_display): Destroy pre-built bitmaps.
11213 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11214 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11215
4516715a
DL
112162000-02-27 Dave Love <fx@gnu.org>
11217
11218 * lisp.h: Add a bunch of prototypes.
11219
171ca836
KH
112202000-02-26 Kenichi Handa <handa@etl.go.jp>
11221
11222 * keyboard.c (read_char): Set `usec' correctly.
11223
4013921d
KH
112242000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11225
11226 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11227 `lambda', set reg[RRR] to the map index.
11228 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11229 reg[RRR] to 0. Otherwise, set it to -1.
11230
9244a058
GM
112312000-02-25 Gerd Moellmann <gerd@gnu.org>
11232
2df636f4 11233 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11234
18e21ce8 112352000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11236
f43d79c1
GM
11237 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11238 and contains a `:', prepend `/:'.
11239
11240 * window.c (select_window_1): If selected_window is nil,
11241 don't "swap out" the buffer's point.
11242 (Fset_window_configuration): Set selected_window to nil
11243 before calling Fselect_window.
11244 (unshow_buffer): Don't set point in buffer from window's point
11245 if another more recently selected window also shows the buffer.
11246
bed0c171
GM
112472000-02-25 Gerd Moellmann <gerd@gnu.org>
11248
449c3c52
GM
11249 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11250
f5b58615
GM
11251 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11252 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11253 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11254 New variables.
f5b58615
GM
11255 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11256 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11257 (hide_busy_cursor): New functions.
11258 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11259
11260 * minibuf.c (read_minibuf): Cancel busy-cursor.
11261
11262 * keyboard.c (command_loop_1): Call start_busy_cursor before
11263 Fcommand_execute and cancel_busy_cursor after it.
11264 (timer_check): Remove busy-cursor code.
11265 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11266 cursor timer.
11267
11268 * process.c (wait_reading_process_input): Remove busy-cursor code.
11269
11270 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11271 Fx_hide_busy_cursor.
11272
11273 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11274 Remove prototyoes.
11275 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11276
11277 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11278
11279 * xterm.c (XTread_socket): Remove busy-cursor code.
11280
4eb8436f
GM
11281 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11282 (build_frame_matrix_from_leaf_window): Put code handling
11283 glyph row's not being a slice of a frame row in #if 0.
11284 (sync_window_with_frame_matrix_rows): New function.
11285 (frame_row_to_window): New function.
11286 (mirror_line_dance): Handle copies between windows.
11287
3cb65b0e
GM
11288 * lread.c (Fload): Use `xfree' instead of `free'.
11289 (init_obarray): Use `xmalloc' instead of `malloc'.
11290
bed0c171
GM
11291 * window.c (Fset_window_buffer): Set WINDOW to the window
11292 after decoding.
2add4349
GM
11293 (coordinates_in_window): Take frame's internal border width
11294 into account.
bed0c171 11295
42088c12
GM
112962000-02-24 Gerd Moellmann <gerd@gnu.org>
11297
11298 * xterm.c (x_display_and_set_cursor): Display cursor of
11299 non-selected windows depending on the setting of
11300 cursor_in_non_selected_windows.
11301
11302 * xdisp.c (cursor_in_non_selected_windows): New variable.
11303 (syms_of_xdisp): DEFVAR_BOOL it.
11304
d1e103b2
GM
113052000-02-23 Gerd Moellmann <gerd@gnu.org>
11306
723e779c
GM
11307 * data.c (Fstring_to_number): If number is greater than what
11308 fits into an integer, return a float.
11309
d1e103b2
GM
11310 * eval.c (specbind): Remove references to
11311 keyword_symbols_constant_flag.
11312
11313 * data.c (keyword_symbols_constant_flag): Removed.
11314 (Fmakunbound, set_internal, syms_of_data): Remove references to
11315 keyword_symbols_constant_flag.
11316
11317 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11318
214f877f
KH
113192000-02-23 Kenichi Handa <handa@etl.go.jp>
11320
11321 * syntax.c (multibyte_syntax_as_symbol): New variable.
11322 (syms_of_syntax): Declare it as a Lisp variable.
11323 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11324 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11325 nonzero, treat all multibyte characters as symbol.
52283633 11326 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11327
130adcb7
EZ
113282000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11329
3cb65b0e 11330 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11331 a deleted frame.
130adcb7 11332
17cbbf95
GM
113332000-02-21 Gerd Moellmann <gerd@gnu.org>
11334
11335 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11336
11337 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11338 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11339
beb0bc36
DL
113402000-02-21 Dave Love <fx@gnu.org>
11341
11342 * frame.c (Vmouse_position_function): New variable.
11343 (Fmouse_position): Use it.
11344 (syms_of_frame): Install it.
11345
11346 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11347
1d92afcd
GM
113482000-02-20 Gerd Moellmann <gerd@gnu.org>
11349
11350 * fileio.c (Finsert_file_contents): Unbind the binding of
11351 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11352
11353 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11354 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11355 (specbind, unbind_to): Handle most common case of non-constant
11356 symbol with trivial value specially.
11357
11358 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11359
18e21ce8 113602000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11361
11362 * data.c (Fmake_variable_buffer_local): Doc fix.
11363 Init found_for_buffer to 0.
11364 (Fmake_variable_frame_local): If the variable has already
11365 been buffer-local, set the check_frame field.
11366
1d4311c3
EZ
113672000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11368
11369 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11370 produced for CODING_MODE_LAST_BLOCK requires.
11371
2dc95ddd
DL
113722000-02-18 Dave Love <fx@gnu.org>
11373
11374 * keyboard.c (echo_keystrokes): Remove declaration.
11375 (Vecho_keystrokes) New variable.
11376 (read_char, record_menu_key, read_key_sequence): Use it to allow
11377 use of float value.
11378 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11379
11380 * lread.c: Undef feature selection macros before defining.
11381
f0930f35
GM
113822000-02-18 Gerd Moellmann <gerd@gnu.org>
11383
11384 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11385 for symbols other than the symbol in question.
11386
e3d4de90
DL
113872000-02-17 Dave Love <fx@gnu.org>
11388
11389 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11390
0b378936
GM
113912000-02-17 Gerd Moellmann <gerd@gnu.org>
11392
d621caf7
GM
11393 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11394
0b378936
GM
11395 * alloc.c (enum mem_type): Compile unconditionally.
11396
3b451f74
EZ
113972000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11398
11399 * xfaces.c (tty_defined_color): Don't return faulire indication
11400 for unspecified-fg and unspecified-bg pseudo-colors.
11401
10689a01
GM
114022000-02-17 Gerd Moellmann <gerd@gnu.org>
11403
1216f5e4
GM
11404 * alloc.c (mark_object): Don't mark symbol names in pure space.
11405 (gc_sweep): Don't unmark symbol names in pure space.
11406
11407 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11408 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11409 [GC_MARK_STACK]: New defines.
427ec082 11410 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11411 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11412
11413 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11414
11415 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11416 allocate_buffer instead of xmalloc.
11417
11418 * alloc.c (toplevel): Include setjmp.h.
11419 (PURE_POINTER_P): New define.
11420 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11421 (Vdead) [GC_MARK_STACK]: New variable.
11422 (lisp_malloc): Add parameter TYPE, call mem_insert if
11423 GC_MARK_STACK is defined.
11424 (allocate_buffer): New function.
427ec082 11425 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11426 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11427 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11428 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11429 (MEM_NIL) [GC_MARK_STACK]: New define.
11430 (struct mem_node) [GC_MARK_STACK]: New structure.
11431 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11432 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11433 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11434 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11435 (mark_stack) [GC_MARK_STACK]: New functions.
11436 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11437 (clear_marks): Removed.
11438 (gc_sweep): Set free conses' car, free floats' type, free
11439 symbols' function to Vdead. Use lisp_free to free buffers.
11440 (init_alloc_once): Initialize Vdead.
11441 (survives_gc_p): Return non-zero for pure objects.
11442
11443 * alloc.c: Add comments throughout the file.
11444
2503c8b1
GM
11445 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11446 that unblocks alarms.
11447
8389e1e2
GM
11448 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11449 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11450 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11451
10689a01 11452 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11453
bfc17d18
KH
114542000-02-17 Kenichi Handa <handa@etl.go.jp>
11455
4a09dee0
KH
11456 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11457 avoid infinite error signaling. Allocate sufficient memory for
11458 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11459
2b927d02
SM
114602000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11461
11462 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11463 depends on the previous behavior.
11464
b49cb764
GM
114652000-02-16 Gerd Moellmann <gerd@gnu.org>
11466
11467 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11468
99e95407
GM
114692000-02-15 Gerd Moellmann <gerd@gnu.org>
11470
11471 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11472
11473 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11474 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11475 write(2).
11476
6ffd3cf7
RS
114772000-02-15 Richard M. Stallman <rms@gnu.org>
11478
11479 * data.c (set_internal): Don't make variable buffer-local
11480 if within a let-binding for the same buffer.
11481 (let_shadows_buffer_binding_p): New function.
11482
11483 * eval.c (specbind): For buffer-local value,
11484 record the current buffer also.
11485 (unbind_to): Cope with that change.
11486
cad53475
GM
114872000-02-15 Gerd Moellmann <gerd@gnu.org>
11488
11489 * window.c (Fsave_window_excursion): Doc fix.
11490
1aa963c8
SM
114912000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11492
11493 * syntax.c (back_comment): Make sure we only consider comment-starters
11494 of the relevant style and return -1 in case of a failure to find the
11495 beginning of the comment.
11496 (Fforward_comment): If back_comment fails, go back to the position just
11497 after the comment-end.
11498 (scan_lists): Add comment describing a very minor bug.
11499
b9b84fd3
SM
115002000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11501
11502 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11503 `completion-regexp-list' in the docstring.
11504
3a28db80
DL
115052000-02-14 Dave Love <fx@gnu.org>
11506
11507 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11508
fb4a568d
SM
115092000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11510
11511 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11512 to Emacs' syntax. Also fix the comment about set/not-set meanings
11513 since Emacs syntax is not the value 0 any more.
11514 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11515 since it's now part of RE_SYNTAX_EMACS.
11516
1063ebb5
DL
115172000-02-12 Dave Love <fx@gnu.org>
11518
52283633 11519 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11520
fb07a302
GM
115212000-02-12 Gerd Moellmann <gerd@gnu.org>
11522
11523 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11524
aaf2320c
DL
115252000-02-12 Dave Love <fx@gnu.org>
11526
11527 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11528
11529 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11530 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11531 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11532
11533 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11534
11535 * s/nextstep.h: Don't define HAVE_ALLOCA.
11536
11537 * config.in: Add vfork bits.
11538
eedf8bde
GM
115392000-02-12 Gerd Moellmann <gerd@gnu.org>
11540
11541 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11542 unwind function to undo the effect of stopping atimers.
11543
52283633 11544 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11545
11546 * atimer.c (stopped_atimers): New variable.
11547 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11548 New functions.
11549
11550 * atimer.h (stop_other_atimers, run_all_atimers)
11551 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11552
eedf8bde
GM
11553 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11554
8476c2f8
KR
115552000-02-11 Ken Raeburn <raeburn@gnu.org>
11556
11557 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11558 library may depend on jpeg.
11559 (atimer.o): Depends on atimer.c.
11560
0e85e4a3
KH
115612000-02-11 Kenichi Handa <handa@etl.go.jp>
11562
11563 * insdel.c (del_range_1): Call update_compositions.
11564 (del_range_both): Call update_compositions just once..
11565
97fa0cc8
DL
115662000-02-10 Dave Love <fx@gnu.org>
11567
11568 * xfns.c (create_frame_xic): Fix initialization of automatic
11569 aggregates for pcc.
11570
25566a3c
KH
115712000-02-09 Kenichi Handa <handa@etl.go.jp>
11572
11573 * ccl.c (CCL_MAKE_CHAR): New macro.
11574 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11575 registers by CCL_MAKE_CHAR before calling translate_char.
11576 <CCL_TranslateCharacterConstTbl> Likewise.
11577
69da54ba
DL
115782000-02-08 Dave Love <fx@gnu.org>
11579
11580 * lread.c (__EXTENSIONS__): Define.
11581
f7136ee8
GM
115822000-02-08 Gerd Moellmann <gerd@gnu.org>
11583
11584 * puresize.h (BASE_PURESIZE): Increase to 650000.
11585
7768790b
EZ
115862000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11587
11588 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11589 the help message.
11590
38fd211b
EZ
115912000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11592
11593 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11594 md, mh, mb, mr, and me to the fake termcap entry.
11595
66e4690f
KR
115962000-02-06 Ken Raeburn <raeburn@gnu.org>
11597
11598 * sound.c (sound_cleanup): Don't call device close routine if the
11599 function pointer is null.
11600
a75dfea0
AI
116012000-02-06 Andrew Innes <andrewi@gnu.org>
11602
11603 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11604 around image definitions and prototypes.
11605 (gamma_correct) [WINDOWSNT]: New prototype.
11606
11607 * w32term.c (x_make_frame_visible): Replace call to
11608 input_poll_signal with poll_for_input.
11609
11610 * window.c [WINDOWSNT]: Include w32term.h.
11611
11612 * xdisp.c [WINDOWSNT]: Include w32term.h.
11613
11614 * makefile.nt: Add dependencies on w32gui.h.
11615 (OBJ1): Include atimer.obj.
11616 ($(BLD)\atimer.obj): New dependency rule.
11617
11618 * w32.c (sigmask): New function (does nothing).
11619 (sigunblock): Ditto.
11620
11621 * frame.c [WINDOWSNT]: Include w32term.h.
11622
11623 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11624
11625 * lread.c (syms_of_lread): Fix literal newlines.
11626
11627 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11628 the string constant limit (2048 bytes) in MSVC.
11629 (main): Ditto.
11630
59ddecde
GM
116312000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11632
52283633 11633 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11634 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11635 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11636 dispatch the event.
11637
07590973
DL
116382000-02-04 Dave Love <fx@gnu.org>
11639
11640 * fileio.c: Remove some unused vars.
11641 (_GNU_SOURCE): Define (for euidaccess).
11642
11643 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11644
11645 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11646 gcpro1, gcpro2.
11647 (read_minibuf): Deal with allow_props correctly.
11648
649351f9
EZ
116492000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11650
11651 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11652
66e4690f 116532000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11654
11655 * search.c (compile_pattern): If a cache entry has a nil regexp,
11656 fill in that entry instead of clobbering a previously cached
11657 string regexp.
11658
66e4690f 116592000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11660
11661 * puresize.h (BASE_PURESIZE): Increase to 610000.
11662
d240a249
GM
116632000-02-02 Gerd Moellmann <gerd@gnu.org>
11664
11665 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11666 can GC.
11667
ca91fb26
KH
116682000-02-02 Kenichi Handa <handa@etl.go.jp>
11669
25660570
KH
11670 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11671 instead of incrementing ic directly.
11672 <CCL_WriteExprConst> Likewise.
11673 <ccl_set_expr>: Set ic to jump_address.
11674
ca91fb26
KH
11675 * fileio.c (e_write): Fix the handling of
11676 CODING_FINISH_INSUFFICIENT_SRC.
11677
2ede9689
DL
116782000-02-01 Dave Love <fx@gnu.org>
11679
11680 * editfns.c (Fpropertize): Doc fix.
11681
11682 * process.c (Fstart_process): Doc fix.
11683
11684 * eval.c: Fix various doc strings not to duplicate information
11685 from help-manyarg-func-alist.
11686
52283633 11687 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11688
11689 * doc.c (Vhelp_manyarg_func_alist): New variable.
11690 (Fdocumentation): Use it.
11691 (syms_of_doc): Define it.
11692
b6680a0e
GM
116932000-01-31 Gerd Moellmann <gerd@gnu.org>
11694
2cb750ba
GM
11695 * xterm.c (xim_open_dpy): Remove unused local variable.
11696
52283633 11697 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11698
11699 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11700 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11701
b6680a0e
GM
11702 * fns.c (sweep_weak_table): New function.
11703 (sweep_weak_hash_tables): Use it. Keep on marking until there
11704 is no more change.
11705
994c5afe
GM
117062000-01-30 Gerd Moellmann <gerd@gnu.org>
11707
11708 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11709 that XTread_socket does not crash by trying to call XNoOp on a
11710 closed display.
427ec082 11711
f00276e3
JR
117122000-01-30 Jason Rumney <jasonr@gnu.org>
11713
11714 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11715 Change selected_frame to SELECTED_FRAME ().
11716 (w32_console_mouse_position): Remove #ifndef MULE from around
11717 `insist' parameter.
11718
11719 * makefile.nt: Remove dosfns.obj.
11720
11721 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11722
11723 * w32fns.c (w32_defined_color): Check for valid frame before
11724 applying gamma correction. Eliminate dependency on frame elsewhere.
11725 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11726 (w32_to_x_font): Use resx and resy not height_in and width_in.
11727 (x_to_w32_font): Doc fix.
11728 (xlfd_strip_height): New function to strip and return font height.
11729 (w32_font_match): Compare height separately from rest of xlfd
11730 spec, using xlfd_strip_height.
11731
11732 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11733 width_in. Use w32_defined_color in place of defined_color.
11734
11735 * w32faces.c: Merge more of DOS and X specifics in preparation for
11736 merge with xfaces.c.
11737 (defined_color): Remove FIXME comment.
11738 (tty_color_name): Provide w32-specific function.
11739 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11740
11741 * w32console.c (turn_on_face, turn_off_face): Removed.
11742 (w32_face_attributes): New function.
11743 (Global_variables): Reduce scope where possible.
11744 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11745 fill attribute.
11746 (hl_mode): Don't modify text attributes.
11747 (write_glyphs): Don't do anything if len <= 0. Use
11748 w32_face_attributes to get attributes for drawing. Write
11749 terminating codes using char_attr_normal.
11750 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11751 (update_begin, update_end): Likewise.
11752 (vga_stdcolor_name): New function.
11753 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11754 (Fset_screen_color): Remove char_attr_reverse.
11755
b08e8bb2
GM
117562000-01-29 Gerd Moellmann <gerd@gnu.org>
11757
11758 * xfns.c (xic_set_preeditarea): Take window parameter and
11759 window-relative pixel-positions.
11760
11761 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11762 is its frame's selected window.
11763 (xim_instantiate_callback): Likewise.
11764
11765 * xfns.c (x_create_im): Removed.
11766 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11767 (supported_xim_styles): Renamed from supported_styles.
11768 (best_xim_style): Renamed from best_style.
11769 (create_frame_xic): Renamed from xic_create_frame.
11770 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11771
b08e8bb2
GM
117722000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11773
11774 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11775 our frames, call XFilterEvent with 2nd parameter `None'.
11776 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11777 returning XBufferOverflow.
52283633 11778 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11779 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11780 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11781 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11782 (xim_initialize, xim_close)
11783 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11784 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11785 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11786 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11787
11788 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11789 and `xim_styles'.
11790 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11791 `xic_style' and `xic_xfs'.
11792 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11793 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11794 (FRAME_XIM): Removed.
11795
11796 * xfns.c (supported_styles): New variable.
11797 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11798 (xic_create_xfontset, best_style, xic_create_frame)
11799 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11800 (xic_set_xfontset): New functions.
11801
142e109c
DL
118022000-01-28 Dave Love <fx@gnu.org>
11803
11804 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11805
11806 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11807
b02786f9
GM
118082000-01-28 Gerd Moellmann <gerd@gnu.org>
11809
d060bc9f
GM
11810 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11811 for *scratch* if it already existed.
11812
b02786f9
GM
11813 * emacs.c (USAGE): New macro.
11814 (main): Use it to display usage information.
11815
2c52d7e4
EZ
118162000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11817
11818 Support for the menu-help feature:
11819
52283633 11820 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11821
11822 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11823 part of the line to the termscript file.
11824 (IT_clear_to_end): Clear the entire line, not just its beginning.
11825 (menu_help_message, prev_menu_help_message): New variables.
11826 (IT_menu_make_room): Make room for the help_text member.
11827 (IT_menu_display): New argument disp_help; all callers changed.
11828 If disp_help is non-zero, store the help text of the active menu
11829 item in menu_help_message.
11830 (XMenuAddPane): Initialize the help_text member to NULL.
11831 (XMenuAddSelection): New argument help_text. Store it in the
11832 XMenu structure.
11833 (XMenuActivate): New argument help_callback. If the value of
11834 menu_help_message has changed since the last time, display the
11835 menu help message text while waiting for the mouse to move. Clear
11836 the echo area before exiting.
11837 (XMenuDestroy): Free the help_text member.
11838
ffe0bcd1
GM
118392000-01-27 Gerd Moellmann <gerd@gnu.org>
11840
11841 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11842 XMenuAddSelection. Pass help callback to XMenuActivate.
11843 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11844
50dbd23f
EZ
118452000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11846
11847 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11848 and EMACS_SET_USECS.
11849
f5941bf8
GM
118502000-01-26 Dave Love <fx@gnu.org>
11851
6c67ddee
DL
11852 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11853
f5941bf8
GM
11854 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11855 an error may be signalled.
11856
9e49c990
GM
118572000-01-26 Gerd Moellmann <gerd@gnu.org>
11858
fc3cb460
GM
11859 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11860 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11861
9e49c990
GM
11862 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11863
d0c037d8
GM
118642000-01-25 Gerd Moellmann <gerd@gnu.org>
11865
11866 * charset.c (Fstring): If there is a multibyte char among
11867 the args, always return a multibyte string.
11868
e12489f9
GM
118692000-01-25 Gerd Moellmann <gerd@gnu.org>
11870
11871 * sysdep.c (sys_select): Turn atimers off and on instead of
11872 recording and restoring old alarm handler
11873
11874 * process.c (toplevel): Include atimer.h.
11875 (create_process_1): Rewritten.
11876 (create_process): Use atimers instead of alarm.
11877 (wait_reading_process_input) [hpux]: Turn atimers off instead
11878 of turning off SIGALRM.
11879 (wait_reading_process_input): Turn off atimers instead off
11880 calling stop_polling.
11881
11882 * emacs.c (main): Call init_atimer.
11883
11884 * keyboard.c (toplevel): Include systime.h and atimer.h.
11885 (polling_for_input): Removed because unused.
11886 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11887 (poll_timer): New variable.
11888 (poll_for_input, poll_for_input_1): New functions.
11889 (start_polling, stop_polling): Rewritten.
11890
11891 * keyboard.h (polling_for_input): Removed.
427ec082 11892
e12489f9
GM
11893 * atimer.h, atimer.c: New files.
11894
11895 * Makefile.in (obj): Add atimer.o.
11896 (atimer.o): New target.
11897
11898 * blockinput.h (pending_atimers): Add extern declaration.
11899 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11900
11901 * lisp.h (popup_activated_flag): Add extern declaration.
11902
11903 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11904 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11905 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11906
11907 * xterm.c (toplevel): Include atimer.h.
11908 (toolkit_scroll_bar_interaction): New variable.
11909 (Fxt_process_timeouts): Removed.
11910 (x_process_timeouts): New function.
11911 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11912 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11913 (x_make_frame_visible): Call poll_for_input_1 instead of
11914 input_poll_signal. Don't call alarm.
11915 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11916
1e5279b9
DL
119172000-01-24 Dave Love <fx@gnu.org>
11918
6c67ddee 11919 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11920 Don't use -cckr -- apparently not now necessary.
11921
edf6aeb8
EZ
119222000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11923
11924 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11925 screen boundary.
11926
9badad41
JR
119272000-01-23 Jason Rumney <jasonr@gnu.org>
11928
11929 * w32fns.c (w32_defined_color): Apply gamma correction before
11930 trying to map to the palette.
11931 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11932 to w32_clear_rect.
11933
11934 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11935 here. Callers changed to always pass real device context.
11936 (w32_draw_bitmap): Likewise.
11937 (w32_get_glyph_overhangs): Likewise.
52283633 11938 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11939 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11940 pfnSetScrollInfo and SetScrollRange.
11941 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11942 back into MULE characters after decoding them.
11943 (x_get_glyph_face_and_encoding): Likewise.
11944 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11945 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11946 (x_produce_glyphs): Calculate per char metrics for a character
11947 that we know exists in default font when font_not_found_p is true.
11948
63bd786b
JR
119492000-01-22 Jason Rumney <jasonr@gnu.org>
11950
11951 * makefile.nt (intervals.obj, composite.obj): New modules.
11952 (composite.h): Added as dependency where appropriate.
11953
11954 * w32gui.h (XGCValue): New struct for emulating X GCs.
11955
11956 * w32term.h (XCharStruct): New struct for emulating X.
11957
11958 * w32console.c (turn_on_face, turn_off_face): New functions.
11959 (change_line_highlight): New prototype for new redisplay.
11960 (write_glyphs): Support multibyte text. Support faces.
11961
52283633 11962 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11963
11964 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11965 throughout. struct frame * in place of FRAME_PTR.
11966 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11967 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11968 (w32_get_arg): Renamed from x_get_arg.
11969 (Fx_file_dialog): New function.
11970 (w32_list_fonts): Check cache before asking system.
11971 (Vw32_enable_synthesized_fonts): New variable.
11972 (Vw32_enable_italics): Obsolete, removed.
11973
11974 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11975 Use SELECTED_FRAME macro.
11976
11977 * w32menu.c: Add skeleton support for help strings on menus.
11978 (add_menu_item): Native checkbox and radio support added, but not
11979 yet enabled due to bugs.
11980 (push_menu_item): Add parameters type, selection and help.
11981 Callers updated.
11982 Formatting changes to reduce unnecessary diffs with xmenu.c.
11983
11984 * w32select.c (Fw32_set_clipboard_data): Update call to
11985 find_charset_in_str.
11986
11987 * w32term.c: Complete rewrite for new redisplay based on new
11988 xterm.c with necessary sections merged back in from old w32term.c.
11989
6ffd3cf7 119902000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11991
11992 * data.c (set_internal): Further fix in same criterion.
11993
6ffd3cf7 119942000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11995
11996 * data.c (set_internal): Fix the criteria for whether
11997 to swap out the old cached binding.
11998
60af03f1
DL
119992000-01-19 Dave Love <fx@gnu.org>
12000
12001 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12002
f9be074f
KH
120032000-01-18 Kenichi Handa <handa@etl.go.jp>
12004
12005 * regex.c (re_compile_fastmap): While checking a range table for
12006 `charset', skip flag bits for a character class correctly.
12007
52b8dbf9
GM
120082000-01-17 Gerd Moellmann <gerd@gnu.org>
12009
d36100c9
GM
12010 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12011
52283633 12012 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12013
12014 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12015 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12016
12017 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12018 MENU_ITEMS_ITEM_.*.
12019 (MENU_ITEMS_ITEM_HELP): New enumerator.
12020 (push_menu_item): Add parameter HELP. Record help in menu_items.
12021 (single_menu_item, single_submenu, list_of_items): Call
12022 push_menu_item with new parameter.
12023 (single_submenu): Set help string in widget value.
12024 (menu_highlight_callback): New function.
12025 (set_frame_menubar): Call lw_create_widget with new
12026 parameter list.
12027 (xmenu_show, xdialog_show): Ditto.
12028
3139018f
GM
120292000-01-13 Gerd Moellmann <gerd@gnu.org>
12030
12031 * sound.c (Fplay_sound): Improve doc string.
12032
83c8f461
RS
120332000-01-11 Richard M. Stallman <rms@gnu.org>
12034
12035 * lisp.h (set_internal): Enter the new arg.
12036
12037 * eval.c (specbind): Record buffer-local variables specially,
12038 indicating which buffer's binding was saved.
12039 (unbind_to): Restore buffer-local variables specially
12040 in the proper buffer.
12041
12042 * data.c (set_internal): New arg BUF.
427ec082 12043
83c8f461
RS
12044 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12045 * data.c (Fset): Pass new arg to set_internal.
12046 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12047
1fab1775
GM
120482000-01-11 Gerd Moellmann <gerd@gnu.org>
12049
52283633 12050 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12051
83c8f461 120522000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12053
12054 * minibuf.c (Ftry_completion): Doc fix.
12055
7a85e4df
GM
120562000-01-11 Gerd Moellmann <gerd@gnu.org>
12057
12058 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12059 vector, too.
12060
a970dae4
AS
120612000-01-11 Andreas Schwab <schwab@suse.de>
12062
12063 * coding.c (code_convert_region): Initialize total_skip.
12064
c65d14ee
DL
120652000-01-08 Dave Love <fx@gnu.org>
12066
12067 * eval.c (Fuser_variable_p): Check customizability too.
12068
834938d2
GM
120692000-01-07 Gerd Moellmann <gerd@gnu.org>
12070
12071 * minibuf.c (Fcompleting_read): Doc fix.
12072
e0303cd6
GM
120732000-01-05 Gerd Moellmann <gerd@gnu.org>
12074
8a26744b
GM
12075 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12076 -L /usr/local/lib.
12077
e0303cd6
GM
12078 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12079 Check that input style is supported before trying to create an
12080 IC for it.
12081 (x_window): Call x_create_im.
427ec082 12082
2e471eb5
GM
120832000-01-04 Gerd Moellmann <gerd@gnu.org>
12084
560a7bd2
GM
12085 * xfns.c (current_gif_memory_src): New variable.
12086 (gif_load): Record the address of the current memory source
12087 in current_gif_memory_src.
12088 (gif_read_from_memory): Use current_gif_memory_src.
12089
f9ee84a3
GM
12090 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12091 macros statement form.
12092
d1299cde
GM
12093 * sound.c (struct sound): Renamed from struct sound_file.
12094 (struct sound): Add members `data' and `header_size'.
12095 (enum sound_attr): Add SOUND_DATA.
12096 (current_sound, current_sound_device): Variables renamed from
12097 sound_file and sound_device.
12098 (parse_sound): Parse :data.
12099 (parse_sound): Handle sound data in strings.
12100 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12101 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12102 needed header size.
12103 (wav_play, au_play): Play sounds from string data.
12104
2e471eb5
GM
12105 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12106
12107 * lisp.h: Add prototype for allocate_string_data.
12108
52283633 12109 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12110
12111 * alloc.c (mark_buffer): Remove code in #if 0.
12112 (gc_sweep): Ditto.
12113 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12114 (strings_consed): New variable.
12115 (allocate_string): Set it.
12116 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12117 (Fmemory_use_counts): Return strings_consed. Use Flist.
12118
12119 * alloc.c: General cleanup in comments etc. Remove conditional
12120 compilation for `standalone'.
12121
12122 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12123
12124 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12125 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12126 (DONT_COPY_FLAG): Removed.
12127 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12128 (struct sdata, struct sblock): New
12129 (struct string_block): Rewritten.
12130 (STRINGS_IN_STRING_BLOCK): New macro.
12131 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12132 (large_sblocks, string_blocks, string_free_list): New variables.
12133 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12134 (init_strings): Rewritten.
12135 (allocate_string, allocate_string_data, compact_small_strings)
12136 (free_large_strings, sweep_strings): New functions.
12137 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12138 (struct string_block_head, current_string_block)
12139 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12140 (STRING_PAD): Removed.
12141 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12142 (Fgarbage_collect): Don't set mark bit in large strings.
12143 (mark_object): Mark strings differently. Mark symbol names
12144 differently.
12145 (survives_gc_p): Test marked strings differently.
427ec082 12146 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12147 symbol names.
12148 (compact_strings): Removed.
12149
42608ba8
EZ
121502000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12151
12152 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12153 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12154
e0a09e1a
KH
121552000-01-04 Kenichi Handa <handa@etl.go.jp>
12156
dd9f0750 12157 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12158 in a non-empty buffer.
dd9f0750 12159
3c0f3b15 12160 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12161
44cd3ae5
GM
121622000-01-03 Gerd Moellmann <gerd@gnu.org>
12163
12164 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12165 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12166
12167 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12168
c182a70f
EZ
121692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12170
12171 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12172 need to test for MSDOS frames.
12173
24480d5b
EZ
121742000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12175
12176 * dosfns.c (unspecified_colors): Remove.
12177 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12178 unspecified_bg.
12179 (msdos_stdcolor_name): Return strings for unspecified fore- and
12180 back-ground colors.
12181
12182 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12183 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12184 (tty_color_name): Return Lisp strings for unspecified fore- and
12185 back-ground colors.
12186 (Finternal_set_lisp_face_attribute): Remove the special treatment
12187 for Qunspecified_{f,b}g.
52283633 12188 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12189
047f434a
GM
121902000-01-03 Gerd Moellmann <gerd@gnu.org>
12191
12192 * xdisp.c (reseat_at_next_visible_line_start): Position before
12193 newline only if ending up on a newline.
12194 (next_element_from_ellipsis): Return success. Handle case of
52283633 12195 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12196 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12197 returns 0.
12198
d684c676
EZ
121992000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12200
12201 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12202 (Fcolor_supported_p): Renamed from face-color-supported-p.
12203
5fe1d139
EZ
122042000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12205
12206 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12207 list of colors renamed to tty-defined-color-alist.
12208 (tty_color_name): Pass the frame to tty-color-by-index.
12209 (realize_tty_face): tty-color-alist is now a function which
12210 accepts the frame as argument.
12211
52283633 12212 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12213
816be8b8
EZ
122142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12215
12216 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12217 encode_terminal_code.
12218
b635321e
EZ
122192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12220
12221 * dispnew.c (mode_line_string): Support termcap frames as well.
12222
9b784e96
GM
122232000-01-01 Gerd Moellmann <gerd@gnu.org>
12224
27189709
GM
12225 * syntax.c (Fforward_word): Undo previous change.
12226
12227 * editfns.c (Fconstrain_to_field): Don't constrain if
12228 inhibit-field-text-motion is non-nil.
12229 (Fline_beginning_position): Undo previous change.
12230 (Fline_end_position): Ditto.
12231
12232 * syntax.c (Fforward_word): Notice field boundaries only if
12233 inhibit-field-text-motion is nil.
12234
12235 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12236
12237 * editfns.c (Vinhibit_field_text_motion): New variable.
12238 (inhibit-field-text-motion): New DEFVAR_LISP.
12239 (Fline_beginning_position, Fline_end_position): Notice field
12240 boundaries only if inhibit-field-text-motion is nil.
12241
45158a91
GM
12242 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12243 All calls adjusted.
12244 (x_build_heuristic_mask): Likewise.
12245 (xbm_load_image_from_file): Change error output.
12246 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12247 (gif_load, gs_load, x_kill_gs_process): Ditto.
12248
9b784e96
GM
12249 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12250 color indices when accessing raster pixels.
63cec32f
GM
12251 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12252 one of :file or :data.
12253 (enum pbm_keyword_index): Add PBM_DATA.
12254 (pbm_format): Add :data.
12255 (pbm_image_p): Allow either :file or :data.
12256 (pbm_read_file): New function.
12257 (pbm_scan_number): Rewritten to read from string.
12258 (pbm_load): Support :data.
9b784e96 12259
2cb085db 12260See ChangeLog.8 for earlier changes.
6922b018
KH
12261
12262;; Local Variables:
49b3bd82 12263;; coding: iso-2022-7bit
6922b018 12264;; End: