w32 find cannot be used with `grep-find'.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
7121b85a
GM
12001-09-19 Gerd Moellmann <gerd@gnu.org>
2
72f62cb5
GM
3 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
4 (display_mode_element): Display the string from decode_mode_spec
5 depending on its multibyteness.
6
a2697022
GM
7 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
8
7121b85a
GM
9 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
10
bfc97351
GM
112001-09-18 Gerd Moellmann <gerd@gnu.org>
12
c9063433
GM
13 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
14 recursive_edit_unwind.
15 (recursive_edit_unwind): Set kboard state according to
16 SINGLE-KBOARD.
17
3fbdba3e
GM
18 * buffer.c (modify_overlay): Don't do nothing if START == END;
19 This can still be a modification, for example when an overlay has
20 a before-string or after-string.
21 (Fdelete_overlay): Prevent redisplay optimizations when deleting
22 an overlay with before-string or after-string.
23
1270031d
GM
24 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
25 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
26
bfc97351
GM
27 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
28 first_unchanged_at_end_row is in front of
29 last_unchanged_at_beg_row. This code should be removed after the
30 release of 21.1.
31
d8a973aa
GM
322001-09-17 Gerd Moellmann <gerd@gnu.org>
33
e18c8b8d
GM
34 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
35 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
36
d8a973aa
GM
37 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
38 versions >= 2.95.
39
ed7d6ba4
EZ
402001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
41
42 * dired.c (Ffile_attributes): Doc fix.
43
551629f9
GM
442001-09-14 Gerd Moellmann <gerd@gnu.org>
45
46 * fileio.c (Ffile_symlink_p): Fix last change.
47
48 * filelock.c (current_lock_owner): Fix last change.
49
4c8c7926
GM
502001-09-13 Gerd Moellmann <gerd@gnu.org>
51
620c4704
GM
52 * filelock.c (current_lock_owner): If readlink returns ERANGE,
53 take that to mean that the buffer is too small.
54
81c3310d
GM
55 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
56 that to mean that the buffer is too small.
57
06fd3792
GM
58 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
59 current buffer's multibyteness when discarding the iterator's
60 stack.
61
4c8c7926
GM
62 * xfns.c (Fx_window_property): Handle case that property gets
63 deleted between the two calls to XGetWindowProperty.
64
9a72e4c1
GM
652001-09-11 Gerd Moellmann <gerd@gnu.org>
66
bd819d14
GM
67 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
68
a41edd99
GM
69 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
70 in addition to read-only.
71
72 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
73 to t in addition to read-only.
74
75 * lisp.h (Qinhibit_modification_hooks): Declare.
76
77 * insdel.c (Qinhibit_modification_hooks): New variable.
78 (syms_of_insdel): Initialize and staticpro it.
79
d4881c6a
GM
80 * textprop.c (verify_interval_modification): Don't run
81 modification-hooks if inhibit_modification_hooks.
82
83 * dispnew.c (set_window_cursor_after_update): Fix code
84 finding glyph row containing cursor when cursor_in_echo_area
85 is >= 0.
86
9a72e4c1
GM
87 * xdisp.c (init_from_display_pos): Put some code in #if 0.
88 (add_to_log): Use bcopy instead of strcpy.
89 (init_from_display_pos): Use an explicit loop over bytes in
90 overlay strings instead of calling index.
91
f4a374a1
GM
922001-09-10 Gerd Moellmann <gerd@gnu.org>
93
300e57bd
GM
94 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
95
96 * dispnew.c (direct_output_for_insert): Don't change IT's
97 stop_charpos to something in front of its current position.
98
f4a374a1
GM
99 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
100 `format'.
101
7e4cbc91
RS
1022001-09-10 Richard M. Stallman <rms@gnu.org>
103
104 * frame.c (Fmouse_position): Doc fix.
105
6afad91e
GM
1062001-09-07 Gerd Moellmann <gerd@gnu.org>
107
108 * xdisp.c (init_from_display_pos): Don't compare the result
109 of calling index with NULL.
110
f76e0368
GM
1112001-09-06 Gerd Moellmann <gerd@gnu.org>
112
113 * xfns.c (x_set_background_color): Don't change the colors
114 of the X window of scroll bar widgets.
115
9ead1b60
AI
1162001-09-05 Andrew Innes <andrewi@gnu.org>
117
118 * w32fns.c (w32_createwindow): Undo last change.
119
c3b497b3
GM
1202001-09-05 Gerd Moellmann <gerd@gnu.org>
121
08e1d6df
GM
122 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
123
c3b497b3
GM
124 * xdisp.c (string_buffer_position): Use *single_char_property*
125 functions instead of the *single_property* functions.
126
8f860180
AI
1272001-09-04 Andrew Innes <andrewi@gnu.org>
128
9a72e4c1
GM
129 * w32term.c (w32_read_socket): Add more information to debugging
130 output.
8f860180
AI
131
132 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
133 from Emacs frames, so that calls to GetClipBox in w32term.c
134 correctly report when part of a frame is visible (including
135 scrollbars, etc). This prevents repeated redrawing of frames when
136 only a scrollbar is visible.
137 (w32_wnd_proc): Add more frame information to debugging output.
138
2ee1aa00
SM
1392001-09-03 Stefan Monnier <monnier@cs.yale.edu>
140
141 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
142
e3b22517
GM
1432001-09-03 Gerd Moellmann <gerd@gnu.org>
144
7e376260
GM
145 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
146 help-echo for a string which doesn't have help-echo itself, use
147 get-char-property to obtain the help-echo from the string's buffer
148 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
149 have mouse-face, look ``under'' the string for mouse-face from an
150 overlay.
151 (fast_find_position): Add parameter STOP. In the final row, stop
152 before glyphs having STOP as object. Don't consider glyphs that
153 are not from a buffer.
154
e3b22517
GM
155 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
156
9a249bba
EZ
1572001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
158
159 * fns.c (Fmd5): Doc fix.
160
c9979669
GM
1612001-08-31 Gerd Moellmann <gerd@gnu.org>
162
163 * composite.c (update_compositions): Do nothing if
164 inhibit-modification-hooks is set.
165
9584e63a
GM
1662001-08-30 Gerd Moellmann <gerd@gnu.org>
167
986ec8f2 168 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 169 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
170 glyph matrices etc. in a core dump.
171
92a25631
GM
172 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
173 (syms_of_xdisp): Initialize them.
174 (handle_single_display_prop): Don't change point, bind `object',
175 `position', and `buffer-position' instead to the object having the
2ee1aa00 176 `display' property, position in the object and position in the buffer.
92a25631 177
9584e63a
GM
178 * fileio.c (Finsert_file_contents): Don't change the multibyteness
179 of the buffer if REPLACE is non-nil.
180
d38633a3
GM
1812001-08-29 Gerd Moellmann <gerd@gnu.org>
182
183 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
184
f4fccc1e
EZ
1852001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
186
187 * w32term.c (x_set_glyph_string_background_width)
188 (show_mouse_face): Track the last changes in xterm.c.
189
eaaa65b0
GM
1902001-08-28 Gerd Moellmann <gerd@gnu.org>
191
7b0870b2
GM
192 * xterm.c (x_set_glyph_string_background_width): Set the glyph
193 string's background width so that multi-line mouse-face is drawn
194 to the right edge of the window.
195 (show_mouse_face): Set the row's mouse_face_p flag after drawing
196 glyphs.
197
6b6e2422 198 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 199 before inserting/writing glyphs.
6b6e2422 200
eaaa65b0
GM
201 * xdisp.c (display_mode_element): Use string_byte_to_char to
202 determine character positions in strings, use chars_in_text
203 instead of strwidth.
204 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
205 a matrix as parameter; this is easier to use from GDB.
206
9ad62cf8
MB
2072001-08-28 Miles Bader <miles@gnu.org>
208
2ee1aa00
SM
209 * textprop.c (Fprevious_single_char_property_change)
210 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 211
32171635
GM
2122001-08-27 Gerd Moellmann <gerd@gnu.org>
213
47d57b22
GM
214 * fileio.c (Finsert_file_contents): Allocate, restore, and
215 free composition data in the case of REPLACE not being nil.
216
217 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
218 there exist overlay strings with newlines at POS.
219 (text_outside_line_unchanged_p): Return 0 if changes start at
220 START and overlays exist at START. Likewise for END.
221 (try_window_id): Give up if init_to_row_end returns 0.
222
32171635
GM
223 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
224 unconditionally.
225
e1249666
GM
2262001-08-24 Gerd Moellmann <gerd@gnu.org>
227
33954c45
GM
228 * keymap.c (access_keymap): Return the cdr of the binding of
229 a generic character instead of its definition (KEY . BINDING).
230
e1249666
GM
231 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
232 to 0 also in the REPLACE case.
233
fb4c6c96
AC
2342001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
235
236 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
237 open to determine whether file is readable (as for DOS_NT).
238
59ecf80b
GM
2392001-08-23 Gerd Moellmann <gerd@gnu.org>
240
241 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
242 coding.type is coding_type_no_conversion or coding_type_raw_text,
243 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
244 non-nil instead of just setting enable_multibyte_characters in the
245 buffer to nil.
246
40e33037
GM
2472001-08-22 Gerd Moellmann <gerd@gnu.org>
248
374388c3
GM
249 * dispextern.h (struct face_cache): Add member
250 menu_face_changed_p.
251
252 * xfaces.c (menu_face_changed_default): New variable.
253 (menu_face_changed_count): Variable removed.
254 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
255 the menu_face_changed_default flag, otherwise set the FRAME's
256 menu_face_changed_p flag if the `menu' face has been changed.
257 Prevent calling set_font_frame_param if FRAME is t.
258 (make_face_cache): Initialize cache's menu_face_changed_p
259 from menu_face_changed_default.
260 (realize_basic_faces): Look into the frame's face cache to
261 determine if the menu appearance needs updating.
262
40e33037
GM
263 * keymap.c (access_keymap): Fix last change to not consider
264 IDX when it has modifiers.
265
859ea4b8
GM
2662001-08-21 Gerd Moellmann <gerd@gnu.org>
267
268 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
269 . BINDING) exists, where GENERIC-CHAR is the generic character of
270 the charset of IDX, return BINDING unless there exists a binding
271 for IDX itself.
272
e8660d73
GM
2732001-08-16 Gerd Moellmann <gerd@gnu.org>
274
cca1b1d7
GM
275 * xrdb.c (SYSV): Don't define on Solaris 2.
276 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
277
e8660d73 278 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 279 of the screen line, not text line, containing IT's current position.
e8660d73 280
93aba6fc
GM
2812001-08-15 Gerd Moellmann <gerd@gnu.org>
282
288d4e06
GM
283 * window.c (window_scroll_pixel_based): Don't recenter if
284 PT is partially visible in the window.
285
3452efc2
SM
286 * xterm.c (expose_window_tree, expose_window, expose_line):
287 Return 1 when overwriting mouse-face.
82f053ab
GM
288 (expose_frame): If mouse-face was overwritten, redo it.
289
93aba6fc
GM
290 * xfaces.c (x_update_menu_appearance): Don't call
291 set_frame_menubar, let the next redisplay do it.
292
858a55c1
AI
2932001-08-14 Andrew Innes <andrewi@gnu.org>
294
295 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
296 drawing glyph string.
297
3a990b67
EZ
2982001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
299
300 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
301 running HI-UX/MPP.
302
04386463
GM
3032001-08-14 Gerd Moellmann <gerd@gnu.org>
304
305 * xfaces.c (x_update_menu_appearance): Save and restore value of
306 interrupt_input_blocked.
307
3e6385a4
GM
3082001-08-13 Gerd Moellmann <gerd@gnu.org>
309
b0e619b4
GM
310 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
311 a line start, move back to the line start.
3452efc2 312
0de73d5a
GM
313 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
314 exactly when a mini-buffer is active.
315
3e6385a4
GM
316 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
317 in units of 1/8 character on non window-system frames.
318 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
319
d1b5f629
EZ
3202001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
321
322 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
323 a doc string.
324
eaa2319f
GM
3252001-08-09 Gerd Moellmann <gerd@gnu.org>
326
8e3189f0
GM
327 * keyboard.c (Vpre_help_message): New variable.
328 (syms_of_keyboard): Initialize and staticpro it.
329 (show_help_echo): Record current message before displaying a
330 help-echo, and restore that message when clearing the help.
331
eaa2319f
GM
332 * xfns.c (x_create_im): Remove prototype.
333
334 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
335
336 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 337
eaa2319f
GM
3382001-08-08 Gerd Moellmann <gerd@gnu.org>
339
340 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 341 windows whose height has changed, disable partially visible lines.
eaa2319f 342
17fdcfc8
GM
3432001-08-07 Gerd Moellmann <gerd@gnu.org>
344
22d01aed 345 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 346 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 347
17fdcfc8
GM
348 * xdisp.c (start_display): Don't try to determine the continuation
349 lines width if lines are truncated. It's superfluous and leads to
350 incorrect results if POS is not visible in the window after
351 reseating the iterator at the previous line start.
352
8e3fe78e
GM
3532001-08-06 Gerd Moellmann <gerd@gnu.org>
354
355 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
356
98a8938c
GM
3572001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
358
359 * alloc.c (init_stack): Remove declaration.
360
18f9986a
GM
3612001-08-03 Gerd Moellmann <gerd@gnu.org>
362
5e1f85e0
GM
363 * keyboard.c (read_key_sequence): Check that key is an integer
364 before comparing it with quit_char.
365 (add_command_key): Use larger_vector.
366 (read_char_x_menu_prompt): Instead of converting symbol and
367 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 368 which cannot be confused with valid events.
5e1f85e0
GM
369 (read_char): When reading from Vunread_command_events, check for
370 events of the form (EVENT . disabled) instead of
371 (EVENT . nil).
372
18f9986a
GM
373 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
374 a float, determine the max height from the frame's height.
375
fbc7f2a6
GM
3762001-08-02 Gerd Moellmann <gerd@gnu.org>
377
378 * xdisp.c (redisplay_internal): Take message_cleared_p into
379 account only if minibuf_level == 0.
380
81b1a79d
GM
3812001-08-01 Gerd Moellmann <gerd@gnu.org>
382
e5c60873
GM
383 * xdisp.c (redisplay_internal): Add a check for the last
384 displayed message.
3452efc2 385
6e019995
GM
386 * xdisp.c (message_cleared_p): New variable.
387 (clear_message): Set message_cleared_p when clearing the current
388 message.
389 (redisplay_internal): Look at message_cleared_p to capture
390 the case that the echo area should be cleared.
391
308a74d8
GM
392 * keyboard.c (command_loop_1): Fix spelling of
393 resize_echo_area_exactly.
394
3452efc2 395 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
396
397 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
398
81b1a79d
GM
399 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
400 current matrix when the window gets smaller.
401
ada329e6
EZ
4022001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
403
404 * print.c (strout): Cast the character passed to insert_char to
405 unsigned char, to avoid sign extension when it is promoted to int.
406
ed86208c
GM
4072001-07-31 Gerd Moellmann <gerd@gnu.org>
408
409 * fileio.c (Finsert_file_contents): Don't treat a return value
410 of 0 from emacs_read as an IO error.
411
6594ac22
GM
4122001-07-30 Gerd Moellmann <gerd@gnu.org>
413
cef68af5
GM
414 * keyboard.c (abs): New macro.
415 (double_click_fuzz): New variable.
416 (make_lispy_event): Use it to determine what makes a double-click.
417 (syms_of_keyboard): DEFVAR_INT it.
418
6594ac22
GM
419 * xmenu.c (set_frame_menubar): Take into account that
420 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
421 <raeburn@gnu.org>.
422
75c5350a
GM
4232001-07-27 Gerd Moellmann <gerd@gnu.org>
424
425 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
426
427 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
428 of row's visible height.
429
430 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
431 deal with the first overlay string having an image `display' property.
432 (try_window_reusing_current_matrix, compute_line_metrics):
433 Fix computation of row's visible height for the case that part of the
75c5350a
GM
434 row is invisible above and part of the row is at the same time
435 invisible below the window.
436
ac49effe
GM
4372001-07-26 Gerd Moellmann <gerd@gnu.org>
438
439 * xfns.c (x-show-tip): Doc fix.
3452efc2 440
ac49effe
GM
441 * xfns.c (Vx_max_tooltip_size): New variable.
442 (syms_of_xfns): DEFVAR_LISP it.
443 (Fx_show_tip): Set frame's window_width to the width of the
444 window. Use a maximum tooltip size specified by
445 Vx_max_tooltip_size, if that has valid contents.
446 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 447
8c3b00cb
AI
4482001-07-26 Andrew Innes <andrewi@gnu.org>
449
450 * w32term.c (x_display_list): New variable.
451 (w32_term_init): Set it.
452
453 * w32term.h (x_display_list): New extern.
454
16098288
GM
4552001-07-26 Gerd Moellmann <gerd@gnu.org>
456
457 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
458 is non-nil, instead of when redisplaying_p is non-zero.
459 See comment there.
16098288
GM
460 (mark_window_display_accurate_1): Add an assertion.
461
64c5be50
GM
4622001-07-25 Gerd Moellmann <gerd@gnu.org>
463
e743f599
GM
464 * dispextern.h (struct it): Increase size of ctl_chars to 16.
465
563b384d
GM
466 * xfns.c (Fx_file_dialog): Block/unblock input while processing
467 events so that we get a chance of processing expose events.
468
64c5be50
GM
469 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
470
296808a5
GM
4712001-07-24 Gerd Moellmann <gerd@gnu.org>
472
473 * xfns.c (valid_image_p): Protect better against invalid image
474 specifications. Previous code could signal an error.
475
5247262a
GM
4762001-07-23 Gerd Moellmann <gerd@gnu.org>
477
3452efc2 478 * indent.c (current_column): Fix column computation in the
f1004faf
GM
479 presence of display table entries.
480 (current_column_1, Fmove_to_column, compute_motion): Likewise.
481
dd42b31a
GM
482 * dispnew.c (adjust_glyph_matrix): In the optimization for
483 windows whose height has changed, use the new window height
484 to compute which rows to invalidate.
485
9e5a7f2a
GM
486 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
487 (MAX_10_EXP): New macro.
488 (Fformat): Use it.
489
5247262a
GM
490 * coding.c (code_convert_region): Handle the multibyte case if
491 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
492
177ab8ce
GM
4932001-07-20 Gerd Moellmann <gerd@gnu.org>
494
6e07c0a5
GM
495 * dispextern.h (struct face): Change type of `stipple' to
496 int; it's an ID.
497
177ab8ce
GM
498 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
499
b5b80599
GM
5002001-07-19 Gerd Moellmann <gerd@gnu.org>
501
4e2a256b
GM
502 * dispnew.c (update_window): Don't set the cursor at the end
503 of the update if display update has been paused.
504
3452efc2 505 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 506
c1fd9232
KR
5072001-07-18 Ken Raeburn <raeburn@gnu.org>
508
509 * fns.c (Fset_char_table_default): Check that a charset is defined
510 before checking its dimension.
511
928a85c1
KR
5122001-07-17 Ken Raeburn <raeburn@gnu.org>
513
514 * coding.c (setup_coding_system): Don't do any designation based
515 on reg_bits if charset is not yet defined.
516
fb4c6c96 517 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
518 pointer, using eassert.
519
de11c1ea
GM
5202001-07-17 Gerd Moellmann <gerd@gnu.org>
521
3452efc2
SM
522 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
523 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 524
467f1209
GM
5252001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
526
527 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
528
c3d6be34
GM
5292001-07-16 Gerd Moellmann <gerd@gnu.org>
530
c1d61a7d
GM
531 * fileio.c (unwind_read): Function removed.
532 (read_non_regular, read_non_regular_quit): New functions.
533 (Finsert_file_contents): When reading from non-regular files,
534 arrange to catch a `quit' and terminate the loop. Rearrange
535 code so that a `quit' when reading from a regular file doesn't
536 insert text in the buffer.
537
c3d6be34
GM
538 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
539 Clear faces afterwards.
540 (clear_font_table): Take a x_display_info parameter. Don't free
541 fonts being the default font of any frame on the given display.
542
e06aa1f9
GM
5432001-07-13 Gerd Moellmann <gerd@gnu.org>
544
545 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
546 instead of CHAR_STRING which can signal an error.
547
548 * charset.c (char_to_string_1): Extracted from char_to_string.
549 Return -1 instead of signaling an error.
550 (char_to_string): Use it.
551
552 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
553
176c92e6
SM
5542001-07-12 Stefan Monnier <monnier@cs.yale.edu>
555
556 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
557 is t, don't try to append anything to it.
558
1c56232f
EZ
5592001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
560
561 * dired.c (file_name_completion): Pass dp->d_name to
562 Fstring_match, not elt, which is always nil here.
563
1d2b2268
GM
5642001-07-12 Gerd Moellmann <gerd@gnu.org>
565
566 * xselect.c (x_decline_selection_request): Handle errors
567 caused by receivers that have vanished.
568
569 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
570 ignoring events on foreign windows in #if 0. Always dispatch
571 the event after checking it with x_handle_property_notify.
572
573 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
574 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
575 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
576 (toplevel): Add prototypes for file-local functions.
577 (x_atom_to_symbol): Remove DPYINFO parameter.
578
fe5a0162
SM
5792001-07-11 Stefan Monnier <monnier@cs.yale.edu>
580
581 * w32menu.c (menubar_selection_callback, w32_menu_show):
582 Initialize `entry' to nil.
583 (w32_dialog_show): Remove unused `save_wv' variable.
584 (name_is_separator): Recognize "--:foo" and "--foo-bar".
585
a777242c
GM
5862001-07-11 Gerd Moellmann <gerd@gnu.org>
587
8ee5b6a3
GM
588 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
589
d0e2444e
GM
590 * fileio.c (unwind_read): Print a message when discarding inserted
591 text or switching the buffer to unibyte. Change parameter.
592 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 593
a777242c
GM
594 * fileio.c (unwind_read): New function.
595 (Finsert_file_contents): Record it as unwind-function for
596 the case that reading is interrupted by C-g.
597
ae794295
GM
5982001-07-10 Gerd Moellmann <gerd@gnu.org>
599
fe5a0162 600 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
601 update when scrolling_window returns 0.
602
6b05fae3
GM
603 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
604
605 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 606 for the case that x_decode_color signals an error.
6b05fae3 607
ae794295
GM
608 * xdisp.c (add_to_log): Do nothing if called asynchronously.
609
bb6e8cee
GM
6102001-07-09 Gerd Moellmann <gerd@gnu.org>
611
612 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
613 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
614 around ioctls.
615
36b40a8a
EZ
6162001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
617
24b97d4b
EZ
618 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
619 doc string line for dos-timezone-offset.
620
36b40a8a
EZ
621 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
622 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
623 (syms_of_msdos): Add \n\ at the end of a line in the doc string
624 line for dos-unsupported-char-glyph.
36b40a8a
EZ
625
626 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
627
0967b4b0
GM
6282001-07-05 Gerd Moellmann <gerd@gnu.org>
629
f25cfe53
GM
630 * sound.c: Include Emacs' header files with #include "...".
631
0967b4b0
GM
632 * eval.c (specbind): Additionally record the buffer that was
633 current when a buffer-local or frame-local variable was bound.
634
c347a1c3
GM
6352001-07-04 Gerd Moellmann <gerd@gnu.org>
636
637 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
638 to unibyte characters in unibyte buffers.
639
6332ca8a
GM
6402001-07-03 Gerd Moellmann <gerd@gnu.org>
641
38472d44
GM
642 * eval.c (specbind): If SYMBOL has a frame-local binding, record
643 the frame on the binding stack. Change format of entries for
644 local bindings on the binding stack to '(SYMBOL . WHERE)'.
645 (unbind_to): Handle unbinding a frame-local variable.
646
6332ca8a 647 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 648 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
649 (dump_glyph_row): Print row's continuation_lines_width.
650 (try_window_id): Take the shortcut if ZV is visible in the
651 window, but there are actually no changes at ZV.
652
63d1b174
GM
6532001-07-02 Gerd Moellmann <gerd@gnu.org>
654
4c175203
GM
655 * xterm.h (x_free_dpy_colors): Add prototype.
656
657 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
658 right number of arguments.
659
0b54ce28
GM
660 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
661 ($(lwlibdir)TAGS): New target.
4c175203 662 (TAGS): Fix dependency list.
0b54ce28 663
63d1b174
GM
664 * xterm.c (x_list_fonts): Make sure XFreeFont is called
665 with input blocked.
666
d827466c
GM
6672001-06-30 Gerd Moellmann <gerd@gnu.org>
668
669 * emacs.c (main): Remove extern declaration for sys_nerr, which
670 isn't used and causes a compilation error with GCC 3.0 on
671 FreeBSD 4.3.
672
b5cb1ada
GM
6732001-06-27 Gerd Moellmann <gerd@gnu.org>
674
a5d3ec3f 675 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 676 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
677 (toplevel): Include <signal.h> and syssignal.h.
678
b5cb1ada
GM
679 * sound.c (vox_configure, vox_close): Turn off atimers
680 around ioctls.
681
d9bad487
GM
6822001-06-26 Gerd Moellmann <gerd@gnu.org>
683
fdbb67fe
GM
684 * keyboard.c (read_char) <non_reread>: Record the previous idle
685 start time before calling timer_stop_idle.
686 (read_char) <reread_first>: After processing a help-echo event,
687 restore the previous idle start time.
688
d9bad487
GM
689 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
690 the start of invisible text.
691 (setup_for_ellipsis): New function.
692 (next_overlay_string): After all overlay strings have been
693 processed, display an ellipsis if necessary.
694 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
695 (push_it): Initialize display_ellipsis_p on the iterator's stack.
696
697 * dispextern.h (struct iterator_stack_entry): Add member
698 display_ellipsis_p.
699
2b9c25e0
GM
7002001-06-25 Gerd Moellmann <gerd@gnu.org>
701
80de57df
GM
702 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
703 on the value of the wait-for-wm frame parameter.
704
705 * xterm.h (struct x_output): Add member wait_for_wm.
706
707 * xfns.c (Qwait_for_wm): New variable.
708 (x_frame_parms): Add entry for `wait-for-wm".
709 (x_set_wait_for_wm): New function.
710 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
711 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
712
2b9c25e0
GM
713 * xdisp.c (try_window_id) <all changes below window end>: Don't
714 take this shortcut if ZV is visible in the window.
715 (try_window_id): When checking for window start being in changed
716 text, don't check that the buffer's size has changed.
717
f772775c
RS
7182001-06-23 Richard M. Stallman <rms@gnu.org>
719
720 * minibuf.c (Fcompleting_read): Doc fix.
721
fa9090b8
GM
7222001-06-19 Gerd Moellmann <gerd@gnu.org>
723
724 * composite.c (Ffind_composition_internal): Accept ZV
725 and a string's end position as POS.
726
f6f1beba
GM
7272001-06-18 Gerd Moellmann <gerd@gnu.org>
728
729 * composite.c (Ffind_composition_internal): Check POS
730 for validity.
731
0ae83348
EZ
7322001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
733
734 * editfns.c (Fmessage_box): If the frame is not under a window
735 system, output the message in the echo area.
736
e4cdc335
RS
7372001-06-14 Richard M. Stallman <rms@gnu.org>
738
739 * xdisp.c (try_window_id): When EOB is visible, don't treat
740 insertion at EOB as if it were "off the bottom of the screen."
741
a55a5f3c
AI
7422001-06-11 Andrew Innes <andrewi@gnu.org>
743
744 * w32proc.c (create_child): Add new parameter is_gui_app.
745 (w32_executable_type): Add new parameter is_gui_app.
746 (sys_spawnve): Use it.
747 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
748 SIGQUIT. This matches better how the signals are interpreted by
749 MSVC compiled programs.
750 (syms_of_ntproc): Update docstring.
751
1b85dc1c
SM
7522001-06-02 Stefan Monnier <monnier@cs.yale.edu>
753
754 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
755 well otherwise note_mouse_highlight might optimize away highlighting
756 if we pass over that same overlay again.
757
b75f8eab
EZ
7582001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
759
760 * lread.c (Fload): Document that the argument is run via
761 substitute-in-file-name.
762
94843cc1
GM
7632001-05-31 Gerd Moellmann <gerd@gnu.org>
764
b14659e6
GM
765 * Makefile.in (bootstrap-doc): New target.
766 (bootstrap-emacs): Depend on it.
767
0894672f
GM
768 * fileio.c (Fdo_auto_save): Don't try to create the directory of
769 auto-save-list-file-name when shutting down Emacs, because
770 creating the directory might signal an error, and leaves
771 Emacs in a strange state.
772
94843cc1
GM
773 * term.c: (tty_cursor_hidden): New variable.
774 (update_begin): Don't call tty_hide_cursor. Clean up.
775 (update_end, set_terminal_window, set_scroll_region): Clean up.
776 (ring_bell, reset_terminal_modes): Clean up.
777 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
778 on tty_cursor_hidden.
779 (write_glyphs): Call tty_hide_cursor.
780
db3a49a6
SM
7812001-05-30 Stefan Monnier <monnier@cs.yale.edu>
782
783 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
784
8bd189fb
GM
7852001-05-30 Gerd Moellmann <gerd@gnu.org>
786
6f1be3b9
GM
787 * xfns.c (enum image_value_type): New enumerator
788 IMAGE_STRING_OR_NIL_VALUE.
789 (parse_image_spec): Handle it.
790 (xbm_format, pbm_format): Use it for :foreground and :background.
791 (xbm_load, pbm_load): Check for nil color names.
792
8bd189fb
GM
793 * xterm.c (note_mouse_highlight): If an overlapping overlay
794 exists, but we find that we highlight the same overlay as before,
795 don't do the highlighting again.
796
7bdba03c
GM
7972001-05-29 Gerd Moellmann <gerd@gnu.org>
798
4c329aa8
GM
799 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
800 Protect unibyte strings created by replacing their multibyte
801 equivalents in menu_items.
802
e15e2828
GM
803 * keymap.c (Fsingle_key_description): NUL-terminate the string
804 buffer before calling build_string.
805
7bdba03c
GM
806 * callproc.c (Fcall_process): Deal with decode_coding returning
807 CODING_FINISH_INCONSISTENT_EOL.
808
89c8dc6c
GM
8092001-05-28 Gerd Moellmann <gerd@gnu.org>
810
db3a49a6 811 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
812 an item's name with its key description in case the description
813 is a multibyte string.
814
815 * keymap.c (Fsingle_key_description): Create a multibyte string
816 only if necessary.
817
eb04d6cd
GM
818 * macros.c (Fstart_kbd_macro): Doc fix.
819
8bd6307f
GM
820 * xterm.c (cursor_in_mouse_face_p): New function.
821 (x_draw_stretch_glyph_string): Use it to choose a different GC
822 when drawing a cursor within highlighted text.
823
e26c4089
GM
824 * editfns.c (char_property_eq): Put in #if 0.
825
826 * indent.c (string_display_width): Put in #if 0.
827
828 * lread.c (Fload): Remove unused label.
829
89c8dc6c
GM
830 * termcap.c (speeds): Put in #if 0.
831
9a1211f2
GM
8322001-05-18 Gerd Moellmann <gerd@gnu.org>
833
29148a3f
GM
834 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
835
9a1211f2
GM
836 * xfaces.c (xlfd_point_size): Don't divide pixel size from
837 transformation matrix by 10.
838
09393d07
GM
8392001-05-16 Gerd Moellmann <gerd@gnu.org>
840
841 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
842 only if it's equal to the former foreground pixel color.
db3a49a6 843 (x_set_foreground_color, x_set_background_color)
09393d07
GM
844 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
845
460e6bae
GM
8462001-05-16 Dave Love <fx@gnu.org>
847
848 * insdel.c (signal_before_change, signal_after_change): Consider a
849 local change hook which changes the buffer.
99c78ce8
GM
850
851 * process.c (read_process_output): Don't call signal_after_change
852 and update_compositions after insert_from_string_before_markers.
853
dbcf3c03
GM
8542001-05-16 Gerd Moellmann <gerd@gnu.org>
855
a90b3d3c
GM
856 * xfaces.c (split_font_name): Use the right field when
857 checking for `[...]' syntax.
858
1b7818b4
GM
859 * buffer.c (copy_overlays): New function.
860 (clone_per_buffer_values): Use it.
861
862 * buffer.h (OVERLAY_PLIST): New macro.
863
9bae8781
GM
864 * keymap.c (Fsingle_key_description): Replace a build_string with
865 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
866
dbcf3c03
GM
867 * fontset.c (Ffontset_info): Check that face is non-null
868 before accessing its fields.
869
8a1ae4dd
GM
8702001-05-15 Gerd Moellmann <gerd@gnu.org>
871
18a0a39e
GM
872 * keyboard.c (read_key_sequence): Prevent generating a fake
873 prefix key twice.
874
e335b66a
GM
875 * xfaces.c (split_font_name): Handle `[...]' for the right
876 font name fields.
877
8a1ae4dd
GM
878 * ccl.c (ccl_driver): Don't copy remaining bytes in case
879 of CCL_STAT_INVALID_CMD.
880
3cf80731
SM
8812001-05-14 Stefan Monnier <monnier@cs.yale.edu>
882
33568849
SM
883 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
884 in <var> has no default value yet.
885
3cf80731
SM
886 * xfaces.c (try_alternative_families): First try the FAMILY.
887 And if nothing is found in the end, try again with scalable fonts.
888 (try_font_list): Let try_alternative_families do a bit more of
889 the work. Only use FAMILY if it is not nil.
890 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
891
933b0249
GM
8922001-05-14 Gerd Moellmann <gerd@gnu.org>
893
58e5af83
GM
894 * xterm.c (note_mouse_highlight): Avoid changing the mouse
895 pointer shape when show_mouse_face has already done it.
33568849 896
58e5af83 897 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
898 full-width rows.
899
7b16a6bf
GM
900 * xfaces.c (split_font_name): Make sure to leave the loop
901 with the right value of `i'.
3cf80731 902
933b0249
GM
903 * xfaces.c (split_font_name): Handle matrix transformations
904 in the pixel and point size fields of XLFD font names.
905 (xlfd_point_size): Likewise.
906
dddcbf00
EZ
9072001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
908
3cf80731 909 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
910 (x_to_w32_font): Add prototype.
911
7689ef0b
EZ
912 * regex.c (malloc, realloc, free) [emacs]: Undefine before
913 redefining, to avoid compiler warnings.
914
e7c15bba
EZ
915 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
916
dddcbf00
EZ
917 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
918 (w32_get_bdf_glyph): Cast between unsigned char and char when
919 passing arguments to subroutines, to shut up compiler warnings.
920 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
921 GET_HEX_VAL.
922
923 * xfaces.c: Include keyboard.h before frame.h, not after it.
924
925 * widget.c: Include keyboard.h before frame.h.
926
927 * w32term.h (struct image, struct face): Forward declaration, to
928 avoid compiler warnings.
929
7bd2d083
GM
9302001-05-11 Gerd Moellmann <gerd@gnu.org>
931
47e72862
GM
932 * keyboard.c (read_key_sequence): Don't modify events when
933 generating fake prefix keys (mode-line, scroll-bar, ...) since
934 this prevents proper processing of such events when pushed back
935 into unread-command-events.
936
dd5f324b
GM
937 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
938 actually redrawn. Make the function static.
939 (note_mouse_highlight): Fix a case where the mouse cursor
940 was changed back to the text cursor.
941
942 * xterm.h (clear_mouse_face): Remove prototype.
943
d88a79d4
GM
944 * xdisp.c (try_window_id): Fix the fix and set the right
945 window_end_vpos.
946
947 * xdisp.c (try_window_id): Fix computation of window end in the
948 case that lines were deleted at the end of the window. Add some
949 more debug_method_adds.
0416532f 950
7bd2d083
GM
951 * xfaces.c (try_alternative_families): New function.
952 (try_font_list): Use it. If ATTRS specifies a family, check
953 fonts from that family first.
954 (choose_face_font): Remove code setting the family part of
955 the pattern to nil.
956
23fca891
GM
9572001-05-10 Gerd Moellmann <gerd@gnu.org>
958
ff9aa2ca
GM
959 * xdisp.c (try_window_id): Fix case of all changes before
960 the window start.
7b2654b5 961
23fca891
GM
962 * xdisp.c (try_window_id): Add some xasserts.
963
e9726794
GM
9642001-05-09 Gerd Moellmann <gerd@gnu.org>
965
966 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
967
9e53a675
GM
9682001-05-09 Dave Love <fx@gnu.org>
969
970 * xdisp.c (GIVE_UP): Fix for K&R C.
971
0d487c52
GM
9722001-05-09 Gerd Moellmann <gerd@gnu.org>
973
fe88d421
GM
974 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
975
0d487c52
GM
976 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
977 back to the text cursor shape without need.
978
1e9fc92e
GM
9792001-05-07 Gerd Moellmann <gerd@gnu.org>
980
a2a6232e
GM
981 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
982
983 * dispextern.h (inverse_video): Declare extern.
984
1e9fc92e
GM
985 * keyboard.c (delete_kboard): Handle the case that selected_frame
986 has been deleted in the course of x_connection_closed.
987
12949a7f
EZ
9882001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
989
7b2654b5
SM
990 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
991 Fix the change from 2001-04-30.
12949a7f 992
2fa2f461
GM
9932001-05-03 Gerd Moellmann <gerd@gnu.org>
994
a779d213
GM
995 * xfns.c (file_dialog_unmap_cb): New function.
996 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
997 where a dialog is closed via the window manager.
998
7b2654b5 999 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1000 the window start or all below the window end mostly rewritten.
1001 (redisplay_window): Move the tests if try_window_id is
1002 applicable to try_window_id.
1003 (GIVE_UP): New macro.
1004
3356df63
GM
10052001-05-02 Gerd Moellmann <gerd@gnu.org>
1006
a39202f6 1007 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1008 currently being updated, mark the frame garbaged.
1009 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1010 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1011
3356df63
GM
1012 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1013 again if it has already been drawn.
1014
a9d2fd1d
SM
10152001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1016
1017 * syntax.c (update_syntax_table): Check that oldi has the same
1018 properties as old_prop before deciding not to invalidate.
1019
c95fc5f1
GM
10202001-04-30 Gerd Moellmann <gerd@gnu.org>
1021
a9793e45
GM
1022 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1023 read-only text that is so because of text properties.
1024
c95fc5f1 1025 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1026 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1027 windows that are components of a Lucid menu bar.
1028
5a5d9185
GM
10292001-04-27 Gerd Moellmann <gerd@gnu.org>
1030
1031 * term.c (turn_on_face): Fix reverse video handling on terminals
1032 that don't support colors.
1033
ba973f7a
GM
10342001-04-26 Gerd Moellmann <gerd@gnu.org>
1035
1036 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1037 a non-buffer.
1038
8c56a983
GM
10392001-04-25 Gerd Moellmann <gerd@gnu.org>
1040
a728644c
GM
1041 * term.c (toggle_highlight): New function.
1042 (turn_on_face): Change handling of reverse video.
1043
7b2654b5
SM
1044 * process.c (wait_reading_process_input):
1045 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1046
bfd8410f
GM
1047 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1048 of the number of overlays to check.
1049
be2488ca
GM
1050 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1051
8c56a983
GM
1052 * xdisp.c (try_window_id): Fix a case where window_end_pos
1053 and window_end_bytepos were not adjusted.
1054
522d42f7
GM
10552001-04-23 Gerd Moellmann <gerd@gnu.org>
1056
1057 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1058 zero instead of -1.
1059
78c1afb6
EZ
10602001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1061
a9d2fd1d
SM
1062 * process.c (wait_reading_process_input) [!subprocesses]:
1063 Don't reference waiting_for_user_input_p, it's not defined in the
1064 branch without async subprocesses support.
78c1afb6 1065
a2fab450
GM
10662001-04-19 Gerd Moellmann <gerd@gnu.org>
1067
a122a38e
GM
1068 * keyboard.c (delete_kboard): Prevent a dangling reference
1069 from current_kboard to KB, which is freed.
1070
a9d2fd1d
SM
1071 * process.c (wait_reading_process_input):
1072 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1073 read_key_sequence aware of buffer changes from under it.
1074
0f8d6dc7
GM
10752001-04-18 Gerd Moellmann <gerd@gnu.org>
1076
eeffb293
GM
1077 * xfaces.c (Qscalable_fonts_allowed): New variable.
1078 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1079 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1080 removed.
eeffb293 1081 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1082 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1083 for scalable-fonts-allowed to t.
eeffb293 1084
0f8d6dc7
GM
1085 * fileio.c (Finsert_file_contents): If the file size returned from
1086 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1087 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1088
eec2d1de
EZ
10892001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1090
1091 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1092 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1093 (__memalign_hook): Make the two prototypes consistent.
1094
f4f480bd
GM
10952001-04-17 Gerd Moellmann <gerd@gnu.org>
1096
1097 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1098 matrix of mini-windows.
1099
52283633
SM
11002001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1101
1102 * intervals.c (find_interval): Don't rebalance during signal handling.
1103
ec2423c9
GM
11042001-04-11 Gerd Moellmann <gerd@gnu.org>
1105
30cb0001 1106 * fns.c: Include blockinput.h.
52283633 1107
ec2423c9
GM
1108 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1109
719d83ad
GM
11102001-04-10 Gerd Moellmann <gerd@gnu.org>
1111
60f8d735
GM
1112 * fns.c (Fcompare_strings): Fix return values.
1113
afffeb57
GM
1114 * window.c (window_scroll): Change the meaning of N to mean
1115 N screen-fulls or N lines.
1116 (window_scroll_pixel_based, window_scroll_line_based)
1117 (scroll_command, Fscroll_other_window): Change accordingly.
1118
52283633
SM
1119 * window.c (window_scroll_pixel_based, Frecenter):
1120 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1121 height of the window.
1122
1123 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1124 instead of using it.last_visible_y for the height of the window.
52283633 1125
719d83ad 1126 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1127 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1128
1129 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1130 able to write to hidden and system files. From Dan Holmsand
1131 <dan@eyebee.com>.
719d83ad 1132
8ddf3ee1
GM
1133 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1134 Holmsand <dan@eyebee.com>.
719d83ad 1135
522ed7fb
GM
11362001-04-09 Gerd Moellmann <gerd@gnu.org>
1137
9170e5d4
GM
1138 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1139
522ed7fb
GM
1140 * window.c (window_internal_height): Return 1 less if the
1141 window has a header line.
1142
1143 * xdisp.c (try_window_id): When scrolling on a terminal, take
1144 the change of window_internal_height into account.
1145
ceeb3d7d
EZ
11462001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1147
1148 * gmalloc.c (align): If the argument SIZE would overflow
1149 __malloc_ptrdiff_t, fail right away.
1150
63685b9d
GM
11512001-04-06 Gerd Moellmann <gerd@gnu.org>
1152
1153 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1154 Make sure the tooltip is completely visible.
1155 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1156
1157 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1158
1159 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1160
3ffb33bb
DL
11612001-04-06 Dave Love <fx@gnu.org>
1162
52283633
SM
1163 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1164 Fix test of `from'.
3ffb33bb 1165
869fb12c
GM
11662001-04-06 Gerd Moellmann <gerd@gnu.org>
1167
52283633 1168 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1169
869fb12c
GM
1170 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1171
441bf856
GM
11722001-04-05 Gerd Moellmann <gerd@gnu.org>
1173
4d664b04
GM
1174 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1175
52283633 1176 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1177
30ca89f5
GM
1178 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1179 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1180
1181 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1182 shell widget's position only if it is non-null.
1183
52283633
SM
1184 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1185 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1186
81a81c0f
GM
1187 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1188 FILENAME to bring it in synch with the documentation.
1189
441bf856
GM
1190 * xfaces.c (realizing_basic_faces_p): Renamed from
1191 realize_default_face_p.
1192 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1193 (realize_default_face): Don't set the flag.
1194
702a1e8e
GM
11952001-04-04 Gerd Moellmann <gerd@gnu.org>
1196
1013f4e3
GM
1197 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1198
52283633
SM
1199 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1200
1013f4e3
GM
1201 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1202 the buffer that was used for echoing.
1203
702a1e8e
GM
1204 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1205 (first_font_matching): Removed unused function.
1206 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1207 (may_use_scalable_font_p): Remove parameter FONT; rename
1208 parameter NAME to FONT.
1209 (x_face_list_fonts): Fix missing bounds check.
1210 (realizing_default_face_p): New variable.
1211 (realize_default_face): Set and clear that flag.
1212 (x_face_list_fonts): When called during the realization of the
1213 default face, and no matching fonts are found when ignoring
1214 scalable fonts and fonts matching a regexp from
1215 face-ignored-fonts, try without ignoring fonts.
1216
f9dbcda4
GM
12172001-04-03 Gerd Moellmann <gerd@gnu.org>
1218
ad18ffb1
GM
1219 * xfns.c (postprocess_image): New function.
1220 (lookup_image): Call it for all image types except PostScript.
1221 (x_kill_gs_process): Call postprocess_image.
1222
f9dbcda4
GM
1223 * xterm.c (x_use_underline_position_properties): New variable.
1224 (x_draw_glyph_string): Use it.
1225 (syms_of_xterm): DEFVAR_BOOL it.
1226
651f03b6
GM
12272001-04-02 Gerd Moellmann <gerd@gnu.org>
1228
1229 * xterm.c (x_alloc_nearest_color_1): New function.
1230 (x_alloc_nearest_color): Use it.
1231 (x_color_cells): Take a Display as argument, instead of a frame.
1232 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1233 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1234 (x_initialize): Register cvt_string_to_pixel as resource converter
1235 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1236
73d75a62
GM
12372001-03-30 Gerd Moellmann <gerd@gnu.org>
1238
b2046df8
GM
1239 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1240 (set_iterator_to_next): If a string from a display property ends,
1241 consider the case that this might also be the end of an
1242 overlay string having the display property.
1243
52283633 1244 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1245
87d8eba4
GM
1246 * xdisp.c (reseat_to_string): Undo last change.
1247
73d75a62
GM
1248 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1249 matrix of a window when the header line changes, when
1250 new rows are allocated, or when the width changes.
1251
911a2406
EZ
12522001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1253
52283633 1254 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1255
aea51abe
EZ
12562001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1257
1258 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1259 deprecated.
1260
176bc847
GM
12612001-03-29 Gerd Moellmann <gerd@gnu.org>
1262
ed31fabf
GM
1263 * data.c (Fsubr_interactive_form): New function.
1264 (syms_of_data): Defsubr it.
1265
176bc847
GM
1266 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1267 (live_float_p, live_misc_p): Return 1 only if the offset of the
1268 pointer in its block is >= 0.
1269
e59d0e9d
GM
12702001-03-28 Paul Eggert <eggert@twinsun.com>
1271
1272 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1273 microseconds calcuation. Avoid double-rounding problem.
1274 In doc string, warn that the result is approximate.
1275
f827b862
GM
12762001-03-28 Gerd Moellmann <gerd@gnu.org>
1277
30a3f61c
GM
1278 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1279 bind `inhibit-eval-during-redisplay' to t.
1280
1281 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1282
1283 * xdisp.c (inhibit_eval_during_redisplay)
1284 (Qinhibit_eval_during_redisplay): New variables.
1285 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1286 don't eval, return nil instead.
1287 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1288 Initialize Qinhibit_eval_during_redisplay.
1289
e719f5ae
GM
1290 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1291 the iterator's multibyte_p flag.
1292
deb2613a
GM
1293 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1294 instead of setting it to zero; it's incremented for each frame
1295 where the menu face is changed.
1296
52283633
SM
1297 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1298 change bottom shadow accordingly.
1299
1300 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1301 intersections here.
1302 (expose_window): Do it here instead.
52283633 1303 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1304
f827b862
GM
1305 * bytecode.c (BYTE_CODE_QUIT): New macro.
1306 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1307
4bde0ebb
GM
13082001-03-27 Gerd Moellmann <gerd@gnu.org>
1309
607ec83c
GM
1310 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1311 Give up if matrix starts in an ellipsis.
1312 (init_from_display_pos): Do nothing if POS doesn't specify
1313 a dpvec_index but the iterator has such a position.
1314
0245398f
GM
1315 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1316
aba25348
GM
1317 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1318 x/y position is (0, 0) after destroying the menu bar, restore
1319 its original position.
1320
4bde0ebb
GM
1321 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1322 (init_from_display_pos): Use it.
1323 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1324
8cdb267e
GM
13252001-03-26 Gerd Moellmann <gerd@gnu.org>
1326
1327 * xdisp.c (try_window_id): Undo last change.
1328
9948db79
EZ
13292001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1330
1331 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1332
1333 * buffer.c (syms_of_buffer): Doc fix.
1334
2eddf899
GM
13352001-03-26 Gerd Moellmann <gerd@gnu.org>
1336
1337 * xfaces.c (x_update_menu_appearance): Use local variable
1338 popup_path for setting font resources.
1339
6c145d35
EZ
13402001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1341
6a65b1b5
EZ
1342 * frame.c (Fframe_list): Don't reference tip_frame if
1343 HAVE_WINDOW_SYSTEM is not defined.
1344
6c145d35
EZ
1345 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1346 <wl@gnu.org>.
1347
d74c1900
GM
13482001-03-25 Gerd Moellmann <gerd@gnu.org>
1349
20fbd925
GM
1350 * xdisp.c (init_from_display_pos): Test invisible property
1351 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1352
927c5b3b
GM
1353 * xdisp.c (redisplay_internal) <update one window>: Make sure
1354 last_arrow_position and last_arrow_string are set.
1355
d74c1900
GM
1356 * frame.c (Fframe_list): Don't return a tooltip frame.
1357
091f8878
GM
13582001-03-23 Gerd Moellmann <gerd@gnu.org>
1359
52283633
SM
1360 * xdisp.c (mark_window_display_accurate_1): New function,
1361 extracted from mark_window_display_accurate.
1362 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1363 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1364 (mark_window_display_accurate): Use it.
1365 (redisplay_internal): Use it for the selected window.
1366 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1367 for the selected frame.
1368
ac90c44f
GM
1369 * xdisp.c Use make_number, for readability.
1370 (try_window_id): Disable rows below the window end.
1371 (try_window_reusing_current_matrix): Use cursor_row_p.
1372 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1373 of rows.
1374 (init_from_display_pos): If POS specifies a position in a display
1375 vector, maybe get the iterator set up for that ellipsis.
43c09969 1376
091f8878
GM
1377 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1378
991786dd
EZ
13792001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1380
1381 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1382
6c29b43c
GM
13832001-03-23 Gerd Moellmann <gerd@gnu.org>
1384
1385 * xfaces.c (x_update_menu_appearance): Use a different path
1386 for Lucid popup menus.
1387
d8731202
SM
13882001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1389
1390 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1391
1392 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1393 (string_buffer_position): Use `make_number'.
1394
f61a541b
GM
13952001-03-22 Gerd Moellmann <gerd@gnu.org>
1396
3c9e997b
GM
1397 * xfaces.c (x_update_menu_appearance): Renamed from
1398 x_set_menu_face_resources. Use different resources for popups.
1399
1400 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1401 (GC_CHECK_STRING_BYTES): Don't define.
1402
364cd450
GM
1403 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1404 Removed, together with subroutines.
1405 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1406 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1407
d8731202
SM
1408 * dispextern.h (x_set_menu_resources_from_menu_face):
1409 Remove prototype.
364cd450 1410
d8731202 1411 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1412 Remove calls to x_set_menu_resources_from_menu_face.
1413
d8731202
SM
1414 * xfaces.c (xm_set_menu_resources_from_menu_face):
1415 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1416
1417 * xmenu.c: Include widget.h.
1418 (single_submenu): Return int. Some cleanup.
1419 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1420
140330de
GM
14212001-03-21 Gerd Moellmann <gerd@gnu.org>
1422
1423 * xterm.c (x_update_window_end): Handle overwritten mouse face
1424 also for tool bar windows.
1425 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1426 DRAW is DRAW_IMAGE_RAISED.
1427
1741905c
GM
14282001-03-20 Gerd Moellmann <gerd@gnu.org>
1429
fa88947e
GM
1430 * print.c (syms_of_print): Doc fixes.
1431
1741905c
GM
1432 * fns.c (Fmd5): Doc fix.
1433
ade0bee1
GM
14342001-03-19 Gerd Moellmann <gerd@gnu.org>
1435
357e7376
GM
1436 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1437 Clear area of the frame not occupied by the scroll bar.
1438
c2c097cc
GM
1439 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1440 tip frame's root window buffer to *tip* right after creating
1441 the frame.
1442
ade0bee1
GM
1443 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1444 is an integer don't have to be for space characters.
1445
88c6e37e
GM
14462001-03-16 Gerd Moellmann <gerd@gnu.org>
1447
52283633
SM
1448 * indent.c (current_column, current_column_1, Fmove_to_column)
1449 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1450
c62eed76
KH
14512001-03-15 Kenichi Handa <handa@etl.go.jp>
1452
1453 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1454 drawing glyph string.
1455
c899e7e6
GM
14562001-03-15 Gerd Moellmann <gerd@gnu.org>
1457
d0bbfc99
GM
1458 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1459 (command_loop_1): Undo last change.
1460
03d1a189
GM
1461 * xterm.c (fast_find_position): Return the correct vpos.
1462
c899e7e6 1463 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1464 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1465 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1466 Call store_symval_forwarding with BUF null.
1467 (set_internal): Call store_symval_forwarding with the BUF
1468 parameter passed to set_internal. Formerly, the value was always
1469 set in the current buffer; the buffer recorded in specbind for
1470 this case wasn't used.
1471 (arith_driver): Reindent.
1472
52283633
SM
1473 * buffer.c (swap_out_buffer_local_variables):
1474 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1475
1476 * lisp.h (store_symval_forwarding): Change prototype.
1477
1478 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1479
57ac7c81
GM
14802001-03-14 Gerd Moellmann <gerd@gnu.org>
1481
697617d9
GM
1482 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1483 FOR_DELETION. Avoid resizing the mini-window of the selected
1484 frame if FOR_DELETION is set.
1485 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1486 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1487 signature.
1488
1489 * window.c (Fset_window_configuration): Change call to
1490 do_switch_frame to new format.
1491
1492 * keyboard.c (quit_throw_to_read_char): Change call to
1493 do_switch_frame to new format.
1494
1495 * lisp.h (do_switch_frame): Change prototype.
1496
819dce0f
GM
1497 * frame.c (Fframe_parameters): In the `buffer-list' frame
1498 parameter, store the buffer list of FRAME, not the list of the
1499 selected frame.
1500
57ac7c81
GM
1501 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1502 box just because the glyph row's full_width_p flag is set.
1503
65008712
GM
15042001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1505
1506 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1507 skip the padding blanks inserted in extend_face_to_end_of_line,
1508 before checking for trailing whitespace.
1509
159cf431
GM
15102001-03-13 Gerd Moellmann <gerd@gnu.org>
1511
52283633 1512 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1513 Remove special handling for LessTif/Motif.
1514 (toplevel): Don't include Xm/Xm.h.
1515
52283633
SM
1516 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1517 Remove workaround code for LessTif; it doesn't work anymore.
1518
2564ea1b 1519 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1520 Xm/ScrollBarP.h.
afcdc0a1 1521
52283633
SM
1522 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1523 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1524 contemporary LessTif.
1525
52283633
SM
1526 * xfaces.c (xm_set_menu_resources_from_menu_face):
1527 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1528
159cf431
GM
1529 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1530 removing button grabs.
1531
c6f7429a
KH
15322001-03-13 Kenichi Handa <handa@etl.go.jp>
1533
cb82d767
KH
1534 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1535 and clip-large-size-font as obsolete.
1536
c6f7429a
KH
1537 * lread.c (read_multibyte): Check the validity of multibyte
1538 sequence. If invalid, return the first byte.
1539
760cefb5
GM
15402001-03-12 Gerd Moellmann <gerd@gnu.org>
1541
1542 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1543 before running the command; timer functions or process
1544 filters may have set it.
1545
5141f9d0
EZ
15462001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1547
1548 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1549 Doc fix.
1550
b6a15240
GM
15512001-03-12 Gerd Moellmann <gerd@gnu.org>
1552
1553 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1554 to sprintf.
1555
95522746
GM
15562001-03-09 Gerd Moellmann <gerd@gnu.org>
1557
db14cfc5
GM
1558 * dispextern.h (string_buffer_position): Add prototype.
1559
52283633 1560 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1561 (single_display_prop_string_p): New functions.
1562
1563 * xterm.c (note_mouse_highlight): If there's no help-echo on
1564 a string, look at the buffer text ``under'' it.
1565
1566 * keyboard.c (make_lispy_event): Add string info to the event,
1567 analogous to what's done on mode lines.
1568 (read_key_sequence): For a click on a string, consider `local-map'
1569 and `keymap' of that string.
1570
52283633
SM
1571 * keyboard.c (make_lispy_event, make_lispy_movement):
1572 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1573
1574 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1575
1576 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1577 POS; return void.
1578
95522746
GM
1579 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1580 flags argument to emacs_open; it seems to conflict with O_EXCL.
1581
898a399d
KH
15822001-03-09 Kenichi Handa <handa@etl.go.jp>
1583
28cd4910
KH
1584 * composite.h (struct composition): Change types of members;
1585 glyph_len to unsigned, width to unsigned short.
898a399d 1586
4cdf6a6c
AI
15872001-03-08 Andrew Innes <andrewi@gnu.org>
1588
1589 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1590 menu titles.
1591
129004d3
GM
15922001-03-08 Gerd Moellmann <gerd@gnu.org>
1593
221dd3e7
GM
1594 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1595 instead of nil.
1596
52283633 1597 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1598 help-echo in strings.
1599 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1600 (fast_find_string_pos): New function.
1601
52283633
SM
1602 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1603 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1604
1605 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1606 Handle `mouse-face'.
1607
1608 * dispextern.h (face_at_string_position): Change prototype.
1609
52283633 1610 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1611
129004d3
GM
1612 * keyboard.c (make_lispy_event): Avoid generating drag events
1613 if the mouse hasn't actually moved to another buffer position.
52283633 1614
80c8ab8c
DL
16152001-03-08 Dave Love <fx@gnu.org>
1616
129004d3 1617 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1618
989521fd
GM
16192001-03-08 Gerd Moellmann <gerd@gnu.org>
1620
1621 * process.c (Fset_process_window_size): Fix a typo.
1622
bb5c338d
KH
16232001-03-08 Kenichi Handa <handa@etl.go.jp>
1624
1625 * coding.c (detect_coding_sjis): Do more rigid check.
1626 (detect_coding_big5): Likewise.
1627 (decode_coding_sjis_big5): Likewise.
1628 (Fdetect_coding_region): Call detect_coding_system with tailing
1629 anchor byte `\0' for more rigid detection.
52283633 1630 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1631 (Fdetect_coding_string): Likewise.
1632
8b8f9197
SM
16332001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1634
1635 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1636 a string before extracting its data.
1637
3bdf2660
GM
16382001-03-07 Gerd Moellmann <gerd@gnu.org>
1639
1640 * window.c (Frecenter): Rewrite code handling negative values
1641 of ARG on graphical frames.
1642
16432001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1644
1645 * window.c (displayed_window_lines): If W->start is outside the
1646 accessible portion of the buffer, call start_display with BEGV or
1647 ZV instead of W->start.
1648
471f86b9
GM
16492001-03-07 Gerd Moellmann <gerd@gnu.org>
1650
2ab62c6c
GM
1651 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1652
471f86b9
GM
1653 * process.c (Fset_process_filter): Don't crash if the input
1654 file descriptor of PROCESS is closed.
1655 (Fset_process_window_size): Likewise.
1656
101922c3
GM
16572001-03-06 Kenichi Handa <handa@etl.go.jp>
1658
1659 * xterm.c (XTflash): Make the timeout of select shorter, and call
1660 select repeatedly until the desired time expires.
1661
45d051a7
GM
16622001-03-06 Gerd Moellmann <gerd@gnu.org>
1663
1664 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1665
1666 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1667
1668 * lisp.h (Vwindow_list): Declare extern.
1669
8f372c46
EZ
16702001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1671
1672 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1673
f16a7aa5
GM
16742001-03-06 Gerd Moellmann <gerd@gnu.org>
1675
157ae273
GM
1676 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1677 to detect a case where we have to highlight a different region
1678 despite not having left the currently highlighted region.
1679 Set mouse_face_overlay in the x_display_info.
45d051a7 1680 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1681
1682 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1683
1684 * buffer.c (mouse_face_overlay_overlaps): New function.
1685
1686 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1687 (Qmouse_face): Declare extern.
1688
f16a7aa5
GM
1689 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1690 if face_change_count is non-zero.
1691
827afcac
KH
16922001-03-06 Kenichi Handa <handa@etl.go.jp>
1693
1694 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1695 that the source is unibyte.
1696
14c7242e
DL
16972001-03-05 Dave Love <fx@gnu.org>
1698
827afcac 1699 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1700
c28b847b
GM
17012001-03-05 Gerd Moellmann <gerd@gnu.org>
1702
1703 * minibuf.c (read_minibuf): Clean up the binding stack if
1704 called noninteractively.
1705
b86644f2
KH
17062001-03-05 Kenichi Handa <handa@etl.go.jp>
1707
1708 * coding.c (syms_of_coding): Docstring modified.
1709
203682cc 17102001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1711
1712 * charset.c (char_to_string): If a single byte char has modifier
1713 bits that can't be reflected to the character code, ignore them
45d051a7 1714 instead of signaling an error.
b86644f2 1715
e30bd7b7
EZ
17162001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1717
1718 * s/msdos.h: Update copyright notice.
1719
1720 * dosfns.h: Update copyright notice.
1721
1722 * dosfns.c: Update copyright notice.
1723
1724 * msdos.c: Update copyright notice.
1725
b52b65bd
GM
17262001-03-02 Gerd Moellmann <gerd@gnu.org>
1727
1728 * xterm.c (glyph_rect): New function.
1729 (XTmouse_position): Use it to raise the threshold for mouse
1730 movement event generation.
1731
53c4b1e6
EZ
17322001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1733
1734 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1735 specifies (reverse . t), reverse the initial screen colors.
1736 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1737 but we are reversing the colors, set bg_set, not fg_set.
1738 Likewise for setting background-color and reversing: set fg_set.
1739 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1740 in effect.
1741
1742 * xfaces.c (Finternal_set_lisp_face_attribute)
1743 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1744 parameters alist.
1745
f964b4d7
GM
17462001-03-02 Gerd Moellmann <gerd@gnu.org>
1747
ef53d75e
GM
1748 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1749 to a single slash in the middle of file names.
1750
52283633 1751 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1752 Accept only alphanumeric time zone names.
1753
f964b4d7
GM
1754 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1755 or width area.
1756 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1757 a widget to zero height.
52283633 1758
c3c45f65
GM
17592001-03-01 Gerd Moellmann <gerd@gnu.org>
1760
1761 * window.c (Fwindow_end): Call move_it_past_eol only if
1762 ending up on a partially visible line.
1763
028d739a
DL
17642001-03-01 Dave Love <fx@gnu.org>
1765
1766 * ccl.c (Fccl_execute): Doc fix.
1767
57c5889c
GM
17682001-03-01 Gerd Moellmann <gerd@gnu.org>
1769
35f59f6b
GM
1770 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1771 of the tool bar before calling x_figure_window_size.
1772
f84ff02c
GM
1773 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1774 NULL after destroying it, otherwise XTread_socket can access a
1775 destroyed widget when input is unblocked.
1776
8b8f9197 1777 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1778
57c5889c
GM
1779 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1780 same name as before, although there was a change in fontsets.
1781
224227d1
KR
17822001-02-28 Ken Raeburn <raeburn@gnu.org>
1783
4560730a
KR
1784 * lisp.h (Fframe_parameter): Declare.
1785
224227d1 1786 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1787 Lisp_Object.
224227d1 1788
ece93c02
GM
17892001-02-28 Gerd Moellmann <gerd@gnu.org>
1790
11ef99b9
GM
1791 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1792 NULL instead.
1793
1794 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1795 NULL instead.
1796
ece93c02
GM
1797 * alloc.c (toplevel): Include process.h.
1798 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1799 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1800 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1801 (allocate_vector, allocate_hash_table, allocate_window)
1802 (allocate_frame, allocate_process, allocate_other_vector):
1803 New functions.
ece93c02
GM
1804 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1805 (mark_maybe_pointer): New function.
52283633 1806 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1807 remain and not Lisp_Objects.
1808 (min_heap_address, max_heap_address): New variables.
1809 (mem_find): Return MEM_NIL if START is below min_heap_address or
1810 above max_heap_address.
1811 (mem_insert): Compute min_heap_address and max_heap_address.
1812
1813 * process.c (make_process): Use allocate_process.
1814
1815 * frame.c (make_frame): Use allocate_frame.
1816
1817 * window.c (make_window, make_dummy_parent): Use allocate_window.
1818 (Fcurrent_window_configuration): Use allocate_other_vector.
1819
1820 * lisp.h (allocate_vectorlike): Remove prototype.
1821 (allocate_vector, allocate_other_vector, allocate_frame)
1822 (allocate_window, allocate_process, allocate_hash_table):
1823 Add prototypes.
1824
1825 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1826 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1827
063af457
KH
18282001-02-27 Kenichi Handa <handa@etl.go.jp>
1829
1830 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1831 treat the produced bytes as a valid multibyte sequence.
1832
1833 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1834 (ccl_driver) <CCL_WriteMultibyteChar2>:
1835 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1836 <ccl_finish>: Set ccl->eight_bit_control properly.
1837
1838 * ccl.h (struct ccl_program): New member eight_bit_control.
1839
f58c6494
SM
18402001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1841
1842 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1843 accessible_keymaps_char_table.
1844 (accessible_keymaps_char_table): Obey `is_metized'.
1845 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1846 Lisp_Object.
1847
c596c392
GM
18482001-02-26 Gerd Moellmann <gerd@gnu.org>
1849
1850 * dispnew.c: Check HAVE_TERM_H before including term.h.
1851
425de386
AI
18522001-02-24 Andrew Innes <andrewi@gnu.org>
1853
1854 * makefile.w32-in: Update copyright notice.
1855
2ba11bbd
SM
18562001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1857
1858 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1859
66c56ed1
KH
18602001-02-24 Kenichi Handa <handa@etl.go.jp>
1861
4c1593ce
KH
1862 * Makefile.in (lisp): Add international/utf-8.elc.
1863
66c56ed1
KH
1864 * fontset.c (Fnew_fontset): Fix handling of the case that an
1865 element of FONTLIST is a cons of family and registry.
1866
796ead7e
JR
18672001-02-23 Jason Rumney <jasonr@gnu.org>
1868
1869 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1870 to height unconditionally.
1871
1872 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1873 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1874 (x_insert_glyphs): Call window_box_left to obtain the left
1875 x-coordinate of the area to shift.
1876
1877 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1878 safe_run_hooks.
1879
f6839838
AI
18802001-02-22 Andrew Innes <andrewi@gnu.org>
1881
52283633 1882 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1883 ($(BLD)\dispnew.obj):
1884 ($(BLD)\editfns.obj):
1885 ($(BLD)\fileio.obj):
1886 ($(BLD)\filelock.obj):
1887 ($(BLD)\keyboard.obj):
1888 ($(BLD)\w32proc.obj):
1889 ($(BLD)\process.obj):
1890 ($(BLD)\sysdep.obj): Ditto.
1891
1892 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1893 header files.
52283633
SM
1894 ($(BLD)/dispnew.$(O)):
1895 ($(BLD)/editfns.$(O)):
1896 ($(BLD)/fileio.$(O)):
1897 ($(BLD)/filelock.$(O)):
1898 ($(BLD)/keyboard.$(O)):
1899 ($(BLD)/w32proc.$(O)):
1900 ($(BLD)/process.$(O)):
f6839838
AI
1901 ($(BLD)/sysdep.$(O)): Ditto.
1902
c224f70b
GM
19032001-02-22 Gerd Moellmann <gerd@gnu.org>
1904
51695746
GM
1905 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1906 at the start of the function, check that the \n in it->c is
1907 from the iterator's current position.
52283633 1908
a61b7058
GM
1909 * xdisp.c (handle_single_display_prop): Add parameter
1910 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1911 properties which replace the display of text with something else.
1912 (handle_display_prop): Call handle_single_display_prop with
1913 additional argument saying if we already replaced text display
1914 with something else. Use AREF.
52283633 1915 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1916 (decode_mode_spec_coding): Use AREF and ASIZE.
1917
3473f362
GM
1918 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1919 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1920 * vmstime.h: Files removed.
52283633 1921
2bb58df3
GM
1922 * unexencap.c, unexfx2800.c: Files removed.
1923
c224f70b
GM
1924 * dispnew.c (direct_output_for_insert): Give up if we are showing
1925 a message or just cleared the message because we might need to
1926 resize the echo area window or display an empty echo area.
1927
ffc9ff0c
GM
19282001-02-21 Gerd Moellmann <gerd@gnu.org>
1929
0528abe1
GM
1930 * xdisp.c (redisplay_internal): Do the
1931 mark_window_display_accurate after all windows have been
1932 redisplayed because this call resets flags in buffers which are
1933 needed for proper redisplay.
1934
52283633
SM
1935 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1936 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1937 the old names.
1938
52283633
SM
1939 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1940 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1941
1942 * msdos.h (struct x_output): Rename busy_window to
1943 hourglass_window, busy_p to hourglass_p.
1944
52283633
SM
1945 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1946 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1947
1948 * xfns.c: Rename everything containing *busy_cursor* and similar
1949 to *hourglass*.
1950 (syms_of_w32fns): Rename x-busy-pointer-shape to
1951 x-hourglass-pointer-shape, display-busy-cursor to
1952 display-hourglass, busy-cursor-delay to hourglass-delay.
1953
1954 * w32fns.c: Rename everything containing *busy_cursor* and similar
1955 to *hourglass*.
1956 (syms_of_w32fns): Rename x-busy-pointer-shape to
1957 x-hourglass-pointer-shape, display-busy-cursor to
1958 display-hourglass, busy-cursor-delay to hourglass-delay.
1959
1960 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1961 of its busy_p flag.
1962
1963 * dispextern.h (start_hourglass, cancel_hourglass)
1964 (display_hourglass_p): Renamed from *busy_cursor*.
1965
ab2c5f0a
GM
19662001-02-20 Gerd Moellmann <gerd@gnu.org>
1967
d17e49a8
GM
1968 * keyboard.c (read_char): When an event from unread-command-events
1969 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1970
fa97adf6
GM
1971 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1972 equal to the current buffer.
1973
ab2c5f0a
GM
1974 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1975 nil, otherwise we're left with truncate_lines t when a message
1976 is printed with message-truncate-lines bound to t.
1977
aeac019e
GM
19782001-02-19 Gerd Moellmann <gerd@gnu.org>
1979
c8bc6f65
GM
1980 * window.c (Fmove_to_window_line): Undo last change.
1981 (displayed_window_lines): Call line_bottom_y to determine
1982 the line's bottom position.
1983
1984 * dispextern.h (line_bottom_y): Add prototype.
1985
52283633 1986 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1987 (pos_visible_p): Use it.
1988
980a2d69
GM
1989 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1990 set redisplaying_p to 0 here instead of in Frecursive_edit.
1991 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1992 set redisplaying_p.
1993
52283633 1994 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1995 New variables.
1996 (syms_of_xdisp): Initialize new variables.
1997 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1998 Specbind `inhibit-menubar-update' when updating the menu bar.
1999
65048e97
GM
2000 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2001 safe_run_hooks.
2002
2003 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2004 safe_run_hooks.
2005
a57c4026
GM
2006 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2007 is null.
2008
aeac019e
GM
2009 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2010 to the start of the file.
2011
76846b31
GM
20122001-02-16 Gerd Moellmann <gerd@gnu.org>
2013
f3f053f3 2014 * window.c (set_window_buffer): Fix last change.
52283633 2015
f3f053f3
GM
2016 * window.c (set_window_buffer): Set window's vscroll to 0.
2017
dad75588
GM
2018 * window.c (coordinates_in_window): Increase width of area
2019 where the vertical line can be dragged.
2020
c220b753
GM
2021 * xterm.c (x_set_glyph_string_background_width): Extend the
2022 background face to the end of the drawing area in the text
2023 area, only.
2024
c56b1c1b
GM
2025 * xdisp.c (handle_single_display_prop): Set iterator's position
2026 to where the `display' property starts, like for images.
2027 (dump_glyph): New function.
2028 (dump_glyph_row): Use it. Dump info about marginal areas.
2029
2030 * dispnew.c (direct_output_for_insert): Recognize more cases where
2031 glyphs can be written instead of being inserted.
2032
2033 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2034 the left x-coordinate of the area to shift.
2035
76846b31
GM
2036 * dired.c (directory_files_internal): Set result list to nil
2037 before retrying.
2038
0fc71a77
KH
20392001-02-15 Kenichi Handa <handa@etl.go.jp>
2040
2041 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2042 invalid multibyte sequence, treat *SRC as a character of
2043 eight-bit-graphic.
2044
25078b54
EZ
20452001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2046
2047 * textprop.c (Fset_text_properties): Doc fix.
2048
8399f8a0
GM
20492001-02-15 Gerd Moellmann <gerd@gnu.org>
2050
2051 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2052
9a2a6f73
DL
20532001-02-14 Dave Love <fx@gnu.org>
2054
2055 * coding.c: Doc and message fixes.
2056
bf853fee
AI
20572001-02-14 Andrew Innes <andrewi@gnu.org>
2058
2059 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2060 Emacs frame above the screen size.
2061
78c663d8
GM
20622001-02-14 Gerd Moellmann <gerd@gnu.org>
2063
2064 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2065
7cc9f69f
GM
20662001-02-13 Gerd Moellmann <gerd@gnu.org>
2067
0a411995
GM
2068 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2069 case that TO ends up beyond ZV after running before-change-functions.
2070
5ddc1b75
GM
2071 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2072 the selected window if it is showing the buffer in question.
2073
7cc9f69f
GM
2074 * dired.c (directory_files_internal): Initialize errno.
2075 (toplevel): Include errno.h.
2076
2e6621ca
GM
20772001-02-13 Kenichi Handa <handa@etl.go.jp>
2078
2079 * xfaces.c (best_matching_font): New parameter width_ratio.
2080 Multiply avgwidth by width_ratio.
2081 (choose_face_font): Call best_matching_font with width_ratio
2082 calculated from the column width of C.
2083
60222d69
AI
20842001-02-12 Andrew Innes <andrewi@gnu.org>
2085
2086 The following changes are to draw box lines inside characters area
2087 if line-width is negative.
52283633 2088
60222d69
AI
2089 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2090 face->box_line_width is negative.
2091 (x_produce_stretch_glyph): Likewise.
2092 (x_produce_glyphs): Likewise.
2093 (x_estimate_mode_line_height): Likewise.
2094 (x_draw_glyph_string_background): Likewise.
2095 (x_draw_glyph_string_foreground): Likewise.
2096 (x_draw_composite_glyph_string_foreground): Likewise.
2097 (x_draw_glyph_string_box): Likewise.
2098 (x_draw_image_foreground): Likewise.
2099 (x_draw_image_relief): Likewise.
2100 (x_draw_image_foreground_1): Likewise.
2101 (x_draw_image_glyph_string): Likewise.
2102
9804b846
KH
21032001-02-09 Kenichi Handa <handa@etl.go.jp>
2104
2105 The following changes are to draw box lines inside characters area
2106 if line-width is negative.
52283633 2107
9804b846
KH
2108 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2109 face->box_line_width is negative.
2110 (x_produce_stretch_glyph): Likewise.
2111 (x_produce_glyphs): Likewise.
2112 (x_estimate_mode_line_height): Likewise.
2113 (x_draw_glyph_string_background): Likewise.
2114 (x_draw_glyph_string_foreground): Likewise.
2115 (x_draw_composite_glyph_string_foreground): Likewise.
2116 (x_draw_glyph_string_box): Likewise.
2117 (x_draw_image_foreground): Likewise.
2118 (x_draw_image_relief): Likewise.
2119 (x_draw_image_foreground_1): Likewise.
2120 (x_draw_image_glyph_string): Likewise.
2121
2122 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2123 and :line-width can be negative.
52283633 2124 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2125
49be9f70
JR
21262001-02-09 Jason Rumney <jasonr@gnu.org>
2127
2128 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2129 characters the same as ASCII and latin-1.
2130 (x_display_and_set_cursor): Check for the focus frame's selected
2131 window instead of selected_window.
2132 (x_after_update_window_line): Don't clear if frame's internal
2133 border width is zero.
2134 (x_new_font): Don't change a tooltip's size.
2135 (w32_initialize): Set char_ins_del_ok to 1.
2136
2137 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2138 (x_set_font): If font hasn't changed, avoid recomputing
2139 faces and other things.
52283633
SM
2140 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2141 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2142 (x_create_tip_frame): Prevent changing the tooltip's
2143 background color by specifying a color for the default font
2144 in .Xdefaults.
2145 (Qcancel_timer): New variable.
2146 (syms_of_w32fns): Initialize and staticpro it.
2147 (Fx_hide_tip, Fx_show_tip): Use it.
2148 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2149 the timer.
2150 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2151
2152 * w32.c (init_environment): Duplicate local string before putenv.
2153
555e35d2
SZ
21542001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2155
2156 * charset.c (Fstring): A typo.
2157
19c92c94
KH
21582001-02-09 Kenichi Handa <handa@etl.go.jp>
2159
e47a1c33
KH
2160 * charset.c (Fstring): If all arguments are less than 256, return
2161 a unibyte string.
2162
2163 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2164 return a unibyte string.
2165
19c92c94
KH
2166 * coding.c (code_convert_region): After detecting a coding, if
2167 nothing found, set coding->composing to COMPOSITION_NO.
2168 (decode_coding_string): Likewise.
2169
d8e675f5
SM
21702001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2171
2172 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2173 to avoid overflow.
2174
bd503487
KH
21752001-02-07 Kenichi Handa <handa@etl.go.jp>
2176
2177 * charset.c (parse_str_to_multibyte): New function.
2178
2179 * charset.h (parse_str_to_multibyte): Extern it.
2180
2181 * print.c (print_string): If we are going to print a unibyte
2182 string into a multibyte buffer, convert the string to multibyte by
2183 str_to_multibyte.
2184
a8370d72
AI
21852001-02-06 Andrew Innes <andrewi@gnu.org>
2186
2187 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2188 been created. It seems we can get sent window messages such as
2189 WM_ERASEBKGND before we properly update a frame.
2190
c363a1d6
GM
21912001-02-06 Gerd Moellmann <gerd@gnu.org>
2192
2193 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2194 Avoid some unnecessary cursor positioning.
2195
a08332c0
GM
21962001-02-05 Gerd Moellmann <gerd@gnu.org>
2197
52283633 2198 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2199 (LFACE_AVGWIDTH): New macro.
2200 (LFACEP): Use AREF.
2201 (check_lface_attrs): Check LFACE_AVGWIDTH.
2202 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2203 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2204 (merge_face_vectors): Check LFACE_AVGWIDTH.
2205 (Finternal_make_lisp_face): Use AREF.
2206 (xm_set_menu_resources_from_menu_face)
2207 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2208 (Finternal_lisp_face_empty_p): Use AREF.
2209 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2210 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2211 Compare average widths..
2212 (best_matching_font): Arrange for comparing average widths.
2213
52283633
SM
2214 * dispextern.h (enum lface_attribute_index):
2215 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2216
5cb3c8d4
DL
22172001-02-05 Dave Love <fx@gnu.org>
2218
2219 * puresize.h: Revert last change following loadup.el change.
2220
193fba87
AI
22212001-02-05 Andrew Innes <andrewi@gnu.org>
2222
2223 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2224 invocation of temacs, to work with Windows 2000.
2225 (bootstrap-emacs): Ditto.
2226
e16f52ce
GM
22272001-02-05 Gerd Moellmann <gerd@gnu.org>
2228
7a58ab59
GM
2229 * xterm.c (x_display_and_set_cursor): Check for the focus
2230 frame's selected window instead of selected_window.
2231
e89aaabd
GM
2232 * xdisp.c (try_scrolling): If point is in the line below the
2233 window, make sure to move the iterator at least a canonical
2234 char height down.
2235
52283633 2236 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2237
789ce875
KH
22382001-02-05 Kenichi Handa <handa@etl.go.jp>
2239
52283633
SM
2240 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2241 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2242 (ccl_driver): If the CCL program is terminated because of
2243 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2244 destination instead of throwing them away.
2245
20b28f82
GM
22462001-02-02 Gerd Moellmann <gerd@gnu.org>
2247
79fb38c0
GM
2248 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2249 faces and other things.
2250
20b28f82
GM
2251 * xdisp.c (get_next_display_element): Fix case of empty
2252 display table entry.
2253
5a72551e
EZ
22542001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2255
eb24d0bf
EZ
2256 * editfns.c (Fconstrain_to_field): Doc fix.
2257
6a3f48c7
EZ
2258 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2259 into `thoroughly', to make it consistent with the doc string.
2260
5a72551e
EZ
2261 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2262
01acdb05
GM
22632001-02-01 Gerd Moellmann <gerd@gnu.org>
2264
0353b28f
GM
2265 * search.c (search_buffer): Call set_search_regs with a byte
2266 position, not a character position.
2267
01acdb05
GM
2268 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2269 minibuffer-only,
2270
e86b5133
EZ
22712001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2272
2273 * frame.c (Fmodify_frame_parameters): Doc fix.
2274
7442878f
GM
22752001-01-31 Gerd Moellmann <gerd@gnu.org>
2276
01acdb05
GM
2277 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2278 identifier which is not reserved by Standard C.
52283633 2279
7442878f
GM
2280 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2281
2282 * window.c (enum window_part): New enumeration.
2283 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2284 Qright_bitmap_area.
2285 (coordinates_in_window): Return an enumerator from enum
2286 window_part. Fix handling of right scroll bar.
2287 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2288 `right-fringe' instead of `left-bitmap-area' and
2289 `right-bitmap-area'. Use enumerators from enum window_part
2290 instead of hard-coded integers.
52283633
SM
2291 (check_window_containing, window_from_coordinates):
2292 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2293 (syms_of_window): Replace Qleft_bitmap_area and
2294 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2295
7c132cba
EZ
22962001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2297
2298 * editfns.c (Fformat_time_string): Doc fix.
2299
c359dd9e
SM
23002001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2301
2302 * keymap.c (Fwhere_is_internal): Use the first valid binding
2303 if no ascii binding is found (when firstonly is t).
2304
ce070307
GM
23052001-01-31 Gerd Moellmann <gerd@gnu.org>
2306
b4f30ec5
GM
2307 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2308 instead of Finteractive_p.
2309
2310 * lisp.h (interactive_p): Add prototype.
2311
2312 * eval.c (interactive_p): New function.
2313 (Finteractive_p): Use it.
2314
ce070307
GM
2315 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2316
f57b6e64
DL
23172001-01-31 Dave Love <fx@gnu.org>
2318
d61c7afe
DL
2319 * .gdbinit (hook-run): Define to run xreload.
2320
f57b6e64
DL
2321 * textprop.c (Fset_text_properties): Fix newline in doc string.
2322
eef93f99
GM
23232001-01-30 Gerd Moellmann <gerd@gnu.org>
2324
52283633
SM
2325 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2326 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2327
2328 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2329 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2330 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2331
2332 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2333 height.
2334
d9c1f6f9
DL
23352001-01-30 Dave Love <fx@gnu.org>
2336
2337 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2338 AFTER_POTENTIAL_GC.
2339
e8f044a0
GM
23402001-01-29 Gerd Moellmann <gerd@gnu.org>
2341
52283633
SM
2342 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2343 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2344
8e1db7b3
EZ
23452001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2346
2347 * textprop.c (Fset_text_properties): Doc fix.
2348
4eefd9d2
GM
23492001-01-29 Gerd Moellmann <gerd@gnu.org>
2350
2351 * xdisp.c (forward_to_next_line_start): Remove xassert.
2352
fccb8288
EZ
23532001-01-29 Jason Rumney <jasonr@gnu.org>
2354
4eefd9d2 2355 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2356 returning without releasing it.
2357
76581eab
KH
23582001-01-29 Kenichi Handa <handa@etl.go.jp>
2359
2360 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2361 for '^', '$', and '\0'.
2362
83a96b4d
AC
23632001-01-28 Andrew Choi <akochoi@i-cable.com>
2364
5604ec34
AC
2365 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2366 regex for '^', '$', and '\0'.
2367
83a96b4d
AC
2368 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2369 only if current_sblock has been initialized.
2370
2371 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2372 terminal frame even if it is the only visible frame.
2373
c09a6440
KH
23742001-01-28 Kenichi Handa <handa@etl.go.jp>
2375
2376 * fontset.c (font_family_registry): Even if FONTNAME conform to
2377 XLFD, if it specifies other fields than family and registry,
52283633 2378 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2379 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2380 a signle byte character. Don't set FAMILY part to nil here.
2381 It is handled by the caller choose_face_font.
c09a6440
KH
2382 (Fnew_fontset): Call font_family_registry with FORCE 0.
2383 (Fset_fontset_font): Likewise.
2384
4dcd74e6
GM
23852001-01-27 Gerd Moellmann <gerd@gnu.org>
2386
2387 * xdisp.c (display_line): Don't treat a newline as fitting
2388 on the line.
2389
d2906bf8
GM
23902001-01-26 Gerd Moellmann <gerd@gnu.org>
2391
0130fe1a
GM
2392 * window.c (size_window): Set the window's orig_top to nil when
2393 changing heights, so that a future shrink_mini_window won't
2394 restore a bogus height.
2395
550f0e6a
GM
2396 * frame.c (do_switch_frame): If selected frame has a mini-window,
2397 resize that to exact size.
2398
b7b20fbd
GM
2399 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2400
a47b7816
GM
2401 * xdisp.c (display_line): Simplify check for glyphs fitting
2402 entirely in the line.
2403
d2906bf8
GM
2404 * xfns.c (xic_style): New variable.
2405 (create_frame_xic): Move static variable to global scope for
550f0e6a 2406 the case that `static' gets defined away.
d2906bf8 2407
73df2b1e
KH
24082001-01-26 Kenichi Handa <handa@etl.go.jp>
2409
2410 * coding.c (decode_coding): Set a flag for inhibiting
2411 inconsistent eol.
2412 (code_convert_region): Always set saved_coding_symbol.
2413 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2414 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2415
6613cfc4
GM
24162001-01-25 Gerd Moellmann <gerd@gnu.org>
2417
c5e6e06b
GM
2418 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2419 XClearArea.
2420
2421 * xterm.c (x_after_update_window_line): Don't clear if frame's
2422 internal border width is zero.
2423 (x_clear_area): New function.
2424 (x_after_update_window_line, x_clear_end_of_line)
2425 (x_scroll_bar_create, x_scroll_bar_set_handle)
2426 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2427 instead of XClearArea.
2428
2429 * xterm.h (x_clear_area): Add prototype.
2430
6613cfc4
GM
2431 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2432 which doesn't seem necessary anymore with Lesstif 0.92.
2433
650cc6cc
DL
24342001-01-25 Dave Love <fx@gnu.org>
2435
34ac3367
DL
2436 * puresize.h (BASE_PURESIZE): Up to 720000.
2437
650cc6cc
DL
2438 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2439
5e37dc22
GM
24402001-01-25 Gerd Moellmann <gerd@gnu.org>
2441
e1e441f9
GM
2442 * xdisp.c (echo_area_display): Don't call redisplay_internal
2443 when Emacs is shutting down. We can't run hooks etc. that
2444 would be necessary to do a redisplay.
2445
5e37dc22
GM
2446 * lread.c (read_integer): Use type EMACS_INT instead of int.
2447
0fb94c7f
EZ
24482001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2449
2450 * ccl.c (ccl_driver): Fix last change.
2451
e3778624
KH
24522001-01-25 Kenichi Handa <handa@etl.go.jp>
2453
2454 * ccl.h (sturct ccl_program): New member suppress_error.
2455
bb264518 2456 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2457 insert error message to the output.
2458 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2459
2460 * coding.h (struct coding_system): New member suppress_error.
2461
2462 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2463 (Fset_terminal_coding_system_internal): Set the member
2464 suppress_error to 1.
2465 (Fset_safe_terminal_coding_system_internal): Likewise.
2466
245ed2b1
SM
24672001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2468
2469 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2470 as if it was a `charset'.
2471
f9aaedb6
GM
24722001-01-24 Gerd Moellmann <gerd@gnu.org>
2473
2474 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2475 value in where_is_cache; the next lookup in the cache returns
2476 something bogus if we do.
2477
c3902c3e
EZ
24782001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2479
2480 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2481 if HAVE_WINDOW_SYSTEM isn't defined.
2482
3497f73e
GM
24832001-01-24 Gerd Moellmann <gerd@gnu.org>
2484
e7e41584
GM
2485 * fns.c (sweep_weak_table): Fix code taking items out of
2486 the hash collision chain. Some cleanup.
2487
3497f73e
GM
2488 * xterm.c (x_new_font): Don't change a tooltip's size.
2489
2490 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2491 background color by specifying a color for the default font
2492 in .Xdefaults.
2493
3d48e687
KH
24942001-01-24 Kenichi Handa <handa@etl.go.jp>
2495
96531b20
KH
2496 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2497 a workaround for SunOS 4's cc.
2498 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2499 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2500 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2501 statement.
3d48e687 2502
a30629d2
GM
25032001-01-23 Gerd Moellmann <gerd@gnu.org>
2504
2505 * xterm.c (x_set_window_size_1): New function extracted from
2506 x_set_window_size.
2507 (x_set_window_size): Use it.
2508 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2509 doesn't have a widget, like tooltips.
2510
5a43decf
EZ
25112001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2512
52283633 2513 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2514
b0e98867
KH
25152001-01-23 Kenichi Handa <handa@etl.go.jp>
2516
2517 * fns.c (Fset_char_table_default): Fix to make sub char-table
2518 correctly.
2519
50606b4c
GM
25202001-01-22 Gerd Moellmann <gerd@gnu.org>
2521
cb2ddc53 2522 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2523 a desired tool bar string, even if there are no tool bar items.
2524
57c28064
GM
2525 * xdisp.c (Ftool_bar_lines_needed): New function.
2526 (syms_of_xdisp): Defsubr it.
2527
50606b4c
GM
2528 * editfns.c (Fformat): Don't extend text properties from arguments
2529 to padding chars in the result.
2530
2f169c38
EZ
25312001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2532
2533 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2534
0f32f023
AI
25352001-01-20 Andrew Innes <andrewi@gnu.org>
2536
52283633 2537 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2538 (w32_initialize): Don't set term hooks that aren't actually needed
2539 in windowed mode.
2540
2541 * xfaces.c (realize_default_face):
2542 (realize_face):
2543 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2544
2545 * xdisp.c (handle_single_display_prop): Remove references to
2546 FRAME_W32_CONSOLE_P.
2547
52283633 2548 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2549
2550 * frame.h (output_method): Remove output_w32_console method.
2551 (FRAME_W32_CONSOLE_P): Remove macro.
2552
2553 * frame.c (Qw32_console): Remove variable.
2554 (Fframep): Remove references to it.
2555 (syms_of_frame): Ditto.
2556 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2557
2558 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2559 redefinition.
2560
7173eada
KH
25612001-01-20 Kenichi Handa <handa@etl.go.jp>
2562
2563 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2564
755b45ce
AI
25652001-01-19 Andrew Innes <andrewi@gnu.org>
2566
2567 * w32.c (init_environment): Add a version-independent site-lisp
2568 directory to EMACSLOADPATH, after the version dependent one.
2569
0a949811
GM
25702001-01-19 Gerd Moellmann <gerd@gnu.org>
2571
8501998a
GM
2572 * editfns.c (Fbuffer_substring): Doc fix.
2573
52283633
SM
2574 * xdisp.c (message_dolog, message2, message2_nolog):
2575 Rename parameter LEN to NBYTES.
0a949811 2576
e6ebcbbe
KH
25772001-01-19 Kenichi Handa <handa@etl.go.jp>
2578
200ecca2
KH
2579 * charset.c (strwidth): Use c_string_width.
2580 (c_string_width): New function.
2581 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2582 Caller changed.
2583
2584 * charset.h (c_string_width, lisp_string_width): Extern them.
2585
52283633 2586 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2587
e6ebcbbe
KH
2588 * indent.c (check_composition): Check validity of composition.
2589
200ecca2
KH
2590 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2591 characters by calling c_string_width.
2592 (x_consider_frame_title): Get byte length of frame tile string
2593 correctly.
2594 (display_mode_element): Pay attention to width of non-ASCII
2595 characters by calling strwidth.
2596
8692ca92
GM
25972001-01-18 Gerd Moellmann <gerd@gnu.org>
2598
8962e303
GM
2599 * xfns.c (Qcancel_timer): New variable.
2600 (syms_of_xfns): Initialize and staticpro it.
2601 (Fx_hide_tip, Fx_show_tip): Use it.
2602 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2603 the timer.
2604 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2605
91523be9
GM
2606 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2607
2608 * window.h (WINDOW_LIVE_P): New macro.
2609
b0b7ed0e
GM
2610 * window.c (window_size_fixed): New variable.
2611 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2612 the doc string.
2613
06bccf8e
GM
2614 * eval.c (specbind): If binding a per-buffer variable which
2615 doesn't have a buffer-local value in the current buffer, change
2616 the global value by changing the value of the symbol bound in all
2617 buffers not having their own value, to make it consistent with
2618 what happens with other buffer-local variables.
2619
8692ca92
GM
2620 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2621
2622 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2623 when searching for a newline.
2624
bb3a3b50
KH
26252001-01-18 Kenichi Handa <handa@etl.go.jp>
2626
2627 * xdisp.c (display_string): Fix previous change.
2628
c2cc16fa
JR
26292001-01-18 Jason Rumney <jasonr@gnu.org>
2630
2631 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2632 GLYPH_DEBUG is defined.
2633 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2634 true for images with `:ascent 100'.
2635 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2636 meantime, use face MOUSE_FACE_ID.
2637 If first glyph isn't a character glyph, use the ASCII NUL
2638 character to determine the face.
2639 (expose_area): Do not treat left margin specially.
2640 (note_mode_line_highlight): If no local_map, check global keymap.
2641 (note_mouse_highlight): Initialize overlay.
52283633 2642 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2643 (show_scroll_bars): Remove unused function.
2644 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2645 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2646 Clip to row.
52283633 2647 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2648 (x_free_frame_resources): Unload relief colors.
2649
9c11f79e
GM
26502001-01-17 Gerd Moellmann <gerd@gnu.org>
2651
3aec8722 2652 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2653 get_next_display_element when the newline is already found.
2654 This may change the iterator's position, when its current position is
3aec8722
GM
2655 equal to the iterator's stop_charpos.
2656
f3ffc2c3
GM
2657 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2658 zero, use this method only at the end of a line.
2659
52283633 2660 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2661 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2662 if SCALABLE_FONTS_P is set.
52283633 2663
d26d6fd9
GM
2664 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2665 so that scalable fonts are included.
2666
9c11f79e
GM
2667 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2668 In the cache, use a key containing the information if scalable
2669 fonts are included.
2670 (x_load_font): Adapt to change of keys in the font cache.
2671
26722001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2673
d26d6fd9
GM
2674 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2675 XListFonts to take advantage of font caching.
2676
9c11f79e
GM
2677 * xterm.c (x_list_fonts): Ensure caching font information when
2678 called for a null frame, which is the case frequently when Emacs
2679 starts.
2680
51446987
GM
26812001-01-17 Gerd Moellmann <gerd@gnu.org>
2682
f864120f
GM
2683 * xfns.c (QCconversion): Replaces QCalgorithm.
2684
2685 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2686
2687 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2688 of :algorithm.
52283633 2689
e37d1417
GM
2690 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2691 not everything could be displayed.
2692
51446987
GM
2693 * line.h, x-list-font.c: Files removed because unused.
2694
9ad4f3e5
AI
26952001-01-17 Andrew Innes <andrewi@gnu.org>
2696
2697 * dired.c (directory_files_internal): Convert result from readdir
2698 to a unibyte string initially, to avoid possible misinterpretation
2699 of some bytes as the internal form of Emacs characters.
2700
2eda09b5
KH
27012001-01-17 Kenichi Handa <handa@etl.go.jp>
2702
2703 * fns.c (concat): Be sure to avoid putting the same `composition'
2704 property on the adjacent regions.
2705
826f3788
GM
27062001-01-16 Gerd Moellmann <gerd@gnu.org>
2707
52283633 2708 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2709 (Fscroll_right, Fscroll_left): Set it here instead, if called
2710 interactively.
2711
d57b83b3
GM
2712 * buffer.c (Fset_buffer_modified_p): Set buffer's
2713 prevent_redisplay_optimizations_p flag.
2714
826f3788 2715 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2716 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2717 with additional arg.
2718
2719 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2720 Change prototype.
826f3788 2721
826f3788
GM
2722 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2723 FROM_WHERE, for debugging.
2724
261d788b
KH
27252001-01-16 Kenichi Handa <handa@etl.go.jp>
2726
2727 * ccl.c (Fregister_ccl_program): Handle the return value of
2728 resolve_symbol_ccl_program correctly.
52283633 2729 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2730
bccee4f2
GM
27312001-01-15 Gerd Moellmann <gerd@gnu.org>
2732
e4ded23c
GM
2733 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2734 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2735
2736 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2737 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2738 the display; we didn't open it.
2739
bccee4f2
GM
2740 * dispnew.c (save_or_restore_current_matrices): Function removed.
2741 (save_current_matrix, restore_current_matrix): New functions.
2742 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2743 restore the frame's current matrix. Due to the glyph pointer
2744 setup done in adjust_glyph_matrix, there is no easy way to make
2745 saving the current matrix in the desired matrix generally correct,
2746 so don't try it.
2747
ebeccffa
KH
27482001-01-15 Kenichi Handa <handa@etl.go.jp>
2749
2750 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2751 truncation glyphs.
2752 (display_line): Optimize for wide characters.
e4ded23c 2753 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2754 partially. On ttys, produce more than one truncation glyph for
2755 multi-column characters that don't fit on the line.
2756
64388126
KH
27572001-01-13 Kenichi Handa <handa@etl.go.jp>
2758
52283633
SM
2759 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2760 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2761
8edb0a6f
JR
27622001-01-13 Jason Rumney <jasonr@gnu.org>
2763
2764 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2765 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2766 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2767 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2768
52283633
SM
2769 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2770 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2771 (x_draw_image_glyph_string): Adapt to change of image margins.
2772
2773 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2774 variables.
2775
2776 * w32bdf.c (search_file_line, get_cached_font_char)
2777 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2778
2779 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2780
2781 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2782 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2783 (Fw32_send_sys_command): Remove unused variables.
2784 (w32_msg_pump): Add parentheses.
2785
2786 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2787 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2788 Add parentheses.
2789
4956d1ef
GM
27902001-01-12 Gerd Moellmann <gerd@gnu.org>
2791
b30623be
GM
2792 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2793 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2794 being a pair of margins.
2795 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2796 to DEFVAR_LISP. Extend doc.
2797
2798 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2799 margins.
2800 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2801 pair of integers `(X . Y)', use X for the horizontal and Y for the
2802 vertical margin.
2803 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2804 (parse_image_spec): Check it.
52283633
SM
2805 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2806 (tiff_format, gif_format, gs_format):
2807 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2808
52283633
SM
2809 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2810 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2811 (x_draw_image_glyph_string): Adapt to the change of image margins.
2812
2813 * dispextern.h (struct image): Replace member `margin' with
2814 `hmargin' and `vmargin'.
2815
4554cc79
GM
2816 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2817 and GLYPHS.
2818
2819 * dispnew.c (update_text_area): Put code which decrements the
2820 stop position when the row's face extends to the end of the
3bffc665 2821 line in #if 0.
4554cc79 2822
3cccce8d
GM
2823 * xfns.c (x_set_mouse_color): Fix color allocation.
2824
4956d1ef
GM
2825 * keyboard.c: Call get_local_map with new argument list.
2826
2827 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2828
2829 * intervals.h (enum map_property): Removed.
2830 (get_local_map): Change prototype.
2831
2832 * keymap.c: Call get_local_map with new argument list.
2833 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2834
2c2ff7f2
GM
28352001-01-11 Gerd Moellmann <gerd@gnu.org>
2836
a23887b9
GM
2837 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2838 of the size needed for the tool bar string. For the last image,
2839 use a `display' property that reaches to the end of the string.
2840
a7ee2d2e
GM
2841 * xselect.c (selection_request_dpyinfo): New variable.
2842 (x_handle_selection_request): Set it.
2843 (x_selection_request_lisp_error): Don't call
2844 x_decline_selection_request if selection request's display has
2845 been closed.
2846
52283633
SM
2847 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2848 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2849
457b792c
GM
28502001-01-10 Dave Love <fx@gnu.org>
2851
2852 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2853 ${SOME_MACHINE_LISP}, not ${lisp}.
2854
c1efd260
GM
28552001-01-10 Gerd Moellmann <gerd@gnu.org>
2856
52283633
SM
2857 * xdisp.c (display_line): On ttys, produce more than one truncation
2858 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2859
ac95a621
GM
2860 * xselect.c (x_reply_selection_request): Add a comment.
2861
c1efd260
GM
2862 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2863 XkbGetNames instead of XkbGetKeyboard.
2864
1bfb1345
DL
28652001-01-10 Dave Love <fx@gnu.org>
2866
2867 * sysdep.c (random): Revert the declaration.
2868
38119822
GM
28692001-01-09 Gerd Moellmann <gerd@gnu.org>
2870
52283633
SM
2871 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2872 Call function string_bytes.
35f464a7
GM
2873 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2874
2875 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2876 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2877 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2878 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2879 the current sblock.
2880 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2881 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2882 after sweeping strings, and at the end.
2883 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2884
38119822
GM
2885 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2886 ensure that pop_message is called.
2887
2888 * keyboard.c (Fexecute_extended_command): Use a
2889 record_unwind_protect to ensure that pop_message is called.
2890
2891 * lisp.h (push_message_unwind): Add prototype.
2892
2893 * xdisp.c (push_message_unwind): New function.
2894
2895 * fileio.c (do_auto_save_unwind): Do the pop_message here
2896 instead of in Fdo_auto_save.
2897 (Fdo_auto_save): Don't call pop_message.
2898
f47a9ec4
KR
28992001-01-08 Ken Raeburn <raeburn@gnu.org>
2900
2901 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2902 in inner block.
2903
a758f97d
GM
29042001-01-08 Gerd Moellmann <gerd@gnu.org>
2905
6d0afc03
GM
2906 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2907 when increasing window's vscroll.
2908
a758f97d
GM
2909 * macros.c (Qkbd_macro_termination_hook): New variable.
2910 (syms_of_macros): Initialize and staticpro it.
2911 (pop_kbd_macro): Run kbd-macro-termination-hook.
2912
2913 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2914
1bfb1345 29152001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2916
2917 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2918 arglist, for documentation's sake.
2919
0dac6924
AI
29202001-01-06 Andrew Innes <andrewi@gnu.org>
2921
2922 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2923 of *.pdb.
2924
8182406a
AI
29252001-01-05 Andrew Innes <andrewi@gnu.org>
2926
2927 * term.c (update_end): Don't check updating_frame; for some reason
2928 this can be 0 sometimes, such as after dismissing a popup menu,
2929 and isn't necessary given the explicit frame argument.
2930
3828218c
GM
29312001-01-05 Gerd Moellmann <gerd@gnu.org>
2932
2933 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2934 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2935
2f5ded21
GM
29362001-01-04 Gerd Moellmann <gerd@gnu.org>
2937
52283633 2938 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2939
2940 * xfns.c (x_create_tip_frame): Preserve the value of
2941 face_change_count around the creation of the tip frame.
52283633 2942
2f5ded21
GM
2943 * xfns.c (last_show_tip_args): New variable.
2944 (compute_tip_xy): New function.
2945 (Fx_show_tip): Reuse an existing tip frame, if possible.
2946 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2947
dfad65fa
DL
29482001-01-04 Dave Love <fx@gnu.org>
2949
64d4ec0f
DL
2950 * editfns.c (Fformat): Doc fix.
2951
dfad65fa
DL
2952 * systime.h (set_file_times): Prototype.
2953
2954 * widget.h (EmacsFrameSetCharSize_): Prototype.
2955
2956 * sysdep.c (random, srandom): Declare explicitly.
2957
2958 * dispextern.h (move_it_vertically_backward): Declare.
2959
85fe3b5e
GM
29602001-01-04 Gerd Moellmann <gerd@gnu.org>
2961
0f2ac578
GM
2962 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2963 like in Fx_create_frame.
2964
482cca61
GM
2965 * xfaces.c (set_font_frame_param): Don't do anything for
2966 non-graphical frames.
2967
85fe3b5e
GM
2968 * window.c (Fdelete_other_windows): Set window's window_end_valid
2969 to nil when changing the window's start. Don't change the
2970 window's start when its top position hasn't changed. If we do,
2971 this will set the window's optional_new_start, which act's like a
2972 force_start during redisplay with C-x 1 M-> under particular
2973 circumstances (see report from Per Starback to emacs-pretest-bug
2974 from 2000-12-13.).
2975
3e99d3b4
GM
29762001-01-03 Gerd Moellmann <gerd@gnu.org>
2977
a77dc1ec
GM
2978 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2979 short cut at the start of the function. Add an assertion.
2980 (reseat_at_next_visible_line_start): Add an assertion.
2981
2f3cad6c
GM
2982 * window.c (Frecenter): When changing the window start, set the
2983 window's window_end_valid to nil.
2984 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2985
2986 * dispextern.h (move_it_past_eol): Add prototype.
2987
2988 * xdisp.c (move_it_past_eol): New function.
2989
3e99d3b4
GM
2990 * window.c (Fwindow_end): Doc fix.
2991
29922001-01-03 Dave Love <fx@gnu.org>
2993
52283633 2994 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2995
bafb434c
GM
29962001-01-03 Gerd Moellmann <gerd@gnu.org>
2997
2998 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2999 the enabled_p flag of the glyph row at window_end_vpos to 0.
3000 (handle_single_display_prop): Fix last change.
3001
5297fb00
RS
30022001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3003
3004 * window.c (Frecenter): Doc fix.
3005
13d6a61c
AI
30062001-01-02 Andrew Innes <andrewi@gnu.org>
3007
3008 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3009
3010 * frame.h (output_method): Add output_w32_console method.
3011 (FRAME_W32_CONSOLE_P): New macro.
3012
3013 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3014 use output_w32_console method.
3015 (Qw32_console): New Lisp_Object.
3016 (Fframep): Return it.
3017 (syms_of_frame): Init it.
52283633 3018 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3019
3020 * xfaces.c (realize_default_face): Set face foreground and
3021 background to unspecified for w32_console frames.
3022 (realize_face): Realize face cache for w32_console frames.
3023 (realize_tty_face): Accept w32_console frames.
3024
52283633 3025 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3026 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3027 necessary, even if running interactively.
3028
3029 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3030 w32_console frames.
3031
52283633
SM
3032 * w32term.c (x_update_begin):
3033 (x_update_end):
3034 (x_clear_frame):
3035 (x_ins_del_lines):
3036 (x_change_line_highlight):
3037 (x_delete_glyphs):
3038 (w32_ring_bell):
3039 (x_update_begin):
3040 (x_update_end):
3041 (w32_reassert_line_highlight):
3042 (w32_frame_rehighlight):
13d6a61c
AI
3043 (w32_frame_raise_lower): Do nothing if not w32 frame.
3044
3045 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3046
3047 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3048 system doesn't tell us directly.
3049 (Fx_display_visual_class): Implement properly.
3050
d6bb0c0d
GM
30512001-01-02 Gerd Moellmann <gerd@gnu.org>
3052
3053 * window.c (Frecenter): Handle centering in graphical frames
3054 specially. Centering on the basis of line counts doesn't work
3055 reliably with variable-height lines.
52283633 3056
315f5865
EZ
30572001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3058
3059 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3060 and al[].
3061
52283633 3062 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3063 (update_compositions): Remove unused variable `hook'.
3064
3065 * intervals.c (get_local_map): Remove unused variable `tem'.
3066
3067 * doprnt.c (doprnt1): Remove unused variable `size'.
3068
3069 * fns.c (Flength): Remove unused variable `tail'.
3070 (Fdelete): Remove unused variable `size'.
3071
3072 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3073 and `gcpro2'.
3074
52283633 3075 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3076
3077 * data.c (find_symbol_value): Remove extra 3rd argument in the
3078 call to swap_in_symval_forwarding.
3079
52283633 3080 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3081
3082 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3083 (trivial_regexp_p): Remove unused variable `c'.
3084 (boyer_moore): Remove unused variable `k'.
3085
3086 * indent.c (current_column): Remove unused variable `stopchar'.
3087 (Fcompute_motion): Remove unused variable `contin'.
3088
3089 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3090
3091 * dired.c (directory_files_internal): Fix a typo in a comment.
3092 Remove an unused variable `handler'.
52283633 3093 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3094 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3095 on BSD4_2.
3096
52283633 3097 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3098
3099 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3100 and `buf'.
3101 (Fmarker_insertion_type): Remove unused variable `buf'.
3102
3103 * insdel.c (make_gap): Remove unused variable `result'.
3104
52283633 3105 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3106 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3107 (menu_bar_items): Remove unused function-scope variable `tem'.
3108
3109 * fontset.c (fontset_ref): Remove unused variable `i'.
3110 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3111 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3112 (make_fontset_for_ascii_face): Remove unused variable `name'.
3113 (fs_load_font): Remove unused variable `font_idx'.
52283633 3114 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3115 (list_fontsets): Remove unused variable `tail'.
3116 (Fnew_fontset): Remove unused variables `family' and `registry'.
3117 (accumulate_font_info): Remove unused variable `tmp'.
3118 (Ffontset_font): Remove unused variable `id'.
3119 (syms_of_fontset): Remove unused variable `i'.
3120
3121 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3122 to x_term_init.
3123 (lookup_image): Remove unused variable `file'.
3124 (xbm_load): Remove unused variables `bitmap_data', `height', and
3125 `width'. Remove function-local variable `i', leave the
3126 block-local one.
3127 (gif_load): Remove unused variable `inc'.
3128
52283633 3129 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3130 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3131 leave only the one in the inner block.
3132
3133 * xfaces.c (face_fontset, realize_default_face): Remove unused
3134 variable `fontset'.
3135 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3136
3137 * term.c (encode_terminal_code): Remove unused variable `c'.
3138
3139 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3140 char *' instead of `char *'.
3141
3142 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3143 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3144 (Fchar_category_set): Remove unused variables `val', `charset',
3145 `c1' and `c2'.
3146
52283633
SM
3147 * coding.c (detect_coding_iso2022, setup_coding_system):
3148 Remove unused variable `i'.
315f5865
EZ
3149 (detect_coding_mask): Remove unused variable `idx'.
3150 (detect_coding): Remove unused variable `i'.
3151 (ccl_coding_driver): Remove unused variable `result'.
3152 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3153 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3154 (encode_coding_string): Remove unused variables `gcpro1' and
3155 `saved_coding_symbol'.
3156 (Ffind_coding_systems_region_internal): Remove function-local
3157 variable args[], leave only the block-local one.
3158 (code_convert_region1): Remove unused variable `len'.
3159
3160 * charset.c (char_printable_p): Remove unused variable `chars'.
3161 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3162 (str_to_multibyte): Remove unused variable `c'.
3163
3164 * window.c (size_window): Remove block-local variable `min_size'.
3165
3166 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3167 `header_line_height'.
3168 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3169 enum display_element_type.
3170
1a8a9daf
GM
31712001-01-02 Gerd Moellmann <gerd@gnu.org>
3172
6dde6abc 3173 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3174 statements that call X. Save away the error message in a local copy.
3175
1883b2c6
GM
3176 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3177 the start.
3178
a13be207
GM
3179 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3180 in or at the start of invisible text.
3181
1a8a9daf
GM
3182 * dispnew.c (update_window): Don't check_current_matrix_flags.
3183
3608c0f9
JR
31842001-01-01 Jason Rumney <jasonr@gnu.org>
3185
3186 * w32fns.c (x_figure_window_size): Do not allow new_height and
3187 new_width of frame to override specified values.
3188
abb1acc4
KH
31892000-12-30 Kenichi Handa <handa@etl.go.jp>
3190
52283633 3191 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3192
762a68ec
GM
31932000-12-29 Gerd Moellmann <gerd@gnu.org>
3194
52283633 3195 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3196 (update_window) [GLYPH_DEBUG]: Call it.
3197 (scrolling_window): Prevent including current rows which are below
3198 what's displayed in the window.
3199
3200 * xdisp.c (try_window_reusing_current_matrix)
3201 <new start <= old start>: Disable rows in the current matrix
3202 which are below the window after scrolling.
52283633 3203
762a68ec
GM
3204 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3205 is zero. It's not worth the complexity.
3206 (invisible_text_between_p): Put in #if 0 because unused.
3207
2d5912c1
GM
32082000-12-28 Gerd Moellmann <gerd@gnu.org>
3209
46f6a258
GM
3210 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3211 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3212
89f93679
GM
3213 * keyboard.c (echo_char): If C is an integer, always call
3214 push_key_description. Former code could signal an invalid
3215 character error.
3216
3217 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3218 If set, print multibyte text.
3219 (Fsingle_key_description): Call push_key_description with
3220 FORCE_MULTIBYTE set.
3221 (describe_buffer_bindings): Likewise.
3222
3223 * lisp.h (push_key_description): Add prototype.
3224
c06017fb
GM
3225 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3226 around the call to redisplay_internal.
3227
f1d2ce7f
GM
3228 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3229
2d5912c1
GM
3230 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3231
9371f831
KH
32322000-12-28 Kenichi Handa <handa@etl.go.jp>
3233
3234 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3235 (ccl_driver): New local variable `extra_bytes'.
3236
3237 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3238
52283633
SM
3239 * coding.c (setup_coding_system):
3240 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3241 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3242
0c80628a
KH
32432000-12-28 Kenichi Handa <handa@etl.go.jp>
3244
3245 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3246 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3247 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3248 (decode_composition_emacs_mule): New function.
3249 (decode_coding_emacs_mule): Decode composition sequence by calling
3250 decode_composition_emacs_mule.
3251 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3252 (encode_coding_emacs_mule): Changed from macro to function.
3253 If a text contains compositions, encode them correctly.
0c80628a
KH
3254 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3255 that decoding and encoding are required.
3256
3e32cc27
GM
32572000-12-27 Gerd Moellmann <gerd@gnu.org>
3258
5e25feee
GM
3259 * xfaces.c (PT_PER_INCH): New macro.
3260 (xlfd_point_size): Compute real point size from font's pixel size.
3261 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3262 instead of 72.
3263
892d8fcd
GM
3264 * .gdbinit: Comment out the line pointing to the Lesstif source
3265 directory.
3266
12c8b416
GM
3267 * window.c (Frecenter): Use displayed_window_lines instead
3268 of window_internal_height.
3269
6061fbf0
GM
3270 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3271 instead of x-toolkit-scroll-bars-p.
3272 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3273
3274 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3275 instead of x-toolkit-scroll-bars-p.
3276 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3277
3e32cc27
GM
3278 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3279 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3280 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3281 New variables.
3282 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3283 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3284 (build_frame_matrix_from_leaf_window): Remove unused code.
3285 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3286 redisplay history.
3287 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3288 (update_window) [GLYPH_DEBUG]: Likewise.
3289 (syms_of_display): Defsubr dump-redisplay-history.
3290
31798cfe
GM
32912000-12-23 Gerd Moellmann <gerd@gnu.org>
3292
f717c2ba
GM
3293 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3294 the end of the prompt. Set echo_after_prompt to the offset
3295 of echoptr in echobuf.
3296
aeb2b8fc
GM
3297 * xdisp.c (init_from_display_pos): Pop until the iterator's
3298 stack is empty; there may be frames for stretch or images
3299 on the stack.
3300
31798cfe
GM
3301 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3302 (save_or_restore_current_matrix): New function for the same
3303 purpose, but more efficient.
3304 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3305
f8156156
EZ
33062000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3307
3308 * xdisp.c (syms_of_xdisp): Fix last change.
3309
bdd6d4e8
GM
33102000-12-23 Gerd Moellmann <gerd@gnu.org>
3311
3312 * xdisp.c (syms_of_xdisp): Doc fix.
3313
3314 * xdisp.c (redisplay_window): Remove label restore_buffers;
3315 use finish_scroll_bars instead to make sure that scroll bars
3316 are redeemed. If we don't do this, flickering can result from
3317 scroll bars being destroyed and recreated.
3318
9436cdf9
JR
33192000-12-22 Jason Rumney <jasonr@gnu.org>
3320
3321 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3322 in the wrong colors when the foreground is not black.
3323 (expose_window): Don't redraw the window that's currently being
3324 updated.
3325
951f9df5
GM
33262000-12-22 Gerd Moellmann <gerd@gnu.org>
3327
856ff7a7
GM
3328 * window.c (size_window): When setting the window's too_small_ok
3329 flag, compare old size with minimum size depending on WIDTH_P,
3330 don't compare with window_min_width.
52283633 3331
951f9df5
GM
3332 * window.c (delete_window): Simplify somewhat.
3333 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3334 freeing window matrices. The flag windows_or_buffers_changed is
3335 set, so the next redisplay will consider all windows; this should
3336 suffice.
3337
886bc933
KH
33382000-12-22 Kenichi Handa <handa@etl.go.jp>
3339
3340 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3341
3342 * ccl.h (struct ccl_program): New member cr_consumed.
3343
3344 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3345 (CCL_READ_CHAR): Handle EOL conversion here.
3346 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3347
177f4e88
GM
33482000-12-21 Gerd Moellmann <gerd@gnu.org>
3349
52283633 3350 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3351
3352 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3353 otherwise tabs of different size compare equal.
3354
3355 * callint.c (Fcall_interactively): Prevent a compiler warning.
3356
3357 * print.c (print_unwind): Return nil.
3358 (PRINTDECLARE): Initialize all local variables.
3359 (print_preprocess): Add a default case.
3360
8e15274f
GM
3361 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3362
3363 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3364
52283633 3365 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3366 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3367
3368 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3369
3370 * dispnew.c (ensure_frame_matrix): Removed.
3371 (save_frame_matrix, restore_frame_matrix): New functions.
3372 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3373
3374 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3375 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3376
99012074
AI
33772000-12-21 Andrew Innes <andrewi@gnu.org>
3378
3379 * w32term.c (x_update_begin): Regenerate the palette here, rather
3380 than for each window.
3381
3382 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3383 palette is NULL, since this corrupts memory! Also get
3384 display_info reference from frame.
3385
29ef7d2d
JR
33862000-12-21 Jason Rumney <jasonr@gnu.org>
3387
3388 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3389
3390 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3391 to avoid returning without releasing it.
3e27fa1f 3392
3f9d67a6
KH
33932000-12-21 Kenichi Handa <handa@etl.go.jp>
3394
587fc3f9
KH
3395 * keymap.c (push_key_description): Don't convert eight-bit-control
3396 and eight-bit-graphic to multibyte character.
3397
3f9d67a6
KH
3398 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3399 generic character and CODE1 is nil, return the smallest character
3400 in CHARSET.
3401
774ba8c9
DL
34022000-12-20 Dave Love <fx@gnu.org>
3403
3404 * s/osf5-0.h (NSIG): Don't redefine.
3405
88416888
SM
34062000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3407
3408 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3409 excluding menu-bar and tool-bar.
3410 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3411 (menu_item_p): Remove.
3412 (where_is_internal_1): Don't ignore menu-items.
3413
a6426c6f
GM
34142000-12-20 Gerd Moellmann <gerd@gnu.org>
3415
03ff8aab
GM
3416 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3417 into account.
3418
3419 * window.c (make_window): Initialize window's min_hscroll.
3420 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3421 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3422 to zero.
3423 (struct saved_window): New member min_hscroll.
3424 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3425 (Fset_window_configuration): Set window's min_hscroll.
3426 (save_window_save): Save window's min_hscroll.
3427 (compare_window_configurations): Compare min_hscroll values.
3428
3429 * window.h (struct window): New member min_hscroll.
3430
3431 * keyboard.c (echo_prompt): Prevent a compiler warning.
3432
8de4aaf8
GM
3433 * xdisp.c (try_cursor_movement): Fix last change. The real
3434 condition is that PT is at the end of the row, and should
3435 be displayed at the start of the next row.
52283633 3436
3f7e3031
GM
3437 * xdisp.c (try_cursor_movement): If we end on a partially
3438 visible line, end we already decided to scroll, return -1.
3439
a6426c6f
GM
3440 * dispextern.h (ensure_frame_matrix): Add prototype.
3441
3442 * window.c (delete_window, Fsplit_window)
3443 (Fset_window_configuration): Call ensure_frame_matrix.
3444
52283633
SM
3445 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3446 New functions.
a6426c6f
GM
3447 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3448 completed, call fake_current_matrices instead of marking frame
3449 garbaged.
3450
57fa2774
JR
34512000-12-20 Jason Rumney <jasonr@gnu.org>
3452
3453 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3454
d925df90
EZ
34552000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3456
3457 * fns.c (Frequire): Doc fix.
3458
7b93a85b
GM
34592000-12-19 Gerd Moellmann <gerd@gnu.org>
3460
52283633 3461 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3462
c74e645b
GM
3463 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3464 currently displaying a message.
3465
7b93a85b
GM
3466 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3467 xterm.h.
3468 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3469
90d97e64
AI
34702000-12-18 Andrew Innes <andrewi@gnu.org>
3471
3472 * w32.c (w32_strerror): New function.
3473
3474 * w32.h (w32_strerror): New extern.
3475
3476 * w32fns.c (Fw32_shell_execute): Use it.
3477
91c9e6ce
GM
34782000-12-18 Gerd Moellmann <gerd@gnu.org>
3479
3480 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3481
6f4745e2
EZ
34822000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3483
3484 * msdos.c (IT_set_face): Obey inverse_video.
3485
c9e088ce
KH
34862000-12-18 Kenichi Handa <handa@etl.go.jp>
3487
3488 * dired.c (directory_files_internal): Always return decoded filenames.
3489
c3695f5f
GM
34902000-12-18 Gerd Moellmann <gerd@gnu.org>
3491
52d8e4ff
GM
3492 * xterm.c (x_connection_closed): Prevent being called recursively
3493 because of an error condition in XtCloseDisplay.
52283633 3494
62be9979
GM
3495 * xdisp.c (init_iterator): If noninteractive, and the frame's
3496 face cache is null, make one.
3497
52283633 3498 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3499
c3695f5f
GM
3500 * process.c (wait_reading_process_input): Check for pending
3501 input when running timers.
3502
78555fbe
EZ
35032000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3504
52283633 3505 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3506
b2b36264
KH
35072000-12-18 Kenichi Handa <handa@etl.go.jp>
3508
3509 * process.c (read_process_output): Don't run a filter if the code
3510 decoder produces nothing but carryover.
3511
9c543fbf
AI
35122000-12-17 Andrew Innes <andrewi@gnu.org>
3513
3514 * w32.c (sys_rename): Only check errno against EEXIST, and not
3515 EACCES, when determining whether rename failed because the target
3516 exists. This was resulting in indefinite looping on Windows 9x if
3517 the source file was locked by another process.
3518
3519 * w32fns.c (Ffile_system_info): New function.
3520 (syms_of_w32fns): Defsubr it.
3521
10c2b5a8
GM
35222000-12-17 Gerd Moellmann <gerd@gnu.org>
3523
b0228ace
GM
3524 * window.c (coordinates_in_window): Fix computation for
3525 position on vertical line between mode lines.
3526
10c2b5a8
GM
3527 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3528 Don't alter tip_frame or tip_window.
3529 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3530 was deleted.
3531
c844a81a
GM
3532 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3533 Don't alter tip_frame or tip_window.
3534 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3535 was deleted.
3536
6c825f8e
EZ
35372000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3538
3539 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3540 be consistent with the doc string. Reported by NAKAJIMA Mikio
3541 <minakaji@osaka.email.ne.jp>.
3542
af4bb4c8
KH
35432000-12-16 Kenichi Handa <handa@etl.go.jp>
3544
3545 * xfaces.c (Vface_ignored_fonts): New variable.
3546 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3547 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3548
8062e53a
GM
35492000-12-15 Gerd Moellmann <gerd@gnu.org>
3550
e87b8809
GM
3551 * dispnew.c (update_window): Detect pending input every nth line
3552 updated, i.e. do it depending on real work done, and not on the
3553 vpos of the line.
3554
3555 * xterm.c (expose_window): Don't redraw the window that's
3556 currently being updated.
3557
a6768cc5
GM
3558 * window.c (Fset_window_point): Remove test for
3559 cursor_in_non_selected_windows.
3560
4ea7fdca
GM
3561 * lread.c (read1): Recognize end of file after `\\'.
3562
8062e53a
GM
3563 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3564 not unwind_create_frame.
3565
bb7959c1
GM
35662000-12-15 Dave Love <fx@gnu.org>
3567
3568 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3569 bcopy & al.
3570
3571 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3572
ced04c42
KH
35732000-12-15 Kenichi Handa <handa@etl.go.jp>
3574
c5443913
KH
3575 * coding.c (setup_coding_system): Clear all members of the struct
3576 coding_system at first.
bc137305
KH
3577 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3578 argument.
3579 (code_convert_region): Don't override coding->src_multibyte and
3580 coding->dst_multibyte.
c5443913 3581
ced04c42
KH
3582 * fns.c (Fmd5): Docstring improved.
3583
c2d7f289
MB
35842000-12-15 Miles Bader <miles@gnu.org>
3585
3586 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3587 are actually marked as mode-lines; otherwise use
3588 estimate_mode_line_height.
3589
9d7d9263
GM
35902000-12-14 Gerd Moellmann <gerd@gnu.org>
3591
3592 * editfns.c (Fformat): Prevent a buffer overrun when the format
3593 specifies a precision.
3594
7cf0153a
EZ
35952000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3596
3597 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3598 argument is outside the range [2..3].
3599
1de0f662
AI
36002000-12-14 Andrew Innes <andrewi@gnu.org>
3601
3602 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3603 nothing to do. Bind inhibit-quit.
3604 (tip_frame): Make it a Lisp_Object.
3605 (x_create_tip_frame): Set tip_frame after it has been added to
3606 Vframe_list.
3607 (Fx_show_tip): Don't set tip_frame here.
52283633 3608 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3609 (unwind_create_frame, unwind_create_tip_frame): New functions.
3610 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3611 while a frame is only partially constructed.
3612
3613 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3614 (x_free_frame_resources): New function.
3615 (x_destroy_window): Use it.
3616
02387dcc
GM
36172000-12-14 Gerd Moellmann <gerd@gnu.org>
3618
3619 * xfns.c (Fx_backspace_delete_keys_p): New function.
3620 (syms_of_xfns): Defsubr it.
3621
3622 * config.in (HAVE_XKBGETKEYBOARD): Add.
3623
0544ef49
KH
36242000-12-14 Kenichi Handa <handa@etl.go.jp>
3625
98d62747
KH
3626 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3627 Always store string in multibyte representation in echobuf.
3628 (echo_char): Always store string in multibyte representation in
3629 echobuf.
3630 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3631 (read_key_sequence): Adjusted for the change of echo_prompt.
3632
a20193cd
KH
3633 * fns.c (Fmd5): Docstring improved.
3634
191b83b6
KH
3635 * lisp.h (detect_coding_system): Prototype adjusted.
3636
0544ef49
KH
3637 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3638 (detect_coding_emacs_mule, detect_coding_iso2022,)
3639 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3640 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3641 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3642 (detect_coding_mask, detect_coding_system): New argument
3643 MULTIBYTEP. Callers changed.
1da1bb05
KH
3644 (decode_coding_string): Set coding->src_multibyte and
3645 coding->dst_multibyte before calling detect_coding and detect_eol.
3646 Update them after some coding system is detected.
52283633 3647
d5b3eb1b
SM
36482000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3649
3650 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3651
3652 * keyboard.c (menu_bar_items, tool_bar_items):
3653 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3654
f7f8bb69
GM
36552000-12-13 Gerd Moellmann <gerd@gnu.org>
3656
52283633 3657 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3658 New variables.
3659 (unwind_create_frame, unwind_create_tip_frame): New functions.
3660 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3661 while a frame is only partially constructed.
3662
3663 * xterm.h (x_free_frame_resources): Declare.
3664
3665 * xterm.c (x_free_frame_resources): New function.
3666 (x_destroy_window): Use it.
3667
e10da507
GM
3668 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3669 don't interrupt the update for pending input initially, i.e.
3670 update at least some lines.
3671
3672 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3673
d5b3eb1b 3674 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3675
3676 * xfns.c (gray_bitmap_bits): Declare `char *'.
3677
90aa2856
GM
36782000-12-12 Gerd Moellmann <gerd@gnu.org>
3679
3680 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3681 lines start with a relief line.
3682
a308c9cd
DL
36832000-12-12 Dave Love <fx@gnu.org>
3684
3685 * window.c (Fdisplay_buffer): Doc fix.
3686 (Fwindow_list): Remove unused var.
3687
3688 * buffer.h (mmap_set_vars): Declare.
3689
3690 * window.h (Fset_window_point): Declare.
3691
d575011f
EZ
36922000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3693
bf6282d2 3694 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3695 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3696 variable `area'. When looking for a row under (X,Y), give up if some
3697 of the previous rows is not enabled.
d575011f 3698
ecf4d726
GM
36992000-12-12 Gerd Moellmann <gerd@gnu.org>
3700
2ebf6139
GM
3701 * window.c (Fset_window_point): If displaying cursors in windows
3702 other than the selected window, make sure redisplay updates
3703 other windows to show the new value of point in the window.
3704
3705 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3706
bfdb75ee
GM
3707 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3708 the buffer is the sole visible buffer when in the mini-buffer.
3709
52283633 3710 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3711 Bind `inhibit-read-only' to t.
3712 (unwind_with_echo_area_buffer): Use AREF.
3713
c0006262
GM
3714 * xfns.c (Fx_hide_tip): Simplified.
3715
52283633
SM
3716 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3717 instead of `1'.
e9a59cad 3718
ecf4d726
GM
3719 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3720
e5959a9a
GM
37212000-12-11 Gerd Moellmann <gerd@gnu.org>
3722
a3642e49 3723 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3724
44b5a125
GM
3725 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3726 nothing to do. Bind inhibit-quit.
3727 (tip_frame): Make it a Lisp_Object.
3728 (x_create_tip_frame): Set tip_frame after it has been added to
3729 Vframe_list.
3730 (Fx_show_tip): Don't set tip_frame here.
3731
3732 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3733
3734 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3735 Lisp_Object.
3736
3737 * dispextern.h: Change external declaration of tip_frame.
3738
d990421f
GM
3739 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3740 return an empty string.
3741
4db87380
GM
3742 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3743 of the window's update_mode_line flag, since the former is set by
3744 force-mode-line-update, not the latter. This makes
3745 column-number-mode slightly faster.
52283633 3746
e5959a9a
GM
3747 * xdisp.c (try_window_id) <all changes above window start>:
3748 Set the cursor.
3749
169fe44e
GM
37502000-12-11 Paul Eggert <eggert@twinsun.com>
3751
3752 * config.in (HAVE_FTELLO): Remove.
3753 (HAVE_FSEEKO): Add.
3754 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3755 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3756 HAVE_FTELLO.
3757 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3758 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3759
59ec59ae
MB
37602000-12-11 Miles Bader <miles@gnu.org>
3761
3762 * window.c (displayed_window_lines): Don't round up when
3763 converting empty space at bottom to lines.
ff904dd6
MB
3764 Handle non-newline-terminated final lines properly.
3765 (Fwindow_text_height): New function (used to be in lisp).
3766 (syms_of_window): Initialize it.
59ec59ae 3767
42ebfa31
SM
37682000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3769
3770 * syntax.c (scan_lists): Check that the right quote char has the
3771 right Sstring syntax when jumping over strings.
3772 (init_syntax_once): Use Smax rather than 13.
3773
5cdb3cf3
MB
37742000-12-09 Miles Bader <miles@gnu.org>
3775
3776 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3777 with PARTIALLY, inverting the sense.
3778 (window_scroll_pixel_based): Scroll partially visible lines into
3779 place if we hit the beginning or end of the buffer.
a12167c5
MB
3780 (displayed_window_lines): Don't include partially visible lines.
3781 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3782
842b2a94
GM
37832000-12-08 Gerd Moellmann <gerd@gnu.org>
3784
3785 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3786
3787 * tparam.c (tparam1): Change the way buffers are reallocated to be
3788 portable and less obfuscated.
3789
3790 * termcap.c (tgetent): Change the way buffers are reallocated to
3791 be portable and less obfuscated.
3792
3793 * macros.c (store_kbd_macro_char): Change the way buffers are
3794 reallocated to be portable and less obfuscated.
3795
3796 * lread.c (read1): Change the way buffers are reallocated to be
3797 portable and less obfuscated.
3798
3799 * doc.c (Fsubstitute_command_keys): Change the way buffers
3800 are reallocated so that it is portable.
3801
137cad7c
EZ
38022000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3803
3804 * dosfns.c (Ffile_system_info): New function.
3805 (syms_of_dosfns): Defsubr it.
3806
5c7f629c
SM
38072000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3808
3809 * alloc.c (gc_sweep): Add comment.
3810
959e647d
GM
38112000-12-07 Gerd Moellmann <gerd@gnu.org>
3812
52283633
SM
3813 * sound.c (vox_configure): Change order of ioctls.
3814 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3815 Ignore errors when changing volume.
3816 (vox_close): Don't reset the device.
3817
926b7e5e
GM
3818 * process.c (read_process_output): Make sure the process marker's
3819 position is valid when the process buffer is changed in
3820 after-change functions. W3 does that.
52283633 3821
959e647d
GM
3822 * xfns.c (x_free_gcs): New function.
3823
3824 * xterm.h (x_free_gcs): Add prototype.
3825
3826 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3827 freeing GCs here.
3828
3829 * xterm.c (x_destroy_window): Call x_free_gcs so that
3830 resources of non-toolkit X windows will be freed.
3831
478ea067
AI
38322000-12-07 Andrew Innes <andrewi@gnu.org>
3833
3834 * w32fns.c (xlfd_charset_of_font): Fix last change.
3835
fbee3231
DL
38362000-12-06 Dave Love <fx@gnu.org>
3837
67292061
DL
3838 * md5.h (__P): Don't define -- it comes from config.h.
3839
fbee3231
DL
3840 * strftime.c: Change some #if foo to #ifdef foo.
3841
4ee87dbb
AI
38422000-12-06 Andrew Innes <andrewi@gnu.org>
3843
3844 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3845
52283633 3846 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3847 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3848 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3849
9765b4a4
GM
38502000-12-06 Gerd Moellmann <gerd@gnu.org>
3851
d285b373
GM
3852 * alloc.c (gc_sweep): Prevent symbols read during loadup
3853 from being freed.
3854
384333ee
GM
3855 * xdisp.c (underlying_face_id): New function.
3856 (handle_face_prop, face_before_or_after_it_pos): Use it
3857 to determine the face ``under'' a string. Let strings inherit
3858 the face of the buffer under them.
3859
3860 * xfaces.c (face_at_string_position): Update function comment.
52283633 3861
d4b72d58
GM
3862 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3863 matrix if the window's left position has changed; we need to
3864 redraw it in this case.
3865
3866 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3867
e1d05387
GM
3868 * window.c (coordinates_in_window): Check mouse on mode-line or
3869 header-line first.
3870
eb1b0c74
GM
3871 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3872 advertized by the function documentation.
3873
d94d636f
GM
3874 * window.c (syms_of_window): Doc fix.
3875
3887b449
GM
3876 * sound.c (vox_configure): Set volume for left and right channel.
3877 (sound_cleanup): Return nil.
3878
efc8f57a
GM
3879 * xdisp.c (move_it_by_lines): Fix paren typo.
3880
9765b4a4
GM
3881 * xterm.c (x_load_font): Don't use the font's max_bounds for
3882 computing the height of the font. If max_bounds' ascent or
3883 descent are greater than the font's ascent or descent, this means
3884 glyphs overlap, which should be handled now by redisplay.
3885
6529ed87
GM
3886 * window.c (Veven_window_heights): New variable.
3887 (syms_of_window): DEFVAR_LISP it.
3888 (Fdisplay_buffer): Check Veven_window_heights before evening the
3889 window heights.
52283633 3890
0eb2ecde
MB
38912000-12-06 Miles Bader <miles@gnu.org>
3892
3893 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3894 update `default-frame-alist' instead of setting no frame parameters.
3895
03d7a167
KH
38962000-12-06 Kenichi Handa <handa@etl.go.jp>
3897
3898 * composite.c (update_compositions): Fix typo (use the correct
3899 variable).
3900
5f8803c2
JR
39012000-12-05 Jason Rumney <jasonr@gnu.org>
3902
3903 * md5.h: Remove underscores from function declarations.
3904 (__attribute__, __alignof__) [!__GNUC__]: Define.
3905
3906 * md5.c: Delay include of md5.h until after namespace cleaning.
3907
c28a075b
JR
3908 * makefile.w32-in (fns.o): Depend on md5.h
3909 (md5.o): New target.
3910 (sunfns.o): Remove.
3911
3912 * makefile.nt: Likewise.
3913
ff3c7056
JR
39142000-12-05 Jason Rumney <jasonr@altavista.net>
3915
3916 * w32term.c (expose_area): Complete last change.
3917
0c21eeeb
KR
39182000-12-05 Ken Raeburn <raeburn@gnu.org>
3919
3920 * minibuf.c: Include intervals.h.
3921
f201d732
JR
39222000-12-05 Jason Rumney <jasonr@gnu.org>
3923
3924 * w32term.c (x_produce_glyphs): If a font for a component of
3925 a composition is not found, use 1 pixel dot ascent and 0 dot
3926 descent value to avoid displaying terribly tall empty boxes.
3927 (expose_area): Pass x-coordinate relative to the exposed
3928 area to x_draw_glyphs instead of a window-relative coordinate.
3929
21999ab9
GM
39302000-12-05 Gerd Moellmann <gerd@gnu.org>
3931
4d2036e4
GM
3932 * xdisp.c (next_element_from_ellipsis): Save face before selective
3933 display in saved_face_id, and set face_before_selective_p.
3934 (reseat_1): Reset face_before_selective_p.
3935 (append_space, extend_face_to_end_of_line): If iterator's
3936 face_before_selective_p is set, use the face from saved_face_id.
3937 (extend_face_to_end_of_line): For tty frames, make sure to
3938 use the right face id when producing spaces at the end of
3939 the line.
3940
3941 * dispextern.h (struct it): Add face_before_selective_p.
3942
52be17cc
GM
3943 * keyboard.c (record_char): Don't record identical help-echo
3944 events in recent_keys.
3945
8a4f36cc
GM
3946 * xterm.c [USE_X_TOOLKIT]: Close the display.
3947 (xim_close_dpy): Handle case that the display has been closed.
3948
57d6e381
GM
3949 * xterm.c (x_destroy_window): Reset the frame's X window after
3950 destroying it.
3951
21999ab9
GM
3952 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3953 variable window_width.
3954 (line_draw_cost): Fix code skipping over spaces at the end of the
3955 line when must_write_spaces is not set.
3956 (scrolling_window): Fix code inserting runs in list of all runs.
3957
91372bb7
KH
39582000-12-05 Kenichi Handa <handa@etl.go.jp>
3959
3960 * coding.c (setup_coding_system): Be sure to initialize
3961 coding->category_idx.
3962
6c083b4c
GM
39632000-12-04 Gerd Moellmann <gerd@gnu.org>
3964
0c68ce6f 3965 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3966
6452929e
GM
3967 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3968 area to x_draw_glyphs instead of a window-relative coordinate.
3969
d7f31e22
GM
3970 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3971 error in the message.
3972
ae18aa3b
GM
3973 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3974 timer after having read a key. It's not good for code reading
3975 several keys in a loop, like an input method.
3976
caa15ef7
GM
3977 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3978 record undo information for format-decode.
3979
3980 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3981 current buffer is read-only, not if it isn't.
3982
6c083b4c
GM
3983 * keyboard.c (record_char): Record `help-echo' input events
3984 in recent_keys only if they display some help. Don't record
3985 `help-echo' events as macro char.
3986
caa15ef7
GM
39872000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3988
3989 * editfns.c (save_excursion_restore): Don't move point
3990 in another window if it is showing the wrong buffer.
3991 Avoid the call to Fwindow_live_p, for speed.
3992
5a13529b
KH
39932000-12-04 Kenichi Handa <handa@etl.go.jp>
3994
e225faa7
KH
3995 * xfaces.c (struct font_name): New member registry_priority.
3996 (split_font_name): Initialize the above member to zero.
3997 (concat_font_list): New function.
3998 (font_list): Include fonts of all alternative registries.
3999 (FONT_POINT_SIZE_QUANTUM): New macro.
4000 (better_font_p): Ignore point size difference less than
4001 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4002
e89648b4
KH
4003 * xterm.c (x_produce_glyphs): If a font for a component of
4004 a composition is not found, use 1 pixel dot ascent and 0 dot
4005 descent value to avoid displaying terribly tall empty boxes.
4006
5a13529b
KH
4007 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4008
d7935eb6
KR
40092000-12-03 Ken Raeburn <raeburn@gnu.org>
4010
4011 * coding.h (code_convert_string1): Declare.
4012
4013 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4014
52283633 4015 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4016
0dd5e255
JR
40172000-12-02 Jason Rumney <jasonr@gnu.org>
4018
4019 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4020 correctly for single byte character case.
4021 (w32_per_char_metric): Do not try to make any assumptions about
4022 the metrics of BDF fonts.
250cfece 4023 (x_estimate_mode_line_height): If `mode-line' face
52283633 4024 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4025 (note_mouse_highlight): Change the cursor shape on the vertical
4026 border between windows [not enabled].
4027
4028 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4029
4030 * w32fns.c (Fx_create_frame): Reintroduce the call to
4031 face-set-after-frame-defaults.
4032 (Vx_window_horizontal_drag_shape): New variable.
4033 (syms_of_xfns): DEFVAR_LISP it.
4034 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4035 enabled].
0dd5e255 4036
b5d8d2ca
GM
40372000-12-02 Simon Josefsson <simon@josefsson.org>
4038
4039 * fns.c (Fmd5): Use a different logic to decide the coding system
4040 to use.
4041
4042 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4043
fbb87147
EZ
40442000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4045
52283633 4046 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4047
447e9da0
GM
40482000-12-01 Gerd Moellmann <gerd@gnu.org>
4049
7708ced0
GM
4050 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4051 height for YNegative.
4052 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4053 height; also see comment there.
4054
447e9da0
GM
4055 * window.c (coordinates_in_window): Handle computations for
4056 positions on the vertical bar and fringes differently for
4057 window-system frames. Consider some pixels near the vertical bar
4058 as on the bar if the frame doesn't have vertical scroll bars.
4059 Associate positions between mode or header lines with the
4060 right window, the left one.
4061
86d1db20
JR
40622000-12-01 Jason Rumney <jasonr@gnu.org>
4063
4064 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4065
4066 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4067 invalid frame.
4068
a1d58e5b
GM
40692000-12-01 Gerd Moellmann <gerd@gnu.org>
4070
52283633 4071 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4072 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4073 (save_window_save, Fset_window_configuration): Save/restore
4074 window's orig_top and orig_height.
4075
89c609af
JR
40762000-12-01 Jason Rumney <jasonr@gnu.org>
4077
4d177746 4078 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4079
89c609af
JR
4080 * w32fns.c (x_set_cursor_color): Fix last change.
4081
eccc05db
GM
40822000-11-30 Gerd Moellmann <gerd@gnu.org>
4083
31b6671b
GM
4084 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4085 sure that the next redisplay displays the minibuffer, so that
4086 the cursor will be replaced with what the minibuffer wants.
4087
eccc05db
GM
4088 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4089 #ifndef instead of using #if.
4090 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4091 USE_TOOLKIT_SCROLL_BARS is defined.
4092
162de750
JR
40932000-11-30 Jason Rumney <jasonr@gnu.org>
4094
4095 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4096 x_display_cursor.
4097
693c4692
GM
40982000-11-30 Gerd Moellmann <gerd@gnu.org>
4099
4100 * fns.c (Fmd5): Doc fix.
4101
b5d8d2ca 41022000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4103
4104 * fns.c (Fmd5): New function.
4105 (syms_of_fns): Defsubr md5.
4106
4107 * Makefile.in (obj): Add md5.o
4108
b02cd40b
GM
41092000-11-30 Gerd Moellmann <gerd@gnu.org>
4110
edfb795e
GM
4111 * md5.h, md5.c: New files, taken from glibc.
4112
df3aedcf
GM
4113 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4114
b02cd40b 4115 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4116 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4117
8b5176cd
SM
41182000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4119
4120 * eval.c (Frun_hooks): Allow 0 arguments.
4121
346598f1
GM
41222000-11-29 Gerd Moellmann <gerd@gnu.org>
4123
f9396e03
GM
4124 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4125 is over the menu bar widget, say it's not on the frame.
4126
4a967a9b
GM
4127 * xfns.c (Fx_create_frame): Reintroduce the call to
4128 face-set-after-frame-defaults.
4129
346598f1
GM
4130 * eval.c (Fsignal): Reset handling_signal.
4131
222456a1
JR
41322000-11-28 Jason Rumney <jasonr@gnu.org>
4133
4134 * w32menu.c (add_menu_item): Reset menu item text when changing
4135 type to radio button.
4136
8049ddc0
GM
41372000-11-28 Gerd Moellmann <gerd@gnu.org>
4138
346598f1 4139 * xselect.c: Update copyright.
f4f4ee4d 4140
bebe4a2c
GM
4141 * window.c (coordinates_in_window): If on a mode or header line,
4142 but sufficiently close to its start, return ``on vertical
4143 border''. This gives us a way to drag windows horizontally when
4144 using toolkit scroll bars.
4145
4146 * xterm.c (note_mouse_highlight): Change the cursor shape
4147 on the vertical border between windows.
4148
4149 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4150
4151 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4152 (syms_of_xfns): DEFVAR_LISP it.
4153 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4154
8d2c2642
GM
4155 * textprop.c (text_read_only): New function.
4156 (verify_interval_modification): Use it instead of signaling
4157 `text-read-only'. This makes it easier to catch this error
52283633 4158 with a breakpoint.:
8d2c2642 4159
52283633 4160 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4161 not end of line, which includes CR.
4162
5a2bae6c
KH
41632000-11-28 Kenichi Handa <handa@etl.go.jp>
4164
4165 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4166 include no-conversion.
4167
ae31f84d
JR
41682000-11-27 Jason Rumney <jasonr@gnu.org>
4169
4170 * w32fns.c (w32_load_system_font): Always mark font as double byte
4171 if codepage is unicode.
4172
67f1cf4c
GM
41732000-11-27 Gerd Moellmann <gerd@gnu.org>
4174
4a74d071 4175 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4176 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4177
902ae620
GM
4178 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4179 `vertical-line', `mode-line' and `header-line' events.
4180
4181 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4182 of a character, a TAB for instance. This is easier than to set
4183 up the iterator exactly, and it's not a frequent case, so the
4184 additional effort wouldn't really pay off.
4185
c1e279c2
AC
41862000-11-26 Andrew Choi <akochoi@i-cable.com>
4187
67f1cf4c 4188 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4189 init_window_once.
4190
a609568a
JR
41912000-11-25 Jason Rumney <jasonr@gnu.org>
4192
52283633
SM
4193 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4194 Args to window_from_coordinates should be pixel coordinates.
48b21762 4195
a609568a
JR
4196 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4197 redisplay handles them properly.
4198
a658d039
MB
41992000-11-25 Miles Bader <miles@gnu.org>
4200
4201 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4202
d3416cca
JR
42032000-11-24 Jason Rumney <jasonr@gnu.org>
4204
4205 * w32.c (init_environment): Set LANG environment variable based on
4206 locale settings, if not set.
4207
4208 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4209 making tool bar smaller. When clearing the frame, also
4210 clear current matrices. Clear frame when tool bar disappears.
4211 Don't use more lines for the tool-bar than is available.
4212 (x_change_window_heights): New function.
4213
ba193890
GM
42142000-11-24 Gerd Moellmann <gerd@gnu.org>
4215
2be8f184
GM
4216 * xdisp.c (init_from_display_pos): If POS says we're already after
4217 an overlay string ending at POS, make sure to pop the iterator
4218 because it will be in front of that overlay string. When POS is
4219 ZV, we've thereby also ``processed'' overlay strings at ZV.
4220
ba193890
GM
4221 * xfaces.c (lface_from_face_name): Function comment fix.
4222
1862a24e
MB
42232000-11-24 Miles Bader <miles@gnu.org>
4224
4225 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4226 apply `mode-line-inverse-video' -- zero means force display using
4227 the default face, non-zero means display using the specialized face.
4228 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4229
f07fa1b8
KH
42302000-11-23 Kenichi Handa <handa@etl.go.jp>
4231
4232 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4233 hard coded `4'.
4234
2bcdf662
EZ
42352000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4236
4237 * coding.c (decode_coding_emacs_mule): Fix the case of
4238 CODING_EOL_LF, which used uninitialized value of c.
4239
ba8299ff
SM
42402000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4241
4242 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4243
f4117c4d
GM
42442000-11-22 Gerd Moellmann <gerd@gnu.org>
4245
03e757c1
GM
4246 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4247 buffer object.
4248
f4117c4d
GM
4249 * frame.h (struct frame): Replace desired_tool_bar_items,
4250 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4251 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4252
4253 * frame.c (make_frame): Change initialization of tool bar
4254 items accordingly.
4255
4256 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4257 Change references to members deleted from struct frame to use the
f4117c4d
GM
4258 new ones.
4259
4260 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4261 references to members deleted from struct frame to use the new ones.
f4117c4d 4262
52283633 4263 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4264
4265 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4266
4267 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4268 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4269 from struct frame to use the new ones.
4270
f8e2f3f2
MB
42712000-11-23 Miles Bader <miles@gnu.org>
4272
4273 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4274 the face's inverse-video attribute, rather than overriding it.
4275
60e8e0a5
GM
42762000-11-22 Gerd Moellmann <gerd@gnu.org>
4277
4278 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4279 making tool bar smaller.
4280
92dd1b29
DL
42812000-11-22 Dave Love <fx@gnu.org>
4282
4283 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4284
e672fdce
MB
42852000-11-22 Miles Bader <miles@gnu.org>
4286
3a17d6cc
MB
4287 * keyboard.c (Vminibuffer_message_timeout): New variable.
4288 (command_loop_1): Use it to determine message timeout.
4289 (syms_of_keyboard): Initialize it.
4290
60e8e0a5 4291 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4292
e9655d81
KH
42932000-11-22 Kenichi Handa <handa@etl.go.jp>
4294
4295 * sysdep.c: Move the code for declaring h_errno after #include
4296 <netdb.h>.
4297
77270fac
GM
42982000-11-21 Gerd Moellmann <gerd@gnu.org>
4299
cd913aae
GM
4300 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4301 the menu bar when the tooltip is unmapped.
4302
77270fac
GM
4303 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4304 sole visible buffer when we're currently in the mini-buffer, and
4305 give up if so.
52283633 4306
556635d6
JR
43072000-11-21 Jason Rumney <jasonr@gnu.org>
4308
4309 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4310 put on the clipboard.
4311 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4312 copy of what Emacs last put there. If they are the same, do not
52283633 4313 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4314
5b7bde64
MB
43152000-11-22 Miles Bader <miles@gnu.org>
4316
4317 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4318 (syms_of_minibuf): Initialize it.
4319 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4320 to prompt, don't make read-only.
4321
ff23e1dd
GM
43222000-11-21 Gerd Moellmann <gerd@gnu.org>
4323
52283633
SM
4324 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4325 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4326
7aaf4388
GM
4327 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4328
f5f47add 4329 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4330
ff23e1dd
GM
4331 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4332
37c35586
KH
43332000-11-21 Kenichi Handa <handa@etl.go.jp>
4334
4335 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4336 ... #endif scope.
4337
ff9ab414
GM
43382000-11-20 Gerd Moellmann <gerd@gnu.org>
4339
52283633 4340 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4341 screen supports it.
4342
29a01b72
GM
4343 * s/gnu-linux.h: Don't use `#cpu'.
4344
09dfdf85
GM
4345 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4346 not defined in mman.h.
4347
52283633 4348 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4349 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4350 and store an index in the XClientMessageEvent. Storing a
4351 Lisp_Object or pointer can fail on a 64 bit system, since X only
4352 transfers 32 bits.
52283633
SM
4353 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4354
81459ac9
DL
43552000-11-20 Dave Love <fx@gnu.org>
4356
4357 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4358
56c13ae6
GM
43592000-11-20 Gerd Moellmann <gerd@gnu.org>
4360
4361 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4362
495a6df3
KH
43632000-11-20 Kenichi Handa <handa@etl.go.jp>
4364
2bcf3714
KH
4365 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4366 by WIDTH.
4367
495a6df3
KH
4368 * alloc.c (make_string): Fix previous change. Be sure to make
4369 unibyte string correctly.
4370
6d950f4c
GM
43712000-11-19 Gerd Moellmann <gerd@gnu.org>
4372
39b39373
GM
4373 * window.c (Fwindow_list): Change parameter list to be XEmacs
4374 compatible.
4375 (window_list_1): New function.
4376 (window_loop): Use it instead of Fwindow_list.
4377
b95b34e5
GM
4378 * sysdep.c (emacs_ospeed): New variable.
4379 (toplevel): Don't declare ospeed extern.
4380 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4381
4382 * termcap.c (ospeed): Remove.
4383 (tputs) [!emacs]: Remove unused code.
4384 (tgetent): Avoid a compiler warning.
4385
e83dc917
GM
4386 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4387 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4388 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4389
4390 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4391 removed.
4392 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4393 Take the X display as additional argument.
4394 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4395 `Widget' is a pointer type that's not easily stored in Lisp_Object
4396 form in a portable way.
52283633 4397
6d950f4c
GM
4398 * dispnew.c (update_text_area): Fix last change.
4399
e47306e6
GM
44002000-11-18 Gerd Moellmann <gerd@gnu.org>
4401
fb3cd89b
GM
4402 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4403
4404 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4405 clear current matrices.
4406
edaa9aed
GM
4407 * buffer.c (mmap_enlarge): Don't print a message on stderr
4408 if mapping new memory at the end of the existing region fails.
4409
e47306e6
GM
4410 * dispnew.c (update_text_area): Don't skip over equal glyphs
4411 when the last current glyph overlaps the glyph to its right.
4412
509633e3
MB
44132000-11-18 Miles Bader <miles@gnu.org>
4414
4415 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4416 lines that *end* with "..." too (that's the most common case!).
4417
d392e9c5
GM
44182000-11-18 Gerd Moellmann <gerd@gnu.org>
4419
67988445
GM
4420 * xdisp.c (resize_mini_window): Temporarily change to the
4421 mini-window's buffer if necessary.
1bfdbe43 4422
d392e9c5
GM
4423 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4424 the tooltip obscures less text under it.
4425
44262000-11-17 Gerd Moellmann <gerd@gnu.org>
4427
4428 * puresize.h (BASE_PURESIZE): Increase to 700000.
4429
92bb977f
JR
44302000-11-18 Jason Rumney <jasonr@gnu.org>
4431
4432 * w32term.c (w32_draw_bitmap): Use face to set colors.
4433
26fbf20b
DL
44342000-11-17 Dave Love <fx@gnu.org>
4435
4436 * lread.c (Fload): Fix #ifdef for pcc.
4437
100b593b
GM
44382000-11-17 Gerd Moellmann <gerd@gnu.org>
4439
4440 * xdisp.c (pos_visible_p): Compute the default character height
4441 differently.
4442
a288d0d1
GM
44432000-11-16 Gerd Moellmann <gerd@gnu.org>
4444
cac94de6 4445 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4446 knowing the line's height; use the default font's height in that case.
cac94de6 4447
a288d0d1
GM
4448 * xfaces.c (weight_table): Add `demi' with the same meaning as
4449 `demibold'.
4450
981fb6f6
KH
44512000-11-16 Kenichi Handa <handa@etl.go.jp>
4452
2cca872d 4453 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4454 (clear_glyph_row): Delete local static variable null_row.
4455
e5fa381b
JR
44562000-11-15 Jason Rumney <jasonr@gnu.org>
4457
4458 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4459 (w32_alloc_lighter_color): Use new brightness calculations from
4460 xterm.c. Scale delta to be in the range expected by W32.
4461 (w32_draw_relief_rect): Use frame relief colors.
4462
8e42f043
GM
44632000-11-15 Gerd Moellmann <gerd@gnu.org>
4464
6d133d1f
GM
4465 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4466 (Qinhibit_default_face_x_resources): New variable.
4467 (syms_of_frame): Initialize it.
4468 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4469
4470 * xdisp.c (pos_visible_p): Improve function comment.
4471
4472 * lisp.h (BINDING_STACK_SIZE): New macro.
4473
8e42f043
GM
4474 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4475 reading the directory if readdir returns null and errno is EAGAIN
4476 or EINTR.
4477
e8c87124
SM
44782000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4479
4480 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4481 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4482 Set amount_to_scroll to max of dx and scroll_step so that
4483 scroll-conservatively doesn't defeat scroll-step>1.
4484 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4485 scroll-conservatively for line-at-a-time scrolling.
4486
5f0c971d
GM
44872000-11-14 Gerd Moellmann <gerd@gnu.org>
4488
4489 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4490 extra argument.
4491
4492 * xdisp.c (current_mode_line_height, current_header_line_height):
4493 New variables.
4494 (init_xdisp): Initialize them.
4495 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4496 and use exact mode line heights if it is set.
4497
4498 * lisp.h (pos_visible_p): Change prototype.
4499
4500 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4501 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4502 and current_header_line_height first.
52283633
SM
4503 (current_mode_line_height, current_header_line_height):
4504 Declare extern.
5f0c971d 4505
d7361edf
MB
45062000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4507
4508 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4509 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4510 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4511
ee5e440a
MB
45122000-11-14 Miles Bader <miles@gnu.org>
4513
4514 * xterm.c (x_alloc_lighter_color): Include an additive component
4515 too for dark colors, because FACTOR isn't enough.
4516 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4517 New macros.
4518
5ca020fc
GM
45192000-11-13 Gerd Moellmann <gerd@gnu.org>
4520
4521 * keyboard.c (show_help_echo): Call message3_nolog with number of
4522 bytes in the help string as 2nd parameter, instead of the number
4523 of characters.
4524
9d348294
MB
45252000-11-13 Miles Bader <miles@gnu.org>
4526
4527 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4528 (Fload): Use new openp return protocol.
4529 Don't try to use Vload_source_file_function to load .elc files.
4530 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4531 openp return protocol.
4532 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4533
1729bb9a
KH
45342000-11-11 Kenichi Handa <handa@etl.go.jp>
4535
4e677396
KH
4536 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4537
4538 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4539 Defined these macros.
4540 (NLIST_STRUCT): Avoid re-defining it.
4541
1729bb9a
KH
4542 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4543 -I/usr/contrib/X11R6/include.
4544 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4545
a82fe213
JR
45462000-11-10 Jason Rumney <jasonr@gnu.org>
4547
4548 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4549
4550 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4551 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4552
4553 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4554 (Qw32_charset_vietnamese): New symbol.
4555 (xlfd_charset_of_font): New function.
4556 (w32_load_system_font): Use it.
4557 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4558 when Vw32_charset_info_alist is nil to ensure default face always
4559 has font. Use Fcar and Fcdr for safety.
4560 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4561 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4562 pseudo-codepages for special cases.
4563 (w32_to_x_font): New parameter to allow charset portion to be
4564 specified where there is many to one mapping. Callers changed.
4565 (w32_list_fonts): Avoid listing fonts that won't display.
4566
52d89894
GM
45672000-11-10 Gerd Moellmann <gerd@gnu.org>
4568
4569 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4570 (font_list_1): Renamed from font_list.
4571 (font_list): New function, trying alternative registries from
4572 Vface_alternative_font_registry_alist.
4573 (Finternal_set_alternative_font_registry_alist): New function.
4574 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4575 Vface_alternative_font_registry_alist.
4576 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4577
651cd3da
KR
45782000-11-09 Ken Raeburn <raeburn@gnu.org>
4579
4580 * lisp.h (Flooking_at): Declare.
4581
388ac098
GM
45822000-11-09 Gerd Moellmann <gerd@gnu.org>
4583
778fbc46 4584 * dired.c (directory_files_internal): Fix a braino.
52283633 4585
388ac098
GM
4586 * dired.c (directory_files_internal): Add missing GCPRO's.
4587 Some cleanup.
4588
ecaedde1
GM
45892000-11-08 Gerd Moellmann <gerd@gnu.org>
4590
f7eb32aa
GM
4591 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4592 (resize_mini_window): Return quickly if Vresize_mini_window is
4593 nil. Don't return if Vmax_mini_window_height is nil.
4594
4595 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4596 (syms_of_xdisp): Initialize them.
4597 (resize_mini_window): Act according to the setting of
4598 Vresize_mini_window.
4599 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4600
ecaedde1
GM
4601 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4602 scroll bar widget after configuring it, so that it will appear at
4603 the right position from the start.
4604 (XTredeem_scroll_bar): Cleaned up.
4605
3747ef2c
KH
46062000-11-08 Kenichi Handa <handa@etl.go.jp>
4607
4608 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4609 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4610 division by two.
4611
4612 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4613
03391420
DL
46142000-11-07 Dave Love <fx@gnu.org>
4615
7758f1c1 4616 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4617
4618 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4619
b5de343d
GM
46202000-11-07 Gerd Moellmann <gerd@gnu.org>
4621
acad3c0b
GM
4622 * window.c (Fset_window_configuration): Don't try to preserve
4623 point in the current buffer, if that buffer is displayed in more
4624 than one window.
4625
b5de343d
GM
4626 * xfaces.c (lookup_named_face): If default face isn't realized,
4627 try to realize it. Return -1 if not successful.
4628 (Fx_list_fonts): Handle case that face cannot be determined.
4629 (Fface_font): Likewise.
4630
cdb1fe49
GM
46312000-11-06 Gerd Moellmann <gerd@gnu.org>
4632
4633 * window.c (displayed_window_lines): Detect partially
4634 visible lines at the bottom correctly.
4635
d3a67486
SM
46362000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4637
4638 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4639 when ensuring we don't do visit in indirect buffer.
4640
ff8dd5d5
KH
46412000-11-06 Kenichi Handa <handa@etl.go.jp>
4642
4643 * composite.h (compose_chars_in_text): Add prototype.
4644
4645 * composite.c (Vcomposition_function_table): New variable.
4646 (Qcomposition_function_table): New variable.
4647 (run_composition_function): Call
4648 Vcompose_chars_after_function with three arguments.
4649 (compose_chars_in_text): New function.
4650 (syms_of_composite): Modified the doc-string of
4651 Vcompose_chars_after_function. Declare composition-function-table
4652 as a lisp variable, and initialize it.
4653
4654 * xfns.c (x_encode_text): Suppress producing escape sequences for
4655 composition.
4656
4657 * xselect.c: Include composite.h.
4658 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4659
d1145f85
AI
46602000-11-05 Andrew Innes <andrewi@gnu.org>
4661
4662 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4663
4664 * sysdep.c (read_input_waiting): Remove extraneous argument to
4665 read_socket_hook.
4666
4667 * w32fns.c (Fx_server_version): Include w32_build_number in the
4668 return list.
4669
4670 * w32heap.c (w32_build_number): New variable.
4671 (cache_system_info): Set it.
4672
4673 * w32heap.h (w32_build_number): Add extern.
4674
4675 * emacs.c (syms_of_emacs): Update docstring for
4676 system-configuration, to reflect the actual usage on MS-Windows.
4677
e85ee976
GM
46782000-10-31 Gerd Moellmann <gerd@gnu.org>
4679
26dcb81b
GM
4680 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4681 process idle timers while waiting for another event.
4682
52283633 4683 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4684 the default face are colored.
4685
e85ee976
GM
4686 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4687 window height hasn't changed.
4688
01b220b6
JR
46892000-10-31 Jason Rumney <jasonr@gnu.org>
4690
4691 * w32term.c (x_produce_glyphs): Handle composite characters.
4692 (x_draw_glyph_string_foreground)
4693 (x_draw_composite_glyph_string_foreground): Restore old font.
4694
4e6b7204
MB
46952000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4696
4697 * minibuf.c (read_minibuf): Reset the undo history just before
4698 starting the recursive-edit.
4699
d4358b37
GM
47002000-10-30 Gerd Moellmann <gerd@gnu.org>
4701
563f68f1
GM
4702 * xfaces.c (menu_face_change_count): New variable.
4703 (Finternal_set_lisp_face_attribute): Increment it for changes
4704 of the `menu' face.
4705 (realize_basic_faces): Reflect changes in the `menu' faces
4706 in menu bars.
4707
82e274d1
GM
4708 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4709 dy obtained from the iterator's y-position after moving from
4710 scroll_margin_pos to PT; see comment there.
52283633 4711
0dbf9fd2
GM
4712 * xdisp.c (safe_eval_handler): Call add_to_log.
4713
906b3b14
GM
4714 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4715 is not a symbol or string.
4716
d4358b37
GM
4717 * xdisp.c (echo_area_display): Don't perform a display update from
4718 inside redisplay. The update will happen anyway at the end of
4719 redisplay, and it can confuse redisplay (GC messages while
4720 redisplaying, for instance.)
4721
70c825df
SM
47222000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4723
cf9b4b0b
SM
4724 * xrdb.c (x_load_resources): Use the class name in the defaults.
4725
70c825df
SM
4726 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4727 (regex_compile): Catch bogus \(\1\).
4728
a1d34b1e
GM
47292000-10-30 Gerd Moellmann <gerd@gnu.org>
4730
cae71efe
GM
4731 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4732 RGB values.
52283633 4733
35efe0a1
GM
4734 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4735 we have a color cache, check that the cached color equals the
4736 allocated color. If not, clear the color cache.
4737
1d3baf74
GM
4738 * window.c (displayed_window_lines): Change buffers if necessary.
4739 Fix computation of displayed lines.
4740
a1d34b1e
GM
4741 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4742 update_menu_bindings to DEFVAR_BOOL.
4743
70737ea9
KH
47442000-10-30 Kenichi Handa <handa@etl.go.jp>
4745
70c825df 4746 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4747
fa0cb51d
KH
4748 * puresize.h (BASE_PURESIZE): Increase to 680000.
4749
70737ea9
KH
4750 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4751
0e4c08e8
JR
47522000-10-29 Jason Rumney <jasonr@gnu.org>
4753
4754 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4755
4756 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4757 (w32_cache_char_metrics): Handle possibility that 'x' does not
4758 exist in a BDF font.
4759 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4760
4761 * w32bdf.h (bdffont): Add nchars.
4762
4763 * w32bdf.c (set_bdf_font_info): Set it.
4764 (w32_BDF_TextOut): Swap byte order of double byte characters.
4765 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4766
45b84006
EZ
47672000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4768
4769 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4770 don't override the colors in frame's param_alist, unless they are
4771 unspecified.
4772
4773 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4774 reverse the effect of the highlight flag.
4775
caf9deee
KR
47762000-10-27 Ken Raeburn <raeburn@gnu.org>
4777
4778 * window.h (Fwindow_live_p): Declare.
4779
ae0b9b46
KR
4780 * undo.c (record_delete): Check that last_undo_buffer is really a
4781 buffer before applying XBUFFER to it.
4782
4783 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4784 Faref.
4785
02067692
SM
47862000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4787
4788 * lisp.h (KEYMAPP): New macro.
4789 (get_keymap): Remove.
4790 (get_keymap_1): Rename get_keymap.
4791
4792 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4793
4794 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4795
4796 * xmenu.c (single_submenu): Use KEYMAPP.
4797 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4798 Use KEYMAPP rather than Fkeymapp.
4799
4800 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4801
4802 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4803 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4804 Use KEYMAPP rather than Fkeymapp.
4805 (single_submenu): Use KEYMAPP.
4806 (w32_menu_show, w32_dialog_show): Use TRUE.
4807
4808 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4809
4810 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4811 (Fkeymapp): Use KEYMAPP.
4812 (get_keymap): Rename from get_keymap_1. Remove old def.
4813 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4814 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4815 (Fminor_mode_key_binding): Don't raise an error if the binding
4816 is not a keymap.
4817 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4818 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4819
4820 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4821 Allow Vspecial_event_map to be autoloaded.
4822 (menu_bar_items): Fetch the keymap rather than using keymapp.
4823 (menu_bar_one_keymap): No need to follow func-indirect any more.
4824 (parse_menu_item): get_keymap_1 -> get_keymap.
4825 (tool_bar_items): Fetch the keymap rather than using keymapp.
4826 (read_key_sequence): Use KEYMAPP.
4827
4828 * intervals.c (get_local_map): Use get_keymap rather than following
4829 function-indirections explicitly.
4830
4831 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4832
f9d80af3
JR
48332000-10-27 Jason Rumney <jasonr@gnu.org>
4834
4835 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4836 point, as Windows has oversized fonts.
4837
4838 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4839
a3ba27da
GM
48402000-10-27 Gerd Moellmann <gerd@gnu.org>
4841
4842 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4843 (freehook, reallochook): Handle null pointer arguments.
4844 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4845
aa3b80cc
SM
48462000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4847
4848 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4849 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4850 Giving in to popular pressure to shut up the compiler with casts.
4851
e24e84cc
GM
48522000-10-27 Gerd Moellmann <gerd@gnu.org>
4853
4854 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4855 signed value, and use a default value computed from the font's
4856 maximum descent.
4857
05ea7ef2
MB
48582000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4859
4860 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4861 that specify a negative underline position can still use underlines.
4862
4863 * window.c (Fpos_visible_in_window_p): Make POS default to
4864 WINDOW's point, not the current buffer's point.
4865
0b95284b
DL
48662000-10-26 Dave Love <fx@gnu.org>
4867
4868 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4869 when it's necessary.
4870
6c5b90af
GM
48712000-10-26 Gerd Moellmann <gerd@gnu.org>
4872
8b6d9dc9
GM
4873 * window.c (size_window): Compute size difference from sum of old
4874 child window sizes instead of from parent's size.
4875
6bc92b2e
GM
4876 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4877 Handle obscured lines at the top of the window.
4878
4879 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4880 down after the last error condition check.
4881
6c5b90af
GM
4882 * frame.c (Fdelete_frame): Run delete-frame-hook.
4883
42f92d4d
KH
48842000-10-26 Kenichi Handa <handa@etl.go.jp>
4885
4886 * coding.c (decode_coding): Fix previous change (check also
4887 CODING_MODE_LAST_BLOCK).
4888
d97151cb
SM
48892000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4890
e7efc503
SM
4891 * regex.c: More `unsigned char' -> `re_char' changes.
4892 Also change several `int' into `re_wchar_t'.
4893 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4894 (PUSH_FAILURE_POINTER): Don't cast any more.
4895 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4896 We want GCC to complain, since this piece of code makes
4897 re_match non-reentrant, which *should* be fixed.
4898 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4899 (EXTEND_BUFFER): Use RETALLOC.
4900 (SET_LIST_BIT): Don't cast.
4901 (re_wchar_t): New type.
4902 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4903 that those two functions will always properly return.
4904 (IMMEDIATE_QUIT_CHECK): Cast to void.
4905 (analyse_first): Use recursion rather than an explicit stack.
4906 (re_compile_fastmap): Can't fail anymore.
4907 (re_search_2): Don't check re_compile_fastmap for failure.
4908 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4909 Now also sets the new value (passed in a new argument).
4910 (re_match_2_internal): Use it.
4911 Also, use a new var `reg' of type size_t when looping through regs
4912 rather than reuse the inappropriate `mcnt'.
4913
d97151cb
SM
4914 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4915 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4916 (where_is_internal): Renamed from Fwhere_is_internal.
4917 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4918 (Fwhere_is_internal): New function wrapping where_is_internal.
4919 (where_is_internal_1): Handle the case where we're filling the cache.
4920 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4921
d5789b65
MB
49222000-10-25 Miles Bader <miles@gnu.org>
4923
4924 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4925
4ecda532
GM
49262000-10-25 Gerd Moellmann <gerd@gnu.org>
4927
4928 * window.c (pos_fully_visible_p): Removed.
4929 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4930 if position is visible and/or fully visible.
4931
4932 * lisp.h (pos_visible_p): Add prototype.
4933
4934 * xdisp.c (pos_visible_p): New function.
4935
68c3a137
KH
49362000-10-25 Kenichi Handa <handa@etl.go.jp>
4937
4938 * process.c (send_process): If OBJECT is t, it means that the data
4939 is from C string, but we should encode it. Before calling
4940 setup_raw_text_coding_system, be sure to flush out data by the
4941 previous coding system.
4942
7ae1c032
MB
49432000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4944
ff4dcd4b
MB
4945 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4946 assignment of startpos to prev when startpos == pos.
4947
7ae1c032
MB
4948 * editfns.c (find_field): Set the field stickiness correctly from
4949 overlay fields. Use renamed `text_property_stickiness'.
4950 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4951 Only check text properties, not overlays.
7ae1c032
MB
4952 * textprop.c (get_char_property_and_overlay): New function.
4953 (Fget_char_property): Use it.
4954 * intervals.h (get_char_property_and_overlay): Add declaration.
4955
49801145
SM
49562000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4957
4958 * keymap.c: Use AREF, ASET and ASIZE macros.
4959 (Fmake_sparse_keymap): Docstring fix.
4960 (synkey): Remove.
4961 (shadow_lookup): Move up.
4962 Handle the case where lookup-key returns an integer.
4963 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4964 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4965 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4966 Simplify/rewrite the keymap-finding code.
4967 Add check for command shadowing, using shadow_lookup.
4968
39e776cd
SM
49692000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4970
4971 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4972 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4973 a symbol.
4974
2488aba5
AI
49752000-10-24 Andrew Innes <andrewi@gnu.org>
4976
4977 * dired.c (directory_files_internal_unwind): New function.
4978 (directory_files_internal): Use it to ensure closedir is called
4979 even if expand-file-name or file-attributes throw, eg. because of
4980 a user interrupt. Also enable immediate_quit while calling
4981 re_search, so that matching can be interrupted as well.
4982
b94fdf61
AI
49832000-10-24 Andrew Innes <andrewi@gnu.org>
4984
4985 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4986 NT-Emacs only.
4987 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4988 so that re_search functions only quit when callers expect them to.
4989
49902000-10-24 Kenichi Handa <handa@etl.go.jp>
4991
4992 * regex.c (regex_compile): Change the way of handling a range from
4993 a char less than 256 to a char not less than 256.
4994
1946f901
GM
49952000-10-24 Gerd Moellmann <gerd@gnu.org>
4996
7ae2f10f
GM
4997 * window.c (size_window): Prevent setting window's width or
4998 height to a negative value (esp. with XSETFASTINT).
4999
5dcab13e
GM
5000 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5001 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5002 (protect_malloc_state) [GC_MALLOC_CHECK &&
5003 GC_PROTECT_MALLOC_STATE]: New function.
5004 (PROTECT_MALLOC_STATE): New macro.
5005 (__malloc_initialize, morecore, _malloc_internal)
5006 (_free_internal) _realloc_internal): Use it to make _heapinfo
5007 read-only outside of gmalloc.
5008
63e1b552
GM
5009 * keymap.c: Update copyright.
5010
1946f901
GM
5011 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5012 a symbol.
5013
4fa09beb
GM
50142000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5015
5016 * filelock.c (unlock_all_files): Use unlock_file to expand each
5017 buffer's file_truename before trying remove its lock file.
5018
23afac01
EZ
50192000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5020
5021 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5022 or CRLF, decode EOLs.
5023
04448b95
KH
50242000-10-24 Kenichi Handa <handa@etl.go.jp>
5025
5026 * window.c (Fdisplay_buffer): Fix doc.
5027
3090a5a5
JR
50282000-10-23 Jason Rumney <jasonr@gnu.org>
5029
5030 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5031 ASCII font of default fontset on Windows.
5032
5033 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5034 xterm.c comment below).
5035
5036 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5037
a83fee2c
GM
50382000-10-23 Gerd Moellmann <gerd@gnu.org>
5039
5040 * xterm.c (x_connection_closed): Reset handling_signal.
5041
52283633 5042 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5043
6ffdb539
MB
50442000-10-23 Miles Bader <miles@gnu.org>
5045
5046 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5047 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5048 maintain old behavior.
5049 * minibuf.c (Fminibuffer_complete): Likewise.
5050
7f1c969b
MB
50512000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5052
5053 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5054 that when a font can't be exactly centered, it errs up rather than
5055 down.
5056
23afac01 50572000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5058
52283633 5059 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5060
1a578e9b
AC
50612000-10-23 Andrew Choi <akochoi@i-cable.com>
5062
5063 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5064
5065 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5066 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5067
5068 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5069 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5070 syms_of_search, x_term_init, and init_keyboard before calling
5071 init_window_once. Also, call syms_of_xmenu.
5072
5073 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5074 default fontset to Monaco.
5075
5076 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5077 NewMacWindow and DisposeMacWindow.
5078 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5079 instead of calling NewMacWindow and setting fields of
5080 f->output_data.mac directly. Call init_frame_faces.
5081 (Fdelete_frame) [macintosh]: Remove unused code.
5082 (Fmodify_frame_parameters) [macintosh]: Call
5083 x_set_frame_parameters instead of mac_set_frame_parameters.
5084
5085 * frame.h [macintosh]: Define menu_bar_lines field in struct
5086 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5087
5088 * keyboard.c [macintosh]: Include macterm.h.
5089 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5090 and menu_bar_activate_event type events as for X and NT.
5091 (make_lispy_event) [macintosh]: Construct lisp events of type
5092 MENU_BAR_EVENT as for X and NT.
5093
5094 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5095 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5096 (sys_subshell) [macintosh]: Remove definition entirely.
5097 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5098 Vwindow_system_version here. Remove initialization of
5099 Vx_bitmap_file_path.
5100 (read_input_waiting): Correct the number of parameters passed to
5101 read_socket_hook.
5102 Move all Macintosh functions to mac/mac.c.
5103
5104 * term.c [macintosh]: Include macterm.h.
5105
5106 * window.c [macintosh]: Include macterm.h.
5107
5108 * xdisp.c [macintosh]: Include macterm.h. Declare
5109 set_frame_menubar and pending_menu_activation.
5110 (echo_area_display) [macintosh]: Do not return if terminal frame
5111 is the selected frame.
5112 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5113 Allow only the selected frame to set menu bar.
5114 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5115 calling FRAME_EXTERNAL_MENU_BAR (f).
5116 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5117
5118 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5119 and check_x. Declare XCreateGC. Define x_create_gc and
5120 x_free_gc. Initialize font_sort_order.
5121 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5122 but call x_list_fonts instead of w32_list_fonts.
5123 (Finternal_face_x_get_resource) [macintosh]: Do not call
5124 display_x_get_resource.
5125 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5126 (realize_x_face) [macintosh]: Load the font if it is specified in
5127 ATTRS.
52283633 5128 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5129
1ffbabe3
SM
51302000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5131
5132 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5133 is nil: since we go to the end of submap anyway, we'd end up
5134 setting nil to nil.
5135 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5136 doesn't obey autoload.
5137
bed43f1d
EZ
51382000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5139
1ffbabe3 5140 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5141
ea4233a7
JR
51422000-10-21 Jason Rumney <jasonr@gnu.org>
5143
5144 * w32term.c (w32_cache_char_metrics): Double check that font is
5145 really fixed pitch before trusting tmPitchAndFamily.
5146
f3d3c491
AI
51472000-10-21 Andrew Innes <andrewi@gnu.org>
5148
5149 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5150
5151 * w32term.h: Extern decl for w32_cache_char_metrics.
5152
5153 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5154
5155 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5156 (w32_unload_font): Free per_char array if present.
5157
5158 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5159 cached information in emulated XFontStruct to handle common cases
5160 quickly. Do not allocate XCharStruct for return.
5161 (w32_native_per_char_metric): New function.
5162 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5163 allocating one.
5164 (x_produce_glyphs): Don't get an HDC. Change calls to
5165 w32_per_char_metric to match arg change above. Remove calls to
5166 free results.
5167 (w32_get_glyph_overhangs): Ditto.
5168 (w32_cache_char_metrics): New function.
5169
5170 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5171 ($(BLD)/casefiddle.$(O)): Remove compile command.
5172 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5173 ($(BLD)/dispnew.obj):
5174 ($(BLD)/keyboard.obj):
5175 ($(BLD)/w32inevt.obj):
5176 ($(BLD)/w32bdf.obj):
5177 ($(BLD)/alloc.obj):
5178 ($(BLD)/buffer.obj):
5179 ($(BLD)/editfns.obj):
5180 ($(BLD)/emacs.obj):
5181 ($(BLD)/fileio.obj):
5182 ($(BLD)/fns.obj):
5183 ($(BLD)/indent.obj):
5184 ($(BLD)/insdel.obj):
5185 ($(BLD)/intervals.obj):
5186 ($(BLD)/minibuf.obj):
5187 ($(BLD)/print.obj):
5188 ($(BLD)/scroll.obj):
5189 ($(BLD)/sysdep.obj):
5190 ($(BLD)/textprop.obj):
5191 ($(BLD)/widget.obj):
f3d3c491
AI
5192 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5193 ($(BLD)/term.obj): Add dependency on dispextern.h.
5194
52283633
SM
5195 * makefile.nt ($(BLD)\dispnew.obj):
5196 ($(BLD)\keyboard.obj):
5197 ($(BLD)\w32inevt.obj):
5198 ($(BLD)\w32bdf.obj):
5199 ($(BLD)\alloc.obj):
5200 ($(BLD)\buffer.obj):
5201 ($(BLD)\editfns.obj):
5202 ($(BLD)\emacs.obj):
5203 ($(BLD)\fileio.obj):
5204 ($(BLD)\fns.obj):
5205 ($(BLD)\indent.obj):
5206 ($(BLD)\insdel.obj):
5207 ($(BLD)\intervals.obj):
5208 ($(BLD)\minibuf.obj):
5209 ($(BLD)\print.obj):
5210 ($(BLD)\scroll.obj):
5211 ($(BLD)\sysdep.obj):
5212 ($(BLD)\textprop.obj):
5213 ($(BLD)\widget.obj):
f3d3c491
AI
5214 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5215 ($(BLD)\term.obj): Add dependency on dispextern.h
5216
18ad4821
EZ
52172000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5218
5219 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5220 with an additional argument of Qt.
5221
de54681a
MB
52222000-10-21 Miles Bader <miles@gnu.org>
5223
5224 * window.c (pos_fully_visible_in_window_p): New function.
5225 (Fpos_visible_in_window_p): Add FULLY argument.
5226 Use pos_fully_visible_in_window_p.
5227 (window_scroll_pixel_based, window_scroll_line_based): Update
5228 calls to Fpos_visible_in_window_p.
5229 * lisp.h (Fpos_visible_in_window_p): Update prototype
5230
13c844fb
GM
52312000-10-20 Gerd Moellmann <gerd@gnu.org>
5232
5233 * alloc.c (toplevel): Conditionalize compilation of mem_*
5234 functions differently.
52283633 5235
d9506268
JR
52362000-10-20 Jason Rumney <jasonr@gnu.org>
5237
5238 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5239 mem_init where it used to be. mem_z etc not defined otherwise.
5240
8094989b
GM
52412000-10-20 Gerd Moellmann <gerd@gnu.org>
5242
5243 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5244 GC_MALLOC_CHECK.
5245 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5246 structure definition and related variabled to the top of the file.
5247 Include this code when GC_MALLOC_CHECK is defined.
5248 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5249 register/unregister allocated region.
5250 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5251 which isn't allocated.
5252 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5253 something which is already in use.
5254 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5255 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5256 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5257 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5258
5259 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5260 _malloc_internal instead of malloc.
5261 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5262 of free.
5263
ea456eb4
AI
52642000-10-20 Andrew Innes <andrewi@gnu.org>
5265
5266 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5267 Windows.
5268 (my_strftime) <macro>: Don't use macro arg list when redefining as
5269 _strftime_copytm.
5270 (my_strftime) <function>: Supply 0 as ut argument.
5271
e64c3a75
JR
52722000-10-19 Jason Rumney <jasonr@altavista.net>
5273
5274 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5275 including dispextern.h, as it stops faces from working.
5276
5277 * w32fns.c (Fx_create_frame): Don't bother calling
5278 face-set-after-frame-default since the caller does it for us
5279 anyway. Clean up calls to x_get_arg to be consistent with X.
5280
5281 * w32term.c (x_produce_glyphs): Handle
5282 unibyte_display_via_language_environment correctly.
5283 (w32_draw_box_rect): Fix the calculation of width and height.
5284
5285 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5286 as it has stopped working.
5287 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5288 menu-bar.
5289
17401c97
GM
52902000-10-19 Gerd Moellmann <gerd@gnu.org>
5291
5292 * eval.c (skip_debugger): Prevent a compiler warning.
5293 (Fcondition_case): Likewise.
5294 (Fbacktrace_frame): Use a null interactive spec.
5295
773272d8
KH
52962000-10-19 Kenichi Handa <handa@etl.go.jp>
5297
5298 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5299
a42943e9
GM
53002000-10-18 Gerd Moellmann <gerd@gnu.org>
5301
e50517d9
GM
5302 * strftime.c: Sync with glibc, file version 1.78.
5303 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5304 should no longer be used according to ISO 8601.
5305
9035a35a
GM
5306 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5307 no map for meta_prefix_char, don't try to use it as a keymap.
5308 Instead, if T_OK is non-zero, look up a default binding, if any,
5309 otherwise, if T_OK is zero, return nil.
5310
a42943e9
GM
5311 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5312 (x_to_xcolors, png_load): Use x_query_color.
5313
52283633
SM
5314 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5315 New functions.
a42943e9
GM
5316 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5317 which can be slow.
5318 (x_copy_color, x_alloc_lighter_color): Likewise.
5319
5320 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5321 (x_query_color, x_query_colors): Add prototype.
5322
5323 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5324 check_string_bytes only if not noninteractive, increase count to 50.
5325
00de2987
MB
53262000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5327
5328 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5329 markers correctly.
5330
54918e2b
GM
53312000-10-17 Gerd Moellmann <gerd@gnu.org>
5332
1f0b3fd2
GM
5333 * alloc.c (pure_bytes_used): Renamed from pureptr.
5334 (ALIGN): New macro.
5335 (pure_alloc): New function.
5336 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5337 Use it.
5338 (Fpurecopy): Use PURE_POINTER_P.
5339
68c5d1db
GM
5340 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5341 PT has moved backward.
52283633 5342
9a038881
GM
5343 * xdisp.c (cursor_row_p): Take continued lines into account.
5344
361b097f
GM
5345 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5346 string's size_byte.
5347 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5348 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5349 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5350 string allocated.
5351
54918e2b
GM
5352 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5353 of selective display off while searching for the next line start.
5354
03ed0806
KH
53552000-10-17 Kenichi Handa <handa@etl.go.jp>
5356
5357 * Makefile.in (term.o): Depend on dispextern.h.
5358
7e05cdaf
SM
53592000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5360
5361 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5362
a6801fd1
GM
53632000-10-16 Gerd Moellmann <gerd@gnu.org>
5364
483de32b
GM
5365 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5366 the iterator at the beginning, so that they can be set later on,
5367 for instance in reseat_at_next_visible_line_start, without being
5368 overwritten.
5369
a6801fd1
GM
5370 * xfns.c (pbm_format): Add :foreground and :background keywords.
5371 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5372 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5373
dbf1fcc1
EZ
53742000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5375
5376 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5377
52283633 5378 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5379
5380 * msdos.c (IT_set_face): Compare highlighted face with the default
5381 face, and invert colors if these faces' colors are identical.
5382 (Fmsdos_remember_default_colors): Don't swap foreground and
5383 background colors in initial_colors[].
5384 (IT_set_frame_parameters): Don't swap frame's foreground and
5385 background pixels. If ALIST includes "(reverse . t)", swap
5386 foreground-color and background-color properties in frame's
5387 param_alist. If the original frame's param_alist doesn't specify
5388 the colors, store unspecified-fg and unspecified-bg, reversed if
5389 required.
5390
5391 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5392 the colors are unspecified and reversed, reverse fore- and back-
5393 ground in the returned value.
5394 (Fframe_parameter): Ditto.
5395
b41fe2c3 53962000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5397
3a6b59d9
GM
5398 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5399 get_last_unchanged_at_beg_row.
5400 (find_first_unchanged_at_end_row): Renamed from
5401 get_first_unchanged_at_end_row.
5402 (find_first_unchanged_at_end_row): Convert assertions to
5403 unconditional tests which abort. When looking for a row in
5404 unchanged text, don't go further back than first_text_row.
5405
b41fe2c3
GM
5406 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5407 Don't add in the last line's height when deciding if the new
5408 position is below the scroll margin.
9d1af64f 5409
b41fe2c3 54102000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5411
5412 * editfns.c (Fconstrain_to_field): Check carefully for field
5413 boundaries if either OLD_POS or NEW_POS has a non-nil field
5414 property, even if they're the same.
5415
c412cb7b
KH
54162000-10-16 Kenichi Handa <handa@etl.go.jp>
5417
5418 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5419 height for XFillRectangle.
5420
5586f3eb
SM
54212000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5422
5423 * syntax.c (Fstring_to_syntax): New function extracted from
5424 Fmodify_syntax_entry.
5425 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5426 (skip_chars, Fforward_comment): Remove unused variables.
5427 (syms_of_syntax): Add defsubr for string-to-syntax.
5428 (describe_syntax): Add code for comment and string fences.
5429
db785038
SM
54302000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5431
5432 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5433 Do the meta->esc mapping. Call get_keyelt before returning.
5434 Start scanning from the second element (the first is always `keymap')
5435 to make it easier to detect when we reach a parent map.
5436 Handle the case of inheriting from a symbol whose function is a map.
5437 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5438 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5439 (get_keyelt, Flookup_key): Update call to access_keymap.
5440 Remove the meta->esc mappings.
5441 (define_as_prefix): Delete old disabled code.
5442 (menu_item_p): New function.
5443 (where_is_internal_1): Skip over the few remaining menu items.
5444 * lisp.h (access_keymap): Update prototype.
5445 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5446 Update call to access_keymap.
5447 (follow_key, read_key_sequence): Update calls to access_keymap.
5448 Remove the meta->esc mappings.
5449
cafafe0b
GM
54502000-10-13 Gerd Moellmann <gerd@gnu.org>
5451
a2e2a7f6
GM
5452 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5453 with additional argument.
5454
cafafe0b
GM
5455 * xdisp.c (cursor_row_p): New function.
5456 (try_cursor_movement, display_line): Use it.
52283633 5457
cafafe0b
GM
5458 * xdisp.c (append_space): Also save/restore iterator's current
5459 character and its length.
5460
5461 * xdisp.c (init_from_display_pos): Add an assertion.
5462 (handle_stop): Don't set iterator's add_overlay_start.
5463 (handle_invisible_prop): Likewise.
5464 (load_overlay_strings): If text under an overlay is invisible,
5465 take both before- and after-strings into account when the iterator
5466 is positioned either at the start or at the end of the overlay.
5467 (forward_to_next_line_start): Rewritten.
5468 (reseat_at_next_visible_line_start): Rewritten.
5469 (set_iterator_to_next): Add parameter RESEAT_P.
5470
5471 * dispextern.h (struct it): Remove member add_overlay_start.
5472 (set_iterator_to_next): Change prototype.
5473
c744452b
KH
54742000-10-13 Kenichi Handa <handa@etl.go.jp>
5475
5476 * coding.c (code_convert_region): Be sure to initialize
5477 coding->category_idx.
e4a3f4e1
KH
5478 (decode_coding_string): Set coding->src_multibyte and
5479 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5480 (encode_coding_string): Set coding->src_multibyte and
5481 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5482
321fd26f
SM
54832000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5484
5485 * xfns.c (Fx_create_frame): Don't bother calling
5486 face-set-after-frame-default since the caller does it for us anyway.
5487
76832439
EZ
54882000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5489
5490 * window.c (coordinates_in_window): Fix detection of vertical line
5491 on character terminals.
5492
2483cf58
GM
54932000-10-12 Gerd Moellmann <gerd@gnu.org>
5494
5495 * editfns.c (save_excursion_save): Additionally record the
5496 selected window.
5497 (save_excursion_restore): If buffer was visible in a window, and a
5498 different window was selected, and the old selected window is
5499 still live, restore point in that window.
5500
eb991b25
KH
55012000-10-12 Kenichi Handa <handa@etl.go.jp>
5502
8a0eba09
KH
5503 * xterm.c (x_produce_glyphs): Handle
5504 unibyte_display_via_language_environment correctly.
5505
20401fcc
KH
5506 * regex.c (regex_compile): Change the way of handling a range from
5507 unibyte char to multibyte char.
5508
5509 * syntax.c (skip_chars): Change the way of handling a range from
5510 unibyte char to multibyte char.
5511
eb991b25
KH
5512 * process.c (read_process_output): Cancel previous change.
5513
365dd325
EZ
55142000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5515
c1b096cb
EZ
5516 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5517
365dd325
EZ
5518 * charset.c (Ffind_charset_string): Doc fix.
5519 (Ffind_charset_region): Doc fix.
5520
eb483c2b
KH
55212000-10-11 Kenichi Handa <handa@mule.m17n.org>
5522
5523 * process.c (read_process_output): Fix previous change. Adjust
5524 multibyteness of text to insert in a buffer by
52283633 5525 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5526
b40bfb99
AS
55272000-10-10 Andreas Schwab <schwab@suse.de>
5528
5529 * alloc.c (mark_object): Remove all workarounds installed on
5530 1993-08-08.
5531
caff31d4
KH
55322000-10-10 Kenichi Handa <handa@etl.go.jp>
5533
52283633 5534 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5535 (base64_encode_1): Make it work for a text of multibyte form.
5536 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5537 case. Don't call str_to_multibyte because base64_decode_1
5538 produces correct multibyte form for eight-bit codes.
52283633 5539 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5540 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5541 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5542 codes.
5543
5544 * charset.h (CHAR_STRING): Optimized for single byte characters.
5545
cba026ef
AS
55462000-10-09 Andreas Schwab <schwab@suse.de>
5547
5548 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5549 -1 after socket is closed, to fall through to error processing.
5550
1e21fe48
EZ
55512000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5552
5553 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5554 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5555 background-color, change also the colors of the default face for
5556 this frame.
5557
a640322e
EZ
55582000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5559
5560 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5561 them extern (they are defined on xfaces.c).
5562 (syms_of_msdos): Don't intern and don't staticpro
5563 Qbackground_color and Qforeground_color.
5564
a115794c
EZ
55652000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5566
5567 * frame.c (Fframe_parameter): For non-windowed frames, if
5568 f->param_alist says foreground or background color is unspecified,
5569 call tty_color_name to return the color name computed from the
5570 frame's current colors.
5571
f5533b63
DL
55722000-10-06 Dave Love <fx@gnu.org>
5573
5574 * terminfo.c (ospeed): Don't declare.
5575
5576 * sysdep.c: Don't include string.h.
5577 (h_errno): Declare conditional also on TRY_AGAIN.
5578
5579 * charset.c (Ffind_charset_string): Doc fix.
5580
52283633 5581 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5582 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5583 error messages.
5584
2b06561a
DL
55852000-10-05 Dave Love <fx@gnu.org>
5586
5587 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5588 position like menu-bar.
5589
ca839c85
GM
55902000-10-05 Gerd Moellmann <gerd@gnu.org>
5591
5592 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5593
5594 * xdisp.c (handle_single_display_prop): Use safe_call1.
5595 (safe_call): Renamed from call_function.
5596 (safe_call1): New function.
5597 (handle_fontified_prop): Use safe_call1 instead of call1.
5598 (safe_eval): Renamed from eval_form.
5599 (safe_eval_handler): Renamed from eval_handler.
5600 (handle_single_display_prop, display_mode_element): Use safe_eval
5601 instead of eval_form.
5602
5603 * xfaces.c (merge_face_heights): Use safe_call instead of
5604 call_function.
5605
5606 * keyboard.c (show_help_echo): Use safe_call instead of
5607 call_function; use safe_eval instead of eval_form.
5608
5609 * lisp.h (safe_call): Renamed from call_function.
5610 (safe_eval): Renamed from eval_form.
5611 (safe_call1): Add prototype.
5612
a3489ece
MB
56132000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5614
5615 * xfns.c (image_ascent): Rearrange ascent calculation for the
5616 has-a-font case.
5617
35810b6f
SM
56182000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5619
5620 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5621 (where_is_internal_1): Don't bother ignoring menu-items any more.
5622
3dc78168
GM
56232000-10-04 Gerd Moellmann <gerd@gnu.org>
5624
5625 * keyboard.c (update_menu_bindings): New variable.
5626 (parse_menu_item): Use AREF. If update_menu_bindings
5627 is 0, don't update menu bindings.
5628 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5629
1efc2bb9
EZ
56302000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5631
5632 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5633 to `mark_object'.
5634
3f679f55
SM
56352000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5636
5637 * syntax.c (forw_comment): Match nestedness of ender/starter.
5638 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5639 (prev_char_comstart_first): Remove.
5640 (back_comment): Check two-char comment markers more carefully
5641 to better handle overlapping cases like *//* or /* */* */ ...
5642 Match nestedness of ender/starter.
5643
2021ab61
DL
56442000-10-02 Dave Love <fx@gnu.org>
5645
5646 * config.in (HAVE_GAI_STRERROR): Add undef.
5647
5648 * process.c (Fopen_network_stream): Use it.
5649
5650 * m/alpha.h (NO_REMAP): Don't define.
5651
64e6cc18
GM
56522000-10-02 Gerd Moellmann <gerd@gnu.org>
5653
5654 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5655 return with a string converted to an integer or vice versa when
5656 Vmocklisp_arguments is t.
5657 (Fsignal): Likewise. The function can return for `quit'.
5658 (struct gcpro): Declare member `var' to point to a volatile
5659 Lisp_Object.
5660
5661 * eval.c (error): Prevent compiler warning.
5662
b1904cd9
SM
56632000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5664
5665 * keymap.c (keymap_memberp): New function.
5666 (Fset_keymap_parent): Use it.
5667 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5668 Use keymap_memberp to avoid creating cycles.
5669 (access_keymap): Use KEYMAPP.
5670
71c9ec51
GM
56712000-09-30 Gerd Moellmann <gerd@gnu.org>
5672
5673 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5674 gai_strerror. Make sure xerrno is set if connect fails. Improve
5675 error recovery.
71c9ec51 5676
c70c6b58
JR
56772000-09-29 Jason Rumney <jasonr@gnu.org>
5678
5679 * w32term.c (w32_char_font_type, w32_encode_char)
5680 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5681 (w32_bdf_per_char_metric): New function.
5682 (w32_per_char_metric): Use it.
5683 (x_draw_glyph_string_background): Always draw background for BDF
5684 glyphs.
5685
5686 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5687 GDI object which is a scarce resource.
5688
5689 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5690 (get_quoted_string): Fix limit on memchr search.
5691 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5692 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5693 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5694 (get_cached_font_char, cache_char_offset): Use macro
5695 BDF_CODEPOINT_RANGE_COVER_P.
5696 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5697 (clear_cached_bitmap_slots): New function.
5698 (GET_HEX_VALUE): G-Z, g-z are not hex.
5699 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5700 (get_bitmap_with_cache): Use new cache implementation.
5701 (create_offscreen_bitmap): New function.
5702 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5703
5704 * w32term.c (x_produce_glyphs): If the distance from the current
5705 position to the next tab stop is less than a canonical character
5706 width, use the tab stop after that.
5707 (x_draw_glyphs): Handle case START and END are out of bounds more
5708 carefully.
5709 (x_clear_mouse_face): Block/unblock input.
5710 (x_display_and_set_cursor): Don't show a hollow box cursor for
5711 buffers whose cursor_type is nil.
5712
fe01239f
GM
57132000-09-29 Gerd Moellmann <gerd@gnu.org>
5714
52283633 5715 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5716
5717 * dispextern.h (updating_frame): Declare extern.
5718
e7c52f1f
AS
57192000-09-29 Andreas Schwab <schwab@suse.de>
5720
5721 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5722
de6e1f7c
GM
57232000-09-29 Gerd Moellmann <gerd@gnu.org>
5724
25126faa
GM
5725 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5726 use its function definition.
5727 (tool_bar_items): Likewise.
5728
de6e1f7c 5729 * lisp.h (fatal): Declare NO_RETURN.
52283633 5730
454ee39b
KH
57312000-09-29 Kenichi Handa <handa@etl.go.jp>
5732
5733 * keymap.c: Remove the line "#undef NULL".
5734
96301c5f
GM
57352000-09-28 Gerd Moellmann <gerd@gnu.org>
5736
52283633 5737 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5738
efffeeb4
DL
57392000-09-28 Dave Love <fx@gnu.org>
5740
ecb8b666
DL
5741 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5742
dc3cd20f
DL
5743 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5744
5745 * .gdbinit (xreload): Note its need on GNU/Linux.
5746
efffeeb4
DL
5747 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5748 r_alloc, r_alloc_free.
5749
8610d903
KH
57502000-09-28 Kenichi Handa <handa@etl.go.jp>
5751
5752 * syntax.c (skip_chars): Handle negation correctly.
5753
8901d1ac
GM
57542000-09-27 Gerd Moellmann <gerd@gnu.org>
5755
6f22f1ad
GM
5756 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5757 with non-zero FORCE_P argument.
5758
52283633 5759 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5760 Add assertions.
5761
5762 * xdisp.c (window_box_height): Add an assertion.
5763
5764 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5765 tool-bar than is available.
5766 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5767
36f1966f
DL
57682000-09-27 Dave Love <fx@gnu.org>
5769
efffeeb4 5770 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5771
31d929e5
GM
57722000-09-26 Gerd Moellmann <gerd@gnu.org>
5773
c98863bf
GM
5774 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5775 instead of BITS_PER_INT.
5776 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5777 EMACS_UINT, respectively.
5778 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5779
5780 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5781
5782 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5783
77072ab1
GM
5784 * window.c (freeze_window_starts): Construct last argument for
5785 foreach_window differently.
5786
5787 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5788
5789 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5790 EMACS_UINT instead of `int' and `unsigned int'.
5791 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5792
5793 * frame.h (struct frame): Make the `nothing' member of union
5794 output_data an EMACS_INT.
5795
52283633 5796 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5797 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5798 size in the sdata structure.
5799 (SDATA_NBYTES, SDATA_DATA): New macros.
5800 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5801 differently for the different layout of the sdata structure.
5802 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5803 in sdata.
5804 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5805 Check that size recorded in the string size and size recorded in
5806 the sdata structure agree.
5807
3e60b029
DL
58082000-09-25 Dave Love <fx@gnu.org>
5809
5810 * buffer.c: Include stdio.h.
5811
5812 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5813
3e60b029
DL
5814 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5815
5816 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5817 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5818 (__malloc_extra_blocks): Declare as __malloc_size_t.
5819
8ff16b4e
GM
58202000-09-25 Gerd Moellmann <gerd@gnu.org>
5821
755a2ccd
GM
5822 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5823
d8b4516f
GM
5824 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5825 (read_char): If help-echo is showing, preserve the echo area
5826 when redisplaying.
5827
5828 * xdisp.c (help_echo_showing_p): New variable.
5829 (set_message): Reset it to 0.
5830 (init_xdisp): Initialize help_echo_showing_p.
5831
5832 * dispextern.h (help_echo_showing_p): Declare extern.
5833
5834 * config.in: Fix typo in __GNUC_MINOR__.
5835
5836 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5837
b11af2dd
GM
5838 * s/freebsd.h (POSIX_SIGNALS): Define.
5839
8ff16b4e
GM
5840 * xterm.c (x_clear_mouse_face): Block/unblock input.
5841
844eb643
DL
58422000-09-24 Dave Love <fx@gnu.org>
5843
5844 * fns.c (base64_encode_1): Fix last change.
5845
b30ab1b3
GM
58462000-09-22 Gerd Moellmann <gerd@gnu.org>
5847
5848 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5849
5850 * xdisp.c (try_window_reusing_current_matrix): More fixes
5851 for the case window has a header-line.
5852
c6cbe5f0
DL
58532000-09-22 Dave Love <fx@gnu.org>
5854
4c7c1f3f
DL
5855 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5856 a doc string.
5857
5858 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5859
c6cbe5f0
DL
5860 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5861
550a625e
GM
58622000-09-21 Gerd Moellmann <gerd@gnu.org>
5863
4c7c1f3f 5864 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5865 for GCC >= 2.5.
5866
52283633
SM
5867 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5868 Declare NO_RETURN.
fca99116 5869
80d26f99
GM
5870 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5871 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5872 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5873 warnings.
52283633 5874
80d26f99
GM
5875 * marker.c (byte_char_debug_check): Return void.
5876
623a0aae
GM
5877 * xfns.c (Fx_create_frame): Set default frame parameter value
5878 for tool-bar-lines to 1.
5879
5880 * dispnew.c (scrolling_window): Compare y-positions of rows
5881 equal at the start. Some simplification.
5882
5883 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5884 reused rows' y-position in the case window has a header-line, and
5885 new window start is greater than old window start.
5886
42ac0ae5
GM
5887 * process.c (process_sent_to): New variable.
5888 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5889 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5890 Declare more parameters volatile.
5891
550a625e
GM
5892 * lread.c (Vrecursive_load_depth_limit): New variable.
5893 (Fload): Check recursive loads whose recursion depth exceeds
5894 Vrecursive_load_depth_limit.
5895 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5896
8320414c
GM
58972000-09-20 Gerd Moellmann <gerd@gnu.org>
5898
f46c275e
GM
5899 * fileio.c (Fread_file_name): Doc fix.
5900
5901 * editfns.c (Fmessage_or_box): Doc fix.
5902
5903 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5904
b7e11c5b 5905 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5906
8320414c
GM
5907 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5908 symbols are specified, add color translations to the cache.
52283633 5909 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5910 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5911 xpm_cache_color.
5912 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5913 structures to xpm_init_color_cache.
5914
da1608d9
GM
59152000-09-19 Gerd Moellmann <gerd@gnu.org>
5916
52283633 5917 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5918
6badfa25
AI
59192000-09-19 Andrew Innes <andrewi@gnu.org>
5920
5921 * makefile.nt (bootstrap-emacs): Don't change directory.
5922
3a5f42bb
KH
59232000-09-19 Kenichi Handa <handa@etl.go.jp>
5924
1b7649bd
KH
5925 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5926
3a5f42bb
KH
5927 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5928 If output buffer is too small, signal an appropriated error.
5929
9f83cf0b
DL
59302000-09-18 Dave Love <fx@gnu.org>
5931
52283633 5932 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5933 (current_active_maps): Remove redundant get_local_map call.
5934
28c7826c
GM
59352000-09-18 Gerd Moellmann <gerd@gnu.org>
5936
5cefa566
GM
5937 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5938 cursor for buffers whose cursor_type is nil.
52283633 5939
6fed3546
GM
5940 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5941 a feature to implement that is already implemented.
5942 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5943 warnings.
5944
5945 * xfns.c (x_clear_image_1): New function.
5946 (x_clear_image): Use it.
52283633 5947 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5948
05b1f851
GM
5949 * dispnew.c (update_window): Move test for invisible lines
5950 at the top to update_window_line.
5951 (update_window_line): Handle invisible lines here.
5952
f4779de9
GM
5953 * xfns.c (clear_image_cache): Clear current matrices of all
5954 frames sharing an image cache. Block input while freeing
5955 images. Fix timestamp comparison.
5956 (x_clear_image): Also free the mask.
5957
28c7826c
GM
5958 * xfns.c (lookup_image): Block input while loading the image so
5959 that we won't get interrupted in a state where the image isn't yet
5960 set up completely.
5961 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5962 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5963 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5964 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5965
b7412313
GM
59662000-09-16 Gerd Moellmann <gerd@gnu.org>
5967
5968 * dispnew.c (update_window): Make sure to make desired rows
5969 current even if they are completely invisible at the top
5970 of a window.
5971
47e351a3
GM
59722000-09-15 Gerd Moellmann <gerd@gnu.org>
5973
7f8f1edc
GM
5974 * xfns.c (lookup_image): Build mask before applying an algorithm.
5975 Recognize algorithm `disabled'.
5976 (cross_disabled_images): New variable.
5977 (COLOR_INTENSITY): New macro.
5978 (x_detect_edges): Use COLOR_INTENSITY.
5979 (x_disable_image): New function.
5980 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5981
5982 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5983 disabled state, don't apply an image transformation algorithm if
5984 the user specified an image for the disabled state. Use
28c7826c 5985 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5986 user hasn't specified an image.
5987
ebb8f116
GM
5988 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5989 allocation functions with the XPM lib.
5990 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5991 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5992 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5993 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5994 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5995 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5996 functions, if possible, because these handle color allocation
5997 failure more gracefully.
5998 (Fimage_mask_p): New function.
5999
47e351a3
GM
6000 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6001 (Qedge_detection, Qheuristic): New symbols.
6002 (syms_of_xfns): Initialize new symbols.
6003 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6004 `algorithm (edge-detection ...)'.
6005 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6006 (tiff_format, gif_format, gs_format): Add `:mask'.
6007 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6008 (GIF_MASK, GS_MASK): New enumerators.
6009 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6010 (emboss_matrix, laplace_matrix): New variables.
6011 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6012 (x_edge_detection): New functions.
6013 (x_laplace): Rewritten in terms of x_detect_edges.
6014 (x_build_heuristic_mask): If image has a mask, free it.
6015
fe83b953
AI
60162000-09-14 Andrew Innes <andrewi@gnu.org>
6017
6018 * makefile.w32-in: Revert to Unix line endings.
6019
3021e816
AI
60202000-09-14 Andrew Innes <andrewi@gnu.org>
6021
6022 * makefile.w32-in: Standardize indentation somewhat.
6023 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6024 cater for differences between shells.
6025
6026 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6027
2a32b5ea
GM
60282000-09-14 Gerd Moellmann <gerd@gnu.org>
6029
6030 * xterm.c (x_produce_glyphs): If the distance from the current
6031 position to the next tab stop is less than a canonical character
6032 width, use the tab stop after that.
6033
b4331e96
DL
60342000-09-14 Dave Love <fx@gnu.org>
6035
6036 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6037
ef9e4345
GM
60382000-09-14 Gerd Moellmann <gerd@gnu.org>
6039
085536c2
GM
6040 * xdisp.c (handle_fontified_prop): While running fontification
6041 functions, bind `fontification-functions' and
6042 `after-change-functions' to nil.
6043
ef9e4345
GM
6044 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6045 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6046
6047 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6048
6049 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6050 USE_MMAP_FOR_BUFFERS.
6051
6052 * insdel.c (make_gap): Use enlarge_buffer_text.
6053
6054 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6055 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6056 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6057 from former r_alloc_* functions in ralloc.c.
52283633 6058 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6059 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6060 (mmap_init) [REL_ALLOC_MMAP]: New function.
6061 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6062 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6063 BUFFER_FREE.
6064
6065 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6066 (enlarge_buffer_text): Add prototype.
6067
6068 * ralloc.c: Remove everything having to do with the use of mmap.
6069
f8608968
GM
60702000-09-13 Gerd Moellmann <gerd@gnu.org>
6071
2a494b2d
GM
6072 * sound.c (Fplay_sound): Doc fix.
6073
8c907a56
GM
6074 * keyboard.c: Avoid some more compiler warnings.
6075 (parse_tool_bar_item): Ignore cached key bindings.
6076
f8608968
GM
6077 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6078 and allocation of Lisp data.
6079
6ab70e9a
GM
60802000-09-12 Gerd Moellmann <gerd@gnu.org>
6081
d12d0a9b
GM
6082 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6083 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6084 defaults first.
6085
6ab70e9a
GM
6086 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6087
63c36c3c
KH
60882000-09-12 Miyashita Hisashi <himi@meadowy.org>
6089
6090 * ccl.c: Comment fixed.
6091 (MAX_MAP_SET_LEVEL): Increased to 30.
6092 (PUSH_MAPPING_STACK): Enclose with do-while block.
6093 (POP_MAPPING_STACK): Likewise.
6094 (stack_idx_of_map_multiple): New variable.
6095 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6096 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6097 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6098 (ccl_driver) <CCL_MapSingle>: Likewise.
6099 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6100 with the case where looking up process reaches to the end of
6101 map-set, and call CCL programs as the above change.
6102
7ee3bd7b
GM
61032000-09-11 Gerd Moellmann <gerd@gnu.org>
6104
8ec8a5ec
GM
6105 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6106 that might be clobbered by longjmp.
6107 (check_x_display_info, x_decode_color, create_frame_xic)
6108 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6109 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6110
f74b0705
GM
6111 * lread.c (init_lread): Set Vloads_in_progress to nil.
6112 (Fload): Show list of recursively loaded files, when signaling an
6113 error.
6114
7ee3bd7b
GM
6115 * lread.c (Vloads_in_progress): New variable.
6116 (record_load_unwind): New function.
6117 (Fload): Check for recursive loads.
6118 (syms_of_lread): Initialize Vloads_in_progress.
6119 (read_integer, read1): Avoid some compiler warnings.
6120
6121 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6122 compiler warnings.
6123
974e1e5b
MB
61242000-09-11 Miles Bader <miles@gnu.org>
6125
6126 * editfns.c (Fbuffer_string): Doc fix.
6127
9824c4e3
GM
61282000-09-10 Gerd Moellmann <gerd@gnu.org>
6129
6130 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6131
6a72fdd1
KR
61322000-09-09 Ken Raeburn <raeburn@gnu.org>
6133
6134 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6135 whether to include other header files.
6136
28e6fb66
GM
61372000-09-09 Gerd Moellmann <gerd@gnu.org>
6138
52283633 6139 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6140 by Fmemq as a boolean.
28e6fb66 6141
7f8b6551
SM
61422000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6143
6144 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6145
a8710abf
GM
61462000-09-08 Gerd Moellmann <gerd@gnu.org>
6147
d1a02881
GM
6148 * ralloc.c (mmap_fd): Remove initializer which can make it
6149 read-only in a dumped Emacs.
6150 (mmap_fd_1): New variable.
6151 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6152 restore it from there.
6153 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6154 unconditionally so that mmap_fd can be initialized there.
6155 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6156 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6157 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6158
c454aac1
GM
6159 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6160
6161 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6162 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6163
fc653ef2
GM
6164 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6165
3015eec0
GM
6166 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6167 inheritance.
6168
bfe0ee88
GM
6169 * xdisp.c (try_window_id): When trying to locate cursor in
6170 unchanged rows at the top, handle the case that we can't find it.
6171
a8710abf
GM
6172 * xterm.c (x_draw_glyphs): Handle case START and END are out
6173 of bounds more carefully.
6174
6b7d4ae4
DL
61752000-09-08 Dave Love <fx@gnu.org>
6176
423193c5
DL
6177 * s/sol2.h (REL_ALLOC_MMAP): Define.
6178 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6179
6180 * ralloc.c: Don't include string.h (redundant).
6181 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6182 [!MAP_ANON]: Include fcntl.h.
6183 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6184 (r_alloc, r_re_alloc, r_alloc_free)
6185 (mmap_enlarge, mmap_set_vars): Use it.
6186 (r_alloc_init_fd): New function.
6187 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6188 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6189 malloc type.
6190
6191 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6192 Remove vm-limit.o.
6193
6b7d4ae4
DL
6194 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6195 change to __NetBSD__.
6196
44d31981
KH
61972000-09-08 Kenichi Handa <handa@etl.go.jp>
6198
6199 * search.c (compile_pattern): Check the multibyteness of cached
6200 string and PATTERN.
6201
aad40737
MB
62022000-09-08 Miles Bader <miles@gnu.org>
6203
6204 * xfaces.c (default_face_vector): Function removed.
6205 (Finternal_merge_in_global_face): Restore old global/local
6206 attribute override order. Use inline loop instead of calling
6207 default_face_vector.
6208
91a211b5
GM
62092000-09-07 Gerd Moellmann <gerd@gnu.org>
6210
6211 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6212 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6213 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6214 where necessary, in case POINTER_TYPE is `void'.
6215
03419440
EZ
62162000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6217
6218 * frame.c (make_terminal_frame): Initialize frame foreground and
6219 background colors to unspecified, for the initial instance of an
6220 MSDOS frame.
6221
f46f845b
GM
62222000-09-07 Gerd Moellmann <gerd@gnu.org>
6223
24f76fbf
GM
6224 * ralloc.c (mmap_find): Fix overlap computation.
6225 (mmap_enlarge): Compute nbytes before trying to find an
6226 overlapping region.
6227
f46f845b
GM
6228 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6229 instead of `!='.
6230
6231 * lread.c (syms_of_lread): Change value of regexp
6232 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6233
6234 * xmenu.c (xdialog_show): When looking up the selection in
6235 menu_items, take `quote' boundaries into account; this corresponds
6236 to a nil ITEM in x-popup-dialog.
6237
3c014385
KH
62382000-09-07 Kenichi Handa <handa@etl.go.jp>
6239
fd6f711b
KH
6240 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6241 not 0x81.
6242 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6243
3c014385 6244 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6245 encoding, not decoding. Fix the handling of latin-jisx0201.
6246 Check for the charset katakana-jisx0201 too.
3c014385 6247 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6248 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6249
0da3ecef
GM
62502000-09-07 Gerd Moellmann <gerd@gnu.org>
6251
ab0ee409
GM
6252 * xfaces.c (Vparam_value_alist): New variable.
6253 (syms_of_xfaces): Initialize it.
6254 (Finternal_set_lisp_face_attribute): Avoid more consing.
6255
6256 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6257 specially.
6258 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6259 (Qbackground_mode): New variable.
6260 (syms_of_frame_1): Initialize Qbackground_mode.
6261
6262 * lisp.h (Qdisplay): Declare extern.
1091dd67 6263
0da3ecef
GM
6264 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6265 change face on all frames, and change the default for new frames.
6266
b14654b9
DL
62672000-09-07 Dave Love <fx@gnu.org>
6268
6269 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6270
d24fd56f
KH
62712000-09-07 Kenichi Handa <handa@etl.go.jp>
6272
794f3670
KH
6273 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6274
0fddd0dc
KH
6275 * charset.c: Include composite.h
6276 (lisp_string_width): New function.
6277 (Fstring_width): Call lisp_string_width instead of strwidth.
6278
6279 * Makefile.in (charset.o): Depends on composite.h.
6280
d24fd56f
KH
6281 * process.c (read_process_output): Before inserting the decoded
6282 text in the buffer, adjust the multibyteness.
6283
fa0b693c
GM
62842000-09-06 Gerd Moellmann <gerd@gnu.org>
6285
52283633 6286 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6287 buffer's text buffer is null, map new memory.
6288
0a58f946
GM
6289 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6290 POINTER_TYPE and size_t.
6291 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6292 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6293 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6294 [REL_ALLOC_MMAP]: New macros.
6295 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6296 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6297 [REL_ALLOC_MMAP]: New functions.
6298
6299 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6300 before and after unexec.
6301
6302 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6303 text buffers if necessary.
6304
6305 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6306 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6307 in prototypes.
6308
fa0b693c
GM
6309 * config.in (HAVE_MMAP): Add #undef.
6310
877055f6
GM
63112000-09-05 Gerd Moellmann <gerd@gnu.org>
6312
08ba3862
GM
6313 * frame.c (Qdisplay_type): New variable.
6314 (syms_of_frame_1): Initialize it.
6315 (Fframe_parameter): New function that avoids consing.
6316 (syms_of_frame): Defsubr it.
6317
66ffe51c
GM
6318 * buffer.c (Fother_buffer): Consider buffers as invisible when
6319 they are displayed in a window on an invisible frame.
6320
877055f6
GM
6321 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6322 get-largest-window always return nil.
6323
bb970e67
GM
63242000-09-04 Gerd Moellmann <gerd@gnu.org>
6325
6326 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6327 variable; recognize Emacs 19 elc files.
6328
7a3d0e0e
MB
63292000-09-04 Miles Bader <miles@gnu.org>
6330
6331 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6332 before initially popping up the menu, so the menu doesn't flash
52283633 6333 when the face settings are significantly different from the defaults.
7a3d0e0e 6334
14473664
SM
63352000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6336
6337 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6338 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6339 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6340 (BIT_UNIBYTE): Remove.
6341 (re_match_2_internal): Delete corresponding code and streamline the
6342 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6343 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6344 (re_wctype_t): New type.
6345 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6346 (regex_compile): Use them and fix handling of overly long char classes.
6347
c1174479
AI
63482000-09-03 Andrew Innes <andrewi@gnu.org>
6349
f8803e97
AI
6350 * makefile.w32-in: Change to DOS line endings.
6351
c1174479
AI
6352 * s/ms-w32.h (ORDINARY_LINK): New define.
6353
6354 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6355 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6356
6357 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6358 (distclean): Delete them here instead.
6359
44ef7cf6
AI
6360 * w32proc.c (compare_env): Convert to uppercase for comparison,
6361 not lowercase, to match how the native Windows shell works.
6362
49b3bd82
JR
63632000-09-03 Jason Rumney <jasonr@gnu.org>
6364
6365 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6366 CVS changes the line-ends when checking in/out on DOS/Windows.
6367
6368 * makefile.nt (emacs): Do not change directory to run temacs, as
6369 the load-path is set relative to current directory.
6370
a3d35a39
MB
63712000-09-03 Miles Bader <miles@gnu.org>
6372
6373 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6374
d276b0cf
GM
63752000-09-02 Gerd Moellmann <gerd@gnu.org>
6376
715e84c9
GM
6377 * xdisp.c (redisplay_mode_lines): New function.
6378 (display_mode_lines): Return number of mode lines displayed.
6379 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6380 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6381
8892f40b
GM
6382 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6383 string.h and strings.h.
6384 (index) [HAVE_INDEX]: Add prototype.
6385
d276b0cf
GM
6386 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6387 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6388
6389 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6390 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6391
38404229
GM
63922000-09-01 Gerd Moellmann <gerd@gnu.org>
6393
6394 * lread.c (read1): Accept `?' as symbol constituent, for
6395 compatiblity with XEmacs.
6396
c0f9ea08
SM
63972000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6398
6399 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6400 (struct re_pattern_buffer): Remove newline_anchor.
6401 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6402 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6403 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6404 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6405 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6406 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6407 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6408 Get rid of references to newline_anchor.
6409 (regcomp): Allocate and precompute a fastmap.
6410
8c0f83fe
GM
64112000-08-31 Gerd Moellmann <gerd@gnu.org>
6412
6413 * lread.c (openp): GCPRO local variable `filename'.
6414
4bb91c68
SM
64152000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6416
6417 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6418
6419 * regex.c: Merge some changes from GNU libc. Add prototypes.
6420 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6421 Use memcmp and memcpy instead of bcopy and bcmp.
6422 (init_syntax_once): Use ISALNUM.
6423 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6424 (REG_UNSET_VALUE): Remove. Use NULL instead.
6425 (REG_UNSET, re_match_2_internal): Use NULL.
6426 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6427 New macros.
6428 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6429 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6430 (regex_compile): In handle_interval, return an error rather than try to
6431 unfetch the interval if we can't find the closing brace.
6432 Obey the RE_NO_GNU_OPS syntax bit.
6433 (TOLOWER): New macro.
6434 (regcomp): Use it.
6435 (regexec): Allocate regs.start and regs.end as one block.
6436
5226a931
GM
64372000-08-30 Gerd Moellmann <gerd@gnu.org>
6438
868dd24b
GM
6439 * xdisp.c (echo_area_display): Check display_completed instead
6440 of calling detect_input_pending.
6441
6442 * dispnew.c (update_frame): Only set display_completed here; move
6443 the update_begin and update_end calls here from update_frame_1.
6444 (update_frame_1): Don't set display_completed here, don't call
6445 update_begin/update_end.
6446
5226a931
GM
6447 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6448 instead of store_frame_param.
6449
2a8bd25f
GM
64502000-08-29 Gerd Moellmann <gerd@gnu.org>
6451
6452 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6453 desired window matrix hasn't been displayed, use the current row
6454 instead. Make sure that only those frame rows are updated for
6455 which there exists a corresponding enabled desired row.
52283633 6456
ba3478d9
MB
64572000-08-29 Miles Bader <miles@gnu.org>
6458
6459 * xfaces.c (default_face_vector): New function.
6460 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6461
87d0f685
GM
64622000-08-29 Gerd Moellmann <gerd@gnu.org>
6463
6464 * lread.c (openp): Prevent temporary string passed to
6465 Ffile_readable_p from being garbage collected.
6466
6fa86045
DL
64672000-08-28 Dave Love <fx@gnu.org>
6468
6469 * keymap.c (store_in_keymap): Add `static' to declaration.
6470
bb17930d
GM
64712000-08-28 Gerd Moellmann <gerd@gnu.org>
6472
6473 * emacs.c, callint.c, doc.c, editfns.c
6474 (toplevel) [HAVE_STRING_H]: Include string.h.
6475 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6476 (index): Remove prototypes which might conflict with non-standard
6477 definitions of index/strchr.
6478
6479 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6480 (rindex): Define only if !HAVE_RINDEX.
6481
6482 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6483
6484 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6485
87188200
MB
64862000-08-28 Miles Bader <miles@gnu.org>
6487
6488 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6489 made inconsistent by a font-related attribute in FROM.
6490 (merge_face_inheritance): Add function comment.
6491
41a68aef
KH
64922000-08-28 Kenichi Handa <handa@etl.go.jp>
6493
6494 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6495 the 4th arg (PREV_EVENT) Qt to suppress input method.
6496
f7c436c1
SM
64972000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6498
0b32bf0e
SM
6499 * regex.c: Indent cpp directives and remove parens after `defined'.
6500 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6501 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6502 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6503 (re_compile_pattern): Use size_t for length.
6504 (init_syntax_once): Move to a better place.
6505 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6506 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6507
f7c436c1
SM
6508 * syntax.c (back_comment): Detect cases where a comment-starter is
6509 actually inside another comment as in: /* a // b */ c // d \n.
6510 Make it clear that `comstart_pos' is unused for nested comments.
6511
6512 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6513 (KEYMAPP): New macro.
6514 (Fkeymap_parent, Fset_keymap_parent): Use it.
6515 (fix_submap_inheritance): Mark it static.
6516 (define_as_prefix, describe_buffer_bindings, describe_command)
6517 (describe_translation, describe_map): Complete prototypes.
6518
6519 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6520
6521 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6522 to better match the key-lookup behavior.
6523
6288c62f
GM
65242000-08-27 Gerd Moellmann <gerd@gnu.org>
6525
6526 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6527 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6528
e931344e
EZ
65292000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6530
6531 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6532 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6533 (xterm.o): Depend on coding.h
6534
d10dfeef
KH
65352000-08-26 Kenichi Handa <handa@etl.go.jp>
6536
6537 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6538 the corresponding '#endif'.
6539
2d73e8d3
MB
65402000-08-26 Miles Bader <miles@gnu.org>
6541
6542 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6543 * xfaces.c (QCinherit): New variable.
6544 (syms_of_xfaces): Initialize it.
6545 (LFACE_INHERIT): New macro.
6546 (Finternal_get_lisp_face_attribute)
52283633 6547 (merge_face_vector_with_property)
2d73e8d3
MB
6548 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6549 (check_lface_attrs): Allow new types of face height. Check
6550 inherit attribute.
6551 (CYCLE_CHECK): New macro.
6552 (merge_face_inheritance): New function.
6553 (merge_face_vectors): Merge inherited faces too. Add F and
6554 CYCLE_CHECK arguments.
6555 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6556 (lookup_named_face, lookup_derived_face, realize_named_face)
6557 (face_at_string_position, face_at_buffer_position): Supply
6558 new F and CYCLE_CHECK arguments to merge_face_vectors.
6559 (merge_face_heights): New function.
52283633 6560 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6561 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6562 handle relative face heights.
6563 (lface_same_font_attributes_p): Compare heights using EQ.
6564
6ce974d4
KH
65652000-08-26 Kenichi Handa <handa@etl.go.jp>
6566
6567 * charset.c (char_to_string): Check the character validity.
52283633 6568 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6569
dc1e502d
SM
65702000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6571
6572 * regex.c (PUSH_FAILURE_COUNT): New macro.
6573 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6574 Handle popping of a register's or a counter's data.
6575 (POP_FAILURE_POINT): Use the new name.
6576 (re_match_2_internal): Push counter data on the stack for succeed_n,
6577 jump_n and set_number_at and remove misleading dead code in succeed_n.
6578
bd9d0f3f
GM
65792000-08-25 Gerd Moellmann <gerd@gnu.org>
6580
6581 * xdisp.c (redisplay_internal): If considering all windows on all
6582 frames, update the display for each frame as soon as possible,
6583 instead of first building all desired matrices for all frames, and
6584 then updating them all.
6585 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6586
aa5b8e15
GM
65872000-08-24 Gerd Moellmann <gerd@gnu.org>
6588
17494071
GM
6589 * bytecode.c (mark_byte_stack): Add a comment.
6590
52283633
SM
6591 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6592 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6593 a graphical frame.
6594
c543db81
KH
65952000-08-24 Kenichi Handa <handa@etl.go.jp>
6596
d246d5f5
KH
6597 * minibuf.c (do_completion): Always use compare-string, not
6598 string-equal because the latter doesn't pay attention to
6599 multibyteness of strings.
6600
c543db81
KH
6601 * process.c (create_process): Don't setup raw-text coding here.
6602 (Fopen_network_stream): Don't set coding->src_multibyte and
6603 coding->dst_multibyte here.
6604 (read_process_output): For process filter, return unibyte string
6605 if default-enable-multibyte-characters is nil.
6606 (send_process): If OBJECT is multibyte text, be sure to encoded it
6607 by the specified coding system for the process. Otherwise, setup
6608 raw-text coding.
52283633 6609 (init_process): Don't initialize default-process-coding-system here.
c543db81 6610
9b47cfe0
EZ
66112000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6612
6613 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6614 <scroll-down-aggressively>: Likewise.
6615
f5a36960
KH
66162000-08-23 Kenichi Handa <handa@etl.go.jp>
6617
6618 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6619 zero. Set coding->produced_char correctly.
6620
69a7ffa7
AI
66212000-08-22 Andrew Innes <andrewi@gnu.org>
6622
6623 * makefile.w32-in: New file.
6624
6625 * unexw32.c (unexec): Ignore old_name, and use the actual location
6626 of the current executable instead. Base new_name on this.
6627
6628 * w32proc.c (create_child): Remove reference to security
6629 descriptor, which isn't needed and doesn't compile with mingw32.
6630
6631 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6632 up dllimport attributes.
6633 (x_update_window_end): Update prototype.
6634
6635 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6636 extern, which screws up dllimport attributes.
6637
6638 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6639 up dllimport attributes.
6640
6641 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6642 screws up dllimport attributes.
6643
6644 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6645 up dllimport attributes.
6646 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6647 screws up dllimport attributes.
6648
6649 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6650 up dllimport attributes.
6651
6652 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6653 screws up dllimport attributes.
6654
6655 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6656 screws up dllimport attributes.
6657
6658 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6659 up dllimport attributes.
6660
6661 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6662 unnecessary extern, which screws up dllimport attributes.
6663 (main): Ditto.
6664
6665 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6666 up dllimport attributes.
6667
6668 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6669 unnecessary extern, which screws up dllimport attributes.
6670
6671 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6672 screws up dllimport attributes.
6673
6674 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6675 up dllimport attributes.
6676
6677 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6678
52283633
SM
6679 * w32bdf.c (search_file_line):
6680 (set_bdf_font_info):
6681 (seek_char):
6682 (w32_get_bdf_glyph):
69a7ffa7
AI
6683 (w32_BDF_to_x_font): Fix compile warnings.
6684
52283633 6685 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6686
6687 * w32select.c: Include keyboard.h before frame.h.
6688
6689 * w32fns.c (max): Define macro.
6690 (JOHAB_CHARSET): Define if not known.
6691 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6692 (Fx_show_tip): Synch with X version.
6693
6694 * w32xfns.c: Include keyboard.h before frame.h.
6695
6696 * w32fns.c: Include keyboard.h before frame.h.
6697
6698 * w32term.c: Include keyboard.h before frame.h.
6699
6700 * fontset.c: Include keyboard.h before frame.h.
6701
6702 * w32inevt.c: Include keyboard.h before frame.h.
6703 (MOUSE_MOVED): Define if not known.
6704
6705 * minibuf.c: Include keyboard.h before frame.h.
6706
6707 * keyboard.c: Include keyboard.h before frame.h.
6708
6709 * indent.c: Include keyboard.h before frame.h.
6710
6711 * dispnew.c: Include keyboard.h before frame.h.
6712
6713 * buffer.c: Include keyboard.h before frame.h.
6714
6715 * alloc.c: Include keyboard.h before frame.h.
6716
6717 * print.c: Include keyboard.h before frame.h.
6718
6719 * process.c: Include keyboard.h before frame.h.
6720
6721 * scroll.c: Include keyboard.h before frame.h.
6722
6723 * sysdep.c: Include keyboard.h before frame.h.
6724
6725 * term.c: Include keyboard.h before frame.h.
6726
6727 * window.c: Include keyboard.h before frame.h.
6728
6729 * xdisp.c: Include keyboard.h before frame.h.
6730 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6731
6732 * frame.c: Include keyboard.h before frame.h.
6733
6734 * w32heap.h: Undefine min, max.
6735
6736 * w32gui.h: Undefine min, max.
6737
6738 * unexw32.c: Change PUCHAR to PCHAR.
6739 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6740 (relocate_offset):
6741 (get_section_info):
69a7ffa7
AI
6742 (copy_executable_and_dump_data): Remove unnecessary static defs.
6743 (copy_executable_and_dump_data): Fix compile warnings.
6744
6745 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6746
6747 * w32console.c (min): Define macro.
6748 (clear_frame, write_glyphs): Fix compile warning.
6749
52283633 6750 * w32proc.c (compare_env):
69a7ffa7
AI
6751 (find_child_console): Fix compile warning.
6752
6753 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6754 sys_errlist instead of _sys_errlist.
6755 (get_emacs_configuration_options): New function.
6756
6757 * s/ms-w32.h (sys_nerr): Provide default definition.
6758 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6759 name with _ prepended.
6760 (NSIG): Define if not known.
6761 (get_emacs_configuration): Provide extern declaration.
6762 (get_emacs_configuration_options): Provide extern declaration.
6763 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6764
6765 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6766 (map_w32_filename):
69a7ffa7
AI
6767 (read_unc_volume): Fix compile warning.
6768
6769 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6770 definitions from being used.
6771
6772 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6773
52283633 6774 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6775 (open_unc_volume): Make arg const.
6776
6777 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6778 (read_input_waiting): Remove excess parameter.
6779
6780 * w32.c (init_environment): Call _access.
6781 (check_windows_init_file): Call _close.
6782 (init_user_info): Call _putenv.
6783 (init_environment): Call _putenv and _strdup.
6784 (init_ntproc): Reset volume info cache on startup.
6785
6786 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6787 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6788 cannot override the CRT malloc.
6789
6790 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6791 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6792
6793 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6794 unless we are linking with a static CRT.
6795 (RVA_TO_PTR): Cast result to unsigned char*.
6796
6797 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6798 (add_volume_info): Use xstrdup.
6799
25060080
SM
68002000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6801
6802 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6803 (do_completion, Fminibuffer_complete_word): Use it.
6804 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6805 var so it can take non-boolean values.
6806
6917e6bb
GM
68072000-08-21 Gerd Moellmann <gerd@gnu.org>
6808
acb7cc89 6809 * editfns.c (find_field): Formatting changes.
52283633 6810 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6811 changed to prototypes, some new protypes added, some functions
6812 made static.
6813
6814 * lisp.h (set_time_zone_rule): Add prototype.
6815 (use_dialog_box): External declaration.
6816
0bbfdc25
GM
6817 * keyboard.c (gen_help_event): Add parameter SIZE.
6818 (kbd_buffer_events_waiting): Slightly rewritten.
6819 (clear_event): New function.
6820 (kbd_buffer_get_event): Use it, and clear the input_events of
6821 HELP_EVENTs.
6822 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6823 don't fill the newly created array with nils.
6824 (toplevel): Convert some old-style function forward declarations
6825 to prototypes.
6826
6827 * keyboard.h (gen_help_event): Change prototype.
6828
6829 * xterm.c (XTread_socket): Change calls to gen_help_event.
6830
6831 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6832
6917e6bb
GM
6833 * eval.c (Fmacroexpand): Doc fix.
6834
e5cd3d11
JR
68352000-08-20 Jason Rumney <jasonr@gnu.org>
6836
6837 * w32term.h (x_display_info_for_display): Remove as this function
6838 does not exist on W32.
6839
6840 * w32term.c (help_echo_window): New variable.
6841 (syms_of_w32term): staticpro it.
6842 (note_mode_line_highlight): Set it.
6843 (XTextExtents16): Removed as there is no equivalent on W32.
6844 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6845 the X way of doing this will not work for W32.
6846 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6847 (x_draw_image_foreground): Avoid drawing outside of the clip area
6848 when image doesn't have a mask.
6849 (note_mouse_highlight): Process overlays in the right order of
6850 priority. Set help_echo_window.
6851 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6852 because that's more visible for large images.
6853
6854 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6855 name to single_keymap_panes.
6856 (w32_menu_show): Set wv->title when dealing with titles.
6857 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6858
6e69ab8c
MB
68592000-08-21 Miles Bader <miles@gnu.org>
6860
6861 * minibuf.c (do_completion): Try again if we rewrite the input
6862 string, but no completion was done, so that any completion message
6863 will be correct.
6864
511bd4eb
GM
68652000-08-20 Gerd Moellmann <gerd@gnu.org>
6866
6867 * xfaces.c (lface_equal_p): Compare strings differently.
6868 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6869 (realize_tty_face): Use them.
6870 (syms_of_xfaces): Initialize new variables.
6871 (map_tty_color): New function, extracted from realize_tty_face.
6872 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6873 foreground or background color, store the new color name in the
6874 realized face; previous code trying to do this had no effect.
6875 (realize_tty_face): Use map_tty_color.
6876 (Fclear_face_cache): Set face_change_count and ensure thorough
6877 redisplay.
6878
1433385f
GM
68792000-08-19 Gerd Moellmann <gerd@gnu.org>
6880
511bd4eb
GM
6881 * undo.c (record_first_change, record_marker_adjustment): Don't
6882 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6883
419ac0a2
KH
68842000-08-18 Kenichi Handa <handa@etl.go.jp>
6885
6886 * coding.c (decode_coding_string): Set members consumed,
6887 consumed_char, produced, produced_char of *coding correctly. If
6888 decode_coding doesn't consume any byte, don't try anymore.
6889 (encode_coding_string): Likewise.
6890
7eb9e30d
GM
68912000-08-18 Gerd Moellmann <gerd@gnu.org>
6892
511bd4eb
GM
6893 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6894 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6895
6896 * xdisp.c (redisplay_internal): Compare windows for equality with
6897 EQ, instead of applying XWINDOW to something that might not
6898 be a window.
52283633 6899
dd34a735
KH
69002000-08-18 Kenichi Handa <handa@etl.go.jp>
6901
6902 * fontset.c (Finternal_char_font): Search only the selected frame
6903 for a window of the current buffer.
6904
385ff9e3
GM
69052000-08-18 Gerd Moellmann <gerd@gnu.org>
6906
511bd4eb 6907 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6908 Lisp_Objects.
6909
385ff9e3
GM
6910 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6911 second half of a HELP_EVENT is found at the start of kbd_buffer.
6912
d6abb4c7
MB
69132000-08-18 Miles Bader <miles@gnu.org>
6914
4618074a
MB
6915 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6916
d6abb4c7
MB
6917 * editfns.c (save_restriction_save): Rewrite to use markers.
6918 (save_restriction_restore): Rewrite to understand new form of data
6919 saved by save_restriction_save.
6920 (Fsave_restriction): Remove cautionary note in doc-string.
6921
a7b28523
GM
69222000-08-17 Gerd Moellmann <gerd@gnu.org>
6923
6924 * fileio.c (build_annotations): Add a comment explaining the
6925 return value of format-annotate-function. Replace a spurious call
6926 to Flength with a CONSP test. Call format-annotate-function with
6927 a fifth arg specifying how many times the function is been called
6928 in a row, to let it choose temporary buffers appropriately.
6929
03c9ed77
DL
69302000-08-17 Dave Love <fx@gnu.org>
6931
6932 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6933 declare make_temp_name twice.
6934
52283633 6935 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6936 (unreadpure): Give it an arg.
6937
6938 * unexalpha.c: Prototype fatal_unexec, mark_x,
6939 update_dynamic_symbols. Declare unexec as void.
6940
6941 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6942 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6943
6944 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6945 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6946
6947 * alloca.c: Use #error.
6948 [POINTER_TYPE]: Use it.
6949
6950 * eval.c (Fdefvar): Doc fix.
6951
6952 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6953 INITIALIZE_INTERVAL.
6954
6955 * buffer.h: Avoid DECLARE_INTERVALS.
6956
6957 * config.in: Add size_t.
6958
aae41d97
EZ
69592000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6960
6961 * w16select.c (set_clipboard_data): If there's not enough memory
6962 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6963 expects. In case of other failures, return 3.
6964 (system_error_msg): New error message.
6965 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6966 system_error_msg.
6967
65aa5e85
GM
69682000-08-16 Gerd Moellmann <gerd@gnu.org>
6969
6970 * term.c (write_glyphs): Also turn off inverse video after turning
6971 off other appearances in case TS_exit_attribute_mode is not equal
6972 to TS_end_standout_mode.
6973 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6974 with the same face.
6975 (turn_off_face): Reset standout_mode only if
6976 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6977 is equal to TS_end_standout_mode.
6978
ece23901
KH
69792000-08-16 Kenichi Handa <handa@etl.go.jp>
6980
9d7bcb2e
KH
6981 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6982 sequence at the end of the source block.
6983
ece23901
KH
6984 * ccl.c (Fccl_program_p): Docstring modified.
6985 (Fccl_execute): Likewise.
6986 (Fccl_execute_on_string): Likewise.
6987
5e30eaa2
EZ
69882000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6989
6990 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6991
290602fd
KH
69922000-08-16 Kenichi Handa <handa@etl.go.jp>
6993
6994 The following changes are mainly to fix bugs of
6995 encode/decode-coding-string failing if encoding/decoding return
6996 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6997 variable conversion_buffer.
6998
6999 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7000 decrement dst_end to avoid buffer overflow in the later call of
7001 string_as_multibyte
7002
7003 * coding.h (conversion_buffer_size, conversion_buffer)
7004 (get_conversion_buffer): Extern deleted.
7005
7006 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7007 (conversion_buffer, conversion_buffer_size): Variables deleted.
7008 (get_conversion_buffer): Function deleted.
7009 (struct conversion_buffer): New structure.
7010 (MAX_ALLOCA): New macro.
7011 (allocate_conversion_buffer): New macro.
7012 (extend_conversion_buffer, free_conversion_buffer): New functions.
7013 (ccl_coding_driver): Set coding->result.
7014 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7015 this is the last block of source.
7016 (encode_coding): Likewise. Handle the source block as the last
7017 one only when the whole source text is consumed.
7018 (decode_coding_string): Handle the case that the output buffer is
7019 too small to decode the whole source text. Use
7020 allocate_conversion_buffer, extend_conversion_buffer and
7021 free_conversion_buffer, not get_conversion_buffer.
7022 (encode_coding_string): Likewise.
7023 (init_coding): Function deleted.
52283633 7024 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7025
7026 * emacs.c (main): Don't call init_coding.
7027
52283633 7028 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7029
7030 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7031 (insert_glyphs): Likewise.
7032
7033 * w32console.c (write_glyphs): Use a locally declared
7034 conversion_buffer.
7035
b9f80d41
EZ
70362000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7037
7038 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7039 member of display_info is NULL.
7040
32dc52f7
GM
70412000-08-15 Gerd Moellmann <gerd@gnu.org>
7042
52283633 7043 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7044
32dc52f7 7045 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7046 appearances with capability `me'.
32dc52f7
GM
7047 (write_glyphs): Switch on inverse video before each face change.
7048
4eb22d33
DL
70492000-08-14 Dave Love <fx@gnu.org>
7050
7051 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7052 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7053 (lisp_free): Declare and make static.
7054
7055 * window.c: Fix embedded comment.
7056 (syms_of_window): Fix doc string.
7057
90cbf47e
GM
70582000-08-14 Gerd Moellmann <gerd@gnu.org>
7059
52283633 7060 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7061 make sure to print `C-' before `M-', like in the manual.
7062
440fc135
GM
70632000-08-11 Gerd Moellmann <gerd@gnu.org>
7064
7065 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7066 since they aren't relocated anymore.
52283633 7067 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7068
7069 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7070 partially visible line which is smaller than the window's height.
440fc135 7071
6e264fad
KH
70722000-08-11 Kenichi Handa <handa@etl.go.jp>
7073
7074 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7075 the multibyte form of eight-bit-control characters.
6e264fad
KH
7076 (Fccl_execute_on_string): Initialize ccl->multibyte.
7077
7078 * ccl.h (struct ccl_program): New member multibyte.
7079
7080 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7081
c371f69a
KH
70822000-08-11 Kenichi Handa <handa@etl.go.jp>
7083
7084 * regex.c (regex_compile) <normal_char>: Pay attention to
7085 multibyteness.
7086 (analyse_first) <exactn>: Setup fastmap correctly for
7087 eight-bit-control characters.
7088
70892000-08-11 Kenichi Handa <handa@etl.go.jp>
7090
52283633 7091 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7092
7093 * keyboard.c (make_lispy_event): Handle the new event type
7094 multibyte_char_keystroke.
7095
7096 * xterm.c: Include coding.h.
7097 (XTread_socket): Work around a bug of XmbLookupString. If the
7098 input is from XIM, decode it according to the current locale. In
7099 that case, generate multibyte_char_keystroke events.
7100
b8ddbe71
KH
71012000-08-11 Kenichi Handa <handa@etl.go.jp>
7102
7103 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7104 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7105
47589c8c
GM
71062000-08-10 Gerd Moellmann <gerd@gnu.org>
7107
7108 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7109 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7110 (move_it_in_display_line_to): Record iterator's ascent and descent
7111 before producing glyphs, and restore them when we know the glyph
7112 doesn't fit on the line.
7113 (move_it_to): Restructured so that it's easier to debug. If
7114 moving to a vpos, and not moving to an x or character position,
7115 stop as soon as the specified vpos is reached; don't move further
7116 into that line because that might change the computed line height.
7117 (try_cursor_movement): New function, extracted from the cursor
7118 movement branch of redisplay_window. If ending on a partially
7119 visible line, don't try to scroll if the cursor line is taller
7120 than the window.
7121 (redisplay_window): Use try_cursor_movement.
7122
7123 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7124 because that function doesn't cope with variable-height lines.
7125
7126 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7127 box cursor because that's better visible for large images.
52283633 7128
c51bacd6
MB
71292000-08-10 Miles Bader <miles@gnu.org>
7130
7131 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7132
bea56df7
GM
71332000-08-10 Gerd Moellmann <gerd@gnu.org>
7134
7135 * xdisp.c (Vmessages_buffer_name): New variable.
7136 (message_dolog): Use it.
7137 (syms_of_xdisp): Initialize it.
7138
99cd7364
EZ
71392000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7140
52283633 7141 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7142 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7143 redundant now that keyboard.h is included.
7144
7d093d56
EZ
71452000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7146
7147 * keyboard.c (kbd_buffer_events_waiting): New function.
7148
7149 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7150
7151 * msdos.c: Include keyboard.h.
7152 (XMenuActivate): Empty no_event events from the event buffer. If
7153 no events are left after that, call clear_input_pending.
7154 (mouse_clear_clicks): New function, code moved from mouse_init.
7155 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7156 mouse driver to ``forget'' any past clicks.
7157
7158 * Makefile.in (msdos.o): Depend on keyboard.h.
7159
41e757a6
GM
71602000-08-09 Gerd Moellmann <gerd@gnu.org>
7161
8e7bd231
GM
7162 * lisp.h (input_pending): External declaration.
7163
7164 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7165
8e7bd231
GM
7166 * xdisp.c (echo_area_display): Display thoroughly if input is
7167 pending. Bind redisplay-dont-pause to t during the redisplay.
7168 in case input is pending.
7169
7170 * dispnew.c (Qredisplay_dont_pause): New variable.
7171 (syms_of_display): Initialize and staticpro it.
7172 (update_frame_1): Don't interrupt the display for pending input if
7173 redisplay_dont_pause is set.
52283633 7174
43028b7e
GM
7175 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7176
41e757a6
GM
7177 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7178
2f2174fa
KH
71792000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7180
7181 * callproc.c (Fcall_process): Terminate the unwind-protect around
7182 the post-read-conversion of coding system.
7183
0a6fd67e
MB
7184 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7185 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7186 * buffer.h (overlays_at): Update prototype.
7187 * xdisp.c (next_overlay_change): Update call to overlays_at.
7188 * xfaces.c (face_at_buffer_position): Likewise.
7189 * textprop.c (Fget_char_property): Likewise.
7190 * xterm.c (note_mouse_highlight): Likewise.
7191
0c80756e
MB
7192 * minibuf.c (do_completion): Don't consider a simple change of
7193 case as `completion'.
7194
975f250a
KR
71952000-08-08 Ken Raeburn <raeburn@gnu.org>
7196
52283633 7197 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7198 * undo.c (record_delete): Make sure last_point_position_buffer is
7199 a buffer before comparing pointers.
7200
7201 * coding.h (decode_coding_string): Declare.
7202
7203 * intervals.h (Fprevious_single_char_property_change): Declare.
7204
7205 * textprop.c (Fprevious_single_char_property_change): Don't do
7206 arithmetic directly on lisp objects.
7207
52283633 7208 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7209
7210 * keyboard.h (menu_item_eval_property): Declare.
7211
7212 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7213 reuse as buffer name, instead of recreating (and discarding) every
7214 time a message is logged.
7215 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7216 (current_message_1, truncate_message_1, set_message_1)
7217 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7218 (current_message, truncate_echo_area, display_echo_area)
7219 (resize_echo_area_axactly): Changed calls.
b347b3fd 7220
975f250a 7221 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7222 Lisp object.
975f250a 7223 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7224 must be an integer, not a Lisp object.
975f250a 7225
46dc9912
KH
72262000-08-08 Kenichi Handa <handa@etl.go.jp>
7227
7228 * charset.c (Fchar_width): Doc fix.
7229
9f6d1a6c
GM
72302000-08-08 Gerd Moellmann <gerd@gnu.org>
7231
7232 * charset.c (Fstring_width): Doc fix.
7233
ff3d9573
GM
72342000-08-07 Gerd Moellmann <gerd@gnu.org>
7235
41e757a6 7236 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7237 line, clear ascent and descent members of the iterator structure;
7238 the height of the continued line does not affect the height of the
7239 continuation line.
7240 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7241 line taller than the window.
7242 (redisplay_window) <forced window start>: Handle case that the
7243 middle of the window is not found in any row.
7244 (dump_glyph_row): Show more information.
7245 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7246 first text line in a glyph matrix.
7247
7248 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7249 of the clip area when image doesn't have a mask.
7250
70fc58b3
GM
7251 * fns.c (sweep_weak_table): Fix survival conditions for
7252 key-or-value and key-and-value weakness.
7253
7254 * .gdbinit (xhashtable): New command.
7255
ac0e96ee
GM
7256 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7257 tables out of the list of all weak hash tables.
7258
ff3d9573
GM
7259 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7260 a new buffer is created, make sure echo_area_buffer[] references
7261 the new buffer.
7262
e0d8827b
EZ
72632000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7264
7265 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7266 the doc string.
7267
c6f35378
KH
72682000-08-07 Kenichi Handa <handa@etl.go.jp>
7269
7270 * syntax.c (skip_chars): Fix previous change. Make the handling
7271 of unibyte string consistent with that of regex search.
7272
1fd4c450
GM
72732000-08-05 Gerd Moellmann <gerd@gnu.org>
7274
e49aa397
GM
7275 * xmenu.c (popup_get_selection): Use xfree instead of free.
7276
7277 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7278
7279 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7280
7281 * callproc.c (child_setup): Use xfree instead of free.
7282
7283 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7284 instead of malloc.
7285 (run_mac_command, closedir): Use `xfree' instead of `free'.
7286
7287 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7288
7289 * eval.c (error): Use xfree instead of free.
7290
1fd4c450
GM
7291 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7292
7293 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7294 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7295
82d497fc
KH
72962000-08-05 Kenichi Handa <handa@etl.go.jp>
7297
7298 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7299 conversion.
7300
59f953a2
NF
73012000-08-04 Noah Friedman <friedman@splode.com>
7302
7303 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7304 docstring.
7305
688351f2
GM
73062000-08-04 Gerd Moellmann <gerd@gnu.org>
7307
7308 * syntax.c (skip_chars): Fix typo in error message.
7309
2dad51cc
AS
73102000-08-04 Andreas Schwab <schwab@suse.de>
7311
7312 * m/ia64.h: Moved from s/ia64.h.
7313
99bb2c60
KH
73142000-08-04 Kenichi Handa <handa@etl.go.jp>
7315
082a1df2
KH
7316 * process.c (read_process_output): Big simplification. Handle
7317 composition and post-read-conversion of coding system correctly.
7318 (send_process): Handle composition correctly.
7319
7320 * callproc.c (Fcall_process): Handle post-read-conversion of
7321 coding system if any.
7322
99bb2c60
KH
7323 * coding.c (decode_coding_iso2022): More strict check for handling
7324 single shifting.
082a1df2
KH
7325 (coding_restore_composition): Pay attention to the case that
7326 cmp_data is not set properly (because of invalid code in the
7327 source text).
7328 (run_pre_post_conversion_on_str): Include text properties in the
7329 resulting string.
7330 (decode_coding_string): Set members of coding correctly.
99bb2c60 7331
f4988be7
GM
73322000-08-03 Gerd Moellmann <gerd@gnu.org>
7333
7334 * s/ia64.h: New file.
7335
7336 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7337 Use NULL instead of 0 at the end of variable argument list of
7338 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7339 sizeof (int) < sizeof (void *).
7340
7341 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7342 of variable argument lists of XtVaGetValues and XtVaSetValues.
7343
7344 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7345 variable argument lists of XtVaGetValues and XtVaSetValues.
7346
ead53494
GM
73472000-08-02 Gerd Moellmann <gerd@gnu.org>
7348
7349 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7350 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7351
7352 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7353 prototype.
7354
7355 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7356 in call to Fsingle_key_description.
7357
7358 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7359 Callers changed.
7360
73612000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7362
7363 * window.c (display_buffer_reuse_frames): New variable.
7364 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7365 frames displaying BUFFER.
52283633 7366 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7367
10b0f752
MB
73682000-08-01 Miles Bader <miles@gnu.org>
7369
7370 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7371 when to constrain NEW_POS (they were pretty screwed up before).
7372
16425c4a
EZ
73732000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7374
7375 * msdos.c (run_msdos_command): Save and restore the master
7376 environment, for the case that child_setup signals an error.
7377 When mirroring slashes in DOS shell commands, don't fail when
7378 argv[2] has embedded blanks.
da288c14
EZ
7379 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7380 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7381 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7382
7383 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7384 using alloca; free it after run_msdos_command returns.
7385
27f73852
DL
73862000-07-27 Dave Love <fx@gnu.org>
7387
52283633
SM
7388 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7389 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7390
7391 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7392
c0261b5e
EZ
73932000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7394
7395 * editfns.c (lisp_time_argument): Fix last change.
7396
b548072f
GM
73972000-07-27 Gerd Moellmann <gerd@gnu.org>
7398
3ab82477
GM
7399 * fns.c (Fdelete): Make it work on vectors and strings in addition
7400 to lists.
7401
b548072f
GM
7402 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7403 (syms_of_fns): Initialize new variables.
52283633 7404 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7405 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7406 weakness, with t meaning the same as `key-and-value'.
7407
91ae8751
KH
74082000-07-27 Kenichi Handa <handa@etl.go.jp>
7409
7410 * coding.h (struct coding_system): Member safe_charset deleted.
7411
7412 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7413 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7414 New variables.
91ae8751
KH
7415 (coding_safe_chars): New function.
7416 (CODING_SAFE_CHAR_P): New macro.
7417 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7418 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7419 (detect_coding_iso2022): New local variable safe_chars.
7420 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7421 safe_charsets member of the coding system.
7422 (decode_coding_iso2022): New local variable safe_chars.
7423 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7424 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7425 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7426 (ENCODE_UNSAFE_CHARACTER): New macro.
7427 (encode_coding_iso2022): New local variable safe_chars. Check
7428 unsafe chars.
7429 (setup_coding_system): Delete the code to initialize
7430 coding->safe_charses
7431 (intersection, find_safe_codings): New functions.
7432 (Ffind_coding_systems_region_internal): New function.
7433 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7434 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7435 variable and initialize it.
7436
7437 * fns.c (char_table_ref_and_index): New function.
7438
7439 * lisp.h (char_table_ref_and_index): Add prototype.
7440
34a7a267
SS
74412000-07-26 Sam Steingold <sds@gnu.org>
7442
7443 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7444 (Ffloat_time): New built-in Lisp function.
34a7a267 7445
a95cb10a
GM
74462000-07-26 Gerd Moellmann <gerd@gnu.org>
7447
3353ef5a
GM
7448 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7449 for the character code.
7450
7451 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7452 GNU/Linux.
7453
a95cb10a
GM
7454 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7455 if called for a popup menu.
7456 (xmenu_show): Store help string in widget values.
7457
b4a12321
DL
74582000-07-26 Dave Love <fx@gnu.org>
7459
7460 * syswait.h: Move some definitions.
7461 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7462 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7463 perspicuous definitions.
7464 (WTERMSIG): Fix bit pattern used.
7465
13f5ad37
KH
74662000-07-26 Kenichi Handa <handa@etl.go.jp>
7467
7468 * print.c (print_object): If vector printing is truncated, print
7469 "..." to indicate it as well as the case of list printing.
7470
070fe99c
GM
74712000-07-25 Gerd Moellmann <gerd@gnu.org>
7472
969065c3
GM
7473 * xdisp.c (next_element_from_display_vector): Improve comments.
7474
7475 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7476 for the character code, and the rest for the face id as in 20.x.
7477 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7478
7479 * window.c (window_display_table): Cleaned up.
7480
070fe99c
GM
7481 * syntax.c (Fforward_word): Add last arg nil in call of
7482 Fconstrain_to_field.
7483
bad77ef7
EZ
74842000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7485
969065c3 7486 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7487 identical but for the letter-case, don't call
7488 barf_or_query_if_file_exists.
bad77ef7 7489
c28da489
MB
74902000-07-25 Miles Bader <miles@gnu.org>
7491
7492 * editfns.c (find_field): Honor special `boundary' fields.
7493 (Qboundary): New variables.
7494 (syms_of_editfns): Initialize Qboundary.
7495 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7496 Use scan_buffer instead of find_before_next_newline, because it
7497 allows us to detect the boundary case where there's a newline at
7498 the search limit.
7499 * lisp.h (Fconstrain_to_field): Update external declaration.
7500
e3c31fd5
GM
75012000-07-24 Gerd Moellmann <gerd@gnu.org>
7502
7503 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7504 if that is nil.
c28da489 7505
c66c29a2
DL
75062000-07-24 Dave Love <fx@gnu.org>
7507
7508 * s/sunos4-0.h, s/sol2.h:
7509 (LIBS_TERMCAP): Move from m/sparc.h.
7510
7511 * m/sparc.h (TERMINFO): Moved to system files (probably only
7512 relevant for sunos4 judging by its vintage).
7513 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7514 __arch64__.
7515
fbe0a958
EZ
75162000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7517
7518 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7519 name to single_keymap_panes.
7520
7d88e5c9
AS
75212000-07-24 Andreas Schwab <schwab@suse.de>
7522
7523 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7524
e024b101
GM
75252000-07-24 Gerd Moellmann <gerd@gnu.org>
7526
7527 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7528 parameters instead of using int parameters. Expect FN to accept
7529 EMACS_INT parameters.
7530 (display_echo_area, resize_echo_area_axactly, current_message)
7531 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7532 with new argument list.
7533 (resize_mini_window_1): New callback function.
7534 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7535 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7536
25c1a9ce
KH
75372000-07-24 Kenichi Handa <handa@etl.go.jp>
7538
7539 * fontset.c (fontset_ref): Remove INLINE declaration.
7540 (fontset_ref_via_base): Likewise.
7541 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7542 to downcase.
7543
7f987ac0
EZ
75442000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7545
7546 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7547 correct order of priority. If help echo was found in an overlay,
7548 use that overlay as the object in which the help echo was found.
7549
e2db3069
MB
75502000-07-22 Miles Bader <miles@gnu.org>
7551
7552 * textprop.c (Fprevious_single_char_property_change): The initial
7553 property value should be from the position preceding POSITION, not
7554 following it.
7555
5e3203e4
EZ
75562000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7557
7558 * coding.c (syms_of_coding): Doc fix for
7559 inhibit-iso-escape-detection.
7560
62145073
GM
75612000-07-21 Gerd Moellmann <gerd@gnu.org>
7562
c20aeb83
GM
7563 * xterm.c (note_mouse_highlight): Process overlays in the right
7564 order of priority.
34a7a267 7565
743934db
GM
7566 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7567
7568 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7569 overlay, use that overlay as the object in which the help was found.
743934db 7570
d1dc7e43 7571 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7572
62145073
GM
7573 * window.c (foreach_window): Instead of a fake variable argument
7574 list, take one USER_DATA argument.
7575 (foreach_window_1): Likewise, and call callback functions with two
7576 args, the window and USER_DATA.
7577 (struct check_window_data): New struct.
7578 (check_window_containing): Use it.
7579 (window_from_coordinates): Set up a struct check_window_data for
7580 foreach_window.
7581 (add_window_to_list, freeze_window_start): Change parameters
7582 according to new calling convention.
7583
7584 * window.h (foreach_window): Change prototype.
7585
7586 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7587
75882000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7589
7590 * xmenu.c (menu_help_callback): Call show_help_echo with
7591 additional arguments OBJECT and POS.
7592
11270583
KH
75932000-07-21 Kenichi Handa <handa@etl.go.jp>
7594
07b14857
KH
7595 * data.c (Faset): Allow storing any multibyte character in a
7596 string. Convert unibyte string to multibyte if necessary.
7597
11270583
KH
7598 * xfns.c (x_encode_text): New function.
7599 (x_set_name): Use x_encode_text.
7600 (x_set_title): Likewise.
7601
7602 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7603
7604 * xterm.h (x_encode_text): Add prototype.
7605
bc75b4fd
DL
76062000-07-20 Dave Love <fx@gnu.org>
7607
7608 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7609 xfree, not free.
7610
48c14970
EZ
76112000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7612
7613 * msdos.c (help_echo_window): New variable.
7614 (syms_of_msdos): Initialize and staticpro it.
7615 (IT_note_mode_line_highlight): Set help_echo_window.
7616 (IT_note_mouse_highlight): Ditto.
7617 (dos_rawgetc): Store help_echo_window in the second event produced
7618 for HELP_EVENTs.
7619
7620 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7621 Record the object that generated the help echo and the position of
7622 that object in help_echo_object and help_echo_pos. Record that
7623 some glyphs in a row are displayed in mouse-face.
7624 (IT_update_begin): Don't clear mouse highlight unless one of the
7625 enabled glyph rows is marked as being displayed in mouse-face.
7626 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7627 and position recorded in help_echo_object and help_echo_pos to the
7628 event queue.
7629 (IT_menu_display): Accept a new argument PN: the pane number of
7630 the current menu pane. Record the pane number and the item
7631 number of the item which has associated help string.
7632 (XMenuActivate): Update the prototype for help_callback in
7633 function declaration. Call IT_menu_display with the current menu
7634 pane number as an additional argument. Call help_callback with
7635 two additional arguments: the pane number and the item number of
7636 the menu item associated with the help text.
7637 (help_echo_object, help_echo_pos): New variables.
7638 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7639
7640 * msdos.h (XMenuActivate): Update prototype.
7641
4279296d
GM
76422000-07-19 Gerd Moellmann <gerd@gnu.org>
7643
47db06aa
GM
7644 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7645 Add some more prototypes.
7646
7647 * xterm.c, xterm.h: Add some more prototypes.
7648
7649 * lisp.h (Fnext_single_char_property_change): Add prototype.
7650
7651 * dispnew.c (direct_output_for_insert): Remove confusing
7652 outer local variable mouse_face_overwritten_p.
7653 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7654
4279296d
GM
7655 * alloc.c (allocate_string_data): Don't copy old string contents.
7656
670acd62
KH
76572000-07-19 Kenichi Handa <handa@etl.go.jp>
7658
7659 * coding.c (code_convert_region): Delete text properties before
7660 shrinking the conversion region.
7661
7cea38bc
GM
76622000-07-18 Gerd Moellmann <gerd@gnu.org>
7663
dc1cac59
GM
7664 * dispnew.c (update_text_area): Write the whole row if it
7665 has mouse-face in it.
7666
85a8aca9
GM
7667 * xfaces.c (face-alternative-font-family-alist): Remove
7668 DEFVAR_LISP; staticpro instead.
7669
34a7a267 7670 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7671 new arguments.
7672
7673 * keyboard.c (show_help_echo): Add parameter WINDOW.
7674 (read_char): Call show_help_echo with window extracted from Lisp
7675 help event.
7676 (gen_help_event): Add parameter WINDOW.
7677
7678 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7679
7680 * xterm.c (help_echo_window): New variable.
52283633 7681 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7682 (XTread_socket): Pass help_echo_window to gen_help_event.
7683 (syms_of_xterm): Initialize and staticpro help_echo_window.
7684
f8276b77
DL
76852000-07-18 Dave Love <fx@gnu.org>
7686
52283633 7687 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7688
088831a6
GM
76892000-07-18 Gerd Moellmann <gerd@gnu.org>
7690
3d6cd763
GM
7691 * alloc.c (allocate_string_data): If string had already data
7692 assigned, copy old contents to new string data.
7693
7694 * coding.c (syms_of_coding): Fix typo in spelling of variable
7695 `inhibit-iso-escape-detection'.
7696
088831a6
GM
7697 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7698
7699 * Makefile.in: Add dependencies on dispextern.h.
7700 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7701 `free'; both can conflict with system header files.
7702
bc8a8d55
KH
77032000-07-18 Kenichi Handa <handa@etl.go.jp>
7704
7705 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7706 undefined.
7707
069f5950
DL
77082000-07-18 Dave Love <fx@gnu.org>
7709
7710 * window.c (Fwindow_list): Declare arg `window'.
7711
aa96c820
KH
77122000-07-18 Kenichi Handa <handa@etl.go.jp>
7713
7714 * coding.c (setup_coding_system): Don't override the explicitly
7715 specified designations.
7716
06be8d32
MB
77172000-07-15 Miles Bader <miles@gnu.org>
7718
7719 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7720 from `text_property_eq' and `text_property_stickiness', respectively.
7721 (find_field, Fconstrain_to_field, char_property_eq)
7722 (char_property_stickiness): Changed to call char-property functions
7723 instead of text-property-only ones.
7724
7725 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7726 `next_single_char_property_change'). Do more error checking, and
7727 cleanup limit behavior.
7728 (Fprevious_single_char_property_change): New function.
7729 (syms_of_textprop): Initialize new subrs.
7730
7731 * xdisp.c (display_prop_end, invisible_text_between_p):
7732 Call Fnext_single_char_property_change instead of
7733 next_single_char_property_change.
7734
3fddcdc3
JR
77352000-07-15 Jason Rumney <jasonr@gnu.org>
7736
7737 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7738 after menu is finished with.
7739 (add_menu_item): Only consider wv->title as a menu title.
7740 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7741
7742 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7743 null title.
7744 (FONT_REGEXP): Remove unused macro, and its sub-components.
7745 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7746
7747 * w32term.c (help_echo_object, help_echo_pos): New variables.
7748 (note_mode_line_highlight): Store additional information about the
7749 help-echo in help_echo_object and help_echo_pos. Check both
7750 `local-map' and `keymap' properties for changing the cursor
7751 (note_mouse_highlight): Store additional information about the
7752 help-echo in help_echo_object and help_echo_pos.
7753 (note_tool_bar_highlight): Set help_echo_object to nil and
7754 help_echo_pos to -1.
7755 (w32_read_socket): Use gen_help_event instead of filling
7756 input_events manually.
7757 (syms_of_w32term): Staticpro help_echo_object.
7758 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7759 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7760 (x_clear_mouse_face): New function.
7761 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7762 (x_update_window_begin): No need to turn off the mouse
7763 highlight here.
7764 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7765 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7766 (x_fill_stretch_glyph_string): Consume runs of stretch
7767 glyphs instead of a single one.
7768 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7769 with new argument list.
7770 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7771 (x_append_glyph, x_append_composite_glyph)
7772 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7773 changes in struct glyph starting 1999-12-27. See comments for
7774 xterm.c on 2000-07-05.
7775
178c5d9c
SS
77762000-07-14 Sam Steingold <sds@gnu.org>
7777
7778 * xfaces.c (realize_x_face): Fix the last patch:
7779 check `default_face' before dereferencing.
7780
6fe533f6
DL
77812000-07-14 Dave Love <fx@gnu.org>
7782
069f5950 7783 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7784
dd7b81cf
KH
77852000-07-14 Kenichi Handa <handa@etl.go.jp>
7786
0693904a 7787 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7788 default_face's fontset, not using the default fontset.
0693904a 7789
dd7b81cf
KH
7790 * coding.c (inhibit_iso_escape_detection): New variable.
7791 (syms_of_coding): Make it a Lisp variable.
7792 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7793 nonzero, ignore ISO2022's escape sequence.
7794
d5aa31d8
GM
77952000-07-14 Gerd Moellmann <gerd@gnu.org>
7796
e5acf0ca
GM
7797 * alloca.c (malloc) [emacs]: Define as xmalloc.
7798
bd23a692
GM
7799 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7800 use that instead of the mouse position. Add parameters DX and DY.
7801
7802 * dispextern.h (Fx_show_tip): Adjust number of parameters
7803 in prototype.
7804
9662da0b
GM
7805 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7806 if HELP is a function, call it with OBJECT and POS as parameters
7807 to get the help to display.
7808 (gen_help_event, kbd_buffer_store_help_event): New functions.
7809 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7810 (read_char): Call show_help_echo with new parameters.
7811
178c5d9c 7812 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7813 Add prototypes.
7814
7815 * xterm.c (help_echo_object, help_echo_pos): New variables.
7816 (note_mode_line_highlight): Store additional information about the
7817 help-echo in help_echo_object and help_echo_pos. Check both
7818 `local-map' and `keymap' properties for changing the cursor
7819 (note_mouse_highlight): Store additional information about the
7820 help-echo in help_echo_object and help_echo_pos.
7821 (note_tool_bar_highlight): Set help_echo_object to nil and
7822 help_echo_pos to -1.
7823 (XTread_socket): Use gen_help_event instead of filling
7824 input_events manually.
7825 (syms_of_xterm): Staticpro help_echo_object.
7826
7827 * xmenu.c (menu_highlight_callback): Use
7828 kbd_buffer_store_help_event instead of setting up and input_event
7829 structure manually.
7830
7831 * xdisp.c (eval_form): GCPRO argument sexpr.
7832 (call_function): New function.
7833 (handle_single_display_prop): Use call_function and FUNCTIONP
7834 instead of checking whether if font_height is a symbol and
7835 using eval_form.
7836
7837 * eval.c (internal_condition_case_2): New function.
7838
7839 * lisp.h (FUNCTIONP): New macro.
7840 (internal_condition_case_2, call_function): Add prototypes.
7841
d5aa31d8
GM
7842 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7843 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7844 Always set `arg' member of input_events.
7845 (construct_menu_click): Unused function removed.
7846
7847 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7848
7849 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7850 (construct_drag_n_drop, x_scroll_bar_handle_click)
7851 (w32_read_socket): Always set `arg' member of input_events.
7852
7853 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7854
7855 * lisp.h (eval_form): Add prototype.
7856
7857 * xdisp.c (eval_form): Make it externally visible.
7858
0f1a9b23
GM
78592000-07-13 Gerd Moellmann <gerd@gnu.org>
7860
7861 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7862 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7863 consing. For prefix events, store the frame in the `arg' slot of
7864 the event, otherwise store the key there.
7865 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7866 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7867
7868 * xmenu.c (menu_highlight_callback): Store help string in the
7869 `arg' member of the input event; don't cons.
7870 (menubar_selection_callback): Use the `arg' slot of input events
7871 to queue additional information, instead of consing.
7872
7873 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7874
7875 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7876 TOOL_BAR_EVENTs.
7877 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7878
7879 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7880 input events to queue additional information, instead of consing.
7881
7882 * keyboard.c (kbd_buffer_gcpro): Renamed from
7883 kbd_buffer_frame_or_window. Now used for all Lisp objects
7884 referenced from the input queue.
7885 (kbd_buffer_store_event): Always use structure assignment for
7886 copying input events. Record all Lisp objects referenced from
7887 events in kbd_buffer_gcpro.
7888 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7889 differently from input events. Test for prefix menu_bar_events
7890 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7891 event in kbd_buffer_gcpro to nil.
7892 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7893 frame_or_window is equal to its arg member as prefix events.
7894 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7895 used by an input event to nil.
7896 (init_keyboard): Use two times the size of the input queue
7897 for kbd_buffer_gcpro.
7898 (syms_of_keyboard): Likewise.
7899
52283633
SM
7900 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7901 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7902
7903 * termhooks.h (struct input_event): Add member `arg'.
7904 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7905 (USER_SIGNAL_EVENT): Renamed from user_signal.
7906
7907 * xfaces.c (ASET): Remove definition.
7908
7909 * lisp.h (AREF, ASET, ASIZE): New macros.
7910
7911 * fontset.c (AREF, ASIZE): Remove definitions.
7912
7913 * fns.c (AREF): Remove definition.
178c5d9c 7914
0f1a9b23
GM
7915 * composite.c (AREF): Remove definition.
7916
712eaef2
GM
79172000-07-12 Gerd Moellmann <gerd@gnu.org>
7918
d8ee7803
GM
7919 * dispnew.c (redraw_overlapped_rows): Add missing local.
7920 (scrolling_window): Remove debug code.
7921
712eaef2
GM
7922 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7923 Before scrolling, turn off a mouse-highlight in the window
7924 being scrolled.
7925
7926 * xterm.c (x_update_window_end): Add parameter
7927 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7928 redisplay in XTframe_up_to_date.
7929 (x_clear_mouse_face): New function.
7930 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7931
7932 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7933 current glyph row.
7934 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7935 it when any row is written to that contains glyphs highlighted in
7936 mouse-face.
7937 (update_window): Call the window update end hook with new
7938 parameter MOUSE_FACE_OVERWRITTEN_P.
7939 (direct_output_for_insert): Give up if row contains mouse-face.
7940
7941 * dispextern.h (struct redisplay_interface): Add parameter
7942 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7943 (clear_mouse_face): New function pointer member.
7944
02010917
SM
79452000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7946
7947 * syntax.c (back_comment): Use one switch rather than a few `if's.
7948 Obey open_paren_in_column_0_is_defun_start.
7949 When reverting to the `slow' method, try to nicely handle the case
7950 of nested comments by checking that the comment-starter we found
7951 does indeed match the comment-ender.
7952 (scan_sexps_forward, scan_sexps_forward):
7953 Ignore excessive opening parenthesis rather than throwing an error.
7954
d76c03ea
GM
79552000-07-11 Gerd Moellmann <gerd@gnu.org>
7956
7957 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7958 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7959
7960 * dispnew.c (direct_output_forward_char): Give up if currently
7961 displaying a message instead of the minibuffer contents.
7962
7963 * xterm.c (x_update_window_begin): No need to turn off the mouse
7964 highlight here.
7965 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7966 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7967
7968 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7969 compare the mouse_face_p flags of both rows.
7970
7971 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7972
d55ead18
EZ
79732000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7974
7975 * keyboard.c (show_help_echo): Accept additional parameter
7976 ok_to_overwrite_keystroke_echo.
7977 (read_char): Call show_help_echo with a zero
7978 ok_to_overwrite_keystroke_echo argument.
52283633 7979 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7980 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7981 ok_to_overwrite_keystroke_echo argument.
7982 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7983 non-zero ok_to_overwrite_keystroke_echo argument.
7984
df75b1a3
GM
79852000-07-10 Gerd Moellmann <gerd@gnu.org>
7986
4b92c49a
GM
7987 * xdisp.c (try_window_id): If changes are all below what is
7988 displayed in the window, and point is in the window, we still
7989 might have to find point on the display.
7990
7991 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7992 glyphs instead of a single one.
7993 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7994 with new argument list.
7995 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7996
df75b1a3
GM
7997 * keymap.c (get_keymap_1): Add comment that this function can GC.
7998 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7999 comment that functions can GC.
8000 (Fset_keymap_parent): GCPRO arg KEYMAP.
8001
4314cf3e
EZ
80022000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8003
8004 * msdos.c (XMenuActivate): After exiting the menu, restore the
8005 echo area message and erase it.
8006
ab49ce15
KH
80072000-07-10 Kenichi Handa <handa@etl.go.jp>
8008
8009 * fontset.c (Ffontset_info): Make the return value more compatible
8010 with that of Emacs 20.
8011
090a072f
GM
80122000-07-07 Gerd Moellmann <gerd@gnu.org>
8013
8014 * eval.c (Fsignal): Handle case that backtrace_list is null.
8015
f92de4a6
KH
80162000-07-07 Kenichi Handa <handa@etl.go.jp>
8017
8018 * ccl.c (Fccl_execute): Typo fixed.
8019
dd8888a1
GM
80202000-07-06 Gerd Moellmann <gerd@gnu.org>
8021
e5c81191 8022 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8023
dd8888a1
GM
8024 * window.c (Fwindow_list): Reverse list at the end.
8025 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8026 means allow windows on OWINDOW's frame, only.
8027 (window_loop): Simplified; use Fwindow_list.
8028
8029 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8030
485266d0
GM
80312000-07-05 Gerd Moellmann <gerd@gnu.org>
8032
8033 * xterm.c (XTread_socket): Increment handling_signal at the start,
8034 decrement it at the end.
8035
8036 * eval.c (handling_signal): New variable.
8037 (Fsignal): Abort if handling_signal is non-zero.
8038
8039 * lisp.h (handling_signal): External declaration.
178c5d9c 8040
485266d0
GM
8041 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8042
80fcd514
KR
80432000-07-05 Ken Raeburn <raeburn@gnu.org>
8044
8045 Sound support for NetBSD through "Linux emulation" support:
8046 * config.in (HAVE_SOUNDCARD_H): Undef.
8047 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8048 * Makefile.in (LIBSOUND): New variable.
8049 (LIBES): Include it.
52283633
SM
8050 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8051 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8052 (vox_open): Use DEFAULT_SOUND_DEVICE.
8053 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8054
d5c5cddd
GM
80552000-07-05 Gerd Moellmann <gerd@gnu.org>
8056
8057 * print.c (print_error_message): If Vsignaling_function is set,
8058 show it in *Messages*.
8059
8060 * lisp.h (Vsignaling_function): External declaration.
8061
8062 * eval.c (Vsignaling_function): New variable.
8063 (Fsignal): Compute it.
8064 (syms_of_eval): Staticpro it.
8065
65171e3a
DL
80662000-07-05 Dave Love <fx@gnu.org>
8067
8068 * syswait.h: Use the autoconf recommended approach. Old code
8069 #if'd out in case we need to revert.
8070
178c5d9c 8071 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8072
e2c46326
AI
80732000-07-05 Andrew Innes <andrewi@gnu.org>
8074
8075 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8076 when non-NULL instead of __morecore, to take account of buffer
8077 memory. This also solves a problem with spurious memory warnings
8078 on Windows.
8079
8080 * ralloc.c: Make real_morecore non-static.
8081
8082 * eval.c (internal_condition_case): Comment out abort if
8083 interrupt_input_blocked is not zero.
8084
8085 * makefile.nt: Add support for `bootstrap' and related targets.
8086 Include minimal debug info in emacs.exe in release build.
8087 Remove all dependencies on lisp.h, and fixup some others.
8088
8089 * w32.c (init_environment): Install code from 20.7 for providing
8090 default values for environment variables, based on the
8091 executable's own location.
52283633 8092 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8093 (sys_socket): Install socket inheritance bug fix from 20.7.
8094
8095 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8096 here via blockinput.h).
8097
a027a91b
SM
80982000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8099
e4b31601
SM
8100 * w32menu.c (w32_menu_display_help):
8101 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8102
8103 * keyboard.h (show_help_echo): Declare.
8104
8105 * keyboard.c (show_help_echo): New function, extracted from read_char.
8106 Feval its `msg' argument if it's a cons cell.
8107 (read_char): Use it.
4cf8d9d5 8108 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8109
178c5d9c 8110 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8111 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8112 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8113 (dos_rawgetc):
8114 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8115 (note_tool_bar_highlight, w32_read_socket):
8116 Do not gratuitously ignore non-string `help-echo' properties.
8117
88d75730
GM
81182000-07-05 Gerd Moellmann <gerd@gnu.org>
8119
969f7e79
GM
8120 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8121
71201b00
GM
8122 * window.c (delete_all_subwindows): Reset Vwindow_list.
8123
88d75730
GM
8124 * xterm.c (x_append_glyph, x_append_composite_glyph)
8125 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8126 changes in struct glyph starting 1999-12-27. Some bit-fields of
8127 struct glyph were not set, which made glyphs unequal when compared
8128 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8129 effects were the result. This also depended on the contents of
8130 memory returned by xmalloc. If flickering happens again, activate
8131 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8132 gone with that, chances are that it is caused by something similar.
88d75730
GM
8133
8134 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8135
88d75730
GM
8136 * dispextern.h: Add some comments.
8137
8138 * window.c (add_window_to_list): Add parameter LIST.
8139 (window_list): Order list so that, for each frame, windows are
8140 in canonical order, and so that frames appear in the list in
8141 the order given by Vframe_list.
8142 (next_window): Reverse the handling of NEXT_P.
8143
53654733
GM
81442000-07-04 Gerd Moellmann <gerd@gnu.org>
8145
87efd256
GM
8146 * window.c (Vwindow_list): New variable.
8147 (make_window, delete_window): Set Vwindow_list to nil.
8148 (check_window_containing): New function.
8149 (window_from_coordinates): Rewritten.
8150 (add_window_to_list, window_list, candidate_window_p)
8151 (decode_next_window_args, next_window): New functions.
52283633 8152 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8153 (Fwindow_list): New function.
8154 (Fother_window): Cleaned up.
8155 (foreach_window): Add a longer "variable argument list". Let
8156 callback function return 0 to indicate that cycling over windows
8157 should stop.
8158 (foreach_window_1): Likewise.
8159 (freeze_window_start): Return int.
8160 (init_window): New function.
8161 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8162
8163 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8164 input_event with bzero.
8165 (main): Call init_window.
8166
53654733
GM
8167 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8168 a menu filter.
8169
4a8c194f
KH
81702000-07-04 Kenichi Handa <handa@etl.go.jp>
8171
8172 * composite.h (make_composition_value_copy): Extern it.
8173
8174 * composite.c (make_composition_value_copy): New function.
8175
8176 * editfns.c (Fformat): While copying text properties, make each
8177 composition property value a copy.
8178
8179 * fns.c (concat): While copying text properties, make each
8180 composition property value a copy.
8181
831a6cb0
GM
81822000-07-03 Gerd Moellmann <gerd@gnu.org>
8183
2f516940
GM
8184 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8185
178c5d9c 8186 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8187 marked already.
8188
831a6cb0
GM
8189 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8190 include those frames as candidates which have their focus
8191 redirected to the minibuffer frame.
8192
d9c4f922
SM
81932000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8194
8195 * fns.c (Fputhash): Return `value' rather than nil.
8196
3780bc22
GM
81972000-06-30 Gerd Moellmann <gerd@gnu.org>
8198
97d176db
GM
8199 * frame.c (next_frame): Don't check focus redirection in case
8200 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8201 unless their focus is redirected, which contradicts the
8202 specification of next-frame, and leads to infinite loops in
8203 certain situations when cycling through windows with next-window.
8204
dca9961d
KH
82052000-06-30 Kenichi Handa <handa@etl.go.jp>
8206
8207 * coding.c (code_convert_region): Even if the length of text is
8208 zero, try to convert it if coding->type is coding_type_ccl.
8209 (decode_coding_string, encode_coding_string): Likewise.
8210
d5483ab1
GM
82112000-06-28 Gerd Moellmann <gerd@gnu.org>
8212
af5c25e1 8213 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8214 the display if windows_or_buffers_changed.
af5c25e1
GM
8215
8216 * dispnew.c (struct row_entry): New structure.
8217 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8218 (row_table_size, old_lines, new_lines, old_lines_size)
8219 (new_lines_size, run_pool, runs_size, runs): New variables.
8220 (add_row_entry): New function.
8221 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8222 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8223 holding them in local variables. Use a larger hash table whose
8224 size depends on glyph matrix sizes. Don't use bzero to clear the
8225 hash table; instead, clear used slots only.
8226
8227 * fns.c (next_almost_prime): Make it externally visible.
8228
8229 * lisp.h (next_almost_prime): Add prototype.
8230
d5483ab1
GM
8231 * s/isc4-0.h (sigunblock): Define.
8232
8233 * s/sco5.h (sigunblock): Define.
8234
93e40f40
DL
82352000-06-27 Dave Love <fx@gnu.org>
8236
8237 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8238 (moved to osf5-0.h).
8239 [!NOT_C_CODE]: Protect string.h stuff.
8240
8241 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8242 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8243
3c4b7685
GM
82442000-06-27 Gerd Moellmann <gerd@gnu.org>
8245
97d176db 8246 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8247 below the last line from the needed window height.
8248
32cad0aa
SM
82492000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8250
8251 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8252 (Fwidget_get): Use it.
8253 (syms_of_fns): Defsubr it.
8254
2c69ced2
GM
82552000-06-26 Gerd Moellmann <gerd@gnu.org>
8256
178c5d9c 8257 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8258 display info for XIM.
8259 (xim_open_dpy): Likewise.
8260 (xim_close_dpy): Don't free the display info's XIM.
8261
8262 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8263
8264 * config.in (USE_XIM): New define.
8265
3fc720e4
GM
8266 * keymap.c (get_keyelt): For menu-items containing a `:filter
8267 FILTER', apply FILTER to the menu-item's definition to get the
8268 real definition to use.
8269
8270 * lisp.h (QCfilter): External declaration.
8271
2c69ced2
GM
8272 * xfns.c (Fimage_size): New function.
8273 (syms_of_xfns): Defsubr it.
8274
f978b2a2
AS
82752000-06-26 Andreas Schwab <schwab@suse.de>
8276
8277 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8278 Fstring_as_unibyte.
8279
94cc7892
DL
82802000-06-25 Dave Love <fx@gnu.org>
8281
52283633 8282 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8283
8284 * Makefile.in (blockinput.h): Depend on atimer.h.
8285 (atimer.h): Depend on systime.h.
8286
52283633 8287 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8288
52283633 8289 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8290
8291 * lisp.h (swap_in_global_binding): Declare.
8292
b8c24556
KR
82932000-06-24 Ken Raeburn <raeburn@gnu.org>
8294
8295 * process.c (Fopen_network_stream): Turn off atimers for duration
8296 of call to connect. (Patch from Gerd.)
8297
8cf8560b
DL
82982000-06-23 Dave Love <fx@gnu.org>
8299
511c7541
DL
8300 * ralloc.c: Maybe include unistd.h
8301
8cf8560b
DL
8302 * emacs.c (setgrp): Undefine before defining.
8303 (malloc_warning, set_time_zone_rule, index): Prototype.
8304
8305 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8306 HAVE_STRUCT_TIMEZONE.
8307
8308 * s/osf1.h: Move string.h hack here from alpha.h and make it
8309 conditional.
8310 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8311 _XOPEN_SOURCE.
8312 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8313 (SOCKLEN_TYPE): Don't define.
8314
8315 * m/alpha.h: Remove string.h hack.
8316
8317 * s/osf5-0.h: New file.
8318
8319 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8320 include time.h, done by systime.h.
8321 [__FreeBSD__]: Remove redundant includes.
8322
3fc720e4 8323 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8324 (delete_temp_file): Return Qnil to avoid warning.
8325
8326 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8327
8328 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8329 HAVE_X_WINDOWS.
8330
8331 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8332
8333 * composite.h (compose_text): Declare.
8334
8335 * xterm.c: Don't include sys/types.h unconditionally. Don't
8336 protect its inclusion with !USG (following xmenu.c).
8337
ea055732
GM
83382000-06-23 Gerd Moellmann <gerd@gnu.org>
8339
8340 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8341 in x_create_frame.
8342
74b01b80
EZ
83432000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8344
8345 * coding.c (decode_eol_post_ccl): Special handling for undecided
8346 and inconsistent EOL types.
8347
64f3a166
GM
83482000-06-22 Gerd Moellmann <gerd@gnu.org>
8349
16cf31f7
GM
8350 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8351 trough color and main window's background color.
8352
52283633 8353 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8354
8355 * xterm.h (Xt_app_con): External declaration.
8356
8357 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8358
486a103d
GM
8359 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8360
64f3a166
GM
8361 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8362 (handle_invisible_prop): Record the start of invisible text in
8363 it->add_overlay_start.
8364 (struct overlay_entry): Add member `overlay'.
8365 (handle_overlay_change): Simplify.
8366 (next_overlay_string): After having processed overlay strings at the
8367 end of the buffer, record that fact in
8368 it->overlay_strings_at_end_processed_p.
8369 (compare_overlay_entries): If before- and after-strings come
8370 from the same overlay, let before-strings come first.
8371 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8372 (load_overlay_strings): Take it->add_overlay_start into account
8373 when adding overlay strings.
8374
8375 * dispextern.h (struct it): Add member add_overlay_start.
8376
bb746ea6
DL
83772000-06-22 Dave Love <fx@gnu.org>
8378
8379 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8380
8381 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8382
a8f573f3
KH
83832000-06-22 Kenichi Handa <handa@etl.go.jp>
8384
8385 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8386 is greater than 0.
8387
9f2bbc92
DL
83882000-06-21 Dave Love <fx@gnu.org>
8389
178c5d9c 8390 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8391
3ee5041c
SM
83922000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8393
8394 * syntax.c (back_comment): Simplify string-parity counting (with
8395 the added benefit of handling multiple string-styles as long as
8396 they are not intertwined).
8397 Jump to the slow code as soon as a comment starter is found in
8398 a "string_lossage" position. Fixes the case: " /* " /* " */.
8399
4c343001
DL
84002000-06-21 Dave Love <fx@gnu.org>
8401
8402 * Makefile.in: Use GETLOADAVG_LIBS.
8403
8404 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8405 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8406
e6365855
SM
84072000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8408
8409 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8410 (Fforward_comment, scan_lists):
8411 Check the comstyle of single-char comment-starters.
8412 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8413 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8414 Check the comstyle of single-char comment-starters.
8415 Clarify control-flow around the Scomment case.
e6365855 8416
5700d2cc
DL
84172000-06-20 Dave Love <fx@gnu.org>
8418
d355bd8a
SM
8419 * fns.c (make_hash_table, maybe_resize_hash_table):
8420 Cast arg of next_almost_prime.
5700d2cc 8421
178c5d9c 8422 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8423
8424 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8425 and unistd.h.
8426
4a27bdfb
GM
84272000-06-20 Gerd Moellmann <gerd@gnu.org>
8428
a61d762c 8429 * keyboard.c (adjust_point_for_property): Check if display
52283633 8430 property should be treated as intangible by looking at its value.
a61d762c 8431
178c5d9c 8432 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8433 (display_prop_intangible_p): New functions.
8434
8435 * dispextern.h (display_prop_intangible_p): Add prototype.
8436
8437 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8438
4a27bdfb
GM
8439 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8440 argument to sigprocmask.
8441
8442 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8443 argument to sigprocmask.
8444
8445 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8446 sigprocmask_set, and pass a pointer to it to sigprocmask.
8447
8448 * sysdep.c (sigprocmask_set): New variable.
8449
8450 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8451 report_file_error.
8452
427ec082
SS
84532000-06-20 Sam Steingold <sds@gnu.org>
8454
8455 * xrdb.c: Don't declare xmalloc, xrealloc.
8456
8972fe79 84572000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8458
8459 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8460 (re_comp): Cast gettext return value to avoid complaints when
8461 !HAVE_LIBINTL.
8462
074b6efe
DL
84632000-06-20 Dave Love <fx@gnu.org>
8464
52283633 8465 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8466
5700d2cc 8467 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8468
d355bd8a 8469 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8470
8471 * m/alpha.h: Don't declare xmalloc, xrealloc.
8472
0af4f205
DL
8473 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8474
8475 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8476
8477 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8478
8479 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8480 HAVE_GETWD.
8481
074b6efe
DL
8482 * keyboard.h (poll_for_input_1): Declare.
8483
8484 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8485
8486 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8487
8488 * doprnt.c: Don't declare xmalloc, xrealloc.
8489
8490 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8491 (getenv, ctime, getwd): Removed.
8492 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8493
8494 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8495 x_set_tool_bar_lines.
8496
8497 * config.in: Add HAVE_GETWD. Move some definitions above
8498 machine/system includes.
8499
68a5e97b
KH
85002000-06-20 Kenichi Handa <handa@etl.go.jp>
8501
95417e1e
KH
8502 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8503
68a5e97b
KH
8504 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8505 contain information about ENCODING.
8506
8507 * fontset.c (FONTSET_ASCII): Use the first element of char table
8508 for an ASCII font, not defalt slot.
8509 (fontset_ref_via_base): If FONTSET doesn't contain information for
8510 C, try the default fontset.
8511 (make_fontset): Don't copy the default fontset.
8512 (fontset_font_pattern): Likewise.
8513 (accumulate_font_info): If ELT is nil, use the corresponding
8514 element in the default fontset.
8515
3b4fa1b2
DL
85162000-06-19 Dave Love <fx@gnu.org>
8517
943e731c
DL
8518 * syntax.c (Fparse_partial_sexp): Doc fix.
8519
8520 * regex.h: Test PROTOTYPES as well as __STDC__.
8521
3b4fa1b2
DL
8522 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8523 errno, strerror. Put text after #endif in comment.
8524
52283633 8525 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8526
8527 * xterm.c (x_frame_of_widget): Likewise.
8528
cdf0357b
GM
85292000-06-19 Gerd Moellmann <gerd@gnu.org>
8530
8531 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8532 to Vfundamental_mode_abbrev_table.
8533
8534 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8535 bogus objects are marked. This slows down GC by ~80 percent, but
8536 it might be worth trying when debugging GC-related problems.
8537 This feature requires conservative stack marking to be enabled.
8538
8539 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8540 returns XLookupChars, reset `modifiers' to zero.
8541
998e9f8c
DL
85422000-06-19 Dave Love <fx@gnu.org>
8543
8544 * mktime.c: Unprotoized.
8545
18e21ce8 85462000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8547
8548 * data.c (set_internal): If variable is frame-local,
8549 store the new value immediately into the frame parameter alist.
8550
140c4ac6
KR
85512000-06-19 Ken Raeburn <raeburn@gnu.org>
8552
14358466
KR
8553 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8554 in the custom handler pointer.
8555
140c4ac6
KR
8556 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8557 value, or checks for CHAR_META can fail when Lisp_Object is a
8558 union type.
8559 * keymap.c (get_keyelt): Likewise.
8560
10d7bf84
KH
85612000-06-19 Kenichi Handa <handa@etl.go.jp>
8562
8563 * ccl.h (struct ccl_program): New member eol_type.
8564 (struct ccl_spec): New member cr_carryover.
8565
8566 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8567 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8568
8569 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8570 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8571 (decode_eol_post_ccl): New function.
8572 (decode_coding): Don't detect EOL format here for CCL based coding
8573 systems.
8574 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8575 decode_eol_post_ccl after running the CCL program.
8576 (code_convert_region): Don't detect EOL format here for CCL based
8577 coding systems.
8578 (decode_coding_string): Likewise.
8579
52e386c2
KR
85802000-06-18 Ken Raeburn <raeburn@gnu.org>
8581
8582 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8583 when treating it as an integer.
8584
8585 * coding.h (encode_coding_string): Declare.
8586
8587 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8588 it as an integer.
8589
8590 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8591 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8592 to be passed to get_local_map.
8593
8594 * sound.c (Fplay_sound): Don't call make_number on
8595 Frun_hook_with_args count argument.
8596
8597 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8598 for lisp objects in X event structure data field, when lisp
8599 objects are represented with unions.
8600 (x_scroll_bar_to_input_event): Ditto.
8601
b357b9d4
KR
86022000-06-16 Ken Raeburn <raeburn@gnu.org>
8603
8604 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8605 termination of string. Fix sense of test whether
8606 Vline_number_display_limit is an integer.
b357b9d4 8607
a871441d
GM
86082000-06-16 Gerd Moellmann <gerd@gnu.org>
8609
a9021acd
GM
8610 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8611 only if HAVE_X_WINDOWS.
8612
6344985d
GM
8613 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8614 of titles.
8615
427ec082 8616 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8617 out of bounds.
8618
228b083e
EZ
86192000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8620
8621 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8622 of its headers.
8623
c25b53a2
KH
86242000-06-15 Kenichi Handa <handa@etl.go.jp>
8625
8626 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8627 start of the while loop.
8628
a6981b11
GM
86292000-06-15 Gerd Moellmann <gerd@gnu.org>
8630
e9924e52
GM
8631 * atimer.c (alarm_signal_handler): Add forward declaration.
8632
a6981b11
GM
8633 * data.c (set_internal): Remove debug code.
8634
25fa6deb
GM
86352000-06-14 Gerd Moellmann <gerd@gnu.org>
8636
dce6b995
GM
8637 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8638
9f817ea4
GM
8639 * unexec.c (toplevel) [COFF]: Include coff.h.
8640
8641 * s/lynxos.h: New file.
8642
8643 * keymap.c (Fsingle_key_description): Enclose function key and
8644 event symbol names in angle brackets.
8645
8a4e3c0c
GM
8646 * xdisp.c (setup_echo_area_for_printing): Call
8647 message_log_maybe_newline if message_buf_print is not set.
8648
8649 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8650 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8651 function does something useful even when message_buf_print is
8652 already set.
8653
52283633
SM
8654 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8655 New variables.
25fa6deb
GM
8656 (ensure_echo_area_buffers): Initialize echo buffer's
8657 truncate lines setting to nil.
8658 (with_echo_area_buffer): Don't set the echo buffer's truncate
8659 lines setting here.
8a4e3c0c 8660 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8661 of message_truncate_lines.
8662 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8663 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8664 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8665
8666 * keyboard.c (read_char): Bind message-truncate-lines to t
8667 while displaying a help-echo.
8668
8669 * lisp.h (Qmessage_truncate_lines): External declaration.
8670
163dcff3
GM
86712000-06-13 Gerd Moellmann <gerd@gnu.org>
8672
1681ead6
GM
8673 * xdisp.c (Vline_number_display_limit): Renamed from
8674 line_number_display_limit.
8675 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8676 Extend documentation string. Initialize
8677 Vline_number_display_limit to nil meaning no limit.
8678 (decode_mode_spec): Use Vline_number_display_limit with its new
8679 meaning.
8680
163dcff3
GM
8681 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8682
18e21ce8 86832000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8684
8685 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8686
163dcff3
GM
8687 * xfns.c (x_set_frame_parameters): Comment fix.
8688
8689 * frame.c (store_frame_param): Call swap_in_global_binding if the
8690 variable's current binding was chosen based on this frame.
8691
8692 * data.c (swap_in_global_binding): New function.
8693
a704139d
EZ
86942000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8695
8696 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8697 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8698
9b6610db
EZ
86992000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8700
8701 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8702
c68833d2
JR
87032000-06-12 Jason Rumney <jasonr@gnu.org>
8704
8705 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8706
8707 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8708
8709 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8710
8711 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8712
ed1056b3
GM
87132000-06-12 Gerd Moellmann <gerd@gnu.org>
8714
8715 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8716 (syms_of_xfaces): Defsubr Sdump_colors.
8717 (x_free_colors): Don't treat b&w specially on default visual.
8718 (x_free_dpy_colors): New function.
8719 (free_face_colors): Don't check visual class; it's done
8720 in x_free_colors.
8721
8722 * xterm.c (x_frame_of_widget): New function.
8723 (x_alloc_nearest_color_for_widget): Use it.
8724 (x_copy_dpy_color): New function.
8725 (x_destroy_window): Free various colors.
8726
5050a2ef
KH
87272000-06-12 Kenichi Handa <handa@etl.go.jp>
8728
8729 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8730
8731 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8732
8733 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8734
8735 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8736
8737 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8738
fb1b041d
DL
87392000-06-11 Dave Love <fx@gnu.org>
8740
8741 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8742
ff96b5f4
EZ
87432000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8744
8745 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8746
db8eeecd
GM
87472000-06-11 Gerd Moellmann <gerd@gnu.org>
8748
ed1056b3 8749 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8750 to `XEvent *'.
8751
49b71c5f
KH
87522000-06-10 Kenichi Handa <handa@etl.go.jp>
8753
c479bd55
KH
8754 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8755 (regex_compile): Fix the code for handling the case of single byte
8756 char and multibyte char being mixed in a range within [...].
8757
ff6a65c2
KH
8758 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8759 and dst_multibyte members of coding.
8760
49b71c5f
KH
8761 * charset.c (update_charset_table): Update the table
8762 bytes_by_char_head.
8763 (init_charset_once): Initialize elements of bytes_by_char_head to
8764 1 except for leading codes for private charases.
8765
8766 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8767 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8768
9e80b57d
KR
87692000-06-09 Ken Raeburn <raeburn@gnu.org>
8770
8771 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8772 access the data it doesn't point to.
8773
f83fe4b4
GM
87742000-06-08 Gerd Moellmann <gerd@gnu.org>
8775
8776 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8777 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8778 event queue. This is necessary because Emacs otherwise won't
8779 perform a switch-frame to a new frame until some other event, for
8780 example a keystroke event, forces it to do so. This has various
8781 effects, one visible being that the cursor of a frame created with
8782 C-x 5 2 or switched to with a window manager key binding like
8783 A-TAB stays hollow because selected_window isn't on the newly
8784 focused frame until the switch-frame is performed.
8785
8786 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8787 generating a switch-frame event if necessary.
8788
8789 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8790
8791 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8792 it's an integer.
8793
0890801b
KH
87942000-06-08 Kenichi Handa <handa@etl.go.jp>
8795
52283633 8796 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8797
173cbca8
GM
87982000-06-07 Gerd Moellmann <gerd@gnu.org>
8799
3091c2a6
GM
8800 * window.c (displayed_window_lines): Take empty lines at
8801 the bottom of a window into account.
427ec082 8802
f38952fe
GM
8803 * window.c (displayed_window_lines): New function.
8804 (Fmove_to_window_line): Use displayed_window_lines to determine
8805 the number of lines to move, instead of using the window's height.
8806
8807 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8808 to stop reading, even if the form read sets point to a different
8809 value when evaluated.
8810
427ec082 8811 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8812 put the cursor.
8813
6ba6c818
KH
88142000-06-07 Kenichi Handa <handa@etl.go.jp>
8815
8816 * fileio.c (e_write): Free composition data if stored in
8817 coding->cmp_data.
8818
5f1aea9a
GM
88192000-06-06 Gerd Moellmann <gerd@gnu.org>
8820
666852af
GM
8821 * xdisp.c (display_line): Set row's and iterator's
8822 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8823 Set cursor even if row ends in the middle of a character.
8824 (dump_glyph_row): Print values of new flags.
8825 (redisplay_window) <cursor movement in unchanged window>: When
8826 point has been moved forward, and PT is at the end of the cursor
8827 row, don't place the cursor in the next row if the cursor row ends
8828 in the middle of a character or at ZV.
8829
8830 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8831 (struct glyph_row): Add starts_in_middle_of_char_p and
8832 ends_in_middle_of_char_p.
8833 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8834 ends_in_middle_of_char_p flag.
8835 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8836
d13f3e2e
GM
8837 * term.c (append_glyph): Revert change of 2000-06-06.
8838
8839 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8840 padding glyph not fitting on line as whole character not
8841 fitting on line.
8842
5f1aea9a
GM
8843 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8844 this isn't true for images with `:ascent 100'.
8845
10cda9b0
KH
88462000-06-06 Kenichi Handa <handa@etl.go.jp>
8847
ed00559d
KH
8848 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8849 as modified if it is originally unmodified.
8850
10cda9b0
KH
8851 * term.c (encode_terminal_code): Change the way to check if
8852 terminal coding does any conversion.
8853 (append_glyph): Set glyph->pixel_width correctly.
8854
8855 * xdisp.c (display_line): While checking line continuation, pay
8856 attention to a padding glyph.
8857
1969fae2
GM
88582000-06-05 Gerd Moellmann <gerd@gnu.org>
8859
8860 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8861
162ccef4
DL
88622000-06-05 Dave Love <fx@gnu.org>
8863
f19f32dd
DL
8864 * xdisp.c: Include fontset.h.
8865
8866 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8867
8868 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8869
8870 * dispnew.c: Conditionally include term.h.
8871
8872 * coding.h: Declare code_convert_string_norecord.
8873
8874 * frame.h (struct frame): Use volatile unconditionally.
8875
8876 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8877
8878 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8879
8880 * systime.h: Protect against multiple inclusion.
8881 (timezone) [USG5_4]: Define as time_t.
8882
8883 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8884 (Foptimize_char_table, make_temp_name): Declare.
8885
8886 * Makefile.in (xdisp.o): Depend on fontset.h.
8887
8888 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8889
8890 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8891 (Foptimize_char_table, make_temp_name): Declare.
8892
427ec082 8893 * s/irix4-0.h:
162ccef4
DL
8894 * s/irix5-0.h:
8895 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8896
2082fe81
DL
88972000-06-02 Dave Love <fx@gnu.org>
8898
8899 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8900
dcf671d2
GM
89012000-06-02 Gerd Moellmann <gerd@gnu.org>
8902
8903 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8904 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8905 be freed.
8906
8907 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8908 glyph, use the ASCII NUL character to determine the face.
8909
d42122a3
DL
89102000-06-02 Dave Love <fx@gnu.org>
8911
8912 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8913 (VFORK_RETURN_TYPE): Remove.
427ec082 8914
d42122a3
DL
8915 * config.in: Add NO_MATHERR.
8916
dd432f16
DL
89172000-06-01 Dave Love <fx@gnu.org>
8918
90aa4ea8
DL
8919 * cmds.c (internal_self_insert): Don't check
8920 Vbefore_change_function, Vafter_change_function.
8921
8922 * insdel.c (signal_before_change, signal_after_change): Likewise.
8923
8924 * buffer.c (Vbefore_change_function, Vafter_change_function):
8925 Variables and their initializations deleted.
8926
2330c9d4
DL
8927 * callint.c (Fcall_interactively): Doc fix.
8928
dd432f16
DL
8929 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8930
bf9e8804
DL
89312000-05-31 Dave Love <fx@gnu.org>
8932
8933 * textprop.c: Revert last change -- duplicated.
8934
3694b4ab
GM
89352000-05-31 Gerd Moellmann <gerd@gnu.org>
8936
8937 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8938 in #if 0.
8939
8940 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8941
f14156cd
JR
89422000-05-31 Jason Rumney <jasonr@gnu.org>
8943
8119aab8
JR
8944 * search.c (Fre_search_forward, Fre_search_backward)
8945 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8946
f14156cd
JR
8947 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8948
4aab9be3
JR
89492000-05-30 Jason Rumney <jasonr@gnu.org>
8950
8951 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8952 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8953
52283633 8954 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8955
8956 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8957 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8958 expand a nil default_filename.
8959
8960 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8961 pointer to glyph_to_pixel_coords, not a frame.
8962
8963 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8964 coding.h to dependencies.
8965
8966 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8967
8968 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8969 window pointer to be consistent with w32term.c and xterm.c.
8970
8971 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8972 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8973 (Qline_spacing, Qcenter): New variables.
8974 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8975 (x_set_line_spacing): New function.
52283633 8976 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8977 (x_specified_cursor_type): New function.
8978 (x_set_cursor_type): Use it.
8979 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8980 and icon strings.
8981 (validate_x_resource_name, x_get_resource_string): Measure lengths
8982 of external strings in bytes.
8983 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8984 GetTextExtentPoint32 with NULL title.
8985 (Fx_create_frame): Initialize Qline_spacing.
8986 (w32_load_system_font): Initialize font->double_byte_p.
8987 (x_to_w32_charset): Use Vw32_charset_info_alist.
8988 (Image, busy cursor, tooltip functions): Merged changes from
8989 xfns.c. Not yet functional on Windows.
8990
8991 * w32gui.h (W32FontStruct): Add double_byte_p member.
8992
8993 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8994 (emacs_button_translation): Use it.
8995 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8996 in `mask' to be set.
8997
8998 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8999 menu strings.
9000
9001 * w32term.c: Format and doc changes to bring closer to xterm.c.
9002 (w32_char_font_type): New enum.
9003 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9004 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9005 (w32_encode_char): New function.
9006 (x_encode_char): Removed.
9007 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9008 x_encode_char and w32_font_is_double_byte.
9009 (x_produce_image_glyph): Use image_ascent.
9010 (x_produce_glyphs): Use new version of w32_per_char_metric and
9011 handle NULL return value. Allow extra line spacing.
9012 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9013 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9014 w32_font_type member of glyph instead.
9015 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9016 (fast_find_position): Make sure not to consider rows not visible
9017 in the window.
9018 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9019 w32_menu_display_help with input blocked, as it can abort.
9020 (x_display_and_set_cursor): Choose cursor depending
9021 on buffer-local value of cursor_type.
9022 (x_draw_bar_cursor): Add parameter WIDTH.
9023
9024 * w32term.h (CP_DEFAULT): Define.
9025 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9026
10fc3187
GM
90272000-05-30 Gerd Moellmann <gerd@gnu.org>
9028
9029 * search.c (Fre_search_forward, Fre_search_backward)
9030 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9031
d0555360
KH
90322000-05-30 Kenichi Handa <handa@etl.go.jp>
9033
9034 * coding.c (detect_coding_iso2022): Fix code for checking
9035 CODING_CATEGORY_MASK_ISO_8_2.
9036
f1ad044f
SM
90372000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9038
9039 * regex.c (PREFETCH_NOLIMIT): New function.
9040 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9041
84ec3b4b
GM
90422000-05-29 Gerd Moellmann <gerd@gnu.org>
9043
66254a13
GM
9044 * syntax.c (find_defun_start): Move test for
9045 open_paren_in_column_0_is_defun_start outside of the loop.
9046
49e70dec
GM
9047 * xdisp.c (redisplay_window): Really switch buffers when
9048 displaying mode lines, and temporarily set selected_frame to the
9049 frame of the window that's redisplayed.
9050
84ec3b4b
GM
9051 * xfaces.c (free_realized_faces): Block/unblock input.
9052 (free_realized_multibyte_face): Ditto.
9053
869a3a14
DL
90542000-05-29 Dave Love <fx@gnu.org>
9055
9056 * textprop.c (Qkeymap): New variable.
9057 (syms_of_textprop): Intern it.
9058
9059 * keymap.c: Include intervals.h.
9060 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9061
9062 * Makefile.in (keymap.o): Depend on intervals.h.
9063
9064 * keyboard.c (menu_bar_items, tool_bar_items)
9065 (Fexecute_extended_command): Deal with `keymap' property.
9066 (read_key_sequence): Track map from `keymap' property as well as
9067 `local_map'.
9068
9069 * intervals.c (get_local_map): Extra arg to allow looking for
9070 `keymap' too.
9071
9072 * intervals.h (map_property): New enum.
9073 (get_local_map): Extra arg using it.
9074 (Qkeymap): Declare.
9075
84ec3b4b 9076 * lisp.h (get_local_map): Don't declare here.
869a3a14 9077
89d0c844
KH
90782000-05-29 Kenichi Handa <handa@etl.go.jp>
9079
9080 * Makefile.in (callproc.o): Depend on composite.h.
9081
9082 * callproc.c: Include composite.h.
9083 (Fcall_process): Handle composition correctly.
9084
9085 * coding.h (coding_allocate_composition_data): Extern it.
9086 (coding_restore_composition): Likewise.
9087
9088 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9089 yet allocated, finish decoding with result
9090 CODING_FINISH_INSUFFICIENT_CMP.
9091 (coding_allocate_composition_data): Make it non-static.
9092 (coding_restore_composition): Likewise.
9093
797a084a
EZ
90942000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9095
9096 * charset.c (syms_of_charset): Revert last change.
9097
cf872af5
EZ
90982000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9099
9100 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9101 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9102 Handa.
cf872af5 9103
5b1ae051
EZ
91042000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9105
9106 * charset.c (syms_of_charset): Set width of character sets
9107 eight-bit-control and eight-bit-graphic to 1 column.
9108
34ec9ebe
GM
91092000-05-26 Gerd Moellmann <gerd@gnu.org>
9110
9111 * config.in (HAVE_SPEED_T): New define.
9112
9113 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9114 `extern speed_t'.
9115
dd854dc2
DL
91162000-05-26 Dave Love <fx@gnu.org>
9117
9118 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9119
9120 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9121 (Fsubr_arity): New function.
9122 (syms_of_data): Install them.
9123
ba9f8f95
KH
91242000-05-26 Kenichi Handa <handa@etl.go.jp>
9125
0f3e0672
KH
9126 * charset.c (init_charset_once): Set the table bytes_by_char_head
9127 correctly.
9128
cebefb44
KH
9129 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9130 the default fontset to what Emacs uses by default.
0f3e0672
KH
9131 (check_registry_encoding): This function deleted.
9132 (Fset_fontset_font): Remove the adhoc condition for the default
9133 fontset. Allow cons in FONTNAME.
cebefb44 9134
0f3e0672
KH
9135 * fns.c (map_char_table): Ignore char-table entries for
9136 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9137
7a18af49
KR
91382000-05-25 Ken Raeburn <raeburn@gnu.org>
9139
9140 * emacs.c (main): Initialize keyboard syms before initializing
9141 window code, so face names are available.
9142
d2af47df
SM
91432000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9144
9145 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9146 of an anchor at the beginning of a shy-group.
9147
fc6a6a4e
GM
91482000-05-25 Gerd Moellmann <gerd@gnu.org>
9149
9150 * xdisp.c (handle_invisible_prop): Don't try to skip over
9151 invisible text if end of text is already reached.
9152
005f0d35
DL
91532000-05-25 Dave Love <fx@gnu.org>
9154
02513cdd
DL
9155 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9156
005f0d35
DL
9157 * coding.c (encode_eol): Add null statement after label.
9158
89f6ca4e
EZ
91592000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9160
9161 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9162 2000-05-20.
9163
a4e1759e
KH
91642000-05-25 Kenichi Handa <handa@etl.go.jp>
9165
9166 * ccl.c (ccl_driver): Fix previous change.
9167
eacfd7fe
KH
91682000-05-25 Kenichi Handa <handa@etl.go.jp>
9169
46ab33a9
KH
9170 * coding.c (run_pre_post_conversion_on_str): Set point to the
9171 beginning of buffer before calling coding->post_read_conversion.
9172 (decode_coding_string): Give correct args to
9173 run_pre_post_conversion_on_str.
9174 (encode_coding_string): Likewise.
9175
eacfd7fe
KH
9176 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9177 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9178 eight-bit-graphic correctly.
9179
f8569325
DL
91802000-05-24 Kenichi HANDA <handa@etl.go.jp>
9181
9182 * fileio.c (Finsert_file_contents): Even if a file is not found,
9183 execute codes for setting up coding system. Call
9184 after-insert-file-functions unconditionally.
9185
04545643
GM
91862000-05-24 Gerd Moellmann <gerd@gnu.org>
9187
9188 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9189 BSD_PGRPS are not defined.
9190
747d90ea
KH
91912000-05-24 Kenichi Handa <handa@etl.go.jp>
9192
9193 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9194 DESCRIPTION.
9195 (syms_of_charset): Avoid building same strings.
9196
716e3b88
GM
91972000-05-23 Gerd Moellmann <gerd@gnu.org>
9198
9199 * lread.c (Fload): Add a comment about the meaning of
9200 Vuser_init_file being t.
9201
9202 * puresize.h (BASE_PURESIZE): Increase to 675000.
9203
9204 * s/gnu-linux.h (setpgrp): Don't define it here because this
9205 prevents compilation on GNU/Linux systems with glib 2.2.
9206
9207 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9208 as setpgid.
427ec082 9209
9aeb39fa
EZ
92102000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9211
9212 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9213 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9214 version.
9215 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9216
29ced61b
KH
92172000-05-23 Kenichi Handa <handa@etl.go.jp>
9218
52283633 9219 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9220
3d80f24d
KH
9221 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9222
52283633 9223 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9224
29ced61b
KH
9225 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9226
d7e00792
KH
92272000-05-22 Kenichi Handa <handa@etl.go.jp>
9228
c9d80d38
KH
9229 * keyboard.c (read_char): Allow character codes 128..255 to be
9230 handled by input-method-function.
9231
d7e00792
KH
9232 * insdel.c (adjust_markers_for_replace): Fix previous change.
9233 (adjust_after_replace): If PREV_TEXT is nil, call
9234 adjust_markers_for_insert, not adjust_markers_for_replace.
9235
087121cc 92362000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9237
087121cc
GM
9238 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9239 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9240 [HAVE_GRANDPT]: Define.
9241 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9242
9243 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9244 like SYSV_PTYS.
9245
9246 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9247
9248 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9249
c9671f81
KH
92502000-05-20 Kenichi Handa <handa@etl.go.jp>
9251
9252 The following changes are to handle 8-bit characters in a
9253 multibyte buffer/string without facing with byte combining
9254 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9255 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9256
9257 * Makefile.in (fns.o): Depend on charset.h.
9258
9259 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9260 convert it to unibyte.
9261 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9262
9263 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9264 apparent char boundary.
9265 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9266 0x80..0x9F to/from multibyte form.
9267
9268 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9269 to unibyte.
9270
9271 * callproc.c (Fcall_process): Always encode an argument string if
9272 it is multibyte. Setup src_multibyte and dst_multibyte members of
9273 process_coding properly.
ce75fd23 9274
c9671f81
KH
9275 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9276 SPLIT_NON_ASCII_CHAR.
9277
9278 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9279 as is.
9280 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9281
52283633 9282 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9283 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9284 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9285 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9286 and eight-bit-graphic.
9287 (char_to_string): Likewise. Signal an error for too large
9288 character code.
9289 (char_printable_p): Return 0 for 8-bit characters.
9290 (update_charset_table): Update iso_charset_table only when a final
9291 character is non-negative.
9292 (find_charset_in_text): Renamed from find_charset_in_str.
9293 Arguments and return value changed. Callers changed.
9294 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9295 be -1 if CHARSET is used only internally.
9296 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9297 eight-bit-graphic.
9298 (Fcharset_after): Simplified.
9299 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9300 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9301 (multibyte_chars_in_text): Simplified by assuming there's no
9302 invalid multibyte sequence.
52283633
SM
9303 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9304 (str_as_unibyte): New functions.
9305 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9306 (init_charset_once): Initialization for
9307 LEADING_CODE_8_BIT_CONTROL.
9308 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9309 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9310 eight-bit-control and eight-bit-graphic.
9311
52283633
SM
9312 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9313 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9314 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9315 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9316 (CHARSET_REVERSE_CHARSET): Likewise.
9317 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9318 eight-bit-graphic.
9319 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9320 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9321 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9322 encounter an invalid multibyte sequence.
9323 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9324 sequence is always valid.
9325 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9326 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9327 (CHAR_STRING): For 8-bit characters, call char_to_string.
9328 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9329 multibyte sequence is always valid.
9330 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9331 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9332 (str_as_unibyte): Extern them.
c9671f81 9333 (BCOPY_SHORT): Fix a bug.
52283633 9334 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9335 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9336 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9337 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9338
bd4bde7f 9339 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9340 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9341 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9342 (EMIT_BYTES): New macros.
9343 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9344 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9345 macros deleted.
9346 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9347 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9348 check the validity of multibyte sequence.
9349 (decode_coding_emacs_mule): New function.
9350 (encode_coding_emacs_mule): New macro.
9351 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9352 the source.
9353 (DECODE_ISO_CHARACTER): Just return a character code.
9354 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9355 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9356 EMIT_CHAR to produced decoded characters. Exit the loop only by
9357 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9358 block here.
9359 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9360 only position codes for an invalid character.
9361 (encode_designation_at_bol): Return new destination pointer. 5th
9362 arg DSTP is changed to DST.
9363 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9364 from the source by ONE_MORE_CHAR. Don't handle the case of last
9365 block here.
9366 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9367 macros deleted.
52283633
SM
9368 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9369 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9370 TWO_MORE_BYTES to fetch a byte from the source.
9371 (encode_eol): Pay attention to coding->src_multibyte.
9372 (detect_coding, detect_eol): Preserve members src_multibyte and
9373 dst_multibyte.
9374 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9375 (encoding_buffer_size): Set magnification to 3 for all coding
9376 systems that require encoding.
9377 (ccl_coding_driver): For decoding, be sure that the result is
9378 valid multibyte sequence.
9379 (decode_coding): Initialize coding->errors and coding->result.
9380 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9381 and raw-text, always call decode_eol. Handle the case of last
9382 block here. If not coding->dst_multibyte, convert the resulting
9383 sequence to unibyte.
9384 (encode_coding): Initialize coding->errors and coding->result.
9385 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9386 and raw-text, always call encode_eol. Handle the case of last
9387 block here.
9388 (shrink_decoding_region, shrink_encoding_region): Detect cases
9389 that we can't skip data more rigidly.
9390 (code_convert_region): Setup src_multibyte and dst_multibyte
9391 members of coding. For decoding, if the buffer is multibyte,
9392 convert the source sequence to unibyte in advance. For encoding,
9393 if the buffer is multibyte, convert the resulting sequence to
9394 multibyte afterward.
9395 (run_pre_post_conversion_on_str): New function.
9396 (code_convert_string): Deleted and divided into the following two.
9397 (decode_coding_string, encode_coding_string): New functions.
9398 (code_convert_string1, code_convert_string_norecord): Call one of
9399 above.
9400 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9401 MAKE_NON_ASCII_CHAR.
52283633
SM
9402 (Fset_terminal_coding_system_internal)
9403 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9404 and dst_multibyte members.
9405 (init_coding_once): Initialize iso_code_class with new enum
9406 ISO_control_0 and ISO_control_1.
9407
9408 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9409 devided into ISO_control_0 and ISO_control_1.
9410 (struct coding_system): New members src_multibyte, dst_multibyte,
9411 errors, and result. Delete member fake_multibyte.
9412 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9413 nonzero.
9414 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9415 nonzero.
9416
9417 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9418 (Faset): Likewise.
9419
9420 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9421 multibyte form.
9422 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9423 combining occurs.
9424 (Ftranspose_region): Delete codes for handling byte combining.
9425
9426 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9427 dst_multibyte members of coding. On handling REPLACE on unibyte
9428 buffer, convert the result of decode_coding to unibyte. On
9429 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9430 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9431 multibyteness of the source (buffer or string).
9432
9433 * fns.c (concat): Handle 8-bit characters correctly.
9434 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9435 unibyte in the result.
9436 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9437 valid multibyte form in the result.
9438 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9439 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9440 return -1, signal an error.
9441 (base64_encode_1): New arg MULTIBYTE. Get each character by
9442 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9443 character is found, return -1.
9444 (Fbase64_decode_region): Delete codes for handling byte-combining.
9445 Treat each decoded byte as a unibyte character.
9446 (Fbase64_decode_string): Return unibyte string.
9447 (Fcompare_strings, concat, string_byte_to_char): Use
9448 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9449 FETCH_STRING_CHAR_ADVANCE.
9450 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9451 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9452
9453 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9454 SPLIT_NON_ASCII_CHAR.
9455 (fontset_ref_via_base, fontset_set): Likewise
9456
9457 * insdel.c (adjust_markers_for_record_delete): Deleted.
9458 (adjust_markers_for_insert): Argument changed. Caller changed.
9459 (adjust_markers_for_replace): Likewise.
52283633
SM
9460 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9461 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9462 (copy_text): Delete unused local varialbe c_save. For converting
9463 to multibyte, be sure to make all 8-bit characters in valid
9464 multibyte form.
9465 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9466 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9467 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9468 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9469 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9470 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9471 handling byte combining.
9472 (adjust_before_replace): Deleted.
427ec082 9473
c9671f81
KH
9474 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9475 SPLIT_NON_ASCII_CHAR.
9476 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9477 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9478 (Fkey_description): Likewise.
9479
9480 * lread.c (read1): On reading multibyte string, be sure to make
9481 all 8-bit chararacters in valid multibyte form.
9482 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9483
9484 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9485 unconditionally.
9486
9487 * process.c (Fstart_process): GCPRO current_dir before calling
9488 Ffind_operation_coding_system. Encode arguments here.
9489 (create_process): Don't encode arguments here. Setup
9490 src_multibyte and dst_multibyte members of struct coding.
9491 (read_process_output): Setup src_multibyte and dst_multibyte
9492 members of struct coding. If the output is to multibyte buffer,
9493 always decode the output of the process. Adjust the
52283633 9494 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9495 (send_process): Setup coding->src_multibyte according to the
9496 multibyteness of the source.
9497
52283633 9498 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9499 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9500 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9501
52283633 9502 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9503
9504 * w16select.c (Fw16_set_clipboard_data): Setup members
9505 src_multibyte and dst_multibyte of coding. Adjusted for the
9506 change for find_charset_in_str.
9507 (Fw16_get_clipboard_data): Likewise.
9508
9509 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9510 dst_multibyte of coding.
9511 (x_to_w32_font): Likewise.
9512
9513 * w32select.c (Fw32_set_clipboard_data): Setup members
9514 src_multibyte and dst_multibyte of coding. Adjusted for the
9515 change for find_charset_in_str.
9516 (Fw32_get_clipboard_data): Likewise.
9517
9518 * xdisp.c (get_next_display_element): Handle 8-bit characters
9519 correctly.
52283633
SM
9520 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9521 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9522
9523 * xselect.c (selection_data_to_lisp_data): Setup members
9524 src_multibyte and dst_multibyte of coding. Adjusted for the
9525 change for find_charset_in_str.
9526 (lisp_data_to_selection_data): Likewise.
9527
5f64c9e0
GM
95282000-05-19 Gerd Moellmann <gerd@gnu.org>
9529
52283633 9530 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9531
5f64c9e0
GM
9532 * dispextern.h (Vimage_types): Add extern declaration.
9533
9534 * xdisp.c (Vimage_types): Moved here from xfns.c.
9535 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9536
9537 * xfns.c (Vimages_types): Moved to xdisp.c.
9538 (syms_of_xfns): Move `image-types' to xdisp.c.
9539
9540 * w32fns.c (Vimage_types): Removed.
9541 (syms_of_w32fns): Remove `image-types'.
9542
813086ea
KH
95432000-05-18 Kenichi Handa <handa@etl.go.jp>
9544
9545 * fns.c (map_char_table): Pay attention to character number of
9546 charset. Check the validity of charset at the first level. For
9547 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9548 the default value.
9549
9550 * fontset.c: Include "buffer.h".
9551 (fs_load_font): If the face has fontset, record the face ID in
9552 that fontset.
9553 (Finternal_char_font): New function.
9554 (accumulate_font_info): New function.
9555 (Ffontset_info): Rewritten for the new fontset implementation.
9556 (syms_of_fontset): Register Vdefault_fontset in the first element
9557 of Vfontset_table. Include Vdefault_fontset in
9558 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9559 function.
9560
bdaebbf0
DL
95612000-05-16 Dave Love <fx@gnu.org>
9562
9563 * m/iris5d.h: Deleted -- unused.
9564
cb613bb8
GM
95652000-05-16 Gerd Moellmann <gerd@gnu.org>
9566
b15f3b77
GM
9567 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9568 `invalid' instead of `illegal'.
9569
9570 * indent.c (Fmove_to_column): When ending within a tab, insert
9571 spaces first so that markers at the end of the tab get adjusted.
9572
835c1b36
GM
9573 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9574 buffer list that wasn't selected in that frame.
9575
cb613bb8
GM
9576 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9577 is needed on mescaline, use a 2 char prefix, and call
9578 make_temp_name with second arg non-zero.
9579
9580 * fileio.c (make_temp_name): New function, extracted from
9581 Fmake_temp_name.
9582 (Fmake_temp_name): Use it.
9583
f685bea9
EZ
95842000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9585
52283633 9586 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9587
a1b8d58b
GM
95882000-05-15 Gerd Moellmann <gerd@gnu.org>
9589
9590 * Makefile.in (lisp): Add env.elc.
9591
9592 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9593
a265079f
GM
95942000-05-12 Gerd Moellmann <gerd@gnu.org>
9595
9596 * search.c (Freplace_match): Handle case of `\N' in the
9597 replacement when there's no group N.
9598
da4496b6
GM
95992000-05-11 Gerd Moellmann <gerd@gnu.org>
9600
0ace421a
GM
9601 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9602 of the message to message_dolog.
9603
1172eb8d
GM
9604 * keyboard.c (read_char): Don't clear current message for help
9605 events; let the code handling help events handle this. Change
9606 code detecting help events that should be ignored.
9607
da4496b6
GM
9608 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9609 we're interating over a string.
9610
0623e40f
DL
96112000-05-09 Dave Love <fx@gnu.org>
9612
9613 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9614 that offset before writing. Move gcpro region past call of
9615 Ffile_regular_p.
9616
bae2503b
DL
96172000-05-04 Dave Love <fx@gnu.org>
9618
9619 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9620
ec82fb2f
GM
96212000-05-04 Gerd Moellmann <gerd@gnu.org>
9622
9623 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9624 of inserted characters when BUF equals the current buffer, and PT
9625 is in front of or equal to FROM.
9626
cbf18892
GM
96272000-05-03 Gerd Moellmann <gerd@gnu.org>
9628
4ff40dd0
GM
9629 * xdisp.c (handle_single_display_prop): If display property value
9630 is invalid, or something not supported on the frame, restore
9631 iterator's position to what it was initially. Make sure to return
9632 0 for invalid and unsupported property values.
9633
cbf18892
GM
9634 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9635 that x_per_char_metric returns null.
9636
1b0672c3
GM
96372000-05-02 Gerd Moellmann <gerd@gnu.org>
9638
576da55d
GM
9639 * xterm.h (struct face): Add forward declaration.
9640 (struct image): Ditto.
9641 (image_ascent): Add prototype.
9642
9643 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9644 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9645 image_ascent instead of using IMAGE_ASCENT.
9646
9647 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9648 (IMAGE_ASCENT): Removed.
9649
9650 * xfns.c (Qcenter): New variable.
9651 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9652 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9653 (image_ascent): New function.
9654 (lookup_image): Recognize `:ascent center'.
9655 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9656 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9657 (xbm_load): Don't set image's ascent here.
9658 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9659 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9660 check ascent values here.
9661 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9662 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9663 (syms_of_xfns): Initialize Qcenter.
9664
1b0672c3
GM
9665 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9666 to the limits, increase the limits.
9667
0d7811ed
KH
96682000-05-01 Kenichi Handa <handa@etl.go.jp>
9669
9670 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9671 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9672
a943a5ca
GM
96732000-04-28 Gerd Moellmann <gerd@gnu.org>
9674
9675 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9676 taller than the window.
9677
5dba1e29
KH
96782000-04-28 Kenichi Handa <handa@etl.go.jp>
9679
9680 * xfaces.c (realize_x_face): Fix the argument of the second
9681 xassert. BASE_FACE may not be a face for ASCII.
9682
353964e3
GM
96832000-04-27 Gerd Moellmann <gerd@gnu.org>
9684
c76e04a8
GM
9685 * print.c (print_object): Treat print-length < 0 as nil.
9686
9687 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9688
9689 * s/freebsd.h (TERMCAP_OBJ): Removed.
9690 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9691
9692 * lread.c (read1): Don't treat period followed by certain
9693 characters as symbol start.
9694
9695 * xfns.c (slurp_file): New function.
9696 (xbm_image_p): Handle case of in-memory XBM files.
9697 (xbm_scan): Rewritten to work on memory buffers instead of files.
9698 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9699 Work on memory buffers instead of files. If DATA is null test
9700 if buffer looks like an in-memory XBM file.
9701 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9702 memory buffers instead of files.
9703 (xbm_file_p): New function.
9704 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9705
353964e3
GM
9706 * lread.c (end_of_file_error): New function.
9707 (read1): Call it instead of signaling `end-of-file' directly.
9708
427ec082 9709 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9710 with Fprinc instead of Fprin1.
9711
24d744ac
KR
97122000-04-26 Ken Raeburn <raeburn@gnu.org>
9713
9714 * window.c (freeze_window_start): Check that minibuffer scroll
9715 window isn't nil before extracting the window structure pointer
9716 from it.
9717
9718 * undo.c (record_delete): If we hit the end of the undo list, stop
9719 picking elements apart.
9720
7464346d
GM
97212000-04-26 Gerd Moellmann <gerd@gnu.org>
9722
9723 * xdisp.c (display_line): If lines are continued, restore
9724 iterator's ascent/descent information to the values before the
9725 first glyph not fitting on the line.
9726
612839b6
GM
97272000-04-25 Gerd Moellmann <gerd@gnu.org>
9728
9729 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9730 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9731
9732 * dispnew.c (increment_matrix_positions): Renamed from
9733 increment_glyph_matrix_buffer_positions.
9734 (increment_row_positions): Renamed from
9735 increment_glyph_row_buffer_positions.
9736
9737 * dispextern.h: Change names of renamed functions from dispnew.c
9738 in prototypes.
9739
cc181e95
GM
97402000-04-24 Gerd Moellmann <gerd@gnu.org>
9741
abfcc168
GM
9742 * fileio.c (Fdo_auto_save): Create directories for auto-save
9743 list file if necessary.
9744
cc181e95
GM
9745 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9746 from buffer or frame.
9747 (automatic_hscrolling_p): New variable.
9748 (hscroll_windows): Scroll windows horizontally only if automatic
9749 hscrolling is allowed.
9750 (syms_of_xdisp): New variable `automatic-hscrolling'.
9751
9752 * frame.h (struct frame): Add member extra_line_spacing.
9753
9754 * xfns.c (x_set_line_spacing): New function.
9755 (Fx_create_frame): Set line spacing from resources.
9756 (Qline_spacing): New variable.
9757 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9758
cc181e95
GM
9759 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9760
9761 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9762 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9763 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9764 extra_line_spacing from default value.
9765 (init_buffer_once): Initialize default value of extra_line_spacing.
9766
9767 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9768 and extra3.
9769
9770 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9771 prompt_width. Add extra line spacing.
9772
9773 * term.c (produce_glyphs): Remove reference to struct it's
9774 prompt_width.
9775
9776 * dispextern.h (struct it): Remove member prompt_width, add
9777 extra_line_spacing.
9778
58827478
GM
97792000-04-22 Gerd Moellmann <gerd@gnu.org>
9780
9781 * dispnew.c (update_frame_line): When writing a whole line, make
9782 sure cursor is in the right row afterwards, otherwise a use of
9783 capability `ch' in cmgoto might leave the cursor in the row below.
9784
25a87f42
GM
97852000-04-21 Gerd Moellmann <gerd@gnu.org>
9786
9787 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9788
9789 * keyboard.c (timer_check): Fix typo in comment.
9790
54edf5c2
KH
97912000-04-21 Kenichi Handa <handa@etl.go.jp>
9792
9793 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9794 name change: ch -> character.
9795
3a64eef5
GM
97962000-04-20 Gerd Moellmann <gerd@gnu.org>
9797
9798 * keyboard.c (echo_message_buffer): New variable.
9799 (echo_now): Set echo_message_buffer to the echo area buffer used
9800 to display the echo.
9801 (cancel_echoing): Reset echo_message_buffer to nil.
9802 (read_char): Code rewritten that handles canceling an echo or
9803 echoing a dash, respectively.
9804
9805 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9806 directory doesn't exist.
9807
6142fdcb
DL
98082000-04-19 Dave Love <fx@gnu.org>
9809
9810 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9811 (concat): Don't allow numeric args.
9812 (Fconcat): Doc change.
6142fdcb 9813
ac6b5352
SM
98142000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9815
9816 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9817 instead define end_match(1|2) more carefully.
9818 Use GET_CHAR_BEFORE_2 for `begline'.
9819
cb9215e4
GM
98202000-04-19 Gerd Moellmann <gerd@gnu.org>
9821
5e3dac3f
GM
9822 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9823 on 64-bit systems where NULL is defined as `0'.
9824
9825 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9826 the `variable argument list' to make it work on Alpha.
9827
cb9215e4
GM
9828 * m/alpha.h (_LP64) [!_LP64]: Define.
9829 (ORDINARY_LINK): Define for NetBSD.
9830
9831 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9832
f532dca0
DL
98332000-04-19 Dave Love <fx@gnu.org>
9834
c750667e
DL
9835 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9836 change.
9837
9838 * Makefile.in (LIBS): Don't use.
9839 (GETLOADAVG_OBJ): Define again.
9840 (otherobj): Add GETLOADAVG_OBJ.
9841
f532dca0
DL
9842 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9843
1c7e22fd
GM
98442000-04-18 Gerd Moellmann <gerd@gnu.org>
9845
f6d3257b
GM
9846 * lread.c (read_filtered_event): Cancel and start busy cursor.
9847
427ec082 9848 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9849 that the per-character metrics may be null.
9850
e10f64e7
GM
98512000-04-17 Gerd Moellmann <gerd@gnu.org>
9852
0daee095
GM
9853 * buffer.c (clone_per_buffer_values): New function.
9854 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9855 clone_per_buffer_values if CLONE is not nil.
9856
e10f64e7
GM
9857 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9858
38687d43
DL
98592000-04-16 Dave Love <fx@gnu.org>
9860
9861 * Makefile.in: Remove obsolete localcpp stuff.
9862 (GETLOADAVG_OBJ): Don't define.
9863 (obj): Move LIBOBJS...
9864 (otherobj): ... to here.
9865 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9866 whitespace-only lines after the continuation (Irix).
9867
c21c7262
GM
98682000-04-14 Gerd Moellmann <gerd@gnu.org>
9869
9870 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9871
9872 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9873
314767c0
DL
98742000-04-14 Dave Love <fx@gnu.org>
9875
9876 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9877 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9878 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9879 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9880 NLIST_STRUCT.
9881
9882 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9883 autoconfiscated HAVE_GETLOADAVG.
9884
9885 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9886 BROKEN_MKTIME.
9887
a2522dca
GM
98882000-04-14 Gerd Moellmann <gerd@gnu.org>
9889
9890 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9891 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9892
33744b5d
DL
98932000-04-14 Dave Love <fx@gnu.org>
9894
c21c7262 9895 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9896 (INTERVAL_SRC): Convert to make variable.
9897 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9898 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9899 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9900 add LIBOBJS.
9901 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9902 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9903 (shortlisp): Add facemenu, float-sup, frame.
9904 (SOME_MACHINE_LISP): Remove them from here.
9905 (LIBES): Change unused LDLIBS to autoconf LIBS.
9906
9907 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9908
9d3d5916
KH
99092000-04-14 Kenichi Handa <handa@etl.go.jp>
9910
9911 * composite.c (update_compositions): If FROM and TO are not in a
9912 valid range, do nothing.
9913
198e3c7a
GM
99142000-04-13 Gerd Moellmann <gerd@gnu.org>
9915
52283633 9916 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9917
52283633 9918 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9919
9920 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9921 as TERMCAP_OBJ.
9922
055a28c9
EZ
99232000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9924
9925 * fileio.c (a_write): Remove redundant semi-colons.
9926 (e_write): Return -1 if failed to write all the data.
9927 This fixes the changes made at 1999-12-15.
9928
f5c75033
DL
99292000-04-12 Dave Love <fx@gnu.org>
9930
9931 * fns.c (mapcar1): Test for null vals to support mapc.
9932 (Fmapc): New function.
9933
0c3cfc51
EZ
99342000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9935
9936 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9937 (IT_frame_up_to_date): Support the buffer local value of
9938 cursor-type, if defined.
9939
33465a31
DL
99402000-04-10 Dave Love <fx@gnu.org>
9941
9942 * editfns.c (preceding-char, following-char): Doc fix.
9943
6ed56568
KR
99442000-04-10 Ken Raeburn <raeburn@gnu.org>
9945
9946 * Makefile.in (temacs): Revert 2000-03-12 change.
9947
7cf80d4e
JR
99482000-04-10 Jason Rumney <jasonr@gnu.org>
9949
9950 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9951
34f3f342
GM
99522000-04-10 Gerd Moellmann <gerd@gnu.org>
9953
1a1b1895
GM
9954 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9955 area buffer, if it's not set up yet.
9956
34f3f342
GM
9957 * indent.c (compute_motion): Set immediate_quit.
9958
be0dbdab
GM
99592000-04-09 Gerd Moellmann <gerd@gnu.org>
9960
52283633 9961 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9962 (realize_tty_face): Suppress boldness if colors are the inverse of
9963 the default colors, and tty_suppress_bold_inverse_default_colors_p
9964 is set.
9965 (Ftty_suppress_bold_inverse_default_colors): New function.
9966 (syms_of_xfaces): Defsubr it.
9967
be0dbdab
GM
9968 * buffer.c (Frestore_buffer_modified_p): New function.
9969 (syms_of_buffer): Defsubr it.
9970
e8413c3b
KR
99712000-04-08 Ken Raeburn <raeburn@gnu.org>
9972
87f67317
KR
9973 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9974 charset id (int) argument, not a charset (Lisp_Object).
9975
e8413c3b
KR
9976 * coding.h (code_convert_string): Declare.
9977 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9978 object, as the fourth argument to code_convert_string.
9979
52283633 9980 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9981 (Fset_fontset_font): Use EQ to compare lisp objects.
9982
7c752c80
KR
99832000-04-05 Ken Raeburn <raeburn@gnu.org>
9984
c0333abc
KR
9985 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9986 a pointer that looks like a lisp object.
9987 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9988 zero, instead see whether it's an integer object, since they can't
9989 have intervals.
9990 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9991
52283633
SM
9992 * dispnew.c (allocate_matrices_for_frame_redisplay)
9993 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9994 to convert between (unsigned) int values and lisp integers.
9995 * keyboard.c (read_key_sequence): Likewise.
9996 * lread.c (substitute_object_recurse): Likewise.
9997 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9998 * minibuf.c (do_completion, Fminibuffer_complete_word)
9999 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10000 * term.c (produce_special_glyphs): Likewise.
10001
10002 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10003 * print.c (print_preprocess, print_object): Likewise.
10004
10005 * search.c (compile_pattern): Use NILP when checking for nil.
10006
74e49b38
KR
10007 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10008 __OPTIMIZE__]: Provide a GNU C macro version that handles
10009 lisp-object unions.
10010 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10011 field, to better cope with ENABLE_CHECKING and calls that modify a
10012 Lisp_Object using its old value.
10013
685e5ed2
GM
100142000-04-04 Gerd Moellmann <gerd@gnu.org>
10015
c407c570
GM
10016 * window.c (compare_window_configurations): Signal an error
10017 if parameters C1 or C2 aren't window configurations.
10018
685e5ed2
GM
10019 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10020 AFTER_POTENTIAL_GC calls around calls to functions that can
10021 signal an error and thus invoke the debugger.
10022
587a49ab
GM
100232000-04-03 Gerd Moellmann <gerd@gnu.org>
10024
62f20204
GM
10025 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10026 an error if decoding fails.
10027
587a49ab
GM
10028 * keyboard.c (lispy_mouse_names): Variable removed.
10029 (Vlispy_mouse_stem): New variable.
10030 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10031 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10032 for any mouse button number. Increase size of mouse_syms and
10033 button_down_location as needed. Call modify_event_symbol with
10034 different arguments.
10035 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10036 Call modify_event_symbol with different arguments.
10037 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10038 for any button number. Call modify_event_symbol with different
10039 arguments.
10040 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10041 Accept a string for NAME_ALIST_OR_STEM.
10042
10043 * lisp.h (larger_vector): Add prototype.
10044
10045 * fns.c (larger_vector): Make externally visible.
10046
10047 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10048
2d1675e4
SM
100492000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10050
10051 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10052 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10053 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10054 we are between str1 and str2.
10055 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10056 (PATFETCH): Use `TRANSLATE'.
10057 (PATFETCH_RAW): Fetch multibyte char if applicable.
10058 (PATUNFETCH): Remove.
10059 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10060 When writing a char, write it directly into the pattern buffer rather
10061 than going needlessly through a temp char-array.
10062 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10063 multibyte magic and remove the useless `#ifdef emacs'.
10064 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10065 buffer.
10066
10067 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10068 conditional on `emacs'.
10069
10070 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10071
cc2d8c6b
KR
100722000-04-01 Ken Raeburn <raeburn@gnu.org>
10073
10074 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10075 non-union-type versions of XMARK and friends here, because XMARK
10076 and friends won't work on an integer field if NO_UNION_TYPE is not
10077 defined.
52283633 10078 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10079
52283633 10080 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10081 (syms_of_composite): Delete local var NARGS, pass an int as first
10082 argument to Fmake_hash_table.
10083
2387b382
KR
10084 * editfns.c (text_property_stickiness): Use NILP to test
10085 Lisp_Object boolean value.
10086 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10087 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10088 problems reading from and changing the same lisp value in an
10089 XSETSTRING call.
10090
27660e89
GM
100912000-04-01 Gerd Moellmann <gerd@gnu.org>
10092
10093 * term.c (TN_no_color_video): New variable.
10094 (term_init): Intitialize TN_no_color_video.
10095 (enum no_color_bit): New enumeration.
10096 (MAY_USE_WITH_COLORS_P): New macro.
10097 (turn_on_face): Use it to determine if attributes may be used
10098 combined with colors.
10099
3578db3c
KR
101002000-04-01 Ken Raeburn <raeburn@gnu.org>
10101
10102 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10103 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10104 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10105 proper accessor macros.
10106 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10107 (grow_mini_window): Fix typo getting int value of root->height.
10108
6fc556fd
KR
10109 * xdisp.c (compute_string_pos): Fix order of arguments to
10110 string_pos_nchars_ahead.
10111 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10112 count arg to variable-arg routines like Frun_hook_with_args and
10113 Fformat.
587a49ab
GM
10114 (back_to_previous_visible_line_start)
10115 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10116 fixed-arg routines like Fget_char_property and Fmake_string.
10117 (reconsider_clip_changes): Use XINT when comparing integer lisp
10118 objects, or passing them as int arguments.
587a49ab
GM
10119 (mark_window_display_accurate, insert_left_trunc_glyphs)
10120 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10121 storing or passing integer values as lisp objects.
10122 (set_cursor_from_row, highlight_trailing_whitespace): Use
10123 INTEGERP, not implicit test against zero, for glyph object.
10124 (try_window_id): Don't use make_number when we want an int value.
10125
10126 * xfaces.c (xlfd_symbolic_value): Make last argument a
10127 Lisp_Object, to be consistent with callers.
10128 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10129 (lface_hash): Apply XFASTINT to lisp values before folding in.
10130
10131 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10132 fill in window width and height. Pass an int, not a lisp object,
10133 as first arg to Finsert.
10134
6e7b2457
GM
101352000-04-01 Gerd Moellmann <gerd@gnu.org>
10136
610d841e
GM
10137 * xfaces.c (realize_basic_faces): Block input while realizing
10138 the faces.
10139
6e7b2457
GM
10140 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10141
10142 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10143
aa110c0c
GM
101442000-03-31 Gerd Moellmann <gerd@gnu.org>
10145
10146 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10147 or ASCII, handle case that per-char metric is null.
aa110c0c 10148
8801a864
KR
101492000-03-30 Ken Raeburn <raeburn@gnu.org>
10150
c6129d7e
KR
10151 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10152
52283633
SM
10153 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10154 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10155 pointer, using eassert.
10156 * frame.h (XFRAME): Likewise.
10157
52283633
SM
10158 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10159 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10160 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10161 * data.c (set_internal): Likewise.
52283633
SM
10162 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10163 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10164 * fileio.c (auto_save_1): Likewise.
10165 * insdel.c (check_markers): Likewise.
10166 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10167 * undo.c (record_insert): Likewise.
10168 * vmsproc.c (child_sig): Likewise.
10169 * window.c (unshow_buffer, window_loop): Likewise.
10170 * xterm.c (x_erase_phys_cursor): Likewise.
10171
8e7af858
GM
101722000-03-30 Gerd Moellmann <gerd@gnu.org>
10173
10174 * xfns.c (free_image_cache): Free the cache structure itself
10175 last, after all its members have been freed.
10176
10177 * lisp.h (xstrdup): Add prototype.
10178
10179 * alloc.c (xstrdup): Moved here from xfaces.c.
10180 (allocating_for_lisp): Variable removed.
52283633 10181 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10182
10183 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10184 of Fsymbol_value.
10185 (xstrdup): Moved to alloc.c.
10186
e0b8c689
KR
101872000-03-29 Ken Raeburn <raeburn@gnu.org>
10188
b96f9fb7
KR
10189 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10190
10191 * emacs.c (main): Fix sense of no-loadup test.
10192
e0b8c689
KR
10193 * config.in (ENABLE_CHECKING): Undef.
10194
10195 * lisp.h (struct interval): Replace "parent" field with a union of
10196 interval pointer and Lisp_Object; add new bitfield to use as
10197 discriminant. Change other flag fields to bitfields.
10198 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10199 is defined and the supplied test fails, print a message and abort.
10200 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10201
10202 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10203 pointers; abort if the value looks like a lisp object.
52283633
SM
10204 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10205 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10206 Modify for new interval parent definition.
10207
52283633
SM
10208 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10209 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10210 addressable lisp object in the interval structure.
10211 (die): New function.
10212 (suppress_checking): New variable.
10213
10214 * intervals.c (interval_start_pos): Just return 0 if there's no
10215 parent object.
10216
f83c5440
GM
102172000-03-29 Gerd Moellmann <gerd@gnu.org>
10218
10219 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10220 and earlier Emacs versions.
10221
10222 * keyboard.c (Ftop_level): Cancel busy-cursor.
10223
10224 * eval.c (call_debugger): Cancel busy-cursor.
10225
fdce64ff
KH
102262000-03-29 Kenichi Handa <handa@etl.go.jp>
10227
10228 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10229 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10230
f6a3f532
SM
102312000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10232
10233 * regex.c (analyse_first): New function obtained by ripping out most
10234 of re_compile_fastmap and generalizing it a little bit so that it
10235 can also just return whether a given (sub)pattern can match the empty
10236 string or not.
10237 (regex_compile): Use `analyse_first' to decide whether the loop-check
10238 needs to be done or not for *, +, *? and +? (the loop check is costly
10239 for non-greedy repetition).
10240 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10241
e9b309ac
DL
102422000-03-28 Dave Love <fx@gnu.org>
10243
52283633 10244 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10245
e9b309ac
DL
10246 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10247
ed0767d8
SM
102482000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10249
10250 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10251 an expression.
10252 (enum re_opcode_t): Update description of succeed_n.
10253 (PATFETCH): Always define.
10254 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10255 operators, char classes, shy-groups and intervals).
10256 Optimize special cases of intervals so as to only use succeed_n and
10257 jump_n when really needed.
10258 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10259 that we don't have to handle the special cases any more.
10260 Simplify on_failure_jump handling as well.
10261
e11e7e46
JR
102622000-03-28 Jason Rumney <jasonr@gnu.org>
10263
10264 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10265
88faab89
GM
102662000-03-27 Gerd Moellmann <gerd@gnu.org>
10267
182ff242
GM
10268 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10269
10270 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10271
182ff242
GM
10272 * alloc.c (mark_maybe_object): New function.
10273 (mark_memory): Use it.
10274 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10275 (setjmp_tested_p, longjmp_done): New variables.
10276 (test_setjmp): New function.
10277 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10278 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10279
c1005d06
GM
10280 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10281 to DEC_TEXT_POS and INC_TEXT_POS.
10282
10283 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10284 with parameter MULTIBYTE_P.
10285
52283633 10286 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10287
7439e5b9 10288 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10289 buffers because it looks for multibyte character byte sequences
10290 which don't exist in unibyte text.
7439e5b9 10291
d9c545da
GM
10292 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10293
11fd416e 10294 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10295 [DEBUG_X_COLORS]: New functions.
10296 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10297
10298 * xfns.c (x_set_cursor_color): Get color reference counts right.
10299
10300 * xterm.c (x_copy_color): New function.
10301 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10302
10303 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10304 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10305 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10306 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10307 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10308 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10309 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10310 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10311 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10312 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10313
11fd416e
GM
10314 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10315 names for handling per-buffer variables.
d9c545da
GM
10316
10317 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10318 instead of MAX_BUFFER_LOCAL_VARS.
10319 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10320
10321 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10322
88faab89
GM
10323 * xfns.c (x_specified_cursor_type): New function.
10324 (x_set_cursor_type): Use it.
10325
10326 * buffer.h (struct buffer): Add cursor_type.
10327
d80f42b7
SM
103282000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10329
10330 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10331 (print_partial_compiled_pattern, re_compile_fastmap):
10332 Handle new opcode.
d80f42b7
SM
10333 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10334 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10335 executing it as well as when popping it off the stack to find infinite
10336 loops in non-greedy repetition operators.
10337
89e80928
GM
103382000-03-26 Gerd Moellmann <gerd@gnu.org>
10339
3d4ff2dd
GM
10340 * doc.c (Qfunction_documentation): New variable.
10341 (syms_of_doc): Initialize Qfunction_documentation.
10342 (Fdocumentation): If FUNCTION is a symbol with non-nil
10343 `function-documentation' property, return a documentation derived
10344 from that.
10345
bd96bd79
GM
10346 * buffer.c (syms_of_buffer): Add default-cursor-type.
10347 (init_buffer_once): Don't let cursor_type have a local value
10348 in every buffer.
10349
19d1bc27
GM
10350 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10351 on buffer-local value of cursor_type.
10352 (x_draw_bar_cursor): Add parameter WIDTH.
10353
10354 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10355 (init_buffer_once): Set default cursor_type value to t.
10356 Mark cursor_type as local everywhere.
10357 (syms_of_buffer): New per-buffer variable cursor-type.
10358
89e80928
GM
10359 * buffer.h (struct buffer): Remove member local_var_flags,
10360 add local_flags.
10361 (MAX_BUFFER_LOCAL_VARS): New macro.
10362 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10363 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10364 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10365 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10366
52283633 10367 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10368
10369 * category.c (Fset_category_table): Use new macros for per-buffer
10370 variables.
10371
10372 * buffer.c (buffer_permanent_local_flags): Make a char array.
10373 (max_buffer_local_idx): New variable.
10374 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10375 for new handling of per-buffer variables.
10376 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10377 (init_buffer_once): Initialize per-buffer vars differently.
10378 Set max_buffer_local_idx.
10379
10380 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10381 variables.
10382
52283633 10383 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10384
10385 * data.c (do_symval_forwarding, store_symval_forwarding)
10386 (find_symbol_value, set_internal, default_value, Fset_default)
10387 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10388 per-buffer variables.
10389
10390 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10391
9a0dd3dc
GM
103922000-03-24 Gerd Moellmann <gerd@gnu.org>
10393
b68c375f
GM
10394 * xterm.c (x_term_init): Unblock input around call1 of
10395 Qvendor_specific_keysyms.
10396
9a0dd3dc
GM
10397 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10398 (find_defun_start): Consider an open parenthesis in column 0
10399 a defun start only if open_paren_in_column_0_is_defun_start is set.
10400 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10401
7973e637
SM
104022000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10403
10404 * eval.c (Fautoload): Add entry in load-history (if after dump).
10405 * lread.c (load-history): Update docstring.
10406
39210e90
GM
104072000-03-24 Gerd Moellmann <gerd@gnu.org>
10408
10409 * indent.c (Fvertical_motion): Always use the current buffer.
10410 Temporarily change the window's buffer, if necessary.
10411
72db3ab5
GM
104122000-03-23 Gerd Moellmann <gerd@gnu.org>
10413
10414 * xterm.c (fast_find_position): Make sure not to consider rows
10415 not visible in the window.
10416
990b2375
SM
104172000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10418
10419 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10420 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10421
ff4df011
JR
104222000-03-22 Jason Rumney <jasonr@gnu.org>
10423
10424 * w32menu.c (single_submenu): Set help string to NULL if none.
10425 (w32_menu_show): Set help string correctly.
10426 (add-menu-item): Set help string in MIIM_DATA for menu item.
10427 Load SetMenuItemInfoA explicitly.
10428 (w32_menu_display_help): New function.
427ec082 10429
ff4df011
JR
10430 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10431 (QCdata): Moved to xdisp.c.
10432
10433 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10434 (Vw32_charset_to_codepage_alist): Removed.
10435 (Vw32_charset_info_alist): New variable.
52283633
SM
10436 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10437 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10438 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10439 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10440 with TODO comment.
10441 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10442 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10443 Define Vw32_charset_info_alist and w32_charset symbols.
10444
104452000-03-22 Jason Rumney <jasonr@gnu.org>
10446
10447 * makefile.nt (w32bdf.obj): Update dependencies.
10448
10449 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10450
10451 * w32fns.c: Include fontset.h after dispextern.h.
10452 (Fx_create_frame): Do not create fontset.
10453 (w32_load_system_font): Doc fix.
10454 (Fx_close_connection): Free full_name if it is not shared.
10455
10456 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10457 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10458 Callers updated.
ff4df011
JR
10459 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10460 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10461 (w32_font_is_double_byte): New function, needs body.
10462 (x_append_glyph): Set glyph->glyph_not_available_p.
10463 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10464 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10465 character, convert it to a unibyte character.
10466 (struct glyph_string): Delete member `charset'.
10467 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10468 calculating it is found.
10469 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10470 the case that per char metric is not available correctly.
10471 (x_fill_glyph_string): Handle the case that the specific glyph is
10472 not available correctly.
10473 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10474 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10475 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10476 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10477 fontset. Don't call FS_LOAD_FONT.
10478
439d5cb4
KR
104792000-03-22 Ken Raeburn <raeburn@gnu.org>
10480
10481 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10482 (INT_LISPLIKE): New macro.
10483 (NULL_INTERVAL_P): Use it.
52283633
SM
10484 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10485 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10486 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10487
10488 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10489 explicit references to "parent" field of struct interval and
10490 associated unclean type conversions.
52283633
SM
10491 * intervals.c (create_root_interval, root_interval, rotate_right)
10492 (rotate_left, balance_possible_root_interval, split_interval_right)
10493 (split_interval_left, interval_start_pos, find_interval)
10494 (next_interval, previous_interval, update_interval)
10495 (adjust_intervals_for_insertion, delete_node, delete_interval)
10496 (adjust_intervals_for_deletion, merge_interval_right)
10497 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10498 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10499 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10500 Likewise.
10501 * syntax.c (update_syntax_table): Likewise.
10502
10503 * intervals.c (reproduce_tree_obj): New function, like
10504 reproduce_tree but takes a Lisp_Object for the parent. Declare
10505 with prototype.
10506 (graft_intervals_into_buffer): Use it when appropriate.
10507 (reproduce_tree): Declare with prototype.
10508 (balance_possible_root_interval): Check that the parent is a lisp
10509 object before trying to examine its type.
10510
ee1c5b21
GM
105112000-03-22 Gerd Moellmann <gerd@gnu.org>
10512
10513 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10514 as strings only if both are known to be strings.
10515
10516 * s/openbsd.h (LIBS_TERMCAP): Undef.
10517
1fb352e0
SM
105182000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10519
10520 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10521 definitions for non-Emacs compilation.
10522 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10523 outside of `#ifdef emacs'.
10524 (print_partial_compiled_pattern): Update.
10525 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10526 (re_compile_fastmap): Merge handling of charset and charset_not (for
10527 emacs and non-emacs compilation as well).
10528 Similarly for (not)categoryspec and (not)syntaxspec.
10529 Don't use the fastmap when reaching `anychar' since the added
10530 complexity is not justified.
10531 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10532 and (not)syntaxspec. Merge (not)categoryspec.
10533
fdaa1f77
KH
105342000-03-22 Kenichi Handa <handa@etl.go.jp>
10535
52283633
SM
10536 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10537 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10538 --without-x.
fdaa1f77 10539
d152fb46
DL
105402000-03-21 Dave Love <fx@gnu.org>
10541
10542 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10543 doc string.
10544
d2cafc8c
GM
105452000-03-21 Gerd Moellmann <gerd@gnu.org>
10546
10547 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10548 (lface_fully_specified_p): Don't check contents of
10549 LFACE_FONT_INDEX because that attribute is optional.
10550 (realize_x_face): Remove now unwarranted xassert.
10551
9111d4b5
KH
105522000-03-21 Kenichi HANDA <handa@etl.go.jp>
10553
10554 The following changes are to make font selection based on
10555 characters, not charset. In addition, they recover fontset
10556 facilities while utilizing the new font selection mechanism.
10557
6c4bfdc0
KH
10558 * Makefile.in (fontset.o): Depend on dispextern.h.
10559
10560 * alloc.c (mark_face_cache): Don't mark face->registry.
10561
9111d4b5
KH
10562 * dispextern.h (struct glyph): New member glyph_not_available_p.
10563 Use 22 bits for face_id.
10564 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10565 (struct face): Delete member registry, new member ascii_face.
10566 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10567 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10568 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10569 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10570
10571 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10572 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10573 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10574 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10575 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10576 (fs_free_face_fontset, fontset_font_pattern)
10577 (face_suitable_for_char_p, face_for_char)
10578 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10579 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10580 (FS_LOAD_FACE_FONT): New macro.
10581
10582 * fontset.c: All codes rewritten or adjusted for the change of
10583 fontset implementation. Now fontset is represented by char table.
52283633
SM
10584 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10585 Variables removed.
9111d4b5 10586 (my_strcasecmp): Function removed.
52283633 10587 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10588 (AREF, ASIZE): New macros.
52283633
SM
10589 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10590 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10591 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10592 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10593 (fontset_id_valid_p, font_family_registry, fontset_name)
10594 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10595 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10596 New functions.
10597 (fs_load_font): New arg FACE. Caller changed.
10598 (fs_query_fontset): Argument changed. Caller changed.
10599 (Fquery_fontset): call fs_query_fontset.
10600 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10601 Functions removed.
52283633
SM
10602 (clear_fontset_elements, check_registry_encoding)
10603 (check_fontset_name): New functions.
9111d4b5
KH
10604 (syms_of_fontset): Set char-table-extra-slots property of fontset
10605 to 3. Staticpro and initialize Vfontset_table and
10606 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10607
10608 * frame.h (struct frame): Member `fontset_data' removed.
10609 (FRAME_FONTSET_DATA): Macro removed.
10610
10611 * frame.c (make_frame): Don't allocate f->fontset_data.
10612 (Fdelete_frame): Don't free f->fontset_data.
10613
6c4bfdc0
KH
10614 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10615
9111d4b5
KH
10616 * xdisp.c (charset_at_position): Function removed.
10617 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10618 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10619 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10620 Likewise.
10621 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10622 FACE_FOR_CHARSET.
52283633
SM
10623 (get_next_display_element, append_space)
10624 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10625
10626 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10627 Variables removed.
10628 (clear_font_table, frame_update_line_height, load_face_font):
10629 Adjusted for the change of fontset implementation.
10630 (load_face_fontset_font): Function removed.
10631 (pixel_point_size): New function.
10632 (font_list): Argument type changed. Caller changed.
10633 (LFACE_FONT): New macro.
10634 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10635 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10636 Lisp_Object. Determine the font name by actually loading a font
10637 by the specified pattern. Set LFACE_FONT (lface) to the specified
10638 pattern. Even if a font is not found, don't try alternatives.
10639 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10640 (set_font_frame_param): If `font' is specified in lface, use it.
10641 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10642 (lface_same_font_attributes_p): Likewise.
10643 (make_realized_face): Arguent changed. Caller changed. Set
10644 face->ascii_face to face itself.
10645 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10646 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10647 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10648 (free_realized_multibyte_face): New function.
10649 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10650 changed. Caller changed.
10651 (try_font_list): Argument type changed.
10652 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10653 (choose_face_font): Argument changed. Handle fontset properly.
10654 (choose_face_fontset_font): Function removed.
10655 (realize_default_face, realize_named_face): Don't remove the
10656 former face here.
10657 (realize_face): Argument changed. Caller changed. Remove face
52283633 10658 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10659 (realize_x_face): Argument changed. Caller changed. For a
10660 multibyte character, share fontset with base_face. For a single
52283633 10661 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10662 (realize_tty_face): Argument changed. Caller changed.
10663 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10664 (face_at_buffer_position): Don't check multibyte_p for returning
10665 DEFAULT_FACE_ID.
10666 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10667 FACE_SUITABLE_FOR_CHARSET_P.
10668 (syms_of_xfaces): Remove code for Qx_charset_registry and
10669 Vface_default_registry.
10670
6c4bfdc0
KH
10671 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10672 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10673 (x_per_char_metric): Don't try FONT->default_char. Even if
10674 pcm->width is zero, glyph bits may exist.
10675 (x_encode_char): Always initialize char2b->byte1.
10676 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10677 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10678 (x_append_glyph): Set glyph->glyph_not_available_p.
10679 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10680 it->charset. Handle the case that per char metric is not
10681 available. If it->multibyte_p is zero and it->c is a multibyte
10682 character, convert it to a unibyte character.
10683 (struct glyph_string): Delete member `charset'.
10684 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10685 the case that per char metric is not available correctly.
10686 (x_fill_glyph_string): Handle the case that the specific glyph is
10687 not available correctly.
10688 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10689 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10690 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10691 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10692 fontset. Don't call FS_LOAD_FONT.
10693
10694 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10695 (x_create_tip_frame): Likewise.
10696 (Fx_close_connection): Free full_name of font_info.
10697
10698 * fns.c (optimize_sub_char_table): New function.
10699 (Foptimize_char_table): New function.
10700 (syms_of_fns): Defsubr Soptimize_char_table.
10701
b33dd3b0
GM
107022000-03-20 Gerd Moellmann <gerd@gnu.org>
10703
10704 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10705 only if buffer is displayed in some window.
10706
10707 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10708 (try_window_reusing_current_matrix): Don't call scroll run
10709 function if run's current and desired position are the same;
10710 this prevents cursor flickering.
10711
4e8a9132
SM
107122000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10713
10714 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10715
10716 * regex.c (RE_STRING_CHAR): New macro.
10717 (GET_CHAR_AFER_2): Remove.
10718 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10719 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10720 (print_partial_compiled_pattern, re_compile_fastmap)
10721 (re_match_2_internal): Remove on_failure_jump_exclusive.
10722 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10723 optimization only need to work for * (ie. can use of_keep_string_jump).
10724 Remove the special case for .*\n since it is now covered by the general
10725 optimization.
10726 (re_search_2): Don't bother with `room'.
10727 (skip_one_char): New function.
10728 (skip_noops): Simplify since `memory' is not needed any more.
10729 (mutually_exclusive_p): Restructure slightly to use `switch' and
10730 add handling for "all" remaining cases.
10731 (re_match_2_internal): Change on_failure_jump_smart to use
10732 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10733 rather than on_failure_jump_exclusive.
10734
2136fdd4
GM
107352000-03-19 Gerd Moellmann <gerd@gnu.org>
10736
10737 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10738 number of bits per RGB because it's everywhere used as the depth
10739 of the visual.
10740
10741 * term.c (calculate_costs): Remove code dealing with X frames.
10742
18e21ce8 107432000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10744
10745 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10746
d7b511c4
GM
107472000-03-18 Gerd Moellmann <gerd@gnu.org>
10748
10749 * lread.c (read_integer): Unread the last char not consumed.
10750
16b5d424
GM
107512000-03-17 Gerd Moellmann <gerd@gnu.org>
10752
10753 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10754 which are in the process of being deleted.
16b5d424 10755
1fa28578
GM
107562000-03-16 Gerd Moellmann <gerd@gnu.org>
10757
83488cce
GM
10758 * Makefile.in (mostlyclean): Add `*.core'.
10759 (clean): Add `bootstrap-emacs'.
10760
1fa28578
GM
10761 * lread.c (read_integer): New function.
10762 (read1): Support read syntax #o, #x, #b, #r.
10763
99633e97
SM
107642000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10765
1fa28578
GM
10766 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10767 make sure POINTER_TO_OFFSET gives the same value before and after
10768 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10769 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10770 (debug): Now only active if > 0 rather than if != 0.
10771 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10772 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10773 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10774 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10775 (store_op1, store_op2, insert_op1, insert_op2)
10776 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10777 (group_in_compile_stack): Move to after its arg's types are
10778 declared and add a prototype.
99633e97 10779 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10780 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10781 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10782 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10783 indentation of the greedy-op and shy-group code.
99633e97
SM
10784 (at_(beg|end)line_loc_p): Fix argument's types.
10785 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10786 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10787 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10788 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10789 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10790 QUIT unconditionally.
99633e97 10791
699238d9
GM
107922000-03-15 Gerd Moellmann <gerd@gnu.org>
10793
10794 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10795 a sole completion.
10796
10797 * process.c (send_process): Add a hint that the function
10798 can call Lisp code to its comment.
10799
10800 * lread.c (load_dangerous_libraries): New variable.
10801 (Vbytecomp_version_regexp): New variable.
10802 (safe_to_load_p): New function.
10803 (Fload): Handle files not compiled with Emacs specially.
10804 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10805
34e23e5a
GM
108062000-03-14 Gerd Moellmann <gerd@gnu.org>
10807
9c763cca
GM
10808 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10809
10810 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10811 support functions only if HAVE_X11R6_XIM is defined.
10812 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10813
10814 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10815
10816 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10817 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10818 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10819
10820 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10821 (HAVE_X11R6_XIM): Define.
10822
10823 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10824
34e23e5a
GM
10825 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10826 If set, call XSynchronize.
10827
66f0296e
SM
108282000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10829
34e23e5a
GM
10830 * regex.c: Declare a new type `re_char' used throughout the code
10831 for the string char type. It's `const unsigned char' to match the
10832 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10833 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10834 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10835 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10836 code duplication.
66f0296e
SM
10837
10838 * charset.h (GET_CHAR_AFTER_2): Remove.
10839 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10840
854a025c
KR
108412000-03-12 Ken Raeburn <raeburn@gnu.org>
10842
10843 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10844 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10845 of them try to use backquotes.
10846
b9d2c7e2
DL
108472000-03-12 Dave Love <fx@gnu.org>
10848
10849 * unexelf.c: Restore changes of 1999-10-19.
10850 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10851 fix its type and alignment; copy it from current process.
10852
5e5dff44
GM
108532000-03-12 Gerd Moellmann <gerd@gnu.org>
10854
9b2f3c38
GM
10855 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10856 has been found. Fix bug not computing timer's predecessor.
10857
427ec082 10858 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10859 file name.
10860
e1cff360
GM
10861 * window.c (Fsave_window_excursion): Doc fix.
10862
52283633 10863 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10864
e411ce4b
EZ
108652000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10866
10867 * msdos.c (vga_installed): New function, code moved from
10868 dos_set_window_size.
10869 (Qbar, Qcursor_type, outside_cursor): New variables.
10870 (syms_of_msdos): Intern and staticpro them.
10871 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10872 shape used outside Emacs when called for the first time.
10873 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10874 cursor shape used outside Emacs.
10875 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10876 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10877 type has changed.
10878 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10879 parameters specify the cursor. Make qreverse a global
10880 variable (renamed to Qreverse).
10881
80460654
GM
108822000-03-09 Gerd Moellmann <gerd@gnu.org>
10883
10884 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10885
95cd4c40
SM
108862000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10887
10888 This is a big redesign of failure-stack and register handling, prompted
10889 by bugs revealed when trying to add shy-groups. Overall, what happened
10890 is that loops are now structured a little differently, groups can be
10891 shy and the code is a little simpler.
10892
10893 * regex.h: Update the copyright.
10894 (RE_SHY_GROUPS): New value.
10895 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10896 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10897
80460654
GM
10898 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10899 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10900 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10901 for (start|stop)_memory since they now only take one argument (the
10902 second has becomes unnecessary).
52283633 10903 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10904 (print_compiled_pattern): Use %ld to printf long ints and flush to
10905 make debugging a little easier.
95cd4c40
SM
10906 (union fail_stack_elt): Make the integer unsigned.
10907 (struct fail_stack_type): Add a `frame' element.
10908 (INIT_FAIL_STACK): Init `frame' as well.
10909 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10910 (DEBUG_PUSH, DEBUG_POP): Remove.
10911 (NUM_REG_ITEMS): Remove.
10912 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10913 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10914 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10915 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10916 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10917 New macros.
80460654
GM
10918 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10919 address pushed is not the destination of the jump but the source
10920 of it instead.
95cd4c40
SM
10921 (NUM_FAILURE_ITEMS): Remove.
10922 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10923 registers before the actual failure point). Don't hardcode any
10924 meaning for str==NULL anymore.
95cd4c40 10925 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10926 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10927 Remove.
95cd4c40
SM
10928 (REG_UNSET_VALUE): Use NULL (why not?).
10929 (compile_range): Remove declaration since it doesn't exist.
10930 (struct compile_stack_elt_t): Remove inner_group_offset.
10931 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10932 (regex_grow_registers): Remove dead code.
10933 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10934 (regex_compile): Add shy-groups Change loops to use
10935 on_failure_jump_smart&jump instead of
10936 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10937 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10938 variable to me). Use `jump' instead of `jump_past_alt' and don't
10939 bother with push_dummy_failure in alternatives since it is now
10940 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10941 emacs' for (re)allocating the stack.
10942 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10943 from loop when bufp->can_be_null rather than jumping to `done'.
10944 Avoid jumping backwards so as to ensure termination. Use
10945 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10946 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10947 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10948 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10949 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10950 (lowest_active_reg, highest_active_reg)
10951 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10952 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10953 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10954 variables. Push register (in `start_memory') on the stack rather
10955 than storing it in old_reg(start|end). Remove the cycle detection
10956 from `stop_memory', replaced by the use of on_failure_jump_loop
10957 for greedy loops. Add code for the new on_failure_jump_<foo>.
10958 Remove ad-hoc code in `on_failure_jump' to push more registers in
10959 the case of a loop. Take out code from `maybe_pop_jump' into
10960 separate functions and adapt it to the semantics of
10961 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10962 and push_dummy_failure. Remove dummy_failure handling and
10963 handling of `failures to jump to on_failure_jump' (this last one
10964 was already dead code, it seems).
10965 (group_match_null_string_p, alt_match_null_string_p)
10966 (common_op_match_null_string_p): Remove.
95cd4c40 10967
7397acc4
DL
109682000-03-08 Dave Love <fx@gnu.org>
10969
10970 * config.in: Don't depend on __STDC__ for volatile.
10971 Add POINTER_TYPE, PTR, PROTOTYPES.
10972
10973 * hftctl.c, strftime.c: Use PROTOTYPES.
10974 * eval.c (find_handler_clause): Likewise.
10975
10976 * mem-limits.h: Use POINTER_TYPE.
10977
10978 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10979 (memory_warnings): Declare using POINTER_TYPE.
10980
5e91ff9e
GM
109812000-03-08 Gerd Moellmann <gerd@gnu.org>
10982
feab4fba
GM
10983 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10984
52283633 10985 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10986
5e91ff9e
GM
10987 * xfns.c: Remove obsolete code in #if 0.
10988 (Fx_focus_frame): New function.
10989
a735b7e1
KH
109902000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10991
10992 * coding.c (coding_category_name): Add coding-category-utf-8,
10993 coding-category-utf-16-be, coding-category-utf-16-le.
10994 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10995 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10996 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10997 (detect_coding_utf_8): New function.
10998 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10999 UTF_16_LOW_SURROGATE_P): New macros.
11000 (detect_coding_utf_16): New function
11001 (detect_coding_mask): When priorities are specified, skip any
11002 categories that have `nil' coding-system. Fix bug of returning
11003 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11004 returns a mask not set in PRIORITIES.
11005 (detect_eol_type_in_2_octet_form): New function.
11006 (detect_eol): selects detect_eol_type_XXX to call according to
11007 cooding->category_idx.
11008 (detect_coding_system): Remove `nil' coding-system in the result.
11009 (Fupdate_coding_systems_internal): Update all coding-categories.
11010
52283633
SM
11011 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11012 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11013 New macros.
11014 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11015 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11016 (CODING_CATEGORY_IDX_UTF_16_LE)
11017 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11018 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11019 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11020 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11021
9994cc69
GM
110222000-03-07 Gerd Moellmann <gerd@gnu.org>
11023
e9b4e5ff
GM
11024 * doc.c (Fdocumentation_property): If value is not a string,
11025 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11026
f7daf1e1
GM
11027 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11028 close the display with XtCloseDisplay. This caused a bus error
11029 on OpenWindows.
11030
9994cc69
GM
11031 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11032 complete but not unique.
11033
4336c705
GM
110342000-03-06 Gerd Moellmann <gerd@gnu.org>
11035
18bb0684
GM
11036 * process.c (send_process): Remove local variable `procname' that
11037 might become invalid when a GC happens. Instead, access the
11038 process name slot directly.
11039
4336c705
GM
11040 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11041 orig_height if set.
11042
11043 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11044 orig_height if set.
11045
515d0d0e
EZ
110462000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11047
11048 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11049 glyph matrices have been freed.
11050
100b3cbb
GM
110512000-03-05 Gerd Moellmann <gerd@gnu.org>
11052
50df5e5a 11053 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11054 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11055
11056 * xfns.c (QCdata): Moved to xdisp.c.
11057
11058 * xdisp.c (QCdata): Moved here from xfns.c.
11059 (syms_of_xdisp): Initialize QCdata.
11060
11061 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11062
11063 * window.c (coordinates_in_window): Use
11064 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11065 FRAME_INTERNAL_BORDER_WIDTH.
11066
100b3cbb 11067 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11068 it is obviously invalid.
100b3cbb
GM
11069
11070 * xterm.c (x_term_init): Create a colormap if not using the
11071 default visual.
11072
11073 * xterm.h (select_visual): Change prototype.
11074
11075 * xfns.c (select_visual): Rewritten. Recognize user-specified
11076 visual classes.
11077 (visual_classes): New variable.
11078
64d739c4
GM
110792000-03-04 Gerd Moellmann <gerd@gnu.org>
11080
11081 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11082 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11083 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11084 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11085 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11086 XtNcolormap resources.
11087 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11088 (Fx_create_frame): Initialize color members of x_output structure.
11089 (xpm_load): Pass colormap to XPM lib.
11090
11091 * xfaces.c (x_free_colors): Access colormap of frame using
11092 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11093 when default colormap is used.
11094
11095 * xterm.c (x_term_init): Set Colormap member of x_display_info
11096 structure. Copy colormap if resource `privateColormap' is
11097 specified (PseudoColor only).
11098 (x_setup_relief_color): Access colormap of frame using
11099 FRAME_X_COLORMAP.
11100
11101 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11102 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11103
c3cee013
JR
111042000-03-04 Jason Rumney <jasonr@gnu.org>
11105
11106 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11107 other non-platform-specific equivalents.
64d739c4 11108 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11109 specific functions and macros as their w32 equivalents where
11110 non-platform-specifics are not available.
11111 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11112 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11113 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11114 (frame_update_line_height): Use macros to access f->output_data.
11115 (defined_color): Remove FIXME comments; fixed.
11116 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11117 into #ifdef blocks. Add WINDOWSNT blocks.
11118 (Fx_list_fonts): Use macros for accessing font data.
11119 (set_lface_from_font_name): Different default fonts for X and
11120 WINDOWSNT.
11121 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11122 scalable for backward compatibility.
64d739c4 11123 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11124 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11125
64d739c4 11126 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11127 syms_of_w32faces.
11128
11129 * makefile.nt (w32faces.obj): Remove.
11130 (xfaces.obj): Add.
11131
807cc41c
JR
111322000-03-03 Jason Rumney <jasonr@gnu.org>
11133
11134 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11135 correct parameters.
11136
0007072a
KR
111372000-03-03 Ken Raeburn <raeburn@gnu.org>
11138
11139 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11140 standard ELF definitions here if the system header does not.
11141
71a6ba55
GM
111422000-03-03 Gerd Moellmann <gerd@gnu.org>
11143
11144 * xterm.c (PER_CHAR_METRIC): Removed.
11145 (x_per_char_metric_1, x_default_char): New functions.
11146 (x_per_char_metric): If font's default char is invalid, return
11147 metrics of a suitably chosen usable default char.
11148 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11149 char, replace occurrences of unprintable chars with a suitably
11150 chosen usable default char.
71a6ba55 11151
900fa1f1
GM
111522000-03-02 Gerd Moellmann <gerd@gnu.org>
11153
42f55fe0
GM
11154 * xterm.c (note_mouse_highlight): Return quickly if frame's
11155 glyph matrices have been freed.
11156
11157 * dispnew.c (free_glyphs): Block input while freeing matrices.
11158
900fa1f1
GM
11159 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11160
52283633
SM
11161 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11162 Use x_free_colors.
900fa1f1
GM
11163
11164 * dispextern.h (x_free_colors): Add prototype.
11165
11166 * xfaces.c (x_free_colors): New function.
11167 (unload_color, free_face_colors): Use it.
11168
2f950292
EZ
111692000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11170
11171 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11172
11173 * window.c [MSDOS]: Include msdos.h.
11174
54d04320
DL
111752000-03-02 Dave Love <fx@gnu.org>
11176
11177 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11178
11179 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11180 set C_OPTIMIZE_SWITCH for gcc.
11181
0ba93ac4
KH
111822000-03-02 Kenichi Handa <handa@etl.go.jp>
11183
11184 * coding.c (coding_save_composition): Be sure to allocate
11185 composition data area in coding even if there's no composition in
11186 the current run.
11187
a2bc11d4
JR
111882000-03-01 Jason Rumney <jasonr@gnu.org>
11189
11190 * w32term.c: Equivalent changes to those made to xterm.c on
11191 2000-02-25 and 2000-02-24.
11192
11193 * w32fns.c: Equivalent changes to those made to xfns.c on
11194 2000-02-25 and 2000-02-21.
11195
11196 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11197 correct line-end convention is followed.
11198
11199 * w32menu.c [HAVE_BOXES]: Remove #undef.
11200 (single_keymap_panes): Remove code for simulating checkmarks.
11201 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11202 Remove code for drawing simulated checkmarks.
11203 (w32_menu_show): make unibyte help string correctly.
11204 (add_menu_item): draw standard Windows checkmarks. Draw radio
11205 buttons as radio buttons if possible.
11206
72d19d75
GM
112072000-03-01 Gerd Moellmann <gerd@gnu.org>
11208
2df636f4
GM
11209 * sysdep.c (start_of_text): Don't define this function for NetBSD
11210 with ELF.
11211
427ec082 11212 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11213 Don't define.
11214 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11215 (LINKER): Don't undef if __NetBSD__ is defined.
11216
11217 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11218
11219 * fileio.c [__NetBSD__]: Define `unix'.
11220
72d19d75
GM
11221 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11222
ed4d0512
GM
112232000-02-29 Gerd Moellmann <gerd@gnu.org>
11224
50b1039f
GM
11225 * atimer.c (start_atimer): Don't abort when timers are stopped.
11226 (append_atimer_lists): New function.
11227 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11228 arbitrary lists of stopped and running atimers.
11229
ed4d0512
GM
11230 * atimer.c (cancel_atimer): Handle canceling an atimer when
11231 some timers are stopped.
11232
11233 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11234 after canceling it.
11235
11236 * fns.c (maybe_resize_hash_table): Handle case of new size
11237 coming out as being the same as old size.
11238
387023ee
JR
112392000-02-27 Jason Rumney <jasonr@gnu.org>
11240
11241 * makefile.nt: Add atimer.h to dependencies.
11242 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11243 * w32console.c: Only disable window system features for dispextern.h
11244 (initialize_w32_display): Build a display info for the console.
11245 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11246 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11247 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11248 as 2 button mice.
11249 * w32gui.h (struct W32FontStruct): Revert last change after change
11250 to xdisp.c.
11251 * w32menu.c (single_submenu): Set up help string.
11252 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11253 (w32_dialog_show): Set up help string.
11254 * w32term.c (w32_display_info_for_display): Remove unused function.
11255 (w32_draw_bitmap): Use pre-built bitmaps.
11256 (w32_initialize_display_info): New function to initialize parts of
11257 display info that are common to both GUI and console frames.
11258 (w32_term_init): Use w32_initialize_display_info. Do not set
11259 Vw32_num_mouse_buttons here, as it is not called for console
11260 frames. Build bitmaps for indicating truncated lines etc.
11261 (x_delete_display): Destroy pre-built bitmaps.
11262 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11263 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11264
4516715a
DL
112652000-02-27 Dave Love <fx@gnu.org>
11266
11267 * lisp.h: Add a bunch of prototypes.
11268
171ca836
KH
112692000-02-26 Kenichi Handa <handa@etl.go.jp>
11270
11271 * keyboard.c (read_char): Set `usec' correctly.
11272
4013921d
KH
112732000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11274
11275 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11276 `lambda', set reg[RRR] to the map index.
11277 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11278 reg[RRR] to 0. Otherwise, set it to -1.
11279
9244a058
GM
112802000-02-25 Gerd Moellmann <gerd@gnu.org>
11281
2df636f4 11282 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11283
18e21ce8 112842000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11285
f43d79c1
GM
11286 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11287 and contains a `:', prepend `/:'.
11288
11289 * window.c (select_window_1): If selected_window is nil,
11290 don't "swap out" the buffer's point.
11291 (Fset_window_configuration): Set selected_window to nil
11292 before calling Fselect_window.
11293 (unshow_buffer): Don't set point in buffer from window's point
11294 if another more recently selected window also shows the buffer.
11295
bed0c171
GM
112962000-02-25 Gerd Moellmann <gerd@gnu.org>
11297
449c3c52
GM
11298 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11299
f5b58615
GM
11300 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11301 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11302 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11303 New variables.
f5b58615
GM
11304 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11305 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11306 (hide_busy_cursor): New functions.
11307 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11308
11309 * minibuf.c (read_minibuf): Cancel busy-cursor.
11310
11311 * keyboard.c (command_loop_1): Call start_busy_cursor before
11312 Fcommand_execute and cancel_busy_cursor after it.
11313 (timer_check): Remove busy-cursor code.
11314 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11315 cursor timer.
11316
11317 * process.c (wait_reading_process_input): Remove busy-cursor code.
11318
11319 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11320 Fx_hide_busy_cursor.
11321
11322 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11323 Remove prototyoes.
11324 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11325
11326 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11327
11328 * xterm.c (XTread_socket): Remove busy-cursor code.
11329
4eb8436f
GM
11330 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11331 (build_frame_matrix_from_leaf_window): Put code handling
11332 glyph row's not being a slice of a frame row in #if 0.
11333 (sync_window_with_frame_matrix_rows): New function.
11334 (frame_row_to_window): New function.
11335 (mirror_line_dance): Handle copies between windows.
11336
3cb65b0e
GM
11337 * lread.c (Fload): Use `xfree' instead of `free'.
11338 (init_obarray): Use `xmalloc' instead of `malloc'.
11339
bed0c171
GM
11340 * window.c (Fset_window_buffer): Set WINDOW to the window
11341 after decoding.
2add4349
GM
11342 (coordinates_in_window): Take frame's internal border width
11343 into account.
bed0c171 11344
42088c12
GM
113452000-02-24 Gerd Moellmann <gerd@gnu.org>
11346
11347 * xterm.c (x_display_and_set_cursor): Display cursor of
11348 non-selected windows depending on the setting of
11349 cursor_in_non_selected_windows.
11350
11351 * xdisp.c (cursor_in_non_selected_windows): New variable.
11352 (syms_of_xdisp): DEFVAR_BOOL it.
11353
d1e103b2
GM
113542000-02-23 Gerd Moellmann <gerd@gnu.org>
11355
723e779c
GM
11356 * data.c (Fstring_to_number): If number is greater than what
11357 fits into an integer, return a float.
11358
d1e103b2
GM
11359 * eval.c (specbind): Remove references to
11360 keyword_symbols_constant_flag.
11361
11362 * data.c (keyword_symbols_constant_flag): Removed.
11363 (Fmakunbound, set_internal, syms_of_data): Remove references to
11364 keyword_symbols_constant_flag.
11365
11366 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11367
214f877f
KH
113682000-02-23 Kenichi Handa <handa@etl.go.jp>
11369
11370 * syntax.c (multibyte_syntax_as_symbol): New variable.
11371 (syms_of_syntax): Declare it as a Lisp variable.
11372 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11373 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11374 nonzero, treat all multibyte characters as symbol.
52283633 11375 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11376
130adcb7
EZ
113772000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11378
3cb65b0e 11379 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11380 a deleted frame.
130adcb7 11381
17cbbf95
GM
113822000-02-21 Gerd Moellmann <gerd@gnu.org>
11383
11384 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11385
11386 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11387 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11388
beb0bc36
DL
113892000-02-21 Dave Love <fx@gnu.org>
11390
11391 * frame.c (Vmouse_position_function): New variable.
11392 (Fmouse_position): Use it.
11393 (syms_of_frame): Install it.
11394
11395 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11396
1d92afcd
GM
113972000-02-20 Gerd Moellmann <gerd@gnu.org>
11398
11399 * fileio.c (Finsert_file_contents): Unbind the binding of
11400 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11401
11402 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11403 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11404 (specbind, unbind_to): Handle most common case of non-constant
11405 symbol with trivial value specially.
11406
11407 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11408
18e21ce8 114092000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11410
11411 * data.c (Fmake_variable_buffer_local): Doc fix.
11412 Init found_for_buffer to 0.
11413 (Fmake_variable_frame_local): If the variable has already
11414 been buffer-local, set the check_frame field.
11415
1d4311c3
EZ
114162000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11417
11418 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11419 produced for CODING_MODE_LAST_BLOCK requires.
11420
2dc95ddd
DL
114212000-02-18 Dave Love <fx@gnu.org>
11422
11423 * keyboard.c (echo_keystrokes): Remove declaration.
11424 (Vecho_keystrokes) New variable.
11425 (read_char, record_menu_key, read_key_sequence): Use it to allow
11426 use of float value.
11427 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11428
11429 * lread.c: Undef feature selection macros before defining.
11430
f0930f35
GM
114312000-02-18 Gerd Moellmann <gerd@gnu.org>
11432
11433 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11434 for symbols other than the symbol in question.
11435
e3d4de90
DL
114362000-02-17 Dave Love <fx@gnu.org>
11437
11438 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11439
0b378936
GM
114402000-02-17 Gerd Moellmann <gerd@gnu.org>
11441
d621caf7
GM
11442 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11443
0b378936
GM
11444 * alloc.c (enum mem_type): Compile unconditionally.
11445
3b451f74
EZ
114462000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11447
11448 * xfaces.c (tty_defined_color): Don't return faulire indication
11449 for unspecified-fg and unspecified-bg pseudo-colors.
11450
10689a01
GM
114512000-02-17 Gerd Moellmann <gerd@gnu.org>
11452
1216f5e4
GM
11453 * alloc.c (mark_object): Don't mark symbol names in pure space.
11454 (gc_sweep): Don't unmark symbol names in pure space.
11455
11456 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11457 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11458 [GC_MARK_STACK]: New defines.
427ec082 11459 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11460 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11461
11462 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11463
11464 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11465 allocate_buffer instead of xmalloc.
11466
11467 * alloc.c (toplevel): Include setjmp.h.
11468 (PURE_POINTER_P): New define.
11469 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11470 (Vdead) [GC_MARK_STACK]: New variable.
11471 (lisp_malloc): Add parameter TYPE, call mem_insert if
11472 GC_MARK_STACK is defined.
11473 (allocate_buffer): New function.
427ec082 11474 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11475 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11476 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11477 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11478 (MEM_NIL) [GC_MARK_STACK]: New define.
11479 (struct mem_node) [GC_MARK_STACK]: New structure.
11480 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11481 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11482 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11483 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11484 (mark_stack) [GC_MARK_STACK]: New functions.
11485 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11486 (clear_marks): Removed.
11487 (gc_sweep): Set free conses' car, free floats' type, free
11488 symbols' function to Vdead. Use lisp_free to free buffers.
11489 (init_alloc_once): Initialize Vdead.
11490 (survives_gc_p): Return non-zero for pure objects.
11491
11492 * alloc.c: Add comments throughout the file.
11493
2503c8b1
GM
11494 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11495 that unblocks alarms.
11496
8389e1e2
GM
11497 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11498 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11499 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11500
10689a01 11501 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11502
bfc17d18
KH
115032000-02-17 Kenichi Handa <handa@etl.go.jp>
11504
4a09dee0
KH
11505 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11506 avoid infinite error signaling. Allocate sufficient memory for
11507 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11508
2b927d02
SM
115092000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11510
11511 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11512 depends on the previous behavior.
11513
b49cb764
GM
115142000-02-16 Gerd Moellmann <gerd@gnu.org>
11515
11516 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11517
99e95407
GM
115182000-02-15 Gerd Moellmann <gerd@gnu.org>
11519
11520 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11521
11522 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11523 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11524 write(2).
11525
6ffd3cf7
RS
115262000-02-15 Richard M. Stallman <rms@gnu.org>
11527
11528 * data.c (set_internal): Don't make variable buffer-local
11529 if within a let-binding for the same buffer.
11530 (let_shadows_buffer_binding_p): New function.
11531
11532 * eval.c (specbind): For buffer-local value,
11533 record the current buffer also.
11534 (unbind_to): Cope with that change.
11535
cad53475
GM
115362000-02-15 Gerd Moellmann <gerd@gnu.org>
11537
11538 * window.c (Fsave_window_excursion): Doc fix.
11539
1aa963c8
SM
115402000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11541
11542 * syntax.c (back_comment): Make sure we only consider comment-starters
11543 of the relevant style and return -1 in case of a failure to find the
11544 beginning of the comment.
11545 (Fforward_comment): If back_comment fails, go back to the position just
11546 after the comment-end.
11547 (scan_lists): Add comment describing a very minor bug.
11548
b9b84fd3
SM
115492000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11550
11551 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11552 `completion-regexp-list' in the docstring.
11553
3a28db80
DL
115542000-02-14 Dave Love <fx@gnu.org>
11555
11556 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11557
fb4a568d
SM
115582000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11559
11560 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11561 to Emacs' syntax. Also fix the comment about set/not-set meanings
11562 since Emacs syntax is not the value 0 any more.
11563 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11564 since it's now part of RE_SYNTAX_EMACS.
11565
1063ebb5
DL
115662000-02-12 Dave Love <fx@gnu.org>
11567
52283633 11568 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11569
fb07a302
GM
115702000-02-12 Gerd Moellmann <gerd@gnu.org>
11571
11572 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11573
aaf2320c
DL
115742000-02-12 Dave Love <fx@gnu.org>
11575
11576 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11577
11578 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11579 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11580 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11581
11582 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11583
11584 * s/nextstep.h: Don't define HAVE_ALLOCA.
11585
11586 * config.in: Add vfork bits.
11587
eedf8bde
GM
115882000-02-12 Gerd Moellmann <gerd@gnu.org>
11589
11590 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11591 unwind function to undo the effect of stopping atimers.
11592
52283633 11593 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11594
11595 * atimer.c (stopped_atimers): New variable.
11596 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11597 New functions.
11598
11599 * atimer.h (stop_other_atimers, run_all_atimers)
11600 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11601
eedf8bde
GM
11602 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11603
8476c2f8
KR
116042000-02-11 Ken Raeburn <raeburn@gnu.org>
11605
11606 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11607 library may depend on jpeg.
11608 (atimer.o): Depends on atimer.c.
11609
0e85e4a3
KH
116102000-02-11 Kenichi Handa <handa@etl.go.jp>
11611
11612 * insdel.c (del_range_1): Call update_compositions.
11613 (del_range_both): Call update_compositions just once..
11614
97fa0cc8
DL
116152000-02-10 Dave Love <fx@gnu.org>
11616
11617 * xfns.c (create_frame_xic): Fix initialization of automatic
11618 aggregates for pcc.
11619
25566a3c
KH
116202000-02-09 Kenichi Handa <handa@etl.go.jp>
11621
11622 * ccl.c (CCL_MAKE_CHAR): New macro.
11623 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11624 registers by CCL_MAKE_CHAR before calling translate_char.
11625 <CCL_TranslateCharacterConstTbl> Likewise.
11626
69da54ba
DL
116272000-02-08 Dave Love <fx@gnu.org>
11628
11629 * lread.c (__EXTENSIONS__): Define.
11630
f7136ee8
GM
116312000-02-08 Gerd Moellmann <gerd@gnu.org>
11632
11633 * puresize.h (BASE_PURESIZE): Increase to 650000.
11634
7768790b
EZ
116352000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11636
11637 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11638 the help message.
11639
38fd211b
EZ
116402000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11641
11642 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11643 md, mh, mb, mr, and me to the fake termcap entry.
11644
66e4690f
KR
116452000-02-06 Ken Raeburn <raeburn@gnu.org>
11646
11647 * sound.c (sound_cleanup): Don't call device close routine if the
11648 function pointer is null.
11649
a75dfea0
AI
116502000-02-06 Andrew Innes <andrewi@gnu.org>
11651
11652 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11653 around image definitions and prototypes.
11654 (gamma_correct) [WINDOWSNT]: New prototype.
11655
11656 * w32term.c (x_make_frame_visible): Replace call to
11657 input_poll_signal with poll_for_input.
11658
11659 * window.c [WINDOWSNT]: Include w32term.h.
11660
11661 * xdisp.c [WINDOWSNT]: Include w32term.h.
11662
11663 * makefile.nt: Add dependencies on w32gui.h.
11664 (OBJ1): Include atimer.obj.
11665 ($(BLD)\atimer.obj): New dependency rule.
11666
11667 * w32.c (sigmask): New function (does nothing).
11668 (sigunblock): Ditto.
11669
11670 * frame.c [WINDOWSNT]: Include w32term.h.
11671
11672 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11673
11674 * lread.c (syms_of_lread): Fix literal newlines.
11675
11676 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11677 the string constant limit (2048 bytes) in MSVC.
11678 (main): Ditto.
11679
59ddecde
GM
116802000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11681
52283633 11682 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11683 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11684 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11685 dispatch the event.
11686
07590973
DL
116872000-02-04 Dave Love <fx@gnu.org>
11688
11689 * fileio.c: Remove some unused vars.
11690 (_GNU_SOURCE): Define (for euidaccess).
11691
11692 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11693
11694 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11695 gcpro1, gcpro2.
11696 (read_minibuf): Deal with allow_props correctly.
11697
649351f9
EZ
116982000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11699
11700 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11701
66e4690f 117022000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11703
11704 * search.c (compile_pattern): If a cache entry has a nil regexp,
11705 fill in that entry instead of clobbering a previously cached
11706 string regexp.
11707
66e4690f 117082000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11709
11710 * puresize.h (BASE_PURESIZE): Increase to 610000.
11711
d240a249
GM
117122000-02-02 Gerd Moellmann <gerd@gnu.org>
11713
11714 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11715 can GC.
11716
ca91fb26
KH
117172000-02-02 Kenichi Handa <handa@etl.go.jp>
11718
25660570
KH
11719 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11720 instead of incrementing ic directly.
11721 <CCL_WriteExprConst> Likewise.
11722 <ccl_set_expr>: Set ic to jump_address.
11723
ca91fb26
KH
11724 * fileio.c (e_write): Fix the handling of
11725 CODING_FINISH_INSUFFICIENT_SRC.
11726
2ede9689
DL
117272000-02-01 Dave Love <fx@gnu.org>
11728
11729 * editfns.c (Fpropertize): Doc fix.
11730
11731 * process.c (Fstart_process): Doc fix.
11732
11733 * eval.c: Fix various doc strings not to duplicate information
11734 from help-manyarg-func-alist.
11735
52283633 11736 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11737
11738 * doc.c (Vhelp_manyarg_func_alist): New variable.
11739 (Fdocumentation): Use it.
11740 (syms_of_doc): Define it.
11741
b6680a0e
GM
117422000-01-31 Gerd Moellmann <gerd@gnu.org>
11743
2cb750ba
GM
11744 * xterm.c (xim_open_dpy): Remove unused local variable.
11745
52283633 11746 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11747
11748 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11749 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11750
b6680a0e
GM
11751 * fns.c (sweep_weak_table): New function.
11752 (sweep_weak_hash_tables): Use it. Keep on marking until there
11753 is no more change.
11754
994c5afe
GM
117552000-01-30 Gerd Moellmann <gerd@gnu.org>
11756
11757 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11758 that XTread_socket does not crash by trying to call XNoOp on a
11759 closed display.
427ec082 11760
f00276e3
JR
117612000-01-30 Jason Rumney <jasonr@gnu.org>
11762
11763 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11764 Change selected_frame to SELECTED_FRAME ().
11765 (w32_console_mouse_position): Remove #ifndef MULE from around
11766 `insist' parameter.
11767
11768 * makefile.nt: Remove dosfns.obj.
11769
11770 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11771
11772 * w32fns.c (w32_defined_color): Check for valid frame before
11773 applying gamma correction. Eliminate dependency on frame elsewhere.
11774 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11775 (w32_to_x_font): Use resx and resy not height_in and width_in.
11776 (x_to_w32_font): Doc fix.
11777 (xlfd_strip_height): New function to strip and return font height.
11778 (w32_font_match): Compare height separately from rest of xlfd
11779 spec, using xlfd_strip_height.
11780
11781 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11782 width_in. Use w32_defined_color in place of defined_color.
11783
11784 * w32faces.c: Merge more of DOS and X specifics in preparation for
11785 merge with xfaces.c.
11786 (defined_color): Remove FIXME comment.
11787 (tty_color_name): Provide w32-specific function.
11788 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11789
11790 * w32console.c (turn_on_face, turn_off_face): Removed.
11791 (w32_face_attributes): New function.
11792 (Global_variables): Reduce scope where possible.
11793 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11794 fill attribute.
11795 (hl_mode): Don't modify text attributes.
11796 (write_glyphs): Don't do anything if len <= 0. Use
11797 w32_face_attributes to get attributes for drawing. Write
11798 terminating codes using char_attr_normal.
11799 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11800 (update_begin, update_end): Likewise.
11801 (vga_stdcolor_name): New function.
11802 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11803 (Fset_screen_color): Remove char_attr_reverse.
11804
b08e8bb2
GM
118052000-01-29 Gerd Moellmann <gerd@gnu.org>
11806
11807 * xfns.c (xic_set_preeditarea): Take window parameter and
11808 window-relative pixel-positions.
11809
11810 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11811 is its frame's selected window.
11812 (xim_instantiate_callback): Likewise.
11813
11814 * xfns.c (x_create_im): Removed.
11815 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11816 (supported_xim_styles): Renamed from supported_styles.
11817 (best_xim_style): Renamed from best_style.
11818 (create_frame_xic): Renamed from xic_create_frame.
11819 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11820
b08e8bb2
GM
118212000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11822
11823 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11824 our frames, call XFilterEvent with 2nd parameter `None'.
11825 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11826 returning XBufferOverflow.
52283633 11827 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11828 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11829 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11830 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11831 (xim_initialize, xim_close)
11832 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11833 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11834 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11835 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11836
11837 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11838 and `xim_styles'.
11839 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11840 `xic_style' and `xic_xfs'.
11841 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11842 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11843 (FRAME_XIM): Removed.
11844
11845 * xfns.c (supported_styles): New variable.
11846 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11847 (xic_create_xfontset, best_style, xic_create_frame)
11848 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11849 (xic_set_xfontset): New functions.
11850
142e109c
DL
118512000-01-28 Dave Love <fx@gnu.org>
11852
11853 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11854
11855 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11856
b02786f9
GM
118572000-01-28 Gerd Moellmann <gerd@gnu.org>
11858
d060bc9f
GM
11859 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11860 for *scratch* if it already existed.
11861
b02786f9
GM
11862 * emacs.c (USAGE): New macro.
11863 (main): Use it to display usage information.
11864
2c52d7e4
EZ
118652000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11866
11867 Support for the menu-help feature:
11868
52283633 11869 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11870
11871 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11872 part of the line to the termscript file.
11873 (IT_clear_to_end): Clear the entire line, not just its beginning.
11874 (menu_help_message, prev_menu_help_message): New variables.
11875 (IT_menu_make_room): Make room for the help_text member.
11876 (IT_menu_display): New argument disp_help; all callers changed.
11877 If disp_help is non-zero, store the help text of the active menu
11878 item in menu_help_message.
11879 (XMenuAddPane): Initialize the help_text member to NULL.
11880 (XMenuAddSelection): New argument help_text. Store it in the
11881 XMenu structure.
11882 (XMenuActivate): New argument help_callback. If the value of
11883 menu_help_message has changed since the last time, display the
11884 menu help message text while waiting for the mouse to move. Clear
11885 the echo area before exiting.
11886 (XMenuDestroy): Free the help_text member.
11887
ffe0bcd1
GM
118882000-01-27 Gerd Moellmann <gerd@gnu.org>
11889
11890 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11891 XMenuAddSelection. Pass help callback to XMenuActivate.
11892 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11893
50dbd23f
EZ
118942000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11895
11896 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11897 and EMACS_SET_USECS.
11898
f5941bf8
GM
118992000-01-26 Dave Love <fx@gnu.org>
11900
6c67ddee
DL
11901 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11902
f5941bf8
GM
11903 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11904 an error may be signalled.
11905
9e49c990
GM
119062000-01-26 Gerd Moellmann <gerd@gnu.org>
11907
fc3cb460
GM
11908 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11909 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11910
9e49c990
GM
11911 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11912
d0c037d8
GM
119132000-01-25 Gerd Moellmann <gerd@gnu.org>
11914
11915 * charset.c (Fstring): If there is a multibyte char among
11916 the args, always return a multibyte string.
11917
e12489f9
GM
119182000-01-25 Gerd Moellmann <gerd@gnu.org>
11919
11920 * sysdep.c (sys_select): Turn atimers off and on instead of
11921 recording and restoring old alarm handler
11922
11923 * process.c (toplevel): Include atimer.h.
11924 (create_process_1): Rewritten.
11925 (create_process): Use atimers instead of alarm.
11926 (wait_reading_process_input) [hpux]: Turn atimers off instead
11927 of turning off SIGALRM.
11928 (wait_reading_process_input): Turn off atimers instead off
11929 calling stop_polling.
11930
11931 * emacs.c (main): Call init_atimer.
11932
11933 * keyboard.c (toplevel): Include systime.h and atimer.h.
11934 (polling_for_input): Removed because unused.
11935 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11936 (poll_timer): New variable.
11937 (poll_for_input, poll_for_input_1): New functions.
11938 (start_polling, stop_polling): Rewritten.
11939
11940 * keyboard.h (polling_for_input): Removed.
427ec082 11941
e12489f9
GM
11942 * atimer.h, atimer.c: New files.
11943
11944 * Makefile.in (obj): Add atimer.o.
11945 (atimer.o): New target.
11946
11947 * blockinput.h (pending_atimers): Add extern declaration.
11948 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11949
11950 * lisp.h (popup_activated_flag): Add extern declaration.
11951
11952 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11953 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11954 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11955
11956 * xterm.c (toplevel): Include atimer.h.
11957 (toolkit_scroll_bar_interaction): New variable.
11958 (Fxt_process_timeouts): Removed.
11959 (x_process_timeouts): New function.
11960 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11961 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11962 (x_make_frame_visible): Call poll_for_input_1 instead of
11963 input_poll_signal. Don't call alarm.
11964 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11965
1e5279b9
DL
119662000-01-24 Dave Love <fx@gnu.org>
11967
6c67ddee 11968 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11969 Don't use -cckr -- apparently not now necessary.
11970
edf6aeb8
EZ
119712000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11972
11973 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11974 screen boundary.
11975
9badad41
JR
119762000-01-23 Jason Rumney <jasonr@gnu.org>
11977
11978 * w32fns.c (w32_defined_color): Apply gamma correction before
11979 trying to map to the palette.
11980 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11981 to w32_clear_rect.
11982
11983 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11984 here. Callers changed to always pass real device context.
11985 (w32_draw_bitmap): Likewise.
11986 (w32_get_glyph_overhangs): Likewise.
52283633 11987 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11988 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11989 pfnSetScrollInfo and SetScrollRange.
11990 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11991 back into MULE characters after decoding them.
11992 (x_get_glyph_face_and_encoding): Likewise.
11993 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11994 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11995 (x_produce_glyphs): Calculate per char metrics for a character
11996 that we know exists in default font when font_not_found_p is true.
11997
63bd786b
JR
119982000-01-22 Jason Rumney <jasonr@gnu.org>
11999
12000 * makefile.nt (intervals.obj, composite.obj): New modules.
12001 (composite.h): Added as dependency where appropriate.
12002
12003 * w32gui.h (XGCValue): New struct for emulating X GCs.
12004
12005 * w32term.h (XCharStruct): New struct for emulating X.
12006
12007 * w32console.c (turn_on_face, turn_off_face): New functions.
12008 (change_line_highlight): New prototype for new redisplay.
12009 (write_glyphs): Support multibyte text. Support faces.
12010
52283633 12011 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12012
12013 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12014 throughout. struct frame * in place of FRAME_PTR.
12015 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12016 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12017 (w32_get_arg): Renamed from x_get_arg.
12018 (Fx_file_dialog): New function.
12019 (w32_list_fonts): Check cache before asking system.
12020 (Vw32_enable_synthesized_fonts): New variable.
12021 (Vw32_enable_italics): Obsolete, removed.
12022
12023 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12024 Use SELECTED_FRAME macro.
12025
12026 * w32menu.c: Add skeleton support for help strings on menus.
12027 (add_menu_item): Native checkbox and radio support added, but not
12028 yet enabled due to bugs.
12029 (push_menu_item): Add parameters type, selection and help.
12030 Callers updated.
12031 Formatting changes to reduce unnecessary diffs with xmenu.c.
12032
12033 * w32select.c (Fw32_set_clipboard_data): Update call to
12034 find_charset_in_str.
12035
12036 * w32term.c: Complete rewrite for new redisplay based on new
12037 xterm.c with necessary sections merged back in from old w32term.c.
12038
6ffd3cf7 120392000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12040
12041 * data.c (set_internal): Further fix in same criterion.
12042
6ffd3cf7 120432000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12044
12045 * data.c (set_internal): Fix the criteria for whether
12046 to swap out the old cached binding.
12047
60af03f1
DL
120482000-01-19 Dave Love <fx@gnu.org>
12049
12050 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12051
f9be074f
KH
120522000-01-18 Kenichi Handa <handa@etl.go.jp>
12053
12054 * regex.c (re_compile_fastmap): While checking a range table for
12055 `charset', skip flag bits for a character class correctly.
12056
52b8dbf9
GM
120572000-01-17 Gerd Moellmann <gerd@gnu.org>
12058
d36100c9
GM
12059 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12060
52283633 12061 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12062
12063 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12064 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12065
12066 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12067 MENU_ITEMS_ITEM_.*.
12068 (MENU_ITEMS_ITEM_HELP): New enumerator.
12069 (push_menu_item): Add parameter HELP. Record help in menu_items.
12070 (single_menu_item, single_submenu, list_of_items): Call
12071 push_menu_item with new parameter.
12072 (single_submenu): Set help string in widget value.
12073 (menu_highlight_callback): New function.
12074 (set_frame_menubar): Call lw_create_widget with new
12075 parameter list.
12076 (xmenu_show, xdialog_show): Ditto.
12077
3139018f
GM
120782000-01-13 Gerd Moellmann <gerd@gnu.org>
12079
12080 * sound.c (Fplay_sound): Improve doc string.
12081
83c8f461
RS
120822000-01-11 Richard M. Stallman <rms@gnu.org>
12083
12084 * lisp.h (set_internal): Enter the new arg.
12085
12086 * eval.c (specbind): Record buffer-local variables specially,
12087 indicating which buffer's binding was saved.
12088 (unbind_to): Restore buffer-local variables specially
12089 in the proper buffer.
12090
12091 * data.c (set_internal): New arg BUF.
427ec082 12092
83c8f461
RS
12093 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12094 * data.c (Fset): Pass new arg to set_internal.
12095 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12096
1fab1775
GM
120972000-01-11 Gerd Moellmann <gerd@gnu.org>
12098
52283633 12099 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12100
83c8f461 121012000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12102
12103 * minibuf.c (Ftry_completion): Doc fix.
12104
7a85e4df
GM
121052000-01-11 Gerd Moellmann <gerd@gnu.org>
12106
12107 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12108 vector, too.
12109
a970dae4
AS
121102000-01-11 Andreas Schwab <schwab@suse.de>
12111
12112 * coding.c (code_convert_region): Initialize total_skip.
12113
c65d14ee
DL
121142000-01-08 Dave Love <fx@gnu.org>
12115
12116 * eval.c (Fuser_variable_p): Check customizability too.
12117
834938d2
GM
121182000-01-07 Gerd Moellmann <gerd@gnu.org>
12119
12120 * minibuf.c (Fcompleting_read): Doc fix.
12121
e0303cd6
GM
121222000-01-05 Gerd Moellmann <gerd@gnu.org>
12123
8a26744b
GM
12124 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12125 -L /usr/local/lib.
12126
e0303cd6
GM
12127 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12128 Check that input style is supported before trying to create an
12129 IC for it.
12130 (x_window): Call x_create_im.
427ec082 12131
2e471eb5
GM
121322000-01-04 Gerd Moellmann <gerd@gnu.org>
12133
560a7bd2
GM
12134 * xfns.c (current_gif_memory_src): New variable.
12135 (gif_load): Record the address of the current memory source
12136 in current_gif_memory_src.
12137 (gif_read_from_memory): Use current_gif_memory_src.
12138
f9ee84a3
GM
12139 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12140 macros statement form.
12141
d1299cde
GM
12142 * sound.c (struct sound): Renamed from struct sound_file.
12143 (struct sound): Add members `data' and `header_size'.
12144 (enum sound_attr): Add SOUND_DATA.
12145 (current_sound, current_sound_device): Variables renamed from
12146 sound_file and sound_device.
12147 (parse_sound): Parse :data.
12148 (parse_sound): Handle sound data in strings.
12149 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12150 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12151 needed header size.
12152 (wav_play, au_play): Play sounds from string data.
12153
2e471eb5
GM
12154 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12155
12156 * lisp.h: Add prototype for allocate_string_data.
12157
52283633 12158 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12159
12160 * alloc.c (mark_buffer): Remove code in #if 0.
12161 (gc_sweep): Ditto.
12162 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12163 (strings_consed): New variable.
12164 (allocate_string): Set it.
12165 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12166 (Fmemory_use_counts): Return strings_consed. Use Flist.
12167
12168 * alloc.c: General cleanup in comments etc. Remove conditional
12169 compilation for `standalone'.
12170
12171 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12172
12173 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12174 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12175 (DONT_COPY_FLAG): Removed.
12176 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12177 (struct sdata, struct sblock): New
12178 (struct string_block): Rewritten.
12179 (STRINGS_IN_STRING_BLOCK): New macro.
12180 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12181 (large_sblocks, string_blocks, string_free_list): New variables.
12182 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12183 (init_strings): Rewritten.
12184 (allocate_string, allocate_string_data, compact_small_strings)
12185 (free_large_strings, sweep_strings): New functions.
12186 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12187 (struct string_block_head, current_string_block)
12188 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12189 (STRING_PAD): Removed.
12190 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12191 (Fgarbage_collect): Don't set mark bit in large strings.
12192 (mark_object): Mark strings differently. Mark symbol names
12193 differently.
12194 (survives_gc_p): Test marked strings differently.
427ec082 12195 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12196 symbol names.
12197 (compact_strings): Removed.
12198
42608ba8
EZ
121992000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12200
12201 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12202 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12203
e0a09e1a
KH
122042000-01-04 Kenichi Handa <handa@etl.go.jp>
12205
dd9f0750 12206 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12207 in a non-empty buffer.
dd9f0750 12208
3c0f3b15 12209 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12210
44cd3ae5
GM
122112000-01-03 Gerd Moellmann <gerd@gnu.org>
12212
12213 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12214 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12215
12216 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12217
c182a70f
EZ
122182000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12219
12220 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12221 need to test for MSDOS frames.
12222
24480d5b
EZ
122232000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12224
12225 * dosfns.c (unspecified_colors): Remove.
12226 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12227 unspecified_bg.
12228 (msdos_stdcolor_name): Return strings for unspecified fore- and
12229 back-ground colors.
12230
12231 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12232 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12233 (tty_color_name): Return Lisp strings for unspecified fore- and
12234 back-ground colors.
12235 (Finternal_set_lisp_face_attribute): Remove the special treatment
12236 for Qunspecified_{f,b}g.
52283633 12237 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12238
047f434a
GM
122392000-01-03 Gerd Moellmann <gerd@gnu.org>
12240
12241 * xdisp.c (reseat_at_next_visible_line_start): Position before
12242 newline only if ending up on a newline.
12243 (next_element_from_ellipsis): Return success. Handle case of
52283633 12244 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12245 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12246 returns 0.
12247
d684c676
EZ
122482000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12249
12250 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12251 (Fcolor_supported_p): Renamed from face-color-supported-p.
12252
5fe1d139
EZ
122532000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12254
12255 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12256 list of colors renamed to tty-defined-color-alist.
12257 (tty_color_name): Pass the frame to tty-color-by-index.
12258 (realize_tty_face): tty-color-alist is now a function which
12259 accepts the frame as argument.
12260
52283633 12261 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12262
816be8b8
EZ
122632000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12264
12265 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12266 encode_terminal_code.
12267
b635321e
EZ
122682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12269
12270 * dispnew.c (mode_line_string): Support termcap frames as well.
12271
9b784e96
GM
122722000-01-01 Gerd Moellmann <gerd@gnu.org>
12273
27189709
GM
12274 * syntax.c (Fforward_word): Undo previous change.
12275
12276 * editfns.c (Fconstrain_to_field): Don't constrain if
12277 inhibit-field-text-motion is non-nil.
12278 (Fline_beginning_position): Undo previous change.
12279 (Fline_end_position): Ditto.
12280
12281 * syntax.c (Fforward_word): Notice field boundaries only if
12282 inhibit-field-text-motion is nil.
12283
12284 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12285
12286 * editfns.c (Vinhibit_field_text_motion): New variable.
12287 (inhibit-field-text-motion): New DEFVAR_LISP.
12288 (Fline_beginning_position, Fline_end_position): Notice field
12289 boundaries only if inhibit-field-text-motion is nil.
12290
45158a91
GM
12291 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12292 All calls adjusted.
12293 (x_build_heuristic_mask): Likewise.
12294 (xbm_load_image_from_file): Change error output.
12295 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12296 (gif_load, gs_load, x_kill_gs_process): Ditto.
12297
9b784e96
GM
12298 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12299 color indices when accessing raster pixels.
63cec32f
GM
12300 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12301 one of :file or :data.
12302 (enum pbm_keyword_index): Add PBM_DATA.
12303 (pbm_format): Add :data.
12304 (pbm_image_p): Allow either :file or :data.
12305 (pbm_read_file): New function.
12306 (pbm_scan_number): Rewritten to read from string.
12307 (pbm_load): Support :data.
9b784e96 12308
2cb085db 12309See ChangeLog.8 for earlier changes.
6922b018
KH
12310
12311;; Local Variables:
49b3bd82 12312;; coding: iso-2022-7bit
6922b018 12313;; End: