(required_matrix_width, required_matrix_height): New
[bpt/emacs.git] / src / ChangeLog
CommitLineData
edd1e654
GM
12001-09-26 Gerd Moellmann <gerd@gnu.org>
2
3 * xdisp.c (display_mode_lines): Temporarily set selected_frame
4 and selected_window to the frame of the window whose mode-lines
5 are displayed, and to the window itself.
6 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
7 here.
8
924b604c
GM
92001-09-25 Gerd Moellmann <gerd@gnu.org>
10
daba7643
GM
11 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
12 the image cache under us.
13
b7a22712
GM
14 * xdisp.c (display_mode_element): If the mode element is a symbol
15 with a string value, use that string's multibyteness for
16 displaying.
17
ad648212
GM
18 * keyboard.c (read_char): Don't clear a message for a switch-frame
19 event. From Stefan Monnier <monnier@cs.yale.edu>.
20
9f8531e5
GM
21 * xterm.c (fast_find_position) [0]: Add a presumably more correct
22 version for after 21.1.
23
24 * xdisp.c (row_containing_pos): Make externally visible.
25
26 * dispextern.h (row_containing_pos): Add prototype.
27
924b604c
GM
28 * process.c (send_process): Disable composition if from_byte < 0.
29 From Kenichi Handa <handa@etl.go.jp>.
30
6f3f0db4
GM
312001-09-24 Gerd Moellmann <gerd@gnu.org>
32
c69c0ebc
GM
33 * xterm.c (refreshicon): Function removed.
34
d1182bc4
GM
35 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
36
37 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
38
39 * xterm.c (toplevel): Remove includes in #if 0.
40
6f3f0db4
GM
41 * process.c (sigchld_handler) [LINUX]: Don't return from
42 the signal handler at the end of the loop.
43
59957f85
GM
442001-09-21 Gerd Moellmann <gerd@gnu.org>
45
46 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: Terminate
47 only if kill returns -1, and errno is ESRCH.
48
a0528984
EZ
492001-09-21 Markus Rost <rost@math.ohio-state.edu>
50
51 * Makefile.in (shortlisp): Add ../lisp/env.elc.
52
db92b288
GM
532001-09-20 Gerd Moellmann <gerd@gnu.org>
54
3fed8ad5
GM
55 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
56 since this function can be called during GC.
57
db92b288
GM
58 * callproc.c (Fcall_process): Handle errors from pipe(2).
59 (child_setup): Delete code in #ifdef vipc.
60
7121b85a
GM
612001-09-19 Gerd Moellmann <gerd@gnu.org>
62
72f62cb5
GM
63 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
64 (display_mode_element): Display the string from decode_mode_spec
65 depending on its multibyteness.
66
a2697022
GM
67 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
68
7121b85a
GM
69 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
70
bfc97351
GM
712001-09-18 Gerd Moellmann <gerd@gnu.org>
72
c9063433
GM
73 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
74 recursive_edit_unwind.
75 (recursive_edit_unwind): Set kboard state according to
76 SINGLE-KBOARD.
77
3fbdba3e
GM
78 * buffer.c (modify_overlay): Don't do nothing if START == END;
79 This can still be a modification, for example when an overlay has
80 a before-string or after-string.
81 (Fdelete_overlay): Prevent redisplay optimizations when deleting
82 an overlay with before-string or after-string.
83
1270031d
GM
84 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
85 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
86
bfc97351
GM
87 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
88 first_unchanged_at_end_row is in front of
89 last_unchanged_at_beg_row. This code should be removed after the
90 release of 21.1.
91
d8a973aa
GM
922001-09-17 Gerd Moellmann <gerd@gnu.org>
93
e18c8b8d
GM
94 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
95 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
96
d8a973aa
GM
97 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
98 versions >= 2.95.
99
ed7d6ba4
EZ
1002001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
101
102 * dired.c (Ffile_attributes): Doc fix.
103
551629f9
GM
1042001-09-14 Gerd Moellmann <gerd@gnu.org>
105
106 * fileio.c (Ffile_symlink_p): Fix last change.
107
108 * filelock.c (current_lock_owner): Fix last change.
109
4c8c7926
GM
1102001-09-13 Gerd Moellmann <gerd@gnu.org>
111
620c4704
GM
112 * filelock.c (current_lock_owner): If readlink returns ERANGE,
113 take that to mean that the buffer is too small.
114
81c3310d
GM
115 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
116 that to mean that the buffer is too small.
117
06fd3792
GM
118 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
119 current buffer's multibyteness when discarding the iterator's
120 stack.
121
4c8c7926
GM
122 * xfns.c (Fx_window_property): Handle case that property gets
123 deleted between the two calls to XGetWindowProperty.
124
9a72e4c1
GM
1252001-09-11 Gerd Moellmann <gerd@gnu.org>
126
bd819d14
GM
127 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
128
a41edd99
GM
129 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
130 in addition to read-only.
131
132 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
133 to t in addition to read-only.
134
135 * lisp.h (Qinhibit_modification_hooks): Declare.
136
137 * insdel.c (Qinhibit_modification_hooks): New variable.
138 (syms_of_insdel): Initialize and staticpro it.
139
d4881c6a
GM
140 * textprop.c (verify_interval_modification): Don't run
141 modification-hooks if inhibit_modification_hooks.
142
143 * dispnew.c (set_window_cursor_after_update): Fix code
144 finding glyph row containing cursor when cursor_in_echo_area
145 is >= 0.
146
9a72e4c1
GM
147 * xdisp.c (init_from_display_pos): Put some code in #if 0.
148 (add_to_log): Use bcopy instead of strcpy.
149 (init_from_display_pos): Use an explicit loop over bytes in
150 overlay strings instead of calling index.
151
f4a374a1
GM
1522001-09-10 Gerd Moellmann <gerd@gnu.org>
153
300e57bd
GM
154 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
155
156 * dispnew.c (direct_output_for_insert): Don't change IT's
157 stop_charpos to something in front of its current position.
158
f4a374a1
GM
159 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
160 `format'.
161
7e4cbc91
RS
1622001-09-10 Richard M. Stallman <rms@gnu.org>
163
164 * frame.c (Fmouse_position): Doc fix.
165
6afad91e
GM
1662001-09-07 Gerd Moellmann <gerd@gnu.org>
167
168 * xdisp.c (init_from_display_pos): Don't compare the result
169 of calling index with NULL.
170
f76e0368
GM
1712001-09-06 Gerd Moellmann <gerd@gnu.org>
172
173 * xfns.c (x_set_background_color): Don't change the colors
174 of the X window of scroll bar widgets.
175
9ead1b60
AI
1762001-09-05 Andrew Innes <andrewi@gnu.org>
177
178 * w32fns.c (w32_createwindow): Undo last change.
179
c3b497b3
GM
1802001-09-05 Gerd Moellmann <gerd@gnu.org>
181
08e1d6df
GM
182 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
183
c3b497b3
GM
184 * xdisp.c (string_buffer_position): Use *single_char_property*
185 functions instead of the *single_property* functions.
186
8f860180
AI
1872001-09-04 Andrew Innes <andrewi@gnu.org>
188
9a72e4c1
GM
189 * w32term.c (w32_read_socket): Add more information to debugging
190 output.
8f860180
AI
191
192 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
193 from Emacs frames, so that calls to GetClipBox in w32term.c
194 correctly report when part of a frame is visible (including
195 scrollbars, etc). This prevents repeated redrawing of frames when
196 only a scrollbar is visible.
197 (w32_wnd_proc): Add more frame information to debugging output.
198
2ee1aa00
SM
1992001-09-03 Stefan Monnier <monnier@cs.yale.edu>
200
201 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
202
e3b22517
GM
2032001-09-03 Gerd Moellmann <gerd@gnu.org>
204
7e376260
GM
205 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
206 help-echo for a string which doesn't have help-echo itself, use
207 get-char-property to obtain the help-echo from the string's buffer
208 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
209 have mouse-face, look ``under'' the string for mouse-face from an
210 overlay.
211 (fast_find_position): Add parameter STOP. In the final row, stop
212 before glyphs having STOP as object. Don't consider glyphs that
213 are not from a buffer.
214
e3b22517
GM
215 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
216
9a249bba
EZ
2172001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
218
219 * fns.c (Fmd5): Doc fix.
220
c9979669
GM
2212001-08-31 Gerd Moellmann <gerd@gnu.org>
222
223 * composite.c (update_compositions): Do nothing if
224 inhibit-modification-hooks is set.
225
9584e63a
GM
2262001-08-30 Gerd Moellmann <gerd@gnu.org>
227
986ec8f2 228 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 229 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
230 glyph matrices etc. in a core dump.
231
92a25631
GM
232 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
233 (syms_of_xdisp): Initialize them.
234 (handle_single_display_prop): Don't change point, bind `object',
235 `position', and `buffer-position' instead to the object having the
2ee1aa00 236 `display' property, position in the object and position in the buffer.
92a25631 237
9584e63a
GM
238 * fileio.c (Finsert_file_contents): Don't change the multibyteness
239 of the buffer if REPLACE is non-nil.
240
d38633a3
GM
2412001-08-29 Gerd Moellmann <gerd@gnu.org>
242
243 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
244
f4fccc1e
EZ
2452001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
246
247 * w32term.c (x_set_glyph_string_background_width)
248 (show_mouse_face): Track the last changes in xterm.c.
249
eaaa65b0
GM
2502001-08-28 Gerd Moellmann <gerd@gnu.org>
251
7b0870b2
GM
252 * xterm.c (x_set_glyph_string_background_width): Set the glyph
253 string's background width so that multi-line mouse-face is drawn
254 to the right edge of the window.
255 (show_mouse_face): Set the row's mouse_face_p flag after drawing
256 glyphs.
257
6b6e2422 258 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 259 before inserting/writing glyphs.
6b6e2422 260
eaaa65b0
GM
261 * xdisp.c (display_mode_element): Use string_byte_to_char to
262 determine character positions in strings, use chars_in_text
263 instead of strwidth.
264 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
265 a matrix as parameter; this is easier to use from GDB.
266
9ad62cf8
MB
2672001-08-28 Miles Bader <miles@gnu.org>
268
2ee1aa00
SM
269 * textprop.c (Fprevious_single_char_property_change)
270 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 271
32171635
GM
2722001-08-27 Gerd Moellmann <gerd@gnu.org>
273
47d57b22
GM
274 * fileio.c (Finsert_file_contents): Allocate, restore, and
275 free composition data in the case of REPLACE not being nil.
276
277 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
278 there exist overlay strings with newlines at POS.
279 (text_outside_line_unchanged_p): Return 0 if changes start at
280 START and overlays exist at START. Likewise for END.
281 (try_window_id): Give up if init_to_row_end returns 0.
282
32171635
GM
283 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
284 unconditionally.
285
e1249666
GM
2862001-08-24 Gerd Moellmann <gerd@gnu.org>
287
33954c45
GM
288 * keymap.c (access_keymap): Return the cdr of the binding of
289 a generic character instead of its definition (KEY . BINDING).
290
e1249666
GM
291 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
292 to 0 also in the REPLACE case.
293
fb4c6c96
AC
2942001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
295
296 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
297 open to determine whether file is readable (as for DOS_NT).
298
59ecf80b
GM
2992001-08-23 Gerd Moellmann <gerd@gnu.org>
300
301 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
302 coding.type is coding_type_no_conversion or coding_type_raw_text,
303 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
304 non-nil instead of just setting enable_multibyte_characters in the
305 buffer to nil.
306
40e33037
GM
3072001-08-22 Gerd Moellmann <gerd@gnu.org>
308
374388c3
GM
309 * dispextern.h (struct face_cache): Add member
310 menu_face_changed_p.
311
312 * xfaces.c (menu_face_changed_default): New variable.
313 (menu_face_changed_count): Variable removed.
314 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
315 the menu_face_changed_default flag, otherwise set the FRAME's
316 menu_face_changed_p flag if the `menu' face has been changed.
317 Prevent calling set_font_frame_param if FRAME is t.
318 (make_face_cache): Initialize cache's menu_face_changed_p
319 from menu_face_changed_default.
320 (realize_basic_faces): Look into the frame's face cache to
321 determine if the menu appearance needs updating.
322
40e33037
GM
323 * keymap.c (access_keymap): Fix last change to not consider
324 IDX when it has modifiers.
325
859ea4b8
GM
3262001-08-21 Gerd Moellmann <gerd@gnu.org>
327
328 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
329 . BINDING) exists, where GENERIC-CHAR is the generic character of
330 the charset of IDX, return BINDING unless there exists a binding
331 for IDX itself.
332
e8660d73
GM
3332001-08-16 Gerd Moellmann <gerd@gnu.org>
334
cca1b1d7
GM
335 * xrdb.c (SYSV): Don't define on Solaris 2.
336 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
337
e8660d73 338 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 339 of the screen line, not text line, containing IT's current position.
e8660d73 340
93aba6fc
GM
3412001-08-15 Gerd Moellmann <gerd@gnu.org>
342
288d4e06
GM
343 * window.c (window_scroll_pixel_based): Don't recenter if
344 PT is partially visible in the window.
345
3452efc2
SM
346 * xterm.c (expose_window_tree, expose_window, expose_line):
347 Return 1 when overwriting mouse-face.
82f053ab
GM
348 (expose_frame): If mouse-face was overwritten, redo it.
349
93aba6fc
GM
350 * xfaces.c (x_update_menu_appearance): Don't call
351 set_frame_menubar, let the next redisplay do it.
352
858a55c1
AI
3532001-08-14 Andrew Innes <andrewi@gnu.org>
354
355 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
356 drawing glyph string.
357
3a990b67
EZ
3582001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
359
360 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
361 running HI-UX/MPP.
362
04386463
GM
3632001-08-14 Gerd Moellmann <gerd@gnu.org>
364
365 * xfaces.c (x_update_menu_appearance): Save and restore value of
366 interrupt_input_blocked.
367
3e6385a4
GM
3682001-08-13 Gerd Moellmann <gerd@gnu.org>
369
b0e619b4
GM
370 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
371 a line start, move back to the line start.
3452efc2 372
0de73d5a
GM
373 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
374 exactly when a mini-buffer is active.
375
3e6385a4
GM
376 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
377 in units of 1/8 character on non window-system frames.
378 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
379
d1b5f629
EZ
3802001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
381
382 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
383 a doc string.
384
eaa2319f
GM
3852001-08-09 Gerd Moellmann <gerd@gnu.org>
386
8e3189f0
GM
387 * keyboard.c (Vpre_help_message): New variable.
388 (syms_of_keyboard): Initialize and staticpro it.
389 (show_help_echo): Record current message before displaying a
390 help-echo, and restore that message when clearing the help.
391
eaa2319f
GM
392 * xfns.c (x_create_im): Remove prototype.
393
394 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
395
396 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 397
eaa2319f
GM
3982001-08-08 Gerd Moellmann <gerd@gnu.org>
399
400 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 401 windows whose height has changed, disable partially visible lines.
eaa2319f 402
17fdcfc8
GM
4032001-08-07 Gerd Moellmann <gerd@gnu.org>
404
22d01aed 405 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 406 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 407
17fdcfc8
GM
408 * xdisp.c (start_display): Don't try to determine the continuation
409 lines width if lines are truncated. It's superfluous and leads to
410 incorrect results if POS is not visible in the window after
411 reseating the iterator at the previous line start.
412
8e3fe78e
GM
4132001-08-06 Gerd Moellmann <gerd@gnu.org>
414
415 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
416
98a8938c
GM
4172001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
418
419 * alloc.c (init_stack): Remove declaration.
420
18f9986a
GM
4212001-08-03 Gerd Moellmann <gerd@gnu.org>
422
5e1f85e0
GM
423 * keyboard.c (read_key_sequence): Check that key is an integer
424 before comparing it with quit_char.
425 (add_command_key): Use larger_vector.
426 (read_char_x_menu_prompt): Instead of converting symbol and
427 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 428 which cannot be confused with valid events.
5e1f85e0
GM
429 (read_char): When reading from Vunread_command_events, check for
430 events of the form (EVENT . disabled) instead of
431 (EVENT . nil).
432
18f9986a
GM
433 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
434 a float, determine the max height from the frame's height.
435
fbc7f2a6
GM
4362001-08-02 Gerd Moellmann <gerd@gnu.org>
437
438 * xdisp.c (redisplay_internal): Take message_cleared_p into
439 account only if minibuf_level == 0.
440
81b1a79d
GM
4412001-08-01 Gerd Moellmann <gerd@gnu.org>
442
e5c60873
GM
443 * xdisp.c (redisplay_internal): Add a check for the last
444 displayed message.
3452efc2 445
6e019995
GM
446 * xdisp.c (message_cleared_p): New variable.
447 (clear_message): Set message_cleared_p when clearing the current
448 message.
449 (redisplay_internal): Look at message_cleared_p to capture
450 the case that the echo area should be cleared.
451
308a74d8
GM
452 * keyboard.c (command_loop_1): Fix spelling of
453 resize_echo_area_exactly.
454
3452efc2 455 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
456
457 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
458
81b1a79d
GM
459 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
460 current matrix when the window gets smaller.
461
ada329e6
EZ
4622001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
463
464 * print.c (strout): Cast the character passed to insert_char to
465 unsigned char, to avoid sign extension when it is promoted to int.
466
ed86208c
GM
4672001-07-31 Gerd Moellmann <gerd@gnu.org>
468
469 * fileio.c (Finsert_file_contents): Don't treat a return value
470 of 0 from emacs_read as an IO error.
471
6594ac22
GM
4722001-07-30 Gerd Moellmann <gerd@gnu.org>
473
cef68af5
GM
474 * keyboard.c (abs): New macro.
475 (double_click_fuzz): New variable.
476 (make_lispy_event): Use it to determine what makes a double-click.
477 (syms_of_keyboard): DEFVAR_INT it.
478
6594ac22
GM
479 * xmenu.c (set_frame_menubar): Take into account that
480 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
481 <raeburn@gnu.org>.
482
75c5350a
GM
4832001-07-27 Gerd Moellmann <gerd@gnu.org>
484
485 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
486
487 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
488 of row's visible height.
489
490 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
491 deal with the first overlay string having an image `display' property.
492 (try_window_reusing_current_matrix, compute_line_metrics):
493 Fix computation of row's visible height for the case that part of the
75c5350a
GM
494 row is invisible above and part of the row is at the same time
495 invisible below the window.
496
ac49effe
GM
4972001-07-26 Gerd Moellmann <gerd@gnu.org>
498
499 * xfns.c (x-show-tip): Doc fix.
3452efc2 500
ac49effe
GM
501 * xfns.c (Vx_max_tooltip_size): New variable.
502 (syms_of_xfns): DEFVAR_LISP it.
503 (Fx_show_tip): Set frame's window_width to the width of the
504 window. Use a maximum tooltip size specified by
505 Vx_max_tooltip_size, if that has valid contents.
506 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 507
8c3b00cb
AI
5082001-07-26 Andrew Innes <andrewi@gnu.org>
509
510 * w32term.c (x_display_list): New variable.
511 (w32_term_init): Set it.
512
513 * w32term.h (x_display_list): New extern.
514
16098288
GM
5152001-07-26 Gerd Moellmann <gerd@gnu.org>
516
517 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
518 is non-nil, instead of when redisplaying_p is non-zero.
519 See comment there.
16098288
GM
520 (mark_window_display_accurate_1): Add an assertion.
521
64c5be50
GM
5222001-07-25 Gerd Moellmann <gerd@gnu.org>
523
e743f599
GM
524 * dispextern.h (struct it): Increase size of ctl_chars to 16.
525
563b384d
GM
526 * xfns.c (Fx_file_dialog): Block/unblock input while processing
527 events so that we get a chance of processing expose events.
528
64c5be50
GM
529 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
530
296808a5
GM
5312001-07-24 Gerd Moellmann <gerd@gnu.org>
532
533 * xfns.c (valid_image_p): Protect better against invalid image
534 specifications. Previous code could signal an error.
535
5247262a
GM
5362001-07-23 Gerd Moellmann <gerd@gnu.org>
537
3452efc2 538 * indent.c (current_column): Fix column computation in the
f1004faf
GM
539 presence of display table entries.
540 (current_column_1, Fmove_to_column, compute_motion): Likewise.
541
dd42b31a
GM
542 * dispnew.c (adjust_glyph_matrix): In the optimization for
543 windows whose height has changed, use the new window height
544 to compute which rows to invalidate.
545
9e5a7f2a
GM
546 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
547 (MAX_10_EXP): New macro.
548 (Fformat): Use it.
549
5247262a
GM
550 * coding.c (code_convert_region): Handle the multibyte case if
551 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
552
177ab8ce
GM
5532001-07-20 Gerd Moellmann <gerd@gnu.org>
554
6e07c0a5
GM
555 * dispextern.h (struct face): Change type of `stipple' to
556 int; it's an ID.
557
177ab8ce
GM
558 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
559
b5b80599
GM
5602001-07-19 Gerd Moellmann <gerd@gnu.org>
561
4e2a256b
GM
562 * dispnew.c (update_window): Don't set the cursor at the end
563 of the update if display update has been paused.
564
3452efc2 565 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 566
c1fd9232
KR
5672001-07-18 Ken Raeburn <raeburn@gnu.org>
568
569 * fns.c (Fset_char_table_default): Check that a charset is defined
570 before checking its dimension.
571
928a85c1
KR
5722001-07-17 Ken Raeburn <raeburn@gnu.org>
573
574 * coding.c (setup_coding_system): Don't do any designation based
575 on reg_bits if charset is not yet defined.
576
fb4c6c96 577 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
578 pointer, using eassert.
579
de11c1ea
GM
5802001-07-17 Gerd Moellmann <gerd@gnu.org>
581
3452efc2
SM
582 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
583 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 584
467f1209
GM
5852001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
586
587 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
588
c3d6be34
GM
5892001-07-16 Gerd Moellmann <gerd@gnu.org>
590
c1d61a7d
GM
591 * fileio.c (unwind_read): Function removed.
592 (read_non_regular, read_non_regular_quit): New functions.
593 (Finsert_file_contents): When reading from non-regular files,
594 arrange to catch a `quit' and terminate the loop. Rearrange
595 code so that a `quit' when reading from a regular file doesn't
596 insert text in the buffer.
597
c3d6be34
GM
598 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
599 Clear faces afterwards.
600 (clear_font_table): Take a x_display_info parameter. Don't free
601 fonts being the default font of any frame on the given display.
602
e06aa1f9
GM
6032001-07-13 Gerd Moellmann <gerd@gnu.org>
604
605 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
606 instead of CHAR_STRING which can signal an error.
607
608 * charset.c (char_to_string_1): Extracted from char_to_string.
609 Return -1 instead of signaling an error.
610 (char_to_string): Use it.
611
612 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
613
176c92e6
SM
6142001-07-12 Stefan Monnier <monnier@cs.yale.edu>
615
616 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
617 is t, don't try to append anything to it.
618
1c56232f
EZ
6192001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
620
621 * dired.c (file_name_completion): Pass dp->d_name to
622 Fstring_match, not elt, which is always nil here.
623
1d2b2268
GM
6242001-07-12 Gerd Moellmann <gerd@gnu.org>
625
626 * xselect.c (x_decline_selection_request): Handle errors
627 caused by receivers that have vanished.
628
629 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
630 ignoring events on foreign windows in #if 0. Always dispatch
631 the event after checking it with x_handle_property_notify.
632
633 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
634 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
635 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
636 (toplevel): Add prototypes for file-local functions.
637 (x_atom_to_symbol): Remove DPYINFO parameter.
638
fe5a0162
SM
6392001-07-11 Stefan Monnier <monnier@cs.yale.edu>
640
641 * w32menu.c (menubar_selection_callback, w32_menu_show):
642 Initialize `entry' to nil.
643 (w32_dialog_show): Remove unused `save_wv' variable.
644 (name_is_separator): Recognize "--:foo" and "--foo-bar".
645
a777242c
GM
6462001-07-11 Gerd Moellmann <gerd@gnu.org>
647
8ee5b6a3
GM
648 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
649
d0e2444e
GM
650 * fileio.c (unwind_read): Print a message when discarding inserted
651 text or switching the buffer to unibyte. Change parameter.
652 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 653
a777242c
GM
654 * fileio.c (unwind_read): New function.
655 (Finsert_file_contents): Record it as unwind-function for
656 the case that reading is interrupted by C-g.
657
ae794295
GM
6582001-07-10 Gerd Moellmann <gerd@gnu.org>
659
fe5a0162 660 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
661 update when scrolling_window returns 0.
662
6b05fae3
GM
663 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
664
665 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 666 for the case that x_decode_color signals an error.
6b05fae3 667
ae794295
GM
668 * xdisp.c (add_to_log): Do nothing if called asynchronously.
669
bb6e8cee
GM
6702001-07-09 Gerd Moellmann <gerd@gnu.org>
671
672 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
673 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
674 around ioctls.
675
36b40a8a
EZ
6762001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
677
24b97d4b
EZ
678 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
679 doc string line for dos-timezone-offset.
680
36b40a8a
EZ
681 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
682 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
683 (syms_of_msdos): Add \n\ at the end of a line in the doc string
684 line for dos-unsupported-char-glyph.
36b40a8a
EZ
685
686 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
687
0967b4b0
GM
6882001-07-05 Gerd Moellmann <gerd@gnu.org>
689
f25cfe53
GM
690 * sound.c: Include Emacs' header files with #include "...".
691
0967b4b0
GM
692 * eval.c (specbind): Additionally record the buffer that was
693 current when a buffer-local or frame-local variable was bound.
694
c347a1c3
GM
6952001-07-04 Gerd Moellmann <gerd@gnu.org>
696
697 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
698 to unibyte characters in unibyte buffers.
699
6332ca8a
GM
7002001-07-03 Gerd Moellmann <gerd@gnu.org>
701
38472d44
GM
702 * eval.c (specbind): If SYMBOL has a frame-local binding, record
703 the frame on the binding stack. Change format of entries for
704 local bindings on the binding stack to '(SYMBOL . WHERE)'.
705 (unbind_to): Handle unbinding a frame-local variable.
706
6332ca8a 707 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 708 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
709 (dump_glyph_row): Print row's continuation_lines_width.
710 (try_window_id): Take the shortcut if ZV is visible in the
711 window, but there are actually no changes at ZV.
712
63d1b174
GM
7132001-07-02 Gerd Moellmann <gerd@gnu.org>
714
4c175203
GM
715 * xterm.h (x_free_dpy_colors): Add prototype.
716
717 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
718 right number of arguments.
719
0b54ce28
GM
720 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
721 ($(lwlibdir)TAGS): New target.
4c175203 722 (TAGS): Fix dependency list.
0b54ce28 723
63d1b174
GM
724 * xterm.c (x_list_fonts): Make sure XFreeFont is called
725 with input blocked.
726
d827466c
GM
7272001-06-30 Gerd Moellmann <gerd@gnu.org>
728
729 * emacs.c (main): Remove extern declaration for sys_nerr, which
730 isn't used and causes a compilation error with GCC 3.0 on
731 FreeBSD 4.3.
732
b5cb1ada
GM
7332001-06-27 Gerd Moellmann <gerd@gnu.org>
734
a5d3ec3f 735 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 736 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
737 (toplevel): Include <signal.h> and syssignal.h.
738
b5cb1ada
GM
739 * sound.c (vox_configure, vox_close): Turn off atimers
740 around ioctls.
741
d9bad487
GM
7422001-06-26 Gerd Moellmann <gerd@gnu.org>
743
fdbb67fe
GM
744 * keyboard.c (read_char) <non_reread>: Record the previous idle
745 start time before calling timer_stop_idle.
746 (read_char) <reread_first>: After processing a help-echo event,
747 restore the previous idle start time.
748
d9bad487
GM
749 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
750 the start of invisible text.
751 (setup_for_ellipsis): New function.
752 (next_overlay_string): After all overlay strings have been
753 processed, display an ellipsis if necessary.
754 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
755 (push_it): Initialize display_ellipsis_p on the iterator's stack.
756
757 * dispextern.h (struct iterator_stack_entry): Add member
758 display_ellipsis_p.
759
2b9c25e0
GM
7602001-06-25 Gerd Moellmann <gerd@gnu.org>
761
80de57df
GM
762 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
763 on the value of the wait-for-wm frame parameter.
764
765 * xterm.h (struct x_output): Add member wait_for_wm.
766
767 * xfns.c (Qwait_for_wm): New variable.
768 (x_frame_parms): Add entry for `wait-for-wm".
769 (x_set_wait_for_wm): New function.
770 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
771 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
772
2b9c25e0
GM
773 * xdisp.c (try_window_id) <all changes below window end>: Don't
774 take this shortcut if ZV is visible in the window.
775 (try_window_id): When checking for window start being in changed
776 text, don't check that the buffer's size has changed.
777
f772775c
RS
7782001-06-23 Richard M. Stallman <rms@gnu.org>
779
780 * minibuf.c (Fcompleting_read): Doc fix.
781
fa9090b8
GM
7822001-06-19 Gerd Moellmann <gerd@gnu.org>
783
784 * composite.c (Ffind_composition_internal): Accept ZV
785 and a string's end position as POS.
786
f6f1beba
GM
7872001-06-18 Gerd Moellmann <gerd@gnu.org>
788
789 * composite.c (Ffind_composition_internal): Check POS
790 for validity.
791
0ae83348
EZ
7922001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
793
794 * editfns.c (Fmessage_box): If the frame is not under a window
795 system, output the message in the echo area.
796
e4cdc335
RS
7972001-06-14 Richard M. Stallman <rms@gnu.org>
798
799 * xdisp.c (try_window_id): When EOB is visible, don't treat
800 insertion at EOB as if it were "off the bottom of the screen."
801
a55a5f3c
AI
8022001-06-11 Andrew Innes <andrewi@gnu.org>
803
804 * w32proc.c (create_child): Add new parameter is_gui_app.
805 (w32_executable_type): Add new parameter is_gui_app.
806 (sys_spawnve): Use it.
807 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
808 SIGQUIT. This matches better how the signals are interpreted by
809 MSVC compiled programs.
810 (syms_of_ntproc): Update docstring.
811
1b85dc1c
SM
8122001-06-02 Stefan Monnier <monnier@cs.yale.edu>
813
814 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
815 well otherwise note_mouse_highlight might optimize away highlighting
816 if we pass over that same overlay again.
817
b75f8eab
EZ
8182001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
819
820 * lread.c (Fload): Document that the argument is run via
821 substitute-in-file-name.
822
94843cc1
GM
8232001-05-31 Gerd Moellmann <gerd@gnu.org>
824
b14659e6
GM
825 * Makefile.in (bootstrap-doc): New target.
826 (bootstrap-emacs): Depend on it.
827
0894672f
GM
828 * fileio.c (Fdo_auto_save): Don't try to create the directory of
829 auto-save-list-file-name when shutting down Emacs, because
830 creating the directory might signal an error, and leaves
831 Emacs in a strange state.
832
94843cc1
GM
833 * term.c: (tty_cursor_hidden): New variable.
834 (update_begin): Don't call tty_hide_cursor. Clean up.
835 (update_end, set_terminal_window, set_scroll_region): Clean up.
836 (ring_bell, reset_terminal_modes): Clean up.
837 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
838 on tty_cursor_hidden.
839 (write_glyphs): Call tty_hide_cursor.
840
db3a49a6
SM
8412001-05-30 Stefan Monnier <monnier@cs.yale.edu>
842
843 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
844
8bd189fb
GM
8452001-05-30 Gerd Moellmann <gerd@gnu.org>
846
6f1be3b9
GM
847 * xfns.c (enum image_value_type): New enumerator
848 IMAGE_STRING_OR_NIL_VALUE.
849 (parse_image_spec): Handle it.
850 (xbm_format, pbm_format): Use it for :foreground and :background.
851 (xbm_load, pbm_load): Check for nil color names.
852
8bd189fb
GM
853 * xterm.c (note_mouse_highlight): If an overlapping overlay
854 exists, but we find that we highlight the same overlay as before,
855 don't do the highlighting again.
856
7bdba03c
GM
8572001-05-29 Gerd Moellmann <gerd@gnu.org>
858
4c329aa8
GM
859 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
860 Protect unibyte strings created by replacing their multibyte
861 equivalents in menu_items.
862
e15e2828
GM
863 * keymap.c (Fsingle_key_description): NUL-terminate the string
864 buffer before calling build_string.
865
7bdba03c
GM
866 * callproc.c (Fcall_process): Deal with decode_coding returning
867 CODING_FINISH_INCONSISTENT_EOL.
868
89c8dc6c
GM
8692001-05-28 Gerd Moellmann <gerd@gnu.org>
870
db3a49a6 871 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
872 an item's name with its key description in case the description
873 is a multibyte string.
874
875 * keymap.c (Fsingle_key_description): Create a multibyte string
876 only if necessary.
877
eb04d6cd
GM
878 * macros.c (Fstart_kbd_macro): Doc fix.
879
8bd6307f
GM
880 * xterm.c (cursor_in_mouse_face_p): New function.
881 (x_draw_stretch_glyph_string): Use it to choose a different GC
882 when drawing a cursor within highlighted text.
883
e26c4089
GM
884 * editfns.c (char_property_eq): Put in #if 0.
885
886 * indent.c (string_display_width): Put in #if 0.
887
888 * lread.c (Fload): Remove unused label.
889
89c8dc6c
GM
890 * termcap.c (speeds): Put in #if 0.
891
9a1211f2
GM
8922001-05-18 Gerd Moellmann <gerd@gnu.org>
893
29148a3f
GM
894 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
895
9a1211f2
GM
896 * xfaces.c (xlfd_point_size): Don't divide pixel size from
897 transformation matrix by 10.
898
09393d07
GM
8992001-05-16 Gerd Moellmann <gerd@gnu.org>
900
901 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
902 only if it's equal to the former foreground pixel color.
db3a49a6 903 (x_set_foreground_color, x_set_background_color)
09393d07
GM
904 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
905
460e6bae
GM
9062001-05-16 Dave Love <fx@gnu.org>
907
908 * insdel.c (signal_before_change, signal_after_change): Consider a
909 local change hook which changes the buffer.
99c78ce8
GM
910
911 * process.c (read_process_output): Don't call signal_after_change
912 and update_compositions after insert_from_string_before_markers.
913
dbcf3c03
GM
9142001-05-16 Gerd Moellmann <gerd@gnu.org>
915
a90b3d3c
GM
916 * xfaces.c (split_font_name): Use the right field when
917 checking for `[...]' syntax.
918
1b7818b4
GM
919 * buffer.c (copy_overlays): New function.
920 (clone_per_buffer_values): Use it.
921
922 * buffer.h (OVERLAY_PLIST): New macro.
923
9bae8781
GM
924 * keymap.c (Fsingle_key_description): Replace a build_string with
925 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
926
dbcf3c03
GM
927 * fontset.c (Ffontset_info): Check that face is non-null
928 before accessing its fields.
929
8a1ae4dd
GM
9302001-05-15 Gerd Moellmann <gerd@gnu.org>
931
18a0a39e
GM
932 * keyboard.c (read_key_sequence): Prevent generating a fake
933 prefix key twice.
934
e335b66a
GM
935 * xfaces.c (split_font_name): Handle `[...]' for the right
936 font name fields.
937
8a1ae4dd
GM
938 * ccl.c (ccl_driver): Don't copy remaining bytes in case
939 of CCL_STAT_INVALID_CMD.
940
3cf80731
SM
9412001-05-14 Stefan Monnier <monnier@cs.yale.edu>
942
33568849
SM
943 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
944 in <var> has no default value yet.
945
3cf80731
SM
946 * xfaces.c (try_alternative_families): First try the FAMILY.
947 And if nothing is found in the end, try again with scalable fonts.
948 (try_font_list): Let try_alternative_families do a bit more of
949 the work. Only use FAMILY if it is not nil.
950 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
951
933b0249
GM
9522001-05-14 Gerd Moellmann <gerd@gnu.org>
953
58e5af83
GM
954 * xterm.c (note_mouse_highlight): Avoid changing the mouse
955 pointer shape when show_mouse_face has already done it.
33568849 956
58e5af83 957 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
958 full-width rows.
959
7b16a6bf
GM
960 * xfaces.c (split_font_name): Make sure to leave the loop
961 with the right value of `i'.
3cf80731 962
933b0249
GM
963 * xfaces.c (split_font_name): Handle matrix transformations
964 in the pixel and point size fields of XLFD font names.
965 (xlfd_point_size): Likewise.
966
dddcbf00
EZ
9672001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
968
3cf80731 969 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
970 (x_to_w32_font): Add prototype.
971
7689ef0b
EZ
972 * regex.c (malloc, realloc, free) [emacs]: Undefine before
973 redefining, to avoid compiler warnings.
974
e7c15bba
EZ
975 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
976
dddcbf00
EZ
977 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
978 (w32_get_bdf_glyph): Cast between unsigned char and char when
979 passing arguments to subroutines, to shut up compiler warnings.
980 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
981 GET_HEX_VAL.
982
983 * xfaces.c: Include keyboard.h before frame.h, not after it.
984
985 * widget.c: Include keyboard.h before frame.h.
986
987 * w32term.h (struct image, struct face): Forward declaration, to
988 avoid compiler warnings.
989
7bd2d083
GM
9902001-05-11 Gerd Moellmann <gerd@gnu.org>
991
47e72862
GM
992 * keyboard.c (read_key_sequence): Don't modify events when
993 generating fake prefix keys (mode-line, scroll-bar, ...) since
994 this prevents proper processing of such events when pushed back
995 into unread-command-events.
996
dd5f324b
GM
997 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
998 actually redrawn. Make the function static.
999 (note_mouse_highlight): Fix a case where the mouse cursor
1000 was changed back to the text cursor.
1001
1002 * xterm.h (clear_mouse_face): Remove prototype.
1003
d88a79d4
GM
1004 * xdisp.c (try_window_id): Fix the fix and set the right
1005 window_end_vpos.
1006
1007 * xdisp.c (try_window_id): Fix computation of window end in the
1008 case that lines were deleted at the end of the window. Add some
1009 more debug_method_adds.
0416532f 1010
7bd2d083
GM
1011 * xfaces.c (try_alternative_families): New function.
1012 (try_font_list): Use it. If ATTRS specifies a family, check
1013 fonts from that family first.
1014 (choose_face_font): Remove code setting the family part of
1015 the pattern to nil.
1016
23fca891
GM
10172001-05-10 Gerd Moellmann <gerd@gnu.org>
1018
ff9aa2ca
GM
1019 * xdisp.c (try_window_id): Fix case of all changes before
1020 the window start.
7b2654b5 1021
23fca891
GM
1022 * xdisp.c (try_window_id): Add some xasserts.
1023
e9726794
GM
10242001-05-09 Gerd Moellmann <gerd@gnu.org>
1025
1026 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1027
9e53a675
GM
10282001-05-09 Dave Love <fx@gnu.org>
1029
1030 * xdisp.c (GIVE_UP): Fix for K&R C.
1031
0d487c52
GM
10322001-05-09 Gerd Moellmann <gerd@gnu.org>
1033
fe88d421
GM
1034 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1035
0d487c52
GM
1036 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1037 back to the text cursor shape without need.
1038
1e9fc92e
GM
10392001-05-07 Gerd Moellmann <gerd@gnu.org>
1040
a2a6232e
GM
1041 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1042
1043 * dispextern.h (inverse_video): Declare extern.
1044
1e9fc92e
GM
1045 * keyboard.c (delete_kboard): Handle the case that selected_frame
1046 has been deleted in the course of x_connection_closed.
1047
12949a7f
EZ
10482001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1049
7b2654b5
SM
1050 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1051 Fix the change from 2001-04-30.
12949a7f 1052
2fa2f461
GM
10532001-05-03 Gerd Moellmann <gerd@gnu.org>
1054
a779d213
GM
1055 * xfns.c (file_dialog_unmap_cb): New function.
1056 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1057 where a dialog is closed via the window manager.
1058
7b2654b5 1059 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1060 the window start or all below the window end mostly rewritten.
1061 (redisplay_window): Move the tests if try_window_id is
1062 applicable to try_window_id.
1063 (GIVE_UP): New macro.
1064
3356df63
GM
10652001-05-02 Gerd Moellmann <gerd@gnu.org>
1066
a39202f6 1067 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1068 currently being updated, mark the frame garbaged.
1069 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1070 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1071
3356df63
GM
1072 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1073 again if it has already been drawn.
1074
a9d2fd1d
SM
10752001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1076
1077 * syntax.c (update_syntax_table): Check that oldi has the same
1078 properties as old_prop before deciding not to invalidate.
1079
c95fc5f1
GM
10802001-04-30 Gerd Moellmann <gerd@gnu.org>
1081
a9793e45
GM
1082 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1083 read-only text that is so because of text properties.
1084
c95fc5f1 1085 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1086 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1087 windows that are components of a Lucid menu bar.
1088
5a5d9185
GM
10892001-04-27 Gerd Moellmann <gerd@gnu.org>
1090
1091 * term.c (turn_on_face): Fix reverse video handling on terminals
1092 that don't support colors.
1093
ba973f7a
GM
10942001-04-26 Gerd Moellmann <gerd@gnu.org>
1095
1096 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1097 a non-buffer.
1098
8c56a983
GM
10992001-04-25 Gerd Moellmann <gerd@gnu.org>
1100
a728644c
GM
1101 * term.c (toggle_highlight): New function.
1102 (turn_on_face): Change handling of reverse video.
1103
7b2654b5
SM
1104 * process.c (wait_reading_process_input):
1105 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1106
bfd8410f
GM
1107 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1108 of the number of overlays to check.
1109
be2488ca
GM
1110 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1111
8c56a983
GM
1112 * xdisp.c (try_window_id): Fix a case where window_end_pos
1113 and window_end_bytepos were not adjusted.
1114
522d42f7
GM
11152001-04-23 Gerd Moellmann <gerd@gnu.org>
1116
1117 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1118 zero instead of -1.
1119
78c1afb6
EZ
11202001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1121
a9d2fd1d
SM
1122 * process.c (wait_reading_process_input) [!subprocesses]:
1123 Don't reference waiting_for_user_input_p, it's not defined in the
1124 branch without async subprocesses support.
78c1afb6 1125
a2fab450
GM
11262001-04-19 Gerd Moellmann <gerd@gnu.org>
1127
a122a38e
GM
1128 * keyboard.c (delete_kboard): Prevent a dangling reference
1129 from current_kboard to KB, which is freed.
1130
a9d2fd1d
SM
1131 * process.c (wait_reading_process_input):
1132 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1133 read_key_sequence aware of buffer changes from under it.
1134
0f8d6dc7
GM
11352001-04-18 Gerd Moellmann <gerd@gnu.org>
1136
eeffb293
GM
1137 * xfaces.c (Qscalable_fonts_allowed): New variable.
1138 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1139 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1140 removed.
eeffb293 1141 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1142 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1143 for scalable-fonts-allowed to t.
eeffb293 1144
0f8d6dc7
GM
1145 * fileio.c (Finsert_file_contents): If the file size returned from
1146 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1147 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1148
eec2d1de
EZ
11492001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1150
1151 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1152 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1153 (__memalign_hook): Make the two prototypes consistent.
1154
f4f480bd
GM
11552001-04-17 Gerd Moellmann <gerd@gnu.org>
1156
1157 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1158 matrix of mini-windows.
1159
52283633
SM
11602001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1161
1162 * intervals.c (find_interval): Don't rebalance during signal handling.
1163
ec2423c9
GM
11642001-04-11 Gerd Moellmann <gerd@gnu.org>
1165
30cb0001 1166 * fns.c: Include blockinput.h.
52283633 1167
ec2423c9
GM
1168 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1169
719d83ad
GM
11702001-04-10 Gerd Moellmann <gerd@gnu.org>
1171
60f8d735
GM
1172 * fns.c (Fcompare_strings): Fix return values.
1173
afffeb57
GM
1174 * window.c (window_scroll): Change the meaning of N to mean
1175 N screen-fulls or N lines.
1176 (window_scroll_pixel_based, window_scroll_line_based)
1177 (scroll_command, Fscroll_other_window): Change accordingly.
1178
52283633
SM
1179 * window.c (window_scroll_pixel_based, Frecenter):
1180 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1181 height of the window.
1182
1183 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1184 instead of using it.last_visible_y for the height of the window.
52283633 1185
719d83ad 1186 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1187 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1188
1189 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1190 able to write to hidden and system files. From Dan Holmsand
1191 <dan@eyebee.com>.
719d83ad 1192
8ddf3ee1
GM
1193 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1194 Holmsand <dan@eyebee.com>.
719d83ad 1195
522ed7fb
GM
11962001-04-09 Gerd Moellmann <gerd@gnu.org>
1197
9170e5d4
GM
1198 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1199
522ed7fb
GM
1200 * window.c (window_internal_height): Return 1 less if the
1201 window has a header line.
1202
1203 * xdisp.c (try_window_id): When scrolling on a terminal, take
1204 the change of window_internal_height into account.
1205
ceeb3d7d
EZ
12062001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1207
1208 * gmalloc.c (align): If the argument SIZE would overflow
1209 __malloc_ptrdiff_t, fail right away.
1210
63685b9d
GM
12112001-04-06 Gerd Moellmann <gerd@gnu.org>
1212
1213 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1214 Make sure the tooltip is completely visible.
1215 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1216
1217 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1218
1219 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1220
3ffb33bb
DL
12212001-04-06 Dave Love <fx@gnu.org>
1222
52283633
SM
1223 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1224 Fix test of `from'.
3ffb33bb 1225
869fb12c
GM
12262001-04-06 Gerd Moellmann <gerd@gnu.org>
1227
52283633 1228 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1229
869fb12c
GM
1230 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1231
441bf856
GM
12322001-04-05 Gerd Moellmann <gerd@gnu.org>
1233
4d664b04
GM
1234 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1235
52283633 1236 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1237
30ca89f5
GM
1238 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1239 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1240
1241 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1242 shell widget's position only if it is non-null.
1243
52283633
SM
1244 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1245 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1246
81a81c0f
GM
1247 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1248 FILENAME to bring it in synch with the documentation.
1249
441bf856
GM
1250 * xfaces.c (realizing_basic_faces_p): Renamed from
1251 realize_default_face_p.
1252 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1253 (realize_default_face): Don't set the flag.
1254
702a1e8e
GM
12552001-04-04 Gerd Moellmann <gerd@gnu.org>
1256
1013f4e3
GM
1257 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1258
52283633
SM
1259 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1260
1013f4e3
GM
1261 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1262 the buffer that was used for echoing.
1263
702a1e8e
GM
1264 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1265 (first_font_matching): Removed unused function.
1266 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1267 (may_use_scalable_font_p): Remove parameter FONT; rename
1268 parameter NAME to FONT.
1269 (x_face_list_fonts): Fix missing bounds check.
1270 (realizing_default_face_p): New variable.
1271 (realize_default_face): Set and clear that flag.
1272 (x_face_list_fonts): When called during the realization of the
1273 default face, and no matching fonts are found when ignoring
1274 scalable fonts and fonts matching a regexp from
1275 face-ignored-fonts, try without ignoring fonts.
1276
f9dbcda4
GM
12772001-04-03 Gerd Moellmann <gerd@gnu.org>
1278
ad18ffb1
GM
1279 * xfns.c (postprocess_image): New function.
1280 (lookup_image): Call it for all image types except PostScript.
1281 (x_kill_gs_process): Call postprocess_image.
1282
f9dbcda4
GM
1283 * xterm.c (x_use_underline_position_properties): New variable.
1284 (x_draw_glyph_string): Use it.
1285 (syms_of_xterm): DEFVAR_BOOL it.
1286
651f03b6
GM
12872001-04-02 Gerd Moellmann <gerd@gnu.org>
1288
1289 * xterm.c (x_alloc_nearest_color_1): New function.
1290 (x_alloc_nearest_color): Use it.
1291 (x_color_cells): Take a Display as argument, instead of a frame.
1292 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1293 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1294 (x_initialize): Register cvt_string_to_pixel as resource converter
1295 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1296
73d75a62
GM
12972001-03-30 Gerd Moellmann <gerd@gnu.org>
1298
b2046df8
GM
1299 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1300 (set_iterator_to_next): If a string from a display property ends,
1301 consider the case that this might also be the end of an
1302 overlay string having the display property.
1303
52283633 1304 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1305
87d8eba4
GM
1306 * xdisp.c (reseat_to_string): Undo last change.
1307
73d75a62
GM
1308 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1309 matrix of a window when the header line changes, when
1310 new rows are allocated, or when the width changes.
1311
911a2406
EZ
13122001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1313
52283633 1314 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1315
aea51abe
EZ
13162001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1317
1318 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1319 deprecated.
1320
176bc847
GM
13212001-03-29 Gerd Moellmann <gerd@gnu.org>
1322
ed31fabf
GM
1323 * data.c (Fsubr_interactive_form): New function.
1324 (syms_of_data): Defsubr it.
1325
176bc847
GM
1326 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1327 (live_float_p, live_misc_p): Return 1 only if the offset of the
1328 pointer in its block is >= 0.
1329
e59d0e9d
GM
13302001-03-28 Paul Eggert <eggert@twinsun.com>
1331
1332 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1333 microseconds calcuation. Avoid double-rounding problem.
1334 In doc string, warn that the result is approximate.
1335
f827b862
GM
13362001-03-28 Gerd Moellmann <gerd@gnu.org>
1337
30a3f61c
GM
1338 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1339 bind `inhibit-eval-during-redisplay' to t.
1340
1341 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1342
1343 * xdisp.c (inhibit_eval_during_redisplay)
1344 (Qinhibit_eval_during_redisplay): New variables.
1345 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1346 don't eval, return nil instead.
1347 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1348 Initialize Qinhibit_eval_during_redisplay.
1349
e719f5ae
GM
1350 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1351 the iterator's multibyte_p flag.
1352
deb2613a
GM
1353 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1354 instead of setting it to zero; it's incremented for each frame
1355 where the menu face is changed.
1356
52283633
SM
1357 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1358 change bottom shadow accordingly.
1359
1360 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1361 intersections here.
1362 (expose_window): Do it here instead.
52283633 1363 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1364
f827b862
GM
1365 * bytecode.c (BYTE_CODE_QUIT): New macro.
1366 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1367
4bde0ebb
GM
13682001-03-27 Gerd Moellmann <gerd@gnu.org>
1369
607ec83c
GM
1370 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1371 Give up if matrix starts in an ellipsis.
1372 (init_from_display_pos): Do nothing if POS doesn't specify
1373 a dpvec_index but the iterator has such a position.
1374
0245398f
GM
1375 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1376
aba25348
GM
1377 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1378 x/y position is (0, 0) after destroying the menu bar, restore
1379 its original position.
1380
4bde0ebb
GM
1381 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1382 (init_from_display_pos): Use it.
1383 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1384
8cdb267e
GM
13852001-03-26 Gerd Moellmann <gerd@gnu.org>
1386
1387 * xdisp.c (try_window_id): Undo last change.
1388
9948db79
EZ
13892001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1390
1391 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1392
1393 * buffer.c (syms_of_buffer): Doc fix.
1394
2eddf899
GM
13952001-03-26 Gerd Moellmann <gerd@gnu.org>
1396
1397 * xfaces.c (x_update_menu_appearance): Use local variable
1398 popup_path for setting font resources.
1399
6c145d35
EZ
14002001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1401
6a65b1b5
EZ
1402 * frame.c (Fframe_list): Don't reference tip_frame if
1403 HAVE_WINDOW_SYSTEM is not defined.
1404
6c145d35
EZ
1405 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1406 <wl@gnu.org>.
1407
d74c1900
GM
14082001-03-25 Gerd Moellmann <gerd@gnu.org>
1409
20fbd925
GM
1410 * xdisp.c (init_from_display_pos): Test invisible property
1411 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1412
927c5b3b
GM
1413 * xdisp.c (redisplay_internal) <update one window>: Make sure
1414 last_arrow_position and last_arrow_string are set.
1415
d74c1900
GM
1416 * frame.c (Fframe_list): Don't return a tooltip frame.
1417
091f8878
GM
14182001-03-23 Gerd Moellmann <gerd@gnu.org>
1419
52283633
SM
1420 * xdisp.c (mark_window_display_accurate_1): New function,
1421 extracted from mark_window_display_accurate.
1422 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1423 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1424 (mark_window_display_accurate): Use it.
1425 (redisplay_internal): Use it for the selected window.
1426 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1427 for the selected frame.
1428
ac90c44f
GM
1429 * xdisp.c Use make_number, for readability.
1430 (try_window_id): Disable rows below the window end.
1431 (try_window_reusing_current_matrix): Use cursor_row_p.
1432 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1433 of rows.
1434 (init_from_display_pos): If POS specifies a position in a display
1435 vector, maybe get the iterator set up for that ellipsis.
43c09969 1436
091f8878
GM
1437 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1438
991786dd
EZ
14392001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1440
1441 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1442
6c29b43c
GM
14432001-03-23 Gerd Moellmann <gerd@gnu.org>
1444
1445 * xfaces.c (x_update_menu_appearance): Use a different path
1446 for Lucid popup menus.
1447
d8731202
SM
14482001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1449
1450 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1451
1452 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1453 (string_buffer_position): Use `make_number'.
1454
f61a541b
GM
14552001-03-22 Gerd Moellmann <gerd@gnu.org>
1456
3c9e997b
GM
1457 * xfaces.c (x_update_menu_appearance): Renamed from
1458 x_set_menu_face_resources. Use different resources for popups.
1459
1460 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1461 (GC_CHECK_STRING_BYTES): Don't define.
1462
364cd450
GM
1463 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1464 Removed, together with subroutines.
1465 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1466 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1467
d8731202
SM
1468 * dispextern.h (x_set_menu_resources_from_menu_face):
1469 Remove prototype.
364cd450 1470
d8731202 1471 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1472 Remove calls to x_set_menu_resources_from_menu_face.
1473
d8731202
SM
1474 * xfaces.c (xm_set_menu_resources_from_menu_face):
1475 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1476
1477 * xmenu.c: Include widget.h.
1478 (single_submenu): Return int. Some cleanup.
1479 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1480
140330de
GM
14812001-03-21 Gerd Moellmann <gerd@gnu.org>
1482
1483 * xterm.c (x_update_window_end): Handle overwritten mouse face
1484 also for tool bar windows.
1485 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1486 DRAW is DRAW_IMAGE_RAISED.
1487
1741905c
GM
14882001-03-20 Gerd Moellmann <gerd@gnu.org>
1489
fa88947e
GM
1490 * print.c (syms_of_print): Doc fixes.
1491
1741905c
GM
1492 * fns.c (Fmd5): Doc fix.
1493
ade0bee1
GM
14942001-03-19 Gerd Moellmann <gerd@gnu.org>
1495
357e7376
GM
1496 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1497 Clear area of the frame not occupied by the scroll bar.
1498
c2c097cc
GM
1499 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1500 tip frame's root window buffer to *tip* right after creating
1501 the frame.
1502
ade0bee1
GM
1503 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1504 is an integer don't have to be for space characters.
1505
88c6e37e
GM
15062001-03-16 Gerd Moellmann <gerd@gnu.org>
1507
52283633
SM
1508 * indent.c (current_column, current_column_1, Fmove_to_column)
1509 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1510
c62eed76
KH
15112001-03-15 Kenichi Handa <handa@etl.go.jp>
1512
1513 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1514 drawing glyph string.
1515
c899e7e6
GM
15162001-03-15 Gerd Moellmann <gerd@gnu.org>
1517
d0bbfc99
GM
1518 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1519 (command_loop_1): Undo last change.
1520
03d1a189
GM
1521 * xterm.c (fast_find_position): Return the correct vpos.
1522
c899e7e6 1523 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1524 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1525 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1526 Call store_symval_forwarding with BUF null.
1527 (set_internal): Call store_symval_forwarding with the BUF
1528 parameter passed to set_internal. Formerly, the value was always
1529 set in the current buffer; the buffer recorded in specbind for
1530 this case wasn't used.
1531 (arith_driver): Reindent.
1532
52283633
SM
1533 * buffer.c (swap_out_buffer_local_variables):
1534 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1535
1536 * lisp.h (store_symval_forwarding): Change prototype.
1537
1538 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1539
57ac7c81
GM
15402001-03-14 Gerd Moellmann <gerd@gnu.org>
1541
697617d9
GM
1542 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1543 FOR_DELETION. Avoid resizing the mini-window of the selected
1544 frame if FOR_DELETION is set.
1545 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1546 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1547 signature.
1548
1549 * window.c (Fset_window_configuration): Change call to
1550 do_switch_frame to new format.
1551
1552 * keyboard.c (quit_throw_to_read_char): Change call to
1553 do_switch_frame to new format.
1554
1555 * lisp.h (do_switch_frame): Change prototype.
1556
819dce0f
GM
1557 * frame.c (Fframe_parameters): In the `buffer-list' frame
1558 parameter, store the buffer list of FRAME, not the list of the
1559 selected frame.
1560
57ac7c81
GM
1561 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1562 box just because the glyph row's full_width_p flag is set.
1563
65008712
GM
15642001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1565
1566 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1567 skip the padding blanks inserted in extend_face_to_end_of_line,
1568 before checking for trailing whitespace.
1569
159cf431
GM
15702001-03-13 Gerd Moellmann <gerd@gnu.org>
1571
52283633 1572 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1573 Remove special handling for LessTif/Motif.
1574 (toplevel): Don't include Xm/Xm.h.
1575
52283633
SM
1576 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1577 Remove workaround code for LessTif; it doesn't work anymore.
1578
2564ea1b 1579 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1580 Xm/ScrollBarP.h.
afcdc0a1 1581
52283633
SM
1582 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1583 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1584 contemporary LessTif.
1585
52283633
SM
1586 * xfaces.c (xm_set_menu_resources_from_menu_face):
1587 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1588
159cf431
GM
1589 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1590 removing button grabs.
1591
c6f7429a
KH
15922001-03-13 Kenichi Handa <handa@etl.go.jp>
1593
cb82d767
KH
1594 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1595 and clip-large-size-font as obsolete.
1596
c6f7429a
KH
1597 * lread.c (read_multibyte): Check the validity of multibyte
1598 sequence. If invalid, return the first byte.
1599
760cefb5
GM
16002001-03-12 Gerd Moellmann <gerd@gnu.org>
1601
1602 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1603 before running the command; timer functions or process
1604 filters may have set it.
1605
5141f9d0
EZ
16062001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1607
1608 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1609 Doc fix.
1610
b6a15240
GM
16112001-03-12 Gerd Moellmann <gerd@gnu.org>
1612
1613 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1614 to sprintf.
1615
95522746
GM
16162001-03-09 Gerd Moellmann <gerd@gnu.org>
1617
db14cfc5
GM
1618 * dispextern.h (string_buffer_position): Add prototype.
1619
52283633 1620 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1621 (single_display_prop_string_p): New functions.
1622
1623 * xterm.c (note_mouse_highlight): If there's no help-echo on
1624 a string, look at the buffer text ``under'' it.
1625
1626 * keyboard.c (make_lispy_event): Add string info to the event,
1627 analogous to what's done on mode lines.
1628 (read_key_sequence): For a click on a string, consider `local-map'
1629 and `keymap' of that string.
1630
52283633
SM
1631 * keyboard.c (make_lispy_event, make_lispy_movement):
1632 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1633
1634 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1635
1636 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1637 POS; return void.
1638
95522746
GM
1639 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1640 flags argument to emacs_open; it seems to conflict with O_EXCL.
1641
898a399d
KH
16422001-03-09 Kenichi Handa <handa@etl.go.jp>
1643
28cd4910
KH
1644 * composite.h (struct composition): Change types of members;
1645 glyph_len to unsigned, width to unsigned short.
898a399d 1646
4cdf6a6c
AI
16472001-03-08 Andrew Innes <andrewi@gnu.org>
1648
1649 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1650 menu titles.
1651
129004d3
GM
16522001-03-08 Gerd Moellmann <gerd@gnu.org>
1653
221dd3e7
GM
1654 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1655 instead of nil.
1656
52283633 1657 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1658 help-echo in strings.
1659 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1660 (fast_find_string_pos): New function.
1661
52283633
SM
1662 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1663 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1664
1665 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1666 Handle `mouse-face'.
1667
1668 * dispextern.h (face_at_string_position): Change prototype.
1669
52283633 1670 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1671
129004d3
GM
1672 * keyboard.c (make_lispy_event): Avoid generating drag events
1673 if the mouse hasn't actually moved to another buffer position.
52283633 1674
80c8ab8c
DL
16752001-03-08 Dave Love <fx@gnu.org>
1676
129004d3 1677 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1678
989521fd
GM
16792001-03-08 Gerd Moellmann <gerd@gnu.org>
1680
1681 * process.c (Fset_process_window_size): Fix a typo.
1682
bb5c338d
KH
16832001-03-08 Kenichi Handa <handa@etl.go.jp>
1684
1685 * coding.c (detect_coding_sjis): Do more rigid check.
1686 (detect_coding_big5): Likewise.
1687 (decode_coding_sjis_big5): Likewise.
1688 (Fdetect_coding_region): Call detect_coding_system with tailing
1689 anchor byte `\0' for more rigid detection.
52283633 1690 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1691 (Fdetect_coding_string): Likewise.
1692
8b8f9197
SM
16932001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1694
1695 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1696 a string before extracting its data.
1697
3bdf2660
GM
16982001-03-07 Gerd Moellmann <gerd@gnu.org>
1699
1700 * window.c (Frecenter): Rewrite code handling negative values
1701 of ARG on graphical frames.
1702
17032001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
1704
1705 * window.c (displayed_window_lines): If W->start is outside the
1706 accessible portion of the buffer, call start_display with BEGV or
1707 ZV instead of W->start.
1708
471f86b9
GM
17092001-03-07 Gerd Moellmann <gerd@gnu.org>
1710
2ab62c6c
GM
1711 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
1712
471f86b9
GM
1713 * process.c (Fset_process_filter): Don't crash if the input
1714 file descriptor of PROCESS is closed.
1715 (Fset_process_window_size): Likewise.
1716
101922c3
GM
17172001-03-06 Kenichi Handa <handa@etl.go.jp>
1718
1719 * xterm.c (XTflash): Make the timeout of select shorter, and call
1720 select repeatedly until the desired time expires.
1721
45d051a7
GM
17222001-03-06 Gerd Moellmann <gerd@gnu.org>
1723
1724 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
1725
1726 * xfns.c (Fx_create_frame): Clear Vwindow_list.
1727
1728 * lisp.h (Vwindow_list): Declare extern.
1729
8f372c46
EZ
17302001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
1731
1732 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
1733
f16a7aa5
GM
17342001-03-06 Gerd Moellmann <gerd@gnu.org>
1735
157ae273
GM
1736 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
1737 to detect a case where we have to highlight a different region
1738 despite not having left the currently highlighted region.
1739 Set mouse_face_overlay in the x_display_info.
45d051a7 1740 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
1741
1742 * xterm.h (struct x_display_info): Add mouse_face_overlay.
1743
1744 * buffer.c (mouse_face_overlay_overlaps): New function.
1745
1746 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
1747 (Qmouse_face): Declare extern.
1748
f16a7aa5
GM
1749 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
1750 if face_change_count is non-zero.
1751
827afcac
KH
17522001-03-06 Kenichi Handa <handa@etl.go.jp>
1753
1754 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
1755 that the source is unibyte.
1756
14c7242e
DL
17572001-03-05 Dave Love <fx@gnu.org>
1758
827afcac 1759 * xterm.c (XTmouse_position): Fix typo.
14c7242e 1760
c28b847b
GM
17612001-03-05 Gerd Moellmann <gerd@gnu.org>
1762
1763 * minibuf.c (read_minibuf): Clean up the binding stack if
1764 called noninteractively.
1765
b86644f2
KH
17662001-03-05 Kenichi Handa <handa@etl.go.jp>
1767
1768 * coding.c (syms_of_coding): Docstring modified.
1769
203682cc 17702001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
1771
1772 * charset.c (char_to_string): If a single byte char has modifier
1773 bits that can't be reflected to the character code, ignore them
45d051a7 1774 instead of signaling an error.
b86644f2 1775
e30bd7b7
EZ
17762001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
1777
1778 * s/msdos.h: Update copyright notice.
1779
1780 * dosfns.h: Update copyright notice.
1781
1782 * dosfns.c: Update copyright notice.
1783
1784 * msdos.c: Update copyright notice.
1785
b52b65bd
GM
17862001-03-02 Gerd Moellmann <gerd@gnu.org>
1787
1788 * xterm.c (glyph_rect): New function.
1789 (XTmouse_position): Use it to raise the threshold for mouse
1790 movement event generation.
1791
53c4b1e6
EZ
17922001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
1793
1794 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
1795 specifies (reverse . t), reverse the initial screen colors.
1796 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
1797 but we are reversing the colors, set bg_set, not fg_set.
1798 Likewise for setting background-color and reversing: set fg_set.
1799 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
1800 in effect.
1801
1802 * xfaces.c (Finternal_set_lisp_face_attribute)
1803 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
1804 parameters alist.
1805
f964b4d7
GM
18062001-03-02 Gerd Moellmann <gerd@gnu.org>
1807
ef53d75e
GM
1808 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
1809 to a single slash in the middle of file names.
1810
52283633 1811 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
1812 Accept only alphanumeric time zone names.
1813
f964b4d7
GM
1814 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
1815 or width area.
1816 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1817 a widget to zero height.
52283633 1818
c3c45f65
GM
18192001-03-01 Gerd Moellmann <gerd@gnu.org>
1820
1821 * window.c (Fwindow_end): Call move_it_past_eol only if
1822 ending up on a partially visible line.
1823
028d739a
DL
18242001-03-01 Dave Love <fx@gnu.org>
1825
1826 * ccl.c (Fccl_execute): Doc fix.
1827
57c5889c
GM
18282001-03-01 Gerd Moellmann <gerd@gnu.org>
1829
35f59f6b
GM
1830 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1831 of the tool bar before calling x_figure_window_size.
1832
f84ff02c
GM
1833 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1834 NULL after destroying it, otherwise XTread_socket can access a
1835 destroyed widget when input is unblocked.
1836
8b8f9197 1837 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1838
57c5889c
GM
1839 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1840 same name as before, although there was a change in fontsets.
1841
224227d1
KR
18422001-02-28 Ken Raeburn <raeburn@gnu.org>
1843
4560730a
KR
1844 * lisp.h (Fframe_parameter): Declare.
1845
224227d1 1846 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1847 Lisp_Object.
224227d1 1848
ece93c02
GM
18492001-02-28 Gerd Moellmann <gerd@gnu.org>
1850
11ef99b9
GM
1851 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1852 NULL instead.
1853
1854 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1855 NULL instead.
1856
ece93c02
GM
1857 * alloc.c (toplevel): Include process.h.
1858 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1859 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1860 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1861 (allocate_vector, allocate_hash_table, allocate_window)
1862 (allocate_frame, allocate_process, allocate_other_vector):
1863 New functions.
ece93c02
GM
1864 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1865 (mark_maybe_pointer): New function.
52283633 1866 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1867 remain and not Lisp_Objects.
1868 (min_heap_address, max_heap_address): New variables.
1869 (mem_find): Return MEM_NIL if START is below min_heap_address or
1870 above max_heap_address.
1871 (mem_insert): Compute min_heap_address and max_heap_address.
1872
1873 * process.c (make_process): Use allocate_process.
1874
1875 * frame.c (make_frame): Use allocate_frame.
1876
1877 * window.c (make_window, make_dummy_parent): Use allocate_window.
1878 (Fcurrent_window_configuration): Use allocate_other_vector.
1879
1880 * lisp.h (allocate_vectorlike): Remove prototype.
1881 (allocate_vector, allocate_other_vector, allocate_frame)
1882 (allocate_window, allocate_process, allocate_hash_table):
1883 Add prototypes.
1884
1885 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1886 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1887
063af457
KH
18882001-02-27 Kenichi Handa <handa@etl.go.jp>
1889
1890 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1891 treat the produced bytes as a valid multibyte sequence.
1892
1893 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1894 (ccl_driver) <CCL_WriteMultibyteChar2>:
1895 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1896 <ccl_finish>: Set ccl->eight_bit_control properly.
1897
1898 * ccl.h (struct ccl_program): New member eight_bit_control.
1899
f58c6494
SM
19002001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1901
1902 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1903 accessible_keymaps_char_table.
1904 (accessible_keymaps_char_table): Obey `is_metized'.
1905 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1906 Lisp_Object.
1907
c596c392
GM
19082001-02-26 Gerd Moellmann <gerd@gnu.org>
1909
1910 * dispnew.c: Check HAVE_TERM_H before including term.h.
1911
425de386
AI
19122001-02-24 Andrew Innes <andrewi@gnu.org>
1913
1914 * makefile.w32-in: Update copyright notice.
1915
2ba11bbd
SM
19162001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1917
1918 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1919
66c56ed1
KH
19202001-02-24 Kenichi Handa <handa@etl.go.jp>
1921
4c1593ce
KH
1922 * Makefile.in (lisp): Add international/utf-8.elc.
1923
66c56ed1
KH
1924 * fontset.c (Fnew_fontset): Fix handling of the case that an
1925 element of FONTLIST is a cons of family and registry.
1926
796ead7e
JR
19272001-02-23 Jason Rumney <jasonr@gnu.org>
1928
1929 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1930 to height unconditionally.
1931
1932 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1933 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1934 (x_insert_glyphs): Call window_box_left to obtain the left
1935 x-coordinate of the area to shift.
1936
1937 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1938 safe_run_hooks.
1939
f6839838
AI
19402001-02-22 Andrew Innes <andrewi@gnu.org>
1941
52283633 1942 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1943 ($(BLD)\dispnew.obj):
1944 ($(BLD)\editfns.obj):
1945 ($(BLD)\fileio.obj):
1946 ($(BLD)\filelock.obj):
1947 ($(BLD)\keyboard.obj):
1948 ($(BLD)\w32proc.obj):
1949 ($(BLD)\process.obj):
1950 ($(BLD)\sysdep.obj): Ditto.
1951
1952 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1953 header files.
52283633
SM
1954 ($(BLD)/dispnew.$(O)):
1955 ($(BLD)/editfns.$(O)):
1956 ($(BLD)/fileio.$(O)):
1957 ($(BLD)/filelock.$(O)):
1958 ($(BLD)/keyboard.$(O)):
1959 ($(BLD)/w32proc.$(O)):
1960 ($(BLD)/process.$(O)):
f6839838
AI
1961 ($(BLD)/sysdep.$(O)): Ditto.
1962
c224f70b
GM
19632001-02-22 Gerd Moellmann <gerd@gnu.org>
1964
51695746
GM
1965 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1966 at the start of the function, check that the \n in it->c is
1967 from the iterator's current position.
52283633 1968
a61b7058
GM
1969 * xdisp.c (handle_single_display_prop): Add parameter
1970 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1971 properties which replace the display of text with something else.
1972 (handle_display_prop): Call handle_single_display_prop with
1973 additional argument saying if we already replaced text display
1974 with something else. Use AREF.
52283633 1975 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1976 (decode_mode_spec_coding): Use AREF and ASIZE.
1977
3473f362
GM
1978 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1979 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1980 * vmstime.h: Files removed.
52283633 1981
2bb58df3
GM
1982 * unexencap.c, unexfx2800.c: Files removed.
1983
c224f70b
GM
1984 * dispnew.c (direct_output_for_insert): Give up if we are showing
1985 a message or just cleared the message because we might need to
1986 resize the echo area window or display an empty echo area.
1987
ffc9ff0c
GM
19882001-02-21 Gerd Moellmann <gerd@gnu.org>
1989
0528abe1
GM
1990 * xdisp.c (redisplay_internal): Do the
1991 mark_window_display_accurate after all windows have been
1992 redisplayed because this call resets flags in buffers which are
1993 needed for proper redisplay.
1994
52283633
SM
1995 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1996 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1997 the old names.
1998
52283633
SM
1999 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2000 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2001
2002 * msdos.h (struct x_output): Rename busy_window to
2003 hourglass_window, busy_p to hourglass_p.
2004
52283633
SM
2005 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2006 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2007
2008 * xfns.c: Rename everything containing *busy_cursor* and similar
2009 to *hourglass*.
2010 (syms_of_w32fns): Rename x-busy-pointer-shape to
2011 x-hourglass-pointer-shape, display-busy-cursor to
2012 display-hourglass, busy-cursor-delay to hourglass-delay.
2013
2014 * w32fns.c: Rename everything containing *busy_cursor* and similar
2015 to *hourglass*.
2016 (syms_of_w32fns): Rename x-busy-pointer-shape to
2017 x-hourglass-pointer-shape, display-busy-cursor to
2018 display-hourglass, busy-cursor-delay to hourglass-delay.
2019
2020 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2021 of its busy_p flag.
2022
2023 * dispextern.h (start_hourglass, cancel_hourglass)
2024 (display_hourglass_p): Renamed from *busy_cursor*.
2025
ab2c5f0a
GM
20262001-02-20 Gerd Moellmann <gerd@gnu.org>
2027
d17e49a8
GM
2028 * keyboard.c (read_char): When an event from unread-command-events
2029 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2030
fa97adf6
GM
2031 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2032 equal to the current buffer.
2033
ab2c5f0a
GM
2034 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2035 nil, otherwise we're left with truncate_lines t when a message
2036 is printed with message-truncate-lines bound to t.
2037
aeac019e
GM
20382001-02-19 Gerd Moellmann <gerd@gnu.org>
2039
c8bc6f65
GM
2040 * window.c (Fmove_to_window_line): Undo last change.
2041 (displayed_window_lines): Call line_bottom_y to determine
2042 the line's bottom position.
2043
2044 * dispextern.h (line_bottom_y): Add prototype.
2045
52283633 2046 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2047 (pos_visible_p): Use it.
2048
980a2d69
GM
2049 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2050 set redisplaying_p to 0 here instead of in Frecursive_edit.
2051 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2052 set redisplaying_p.
2053
52283633 2054 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2055 New variables.
2056 (syms_of_xdisp): Initialize new variables.
2057 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2058 Specbind `inhibit-menubar-update' when updating the menu bar.
2059
65048e97
GM
2060 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2061 safe_run_hooks.
2062
2063 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2064 safe_run_hooks.
2065
a57c4026
GM
2066 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2067 is null.
2068
aeac019e
GM
2069 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2070 to the start of the file.
2071
76846b31
GM
20722001-02-16 Gerd Moellmann <gerd@gnu.org>
2073
f3f053f3 2074 * window.c (set_window_buffer): Fix last change.
52283633 2075
f3f053f3
GM
2076 * window.c (set_window_buffer): Set window's vscroll to 0.
2077
dad75588
GM
2078 * window.c (coordinates_in_window): Increase width of area
2079 where the vertical line can be dragged.
2080
c220b753
GM
2081 * xterm.c (x_set_glyph_string_background_width): Extend the
2082 background face to the end of the drawing area in the text
2083 area, only.
2084
c56b1c1b
GM
2085 * xdisp.c (handle_single_display_prop): Set iterator's position
2086 to where the `display' property starts, like for images.
2087 (dump_glyph): New function.
2088 (dump_glyph_row): Use it. Dump info about marginal areas.
2089
2090 * dispnew.c (direct_output_for_insert): Recognize more cases where
2091 glyphs can be written instead of being inserted.
2092
2093 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2094 the left x-coordinate of the area to shift.
2095
76846b31
GM
2096 * dired.c (directory_files_internal): Set result list to nil
2097 before retrying.
2098
0fc71a77
KH
20992001-02-15 Kenichi Handa <handa@etl.go.jp>
2100
2101 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2102 invalid multibyte sequence, treat *SRC as a character of
2103 eight-bit-graphic.
2104
25078b54
EZ
21052001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2106
2107 * textprop.c (Fset_text_properties): Doc fix.
2108
8399f8a0
GM
21092001-02-15 Gerd Moellmann <gerd@gnu.org>
2110
2111 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2112
9a2a6f73
DL
21132001-02-14 Dave Love <fx@gnu.org>
2114
2115 * coding.c: Doc and message fixes.
2116
bf853fee
AI
21172001-02-14 Andrew Innes <andrewi@gnu.org>
2118
2119 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2120 Emacs frame above the screen size.
2121
78c663d8
GM
21222001-02-14 Gerd Moellmann <gerd@gnu.org>
2123
2124 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2125
7cc9f69f
GM
21262001-02-13 Gerd Moellmann <gerd@gnu.org>
2127
0a411995
GM
2128 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2129 case that TO ends up beyond ZV after running before-change-functions.
2130
5ddc1b75
GM
2131 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2132 the selected window if it is showing the buffer in question.
2133
7cc9f69f
GM
2134 * dired.c (directory_files_internal): Initialize errno.
2135 (toplevel): Include errno.h.
2136
2e6621ca
GM
21372001-02-13 Kenichi Handa <handa@etl.go.jp>
2138
2139 * xfaces.c (best_matching_font): New parameter width_ratio.
2140 Multiply avgwidth by width_ratio.
2141 (choose_face_font): Call best_matching_font with width_ratio
2142 calculated from the column width of C.
2143
60222d69
AI
21442001-02-12 Andrew Innes <andrewi@gnu.org>
2145
2146 The following changes are to draw box lines inside characters area
2147 if line-width is negative.
52283633 2148
60222d69
AI
2149 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2150 face->box_line_width is negative.
2151 (x_produce_stretch_glyph): Likewise.
2152 (x_produce_glyphs): Likewise.
2153 (x_estimate_mode_line_height): Likewise.
2154 (x_draw_glyph_string_background): Likewise.
2155 (x_draw_glyph_string_foreground): Likewise.
2156 (x_draw_composite_glyph_string_foreground): Likewise.
2157 (x_draw_glyph_string_box): Likewise.
2158 (x_draw_image_foreground): Likewise.
2159 (x_draw_image_relief): Likewise.
2160 (x_draw_image_foreground_1): Likewise.
2161 (x_draw_image_glyph_string): Likewise.
2162
9804b846
KH
21632001-02-09 Kenichi Handa <handa@etl.go.jp>
2164
2165 The following changes are to draw box lines inside characters area
2166 if line-width is negative.
52283633 2167
9804b846
KH
2168 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2169 face->box_line_width is negative.
2170 (x_produce_stretch_glyph): Likewise.
2171 (x_produce_glyphs): Likewise.
2172 (x_estimate_mode_line_height): Likewise.
2173 (x_draw_glyph_string_background): Likewise.
2174 (x_draw_glyph_string_foreground): Likewise.
2175 (x_draw_composite_glyph_string_foreground): Likewise.
2176 (x_draw_glyph_string_box): Likewise.
2177 (x_draw_image_foreground): Likewise.
2178 (x_draw_image_relief): Likewise.
2179 (x_draw_image_foreground_1): Likewise.
2180 (x_draw_image_glyph_string): Likewise.
2181
2182 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2183 and :line-width can be negative.
52283633 2184 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2185
49be9f70
JR
21862001-02-09 Jason Rumney <jasonr@gnu.org>
2187
2188 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2189 characters the same as ASCII and latin-1.
2190 (x_display_and_set_cursor): Check for the focus frame's selected
2191 window instead of selected_window.
2192 (x_after_update_window_line): Don't clear if frame's internal
2193 border width is zero.
2194 (x_new_font): Don't change a tooltip's size.
2195 (w32_initialize): Set char_ins_del_ok to 1.
2196
2197 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2198 (x_set_font): If font hasn't changed, avoid recomputing
2199 faces and other things.
52283633
SM
2200 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2201 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2202 (x_create_tip_frame): Prevent changing the tooltip's
2203 background color by specifying a color for the default font
2204 in .Xdefaults.
2205 (Qcancel_timer): New variable.
2206 (syms_of_w32fns): Initialize and staticpro it.
2207 (Fx_hide_tip, Fx_show_tip): Use it.
2208 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2209 the timer.
2210 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2211
2212 * w32.c (init_environment): Duplicate local string before putenv.
2213
555e35d2
SZ
22142001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2215
2216 * charset.c (Fstring): A typo.
2217
19c92c94
KH
22182001-02-09 Kenichi Handa <handa@etl.go.jp>
2219
e47a1c33
KH
2220 * charset.c (Fstring): If all arguments are less than 256, return
2221 a unibyte string.
2222
2223 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2224 return a unibyte string.
2225
19c92c94
KH
2226 * coding.c (code_convert_region): After detecting a coding, if
2227 nothing found, set coding->composing to COMPOSITION_NO.
2228 (decode_coding_string): Likewise.
2229
d8e675f5
SM
22302001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2231
2232 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2233 to avoid overflow.
2234
bd503487
KH
22352001-02-07 Kenichi Handa <handa@etl.go.jp>
2236
2237 * charset.c (parse_str_to_multibyte): New function.
2238
2239 * charset.h (parse_str_to_multibyte): Extern it.
2240
2241 * print.c (print_string): If we are going to print a unibyte
2242 string into a multibyte buffer, convert the string to multibyte by
2243 str_to_multibyte.
2244
a8370d72
AI
22452001-02-06 Andrew Innes <andrewi@gnu.org>
2246
2247 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2248 been created. It seems we can get sent window messages such as
2249 WM_ERASEBKGND before we properly update a frame.
2250
c363a1d6
GM
22512001-02-06 Gerd Moellmann <gerd@gnu.org>
2252
2253 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2254 Avoid some unnecessary cursor positioning.
2255
a08332c0
GM
22562001-02-05 Gerd Moellmann <gerd@gnu.org>
2257
52283633 2258 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2259 (LFACE_AVGWIDTH): New macro.
2260 (LFACEP): Use AREF.
2261 (check_lface_attrs): Check LFACE_AVGWIDTH.
2262 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2263 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2264 (merge_face_vectors): Check LFACE_AVGWIDTH.
2265 (Finternal_make_lisp_face): Use AREF.
2266 (xm_set_menu_resources_from_menu_face)
2267 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2268 (Finternal_lisp_face_empty_p): Use AREF.
2269 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2270 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2271 Compare average widths..
2272 (best_matching_font): Arrange for comparing average widths.
2273
52283633
SM
2274 * dispextern.h (enum lface_attribute_index):
2275 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2276
5cb3c8d4
DL
22772001-02-05 Dave Love <fx@gnu.org>
2278
2279 * puresize.h: Revert last change following loadup.el change.
2280
193fba87
AI
22812001-02-05 Andrew Innes <andrewi@gnu.org>
2282
2283 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2284 invocation of temacs, to work with Windows 2000.
2285 (bootstrap-emacs): Ditto.
2286
e16f52ce
GM
22872001-02-05 Gerd Moellmann <gerd@gnu.org>
2288
7a58ab59
GM
2289 * xterm.c (x_display_and_set_cursor): Check for the focus
2290 frame's selected window instead of selected_window.
2291
e89aaabd
GM
2292 * xdisp.c (try_scrolling): If point is in the line below the
2293 window, make sure to move the iterator at least a canonical
2294 char height down.
2295
52283633 2296 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2297
789ce875
KH
22982001-02-05 Kenichi Handa <handa@etl.go.jp>
2299
52283633
SM
2300 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2301 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2302 (ccl_driver): If the CCL program is terminated because of
2303 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2304 destination instead of throwing them away.
2305
20b28f82
GM
23062001-02-02 Gerd Moellmann <gerd@gnu.org>
2307
79fb38c0
GM
2308 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2309 faces and other things.
2310
20b28f82
GM
2311 * xdisp.c (get_next_display_element): Fix case of empty
2312 display table entry.
2313
5a72551e
EZ
23142001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2315
eb24d0bf
EZ
2316 * editfns.c (Fconstrain_to_field): Doc fix.
2317
6a3f48c7
EZ
2318 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2319 into `thoroughly', to make it consistent with the doc string.
2320
5a72551e
EZ
2321 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2322
01acdb05
GM
23232001-02-01 Gerd Moellmann <gerd@gnu.org>
2324
0353b28f
GM
2325 * search.c (search_buffer): Call set_search_regs with a byte
2326 position, not a character position.
2327
01acdb05
GM
2328 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2329 minibuffer-only,
2330
e86b5133
EZ
23312001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2332
2333 * frame.c (Fmodify_frame_parameters): Doc fix.
2334
7442878f
GM
23352001-01-31 Gerd Moellmann <gerd@gnu.org>
2336
01acdb05
GM
2337 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2338 identifier which is not reserved by Standard C.
52283633 2339
7442878f
GM
2340 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2341
2342 * window.c (enum window_part): New enumeration.
2343 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2344 Qright_bitmap_area.
2345 (coordinates_in_window): Return an enumerator from enum
2346 window_part. Fix handling of right scroll bar.
2347 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2348 `right-fringe' instead of `left-bitmap-area' and
2349 `right-bitmap-area'. Use enumerators from enum window_part
2350 instead of hard-coded integers.
52283633
SM
2351 (check_window_containing, window_from_coordinates):
2352 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2353 (syms_of_window): Replace Qleft_bitmap_area and
2354 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2355
7c132cba
EZ
23562001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2357
2358 * editfns.c (Fformat_time_string): Doc fix.
2359
c359dd9e
SM
23602001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2361
2362 * keymap.c (Fwhere_is_internal): Use the first valid binding
2363 if no ascii binding is found (when firstonly is t).
2364
ce070307
GM
23652001-01-31 Gerd Moellmann <gerd@gnu.org>
2366
b4f30ec5
GM
2367 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2368 instead of Finteractive_p.
2369
2370 * lisp.h (interactive_p): Add prototype.
2371
2372 * eval.c (interactive_p): New function.
2373 (Finteractive_p): Use it.
2374
ce070307
GM
2375 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2376
f57b6e64
DL
23772001-01-31 Dave Love <fx@gnu.org>
2378
d61c7afe
DL
2379 * .gdbinit (hook-run): Define to run xreload.
2380
f57b6e64
DL
2381 * textprop.c (Fset_text_properties): Fix newline in doc string.
2382
eef93f99
GM
23832001-01-30 Gerd Moellmann <gerd@gnu.org>
2384
52283633
SM
2385 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2386 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2387
2388 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2389 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2390 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2391
2392 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2393 height.
2394
d9c1f6f9
DL
23952001-01-30 Dave Love <fx@gnu.org>
2396
2397 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2398 AFTER_POTENTIAL_GC.
2399
e8f044a0
GM
24002001-01-29 Gerd Moellmann <gerd@gnu.org>
2401
52283633
SM
2402 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2403 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2404
8e1db7b3
EZ
24052001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2406
2407 * textprop.c (Fset_text_properties): Doc fix.
2408
4eefd9d2
GM
24092001-01-29 Gerd Moellmann <gerd@gnu.org>
2410
2411 * xdisp.c (forward_to_next_line_start): Remove xassert.
2412
fccb8288
EZ
24132001-01-29 Jason Rumney <jasonr@gnu.org>
2414
4eefd9d2 2415 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2416 returning without releasing it.
2417
76581eab
KH
24182001-01-29 Kenichi Handa <handa@etl.go.jp>
2419
2420 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2421 for '^', '$', and '\0'.
2422
83a96b4d
AC
24232001-01-28 Andrew Choi <akochoi@i-cable.com>
2424
5604ec34
AC
2425 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2426 regex for '^', '$', and '\0'.
2427
83a96b4d
AC
2428 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2429 only if current_sblock has been initialized.
2430
2431 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2432 terminal frame even if it is the only visible frame.
2433
c09a6440
KH
24342001-01-28 Kenichi Handa <handa@etl.go.jp>
2435
2436 * fontset.c (font_family_registry): Even if FONTNAME conform to
2437 XLFD, if it specifies other fields than family and registry,
52283633 2438 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2439 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2440 a signle byte character. Don't set FAMILY part to nil here.
2441 It is handled by the caller choose_face_font.
c09a6440
KH
2442 (Fnew_fontset): Call font_family_registry with FORCE 0.
2443 (Fset_fontset_font): Likewise.
2444
4dcd74e6
GM
24452001-01-27 Gerd Moellmann <gerd@gnu.org>
2446
2447 * xdisp.c (display_line): Don't treat a newline as fitting
2448 on the line.
2449
d2906bf8
GM
24502001-01-26 Gerd Moellmann <gerd@gnu.org>
2451
0130fe1a
GM
2452 * window.c (size_window): Set the window's orig_top to nil when
2453 changing heights, so that a future shrink_mini_window won't
2454 restore a bogus height.
2455
550f0e6a
GM
2456 * frame.c (do_switch_frame): If selected frame has a mini-window,
2457 resize that to exact size.
2458
b7b20fbd
GM
2459 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2460
a47b7816
GM
2461 * xdisp.c (display_line): Simplify check for glyphs fitting
2462 entirely in the line.
2463
d2906bf8
GM
2464 * xfns.c (xic_style): New variable.
2465 (create_frame_xic): Move static variable to global scope for
550f0e6a 2466 the case that `static' gets defined away.
d2906bf8 2467
73df2b1e
KH
24682001-01-26 Kenichi Handa <handa@etl.go.jp>
2469
2470 * coding.c (decode_coding): Set a flag for inhibiting
2471 inconsistent eol.
2472 (code_convert_region): Always set saved_coding_symbol.
2473 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2474 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2475
6613cfc4
GM
24762001-01-25 Gerd Moellmann <gerd@gnu.org>
2477
c5e6e06b
GM
2478 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2479 XClearArea.
2480
2481 * xterm.c (x_after_update_window_line): Don't clear if frame's
2482 internal border width is zero.
2483 (x_clear_area): New function.
2484 (x_after_update_window_line, x_clear_end_of_line)
2485 (x_scroll_bar_create, x_scroll_bar_set_handle)
2486 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2487 instead of XClearArea.
2488
2489 * xterm.h (x_clear_area): Add prototype.
2490
6613cfc4
GM
2491 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2492 which doesn't seem necessary anymore with Lesstif 0.92.
2493
650cc6cc
DL
24942001-01-25 Dave Love <fx@gnu.org>
2495
34ac3367
DL
2496 * puresize.h (BASE_PURESIZE): Up to 720000.
2497
650cc6cc
DL
2498 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2499
5e37dc22
GM
25002001-01-25 Gerd Moellmann <gerd@gnu.org>
2501
e1e441f9
GM
2502 * xdisp.c (echo_area_display): Don't call redisplay_internal
2503 when Emacs is shutting down. We can't run hooks etc. that
2504 would be necessary to do a redisplay.
2505
5e37dc22
GM
2506 * lread.c (read_integer): Use type EMACS_INT instead of int.
2507
0fb94c7f
EZ
25082001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2509
2510 * ccl.c (ccl_driver): Fix last change.
2511
e3778624
KH
25122001-01-25 Kenichi Handa <handa@etl.go.jp>
2513
2514 * ccl.h (sturct ccl_program): New member suppress_error.
2515
bb264518 2516 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2517 insert error message to the output.
2518 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2519
2520 * coding.h (struct coding_system): New member suppress_error.
2521
2522 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2523 (Fset_terminal_coding_system_internal): Set the member
2524 suppress_error to 1.
2525 (Fset_safe_terminal_coding_system_internal): Likewise.
2526
245ed2b1
SM
25272001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2528
2529 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2530 as if it was a `charset'.
2531
f9aaedb6
GM
25322001-01-24 Gerd Moellmann <gerd@gnu.org>
2533
2534 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2535 value in where_is_cache; the next lookup in the cache returns
2536 something bogus if we do.
2537
c3902c3e
EZ
25382001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2539
2540 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2541 if HAVE_WINDOW_SYSTEM isn't defined.
2542
3497f73e
GM
25432001-01-24 Gerd Moellmann <gerd@gnu.org>
2544
e7e41584
GM
2545 * fns.c (sweep_weak_table): Fix code taking items out of
2546 the hash collision chain. Some cleanup.
2547
3497f73e
GM
2548 * xterm.c (x_new_font): Don't change a tooltip's size.
2549
2550 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2551 background color by specifying a color for the default font
2552 in .Xdefaults.
2553
3d48e687
KH
25542001-01-24 Kenichi Handa <handa@etl.go.jp>
2555
96531b20
KH
2556 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2557 a workaround for SunOS 4's cc.
2558 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2559 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2560 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2561 statement.
3d48e687 2562
a30629d2
GM
25632001-01-23 Gerd Moellmann <gerd@gnu.org>
2564
2565 * xterm.c (x_set_window_size_1): New function extracted from
2566 x_set_window_size.
2567 (x_set_window_size): Use it.
2568 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2569 doesn't have a widget, like tooltips.
2570
5a43decf
EZ
25712001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2572
52283633 2573 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2574
b0e98867
KH
25752001-01-23 Kenichi Handa <handa@etl.go.jp>
2576
2577 * fns.c (Fset_char_table_default): Fix to make sub char-table
2578 correctly.
2579
50606b4c
GM
25802001-01-22 Gerd Moellmann <gerd@gnu.org>
2581
cb2ddc53 2582 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2583 a desired tool bar string, even if there are no tool bar items.
2584
57c28064
GM
2585 * xdisp.c (Ftool_bar_lines_needed): New function.
2586 (syms_of_xdisp): Defsubr it.
2587
50606b4c
GM
2588 * editfns.c (Fformat): Don't extend text properties from arguments
2589 to padding chars in the result.
2590
2f169c38
EZ
25912001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2592
2593 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2594
0f32f023
AI
25952001-01-20 Andrew Innes <andrewi@gnu.org>
2596
52283633 2597 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2598 (w32_initialize): Don't set term hooks that aren't actually needed
2599 in windowed mode.
2600
2601 * xfaces.c (realize_default_face):
2602 (realize_face):
2603 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2604
2605 * xdisp.c (handle_single_display_prop): Remove references to
2606 FRAME_W32_CONSOLE_P.
2607
52283633 2608 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2609
2610 * frame.h (output_method): Remove output_w32_console method.
2611 (FRAME_W32_CONSOLE_P): Remove macro.
2612
2613 * frame.c (Qw32_console): Remove variable.
2614 (Fframep): Remove references to it.
2615 (syms_of_frame): Ditto.
2616 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2617
2618 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2619 redefinition.
2620
7173eada
KH
26212001-01-20 Kenichi Handa <handa@etl.go.jp>
2622
2623 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2624
755b45ce
AI
26252001-01-19 Andrew Innes <andrewi@gnu.org>
2626
2627 * w32.c (init_environment): Add a version-independent site-lisp
2628 directory to EMACSLOADPATH, after the version dependent one.
2629
0a949811
GM
26302001-01-19 Gerd Moellmann <gerd@gnu.org>
2631
8501998a
GM
2632 * editfns.c (Fbuffer_substring): Doc fix.
2633
52283633
SM
2634 * xdisp.c (message_dolog, message2, message2_nolog):
2635 Rename parameter LEN to NBYTES.
0a949811 2636
e6ebcbbe
KH
26372001-01-19 Kenichi Handa <handa@etl.go.jp>
2638
200ecca2
KH
2639 * charset.c (strwidth): Use c_string_width.
2640 (c_string_width): New function.
2641 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2642 Caller changed.
2643
2644 * charset.h (c_string_width, lisp_string_width): Extern them.
2645
52283633 2646 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2647
e6ebcbbe
KH
2648 * indent.c (check_composition): Check validity of composition.
2649
200ecca2
KH
2650 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2651 characters by calling c_string_width.
2652 (x_consider_frame_title): Get byte length of frame tile string
2653 correctly.
2654 (display_mode_element): Pay attention to width of non-ASCII
2655 characters by calling strwidth.
2656
8692ca92
GM
26572001-01-18 Gerd Moellmann <gerd@gnu.org>
2658
8962e303
GM
2659 * xfns.c (Qcancel_timer): New variable.
2660 (syms_of_xfns): Initialize and staticpro it.
2661 (Fx_hide_tip, Fx_show_tip): Use it.
2662 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2663 the timer.
2664 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2665
91523be9
GM
2666 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2667
2668 * window.h (WINDOW_LIVE_P): New macro.
2669
b0b7ed0e
GM
2670 * window.c (window_size_fixed): New variable.
2671 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2672 the doc string.
2673
06bccf8e
GM
2674 * eval.c (specbind): If binding a per-buffer variable which
2675 doesn't have a buffer-local value in the current buffer, change
2676 the global value by changing the value of the symbol bound in all
2677 buffers not having their own value, to make it consistent with
2678 what happens with other buffer-local variables.
2679
8692ca92
GM
2680 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2681
2682 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2683 when searching for a newline.
2684
bb3a3b50
KH
26852001-01-18 Kenichi Handa <handa@etl.go.jp>
2686
2687 * xdisp.c (display_string): Fix previous change.
2688
c2cc16fa
JR
26892001-01-18 Jason Rumney <jasonr@gnu.org>
2690
2691 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2692 GLYPH_DEBUG is defined.
2693 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2694 true for images with `:ascent 100'.
2695 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2696 meantime, use face MOUSE_FACE_ID.
2697 If first glyph isn't a character glyph, use the ASCII NUL
2698 character to determine the face.
2699 (expose_area): Do not treat left margin specially.
2700 (note_mode_line_highlight): If no local_map, check global keymap.
2701 (note_mouse_highlight): Initialize overlay.
52283633 2702 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
2703 (show_scroll_bars): Remove unused function.
2704 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
2705 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
2706 Clip to row.
52283633 2707 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
2708 (x_free_frame_resources): Unload relief colors.
2709
9c11f79e
GM
27102001-01-17 Gerd Moellmann <gerd@gnu.org>
2711
3aec8722 2712 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
2713 get_next_display_element when the newline is already found.
2714 This may change the iterator's position, when its current position is
3aec8722
GM
2715 equal to the iterator's stop_charpos.
2716
f3ffc2c3
GM
2717 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
2718 zero, use this method only at the end of a line.
2719
52283633 2720 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
2721 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
2722 if SCALABLE_FONTS_P is set.
52283633 2723
d26d6fd9
GM
2724 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
2725 so that scalable fonts are included.
2726
9c11f79e
GM
2727 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
2728 In the cache, use a key containing the information if scalable
2729 fonts are included.
2730 (x_load_font): Adapt to change of keys in the font cache.
2731
27322001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 2733
d26d6fd9
GM
2734 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
2735 XListFonts to take advantage of font caching.
2736
9c11f79e
GM
2737 * xterm.c (x_list_fonts): Ensure caching font information when
2738 called for a null frame, which is the case frequently when Emacs
2739 starts.
2740
51446987
GM
27412001-01-17 Gerd Moellmann <gerd@gnu.org>
2742
f864120f
GM
2743 * xfns.c (QCconversion): Replaces QCalgorithm.
2744
2745 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
2746
2747 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
2748 of :algorithm.
52283633 2749
e37d1417
GM
2750 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
2751 not everything could be displayed.
2752
51446987
GM
2753 * line.h, x-list-font.c: Files removed because unused.
2754
9ad4f3e5
AI
27552001-01-17 Andrew Innes <andrewi@gnu.org>
2756
2757 * dired.c (directory_files_internal): Convert result from readdir
2758 to a unibyte string initially, to avoid possible misinterpretation
2759 of some bytes as the internal form of Emacs characters.
2760
2eda09b5
KH
27612001-01-17 Kenichi Handa <handa@etl.go.jp>
2762
2763 * fns.c (concat): Be sure to avoid putting the same `composition'
2764 property on the adjacent regions.
2765
826f3788
GM
27662001-01-16 Gerd Moellmann <gerd@gnu.org>
2767
52283633 2768 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
2769 (Fscroll_right, Fscroll_left): Set it here instead, if called
2770 interactively.
2771
d57b83b3
GM
2772 * buffer.c (Fset_buffer_modified_p): Set buffer's
2773 prevent_redisplay_optimizations_p flag.
2774
826f3788 2775 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
2776 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
2777 with additional arg.
2778
2779 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
2780 Change prototype.
826f3788 2781
826f3788
GM
2782 * xdisp.c (redisplay_preserve_echo_area): Add parameter
2783 FROM_WHERE, for debugging.
2784
261d788b
KH
27852001-01-16 Kenichi Handa <handa@etl.go.jp>
2786
2787 * ccl.c (Fregister_ccl_program): Handle the return value of
2788 resolve_symbol_ccl_program correctly.
52283633 2789 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 2790
bccee4f2
GM
27912001-01-15 Gerd Moellmann <gerd@gnu.org>
2792
e4ded23c
GM
2793 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
2794 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
2795
2796 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
2797 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
2798 the display; we didn't open it.
2799
bccee4f2
GM
2800 * dispnew.c (save_or_restore_current_matrices): Function removed.
2801 (save_current_matrix, restore_current_matrix): New functions.
2802 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
2803 restore the frame's current matrix. Due to the glyph pointer
2804 setup done in adjust_glyph_matrix, there is no easy way to make
2805 saving the current matrix in the desired matrix generally correct,
2806 so don't try it.
2807
ebeccffa
KH
28082001-01-15 Kenichi Handa <handa@etl.go.jp>
2809
2810 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
2811 truncation glyphs.
2812 (display_line): Optimize for wide characters.
e4ded23c 2813 (display_string): Don't try to display a multi-column character
ebeccffa
KH
2814 partially. On ttys, produce more than one truncation glyph for
2815 multi-column characters that don't fit on the line.
2816
64388126
KH
28172001-01-13 Kenichi Handa <handa@etl.go.jp>
2818
52283633
SM
2819 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
2820 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 2821
8edb0a6f
JR
28222001-01-13 Jason Rumney <jasonr@gnu.org>
2823
2824 * w32fns.c (Fimage_size, image_ascent, lookup_image)
2825 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
2826 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2827 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 2828
52283633
SM
2829 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2830 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2831 (x_draw_image_glyph_string): Adapt to change of image margins.
2832
2833 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2834 variables.
2835
2836 * w32bdf.c (search_file_line, get_cached_font_char)
2837 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2838
2839 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2840
2841 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2842 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2843 (Fw32_send_sys_command): Remove unused variables.
2844 (w32_msg_pump): Add parentheses.
2845
2846 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2847 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2848 Add parentheses.
2849
4956d1ef
GM
28502001-01-12 Gerd Moellmann <gerd@gnu.org>
2851
b30623be
GM
2852 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2853 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2854 being a pair of margins.
2855 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2856 to DEFVAR_LISP. Extend doc.
2857
2858 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2859 margins.
2860 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2861 pair of integers `(X . Y)', use X for the horizontal and Y for the
2862 vertical margin.
2863 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2864 (parse_image_spec): Check it.
52283633
SM
2865 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2866 (tiff_format, gif_format, gs_format):
2867 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2868
52283633
SM
2869 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2870 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2871 (x_draw_image_glyph_string): Adapt to the change of image margins.
2872
2873 * dispextern.h (struct image): Replace member `margin' with
2874 `hmargin' and `vmargin'.
2875
4554cc79
GM
2876 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2877 and GLYPHS.
2878
2879 * dispnew.c (update_text_area): Put code which decrements the
2880 stop position when the row's face extends to the end of the
3bffc665 2881 line in #if 0.
4554cc79 2882
3cccce8d
GM
2883 * xfns.c (x_set_mouse_color): Fix color allocation.
2884
4956d1ef
GM
2885 * keyboard.c: Call get_local_map with new argument list.
2886
2887 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2888
2889 * intervals.h (enum map_property): Removed.
2890 (get_local_map): Change prototype.
2891
2892 * keymap.c: Call get_local_map with new argument list.
2893 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2894
2c2ff7f2
GM
28952001-01-11 Gerd Moellmann <gerd@gnu.org>
2896
a23887b9
GM
2897 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2898 of the size needed for the tool bar string. For the last image,
2899 use a `display' property that reaches to the end of the string.
2900
a7ee2d2e
GM
2901 * xselect.c (selection_request_dpyinfo): New variable.
2902 (x_handle_selection_request): Set it.
2903 (x_selection_request_lisp_error): Don't call
2904 x_decline_selection_request if selection request's display has
2905 been closed.
2906
52283633
SM
2907 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2908 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2909
457b792c
GM
29102001-01-10 Dave Love <fx@gnu.org>
2911
2912 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2913 ${SOME_MACHINE_LISP}, not ${lisp}.
2914
c1efd260
GM
29152001-01-10 Gerd Moellmann <gerd@gnu.org>
2916
52283633
SM
2917 * xdisp.c (display_line): On ttys, produce more than one truncation
2918 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2919
ac95a621
GM
2920 * xselect.c (x_reply_selection_request): Add a comment.
2921
c1efd260
GM
2922 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2923 XkbGetNames instead of XkbGetKeyboard.
2924
1bfb1345
DL
29252001-01-10 Dave Love <fx@gnu.org>
2926
2927 * sysdep.c (random): Revert the declaration.
2928
38119822
GM
29292001-01-09 Gerd Moellmann <gerd@gnu.org>
2930
52283633
SM
2931 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2932 Call function string_bytes.
35f464a7
GM
2933 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2934
2935 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2936 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2937 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2938 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2939 the current sblock.
2940 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2941 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2942 after sweeping strings, and at the end.
2943 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2944
38119822
GM
2945 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2946 ensure that pop_message is called.
2947
2948 * keyboard.c (Fexecute_extended_command): Use a
2949 record_unwind_protect to ensure that pop_message is called.
2950
2951 * lisp.h (push_message_unwind): Add prototype.
2952
2953 * xdisp.c (push_message_unwind): New function.
2954
2955 * fileio.c (do_auto_save_unwind): Do the pop_message here
2956 instead of in Fdo_auto_save.
2957 (Fdo_auto_save): Don't call pop_message.
2958
f47a9ec4
KR
29592001-01-08 Ken Raeburn <raeburn@gnu.org>
2960
2961 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2962 in inner block.
2963
a758f97d
GM
29642001-01-08 Gerd Moellmann <gerd@gnu.org>
2965
6d0afc03
GM
2966 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2967 when increasing window's vscroll.
2968
a758f97d
GM
2969 * macros.c (Qkbd_macro_termination_hook): New variable.
2970 (syms_of_macros): Initialize and staticpro it.
2971 (pop_kbd_macro): Run kbd-macro-termination-hook.
2972
2973 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2974
1bfb1345 29752001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2976
2977 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2978 arglist, for documentation's sake.
2979
0dac6924
AI
29802001-01-06 Andrew Innes <andrewi@gnu.org>
2981
2982 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2983 of *.pdb.
2984
8182406a
AI
29852001-01-05 Andrew Innes <andrewi@gnu.org>
2986
2987 * term.c (update_end): Don't check updating_frame; for some reason
2988 this can be 0 sometimes, such as after dismissing a popup menu,
2989 and isn't necessary given the explicit frame argument.
2990
3828218c
GM
29912001-01-05 Gerd Moellmann <gerd@gnu.org>
2992
2993 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2994 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2995
2f5ded21
GM
29962001-01-04 Gerd Moellmann <gerd@gnu.org>
2997
52283633 2998 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2999
3000 * xfns.c (x_create_tip_frame): Preserve the value of
3001 face_change_count around the creation of the tip frame.
52283633 3002
2f5ded21
GM
3003 * xfns.c (last_show_tip_args): New variable.
3004 (compute_tip_xy): New function.
3005 (Fx_show_tip): Reuse an existing tip frame, if possible.
3006 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3007
dfad65fa
DL
30082001-01-04 Dave Love <fx@gnu.org>
3009
64d4ec0f
DL
3010 * editfns.c (Fformat): Doc fix.
3011
dfad65fa
DL
3012 * systime.h (set_file_times): Prototype.
3013
3014 * widget.h (EmacsFrameSetCharSize_): Prototype.
3015
3016 * sysdep.c (random, srandom): Declare explicitly.
3017
3018 * dispextern.h (move_it_vertically_backward): Declare.
3019
85fe3b5e
GM
30202001-01-04 Gerd Moellmann <gerd@gnu.org>
3021
0f2ac578
GM
3022 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3023 like in Fx_create_frame.
3024
482cca61
GM
3025 * xfaces.c (set_font_frame_param): Don't do anything for
3026 non-graphical frames.
3027
85fe3b5e
GM
3028 * window.c (Fdelete_other_windows): Set window's window_end_valid
3029 to nil when changing the window's start. Don't change the
3030 window's start when its top position hasn't changed. If we do,
3031 this will set the window's optional_new_start, which act's like a
3032 force_start during redisplay with C-x 1 M-> under particular
3033 circumstances (see report from Per Starback to emacs-pretest-bug
3034 from 2000-12-13.).
3035
3e99d3b4
GM
30362001-01-03 Gerd Moellmann <gerd@gnu.org>
3037
a77dc1ec
GM
3038 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3039 short cut at the start of the function. Add an assertion.
3040 (reseat_at_next_visible_line_start): Add an assertion.
3041
2f3cad6c
GM
3042 * window.c (Frecenter): When changing the window start, set the
3043 window's window_end_valid to nil.
3044 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3045
3046 * dispextern.h (move_it_past_eol): Add prototype.
3047
3048 * xdisp.c (move_it_past_eol): New function.
3049
3e99d3b4
GM
3050 * window.c (Fwindow_end): Doc fix.
3051
30522001-01-03 Dave Love <fx@gnu.org>
3053
52283633 3054 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3055
bafb434c
GM
30562001-01-03 Gerd Moellmann <gerd@gnu.org>
3057
3058 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3059 the enabled_p flag of the glyph row at window_end_vpos to 0.
3060 (handle_single_display_prop): Fix last change.
3061
5297fb00
RS
30622001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3063
3064 * window.c (Frecenter): Doc fix.
3065
13d6a61c
AI
30662001-01-02 Andrew Innes <andrewi@gnu.org>
3067
3068 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3069
3070 * frame.h (output_method): Add output_w32_console method.
3071 (FRAME_W32_CONSOLE_P): New macro.
3072
3073 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3074 use output_w32_console method.
3075 (Qw32_console): New Lisp_Object.
3076 (Fframep): Return it.
3077 (syms_of_frame): Init it.
52283633 3078 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3079
3080 * xfaces.c (realize_default_face): Set face foreground and
3081 background to unspecified for w32_console frames.
3082 (realize_face): Realize face cache for w32_console frames.
3083 (realize_tty_face): Accept w32_console frames.
3084
52283633 3085 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3086 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3087 necessary, even if running interactively.
3088
3089 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3090 w32_console frames.
3091
52283633
SM
3092 * w32term.c (x_update_begin):
3093 (x_update_end):
3094 (x_clear_frame):
3095 (x_ins_del_lines):
3096 (x_change_line_highlight):
3097 (x_delete_glyphs):
3098 (w32_ring_bell):
3099 (x_update_begin):
3100 (x_update_end):
3101 (w32_reassert_line_highlight):
3102 (w32_frame_rehighlight):
13d6a61c
AI
3103 (w32_frame_raise_lower): Do nothing if not w32 frame.
3104
3105 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3106
3107 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3108 system doesn't tell us directly.
3109 (Fx_display_visual_class): Implement properly.
3110
d6bb0c0d
GM
31112001-01-02 Gerd Moellmann <gerd@gnu.org>
3112
3113 * window.c (Frecenter): Handle centering in graphical frames
3114 specially. Centering on the basis of line counts doesn't work
3115 reliably with variable-height lines.
52283633 3116
315f5865
EZ
31172001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3118
3119 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3120 and al[].
3121
52283633 3122 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3123 (update_compositions): Remove unused variable `hook'.
3124
3125 * intervals.c (get_local_map): Remove unused variable `tem'.
3126
3127 * doprnt.c (doprnt1): Remove unused variable `size'.
3128
3129 * fns.c (Flength): Remove unused variable `tail'.
3130 (Fdelete): Remove unused variable `size'.
3131
3132 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3133 and `gcpro2'.
3134
52283633 3135 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3136
3137 * data.c (find_symbol_value): Remove extra 3rd argument in the
3138 call to swap_in_symval_forwarding.
3139
52283633 3140 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3141
3142 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3143 (trivial_regexp_p): Remove unused variable `c'.
3144 (boyer_moore): Remove unused variable `k'.
3145
3146 * indent.c (current_column): Remove unused variable `stopchar'.
3147 (Fcompute_motion): Remove unused variable `contin'.
3148
3149 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3150
3151 * dired.c (directory_files_internal): Fix a typo in a comment.
3152 Remove an unused variable `handler'.
52283633 3153 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3154 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3155 on BSD4_2.
3156
52283633 3157 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3158
3159 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3160 and `buf'.
3161 (Fmarker_insertion_type): Remove unused variable `buf'.
3162
3163 * insdel.c (make_gap): Remove unused variable `result'.
3164
52283633 3165 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3166 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3167 (menu_bar_items): Remove unused function-scope variable `tem'.
3168
3169 * fontset.c (fontset_ref): Remove unused variable `i'.
3170 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3171 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3172 (make_fontset_for_ascii_face): Remove unused variable `name'.
3173 (fs_load_font): Remove unused variable `font_idx'.
52283633 3174 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3175 (list_fontsets): Remove unused variable `tail'.
3176 (Fnew_fontset): Remove unused variables `family' and `registry'.
3177 (accumulate_font_info): Remove unused variable `tmp'.
3178 (Ffontset_font): Remove unused variable `id'.
3179 (syms_of_fontset): Remove unused variable `i'.
3180
3181 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3182 to x_term_init.
3183 (lookup_image): Remove unused variable `file'.
3184 (xbm_load): Remove unused variables `bitmap_data', `height', and
3185 `width'. Remove function-local variable `i', leave the
3186 block-local one.
3187 (gif_load): Remove unused variable `inc'.
3188
52283633 3189 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3190 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3191 leave only the one in the inner block.
3192
3193 * xfaces.c (face_fontset, realize_default_face): Remove unused
3194 variable `fontset'.
3195 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3196
3197 * term.c (encode_terminal_code): Remove unused variable `c'.
3198
3199 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3200 char *' instead of `char *'.
3201
3202 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3203 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3204 (Fchar_category_set): Remove unused variables `val', `charset',
3205 `c1' and `c2'.
3206
52283633
SM
3207 * coding.c (detect_coding_iso2022, setup_coding_system):
3208 Remove unused variable `i'.
315f5865
EZ
3209 (detect_coding_mask): Remove unused variable `idx'.
3210 (detect_coding): Remove unused variable `i'.
3211 (ccl_coding_driver): Remove unused variable `result'.
3212 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3213 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3214 (encode_coding_string): Remove unused variables `gcpro1' and
3215 `saved_coding_symbol'.
3216 (Ffind_coding_systems_region_internal): Remove function-local
3217 variable args[], leave only the block-local one.
3218 (code_convert_region1): Remove unused variable `len'.
3219
3220 * charset.c (char_printable_p): Remove unused variable `chars'.
3221 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3222 (str_to_multibyte): Remove unused variable `c'.
3223
3224 * window.c (size_window): Remove block-local variable `min_size'.
3225
3226 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3227 `header_line_height'.
3228 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3229 enum display_element_type.
3230
1a8a9daf
GM
32312001-01-02 Gerd Moellmann <gerd@gnu.org>
3232
6dde6abc 3233 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3234 statements that call X. Save away the error message in a local copy.
3235
1883b2c6
GM
3236 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3237 the start.
3238
a13be207
GM
3239 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3240 in or at the start of invisible text.
3241
1a8a9daf
GM
3242 * dispnew.c (update_window): Don't check_current_matrix_flags.
3243
3608c0f9
JR
32442001-01-01 Jason Rumney <jasonr@gnu.org>
3245
3246 * w32fns.c (x_figure_window_size): Do not allow new_height and
3247 new_width of frame to override specified values.
3248
abb1acc4
KH
32492000-12-30 Kenichi Handa <handa@etl.go.jp>
3250
52283633 3251 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3252
762a68ec
GM
32532000-12-29 Gerd Moellmann <gerd@gnu.org>
3254
52283633 3255 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3256 (update_window) [GLYPH_DEBUG]: Call it.
3257 (scrolling_window): Prevent including current rows which are below
3258 what's displayed in the window.
3259
3260 * xdisp.c (try_window_reusing_current_matrix)
3261 <new start <= old start>: Disable rows in the current matrix
3262 which are below the window after scrolling.
52283633 3263
762a68ec
GM
3264 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3265 is zero. It's not worth the complexity.
3266 (invisible_text_between_p): Put in #if 0 because unused.
3267
2d5912c1
GM
32682000-12-28 Gerd Moellmann <gerd@gnu.org>
3269
46f6a258
GM
3270 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3271 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3272
89f93679
GM
3273 * keyboard.c (echo_char): If C is an integer, always call
3274 push_key_description. Former code could signal an invalid
3275 character error.
3276
3277 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3278 If set, print multibyte text.
3279 (Fsingle_key_description): Call push_key_description with
3280 FORCE_MULTIBYTE set.
3281 (describe_buffer_bindings): Likewise.
3282
3283 * lisp.h (push_key_description): Add prototype.
3284
c06017fb
GM
3285 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3286 around the call to redisplay_internal.
3287
f1d2ce7f
GM
3288 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3289
2d5912c1
GM
3290 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3291
9371f831
KH
32922000-12-28 Kenichi Handa <handa@etl.go.jp>
3293
3294 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3295 (ccl_driver): New local variable `extra_bytes'.
3296
3297 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3298
52283633
SM
3299 * coding.c (setup_coding_system):
3300 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3301 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3302
0c80628a
KH
33032000-12-28 Kenichi Handa <handa@etl.go.jp>
3304
3305 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3306 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3307 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3308 (decode_composition_emacs_mule): New function.
3309 (decode_coding_emacs_mule): Decode composition sequence by calling
3310 decode_composition_emacs_mule.
3311 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3312 (encode_coding_emacs_mule): Changed from macro to function.
3313 If a text contains compositions, encode them correctly.
0c80628a
KH
3314 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3315 that decoding and encoding are required.
3316
3e32cc27
GM
33172000-12-27 Gerd Moellmann <gerd@gnu.org>
3318
5e25feee
GM
3319 * xfaces.c (PT_PER_INCH): New macro.
3320 (xlfd_point_size): Compute real point size from font's pixel size.
3321 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3322 instead of 72.
3323
892d8fcd
GM
3324 * .gdbinit: Comment out the line pointing to the Lesstif source
3325 directory.
3326
12c8b416
GM
3327 * window.c (Frecenter): Use displayed_window_lines instead
3328 of window_internal_height.
3329
6061fbf0
GM
3330 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3331 instead of x-toolkit-scroll-bars-p.
3332 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3333
3334 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3335 instead of x-toolkit-scroll-bars-p.
3336 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3337
3e32cc27
GM
3338 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3339 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3340 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3341 New variables.
3342 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3343 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3344 (build_frame_matrix_from_leaf_window): Remove unused code.
3345 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3346 redisplay history.
3347 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3348 (update_window) [GLYPH_DEBUG]: Likewise.
3349 (syms_of_display): Defsubr dump-redisplay-history.
3350
31798cfe
GM
33512000-12-23 Gerd Moellmann <gerd@gnu.org>
3352
f717c2ba
GM
3353 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3354 the end of the prompt. Set echo_after_prompt to the offset
3355 of echoptr in echobuf.
3356
aeb2b8fc
GM
3357 * xdisp.c (init_from_display_pos): Pop until the iterator's
3358 stack is empty; there may be frames for stretch or images
3359 on the stack.
3360
31798cfe
GM
3361 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3362 (save_or_restore_current_matrix): New function for the same
3363 purpose, but more efficient.
3364 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3365
f8156156
EZ
33662000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3367
3368 * xdisp.c (syms_of_xdisp): Fix last change.
3369
bdd6d4e8
GM
33702000-12-23 Gerd Moellmann <gerd@gnu.org>
3371
3372 * xdisp.c (syms_of_xdisp): Doc fix.
3373
3374 * xdisp.c (redisplay_window): Remove label restore_buffers;
3375 use finish_scroll_bars instead to make sure that scroll bars
3376 are redeemed. If we don't do this, flickering can result from
3377 scroll bars being destroyed and recreated.
3378
9436cdf9
JR
33792000-12-22 Jason Rumney <jasonr@gnu.org>
3380
3381 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3382 in the wrong colors when the foreground is not black.
3383 (expose_window): Don't redraw the window that's currently being
3384 updated.
3385
951f9df5
GM
33862000-12-22 Gerd Moellmann <gerd@gnu.org>
3387
856ff7a7
GM
3388 * window.c (size_window): When setting the window's too_small_ok
3389 flag, compare old size with minimum size depending on WIDTH_P,
3390 don't compare with window_min_width.
52283633 3391
951f9df5
GM
3392 * window.c (delete_window): Simplify somewhat.
3393 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3394 freeing window matrices. The flag windows_or_buffers_changed is
3395 set, so the next redisplay will consider all windows; this should
3396 suffice.
3397
886bc933
KH
33982000-12-22 Kenichi Handa <handa@etl.go.jp>
3399
3400 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3401
3402 * ccl.h (struct ccl_program): New member cr_consumed.
3403
3404 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3405 (CCL_READ_CHAR): Handle EOL conversion here.
3406 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3407
177f4e88
GM
34082000-12-21 Gerd Moellmann <gerd@gnu.org>
3409
52283633 3410 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3411
3412 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3413 otherwise tabs of different size compare equal.
3414
3415 * callint.c (Fcall_interactively): Prevent a compiler warning.
3416
3417 * print.c (print_unwind): Return nil.
3418 (PRINTDECLARE): Initialize all local variables.
3419 (print_preprocess): Add a default case.
3420
8e15274f
GM
3421 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3422
3423 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3424
52283633 3425 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3426 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3427
3428 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3429
3430 * dispnew.c (ensure_frame_matrix): Removed.
3431 (save_frame_matrix, restore_frame_matrix): New functions.
3432 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3433
3434 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3435 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3436
99012074
AI
34372000-12-21 Andrew Innes <andrewi@gnu.org>
3438
3439 * w32term.c (x_update_begin): Regenerate the palette here, rather
3440 than for each window.
3441
3442 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3443 palette is NULL, since this corrupts memory! Also get
3444 display_info reference from frame.
3445
29ef7d2d
JR
34462000-12-21 Jason Rumney <jasonr@gnu.org>
3447
3448 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3449
3450 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3451 to avoid returning without releasing it.
3e27fa1f 3452
3f9d67a6
KH
34532000-12-21 Kenichi Handa <handa@etl.go.jp>
3454
587fc3f9
KH
3455 * keymap.c (push_key_description): Don't convert eight-bit-control
3456 and eight-bit-graphic to multibyte character.
3457
3f9d67a6
KH
3458 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3459 generic character and CODE1 is nil, return the smallest character
3460 in CHARSET.
3461
774ba8c9
DL
34622000-12-20 Dave Love <fx@gnu.org>
3463
3464 * s/osf5-0.h (NSIG): Don't redefine.
3465
88416888
SM
34662000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3467
3468 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3469 excluding menu-bar and tool-bar.
3470 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3471 (menu_item_p): Remove.
3472 (where_is_internal_1): Don't ignore menu-items.
3473
a6426c6f
GM
34742000-12-20 Gerd Moellmann <gerd@gnu.org>
3475
03ff8aab
GM
3476 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3477 into account.
3478
3479 * window.c (make_window): Initialize window's min_hscroll.
3480 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3481 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3482 to zero.
3483 (struct saved_window): New member min_hscroll.
3484 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3485 (Fset_window_configuration): Set window's min_hscroll.
3486 (save_window_save): Save window's min_hscroll.
3487 (compare_window_configurations): Compare min_hscroll values.
3488
3489 * window.h (struct window): New member min_hscroll.
3490
3491 * keyboard.c (echo_prompt): Prevent a compiler warning.
3492
8de4aaf8
GM
3493 * xdisp.c (try_cursor_movement): Fix last change. The real
3494 condition is that PT is at the end of the row, and should
3495 be displayed at the start of the next row.
52283633 3496
3f7e3031
GM
3497 * xdisp.c (try_cursor_movement): If we end on a partially
3498 visible line, end we already decided to scroll, return -1.
3499
a6426c6f
GM
3500 * dispextern.h (ensure_frame_matrix): Add prototype.
3501
3502 * window.c (delete_window, Fsplit_window)
3503 (Fset_window_configuration): Call ensure_frame_matrix.
3504
52283633
SM
3505 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3506 New functions.
a6426c6f
GM
3507 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3508 completed, call fake_current_matrices instead of marking frame
3509 garbaged.
3510
57fa2774
JR
35112000-12-20 Jason Rumney <jasonr@gnu.org>
3512
3513 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3514
d925df90
EZ
35152000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3516
3517 * fns.c (Frequire): Doc fix.
3518
7b93a85b
GM
35192000-12-19 Gerd Moellmann <gerd@gnu.org>
3520
52283633 3521 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3522
c74e645b
GM
3523 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3524 currently displaying a message.
3525
7b93a85b
GM
3526 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3527 xterm.h.
3528 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3529
90d97e64
AI
35302000-12-18 Andrew Innes <andrewi@gnu.org>
3531
3532 * w32.c (w32_strerror): New function.
3533
3534 * w32.h (w32_strerror): New extern.
3535
3536 * w32fns.c (Fw32_shell_execute): Use it.
3537
91c9e6ce
GM
35382000-12-18 Gerd Moellmann <gerd@gnu.org>
3539
3540 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3541
6f4745e2
EZ
35422000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3543
3544 * msdos.c (IT_set_face): Obey inverse_video.
3545
c9e088ce
KH
35462000-12-18 Kenichi Handa <handa@etl.go.jp>
3547
3548 * dired.c (directory_files_internal): Always return decoded filenames.
3549
c3695f5f
GM
35502000-12-18 Gerd Moellmann <gerd@gnu.org>
3551
52d8e4ff
GM
3552 * xterm.c (x_connection_closed): Prevent being called recursively
3553 because of an error condition in XtCloseDisplay.
52283633 3554
62be9979
GM
3555 * xdisp.c (init_iterator): If noninteractive, and the frame's
3556 face cache is null, make one.
3557
52283633 3558 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3559
c3695f5f
GM
3560 * process.c (wait_reading_process_input): Check for pending
3561 input when running timers.
3562
78555fbe
EZ
35632000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3564
52283633 3565 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3566
b2b36264
KH
35672000-12-18 Kenichi Handa <handa@etl.go.jp>
3568
3569 * process.c (read_process_output): Don't run a filter if the code
3570 decoder produces nothing but carryover.
3571
9c543fbf
AI
35722000-12-17 Andrew Innes <andrewi@gnu.org>
3573
3574 * w32.c (sys_rename): Only check errno against EEXIST, and not
3575 EACCES, when determining whether rename failed because the target
3576 exists. This was resulting in indefinite looping on Windows 9x if
3577 the source file was locked by another process.
3578
3579 * w32fns.c (Ffile_system_info): New function.
3580 (syms_of_w32fns): Defsubr it.
3581
10c2b5a8
GM
35822000-12-17 Gerd Moellmann <gerd@gnu.org>
3583
b0228ace
GM
3584 * window.c (coordinates_in_window): Fix computation for
3585 position on vertical line between mode lines.
3586
10c2b5a8
GM
3587 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3588 Don't alter tip_frame or tip_window.
3589 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3590 was deleted.
3591
c844a81a
GM
3592 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3593 Don't alter tip_frame or tip_window.
3594 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3595 was deleted.
3596
6c825f8e
EZ
35972000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3598
3599 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3600 be consistent with the doc string. Reported by NAKAJIMA Mikio
3601 <minakaji@osaka.email.ne.jp>.
3602
af4bb4c8
KH
36032000-12-16 Kenichi Handa <handa@etl.go.jp>
3604
3605 * xfaces.c (Vface_ignored_fonts): New variable.
3606 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3607 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3608
8062e53a
GM
36092000-12-15 Gerd Moellmann <gerd@gnu.org>
3610
e87b8809
GM
3611 * dispnew.c (update_window): Detect pending input every nth line
3612 updated, i.e. do it depending on real work done, and not on the
3613 vpos of the line.
3614
3615 * xterm.c (expose_window): Don't redraw the window that's
3616 currently being updated.
3617
a6768cc5
GM
3618 * window.c (Fset_window_point): Remove test for
3619 cursor_in_non_selected_windows.
3620
4ea7fdca
GM
3621 * lread.c (read1): Recognize end of file after `\\'.
3622
8062e53a
GM
3623 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3624 not unwind_create_frame.
3625
bb7959c1
GM
36262000-12-15 Dave Love <fx@gnu.org>
3627
3628 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3629 bcopy & al.
3630
3631 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3632
ced04c42
KH
36332000-12-15 Kenichi Handa <handa@etl.go.jp>
3634
c5443913
KH
3635 * coding.c (setup_coding_system): Clear all members of the struct
3636 coding_system at first.
bc137305
KH
3637 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3638 argument.
3639 (code_convert_region): Don't override coding->src_multibyte and
3640 coding->dst_multibyte.
c5443913 3641
ced04c42
KH
3642 * fns.c (Fmd5): Docstring improved.
3643
c2d7f289
MB
36442000-12-15 Miles Bader <miles@gnu.org>
3645
3646 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3647 are actually marked as mode-lines; otherwise use
3648 estimate_mode_line_height.
3649
9d7d9263
GM
36502000-12-14 Gerd Moellmann <gerd@gnu.org>
3651
3652 * editfns.c (Fformat): Prevent a buffer overrun when the format
3653 specifies a precision.
3654
7cf0153a
EZ
36552000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3656
3657 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3658 argument is outside the range [2..3].
3659
1de0f662
AI
36602000-12-14 Andrew Innes <andrewi@gnu.org>
3661
3662 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3663 nothing to do. Bind inhibit-quit.
3664 (tip_frame): Make it a Lisp_Object.
3665 (x_create_tip_frame): Set tip_frame after it has been added to
3666 Vframe_list.
3667 (Fx_show_tip): Don't set tip_frame here.
52283633 3668 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3669 (unwind_create_frame, unwind_create_tip_frame): New functions.
3670 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3671 while a frame is only partially constructed.
3672
3673 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3674 (x_free_frame_resources): New function.
3675 (x_destroy_window): Use it.
3676
02387dcc
GM
36772000-12-14 Gerd Moellmann <gerd@gnu.org>
3678
3679 * xfns.c (Fx_backspace_delete_keys_p): New function.
3680 (syms_of_xfns): Defsubr it.
3681
3682 * config.in (HAVE_XKBGETKEYBOARD): Add.
3683
0544ef49
KH
36842000-12-14 Kenichi Handa <handa@etl.go.jp>
3685
98d62747
KH
3686 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3687 Always store string in multibyte representation in echobuf.
3688 (echo_char): Always store string in multibyte representation in
3689 echobuf.
3690 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3691 (read_key_sequence): Adjusted for the change of echo_prompt.
3692
a20193cd
KH
3693 * fns.c (Fmd5): Docstring improved.
3694
191b83b6
KH
3695 * lisp.h (detect_coding_system): Prototype adjusted.
3696
0544ef49
KH
3697 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3698 (detect_coding_emacs_mule, detect_coding_iso2022,)
3699 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3700 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3701 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
3702 (detect_coding_mask, detect_coding_system): New argument
3703 MULTIBYTEP. Callers changed.
1da1bb05
KH
3704 (decode_coding_string): Set coding->src_multibyte and
3705 coding->dst_multibyte before calling detect_coding and detect_eol.
3706 Update them after some coding system is detected.
52283633 3707
d5b3eb1b
SM
37082000-12-13 Stefan Monnier <monnier@cs.yale.edu>
3709
3710 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
3711
3712 * keyboard.c (menu_bar_items, tool_bar_items):
3713 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
3714
f7f8bb69
GM
37152000-12-13 Gerd Moellmann <gerd@gnu.org>
3716
52283633 3717 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
3718 New variables.
3719 (unwind_create_frame, unwind_create_tip_frame): New functions.
3720 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3721 while a frame is only partially constructed.
3722
3723 * xterm.h (x_free_frame_resources): Declare.
3724
3725 * xterm.c (x_free_frame_resources): New function.
3726 (x_destroy_window): Use it.
3727
e10da507
GM
3728 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
3729 don't interrupt the update for pending input initially, i.e.
3730 update at least some lines.
3731
3732 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 3733
d5b3eb1b 3734 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
3735
3736 * xfns.c (gray_bitmap_bits): Declare `char *'.
3737
90aa2856
GM
37382000-12-12 Gerd Moellmann <gerd@gnu.org>
3739
3740 * xdisp.c (display_tool_bar_line): Make sure that tool bar
3741 lines start with a relief line.
3742
a308c9cd
DL
37432000-12-12 Dave Love <fx@gnu.org>
3744
3745 * window.c (Fdisplay_buffer): Doc fix.
3746 (Fwindow_list): Remove unused var.
3747
3748 * buffer.h (mmap_set_vars): Declare.
3749
3750 * window.h (Fset_window_point): Declare.
3751
d575011f
EZ
37522000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
3753
bf6282d2 3754 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
3755 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
3756 variable `area'. When looking for a row under (X,Y), give up if some
3757 of the previous rows is not enabled.
d575011f 3758
ecf4d726
GM
37592000-12-12 Gerd Moellmann <gerd@gnu.org>
3760
2ebf6139
GM
3761 * window.c (Fset_window_point): If displaying cursors in windows
3762 other than the selected window, make sure redisplay updates
3763 other windows to show the new value of point in the window.
3764
3765 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
3766
bfdb75ee
GM
3767 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
3768 the buffer is the sole visible buffer when in the mini-buffer.
3769
52283633 3770 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
3771 Bind `inhibit-read-only' to t.
3772 (unwind_with_echo_area_buffer): Use AREF.
3773
c0006262
GM
3774 * xfns.c (Fx_hide_tip): Simplified.
3775
52283633
SM
3776 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
3777 instead of `1'.
e9a59cad 3778
ecf4d726
GM
3779 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
3780
e5959a9a
GM
37812000-12-11 Gerd Moellmann <gerd@gnu.org>
3782
a3642e49 3783 * xfns.c (Fx_hide_tip): Fix last change.
52283633 3784
44b5a125
GM
3785 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
3786 nothing to do. Bind inhibit-quit.
3787 (tip_frame): Make it a Lisp_Object.
3788 (x_create_tip_frame): Set tip_frame after it has been added to
3789 Vframe_list.
3790 (Fx_show_tip): Don't set tip_frame here.
3791
3792 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3793
3794 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
3795 Lisp_Object.
3796
3797 * dispextern.h: Change external declaration of tip_frame.
3798
d990421f
GM
3799 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
3800 return an empty string.
3801
4db87380
GM
3802 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
3803 of the window's update_mode_line flag, since the former is set by
3804 force-mode-line-update, not the latter. This makes
3805 column-number-mode slightly faster.
52283633 3806
e5959a9a
GM
3807 * xdisp.c (try_window_id) <all changes above window start>:
3808 Set the cursor.
3809
169fe44e
GM
38102000-12-11 Paul Eggert <eggert@twinsun.com>
3811
3812 * config.in (HAVE_FTELLO): Remove.
3813 (HAVE_FSEEKO): Add.
3814 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
3815 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
3816 HAVE_FTELLO.
3817 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
3818 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 3819
59ec59ae
MB
38202000-12-11 Miles Bader <miles@gnu.org>
3821
3822 * window.c (displayed_window_lines): Don't round up when
3823 converting empty space at bottom to lines.
ff904dd6
MB
3824 Handle non-newline-terminated final lines properly.
3825 (Fwindow_text_height): New function (used to be in lisp).
3826 (syms_of_window): Initialize it.
59ec59ae 3827
42ebfa31
SM
38282000-12-09 Stefan Monnier <monnier@cs.yale.edu>
3829
3830 * syntax.c (scan_lists): Check that the right quote char has the
3831 right Sstring syntax when jumping over strings.
3832 (init_syntax_once): Use Smax rather than 13.
3833
5cdb3cf3
MB
38342000-12-09 Miles Bader <miles@gnu.org>
3835
3836 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3837 with PARTIALLY, inverting the sense.
3838 (window_scroll_pixel_based): Scroll partially visible lines into
3839 place if we hit the beginning or end of the buffer.
a12167c5
MB
3840 (displayed_window_lines): Don't include partially visible lines.
3841 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3842
842b2a94
GM
38432000-12-08 Gerd Moellmann <gerd@gnu.org>
3844
3845 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3846
3847 * tparam.c (tparam1): Change the way buffers are reallocated to be
3848 portable and less obfuscated.
3849
3850 * termcap.c (tgetent): Change the way buffers are reallocated to
3851 be portable and less obfuscated.
3852
3853 * macros.c (store_kbd_macro_char): Change the way buffers are
3854 reallocated to be portable and less obfuscated.
3855
3856 * lread.c (read1): Change the way buffers are reallocated to be
3857 portable and less obfuscated.
3858
3859 * doc.c (Fsubstitute_command_keys): Change the way buffers
3860 are reallocated so that it is portable.
3861
137cad7c
EZ
38622000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3863
3864 * dosfns.c (Ffile_system_info): New function.
3865 (syms_of_dosfns): Defsubr it.
3866
5c7f629c
SM
38672000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3868
3869 * alloc.c (gc_sweep): Add comment.
3870
959e647d
GM
38712000-12-07 Gerd Moellmann <gerd@gnu.org>
3872
52283633
SM
3873 * sound.c (vox_configure): Change order of ioctls.
3874 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3875 Ignore errors when changing volume.
3876 (vox_close): Don't reset the device.
3877
926b7e5e
GM
3878 * process.c (read_process_output): Make sure the process marker's
3879 position is valid when the process buffer is changed in
3880 after-change functions. W3 does that.
52283633 3881
959e647d
GM
3882 * xfns.c (x_free_gcs): New function.
3883
3884 * xterm.h (x_free_gcs): Add prototype.
3885
3886 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3887 freeing GCs here.
3888
3889 * xterm.c (x_destroy_window): Call x_free_gcs so that
3890 resources of non-toolkit X windows will be freed.
3891
478ea067
AI
38922000-12-07 Andrew Innes <andrewi@gnu.org>
3893
3894 * w32fns.c (xlfd_charset_of_font): Fix last change.
3895
fbee3231
DL
38962000-12-06 Dave Love <fx@gnu.org>
3897
67292061
DL
3898 * md5.h (__P): Don't define -- it comes from config.h.
3899
fbee3231
DL
3900 * strftime.c: Change some #if foo to #ifdef foo.
3901
4ee87dbb
AI
39022000-12-06 Andrew Innes <andrewi@gnu.org>
3903
3904 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3905
52283633 3906 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3907 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3908 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3909
9765b4a4
GM
39102000-12-06 Gerd Moellmann <gerd@gnu.org>
3911
d285b373
GM
3912 * alloc.c (gc_sweep): Prevent symbols read during loadup
3913 from being freed.
3914
384333ee
GM
3915 * xdisp.c (underlying_face_id): New function.
3916 (handle_face_prop, face_before_or_after_it_pos): Use it
3917 to determine the face ``under'' a string. Let strings inherit
3918 the face of the buffer under them.
3919
3920 * xfaces.c (face_at_string_position): Update function comment.
52283633 3921
d4b72d58
GM
3922 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3923 matrix if the window's left position has changed; we need to
3924 redraw it in this case.
3925
3926 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3927
e1d05387
GM
3928 * window.c (coordinates_in_window): Check mouse on mode-line or
3929 header-line first.
3930
eb1b0c74
GM
3931 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3932 advertized by the function documentation.
3933
d94d636f
GM
3934 * window.c (syms_of_window): Doc fix.
3935
3887b449
GM
3936 * sound.c (vox_configure): Set volume for left and right channel.
3937 (sound_cleanup): Return nil.
3938
efc8f57a
GM
3939 * xdisp.c (move_it_by_lines): Fix paren typo.
3940
9765b4a4
GM
3941 * xterm.c (x_load_font): Don't use the font's max_bounds for
3942 computing the height of the font. If max_bounds' ascent or
3943 descent are greater than the font's ascent or descent, this means
3944 glyphs overlap, which should be handled now by redisplay.
3945
6529ed87
GM
3946 * window.c (Veven_window_heights): New variable.
3947 (syms_of_window): DEFVAR_LISP it.
3948 (Fdisplay_buffer): Check Veven_window_heights before evening the
3949 window heights.
52283633 3950
0eb2ecde
MB
39512000-12-06 Miles Bader <miles@gnu.org>
3952
3953 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3954 update `default-frame-alist' instead of setting no frame parameters.
3955
03d7a167
KH
39562000-12-06 Kenichi Handa <handa@etl.go.jp>
3957
3958 * composite.c (update_compositions): Fix typo (use the correct
3959 variable).
3960
5f8803c2
JR
39612000-12-05 Jason Rumney <jasonr@gnu.org>
3962
3963 * md5.h: Remove underscores from function declarations.
3964 (__attribute__, __alignof__) [!__GNUC__]: Define.
3965
3966 * md5.c: Delay include of md5.h until after namespace cleaning.
3967
c28a075b
JR
3968 * makefile.w32-in (fns.o): Depend on md5.h
3969 (md5.o): New target.
3970 (sunfns.o): Remove.
3971
3972 * makefile.nt: Likewise.
3973
ff3c7056
JR
39742000-12-05 Jason Rumney <jasonr@altavista.net>
3975
3976 * w32term.c (expose_area): Complete last change.
3977
0c21eeeb
KR
39782000-12-05 Ken Raeburn <raeburn@gnu.org>
3979
3980 * minibuf.c: Include intervals.h.
3981
f201d732
JR
39822000-12-05 Jason Rumney <jasonr@gnu.org>
3983
3984 * w32term.c (x_produce_glyphs): If a font for a component of
3985 a composition is not found, use 1 pixel dot ascent and 0 dot
3986 descent value to avoid displaying terribly tall empty boxes.
3987 (expose_area): Pass x-coordinate relative to the exposed
3988 area to x_draw_glyphs instead of a window-relative coordinate.
3989
21999ab9
GM
39902000-12-05 Gerd Moellmann <gerd@gnu.org>
3991
4d2036e4
GM
3992 * xdisp.c (next_element_from_ellipsis): Save face before selective
3993 display in saved_face_id, and set face_before_selective_p.
3994 (reseat_1): Reset face_before_selective_p.
3995 (append_space, extend_face_to_end_of_line): If iterator's
3996 face_before_selective_p is set, use the face from saved_face_id.
3997 (extend_face_to_end_of_line): For tty frames, make sure to
3998 use the right face id when producing spaces at the end of
3999 the line.
4000
4001 * dispextern.h (struct it): Add face_before_selective_p.
4002
52be17cc
GM
4003 * keyboard.c (record_char): Don't record identical help-echo
4004 events in recent_keys.
4005
8a4f36cc
GM
4006 * xterm.c [USE_X_TOOLKIT]: Close the display.
4007 (xim_close_dpy): Handle case that the display has been closed.
4008
57d6e381
GM
4009 * xterm.c (x_destroy_window): Reset the frame's X window after
4010 destroying it.
4011
21999ab9
GM
4012 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4013 variable window_width.
4014 (line_draw_cost): Fix code skipping over spaces at the end of the
4015 line when must_write_spaces is not set.
4016 (scrolling_window): Fix code inserting runs in list of all runs.
4017
91372bb7
KH
40182000-12-05 Kenichi Handa <handa@etl.go.jp>
4019
4020 * coding.c (setup_coding_system): Be sure to initialize
4021 coding->category_idx.
4022
6c083b4c
GM
40232000-12-04 Gerd Moellmann <gerd@gnu.org>
4024
0c68ce6f 4025 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4026
6452929e
GM
4027 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4028 area to x_draw_glyphs instead of a window-relative coordinate.
4029
d7f31e22
GM
4030 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4031 error in the message.
4032
ae18aa3b
GM
4033 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4034 timer after having read a key. It's not good for code reading
4035 several keys in a loop, like an input method.
4036
caa15ef7
GM
4037 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4038 record undo information for format-decode.
4039
4040 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4041 current buffer is read-only, not if it isn't.
4042
6c083b4c
GM
4043 * keyboard.c (record_char): Record `help-echo' input events
4044 in recent_keys only if they display some help. Don't record
4045 `help-echo' events as macro char.
4046
caa15ef7
GM
40472000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4048
4049 * editfns.c (save_excursion_restore): Don't move point
4050 in another window if it is showing the wrong buffer.
4051 Avoid the call to Fwindow_live_p, for speed.
4052
5a13529b
KH
40532000-12-04 Kenichi Handa <handa@etl.go.jp>
4054
e225faa7
KH
4055 * xfaces.c (struct font_name): New member registry_priority.
4056 (split_font_name): Initialize the above member to zero.
4057 (concat_font_list): New function.
4058 (font_list): Include fonts of all alternative registries.
4059 (FONT_POINT_SIZE_QUANTUM): New macro.
4060 (better_font_p): Ignore point size difference less than
4061 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4062
e89648b4
KH
4063 * xterm.c (x_produce_glyphs): If a font for a component of
4064 a composition is not found, use 1 pixel dot ascent and 0 dot
4065 descent value to avoid displaying terribly tall empty boxes.
4066
5a13529b
KH
4067 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4068
d7935eb6
KR
40692000-12-03 Ken Raeburn <raeburn@gnu.org>
4070
4071 * coding.h (code_convert_string1): Declare.
4072
4073 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4074
52283633 4075 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4076
0dd5e255
JR
40772000-12-02 Jason Rumney <jasonr@gnu.org>
4078
4079 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4080 correctly for single byte character case.
4081 (w32_per_char_metric): Do not try to make any assumptions about
4082 the metrics of BDF fonts.
250cfece 4083 (x_estimate_mode_line_height): If `mode-line' face
52283633 4084 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4085 (note_mouse_highlight): Change the cursor shape on the vertical
4086 border between windows [not enabled].
4087
4088 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4089
4090 * w32fns.c (Fx_create_frame): Reintroduce the call to
4091 face-set-after-frame-defaults.
4092 (Vx_window_horizontal_drag_shape): New variable.
4093 (syms_of_xfns): DEFVAR_LISP it.
4094 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4095 enabled].
0dd5e255 4096
b5d8d2ca
GM
40972000-12-02 Simon Josefsson <simon@josefsson.org>
4098
4099 * fns.c (Fmd5): Use a different logic to decide the coding system
4100 to use.
4101
4102 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4103
fbb87147
EZ
41042000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4105
52283633 4106 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4107
447e9da0
GM
41082000-12-01 Gerd Moellmann <gerd@gnu.org>
4109
7708ced0
GM
4110 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4111 height for YNegative.
4112 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4113 height; also see comment there.
4114
447e9da0
GM
4115 * window.c (coordinates_in_window): Handle computations for
4116 positions on the vertical bar and fringes differently for
4117 window-system frames. Consider some pixels near the vertical bar
4118 as on the bar if the frame doesn't have vertical scroll bars.
4119 Associate positions between mode or header lines with the
4120 right window, the left one.
4121
86d1db20
JR
41222000-12-01 Jason Rumney <jasonr@gnu.org>
4123
4124 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4125
4126 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4127 invalid frame.
4128
a1d58e5b
GM
41292000-12-01 Gerd Moellmann <gerd@gnu.org>
4130
52283633 4131 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4132 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4133 (save_window_save, Fset_window_configuration): Save/restore
4134 window's orig_top and orig_height.
4135
89c609af
JR
41362000-12-01 Jason Rumney <jasonr@gnu.org>
4137
4d177746 4138 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4139
89c609af
JR
4140 * w32fns.c (x_set_cursor_color): Fix last change.
4141
eccc05db
GM
41422000-11-30 Gerd Moellmann <gerd@gnu.org>
4143
31b6671b
GM
4144 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4145 sure that the next redisplay displays the minibuffer, so that
4146 the cursor will be replaced with what the minibuffer wants.
4147
eccc05db
GM
4148 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4149 #ifndef instead of using #if.
4150 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4151 USE_TOOLKIT_SCROLL_BARS is defined.
4152
162de750
JR
41532000-11-30 Jason Rumney <jasonr@gnu.org>
4154
4155 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4156 x_display_cursor.
4157
693c4692
GM
41582000-11-30 Gerd Moellmann <gerd@gnu.org>
4159
4160 * fns.c (Fmd5): Doc fix.
4161
b5d8d2ca 41622000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4163
4164 * fns.c (Fmd5): New function.
4165 (syms_of_fns): Defsubr md5.
4166
4167 * Makefile.in (obj): Add md5.o
4168
b02cd40b
GM
41692000-11-30 Gerd Moellmann <gerd@gnu.org>
4170
edfb795e
GM
4171 * md5.h, md5.c: New files, taken from glibc.
4172
df3aedcf
GM
4173 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4174
b02cd40b 4175 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4176 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4177
8b5176cd
SM
41782000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4179
4180 * eval.c (Frun_hooks): Allow 0 arguments.
4181
346598f1
GM
41822000-11-29 Gerd Moellmann <gerd@gnu.org>
4183
f9396e03
GM
4184 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4185 is over the menu bar widget, say it's not on the frame.
4186
4a967a9b
GM
4187 * xfns.c (Fx_create_frame): Reintroduce the call to
4188 face-set-after-frame-defaults.
4189
346598f1
GM
4190 * eval.c (Fsignal): Reset handling_signal.
4191
222456a1
JR
41922000-11-28 Jason Rumney <jasonr@gnu.org>
4193
4194 * w32menu.c (add_menu_item): Reset menu item text when changing
4195 type to radio button.
4196
8049ddc0
GM
41972000-11-28 Gerd Moellmann <gerd@gnu.org>
4198
346598f1 4199 * xselect.c: Update copyright.
f4f4ee4d 4200
bebe4a2c
GM
4201 * window.c (coordinates_in_window): If on a mode or header line,
4202 but sufficiently close to its start, return ``on vertical
4203 border''. This gives us a way to drag windows horizontally when
4204 using toolkit scroll bars.
4205
4206 * xterm.c (note_mouse_highlight): Change the cursor shape
4207 on the vertical border between windows.
4208
4209 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4210
4211 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4212 (syms_of_xfns): DEFVAR_LISP it.
4213 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4214
8d2c2642
GM
4215 * textprop.c (text_read_only): New function.
4216 (verify_interval_modification): Use it instead of signaling
4217 `text-read-only'. This makes it easier to catch this error
52283633 4218 with a breakpoint.:
8d2c2642 4219
52283633 4220 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4221 not end of line, which includes CR.
4222
5a2bae6c
KH
42232000-11-28 Kenichi Handa <handa@etl.go.jp>
4224
4225 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4226 include no-conversion.
4227
ae31f84d
JR
42282000-11-27 Jason Rumney <jasonr@gnu.org>
4229
4230 * w32fns.c (w32_load_system_font): Always mark font as double byte
4231 if codepage is unicode.
4232
67f1cf4c
GM
42332000-11-27 Gerd Moellmann <gerd@gnu.org>
4234
4a74d071 4235 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4236 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4237
902ae620
GM
4238 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4239 `vertical-line', `mode-line' and `header-line' events.
4240
4241 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4242 of a character, a TAB for instance. This is easier than to set
4243 up the iterator exactly, and it's not a frequent case, so the
4244 additional effort wouldn't really pay off.
4245
c1e279c2
AC
42462000-11-26 Andrew Choi <akochoi@i-cable.com>
4247
67f1cf4c 4248 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4249 init_window_once.
4250
a609568a
JR
42512000-11-25 Jason Rumney <jasonr@gnu.org>
4252
52283633
SM
4253 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4254 Args to window_from_coordinates should be pixel coordinates.
48b21762 4255
a609568a
JR
4256 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4257 redisplay handles them properly.
4258
a658d039
MB
42592000-11-25 Miles Bader <miles@gnu.org>
4260
4261 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4262
d3416cca
JR
42632000-11-24 Jason Rumney <jasonr@gnu.org>
4264
4265 * w32.c (init_environment): Set LANG environment variable based on
4266 locale settings, if not set.
4267
4268 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4269 making tool bar smaller. When clearing the frame, also
4270 clear current matrices. Clear frame when tool bar disappears.
4271 Don't use more lines for the tool-bar than is available.
4272 (x_change_window_heights): New function.
4273
ba193890
GM
42742000-11-24 Gerd Moellmann <gerd@gnu.org>
4275
2be8f184
GM
4276 * xdisp.c (init_from_display_pos): If POS says we're already after
4277 an overlay string ending at POS, make sure to pop the iterator
4278 because it will be in front of that overlay string. When POS is
4279 ZV, we've thereby also ``processed'' overlay strings at ZV.
4280
ba193890
GM
4281 * xfaces.c (lface_from_face_name): Function comment fix.
4282
1862a24e
MB
42832000-11-24 Miles Bader <miles@gnu.org>
4284
4285 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4286 apply `mode-line-inverse-video' -- zero means force display using
4287 the default face, non-zero means display using the specialized face.
4288 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4289
f07fa1b8
KH
42902000-11-23 Kenichi Handa <handa@etl.go.jp>
4291
4292 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4293 hard coded `4'.
4294
2bcdf662
EZ
42952000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4296
4297 * coding.c (decode_coding_emacs_mule): Fix the case of
4298 CODING_EOL_LF, which used uninitialized value of c.
4299
ba8299ff
SM
43002000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4301
4302 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4303
f4117c4d
GM
43042000-11-22 Gerd Moellmann <gerd@gnu.org>
4305
03e757c1
GM
4306 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4307 buffer object.
4308
f4117c4d
GM
4309 * frame.h (struct frame): Replace desired_tool_bar_items,
4310 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4311 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4312
4313 * frame.c (make_frame): Change initialization of tool bar
4314 items accordingly.
4315
4316 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4317 Change references to members deleted from struct frame to use the
f4117c4d
GM
4318 new ones.
4319
4320 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4321 references to members deleted from struct frame to use the new ones.
f4117c4d 4322
52283633 4323 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4324
4325 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4326
4327 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4328 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4329 from struct frame to use the new ones.
4330
f8e2f3f2
MB
43312000-11-23 Miles Bader <miles@gnu.org>
4332
4333 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4334 the face's inverse-video attribute, rather than overriding it.
4335
60e8e0a5
GM
43362000-11-22 Gerd Moellmann <gerd@gnu.org>
4337
4338 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4339 making tool bar smaller.
4340
92dd1b29
DL
43412000-11-22 Dave Love <fx@gnu.org>
4342
4343 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4344
e672fdce
MB
43452000-11-22 Miles Bader <miles@gnu.org>
4346
3a17d6cc
MB
4347 * keyboard.c (Vminibuffer_message_timeout): New variable.
4348 (command_loop_1): Use it to determine message timeout.
4349 (syms_of_keyboard): Initialize it.
4350
60e8e0a5 4351 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4352
e9655d81
KH
43532000-11-22 Kenichi Handa <handa@etl.go.jp>
4354
4355 * sysdep.c: Move the code for declaring h_errno after #include
4356 <netdb.h>.
4357
77270fac
GM
43582000-11-21 Gerd Moellmann <gerd@gnu.org>
4359
cd913aae
GM
4360 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4361 the menu bar when the tooltip is unmapped.
4362
77270fac
GM
4363 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4364 sole visible buffer when we're currently in the mini-buffer, and
4365 give up if so.
52283633 4366
556635d6
JR
43672000-11-21 Jason Rumney <jasonr@gnu.org>
4368
4369 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4370 put on the clipboard.
4371 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4372 copy of what Emacs last put there. If they are the same, do not
52283633 4373 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4374
5b7bde64
MB
43752000-11-22 Miles Bader <miles@gnu.org>
4376
4377 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4378 (syms_of_minibuf): Initialize it.
4379 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4380 to prompt, don't make read-only.
4381
ff23e1dd
GM
43822000-11-21 Gerd Moellmann <gerd@gnu.org>
4383
52283633
SM
4384 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4385 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4386
7aaf4388
GM
4387 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4388
f5f47add 4389 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4390
ff23e1dd
GM
4391 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4392
37c35586
KH
43932000-11-21 Kenichi Handa <handa@etl.go.jp>
4394
4395 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4396 ... #endif scope.
4397
ff9ab414
GM
43982000-11-20 Gerd Moellmann <gerd@gnu.org>
4399
52283633 4400 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4401 screen supports it.
4402
29a01b72
GM
4403 * s/gnu-linux.h: Don't use `#cpu'.
4404
09dfdf85
GM
4405 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4406 not defined in mman.h.
4407
52283633 4408 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4409 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4410 and store an index in the XClientMessageEvent. Storing a
4411 Lisp_Object or pointer can fail on a 64 bit system, since X only
4412 transfers 32 bits.
52283633
SM
4413 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4414
81459ac9
DL
44152000-11-20 Dave Love <fx@gnu.org>
4416
4417 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4418
56c13ae6
GM
44192000-11-20 Gerd Moellmann <gerd@gnu.org>
4420
4421 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4422
495a6df3
KH
44232000-11-20 Kenichi Handa <handa@etl.go.jp>
4424
2bcf3714
KH
4425 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4426 by WIDTH.
4427
495a6df3
KH
4428 * alloc.c (make_string): Fix previous change. Be sure to make
4429 unibyte string correctly.
4430
6d950f4c
GM
44312000-11-19 Gerd Moellmann <gerd@gnu.org>
4432
39b39373
GM
4433 * window.c (Fwindow_list): Change parameter list to be XEmacs
4434 compatible.
4435 (window_list_1): New function.
4436 (window_loop): Use it instead of Fwindow_list.
4437
b95b34e5
GM
4438 * sysdep.c (emacs_ospeed): New variable.
4439 (toplevel): Don't declare ospeed extern.
4440 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4441
4442 * termcap.c (ospeed): Remove.
4443 (tputs) [!emacs]: Remove unused code.
4444 (tgetent): Avoid a compiler warning.
4445
e83dc917
GM
4446 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4447 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4448 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4449
4450 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4451 removed.
4452 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4453 Take the X display as additional argument.
4454 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4455 `Widget' is a pointer type that's not easily stored in Lisp_Object
4456 form in a portable way.
52283633 4457
6d950f4c
GM
4458 * dispnew.c (update_text_area): Fix last change.
4459
e47306e6
GM
44602000-11-18 Gerd Moellmann <gerd@gnu.org>
4461
fb3cd89b
GM
4462 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4463
4464 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4465 clear current matrices.
4466
edaa9aed
GM
4467 * buffer.c (mmap_enlarge): Don't print a message on stderr
4468 if mapping new memory at the end of the existing region fails.
4469
e47306e6
GM
4470 * dispnew.c (update_text_area): Don't skip over equal glyphs
4471 when the last current glyph overlaps the glyph to its right.
4472
509633e3
MB
44732000-11-18 Miles Bader <miles@gnu.org>
4474
4475 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4476 lines that *end* with "..." too (that's the most common case!).
4477
d392e9c5
GM
44782000-11-18 Gerd Moellmann <gerd@gnu.org>
4479
67988445
GM
4480 * xdisp.c (resize_mini_window): Temporarily change to the
4481 mini-window's buffer if necessary.
1bfdbe43 4482
d392e9c5
GM
4483 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4484 the tooltip obscures less text under it.
4485
44862000-11-17 Gerd Moellmann <gerd@gnu.org>
4487
4488 * puresize.h (BASE_PURESIZE): Increase to 700000.
4489
92bb977f
JR
44902000-11-18 Jason Rumney <jasonr@gnu.org>
4491
4492 * w32term.c (w32_draw_bitmap): Use face to set colors.
4493
26fbf20b
DL
44942000-11-17 Dave Love <fx@gnu.org>
4495
4496 * lread.c (Fload): Fix #ifdef for pcc.
4497
100b593b
GM
44982000-11-17 Gerd Moellmann <gerd@gnu.org>
4499
4500 * xdisp.c (pos_visible_p): Compute the default character height
4501 differently.
4502
a288d0d1
GM
45032000-11-16 Gerd Moellmann <gerd@gnu.org>
4504
cac94de6 4505 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4506 knowing the line's height; use the default font's height in that case.
cac94de6 4507
a288d0d1
GM
4508 * xfaces.c (weight_table): Add `demi' with the same meaning as
4509 `demibold'.
4510
981fb6f6
KH
45112000-11-16 Kenichi Handa <handa@etl.go.jp>
4512
2cca872d 4513 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4514 (clear_glyph_row): Delete local static variable null_row.
4515
e5fa381b
JR
45162000-11-15 Jason Rumney <jasonr@gnu.org>
4517
4518 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4519 (w32_alloc_lighter_color): Use new brightness calculations from
4520 xterm.c. Scale delta to be in the range expected by W32.
4521 (w32_draw_relief_rect): Use frame relief colors.
4522
8e42f043
GM
45232000-11-15 Gerd Moellmann <gerd@gnu.org>
4524
6d133d1f
GM
4525 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4526 (Qinhibit_default_face_x_resources): New variable.
4527 (syms_of_frame): Initialize it.
4528 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4529
4530 * xdisp.c (pos_visible_p): Improve function comment.
4531
4532 * lisp.h (BINDING_STACK_SIZE): New macro.
4533
8e42f043
GM
4534 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4535 reading the directory if readdir returns null and errno is EAGAIN
4536 or EINTR.
4537
e8c87124
SM
45382000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4539
4540 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4541 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4542 Set amount_to_scroll to max of dx and scroll_step so that
4543 scroll-conservatively doesn't defeat scroll-step>1.
4544 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4545 scroll-conservatively for line-at-a-time scrolling.
4546
5f0c971d
GM
45472000-11-14 Gerd Moellmann <gerd@gnu.org>
4548
4549 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4550 extra argument.
4551
4552 * xdisp.c (current_mode_line_height, current_header_line_height):
4553 New variables.
4554 (init_xdisp): Initialize them.
4555 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4556 and use exact mode line heights if it is set.
4557
4558 * lisp.h (pos_visible_p): Change prototype.
4559
4560 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4561 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4562 and current_header_line_height first.
52283633
SM
4563 (current_mode_line_height, current_header_line_height):
4564 Declare extern.
5f0c971d 4565
d7361edf
MB
45662000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4567
4568 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4569 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4570 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4571
ee5e440a
MB
45722000-11-14 Miles Bader <miles@gnu.org>
4573
4574 * xterm.c (x_alloc_lighter_color): Include an additive component
4575 too for dark colors, because FACTOR isn't enough.
4576 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4577 New macros.
4578
5ca020fc
GM
45792000-11-13 Gerd Moellmann <gerd@gnu.org>
4580
4581 * keyboard.c (show_help_echo): Call message3_nolog with number of
4582 bytes in the help string as 2nd parameter, instead of the number
4583 of characters.
4584
9d348294
MB
45852000-11-13 Miles Bader <miles@gnu.org>
4586
4587 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4588 (Fload): Use new openp return protocol.
4589 Don't try to use Vload_source_file_function to load .elc files.
4590 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4591 openp return protocol.
4592 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4593
1729bb9a
KH
45942000-11-11 Kenichi Handa <handa@etl.go.jp>
4595
4e677396
KH
4596 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4597
4598 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4599 Defined these macros.
4600 (NLIST_STRUCT): Avoid re-defining it.
4601
1729bb9a
KH
4602 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4603 -I/usr/contrib/X11R6/include.
4604 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4605
a82fe213
JR
46062000-11-10 Jason Rumney <jasonr@gnu.org>
4607
4608 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4609
4610 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4611 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4612
4613 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4614 (Qw32_charset_vietnamese): New symbol.
4615 (xlfd_charset_of_font): New function.
4616 (w32_load_system_font): Use it.
4617 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4618 when Vw32_charset_info_alist is nil to ensure default face always
4619 has font. Use Fcar and Fcdr for safety.
4620 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4621 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4622 pseudo-codepages for special cases.
4623 (w32_to_x_font): New parameter to allow charset portion to be
4624 specified where there is many to one mapping. Callers changed.
4625 (w32_list_fonts): Avoid listing fonts that won't display.
4626
52d89894
GM
46272000-11-10 Gerd Moellmann <gerd@gnu.org>
4628
4629 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4630 (font_list_1): Renamed from font_list.
4631 (font_list): New function, trying alternative registries from
4632 Vface_alternative_font_registry_alist.
4633 (Finternal_set_alternative_font_registry_alist): New function.
4634 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4635 Vface_alternative_font_registry_alist.
4636 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4637
651cd3da
KR
46382000-11-09 Ken Raeburn <raeburn@gnu.org>
4639
4640 * lisp.h (Flooking_at): Declare.
4641
388ac098
GM
46422000-11-09 Gerd Moellmann <gerd@gnu.org>
4643
778fbc46 4644 * dired.c (directory_files_internal): Fix a braino.
52283633 4645
388ac098
GM
4646 * dired.c (directory_files_internal): Add missing GCPRO's.
4647 Some cleanup.
4648
ecaedde1
GM
46492000-11-08 Gerd Moellmann <gerd@gnu.org>
4650
f7eb32aa
GM
4651 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4652 (resize_mini_window): Return quickly if Vresize_mini_window is
4653 nil. Don't return if Vmax_mini_window_height is nil.
4654
4655 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4656 (syms_of_xdisp): Initialize them.
4657 (resize_mini_window): Act according to the setting of
4658 Vresize_mini_window.
4659 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4660
ecaedde1
GM
4661 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4662 scroll bar widget after configuring it, so that it will appear at
4663 the right position from the start.
4664 (XTredeem_scroll_bar): Cleaned up.
4665
3747ef2c
KH
46662000-11-08 Kenichi Handa <handa@etl.go.jp>
4667
4668 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4669 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4670 division by two.
4671
4672 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4673
03391420
DL
46742000-11-07 Dave Love <fx@gnu.org>
4675
7758f1c1 4676 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4677
4678 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4679
b5de343d
GM
46802000-11-07 Gerd Moellmann <gerd@gnu.org>
4681
acad3c0b
GM
4682 * window.c (Fset_window_configuration): Don't try to preserve
4683 point in the current buffer, if that buffer is displayed in more
4684 than one window.
4685
b5de343d
GM
4686 * xfaces.c (lookup_named_face): If default face isn't realized,
4687 try to realize it. Return -1 if not successful.
4688 (Fx_list_fonts): Handle case that face cannot be determined.
4689 (Fface_font): Likewise.
4690
cdb1fe49
GM
46912000-11-06 Gerd Moellmann <gerd@gnu.org>
4692
4693 * window.c (displayed_window_lines): Detect partially
4694 visible lines at the bottom correctly.
4695
d3a67486
SM
46962000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4697
4698 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4699 when ensuring we don't do visit in indirect buffer.
4700
ff8dd5d5
KH
47012000-11-06 Kenichi Handa <handa@etl.go.jp>
4702
4703 * composite.h (compose_chars_in_text): Add prototype.
4704
4705 * composite.c (Vcomposition_function_table): New variable.
4706 (Qcomposition_function_table): New variable.
4707 (run_composition_function): Call
4708 Vcompose_chars_after_function with three arguments.
4709 (compose_chars_in_text): New function.
4710 (syms_of_composite): Modified the doc-string of
4711 Vcompose_chars_after_function. Declare composition-function-table
4712 as a lisp variable, and initialize it.
4713
4714 * xfns.c (x_encode_text): Suppress producing escape sequences for
4715 composition.
4716
4717 * xselect.c: Include composite.h.
4718 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
4719
d1145f85
AI
47202000-11-05 Andrew Innes <andrewi@gnu.org>
4721
4722 * w32term.c (x_produce_glyphs): Fix typo in enum name.
4723
4724 * sysdep.c (read_input_waiting): Remove extraneous argument to
4725 read_socket_hook.
4726
4727 * w32fns.c (Fx_server_version): Include w32_build_number in the
4728 return list.
4729
4730 * w32heap.c (w32_build_number): New variable.
4731 (cache_system_info): Set it.
4732
4733 * w32heap.h (w32_build_number): Add extern.
4734
4735 * emacs.c (syms_of_emacs): Update docstring for
4736 system-configuration, to reflect the actual usage on MS-Windows.
4737
e85ee976
GM
47382000-10-31 Gerd Moellmann <gerd@gnu.org>
4739
26dcb81b
GM
4740 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
4741 process idle timers while waiting for another event.
4742
52283633 4743 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
4744 the default face are colored.
4745
e85ee976
GM
4746 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
4747 window height hasn't changed.
4748
01b220b6
JR
47492000-10-31 Jason Rumney <jasonr@gnu.org>
4750
4751 * w32term.c (x_produce_glyphs): Handle composite characters.
4752 (x_draw_glyph_string_foreground)
4753 (x_draw_composite_glyph_string_foreground): Restore old font.
4754
4e6b7204
MB
47552000-10-31 Miles Bader <miles@lsi.nec.co.jp>
4756
4757 * minibuf.c (read_minibuf): Reset the undo history just before
4758 starting the recursive-edit.
4759
d4358b37
GM
47602000-10-30 Gerd Moellmann <gerd@gnu.org>
4761
563f68f1
GM
4762 * xfaces.c (menu_face_change_count): New variable.
4763 (Finternal_set_lisp_face_attribute): Increment it for changes
4764 of the `menu' face.
4765 (realize_basic_faces): Reflect changes in the `menu' faces
4766 in menu bars.
4767
82e274d1
GM
4768 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
4769 dy obtained from the iterator's y-position after moving from
4770 scroll_margin_pos to PT; see comment there.
52283633 4771
0dbf9fd2
GM
4772 * xdisp.c (safe_eval_handler): Call add_to_log.
4773
906b3b14
GM
4774 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
4775 is not a symbol or string.
4776
d4358b37
GM
4777 * xdisp.c (echo_area_display): Don't perform a display update from
4778 inside redisplay. The update will happen anyway at the end of
4779 redisplay, and it can confuse redisplay (GC messages while
4780 redisplaying, for instance.)
4781
70c825df
SM
47822000-10-30 Stefan Monnier <monnier@cs.yale.edu>
4783
cf9b4b0b
SM
4784 * xrdb.c (x_load_resources): Use the class name in the defaults.
4785
70c825df
SM
4786 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
4787 (regex_compile): Catch bogus \(\1\).
4788
a1d34b1e
GM
47892000-10-30 Gerd Moellmann <gerd@gnu.org>
4790
cae71efe
GM
4791 * xterm.c (x_alloc_nearest_color): Fix last change to compare
4792 RGB values.
52283633 4793
35efe0a1
GM
4794 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
4795 we have a color cache, check that the cached color equals the
4796 allocated color. If not, clear the color cache.
4797
1d3baf74
GM
4798 * window.c (displayed_window_lines): Change buffers if necessary.
4799 Fix computation of displayed lines.
4800
a1d34b1e
GM
4801 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
4802 update_menu_bindings to DEFVAR_BOOL.
4803
70737ea9
KH
48042000-10-30 Kenichi Handa <handa@etl.go.jp>
4805
70c825df 4806 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 4807
fa0cb51d
KH
4808 * puresize.h (BASE_PURESIZE): Increase to 680000.
4809
70737ea9
KH
4810 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
4811
0e4c08e8
JR
48122000-10-29 Jason Rumney <jasonr@gnu.org>
4813
4814 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
4815
4816 * w32term.c (w32_bdf_per_char_metric): Negate descent.
4817 (w32_cache_char_metrics): Handle possibility that 'x' does not
4818 exist in a BDF font.
4819 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
4820
4821 * w32bdf.h (bdffont): Add nchars.
4822
4823 * w32bdf.c (set_bdf_font_info): Set it.
4824 (w32_BDF_TextOut): Swap byte order of double byte characters.
4825 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
4826
45b84006
EZ
48272000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
4828
4829 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4830 don't override the colors in frame's param_alist, unless they are
4831 unspecified.
4832
4833 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4834 reverse the effect of the highlight flag.
4835
caf9deee
KR
48362000-10-27 Ken Raeburn <raeburn@gnu.org>
4837
4838 * window.h (Fwindow_live_p): Declare.
4839
ae0b9b46
KR
4840 * undo.c (record_delete): Check that last_undo_buffer is really a
4841 buffer before applying XBUFFER to it.
4842
4843 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4844 Faref.
4845
02067692
SM
48462000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4847
4848 * lisp.h (KEYMAPP): New macro.
4849 (get_keymap): Remove.
4850 (get_keymap_1): Rename get_keymap.
4851
4852 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4853
4854 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4855
4856 * xmenu.c (single_submenu): Use KEYMAPP.
4857 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4858 Use KEYMAPP rather than Fkeymapp.
4859
4860 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4861
4862 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4863 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4864 Use KEYMAPP rather than Fkeymapp.
4865 (single_submenu): Use KEYMAPP.
4866 (w32_menu_show, w32_dialog_show): Use TRUE.
4867
4868 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4869
4870 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4871 (Fkeymapp): Use KEYMAPP.
4872 (get_keymap): Rename from get_keymap_1. Remove old def.
4873 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4874 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4875 (Fminor_mode_key_binding): Don't raise an error if the binding
4876 is not a keymap.
4877 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4878 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4879
4880 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4881 Allow Vspecial_event_map to be autoloaded.
4882 (menu_bar_items): Fetch the keymap rather than using keymapp.
4883 (menu_bar_one_keymap): No need to follow func-indirect any more.
4884 (parse_menu_item): get_keymap_1 -> get_keymap.
4885 (tool_bar_items): Fetch the keymap rather than using keymapp.
4886 (read_key_sequence): Use KEYMAPP.
4887
4888 * intervals.c (get_local_map): Use get_keymap rather than following
4889 function-indirections explicitly.
4890
4891 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4892
f9d80af3
JR
48932000-10-27 Jason Rumney <jasonr@gnu.org>
4894
4895 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4896 point, as Windows has oversized fonts.
4897
4898 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4899
a3ba27da
GM
49002000-10-27 Gerd Moellmann <gerd@gnu.org>
4901
4902 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4903 (freehook, reallochook): Handle null pointer arguments.
4904 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4905
aa3b80cc
SM
49062000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4907
4908 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4909 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4910 Giving in to popular pressure to shut up the compiler with casts.
4911
e24e84cc
GM
49122000-10-27 Gerd Moellmann <gerd@gnu.org>
4913
4914 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4915 signed value, and use a default value computed from the font's
4916 maximum descent.
4917
05ea7ef2
MB
49182000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4919
4920 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4921 that specify a negative underline position can still use underlines.
4922
4923 * window.c (Fpos_visible_in_window_p): Make POS default to
4924 WINDOW's point, not the current buffer's point.
4925
0b95284b
DL
49262000-10-26 Dave Love <fx@gnu.org>
4927
4928 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4929 when it's necessary.
4930
6c5b90af
GM
49312000-10-26 Gerd Moellmann <gerd@gnu.org>
4932
8b6d9dc9
GM
4933 * window.c (size_window): Compute size difference from sum of old
4934 child window sizes instead of from parent's size.
4935
6bc92b2e
GM
4936 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4937 Handle obscured lines at the top of the window.
4938
4939 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4940 down after the last error condition check.
4941
6c5b90af
GM
4942 * frame.c (Fdelete_frame): Run delete-frame-hook.
4943
42f92d4d
KH
49442000-10-26 Kenichi Handa <handa@etl.go.jp>
4945
4946 * coding.c (decode_coding): Fix previous change (check also
4947 CODING_MODE_LAST_BLOCK).
4948
d97151cb
SM
49492000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4950
e7efc503
SM
4951 * regex.c: More `unsigned char' -> `re_char' changes.
4952 Also change several `int' into `re_wchar_t'.
4953 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4954 (PUSH_FAILURE_POINTER): Don't cast any more.
4955 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4956 We want GCC to complain, since this piece of code makes
4957 re_match non-reentrant, which *should* be fixed.
4958 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4959 (EXTEND_BUFFER): Use RETALLOC.
4960 (SET_LIST_BIT): Don't cast.
4961 (re_wchar_t): New type.
4962 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4963 that those two functions will always properly return.
4964 (IMMEDIATE_QUIT_CHECK): Cast to void.
4965 (analyse_first): Use recursion rather than an explicit stack.
4966 (re_compile_fastmap): Can't fail anymore.
4967 (re_search_2): Don't check re_compile_fastmap for failure.
4968 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4969 Now also sets the new value (passed in a new argument).
4970 (re_match_2_internal): Use it.
4971 Also, use a new var `reg' of type size_t when looping through regs
4972 rather than reuse the inappropriate `mcnt'.
4973
d97151cb
SM
4974 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4975 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4976 (where_is_internal): Renamed from Fwhere_is_internal.
4977 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4978 (Fwhere_is_internal): New function wrapping where_is_internal.
4979 (where_is_internal_1): Handle the case where we're filling the cache.
4980 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4981
d5789b65
MB
49822000-10-25 Miles Bader <miles@gnu.org>
4983
4984 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4985
4ecda532
GM
49862000-10-25 Gerd Moellmann <gerd@gnu.org>
4987
4988 * window.c (pos_fully_visible_p): Removed.
4989 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4990 if position is visible and/or fully visible.
4991
4992 * lisp.h (pos_visible_p): Add prototype.
4993
4994 * xdisp.c (pos_visible_p): New function.
4995
68c3a137
KH
49962000-10-25 Kenichi Handa <handa@etl.go.jp>
4997
4998 * process.c (send_process): If OBJECT is t, it means that the data
4999 is from C string, but we should encode it. Before calling
5000 setup_raw_text_coding_system, be sure to flush out data by the
5001 previous coding system.
5002
7ae1c032
MB
50032000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5004
ff4dcd4b
MB
5005 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5006 assignment of startpos to prev when startpos == pos.
5007
7ae1c032
MB
5008 * editfns.c (find_field): Set the field stickiness correctly from
5009 overlay fields. Use renamed `text_property_stickiness'.
5010 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5011 Only check text properties, not overlays.
7ae1c032
MB
5012 * textprop.c (get_char_property_and_overlay): New function.
5013 (Fget_char_property): Use it.
5014 * intervals.h (get_char_property_and_overlay): Add declaration.
5015
49801145
SM
50162000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5017
5018 * keymap.c: Use AREF, ASET and ASIZE macros.
5019 (Fmake_sparse_keymap): Docstring fix.
5020 (synkey): Remove.
5021 (shadow_lookup): Move up.
5022 Handle the case where lookup-key returns an integer.
5023 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5024 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5025 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5026 Simplify/rewrite the keymap-finding code.
5027 Add check for command shadowing, using shadow_lookup.
5028
39e776cd
SM
50292000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5030
5031 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5032 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5033 a symbol.
5034
2488aba5
AI
50352000-10-24 Andrew Innes <andrewi@gnu.org>
5036
5037 * dired.c (directory_files_internal_unwind): New function.
5038 (directory_files_internal): Use it to ensure closedir is called
5039 even if expand-file-name or file-attributes throw, eg. because of
5040 a user interrupt. Also enable immediate_quit while calling
5041 re_search, so that matching can be interrupted as well.
5042
b94fdf61
AI
50432000-10-24 Andrew Innes <andrewi@gnu.org>
5044
5045 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5046 NT-Emacs only.
5047 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5048 so that re_search functions only quit when callers expect them to.
5049
50502000-10-24 Kenichi Handa <handa@etl.go.jp>
5051
5052 * regex.c (regex_compile): Change the way of handling a range from
5053 a char less than 256 to a char not less than 256.
5054
1946f901
GM
50552000-10-24 Gerd Moellmann <gerd@gnu.org>
5056
7ae2f10f
GM
5057 * window.c (size_window): Prevent setting window's width or
5058 height to a negative value (esp. with XSETFASTINT).
5059
5dcab13e
GM
5060 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5061 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5062 (protect_malloc_state) [GC_MALLOC_CHECK &&
5063 GC_PROTECT_MALLOC_STATE]: New function.
5064 (PROTECT_MALLOC_STATE): New macro.
5065 (__malloc_initialize, morecore, _malloc_internal)
5066 (_free_internal) _realloc_internal): Use it to make _heapinfo
5067 read-only outside of gmalloc.
5068
63e1b552
GM
5069 * keymap.c: Update copyright.
5070
1946f901
GM
5071 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5072 a symbol.
5073
4fa09beb
GM
50742000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5075
5076 * filelock.c (unlock_all_files): Use unlock_file to expand each
5077 buffer's file_truename before trying remove its lock file.
5078
23afac01
EZ
50792000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5080
5081 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5082 or CRLF, decode EOLs.
5083
04448b95
KH
50842000-10-24 Kenichi Handa <handa@etl.go.jp>
5085
5086 * window.c (Fdisplay_buffer): Fix doc.
5087
3090a5a5
JR
50882000-10-23 Jason Rumney <jasonr@gnu.org>
5089
5090 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5091 ASCII font of default fontset on Windows.
5092
5093 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5094 xterm.c comment below).
5095
5096 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5097
a83fee2c
GM
50982000-10-23 Gerd Moellmann <gerd@gnu.org>
5099
5100 * xterm.c (x_connection_closed): Reset handling_signal.
5101
52283633 5102 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5103
6ffdb539
MB
51042000-10-23 Miles Bader <miles@gnu.org>
5105
5106 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5107 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5108 maintain old behavior.
5109 * minibuf.c (Fminibuffer_complete): Likewise.
5110
7f1c969b
MB
51112000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5112
5113 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5114 that when a font can't be exactly centered, it errs up rather than
5115 down.
5116
23afac01 51172000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5118
52283633 5119 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5120
1a578e9b
AC
51212000-10-23 Andrew Choi <akochoi@i-cable.com>
5122
5123 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5124
5125 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5126 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5127
5128 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5129 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5130 syms_of_search, x_term_init, and init_keyboard before calling
5131 init_window_once. Also, call syms_of_xmenu.
5132
5133 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5134 default fontset to Monaco.
5135
5136 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5137 NewMacWindow and DisposeMacWindow.
5138 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5139 instead of calling NewMacWindow and setting fields of
5140 f->output_data.mac directly. Call init_frame_faces.
5141 (Fdelete_frame) [macintosh]: Remove unused code.
5142 (Fmodify_frame_parameters) [macintosh]: Call
5143 x_set_frame_parameters instead of mac_set_frame_parameters.
5144
5145 * frame.h [macintosh]: Define menu_bar_lines field in struct
5146 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5147
5148 * keyboard.c [macintosh]: Include macterm.h.
5149 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5150 and menu_bar_activate_event type events as for X and NT.
5151 (make_lispy_event) [macintosh]: Construct lisp events of type
5152 MENU_BAR_EVENT as for X and NT.
5153
5154 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5155 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5156 (sys_subshell) [macintosh]: Remove definition entirely.
5157 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5158 Vwindow_system_version here. Remove initialization of
5159 Vx_bitmap_file_path.
5160 (read_input_waiting): Correct the number of parameters passed to
5161 read_socket_hook.
5162 Move all Macintosh functions to mac/mac.c.
5163
5164 * term.c [macintosh]: Include macterm.h.
5165
5166 * window.c [macintosh]: Include macterm.h.
5167
5168 * xdisp.c [macintosh]: Include macterm.h. Declare
5169 set_frame_menubar and pending_menu_activation.
5170 (echo_area_display) [macintosh]: Do not return if terminal frame
5171 is the selected frame.
5172 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5173 Allow only the selected frame to set menu bar.
5174 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5175 calling FRAME_EXTERNAL_MENU_BAR (f).
5176 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5177
5178 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5179 and check_x. Declare XCreateGC. Define x_create_gc and
5180 x_free_gc. Initialize font_sort_order.
5181 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5182 but call x_list_fonts instead of w32_list_fonts.
5183 (Finternal_face_x_get_resource) [macintosh]: Do not call
5184 display_x_get_resource.
5185 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5186 (realize_x_face) [macintosh]: Load the font if it is specified in
5187 ATTRS.
52283633 5188 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5189
1ffbabe3
SM
51902000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5191
5192 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5193 is nil: since we go to the end of submap anyway, we'd end up
5194 setting nil to nil.
5195 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5196 doesn't obey autoload.
5197
bed43f1d
EZ
51982000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5199
1ffbabe3 5200 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5201
ea4233a7
JR
52022000-10-21 Jason Rumney <jasonr@gnu.org>
5203
5204 * w32term.c (w32_cache_char_metrics): Double check that font is
5205 really fixed pitch before trusting tmPitchAndFamily.
5206
f3d3c491
AI
52072000-10-21 Andrew Innes <andrewi@gnu.org>
5208
5209 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5210
5211 * w32term.h: Extern decl for w32_cache_char_metrics.
5212
5213 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5214
5215 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5216 (w32_unload_font): Free per_char array if present.
5217
5218 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5219 cached information in emulated XFontStruct to handle common cases
5220 quickly. Do not allocate XCharStruct for return.
5221 (w32_native_per_char_metric): New function.
5222 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5223 allocating one.
5224 (x_produce_glyphs): Don't get an HDC. Change calls to
5225 w32_per_char_metric to match arg change above. Remove calls to
5226 free results.
5227 (w32_get_glyph_overhangs): Ditto.
5228 (w32_cache_char_metrics): New function.
5229
5230 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5231 ($(BLD)/casefiddle.$(O)): Remove compile command.
5232 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5233 ($(BLD)/dispnew.obj):
5234 ($(BLD)/keyboard.obj):
5235 ($(BLD)/w32inevt.obj):
5236 ($(BLD)/w32bdf.obj):
5237 ($(BLD)/alloc.obj):
5238 ($(BLD)/buffer.obj):
5239 ($(BLD)/editfns.obj):
5240 ($(BLD)/emacs.obj):
5241 ($(BLD)/fileio.obj):
5242 ($(BLD)/fns.obj):
5243 ($(BLD)/indent.obj):
5244 ($(BLD)/insdel.obj):
5245 ($(BLD)/intervals.obj):
5246 ($(BLD)/minibuf.obj):
5247 ($(BLD)/print.obj):
5248 ($(BLD)/scroll.obj):
5249 ($(BLD)/sysdep.obj):
5250 ($(BLD)/textprop.obj):
5251 ($(BLD)/widget.obj):
f3d3c491
AI
5252 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5253 ($(BLD)/term.obj): Add dependency on dispextern.h.
5254
52283633
SM
5255 * makefile.nt ($(BLD)\dispnew.obj):
5256 ($(BLD)\keyboard.obj):
5257 ($(BLD)\w32inevt.obj):
5258 ($(BLD)\w32bdf.obj):
5259 ($(BLD)\alloc.obj):
5260 ($(BLD)\buffer.obj):
5261 ($(BLD)\editfns.obj):
5262 ($(BLD)\emacs.obj):
5263 ($(BLD)\fileio.obj):
5264 ($(BLD)\fns.obj):
5265 ($(BLD)\indent.obj):
5266 ($(BLD)\insdel.obj):
5267 ($(BLD)\intervals.obj):
5268 ($(BLD)\minibuf.obj):
5269 ($(BLD)\print.obj):
5270 ($(BLD)\scroll.obj):
5271 ($(BLD)\sysdep.obj):
5272 ($(BLD)\textprop.obj):
5273 ($(BLD)\widget.obj):
f3d3c491
AI
5274 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5275 ($(BLD)\term.obj): Add dependency on dispextern.h
5276
18ad4821
EZ
52772000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5278
5279 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5280 with an additional argument of Qt.
5281
de54681a
MB
52822000-10-21 Miles Bader <miles@gnu.org>
5283
5284 * window.c (pos_fully_visible_in_window_p): New function.
5285 (Fpos_visible_in_window_p): Add FULLY argument.
5286 Use pos_fully_visible_in_window_p.
5287 (window_scroll_pixel_based, window_scroll_line_based): Update
5288 calls to Fpos_visible_in_window_p.
5289 * lisp.h (Fpos_visible_in_window_p): Update prototype
5290
13c844fb
GM
52912000-10-20 Gerd Moellmann <gerd@gnu.org>
5292
5293 * alloc.c (toplevel): Conditionalize compilation of mem_*
5294 functions differently.
52283633 5295
d9506268
JR
52962000-10-20 Jason Rumney <jasonr@gnu.org>
5297
5298 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5299 mem_init where it used to be. mem_z etc not defined otherwise.
5300
8094989b
GM
53012000-10-20 Gerd Moellmann <gerd@gnu.org>
5302
5303 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5304 GC_MALLOC_CHECK.
5305 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5306 structure definition and related variabled to the top of the file.
5307 Include this code when GC_MALLOC_CHECK is defined.
5308 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5309 register/unregister allocated region.
5310 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5311 which isn't allocated.
5312 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5313 something which is already in use.
5314 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5315 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5316 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5317 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5318
5319 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5320 _malloc_internal instead of malloc.
5321 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5322 of free.
5323
ea456eb4
AI
53242000-10-20 Andrew Innes <andrewi@gnu.org>
5325
5326 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5327 Windows.
5328 (my_strftime) <macro>: Don't use macro arg list when redefining as
5329 _strftime_copytm.
5330 (my_strftime) <function>: Supply 0 as ut argument.
5331
e64c3a75
JR
53322000-10-19 Jason Rumney <jasonr@altavista.net>
5333
5334 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5335 including dispextern.h, as it stops faces from working.
5336
5337 * w32fns.c (Fx_create_frame): Don't bother calling
5338 face-set-after-frame-default since the caller does it for us
5339 anyway. Clean up calls to x_get_arg to be consistent with X.
5340
5341 * w32term.c (x_produce_glyphs): Handle
5342 unibyte_display_via_language_environment correctly.
5343 (w32_draw_box_rect): Fix the calculation of width and height.
5344
5345 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5346 as it has stopped working.
5347 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5348 menu-bar.
5349
17401c97
GM
53502000-10-19 Gerd Moellmann <gerd@gnu.org>
5351
5352 * eval.c (skip_debugger): Prevent a compiler warning.
5353 (Fcondition_case): Likewise.
5354 (Fbacktrace_frame): Use a null interactive spec.
5355
773272d8
KH
53562000-10-19 Kenichi Handa <handa@etl.go.jp>
5357
5358 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5359
a42943e9
GM
53602000-10-18 Gerd Moellmann <gerd@gnu.org>
5361
e50517d9
GM
5362 * strftime.c: Sync with glibc, file version 1.78.
5363 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5364 should no longer be used according to ISO 8601.
5365
9035a35a
GM
5366 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5367 no map for meta_prefix_char, don't try to use it as a keymap.
5368 Instead, if T_OK is non-zero, look up a default binding, if any,
5369 otherwise, if T_OK is zero, return nil.
5370
a42943e9
GM
5371 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5372 (x_to_xcolors, png_load): Use x_query_color.
5373
52283633
SM
5374 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5375 New functions.
a42943e9
GM
5376 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5377 which can be slow.
5378 (x_copy_color, x_alloc_lighter_color): Likewise.
5379
5380 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5381 (x_query_color, x_query_colors): Add prototype.
5382
5383 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5384 check_string_bytes only if not noninteractive, increase count to 50.
5385
00de2987
MB
53862000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5387
5388 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5389 markers correctly.
5390
54918e2b
GM
53912000-10-17 Gerd Moellmann <gerd@gnu.org>
5392
1f0b3fd2
GM
5393 * alloc.c (pure_bytes_used): Renamed from pureptr.
5394 (ALIGN): New macro.
5395 (pure_alloc): New function.
5396 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5397 Use it.
5398 (Fpurecopy): Use PURE_POINTER_P.
5399
68c5d1db
GM
5400 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5401 PT has moved backward.
52283633 5402
9a038881
GM
5403 * xdisp.c (cursor_row_p): Take continued lines into account.
5404
361b097f
GM
5405 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5406 string's size_byte.
5407 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5408 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5409 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5410 string allocated.
5411
54918e2b
GM
5412 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5413 of selective display off while searching for the next line start.
5414
03ed0806
KH
54152000-10-17 Kenichi Handa <handa@etl.go.jp>
5416
5417 * Makefile.in (term.o): Depend on dispextern.h.
5418
7e05cdaf
SM
54192000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5420
5421 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5422
a6801fd1
GM
54232000-10-16 Gerd Moellmann <gerd@gnu.org>
5424
483de32b
GM
5425 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5426 the iterator at the beginning, so that they can be set later on,
5427 for instance in reseat_at_next_visible_line_start, without being
5428 overwritten.
5429
a6801fd1
GM
5430 * xfns.c (pbm_format): Add :foreground and :background keywords.
5431 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5432 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5433
dbf1fcc1
EZ
54342000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5435
5436 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5437
52283633 5438 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5439
5440 * msdos.c (IT_set_face): Compare highlighted face with the default
5441 face, and invert colors if these faces' colors are identical.
5442 (Fmsdos_remember_default_colors): Don't swap foreground and
5443 background colors in initial_colors[].
5444 (IT_set_frame_parameters): Don't swap frame's foreground and
5445 background pixels. If ALIST includes "(reverse . t)", swap
5446 foreground-color and background-color properties in frame's
5447 param_alist. If the original frame's param_alist doesn't specify
5448 the colors, store unspecified-fg and unspecified-bg, reversed if
5449 required.
5450
5451 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5452 the colors are unspecified and reversed, reverse fore- and back-
5453 ground in the returned value.
5454 (Fframe_parameter): Ditto.
5455
b41fe2c3 54562000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5457
3a6b59d9
GM
5458 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5459 get_last_unchanged_at_beg_row.
5460 (find_first_unchanged_at_end_row): Renamed from
5461 get_first_unchanged_at_end_row.
5462 (find_first_unchanged_at_end_row): Convert assertions to
5463 unconditional tests which abort. When looking for a row in
5464 unchanged text, don't go further back than first_text_row.
5465
b41fe2c3
GM
5466 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5467 Don't add in the last line's height when deciding if the new
5468 position is below the scroll margin.
9d1af64f 5469
b41fe2c3 54702000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5471
5472 * editfns.c (Fconstrain_to_field): Check carefully for field
5473 boundaries if either OLD_POS or NEW_POS has a non-nil field
5474 property, even if they're the same.
5475
c412cb7b
KH
54762000-10-16 Kenichi Handa <handa@etl.go.jp>
5477
5478 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5479 height for XFillRectangle.
5480
5586f3eb
SM
54812000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5482
5483 * syntax.c (Fstring_to_syntax): New function extracted from
5484 Fmodify_syntax_entry.
5485 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5486 (skip_chars, Fforward_comment): Remove unused variables.
5487 (syms_of_syntax): Add defsubr for string-to-syntax.
5488 (describe_syntax): Add code for comment and string fences.
5489
db785038
SM
54902000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5491
5492 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5493 Do the meta->esc mapping. Call get_keyelt before returning.
5494 Start scanning from the second element (the first is always `keymap')
5495 to make it easier to detect when we reach a parent map.
5496 Handle the case of inheriting from a symbol whose function is a map.
5497 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5498 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5499 (get_keyelt, Flookup_key): Update call to access_keymap.
5500 Remove the meta->esc mappings.
5501 (define_as_prefix): Delete old disabled code.
5502 (menu_item_p): New function.
5503 (where_is_internal_1): Skip over the few remaining menu items.
5504 * lisp.h (access_keymap): Update prototype.
5505 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5506 Update call to access_keymap.
5507 (follow_key, read_key_sequence): Update calls to access_keymap.
5508 Remove the meta->esc mappings.
5509
cafafe0b
GM
55102000-10-13 Gerd Moellmann <gerd@gnu.org>
5511
a2e2a7f6
GM
5512 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5513 with additional argument.
5514
cafafe0b
GM
5515 * xdisp.c (cursor_row_p): New function.
5516 (try_cursor_movement, display_line): Use it.
52283633 5517
cafafe0b
GM
5518 * xdisp.c (append_space): Also save/restore iterator's current
5519 character and its length.
5520
5521 * xdisp.c (init_from_display_pos): Add an assertion.
5522 (handle_stop): Don't set iterator's add_overlay_start.
5523 (handle_invisible_prop): Likewise.
5524 (load_overlay_strings): If text under an overlay is invisible,
5525 take both before- and after-strings into account when the iterator
5526 is positioned either at the start or at the end of the overlay.
5527 (forward_to_next_line_start): Rewritten.
5528 (reseat_at_next_visible_line_start): Rewritten.
5529 (set_iterator_to_next): Add parameter RESEAT_P.
5530
5531 * dispextern.h (struct it): Remove member add_overlay_start.
5532 (set_iterator_to_next): Change prototype.
5533
c744452b
KH
55342000-10-13 Kenichi Handa <handa@etl.go.jp>
5535
5536 * coding.c (code_convert_region): Be sure to initialize
5537 coding->category_idx.
e4a3f4e1
KH
5538 (decode_coding_string): Set coding->src_multibyte and
5539 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5540 (encode_coding_string): Set coding->src_multibyte and
5541 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5542
321fd26f
SM
55432000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5544
5545 * xfns.c (Fx_create_frame): Don't bother calling
5546 face-set-after-frame-default since the caller does it for us anyway.
5547
76832439
EZ
55482000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5549
5550 * window.c (coordinates_in_window): Fix detection of vertical line
5551 on character terminals.
5552
2483cf58
GM
55532000-10-12 Gerd Moellmann <gerd@gnu.org>
5554
5555 * editfns.c (save_excursion_save): Additionally record the
5556 selected window.
5557 (save_excursion_restore): If buffer was visible in a window, and a
5558 different window was selected, and the old selected window is
5559 still live, restore point in that window.
5560
eb991b25
KH
55612000-10-12 Kenichi Handa <handa@etl.go.jp>
5562
8a0eba09
KH
5563 * xterm.c (x_produce_glyphs): Handle
5564 unibyte_display_via_language_environment correctly.
5565
20401fcc
KH
5566 * regex.c (regex_compile): Change the way of handling a range from
5567 unibyte char to multibyte char.
5568
5569 * syntax.c (skip_chars): Change the way of handling a range from
5570 unibyte char to multibyte char.
5571
eb991b25
KH
5572 * process.c (read_process_output): Cancel previous change.
5573
365dd325
EZ
55742000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5575
c1b096cb
EZ
5576 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5577
365dd325
EZ
5578 * charset.c (Ffind_charset_string): Doc fix.
5579 (Ffind_charset_region): Doc fix.
5580
eb483c2b
KH
55812000-10-11 Kenichi Handa <handa@mule.m17n.org>
5582
5583 * process.c (read_process_output): Fix previous change. Adjust
5584 multibyteness of text to insert in a buffer by
52283633 5585 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5586
b40bfb99
AS
55872000-10-10 Andreas Schwab <schwab@suse.de>
5588
5589 * alloc.c (mark_object): Remove all workarounds installed on
5590 1993-08-08.
5591
caff31d4
KH
55922000-10-10 Kenichi Handa <handa@etl.go.jp>
5593
52283633 5594 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5595 (base64_encode_1): Make it work for a text of multibyte form.
5596 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5597 case. Don't call str_to_multibyte because base64_decode_1
5598 produces correct multibyte form for eight-bit codes.
52283633 5599 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5600 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5601 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5602 codes.
5603
5604 * charset.h (CHAR_STRING): Optimized for single byte characters.
5605
cba026ef
AS
56062000-10-09 Andreas Schwab <schwab@suse.de>
5607
5608 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5609 -1 after socket is closed, to fall through to error processing.
5610
1e21fe48
EZ
56112000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5612
5613 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5614 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5615 background-color, change also the colors of the default face for
5616 this frame.
5617
a640322e
EZ
56182000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5619
5620 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5621 them extern (they are defined on xfaces.c).
5622 (syms_of_msdos): Don't intern and don't staticpro
5623 Qbackground_color and Qforeground_color.
5624
a115794c
EZ
56252000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5626
5627 * frame.c (Fframe_parameter): For non-windowed frames, if
5628 f->param_alist says foreground or background color is unspecified,
5629 call tty_color_name to return the color name computed from the
5630 frame's current colors.
5631
f5533b63
DL
56322000-10-06 Dave Love <fx@gnu.org>
5633
5634 * terminfo.c (ospeed): Don't declare.
5635
5636 * sysdep.c: Don't include string.h.
5637 (h_errno): Declare conditional also on TRY_AGAIN.
5638
5639 * charset.c (Ffind_charset_string): Doc fix.
5640
52283633 5641 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5642 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5643 error messages.
5644
2b06561a
DL
56452000-10-05 Dave Love <fx@gnu.org>
5646
5647 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5648 position like menu-bar.
5649
ca839c85
GM
56502000-10-05 Gerd Moellmann <gerd@gnu.org>
5651
5652 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5653
5654 * xdisp.c (handle_single_display_prop): Use safe_call1.
5655 (safe_call): Renamed from call_function.
5656 (safe_call1): New function.
5657 (handle_fontified_prop): Use safe_call1 instead of call1.
5658 (safe_eval): Renamed from eval_form.
5659 (safe_eval_handler): Renamed from eval_handler.
5660 (handle_single_display_prop, display_mode_element): Use safe_eval
5661 instead of eval_form.
5662
5663 * xfaces.c (merge_face_heights): Use safe_call instead of
5664 call_function.
5665
5666 * keyboard.c (show_help_echo): Use safe_call instead of
5667 call_function; use safe_eval instead of eval_form.
5668
5669 * lisp.h (safe_call): Renamed from call_function.
5670 (safe_eval): Renamed from eval_form.
5671 (safe_call1): Add prototype.
5672
a3489ece
MB
56732000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5674
5675 * xfns.c (image_ascent): Rearrange ascent calculation for the
5676 has-a-font case.
5677
35810b6f
SM
56782000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5679
5680 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5681 (where_is_internal_1): Don't bother ignoring menu-items any more.
5682
3dc78168
GM
56832000-10-04 Gerd Moellmann <gerd@gnu.org>
5684
5685 * keyboard.c (update_menu_bindings): New variable.
5686 (parse_menu_item): Use AREF. If update_menu_bindings
5687 is 0, don't update menu bindings.
5688 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5689
1efc2bb9
EZ
56902000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5691
5692 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5693 to `mark_object'.
5694
3f679f55
SM
56952000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5696
5697 * syntax.c (forw_comment): Match nestedness of ender/starter.
5698 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5699 (prev_char_comstart_first): Remove.
5700 (back_comment): Check two-char comment markers more carefully
5701 to better handle overlapping cases like *//* or /* */* */ ...
5702 Match nestedness of ender/starter.
5703
2021ab61
DL
57042000-10-02 Dave Love <fx@gnu.org>
5705
5706 * config.in (HAVE_GAI_STRERROR): Add undef.
5707
5708 * process.c (Fopen_network_stream): Use it.
5709
5710 * m/alpha.h (NO_REMAP): Don't define.
5711
64e6cc18
GM
57122000-10-02 Gerd Moellmann <gerd@gnu.org>
5713
5714 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
5715 return with a string converted to an integer or vice versa when
5716 Vmocklisp_arguments is t.
5717 (Fsignal): Likewise. The function can return for `quit'.
5718 (struct gcpro): Declare member `var' to point to a volatile
5719 Lisp_Object.
5720
5721 * eval.c (error): Prevent compiler warning.
5722
b1904cd9
SM
57232000-09-30 Stefan Monnier <monnier@cs.yale.edu>
5724
5725 * keymap.c (keymap_memberp): New function.
5726 (Fset_keymap_parent): Use it.
5727 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
5728 Use keymap_memberp to avoid creating cycles.
5729 (access_keymap): Use KEYMAPP.
5730
71c9ec51
GM
57312000-09-30 Gerd Moellmann <gerd@gnu.org>
5732
5733 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
5734 gai_strerror. Make sure xerrno is set if connect fails. Improve
5735 error recovery.
71c9ec51 5736
c70c6b58
JR
57372000-09-29 Jason Rumney <jasonr@gnu.org>
5738
5739 * w32term.c (w32_char_font_type, w32_encode_char)
5740 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
5741 (w32_bdf_per_char_metric): New function.
5742 (w32_per_char_metric): Use it.
5743 (x_draw_glyph_string_background): Always draw background for BDF
5744 glyphs.
5745
5746 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
5747 GDI object which is a scarce resource.
5748
5749 * w32bdf.c (search_file_line): Fix skipping of whitespace.
5750 (get_quoted_string): Fix limit on memchr search.
5751 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
5752 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
5753 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
5754 (get_cached_font_char, cache_char_offset): Use macro
5755 BDF_CODEPOINT_RANGE_COVER_P.
5756 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
5757 (clear_cached_bitmap_slots): New function.
5758 (GET_HEX_VALUE): G-Z, g-z are not hex.
5759 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
5760 (get_bitmap_with_cache): Use new cache implementation.
5761 (create_offscreen_bitmap): New function.
5762 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
5763
5764 * w32term.c (x_produce_glyphs): If the distance from the current
5765 position to the next tab stop is less than a canonical character
5766 width, use the tab stop after that.
5767 (x_draw_glyphs): Handle case START and END are out of bounds more
5768 carefully.
5769 (x_clear_mouse_face): Block/unblock input.
5770 (x_display_and_set_cursor): Don't show a hollow box cursor for
5771 buffers whose cursor_type is nil.
5772
fe01239f
GM
57732000-09-29 Gerd Moellmann <gerd@gnu.org>
5774
52283633 5775 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
5776
5777 * dispextern.h (updating_frame): Declare extern.
5778
e7c52f1f
AS
57792000-09-29 Andreas Schwab <schwab@suse.de>
5780
5781 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
5782
de6e1f7c
GM
57832000-09-29 Gerd Moellmann <gerd@gnu.org>
5784
25126faa
GM
5785 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
5786 use its function definition.
5787 (tool_bar_items): Likewise.
5788
de6e1f7c 5789 * lisp.h (fatal): Declare NO_RETURN.
52283633 5790
454ee39b
KH
57912000-09-29 Kenichi Handa <handa@etl.go.jp>
5792
5793 * keymap.c: Remove the line "#undef NULL".
5794
96301c5f
GM
57952000-09-28 Gerd Moellmann <gerd@gnu.org>
5796
52283633 5797 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 5798
efffeeb4
DL
57992000-09-28 Dave Love <fx@gnu.org>
5800
ecb8b666
DL
5801 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
5802
dc3cd20f
DL
5803 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
5804
5805 * .gdbinit (xreload): Note its need on GNU/Linux.
5806
efffeeb4
DL
5807 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
5808 r_alloc, r_alloc_free.
5809
8610d903
KH
58102000-09-28 Kenichi Handa <handa@etl.go.jp>
5811
5812 * syntax.c (skip_chars): Handle negation correctly.
5813
8901d1ac
GM
58142000-09-27 Gerd Moellmann <gerd@gnu.org>
5815
6f22f1ad
GM
5816 * xfaces.c (realize_default_face): Call set_lface_from_font_name
5817 with non-zero FORCE_P argument.
5818
52283633 5819 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
5820 Add assertions.
5821
5822 * xdisp.c (window_box_height): Add an assertion.
5823
5824 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
5825 tool-bar than is available.
5826 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
5827
36f1966f
DL
58282000-09-27 Dave Love <fx@gnu.org>
5829
efffeeb4 5830 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5831
31d929e5
GM
58322000-09-26 Gerd Moellmann <gerd@gnu.org>
5833
c98863bf
GM
5834 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5835 instead of BITS_PER_INT.
5836 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5837 EMACS_UINT, respectively.
5838 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5839
5840 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5841
5842 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5843
77072ab1
GM
5844 * window.c (freeze_window_starts): Construct last argument for
5845 foreach_window differently.
5846
5847 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5848
5849 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5850 EMACS_UINT instead of `int' and `unsigned int'.
5851 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5852
5853 * frame.h (struct frame): Make the `nothing' member of union
5854 output_data an EMACS_INT.
5855
52283633 5856 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5857 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5858 size in the sdata structure.
5859 (SDATA_NBYTES, SDATA_DATA): New macros.
5860 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5861 differently for the different layout of the sdata structure.
5862 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5863 in sdata.
5864 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5865 Check that size recorded in the string size and size recorded in
5866 the sdata structure agree.
5867
3e60b029
DL
58682000-09-25 Dave Love <fx@gnu.org>
5869
5870 * buffer.c: Include stdio.h.
5871
5872 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5873
3e60b029
DL
5874 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5875
5876 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5877 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5878 (__malloc_extra_blocks): Declare as __malloc_size_t.
5879
8ff16b4e
GM
58802000-09-25 Gerd Moellmann <gerd@gnu.org>
5881
755a2ccd
GM
5882 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5883
d8b4516f
GM
5884 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5885 (read_char): If help-echo is showing, preserve the echo area
5886 when redisplaying.
5887
5888 * xdisp.c (help_echo_showing_p): New variable.
5889 (set_message): Reset it to 0.
5890 (init_xdisp): Initialize help_echo_showing_p.
5891
5892 * dispextern.h (help_echo_showing_p): Declare extern.
5893
5894 * config.in: Fix typo in __GNUC_MINOR__.
5895
5896 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5897
b11af2dd
GM
5898 * s/freebsd.h (POSIX_SIGNALS): Define.
5899
8ff16b4e
GM
5900 * xterm.c (x_clear_mouse_face): Block/unblock input.
5901
844eb643
DL
59022000-09-24 Dave Love <fx@gnu.org>
5903
5904 * fns.c (base64_encode_1): Fix last change.
5905
b30ab1b3
GM
59062000-09-22 Gerd Moellmann <gerd@gnu.org>
5907
5908 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5909
5910 * xdisp.c (try_window_reusing_current_matrix): More fixes
5911 for the case window has a header-line.
5912
c6cbe5f0
DL
59132000-09-22 Dave Love <fx@gnu.org>
5914
4c7c1f3f
DL
5915 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5916 a doc string.
5917
5918 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5919
c6cbe5f0
DL
5920 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5921
550a625e
GM
59222000-09-21 Gerd Moellmann <gerd@gnu.org>
5923
4c7c1f3f 5924 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5925 for GCC >= 2.5.
5926
52283633
SM
5927 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5928 Declare NO_RETURN.
fca99116 5929
80d26f99
GM
5930 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5931 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5932 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5933 warnings.
52283633 5934
80d26f99
GM
5935 * marker.c (byte_char_debug_check): Return void.
5936
623a0aae
GM
5937 * xfns.c (Fx_create_frame): Set default frame parameter value
5938 for tool-bar-lines to 1.
5939
5940 * dispnew.c (scrolling_window): Compare y-positions of rows
5941 equal at the start. Some simplification.
5942
5943 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5944 reused rows' y-position in the case window has a header-line, and
5945 new window start is greater than old window start.
5946
42ac0ae5
GM
5947 * process.c (process_sent_to): New variable.
5948 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5949 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5950 Declare more parameters volatile.
5951
550a625e
GM
5952 * lread.c (Vrecursive_load_depth_limit): New variable.
5953 (Fload): Check recursive loads whose recursion depth exceeds
5954 Vrecursive_load_depth_limit.
5955 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5956
8320414c
GM
59572000-09-20 Gerd Moellmann <gerd@gnu.org>
5958
f46c275e
GM
5959 * fileio.c (Fread_file_name): Doc fix.
5960
5961 * editfns.c (Fmessage_or_box): Doc fix.
5962
5963 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5964
b7e11c5b 5965 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5966
8320414c
GM
5967 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5968 symbols are specified, add color translations to the cache.
52283633 5969 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5970 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5971 xpm_cache_color.
5972 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5973 structures to xpm_init_color_cache.
5974
da1608d9
GM
59752000-09-19 Gerd Moellmann <gerd@gnu.org>
5976
52283633 5977 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5978
6badfa25
AI
59792000-09-19 Andrew Innes <andrewi@gnu.org>
5980
5981 * makefile.nt (bootstrap-emacs): Don't change directory.
5982
3a5f42bb
KH
59832000-09-19 Kenichi Handa <handa@etl.go.jp>
5984
1b7649bd
KH
5985 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5986
3a5f42bb
KH
5987 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5988 If output buffer is too small, signal an appropriated error.
5989
9f83cf0b
DL
59902000-09-18 Dave Love <fx@gnu.org>
5991
52283633 5992 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5993 (current_active_maps): Remove redundant get_local_map call.
5994
28c7826c
GM
59952000-09-18 Gerd Moellmann <gerd@gnu.org>
5996
5cefa566
GM
5997 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5998 cursor for buffers whose cursor_type is nil.
52283633 5999
6fed3546
GM
6000 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6001 a feature to implement that is already implemented.
6002 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6003 warnings.
6004
6005 * xfns.c (x_clear_image_1): New function.
6006 (x_clear_image): Use it.
52283633 6007 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6008
05b1f851
GM
6009 * dispnew.c (update_window): Move test for invisible lines
6010 at the top to update_window_line.
6011 (update_window_line): Handle invisible lines here.
6012
f4779de9
GM
6013 * xfns.c (clear_image_cache): Clear current matrices of all
6014 frames sharing an image cache. Block input while freeing
6015 images. Fix timestamp comparison.
6016 (x_clear_image): Also free the mask.
6017
28c7826c
GM
6018 * xfns.c (lookup_image): Block input while loading the image so
6019 that we won't get interrupted in a state where the image isn't yet
6020 set up completely.
6021 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6022 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6023 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6024 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6025
b7412313
GM
60262000-09-16 Gerd Moellmann <gerd@gnu.org>
6027
6028 * dispnew.c (update_window): Make sure to make desired rows
6029 current even if they are completely invisible at the top
6030 of a window.
6031
47e351a3
GM
60322000-09-15 Gerd Moellmann <gerd@gnu.org>
6033
7f8f1edc
GM
6034 * xfns.c (lookup_image): Build mask before applying an algorithm.
6035 Recognize algorithm `disabled'.
6036 (cross_disabled_images): New variable.
6037 (COLOR_INTENSITY): New macro.
6038 (x_detect_edges): Use COLOR_INTENSITY.
6039 (x_disable_image): New function.
6040 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6041
6042 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6043 disabled state, don't apply an image transformation algorithm if
6044 the user specified an image for the disabled state. Use
28c7826c 6045 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6046 user hasn't specified an image.
6047
ebb8f116
GM
6048 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6049 allocation functions with the XPM lib.
6050 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6051 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6052 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6053 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6054 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6055 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6056 functions, if possible, because these handle color allocation
6057 failure more gracefully.
6058 (Fimage_mask_p): New function.
6059
47e351a3
GM
6060 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6061 (Qedge_detection, Qheuristic): New symbols.
6062 (syms_of_xfns): Initialize new symbols.
6063 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6064 `algorithm (edge-detection ...)'.
6065 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6066 (tiff_format, gif_format, gs_format): Add `:mask'.
6067 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6068 (GIF_MASK, GS_MASK): New enumerators.
6069 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6070 (emboss_matrix, laplace_matrix): New variables.
6071 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6072 (x_edge_detection): New functions.
6073 (x_laplace): Rewritten in terms of x_detect_edges.
6074 (x_build_heuristic_mask): If image has a mask, free it.
6075
fe83b953
AI
60762000-09-14 Andrew Innes <andrewi@gnu.org>
6077
6078 * makefile.w32-in: Revert to Unix line endings.
6079
3021e816
AI
60802000-09-14 Andrew Innes <andrewi@gnu.org>
6081
6082 * makefile.w32-in: Standardize indentation somewhat.
6083 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6084 cater for differences between shells.
6085
6086 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6087
2a32b5ea
GM
60882000-09-14 Gerd Moellmann <gerd@gnu.org>
6089
6090 * xterm.c (x_produce_glyphs): If the distance from the current
6091 position to the next tab stop is less than a canonical character
6092 width, use the tab stop after that.
6093
b4331e96
DL
60942000-09-14 Dave Love <fx@gnu.org>
6095
6096 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6097
ef9e4345
GM
60982000-09-14 Gerd Moellmann <gerd@gnu.org>
6099
085536c2
GM
6100 * xdisp.c (handle_fontified_prop): While running fontification
6101 functions, bind `fontification-functions' and
6102 `after-change-functions' to nil.
6103
ef9e4345
GM
6104 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6105 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6106
6107 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6108
6109 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6110 USE_MMAP_FOR_BUFFERS.
6111
6112 * insdel.c (make_gap): Use enlarge_buffer_text.
6113
6114 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6115 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6116 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6117 from former r_alloc_* functions in ralloc.c.
52283633 6118 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6119 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6120 (mmap_init) [REL_ALLOC_MMAP]: New function.
6121 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6122 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6123 BUFFER_FREE.
6124
6125 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6126 (enlarge_buffer_text): Add prototype.
6127
6128 * ralloc.c: Remove everything having to do with the use of mmap.
6129
f8608968
GM
61302000-09-13 Gerd Moellmann <gerd@gnu.org>
6131
2a494b2d
GM
6132 * sound.c (Fplay_sound): Doc fix.
6133
8c907a56
GM
6134 * keyboard.c: Avoid some more compiler warnings.
6135 (parse_tool_bar_item): Ignore cached key bindings.
6136
f8608968
GM
6137 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6138 and allocation of Lisp data.
6139
6ab70e9a
GM
61402000-09-12 Gerd Moellmann <gerd@gnu.org>
6141
d12d0a9b
GM
6142 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6143 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6144 defaults first.
6145
6ab70e9a
GM
6146 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6147
63c36c3c
KH
61482000-09-12 Miyashita Hisashi <himi@meadowy.org>
6149
6150 * ccl.c: Comment fixed.
6151 (MAX_MAP_SET_LEVEL): Increased to 30.
6152 (PUSH_MAPPING_STACK): Enclose with do-while block.
6153 (POP_MAPPING_STACK): Likewise.
6154 (stack_idx_of_map_multiple): New variable.
6155 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6156 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6157 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6158 (ccl_driver) <CCL_MapSingle>: Likewise.
6159 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6160 with the case where looking up process reaches to the end of
6161 map-set, and call CCL programs as the above change.
6162
7ee3bd7b
GM
61632000-09-11 Gerd Moellmann <gerd@gnu.org>
6164
8ec8a5ec
GM
6165 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6166 that might be clobbered by longjmp.
6167 (check_x_display_info, x_decode_color, create_frame_xic)
6168 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6169 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6170
f74b0705
GM
6171 * lread.c (init_lread): Set Vloads_in_progress to nil.
6172 (Fload): Show list of recursively loaded files, when signaling an
6173 error.
6174
7ee3bd7b
GM
6175 * lread.c (Vloads_in_progress): New variable.
6176 (record_load_unwind): New function.
6177 (Fload): Check for recursive loads.
6178 (syms_of_lread): Initialize Vloads_in_progress.
6179 (read_integer, read1): Avoid some compiler warnings.
6180
6181 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6182 compiler warnings.
6183
974e1e5b
MB
61842000-09-11 Miles Bader <miles@gnu.org>
6185
6186 * editfns.c (Fbuffer_string): Doc fix.
6187
9824c4e3
GM
61882000-09-10 Gerd Moellmann <gerd@gnu.org>
6189
6190 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6191
6a72fdd1
KR
61922000-09-09 Ken Raeburn <raeburn@gnu.org>
6193
6194 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6195 whether to include other header files.
6196
28e6fb66
GM
61972000-09-09 Gerd Moellmann <gerd@gnu.org>
6198
52283633 6199 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6200 by Fmemq as a boolean.
28e6fb66 6201
7f8b6551
SM
62022000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6203
6204 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6205
a8710abf
GM
62062000-09-08 Gerd Moellmann <gerd@gnu.org>
6207
d1a02881
GM
6208 * ralloc.c (mmap_fd): Remove initializer which can make it
6209 read-only in a dumped Emacs.
6210 (mmap_fd_1): New variable.
6211 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6212 restore it from there.
6213 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6214 unconditionally so that mmap_fd can be initialized there.
6215 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6216 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6217 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6218
c454aac1
GM
6219 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6220
6221 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6222 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6223
fc653ef2
GM
6224 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6225
3015eec0
GM
6226 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6227 inheritance.
6228
bfe0ee88
GM
6229 * xdisp.c (try_window_id): When trying to locate cursor in
6230 unchanged rows at the top, handle the case that we can't find it.
6231
a8710abf
GM
6232 * xterm.c (x_draw_glyphs): Handle case START and END are out
6233 of bounds more carefully.
6234
6b7d4ae4
DL
62352000-09-08 Dave Love <fx@gnu.org>
6236
423193c5
DL
6237 * s/sol2.h (REL_ALLOC_MMAP): Define.
6238 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6239
6240 * ralloc.c: Don't include string.h (redundant).
6241 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6242 [!MAP_ANON]: Include fcntl.h.
6243 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6244 (r_alloc, r_re_alloc, r_alloc_free)
6245 (mmap_enlarge, mmap_set_vars): Use it.
6246 (r_alloc_init_fd): New function.
6247 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6248 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6249 malloc type.
6250
6251 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6252 Remove vm-limit.o.
6253
6b7d4ae4
DL
6254 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6255 change to __NetBSD__.
6256
44d31981
KH
62572000-09-08 Kenichi Handa <handa@etl.go.jp>
6258
6259 * search.c (compile_pattern): Check the multibyteness of cached
6260 string and PATTERN.
6261
aad40737
MB
62622000-09-08 Miles Bader <miles@gnu.org>
6263
6264 * xfaces.c (default_face_vector): Function removed.
6265 (Finternal_merge_in_global_face): Restore old global/local
6266 attribute override order. Use inline loop instead of calling
6267 default_face_vector.
6268
91a211b5
GM
62692000-09-07 Gerd Moellmann <gerd@gnu.org>
6270
6271 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6272 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6273 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6274 where necessary, in case POINTER_TYPE is `void'.
6275
03419440
EZ
62762000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6277
6278 * frame.c (make_terminal_frame): Initialize frame foreground and
6279 background colors to unspecified, for the initial instance of an
6280 MSDOS frame.
6281
f46f845b
GM
62822000-09-07 Gerd Moellmann <gerd@gnu.org>
6283
24f76fbf
GM
6284 * ralloc.c (mmap_find): Fix overlap computation.
6285 (mmap_enlarge): Compute nbytes before trying to find an
6286 overlapping region.
6287
f46f845b
GM
6288 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6289 instead of `!='.
6290
6291 * lread.c (syms_of_lread): Change value of regexp
6292 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6293
6294 * xmenu.c (xdialog_show): When looking up the selection in
6295 menu_items, take `quote' boundaries into account; this corresponds
6296 to a nil ITEM in x-popup-dialog.
6297
3c014385
KH
62982000-09-07 Kenichi Handa <handa@etl.go.jp>
6299
fd6f711b
KH
6300 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6301 not 0x81.
6302 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6303
3c014385 6304 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6305 encoding, not decoding. Fix the handling of latin-jisx0201.
6306 Check for the charset katakana-jisx0201 too.
3c014385 6307 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6308 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6309
0da3ecef
GM
63102000-09-07 Gerd Moellmann <gerd@gnu.org>
6311
ab0ee409
GM
6312 * xfaces.c (Vparam_value_alist): New variable.
6313 (syms_of_xfaces): Initialize it.
6314 (Finternal_set_lisp_face_attribute): Avoid more consing.
6315
6316 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6317 specially.
6318 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6319 (Qbackground_mode): New variable.
6320 (syms_of_frame_1): Initialize Qbackground_mode.
6321
6322 * lisp.h (Qdisplay): Declare extern.
1091dd67 6323
0da3ecef
GM
6324 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6325 change face on all frames, and change the default for new frames.
6326
b14654b9
DL
63272000-09-07 Dave Love <fx@gnu.org>
6328
6329 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6330
d24fd56f
KH
63312000-09-07 Kenichi Handa <handa@etl.go.jp>
6332
794f3670
KH
6333 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6334
0fddd0dc
KH
6335 * charset.c: Include composite.h
6336 (lisp_string_width): New function.
6337 (Fstring_width): Call lisp_string_width instead of strwidth.
6338
6339 * Makefile.in (charset.o): Depends on composite.h.
6340
d24fd56f
KH
6341 * process.c (read_process_output): Before inserting the decoded
6342 text in the buffer, adjust the multibyteness.
6343
fa0b693c
GM
63442000-09-06 Gerd Moellmann <gerd@gnu.org>
6345
52283633 6346 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6347 buffer's text buffer is null, map new memory.
6348
0a58f946
GM
6349 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6350 POINTER_TYPE and size_t.
6351 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6352 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6353 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6354 [REL_ALLOC_MMAP]: New macros.
6355 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6356 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6357 [REL_ALLOC_MMAP]: New functions.
6358
6359 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6360 before and after unexec.
6361
6362 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6363 text buffers if necessary.
6364
6365 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6366 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6367 in prototypes.
6368
fa0b693c
GM
6369 * config.in (HAVE_MMAP): Add #undef.
6370
877055f6
GM
63712000-09-05 Gerd Moellmann <gerd@gnu.org>
6372
08ba3862
GM
6373 * frame.c (Qdisplay_type): New variable.
6374 (syms_of_frame_1): Initialize it.
6375 (Fframe_parameter): New function that avoids consing.
6376 (syms_of_frame): Defsubr it.
6377
66ffe51c
GM
6378 * buffer.c (Fother_buffer): Consider buffers as invisible when
6379 they are displayed in a window on an invisible frame.
6380
877055f6
GM
6381 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6382 get-largest-window always return nil.
6383
bb970e67
GM
63842000-09-04 Gerd Moellmann <gerd@gnu.org>
6385
6386 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6387 variable; recognize Emacs 19 elc files.
6388
7a3d0e0e
MB
63892000-09-04 Miles Bader <miles@gnu.org>
6390
6391 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6392 before initially popping up the menu, so the menu doesn't flash
52283633 6393 when the face settings are significantly different from the defaults.
7a3d0e0e 6394
14473664
SM
63952000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6396
6397 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6398 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6399 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6400 (BIT_UNIBYTE): Remove.
6401 (re_match_2_internal): Delete corresponding code and streamline the
6402 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6403 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6404 (re_wctype_t): New type.
6405 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6406 (regex_compile): Use them and fix handling of overly long char classes.
6407
c1174479
AI
64082000-09-03 Andrew Innes <andrewi@gnu.org>
6409
f8803e97
AI
6410 * makefile.w32-in: Change to DOS line endings.
6411
c1174479
AI
6412 * s/ms-w32.h (ORDINARY_LINK): New define.
6413
6414 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6415 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6416
6417 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6418 (distclean): Delete them here instead.
6419
44ef7cf6
AI
6420 * w32proc.c (compare_env): Convert to uppercase for comparison,
6421 not lowercase, to match how the native Windows shell works.
6422
49b3bd82
JR
64232000-09-03 Jason Rumney <jasonr@gnu.org>
6424
6425 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6426 CVS changes the line-ends when checking in/out on DOS/Windows.
6427
6428 * makefile.nt (emacs): Do not change directory to run temacs, as
6429 the load-path is set relative to current directory.
6430
a3d35a39
MB
64312000-09-03 Miles Bader <miles@gnu.org>
6432
6433 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6434
d276b0cf
GM
64352000-09-02 Gerd Moellmann <gerd@gnu.org>
6436
715e84c9
GM
6437 * xdisp.c (redisplay_mode_lines): New function.
6438 (display_mode_lines): Return number of mode lines displayed.
6439 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6440 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6441
8892f40b
GM
6442 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6443 string.h and strings.h.
6444 (index) [HAVE_INDEX]: Add prototype.
6445
d276b0cf
GM
6446 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6447 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6448
6449 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6450 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6451
38404229
GM
64522000-09-01 Gerd Moellmann <gerd@gnu.org>
6453
6454 * lread.c (read1): Accept `?' as symbol constituent, for
6455 compatiblity with XEmacs.
6456
c0f9ea08
SM
64572000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6458
6459 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6460 (struct re_pattern_buffer): Remove newline_anchor.
6461 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6462 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6463 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6464 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6465 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6466 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6467 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6468 Get rid of references to newline_anchor.
6469 (regcomp): Allocate and precompute a fastmap.
6470
8c0f83fe
GM
64712000-08-31 Gerd Moellmann <gerd@gnu.org>
6472
6473 * lread.c (openp): GCPRO local variable `filename'.
6474
4bb91c68
SM
64752000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6476
6477 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6478
6479 * regex.c: Merge some changes from GNU libc. Add prototypes.
6480 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6481 Use memcmp and memcpy instead of bcopy and bcmp.
6482 (init_syntax_once): Use ISALNUM.
6483 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6484 (REG_UNSET_VALUE): Remove. Use NULL instead.
6485 (REG_UNSET, re_match_2_internal): Use NULL.
6486 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6487 New macros.
6488 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6489 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6490 (regex_compile): In handle_interval, return an error rather than try to
6491 unfetch the interval if we can't find the closing brace.
6492 Obey the RE_NO_GNU_OPS syntax bit.
6493 (TOLOWER): New macro.
6494 (regcomp): Use it.
6495 (regexec): Allocate regs.start and regs.end as one block.
6496
5226a931
GM
64972000-08-30 Gerd Moellmann <gerd@gnu.org>
6498
868dd24b
GM
6499 * xdisp.c (echo_area_display): Check display_completed instead
6500 of calling detect_input_pending.
6501
6502 * dispnew.c (update_frame): Only set display_completed here; move
6503 the update_begin and update_end calls here from update_frame_1.
6504 (update_frame_1): Don't set display_completed here, don't call
6505 update_begin/update_end.
6506
5226a931
GM
6507 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6508 instead of store_frame_param.
6509
2a8bd25f
GM
65102000-08-29 Gerd Moellmann <gerd@gnu.org>
6511
6512 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6513 desired window matrix hasn't been displayed, use the current row
6514 instead. Make sure that only those frame rows are updated for
6515 which there exists a corresponding enabled desired row.
52283633 6516
ba3478d9
MB
65172000-08-29 Miles Bader <miles@gnu.org>
6518
6519 * xfaces.c (default_face_vector): New function.
6520 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6521
87d0f685
GM
65222000-08-29 Gerd Moellmann <gerd@gnu.org>
6523
6524 * lread.c (openp): Prevent temporary string passed to
6525 Ffile_readable_p from being garbage collected.
6526
6fa86045
DL
65272000-08-28 Dave Love <fx@gnu.org>
6528
6529 * keymap.c (store_in_keymap): Add `static' to declaration.
6530
bb17930d
GM
65312000-08-28 Gerd Moellmann <gerd@gnu.org>
6532
6533 * emacs.c, callint.c, doc.c, editfns.c
6534 (toplevel) [HAVE_STRING_H]: Include string.h.
6535 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6536 (index): Remove prototypes which might conflict with non-standard
6537 definitions of index/strchr.
6538
6539 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6540 (rindex): Define only if !HAVE_RINDEX.
6541
6542 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6543
6544 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6545
87188200
MB
65462000-08-28 Miles Bader <miles@gnu.org>
6547
6548 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6549 made inconsistent by a font-related attribute in FROM.
6550 (merge_face_inheritance): Add function comment.
6551
41a68aef
KH
65522000-08-28 Kenichi Handa <handa@etl.go.jp>
6553
6554 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6555 the 4th arg (PREV_EVENT) Qt to suppress input method.
6556
f7c436c1
SM
65572000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6558
0b32bf0e
SM
6559 * regex.c: Indent cpp directives and remove parens after `defined'.
6560 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6561 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6562 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6563 (re_compile_pattern): Use size_t for length.
6564 (init_syntax_once): Move to a better place.
6565 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6566 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6567
f7c436c1
SM
6568 * syntax.c (back_comment): Detect cases where a comment-starter is
6569 actually inside another comment as in: /* a // b */ c // d \n.
6570 Make it clear that `comstart_pos' is unused for nested comments.
6571
6572 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6573 (KEYMAPP): New macro.
6574 (Fkeymap_parent, Fset_keymap_parent): Use it.
6575 (fix_submap_inheritance): Mark it static.
6576 (define_as_prefix, describe_buffer_bindings, describe_command)
6577 (describe_translation, describe_map): Complete prototypes.
6578
6579 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6580
6581 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6582 to better match the key-lookup behavior.
6583
6288c62f
GM
65842000-08-27 Gerd Moellmann <gerd@gnu.org>
6585
6586 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6587 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6588
e931344e
EZ
65892000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6590
6591 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6592 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6593 (xterm.o): Depend on coding.h
6594
d10dfeef
KH
65952000-08-26 Kenichi Handa <handa@etl.go.jp>
6596
6597 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6598 the corresponding '#endif'.
6599
2d73e8d3
MB
66002000-08-26 Miles Bader <miles@gnu.org>
6601
6602 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6603 * xfaces.c (QCinherit): New variable.
6604 (syms_of_xfaces): Initialize it.
6605 (LFACE_INHERIT): New macro.
6606 (Finternal_get_lisp_face_attribute)
52283633 6607 (merge_face_vector_with_property)
2d73e8d3
MB
6608 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6609 (check_lface_attrs): Allow new types of face height. Check
6610 inherit attribute.
6611 (CYCLE_CHECK): New macro.
6612 (merge_face_inheritance): New function.
6613 (merge_face_vectors): Merge inherited faces too. Add F and
6614 CYCLE_CHECK arguments.
6615 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6616 (lookup_named_face, lookup_derived_face, realize_named_face)
6617 (face_at_string_position, face_at_buffer_position): Supply
6618 new F and CYCLE_CHECK arguments to merge_face_vectors.
6619 (merge_face_heights): New function.
52283633 6620 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6621 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6622 handle relative face heights.
6623 (lface_same_font_attributes_p): Compare heights using EQ.
6624
6ce974d4
KH
66252000-08-26 Kenichi Handa <handa@etl.go.jp>
6626
6627 * charset.c (char_to_string): Check the character validity.
52283633 6628 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6629
dc1e502d
SM
66302000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6631
6632 * regex.c (PUSH_FAILURE_COUNT): New macro.
6633 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6634 Handle popping of a register's or a counter's data.
6635 (POP_FAILURE_POINT): Use the new name.
6636 (re_match_2_internal): Push counter data on the stack for succeed_n,
6637 jump_n and set_number_at and remove misleading dead code in succeed_n.
6638
bd9d0f3f
GM
66392000-08-25 Gerd Moellmann <gerd@gnu.org>
6640
6641 * xdisp.c (redisplay_internal): If considering all windows on all
6642 frames, update the display for each frame as soon as possible,
6643 instead of first building all desired matrices for all frames, and
6644 then updating them all.
6645 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6646
aa5b8e15
GM
66472000-08-24 Gerd Moellmann <gerd@gnu.org>
6648
17494071
GM
6649 * bytecode.c (mark_byte_stack): Add a comment.
6650
52283633
SM
6651 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6652 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6653 a graphical frame.
6654
c543db81
KH
66552000-08-24 Kenichi Handa <handa@etl.go.jp>
6656
d246d5f5
KH
6657 * minibuf.c (do_completion): Always use compare-string, not
6658 string-equal because the latter doesn't pay attention to
6659 multibyteness of strings.
6660
c543db81
KH
6661 * process.c (create_process): Don't setup raw-text coding here.
6662 (Fopen_network_stream): Don't set coding->src_multibyte and
6663 coding->dst_multibyte here.
6664 (read_process_output): For process filter, return unibyte string
6665 if default-enable-multibyte-characters is nil.
6666 (send_process): If OBJECT is multibyte text, be sure to encoded it
6667 by the specified coding system for the process. Otherwise, setup
6668 raw-text coding.
52283633 6669 (init_process): Don't initialize default-process-coding-system here.
c543db81 6670
9b47cfe0
EZ
66712000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6672
6673 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6674 <scroll-down-aggressively>: Likewise.
6675
f5a36960
KH
66762000-08-23 Kenichi Handa <handa@etl.go.jp>
6677
6678 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6679 zero. Set coding->produced_char correctly.
6680
69a7ffa7
AI
66812000-08-22 Andrew Innes <andrewi@gnu.org>
6682
6683 * makefile.w32-in: New file.
6684
6685 * unexw32.c (unexec): Ignore old_name, and use the actual location
6686 of the current executable instead. Base new_name on this.
6687
6688 * w32proc.c (create_child): Remove reference to security
6689 descriptor, which isn't needed and doesn't compile with mingw32.
6690
6691 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6692 up dllimport attributes.
6693 (x_update_window_end): Update prototype.
6694
6695 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6696 extern, which screws up dllimport attributes.
6697
6698 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6699 up dllimport attributes.
6700
6701 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
6702 screws up dllimport attributes.
6703
6704 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6705 up dllimport attributes.
6706 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
6707 screws up dllimport attributes.
6708
6709 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6710 up dllimport attributes.
6711
6712 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
6713 screws up dllimport attributes.
6714
6715 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
6716 screws up dllimport attributes.
6717
6718 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6719 up dllimport attributes.
6720
6721 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
6722 unnecessary extern, which screws up dllimport attributes.
6723 (main): Ditto.
6724
6725 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6726 up dllimport attributes.
6727
6728 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
6729 unnecessary extern, which screws up dllimport attributes.
6730
6731 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
6732 screws up dllimport attributes.
6733
6734 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6735 up dllimport attributes.
6736
6737 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
6738
52283633
SM
6739 * w32bdf.c (search_file_line):
6740 (set_bdf_font_info):
6741 (seek_char):
6742 (w32_get_bdf_glyph):
69a7ffa7
AI
6743 (w32_BDF_to_x_font): Fix compile warnings.
6744
52283633 6745 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
6746
6747 * w32select.c: Include keyboard.h before frame.h.
6748
6749 * w32fns.c (max): Define macro.
6750 (JOHAB_CHARSET): Define if not known.
6751 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
6752 (Fx_show_tip): Synch with X version.
6753
6754 * w32xfns.c: Include keyboard.h before frame.h.
6755
6756 * w32fns.c: Include keyboard.h before frame.h.
6757
6758 * w32term.c: Include keyboard.h before frame.h.
6759
6760 * fontset.c: Include keyboard.h before frame.h.
6761
6762 * w32inevt.c: Include keyboard.h before frame.h.
6763 (MOUSE_MOVED): Define if not known.
6764
6765 * minibuf.c: Include keyboard.h before frame.h.
6766
6767 * keyboard.c: Include keyboard.h before frame.h.
6768
6769 * indent.c: Include keyboard.h before frame.h.
6770
6771 * dispnew.c: Include keyboard.h before frame.h.
6772
6773 * buffer.c: Include keyboard.h before frame.h.
6774
6775 * alloc.c: Include keyboard.h before frame.h.
6776
6777 * print.c: Include keyboard.h before frame.h.
6778
6779 * process.c: Include keyboard.h before frame.h.
6780
6781 * scroll.c: Include keyboard.h before frame.h.
6782
6783 * sysdep.c: Include keyboard.h before frame.h.
6784
6785 * term.c: Include keyboard.h before frame.h.
6786
6787 * window.c: Include keyboard.h before frame.h.
6788
6789 * xdisp.c: Include keyboard.h before frame.h.
6790 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
6791
6792 * frame.c: Include keyboard.h before frame.h.
6793
6794 * w32heap.h: Undefine min, max.
6795
6796 * w32gui.h: Undefine min, max.
6797
6798 * unexw32.c: Change PUCHAR to PCHAR.
6799 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
6800 (relocate_offset):
6801 (get_section_info):
69a7ffa7
AI
6802 (copy_executable_and_dump_data): Remove unnecessary static defs.
6803 (copy_executable_and_dump_data): Fix compile warnings.
6804
6805 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
6806
6807 * w32console.c (min): Define macro.
6808 (clear_frame, write_glyphs): Fix compile warning.
6809
52283633 6810 * w32proc.c (compare_env):
69a7ffa7
AI
6811 (find_child_console): Fix compile warning.
6812
6813 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
6814 sys_errlist instead of _sys_errlist.
6815 (get_emacs_configuration_options): New function.
6816
6817 * s/ms-w32.h (sys_nerr): Provide default definition.
6818 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
6819 name with _ prepended.
6820 (NSIG): Define if not known.
6821 (get_emacs_configuration): Provide extern declaration.
6822 (get_emacs_configuration_options): Provide extern declaration.
6823 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
6824
6825 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 6826 (map_w32_filename):
69a7ffa7
AI
6827 (read_unc_volume): Fix compile warning.
6828
6829 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6830 definitions from being used.
6831
6832 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6833
52283633 6834 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6835 (open_unc_volume): Make arg const.
6836
6837 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6838 (read_input_waiting): Remove excess parameter.
6839
6840 * w32.c (init_environment): Call _access.
6841 (check_windows_init_file): Call _close.
6842 (init_user_info): Call _putenv.
6843 (init_environment): Call _putenv and _strdup.
6844 (init_ntproc): Reset volume info cache on startup.
6845
6846 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6847 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6848 cannot override the CRT malloc.
6849
6850 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6851 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6852
6853 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6854 unless we are linking with a static CRT.
6855 (RVA_TO_PTR): Cast result to unsigned char*.
6856
6857 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6858 (add_volume_info): Use xstrdup.
6859
25060080
SM
68602000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6861
6862 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6863 (do_completion, Fminibuffer_complete_word): Use it.
6864 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6865 var so it can take non-boolean values.
6866
6917e6bb
GM
68672000-08-21 Gerd Moellmann <gerd@gnu.org>
6868
acb7cc89 6869 * editfns.c (find_field): Formatting changes.
52283633 6870 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6871 changed to prototypes, some new protypes added, some functions
6872 made static.
6873
6874 * lisp.h (set_time_zone_rule): Add prototype.
6875 (use_dialog_box): External declaration.
6876
0bbfdc25
GM
6877 * keyboard.c (gen_help_event): Add parameter SIZE.
6878 (kbd_buffer_events_waiting): Slightly rewritten.
6879 (clear_event): New function.
6880 (kbd_buffer_get_event): Use it, and clear the input_events of
6881 HELP_EVENTs.
6882 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6883 don't fill the newly created array with nils.
6884 (toplevel): Convert some old-style function forward declarations
6885 to prototypes.
6886
6887 * keyboard.h (gen_help_event): Change prototype.
6888
6889 * xterm.c (XTread_socket): Change calls to gen_help_event.
6890
6891 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6892
6917e6bb
GM
6893 * eval.c (Fmacroexpand): Doc fix.
6894
e5cd3d11
JR
68952000-08-20 Jason Rumney <jasonr@gnu.org>
6896
6897 * w32term.h (x_display_info_for_display): Remove as this function
6898 does not exist on W32.
6899
6900 * w32term.c (help_echo_window): New variable.
6901 (syms_of_w32term): staticpro it.
6902 (note_mode_line_highlight): Set it.
6903 (XTextExtents16): Removed as there is no equivalent on W32.
6904 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6905 the X way of doing this will not work for W32.
6906 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6907 (x_draw_image_foreground): Avoid drawing outside of the clip area
6908 when image doesn't have a mask.
6909 (note_mouse_highlight): Process overlays in the right order of
6910 priority. Set help_echo_window.
6911 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6912 because that's more visible for large images.
6913
6914 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6915 name to single_keymap_panes.
6916 (w32_menu_show): Set wv->title when dealing with titles.
6917 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6918
6e69ab8c
MB
69192000-08-21 Miles Bader <miles@gnu.org>
6920
6921 * minibuf.c (do_completion): Try again if we rewrite the input
6922 string, but no completion was done, so that any completion message
6923 will be correct.
6924
511bd4eb
GM
69252000-08-20 Gerd Moellmann <gerd@gnu.org>
6926
6927 * xfaces.c (lface_equal_p): Compare strings differently.
6928 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6929 (realize_tty_face): Use them.
6930 (syms_of_xfaces): Initialize new variables.
6931 (map_tty_color): New function, extracted from realize_tty_face.
6932 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6933 foreground or background color, store the new color name in the
6934 realized face; previous code trying to do this had no effect.
6935 (realize_tty_face): Use map_tty_color.
6936 (Fclear_face_cache): Set face_change_count and ensure thorough
6937 redisplay.
6938
1433385f
GM
69392000-08-19 Gerd Moellmann <gerd@gnu.org>
6940
511bd4eb
GM
6941 * undo.c (record_first_change, record_marker_adjustment): Don't
6942 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6943
419ac0a2
KH
69442000-08-18 Kenichi Handa <handa@etl.go.jp>
6945
6946 * coding.c (decode_coding_string): Set members consumed,
6947 consumed_char, produced, produced_char of *coding correctly. If
6948 decode_coding doesn't consume any byte, don't try anymore.
6949 (encode_coding_string): Likewise.
6950
7eb9e30d
GM
69512000-08-18 Gerd Moellmann <gerd@gnu.org>
6952
511bd4eb
GM
6953 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6954 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6955
6956 * xdisp.c (redisplay_internal): Compare windows for equality with
6957 EQ, instead of applying XWINDOW to something that might not
6958 be a window.
52283633 6959
dd34a735
KH
69602000-08-18 Kenichi Handa <handa@etl.go.jp>
6961
6962 * fontset.c (Finternal_char_font): Search only the selected frame
6963 for a window of the current buffer.
6964
385ff9e3
GM
69652000-08-18 Gerd Moellmann <gerd@gnu.org>
6966
511bd4eb 6967 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6968 Lisp_Objects.
6969
385ff9e3
GM
6970 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6971 second half of a HELP_EVENT is found at the start of kbd_buffer.
6972
d6abb4c7
MB
69732000-08-18 Miles Bader <miles@gnu.org>
6974
4618074a
MB
6975 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6976
d6abb4c7
MB
6977 * editfns.c (save_restriction_save): Rewrite to use markers.
6978 (save_restriction_restore): Rewrite to understand new form of data
6979 saved by save_restriction_save.
6980 (Fsave_restriction): Remove cautionary note in doc-string.
6981
a7b28523
GM
69822000-08-17 Gerd Moellmann <gerd@gnu.org>
6983
6984 * fileio.c (build_annotations): Add a comment explaining the
6985 return value of format-annotate-function. Replace a spurious call
6986 to Flength with a CONSP test. Call format-annotate-function with
6987 a fifth arg specifying how many times the function is been called
6988 in a row, to let it choose temporary buffers appropriately.
6989
03c9ed77
DL
69902000-08-17 Dave Love <fx@gnu.org>
6991
6992 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6993 declare make_temp_name twice.
6994
52283633 6995 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6996 (unreadpure): Give it an arg.
6997
6998 * unexalpha.c: Prototype fatal_unexec, mark_x,
6999 update_dynamic_symbols. Declare unexec as void.
7000
7001 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7002 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7003
7004 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7005 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7006
7007 * alloca.c: Use #error.
7008 [POINTER_TYPE]: Use it.
7009
7010 * eval.c (Fdefvar): Doc fix.
7011
7012 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7013 INITIALIZE_INTERVAL.
7014
7015 * buffer.h: Avoid DECLARE_INTERVALS.
7016
7017 * config.in: Add size_t.
7018
aae41d97
EZ
70192000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7020
7021 * w16select.c (set_clipboard_data): If there's not enough memory
7022 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7023 expects. In case of other failures, return 3.
7024 (system_error_msg): New error message.
7025 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7026 system_error_msg.
7027
65aa5e85
GM
70282000-08-16 Gerd Moellmann <gerd@gnu.org>
7029
7030 * term.c (write_glyphs): Also turn off inverse video after turning
7031 off other appearances in case TS_exit_attribute_mode is not equal
7032 to TS_end_standout_mode.
7033 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7034 with the same face.
7035 (turn_off_face): Reset standout_mode only if
7036 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7037 is equal to TS_end_standout_mode.
7038
ece23901
KH
70392000-08-16 Kenichi Handa <handa@etl.go.jp>
7040
9d7bcb2e
KH
7041 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7042 sequence at the end of the source block.
7043
ece23901
KH
7044 * ccl.c (Fccl_program_p): Docstring modified.
7045 (Fccl_execute): Likewise.
7046 (Fccl_execute_on_string): Likewise.
7047
5e30eaa2
EZ
70482000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7049
7050 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7051
290602fd
KH
70522000-08-16 Kenichi Handa <handa@etl.go.jp>
7053
7054 The following changes are mainly to fix bugs of
7055 encode/decode-coding-string failing if encoding/decoding return
7056 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7057 variable conversion_buffer.
7058
7059 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7060 decrement dst_end to avoid buffer overflow in the later call of
7061 string_as_multibyte
7062
7063 * coding.h (conversion_buffer_size, conversion_buffer)
7064 (get_conversion_buffer): Extern deleted.
7065
7066 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7067 (conversion_buffer, conversion_buffer_size): Variables deleted.
7068 (get_conversion_buffer): Function deleted.
7069 (struct conversion_buffer): New structure.
7070 (MAX_ALLOCA): New macro.
7071 (allocate_conversion_buffer): New macro.
7072 (extend_conversion_buffer, free_conversion_buffer): New functions.
7073 (ccl_coding_driver): Set coding->result.
7074 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7075 this is the last block of source.
7076 (encode_coding): Likewise. Handle the source block as the last
7077 one only when the whole source text is consumed.
7078 (decode_coding_string): Handle the case that the output buffer is
7079 too small to decode the whole source text. Use
7080 allocate_conversion_buffer, extend_conversion_buffer and
7081 free_conversion_buffer, not get_conversion_buffer.
7082 (encode_coding_string): Likewise.
7083 (init_coding): Function deleted.
52283633 7084 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7085
7086 * emacs.c (main): Don't call init_coding.
7087
52283633 7088 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7089
7090 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7091 (insert_glyphs): Likewise.
7092
7093 * w32console.c (write_glyphs): Use a locally declared
7094 conversion_buffer.
7095
b9f80d41
EZ
70962000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7097
7098 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7099 member of display_info is NULL.
7100
32dc52f7
GM
71012000-08-15 Gerd Moellmann <gerd@gnu.org>
7102
52283633 7103 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7104
32dc52f7 7105 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7106 appearances with capability `me'.
32dc52f7
GM
7107 (write_glyphs): Switch on inverse video before each face change.
7108
4eb22d33
DL
71092000-08-14 Dave Love <fx@gnu.org>
7110
7111 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7112 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7113 (lisp_free): Declare and make static.
7114
7115 * window.c: Fix embedded comment.
7116 (syms_of_window): Fix doc string.
7117
90cbf47e
GM
71182000-08-14 Gerd Moellmann <gerd@gnu.org>
7119
52283633 7120 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7121 make sure to print `C-' before `M-', like in the manual.
7122
440fc135
GM
71232000-08-11 Gerd Moellmann <gerd@gnu.org>
7124
7125 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7126 since they aren't relocated anymore.
52283633 7127 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7128
7129 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7130 partially visible line which is smaller than the window's height.
440fc135 7131
6e264fad
KH
71322000-08-11 Kenichi Handa <handa@etl.go.jp>
7133
7134 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7135 the multibyte form of eight-bit-control characters.
6e264fad
KH
7136 (Fccl_execute_on_string): Initialize ccl->multibyte.
7137
7138 * ccl.h (struct ccl_program): New member multibyte.
7139
7140 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7141
c371f69a
KH
71422000-08-11 Kenichi Handa <handa@etl.go.jp>
7143
7144 * regex.c (regex_compile) <normal_char>: Pay attention to
7145 multibyteness.
7146 (analyse_first) <exactn>: Setup fastmap correctly for
7147 eight-bit-control characters.
7148
71492000-08-11 Kenichi Handa <handa@etl.go.jp>
7150
52283633 7151 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7152
7153 * keyboard.c (make_lispy_event): Handle the new event type
7154 multibyte_char_keystroke.
7155
7156 * xterm.c: Include coding.h.
7157 (XTread_socket): Work around a bug of XmbLookupString. If the
7158 input is from XIM, decode it according to the current locale. In
7159 that case, generate multibyte_char_keystroke events.
7160
b8ddbe71
KH
71612000-08-11 Kenichi Handa <handa@etl.go.jp>
7162
7163 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7164 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7165
47589c8c
GM
71662000-08-10 Gerd Moellmann <gerd@gnu.org>
7167
7168 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7169 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7170 (move_it_in_display_line_to): Record iterator's ascent and descent
7171 before producing glyphs, and restore them when we know the glyph
7172 doesn't fit on the line.
7173 (move_it_to): Restructured so that it's easier to debug. If
7174 moving to a vpos, and not moving to an x or character position,
7175 stop as soon as the specified vpos is reached; don't move further
7176 into that line because that might change the computed line height.
7177 (try_cursor_movement): New function, extracted from the cursor
7178 movement branch of redisplay_window. If ending on a partially
7179 visible line, don't try to scroll if the cursor line is taller
7180 than the window.
7181 (redisplay_window): Use try_cursor_movement.
7182
7183 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7184 because that function doesn't cope with variable-height lines.
7185
7186 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7187 box cursor because that's better visible for large images.
52283633 7188
c51bacd6
MB
71892000-08-10 Miles Bader <miles@gnu.org>
7190
7191 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7192
bea56df7
GM
71932000-08-10 Gerd Moellmann <gerd@gnu.org>
7194
7195 * xdisp.c (Vmessages_buffer_name): New variable.
7196 (message_dolog): Use it.
7197 (syms_of_xdisp): Initialize it.
7198
99cd7364
EZ
71992000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7200
52283633 7201 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7202 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7203 redundant now that keyboard.h is included.
7204
7d093d56
EZ
72052000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7206
7207 * keyboard.c (kbd_buffer_events_waiting): New function.
7208
7209 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7210
7211 * msdos.c: Include keyboard.h.
7212 (XMenuActivate): Empty no_event events from the event buffer. If
7213 no events are left after that, call clear_input_pending.
7214 (mouse_clear_clicks): New function, code moved from mouse_init.
7215 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7216 mouse driver to ``forget'' any past clicks.
7217
7218 * Makefile.in (msdos.o): Depend on keyboard.h.
7219
41e757a6
GM
72202000-08-09 Gerd Moellmann <gerd@gnu.org>
7221
8e7bd231
GM
7222 * lisp.h (input_pending): External declaration.
7223
7224 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7225
8e7bd231
GM
7226 * xdisp.c (echo_area_display): Display thoroughly if input is
7227 pending. Bind redisplay-dont-pause to t during the redisplay.
7228 in case input is pending.
7229
7230 * dispnew.c (Qredisplay_dont_pause): New variable.
7231 (syms_of_display): Initialize and staticpro it.
7232 (update_frame_1): Don't interrupt the display for pending input if
7233 redisplay_dont_pause is set.
52283633 7234
43028b7e
GM
7235 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7236
41e757a6
GM
7237 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7238
2f2174fa
KH
72392000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7240
7241 * callproc.c (Fcall_process): Terminate the unwind-protect around
7242 the post-read-conversion of coding system.
7243
0a6fd67e
MB
7244 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7245 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7246 * buffer.h (overlays_at): Update prototype.
7247 * xdisp.c (next_overlay_change): Update call to overlays_at.
7248 * xfaces.c (face_at_buffer_position): Likewise.
7249 * textprop.c (Fget_char_property): Likewise.
7250 * xterm.c (note_mouse_highlight): Likewise.
7251
0c80756e
MB
7252 * minibuf.c (do_completion): Don't consider a simple change of
7253 case as `completion'.
7254
975f250a
KR
72552000-08-08 Ken Raeburn <raeburn@gnu.org>
7256
52283633 7257 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7258 * undo.c (record_delete): Make sure last_point_position_buffer is
7259 a buffer before comparing pointers.
7260
7261 * coding.h (decode_coding_string): Declare.
7262
7263 * intervals.h (Fprevious_single_char_property_change): Declare.
7264
7265 * textprop.c (Fprevious_single_char_property_change): Don't do
7266 arithmetic directly on lisp objects.
7267
52283633 7268 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7269
7270 * keyboard.h (menu_item_eval_property): Declare.
7271
7272 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7273 reuse as buffer name, instead of recreating (and discarding) every
7274 time a message is logged.
7275 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7276 (current_message_1, truncate_message_1, set_message_1)
7277 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7278 (current_message, truncate_echo_area, display_echo_area)
7279 (resize_echo_area_axactly): Changed calls.
b347b3fd 7280
975f250a 7281 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7282 Lisp object.
975f250a 7283 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7284 must be an integer, not a Lisp object.
975f250a 7285
46dc9912
KH
72862000-08-08 Kenichi Handa <handa@etl.go.jp>
7287
7288 * charset.c (Fchar_width): Doc fix.
7289
9f6d1a6c
GM
72902000-08-08 Gerd Moellmann <gerd@gnu.org>
7291
7292 * charset.c (Fstring_width): Doc fix.
7293
ff3d9573
GM
72942000-08-07 Gerd Moellmann <gerd@gnu.org>
7295
41e757a6 7296 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7297 line, clear ascent and descent members of the iterator structure;
7298 the height of the continued line does not affect the height of the
7299 continuation line.
7300 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7301 line taller than the window.
7302 (redisplay_window) <forced window start>: Handle case that the
7303 middle of the window is not found in any row.
7304 (dump_glyph_row): Show more information.
7305 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7306 first text line in a glyph matrix.
7307
7308 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7309 of the clip area when image doesn't have a mask.
7310
70fc58b3
GM
7311 * fns.c (sweep_weak_table): Fix survival conditions for
7312 key-or-value and key-and-value weakness.
7313
7314 * .gdbinit (xhashtable): New command.
7315
ac0e96ee
GM
7316 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7317 tables out of the list of all weak hash tables.
7318
ff3d9573
GM
7319 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7320 a new buffer is created, make sure echo_area_buffer[] references
7321 the new buffer.
7322
e0d8827b
EZ
73232000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7324
7325 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7326 the doc string.
7327
c6f35378
KH
73282000-08-07 Kenichi Handa <handa@etl.go.jp>
7329
7330 * syntax.c (skip_chars): Fix previous change. Make the handling
7331 of unibyte string consistent with that of regex search.
7332
1fd4c450
GM
73332000-08-05 Gerd Moellmann <gerd@gnu.org>
7334
e49aa397
GM
7335 * xmenu.c (popup_get_selection): Use xfree instead of free.
7336
7337 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7338
7339 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7340
7341 * callproc.c (child_setup): Use xfree instead of free.
7342
7343 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7344 instead of malloc.
7345 (run_mac_command, closedir): Use `xfree' instead of `free'.
7346
7347 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7348
7349 * eval.c (error): Use xfree instead of free.
7350
1fd4c450
GM
7351 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7352
7353 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7354 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7355
82d497fc
KH
73562000-08-05 Kenichi Handa <handa@etl.go.jp>
7357
7358 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7359 conversion.
7360
59f953a2
NF
73612000-08-04 Noah Friedman <friedman@splode.com>
7362
7363 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7364 docstring.
7365
688351f2
GM
73662000-08-04 Gerd Moellmann <gerd@gnu.org>
7367
7368 * syntax.c (skip_chars): Fix typo in error message.
7369
2dad51cc
AS
73702000-08-04 Andreas Schwab <schwab@suse.de>
7371
7372 * m/ia64.h: Moved from s/ia64.h.
7373
99bb2c60
KH
73742000-08-04 Kenichi Handa <handa@etl.go.jp>
7375
082a1df2
KH
7376 * process.c (read_process_output): Big simplification. Handle
7377 composition and post-read-conversion of coding system correctly.
7378 (send_process): Handle composition correctly.
7379
7380 * callproc.c (Fcall_process): Handle post-read-conversion of
7381 coding system if any.
7382
99bb2c60
KH
7383 * coding.c (decode_coding_iso2022): More strict check for handling
7384 single shifting.
082a1df2
KH
7385 (coding_restore_composition): Pay attention to the case that
7386 cmp_data is not set properly (because of invalid code in the
7387 source text).
7388 (run_pre_post_conversion_on_str): Include text properties in the
7389 resulting string.
7390 (decode_coding_string): Set members of coding correctly.
99bb2c60 7391
f4988be7
GM
73922000-08-03 Gerd Moellmann <gerd@gnu.org>
7393
7394 * s/ia64.h: New file.
7395
7396 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7397 Use NULL instead of 0 at the end of variable argument list of
7398 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7399 sizeof (int) < sizeof (void *).
7400
7401 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7402 of variable argument lists of XtVaGetValues and XtVaSetValues.
7403
7404 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7405 variable argument lists of XtVaGetValues and XtVaSetValues.
7406
ead53494
GM
74072000-08-02 Gerd Moellmann <gerd@gnu.org>
7408
7409 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7410 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7411
7412 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7413 prototype.
7414
7415 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7416 in call to Fsingle_key_description.
7417
7418 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7419 Callers changed.
7420
74212000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7422
7423 * window.c (display_buffer_reuse_frames): New variable.
7424 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7425 frames displaying BUFFER.
52283633 7426 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7427
10b0f752
MB
74282000-08-01 Miles Bader <miles@gnu.org>
7429
7430 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7431 when to constrain NEW_POS (they were pretty screwed up before).
7432
16425c4a
EZ
74332000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7434
7435 * msdos.c (run_msdos_command): Save and restore the master
7436 environment, for the case that child_setup signals an error.
7437 When mirroring slashes in DOS shell commands, don't fail when
7438 argv[2] has embedded blanks.
da288c14
EZ
7439 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7440 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7441 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7442
7443 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7444 using alloca; free it after run_msdos_command returns.
7445
27f73852
DL
74462000-07-27 Dave Love <fx@gnu.org>
7447
52283633
SM
7448 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7449 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7450
7451 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7452
c0261b5e
EZ
74532000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7454
7455 * editfns.c (lisp_time_argument): Fix last change.
7456
b548072f
GM
74572000-07-27 Gerd Moellmann <gerd@gnu.org>
7458
3ab82477
GM
7459 * fns.c (Fdelete): Make it work on vectors and strings in addition
7460 to lists.
7461
b548072f
GM
7462 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7463 (syms_of_fns): Initialize new variables.
52283633 7464 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7465 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7466 weakness, with t meaning the same as `key-and-value'.
7467
91ae8751
KH
74682000-07-27 Kenichi Handa <handa@etl.go.jp>
7469
7470 * coding.h (struct coding_system): Member safe_charset deleted.
7471
7472 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7473 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7474 New variables.
91ae8751
KH
7475 (coding_safe_chars): New function.
7476 (CODING_SAFE_CHAR_P): New macro.
7477 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7478 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7479 (detect_coding_iso2022): New local variable safe_chars.
7480 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7481 safe_charsets member of the coding system.
7482 (decode_coding_iso2022): New local variable safe_chars.
7483 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7484 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7485 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7486 (ENCODE_UNSAFE_CHARACTER): New macro.
7487 (encode_coding_iso2022): New local variable safe_chars. Check
7488 unsafe chars.
7489 (setup_coding_system): Delete the code to initialize
7490 coding->safe_charses
7491 (intersection, find_safe_codings): New functions.
7492 (Ffind_coding_systems_region_internal): New function.
7493 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7494 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7495 variable and initialize it.
7496
7497 * fns.c (char_table_ref_and_index): New function.
7498
7499 * lisp.h (char_table_ref_and_index): Add prototype.
7500
34a7a267
SS
75012000-07-26 Sam Steingold <sds@gnu.org>
7502
7503 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7504 (Ffloat_time): New built-in Lisp function.
34a7a267 7505
a95cb10a
GM
75062000-07-26 Gerd Moellmann <gerd@gnu.org>
7507
3353ef5a
GM
7508 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7509 for the character code.
7510
7511 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7512 GNU/Linux.
7513
a95cb10a
GM
7514 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7515 if called for a popup menu.
7516 (xmenu_show): Store help string in widget values.
7517
b4a12321
DL
75182000-07-26 Dave Love <fx@gnu.org>
7519
7520 * syswait.h: Move some definitions.
7521 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7522 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7523 perspicuous definitions.
7524 (WTERMSIG): Fix bit pattern used.
7525
13f5ad37
KH
75262000-07-26 Kenichi Handa <handa@etl.go.jp>
7527
7528 * print.c (print_object): If vector printing is truncated, print
7529 "..." to indicate it as well as the case of list printing.
7530
070fe99c
GM
75312000-07-25 Gerd Moellmann <gerd@gnu.org>
7532
969065c3
GM
7533 * xdisp.c (next_element_from_display_vector): Improve comments.
7534
7535 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7536 for the character code, and the rest for the face id as in 20.x.
7537 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7538
7539 * window.c (window_display_table): Cleaned up.
7540
070fe99c
GM
7541 * syntax.c (Fforward_word): Add last arg nil in call of
7542 Fconstrain_to_field.
7543
bad77ef7
EZ
75442000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7545
969065c3 7546 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7547 identical but for the letter-case, don't call
7548 barf_or_query_if_file_exists.
bad77ef7 7549
c28da489
MB
75502000-07-25 Miles Bader <miles@gnu.org>
7551
7552 * editfns.c (find_field): Honor special `boundary' fields.
7553 (Qboundary): New variables.
7554 (syms_of_editfns): Initialize Qboundary.
7555 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7556 Use scan_buffer instead of find_before_next_newline, because it
7557 allows us to detect the boundary case where there's a newline at
7558 the search limit.
7559 * lisp.h (Fconstrain_to_field): Update external declaration.
7560
e3c31fd5
GM
75612000-07-24 Gerd Moellmann <gerd@gnu.org>
7562
7563 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7564 if that is nil.
c28da489 7565
c66c29a2
DL
75662000-07-24 Dave Love <fx@gnu.org>
7567
7568 * s/sunos4-0.h, s/sol2.h:
7569 (LIBS_TERMCAP): Move from m/sparc.h.
7570
7571 * m/sparc.h (TERMINFO): Moved to system files (probably only
7572 relevant for sunos4 judging by its vintage).
7573 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7574 __arch64__.
7575
fbe0a958
EZ
75762000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7577
7578 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7579 name to single_keymap_panes.
7580
7d88e5c9
AS
75812000-07-24 Andreas Schwab <schwab@suse.de>
7582
7583 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7584
e024b101
GM
75852000-07-24 Gerd Moellmann <gerd@gnu.org>
7586
7587 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7588 parameters instead of using int parameters. Expect FN to accept
7589 EMACS_INT parameters.
7590 (display_echo_area, resize_echo_area_axactly, current_message)
7591 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7592 with new argument list.
7593 (resize_mini_window_1): New callback function.
7594 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7595 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7596
25c1a9ce
KH
75972000-07-24 Kenichi Handa <handa@etl.go.jp>
7598
7599 * fontset.c (fontset_ref): Remove INLINE declaration.
7600 (fontset_ref_via_base): Likewise.
7601 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7602 to downcase.
7603
7f987ac0
EZ
76042000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7605
7606 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7607 correct order of priority. If help echo was found in an overlay,
7608 use that overlay as the object in which the help echo was found.
7609
e2db3069
MB
76102000-07-22 Miles Bader <miles@gnu.org>
7611
7612 * textprop.c (Fprevious_single_char_property_change): The initial
7613 property value should be from the position preceding POSITION, not
7614 following it.
7615
5e3203e4
EZ
76162000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7617
7618 * coding.c (syms_of_coding): Doc fix for
7619 inhibit-iso-escape-detection.
7620
62145073
GM
76212000-07-21 Gerd Moellmann <gerd@gnu.org>
7622
c20aeb83
GM
7623 * xterm.c (note_mouse_highlight): Process overlays in the right
7624 order of priority.
34a7a267 7625
743934db
GM
7626 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7627
7628 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7629 overlay, use that overlay as the object in which the help was found.
743934db 7630
d1dc7e43 7631 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7632
62145073
GM
7633 * window.c (foreach_window): Instead of a fake variable argument
7634 list, take one USER_DATA argument.
7635 (foreach_window_1): Likewise, and call callback functions with two
7636 args, the window and USER_DATA.
7637 (struct check_window_data): New struct.
7638 (check_window_containing): Use it.
7639 (window_from_coordinates): Set up a struct check_window_data for
7640 foreach_window.
7641 (add_window_to_list, freeze_window_start): Change parameters
7642 according to new calling convention.
7643
7644 * window.h (foreach_window): Change prototype.
7645
7646 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7647
76482000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7649
7650 * xmenu.c (menu_help_callback): Call show_help_echo with
7651 additional arguments OBJECT and POS.
7652
11270583
KH
76532000-07-21 Kenichi Handa <handa@etl.go.jp>
7654
07b14857
KH
7655 * data.c (Faset): Allow storing any multibyte character in a
7656 string. Convert unibyte string to multibyte if necessary.
7657
11270583
KH
7658 * xfns.c (x_encode_text): New function.
7659 (x_set_name): Use x_encode_text.
7660 (x_set_title): Likewise.
7661
7662 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7663
7664 * xterm.h (x_encode_text): Add prototype.
7665
bc75b4fd
DL
76662000-07-20 Dave Love <fx@gnu.org>
7667
7668 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7669 xfree, not free.
7670
48c14970
EZ
76712000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7672
7673 * msdos.c (help_echo_window): New variable.
7674 (syms_of_msdos): Initialize and staticpro it.
7675 (IT_note_mode_line_highlight): Set help_echo_window.
7676 (IT_note_mouse_highlight): Ditto.
7677 (dos_rawgetc): Store help_echo_window in the second event produced
7678 for HELP_EVENTs.
7679
7680 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7681 Record the object that generated the help echo and the position of
7682 that object in help_echo_object and help_echo_pos. Record that
7683 some glyphs in a row are displayed in mouse-face.
7684 (IT_update_begin): Don't clear mouse highlight unless one of the
7685 enabled glyph rows is marked as being displayed in mouse-face.
7686 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7687 and position recorded in help_echo_object and help_echo_pos to the
7688 event queue.
7689 (IT_menu_display): Accept a new argument PN: the pane number of
7690 the current menu pane. Record the pane number and the item
7691 number of the item which has associated help string.
7692 (XMenuActivate): Update the prototype for help_callback in
7693 function declaration. Call IT_menu_display with the current menu
7694 pane number as an additional argument. Call help_callback with
7695 two additional arguments: the pane number and the item number of
7696 the menu item associated with the help text.
7697 (help_echo_object, help_echo_pos): New variables.
7698 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7699
7700 * msdos.h (XMenuActivate): Update prototype.
7701
4279296d
GM
77022000-07-19 Gerd Moellmann <gerd@gnu.org>
7703
47db06aa
GM
7704 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
7705 Add some more prototypes.
7706
7707 * xterm.c, xterm.h: Add some more prototypes.
7708
7709 * lisp.h (Fnext_single_char_property_change): Add prototype.
7710
7711 * dispnew.c (direct_output_for_insert): Remove confusing
7712 outer local variable mouse_face_overwritten_p.
7713 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
7714
4279296d
GM
7715 * alloc.c (allocate_string_data): Don't copy old string contents.
7716
670acd62
KH
77172000-07-19 Kenichi Handa <handa@etl.go.jp>
7718
7719 * coding.c (code_convert_region): Delete text properties before
7720 shrinking the conversion region.
7721
7cea38bc
GM
77222000-07-18 Gerd Moellmann <gerd@gnu.org>
7723
dc1cac59
GM
7724 * dispnew.c (update_text_area): Write the whole row if it
7725 has mouse-face in it.
7726
85a8aca9
GM
7727 * xfaces.c (face-alternative-font-family-alist): Remove
7728 DEFVAR_LISP; staticpro instead.
7729
34a7a267 7730 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
7731 new arguments.
7732
7733 * keyboard.c (show_help_echo): Add parameter WINDOW.
7734 (read_char): Call show_help_echo with window extracted from Lisp
7735 help event.
7736 (gen_help_event): Add parameter WINDOW.
7737
7738 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
7739
7740 * xterm.c (help_echo_window): New variable.
52283633 7741 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
7742 (XTread_socket): Pass help_echo_window to gen_help_event.
7743 (syms_of_xterm): Initialize and staticpro help_echo_window.
7744
f8276b77
DL
77452000-07-18 Dave Love <fx@gnu.org>
7746
52283633 7747 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 7748
088831a6
GM
77492000-07-18 Gerd Moellmann <gerd@gnu.org>
7750
3d6cd763
GM
7751 * alloc.c (allocate_string_data): If string had already data
7752 assigned, copy old contents to new string data.
7753
7754 * coding.c (syms_of_coding): Fix typo in spelling of variable
7755 `inhibit-iso-escape-detection'.
7756
088831a6
GM
7757 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
7758
7759 * Makefile.in: Add dependencies on dispextern.h.
7760 (alloca.o): Don't define malloc and define EMACS_FREE instead of
7761 `free'; both can conflict with system header files.
7762
bc8a8d55
KH
77632000-07-18 Kenichi Handa <handa@etl.go.jp>
7764
7765 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
7766 undefined.
7767
069f5950
DL
77682000-07-18 Dave Love <fx@gnu.org>
7769
7770 * window.c (Fwindow_list): Declare arg `window'.
7771
aa96c820
KH
77722000-07-18 Kenichi Handa <handa@etl.go.jp>
7773
7774 * coding.c (setup_coding_system): Don't override the explicitly
7775 specified designations.
7776
06be8d32
MB
77772000-07-15 Miles Bader <miles@gnu.org>
7778
7779 * editfns.c (char_property_eq, char_property_stickiness): Renamed
7780 from `text_property_eq' and `text_property_stickiness', respectively.
7781 (find_field, Fconstrain_to_field, char_property_eq)
7782 (char_property_stickiness): Changed to call char-property functions
7783 instead of text-property-only ones.
7784
7785 * textprop.c (Fnext_single_char_property_change): Made a subr (was
7786 `next_single_char_property_change'). Do more error checking, and
7787 cleanup limit behavior.
7788 (Fprevious_single_char_property_change): New function.
7789 (syms_of_textprop): Initialize new subrs.
7790
7791 * xdisp.c (display_prop_end, invisible_text_between_p):
7792 Call Fnext_single_char_property_change instead of
7793 next_single_char_property_change.
7794
3fddcdc3
JR
77952000-07-15 Jason Rumney <jasonr@gnu.org>
7796
7797 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
7798 after menu is finished with.
7799 (add_menu_item): Only consider wv->title as a menu title.
7800 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
7801
7802 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
7803 null title.
7804 (FONT_REGEXP): Remove unused macro, and its sub-components.
7805 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
7806
7807 * w32term.c (help_echo_object, help_echo_pos): New variables.
7808 (note_mode_line_highlight): Store additional information about the
7809 help-echo in help_echo_object and help_echo_pos. Check both
7810 `local-map' and `keymap' properties for changing the cursor
7811 (note_mouse_highlight): Store additional information about the
7812 help-echo in help_echo_object and help_echo_pos.
7813 (note_tool_bar_highlight): Set help_echo_object to nil and
7814 help_echo_pos to -1.
7815 (w32_read_socket): Use gen_help_event instead of filling
7816 input_events manually.
7817 (syms_of_w32term): Staticpro help_echo_object.
7818 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 7819 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
7820 (x_clear_mouse_face): New function.
7821 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
7822 (x_update_window_begin): No need to turn off the mouse
7823 highlight here.
7824 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7825 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
7826 (x_fill_stretch_glyph_string): Consume runs of stretch
7827 glyphs instead of a single one.
7828 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7829 with new argument list.
7830 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7831 (x_append_glyph, x_append_composite_glyph)
7832 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7833 changes in struct glyph starting 1999-12-27. See comments for
7834 xterm.c on 2000-07-05.
7835
178c5d9c
SS
78362000-07-14 Sam Steingold <sds@gnu.org>
7837
7838 * xfaces.c (realize_x_face): Fix the last patch:
7839 check `default_face' before dereferencing.
7840
6fe533f6
DL
78412000-07-14 Dave Love <fx@gnu.org>
7842
069f5950 7843 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7844
dd7b81cf
KH
78452000-07-14 Kenichi Handa <handa@etl.go.jp>
7846
0693904a 7847 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7848 default_face's fontset, not using the default fontset.
0693904a 7849
dd7b81cf
KH
7850 * coding.c (inhibit_iso_escape_detection): New variable.
7851 (syms_of_coding): Make it a Lisp variable.
7852 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7853 nonzero, ignore ISO2022's escape sequence.
7854
d5aa31d8
GM
78552000-07-14 Gerd Moellmann <gerd@gnu.org>
7856
e5acf0ca
GM
7857 * alloca.c (malloc) [emacs]: Define as xmalloc.
7858
bd23a692
GM
7859 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7860 use that instead of the mouse position. Add parameters DX and DY.
7861
7862 * dispextern.h (Fx_show_tip): Adjust number of parameters
7863 in prototype.
7864
9662da0b
GM
7865 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7866 if HELP is a function, call it with OBJECT and POS as parameters
7867 to get the help to display.
7868 (gen_help_event, kbd_buffer_store_help_event): New functions.
7869 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7870 (read_char): Call show_help_echo with new parameters.
7871
178c5d9c 7872 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7873 Add prototypes.
7874
7875 * xterm.c (help_echo_object, help_echo_pos): New variables.
7876 (note_mode_line_highlight): Store additional information about the
7877 help-echo in help_echo_object and help_echo_pos. Check both
7878 `local-map' and `keymap' properties for changing the cursor
7879 (note_mouse_highlight): Store additional information about the
7880 help-echo in help_echo_object and help_echo_pos.
7881 (note_tool_bar_highlight): Set help_echo_object to nil and
7882 help_echo_pos to -1.
7883 (XTread_socket): Use gen_help_event instead of filling
7884 input_events manually.
7885 (syms_of_xterm): Staticpro help_echo_object.
7886
7887 * xmenu.c (menu_highlight_callback): Use
7888 kbd_buffer_store_help_event instead of setting up and input_event
7889 structure manually.
7890
7891 * xdisp.c (eval_form): GCPRO argument sexpr.
7892 (call_function): New function.
7893 (handle_single_display_prop): Use call_function and FUNCTIONP
7894 instead of checking whether if font_height is a symbol and
7895 using eval_form.
7896
7897 * eval.c (internal_condition_case_2): New function.
7898
7899 * lisp.h (FUNCTIONP): New macro.
7900 (internal_condition_case_2, call_function): Add prototypes.
7901
d5aa31d8
GM
7902 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7903 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7904 Always set `arg' member of input_events.
7905 (construct_menu_click): Unused function removed.
7906
7907 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7908
7909 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7910 (construct_drag_n_drop, x_scroll_bar_handle_click)
7911 (w32_read_socket): Always set `arg' member of input_events.
7912
7913 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7914
7915 * lisp.h (eval_form): Add prototype.
7916
7917 * xdisp.c (eval_form): Make it externally visible.
7918
0f1a9b23
GM
79192000-07-13 Gerd Moellmann <gerd@gnu.org>
7920
7921 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7922 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7923 consing. For prefix events, store the frame in the `arg' slot of
7924 the event, otherwise store the key there.
7925 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7926 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7927
7928 * xmenu.c (menu_highlight_callback): Store help string in the
7929 `arg' member of the input event; don't cons.
7930 (menubar_selection_callback): Use the `arg' slot of input events
7931 to queue additional information, instead of consing.
7932
7933 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7934
7935 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7936 TOOL_BAR_EVENTs.
7937 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7938
7939 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7940 input events to queue additional information, instead of consing.
7941
7942 * keyboard.c (kbd_buffer_gcpro): Renamed from
7943 kbd_buffer_frame_or_window. Now used for all Lisp objects
7944 referenced from the input queue.
7945 (kbd_buffer_store_event): Always use structure assignment for
7946 copying input events. Record all Lisp objects referenced from
7947 events in kbd_buffer_gcpro.
7948 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7949 differently from input events. Test for prefix menu_bar_events
7950 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7951 event in kbd_buffer_gcpro to nil.
7952 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7953 frame_or_window is equal to its arg member as prefix events.
7954 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7955 used by an input event to nil.
7956 (init_keyboard): Use two times the size of the input queue
7957 for kbd_buffer_gcpro.
7958 (syms_of_keyboard): Likewise.
7959
52283633
SM
7960 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7961 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7962
7963 * termhooks.h (struct input_event): Add member `arg'.
7964 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7965 (USER_SIGNAL_EVENT): Renamed from user_signal.
7966
7967 * xfaces.c (ASET): Remove definition.
7968
7969 * lisp.h (AREF, ASET, ASIZE): New macros.
7970
7971 * fontset.c (AREF, ASIZE): Remove definitions.
7972
7973 * fns.c (AREF): Remove definition.
178c5d9c 7974
0f1a9b23
GM
7975 * composite.c (AREF): Remove definition.
7976
712eaef2
GM
79772000-07-12 Gerd Moellmann <gerd@gnu.org>
7978
d8ee7803
GM
7979 * dispnew.c (redraw_overlapped_rows): Add missing local.
7980 (scrolling_window): Remove debug code.
7981
712eaef2
GM
7982 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7983 Before scrolling, turn off a mouse-highlight in the window
7984 being scrolled.
7985
7986 * xterm.c (x_update_window_end): Add parameter
7987 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7988 redisplay in XTframe_up_to_date.
7989 (x_clear_mouse_face): New function.
7990 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7991
7992 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7993 current glyph row.
7994 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7995 it when any row is written to that contains glyphs highlighted in
7996 mouse-face.
7997 (update_window): Call the window update end hook with new
7998 parameter MOUSE_FACE_OVERWRITTEN_P.
7999 (direct_output_for_insert): Give up if row contains mouse-face.
8000
8001 * dispextern.h (struct redisplay_interface): Add parameter
8002 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8003 (clear_mouse_face): New function pointer member.
8004
02010917
SM
80052000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8006
8007 * syntax.c (back_comment): Use one switch rather than a few `if's.
8008 Obey open_paren_in_column_0_is_defun_start.
8009 When reverting to the `slow' method, try to nicely handle the case
8010 of nested comments by checking that the comment-starter we found
8011 does indeed match the comment-ender.
8012 (scan_sexps_forward, scan_sexps_forward):
8013 Ignore excessive opening parenthesis rather than throwing an error.
8014
d76c03ea
GM
80152000-07-11 Gerd Moellmann <gerd@gnu.org>
8016
8017 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8018 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8019
8020 * dispnew.c (direct_output_forward_char): Give up if currently
8021 displaying a message instead of the minibuffer contents.
8022
8023 * xterm.c (x_update_window_begin): No need to turn off the mouse
8024 highlight here.
8025 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8026 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8027
8028 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8029 compare the mouse_face_p flags of both rows.
8030
8031 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8032
d55ead18
EZ
80332000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8034
8035 * keyboard.c (show_help_echo): Accept additional parameter
8036 ok_to_overwrite_keystroke_echo.
8037 (read_char): Call show_help_echo with a zero
8038 ok_to_overwrite_keystroke_echo argument.
52283633 8039 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8040 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8041 ok_to_overwrite_keystroke_echo argument.
8042 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8043 non-zero ok_to_overwrite_keystroke_echo argument.
8044
df75b1a3
GM
80452000-07-10 Gerd Moellmann <gerd@gnu.org>
8046
4b92c49a
GM
8047 * xdisp.c (try_window_id): If changes are all below what is
8048 displayed in the window, and point is in the window, we still
8049 might have to find point on the display.
8050
8051 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8052 glyphs instead of a single one.
8053 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8054 with new argument list.
8055 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8056
df75b1a3
GM
8057 * keymap.c (get_keymap_1): Add comment that this function can GC.
8058 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8059 comment that functions can GC.
8060 (Fset_keymap_parent): GCPRO arg KEYMAP.
8061
4314cf3e
EZ
80622000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8063
8064 * msdos.c (XMenuActivate): After exiting the menu, restore the
8065 echo area message and erase it.
8066
ab49ce15
KH
80672000-07-10 Kenichi Handa <handa@etl.go.jp>
8068
8069 * fontset.c (Ffontset_info): Make the return value more compatible
8070 with that of Emacs 20.
8071
090a072f
GM
80722000-07-07 Gerd Moellmann <gerd@gnu.org>
8073
8074 * eval.c (Fsignal): Handle case that backtrace_list is null.
8075
f92de4a6
KH
80762000-07-07 Kenichi Handa <handa@etl.go.jp>
8077
8078 * ccl.c (Fccl_execute): Typo fixed.
8079
dd8888a1
GM
80802000-07-06 Gerd Moellmann <gerd@gnu.org>
8081
e5c81191 8082 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8083
dd8888a1
GM
8084 * window.c (Fwindow_list): Reverse list at the end.
8085 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8086 means allow windows on OWINDOW's frame, only.
8087 (window_loop): Simplified; use Fwindow_list.
8088
8089 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8090
485266d0
GM
80912000-07-05 Gerd Moellmann <gerd@gnu.org>
8092
8093 * xterm.c (XTread_socket): Increment handling_signal at the start,
8094 decrement it at the end.
8095
8096 * eval.c (handling_signal): New variable.
8097 (Fsignal): Abort if handling_signal is non-zero.
8098
8099 * lisp.h (handling_signal): External declaration.
178c5d9c 8100
485266d0
GM
8101 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8102
80fcd514
KR
81032000-07-05 Ken Raeburn <raeburn@gnu.org>
8104
8105 Sound support for NetBSD through "Linux emulation" support:
8106 * config.in (HAVE_SOUNDCARD_H): Undef.
8107 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8108 * Makefile.in (LIBSOUND): New variable.
8109 (LIBES): Include it.
52283633
SM
8110 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8111 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8112 (vox_open): Use DEFAULT_SOUND_DEVICE.
8113 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8114
d5c5cddd
GM
81152000-07-05 Gerd Moellmann <gerd@gnu.org>
8116
8117 * print.c (print_error_message): If Vsignaling_function is set,
8118 show it in *Messages*.
8119
8120 * lisp.h (Vsignaling_function): External declaration.
8121
8122 * eval.c (Vsignaling_function): New variable.
8123 (Fsignal): Compute it.
8124 (syms_of_eval): Staticpro it.
8125
65171e3a
DL
81262000-07-05 Dave Love <fx@gnu.org>
8127
8128 * syswait.h: Use the autoconf recommended approach. Old code
8129 #if'd out in case we need to revert.
8130
178c5d9c 8131 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8132
e2c46326
AI
81332000-07-05 Andrew Innes <andrewi@gnu.org>
8134
8135 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8136 when non-NULL instead of __morecore, to take account of buffer
8137 memory. This also solves a problem with spurious memory warnings
8138 on Windows.
8139
8140 * ralloc.c: Make real_morecore non-static.
8141
8142 * eval.c (internal_condition_case): Comment out abort if
8143 interrupt_input_blocked is not zero.
8144
8145 * makefile.nt: Add support for `bootstrap' and related targets.
8146 Include minimal debug info in emacs.exe in release build.
8147 Remove all dependencies on lisp.h, and fixup some others.
8148
8149 * w32.c (init_environment): Install code from 20.7 for providing
8150 default values for environment variables, based on the
8151 executable's own location.
52283633 8152 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8153 (sys_socket): Install socket inheritance bug fix from 20.7.
8154
8155 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8156 here via blockinput.h).
8157
a027a91b
SM
81582000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8159
e4b31601
SM
8160 * w32menu.c (w32_menu_display_help):
8161 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8162
8163 * keyboard.h (show_help_echo): Declare.
8164
8165 * keyboard.c (show_help_echo): New function, extracted from read_char.
8166 Feval its `msg' argument if it's a cons cell.
8167 (read_char): Use it.
4cf8d9d5 8168 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8169
178c5d9c 8170 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8171 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8172 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8173 (dos_rawgetc):
8174 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8175 (note_tool_bar_highlight, w32_read_socket):
8176 Do not gratuitously ignore non-string `help-echo' properties.
8177
88d75730
GM
81782000-07-05 Gerd Moellmann <gerd@gnu.org>
8179
969f7e79
GM
8180 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8181
71201b00
GM
8182 * window.c (delete_all_subwindows): Reset Vwindow_list.
8183
88d75730
GM
8184 * xterm.c (x_append_glyph, x_append_composite_glyph)
8185 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8186 changes in struct glyph starting 1999-12-27. Some bit-fields of
8187 struct glyph were not set, which made glyphs unequal when compared
8188 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8189 effects were the result. This also depended on the contents of
8190 memory returned by xmalloc. If flickering happens again, activate
8191 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8192 gone with that, chances are that it is caused by something similar.
88d75730
GM
8193
8194 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8195
88d75730
GM
8196 * dispextern.h: Add some comments.
8197
8198 * window.c (add_window_to_list): Add parameter LIST.
8199 (window_list): Order list so that, for each frame, windows are
8200 in canonical order, and so that frames appear in the list in
8201 the order given by Vframe_list.
8202 (next_window): Reverse the handling of NEXT_P.
8203
53654733
GM
82042000-07-04 Gerd Moellmann <gerd@gnu.org>
8205
87efd256
GM
8206 * window.c (Vwindow_list): New variable.
8207 (make_window, delete_window): Set Vwindow_list to nil.
8208 (check_window_containing): New function.
8209 (window_from_coordinates): Rewritten.
8210 (add_window_to_list, window_list, candidate_window_p)
8211 (decode_next_window_args, next_window): New functions.
52283633 8212 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8213 (Fwindow_list): New function.
8214 (Fother_window): Cleaned up.
8215 (foreach_window): Add a longer "variable argument list". Let
8216 callback function return 0 to indicate that cycling over windows
8217 should stop.
8218 (foreach_window_1): Likewise.
8219 (freeze_window_start): Return int.
8220 (init_window): New function.
8221 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8222
8223 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8224 input_event with bzero.
8225 (main): Call init_window.
8226
53654733
GM
8227 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8228 a menu filter.
8229
4a8c194f
KH
82302000-07-04 Kenichi Handa <handa@etl.go.jp>
8231
8232 * composite.h (make_composition_value_copy): Extern it.
8233
8234 * composite.c (make_composition_value_copy): New function.
8235
8236 * editfns.c (Fformat): While copying text properties, make each
8237 composition property value a copy.
8238
8239 * fns.c (concat): While copying text properties, make each
8240 composition property value a copy.
8241
831a6cb0
GM
82422000-07-03 Gerd Moellmann <gerd@gnu.org>
8243
2f516940
GM
8244 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8245
178c5d9c 8246 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8247 marked already.
8248
831a6cb0
GM
8249 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8250 include those frames as candidates which have their focus
8251 redirected to the minibuffer frame.
8252
d9c4f922
SM
82532000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8254
8255 * fns.c (Fputhash): Return `value' rather than nil.
8256
3780bc22
GM
82572000-06-30 Gerd Moellmann <gerd@gnu.org>
8258
97d176db
GM
8259 * frame.c (next_frame): Don't check focus redirection in case
8260 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8261 unless their focus is redirected, which contradicts the
8262 specification of next-frame, and leads to infinite loops in
8263 certain situations when cycling through windows with next-window.
8264
dca9961d
KH
82652000-06-30 Kenichi Handa <handa@etl.go.jp>
8266
8267 * coding.c (code_convert_region): Even if the length of text is
8268 zero, try to convert it if coding->type is coding_type_ccl.
8269 (decode_coding_string, encode_coding_string): Likewise.
8270
d5483ab1
GM
82712000-06-28 Gerd Moellmann <gerd@gnu.org>
8272
af5c25e1 8273 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8274 the display if windows_or_buffers_changed.
af5c25e1
GM
8275
8276 * dispnew.c (struct row_entry): New structure.
8277 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8278 (row_table_size, old_lines, new_lines, old_lines_size)
8279 (new_lines_size, run_pool, runs_size, runs): New variables.
8280 (add_row_entry): New function.
8281 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8282 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8283 holding them in local variables. Use a larger hash table whose
8284 size depends on glyph matrix sizes. Don't use bzero to clear the
8285 hash table; instead, clear used slots only.
8286
8287 * fns.c (next_almost_prime): Make it externally visible.
8288
8289 * lisp.h (next_almost_prime): Add prototype.
8290
d5483ab1
GM
8291 * s/isc4-0.h (sigunblock): Define.
8292
8293 * s/sco5.h (sigunblock): Define.
8294
93e40f40
DL
82952000-06-27 Dave Love <fx@gnu.org>
8296
8297 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8298 (moved to osf5-0.h).
8299 [!NOT_C_CODE]: Protect string.h stuff.
8300
8301 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8302 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8303
3c4b7685
GM
83042000-06-27 Gerd Moellmann <gerd@gnu.org>
8305
97d176db 8306 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8307 below the last line from the needed window height.
8308
32cad0aa
SM
83092000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8310
8311 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8312 (Fwidget_get): Use it.
8313 (syms_of_fns): Defsubr it.
8314
2c69ced2
GM
83152000-06-26 Gerd Moellmann <gerd@gnu.org>
8316
178c5d9c 8317 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8318 display info for XIM.
8319 (xim_open_dpy): Likewise.
8320 (xim_close_dpy): Don't free the display info's XIM.
8321
8322 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8323
8324 * config.in (USE_XIM): New define.
8325
3fc720e4
GM
8326 * keymap.c (get_keyelt): For menu-items containing a `:filter
8327 FILTER', apply FILTER to the menu-item's definition to get the
8328 real definition to use.
8329
8330 * lisp.h (QCfilter): External declaration.
8331
2c69ced2
GM
8332 * xfns.c (Fimage_size): New function.
8333 (syms_of_xfns): Defsubr it.
8334
f978b2a2
AS
83352000-06-26 Andreas Schwab <schwab@suse.de>
8336
8337 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8338 Fstring_as_unibyte.
8339
94cc7892
DL
83402000-06-25 Dave Love <fx@gnu.org>
8341
52283633 8342 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8343
8344 * Makefile.in (blockinput.h): Depend on atimer.h.
8345 (atimer.h): Depend on systime.h.
8346
52283633 8347 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8348
52283633 8349 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8350
8351 * lisp.h (swap_in_global_binding): Declare.
8352
b8c24556
KR
83532000-06-24 Ken Raeburn <raeburn@gnu.org>
8354
8355 * process.c (Fopen_network_stream): Turn off atimers for duration
8356 of call to connect. (Patch from Gerd.)
8357
8cf8560b
DL
83582000-06-23 Dave Love <fx@gnu.org>
8359
511c7541
DL
8360 * ralloc.c: Maybe include unistd.h
8361
8cf8560b
DL
8362 * emacs.c (setgrp): Undefine before defining.
8363 (malloc_warning, set_time_zone_rule, index): Prototype.
8364
8365 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8366 HAVE_STRUCT_TIMEZONE.
8367
8368 * s/osf1.h: Move string.h hack here from alpha.h and make it
8369 conditional.
8370 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8371 _XOPEN_SOURCE.
8372 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8373 (SOCKLEN_TYPE): Don't define.
8374
8375 * m/alpha.h: Remove string.h hack.
8376
8377 * s/osf5-0.h: New file.
8378
8379 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8380 include time.h, done by systime.h.
8381 [__FreeBSD__]: Remove redundant includes.
8382
3fc720e4 8383 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8384 (delete_temp_file): Return Qnil to avoid warning.
8385
8386 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8387
8388 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8389 HAVE_X_WINDOWS.
8390
8391 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8392
8393 * composite.h (compose_text): Declare.
8394
8395 * xterm.c: Don't include sys/types.h unconditionally. Don't
8396 protect its inclusion with !USG (following xmenu.c).
8397
ea055732
GM
83982000-06-23 Gerd Moellmann <gerd@gnu.org>
8399
8400 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8401 in x_create_frame.
8402
74b01b80
EZ
84032000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8404
8405 * coding.c (decode_eol_post_ccl): Special handling for undecided
8406 and inconsistent EOL types.
8407
64f3a166
GM
84082000-06-22 Gerd Moellmann <gerd@gnu.org>
8409
16cf31f7
GM
8410 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8411 trough color and main window's background color.
8412
52283633 8413 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8414
8415 * xterm.h (Xt_app_con): External declaration.
8416
8417 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8418
486a103d
GM
8419 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8420
64f3a166
GM
8421 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8422 (handle_invisible_prop): Record the start of invisible text in
8423 it->add_overlay_start.
8424 (struct overlay_entry): Add member `overlay'.
8425 (handle_overlay_change): Simplify.
8426 (next_overlay_string): After having processed overlay strings at the
8427 end of the buffer, record that fact in
8428 it->overlay_strings_at_end_processed_p.
8429 (compare_overlay_entries): If before- and after-strings come
8430 from the same overlay, let before-strings come first.
8431 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8432 (load_overlay_strings): Take it->add_overlay_start into account
8433 when adding overlay strings.
8434
8435 * dispextern.h (struct it): Add member add_overlay_start.
8436
bb746ea6
DL
84372000-06-22 Dave Love <fx@gnu.org>
8438
8439 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8440
8441 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8442
a8f573f3
KH
84432000-06-22 Kenichi Handa <handa@etl.go.jp>
8444
8445 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8446 is greater than 0.
8447
9f2bbc92
DL
84482000-06-21 Dave Love <fx@gnu.org>
8449
178c5d9c 8450 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8451
3ee5041c
SM
84522000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8453
8454 * syntax.c (back_comment): Simplify string-parity counting (with
8455 the added benefit of handling multiple string-styles as long as
8456 they are not intertwined).
8457 Jump to the slow code as soon as a comment starter is found in
8458 a "string_lossage" position. Fixes the case: " /* " /* " */.
8459
4c343001
DL
84602000-06-21 Dave Love <fx@gnu.org>
8461
8462 * Makefile.in: Use GETLOADAVG_LIBS.
8463
8464 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8465 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8466
e6365855
SM
84672000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8468
8469 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8470 (Fforward_comment, scan_lists):
8471 Check the comstyle of single-char comment-starters.
8472 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8473 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8474 Check the comstyle of single-char comment-starters.
8475 Clarify control-flow around the Scomment case.
e6365855 8476
5700d2cc
DL
84772000-06-20 Dave Love <fx@gnu.org>
8478
d355bd8a
SM
8479 * fns.c (make_hash_table, maybe_resize_hash_table):
8480 Cast arg of next_almost_prime.
5700d2cc 8481
178c5d9c 8482 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8483
8484 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8485 and unistd.h.
8486
4a27bdfb
GM
84872000-06-20 Gerd Moellmann <gerd@gnu.org>
8488
a61d762c 8489 * keyboard.c (adjust_point_for_property): Check if display
52283633 8490 property should be treated as intangible by looking at its value.
a61d762c 8491
178c5d9c 8492 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8493 (display_prop_intangible_p): New functions.
8494
8495 * dispextern.h (display_prop_intangible_p): Add prototype.
8496
8497 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8498
4a27bdfb
GM
8499 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8500 argument to sigprocmask.
8501
8502 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8503 argument to sigprocmask.
8504
8505 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8506 sigprocmask_set, and pass a pointer to it to sigprocmask.
8507
8508 * sysdep.c (sigprocmask_set): New variable.
8509
8510 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8511 report_file_error.
8512
427ec082
SS
85132000-06-20 Sam Steingold <sds@gnu.org>
8514
8515 * xrdb.c: Don't declare xmalloc, xrealloc.
8516
8972fe79 85172000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8518
8519 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8520 (re_comp): Cast gettext return value to avoid complaints when
8521 !HAVE_LIBINTL.
8522
074b6efe
DL
85232000-06-20 Dave Love <fx@gnu.org>
8524
52283633 8525 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8526
5700d2cc 8527 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8528
d355bd8a 8529 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8530
8531 * m/alpha.h: Don't declare xmalloc, xrealloc.
8532
0af4f205
DL
8533 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8534
8535 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8536
8537 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8538
8539 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8540 HAVE_GETWD.
8541
074b6efe
DL
8542 * keyboard.h (poll_for_input_1): Declare.
8543
8544 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8545
8546 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8547
8548 * doprnt.c: Don't declare xmalloc, xrealloc.
8549
8550 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8551 (getenv, ctime, getwd): Removed.
8552 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8553
8554 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8555 x_set_tool_bar_lines.
8556
8557 * config.in: Add HAVE_GETWD. Move some definitions above
8558 machine/system includes.
8559
68a5e97b
KH
85602000-06-20 Kenichi Handa <handa@etl.go.jp>
8561
95417e1e
KH
8562 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8563
68a5e97b
KH
8564 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8565 contain information about ENCODING.
8566
8567 * fontset.c (FONTSET_ASCII): Use the first element of char table
8568 for an ASCII font, not defalt slot.
8569 (fontset_ref_via_base): If FONTSET doesn't contain information for
8570 C, try the default fontset.
8571 (make_fontset): Don't copy the default fontset.
8572 (fontset_font_pattern): Likewise.
8573 (accumulate_font_info): If ELT is nil, use the corresponding
8574 element in the default fontset.
8575
3b4fa1b2
DL
85762000-06-19 Dave Love <fx@gnu.org>
8577
943e731c
DL
8578 * syntax.c (Fparse_partial_sexp): Doc fix.
8579
8580 * regex.h: Test PROTOTYPES as well as __STDC__.
8581
3b4fa1b2
DL
8582 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8583 errno, strerror. Put text after #endif in comment.
8584
52283633 8585 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8586
8587 * xterm.c (x_frame_of_widget): Likewise.
8588
cdf0357b
GM
85892000-06-19 Gerd Moellmann <gerd@gnu.org>
8590
8591 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8592 to Vfundamental_mode_abbrev_table.
8593
8594 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8595 bogus objects are marked. This slows down GC by ~80 percent, but
8596 it might be worth trying when debugging GC-related problems.
8597 This feature requires conservative stack marking to be enabled.
8598
8599 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8600 returns XLookupChars, reset `modifiers' to zero.
8601
998e9f8c
DL
86022000-06-19 Dave Love <fx@gnu.org>
8603
8604 * mktime.c: Unprotoized.
8605
18e21ce8 86062000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8607
8608 * data.c (set_internal): If variable is frame-local,
8609 store the new value immediately into the frame parameter alist.
8610
140c4ac6
KR
86112000-06-19 Ken Raeburn <raeburn@gnu.org>
8612
14358466
KR
8613 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8614 in the custom handler pointer.
8615
140c4ac6
KR
8616 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8617 value, or checks for CHAR_META can fail when Lisp_Object is a
8618 union type.
8619 * keymap.c (get_keyelt): Likewise.
8620
10d7bf84
KH
86212000-06-19 Kenichi Handa <handa@etl.go.jp>
8622
8623 * ccl.h (struct ccl_program): New member eol_type.
8624 (struct ccl_spec): New member cr_carryover.
8625
8626 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8627 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8628
8629 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8630 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8631 (decode_eol_post_ccl): New function.
8632 (decode_coding): Don't detect EOL format here for CCL based coding
8633 systems.
8634 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8635 decode_eol_post_ccl after running the CCL program.
8636 (code_convert_region): Don't detect EOL format here for CCL based
8637 coding systems.
8638 (decode_coding_string): Likewise.
8639
52e386c2
KR
86402000-06-18 Ken Raeburn <raeburn@gnu.org>
8641
8642 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8643 when treating it as an integer.
8644
8645 * coding.h (encode_coding_string): Declare.
8646
8647 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8648 it as an integer.
8649
8650 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8651 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8652 to be passed to get_local_map.
8653
8654 * sound.c (Fplay_sound): Don't call make_number on
8655 Frun_hook_with_args count argument.
8656
8657 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8658 for lisp objects in X event structure data field, when lisp
8659 objects are represented with unions.
8660 (x_scroll_bar_to_input_event): Ditto.
8661
b357b9d4
KR
86622000-06-16 Ken Raeburn <raeburn@gnu.org>
8663
8664 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8665 termination of string. Fix sense of test whether
8666 Vline_number_display_limit is an integer.
b357b9d4 8667
a871441d
GM
86682000-06-16 Gerd Moellmann <gerd@gnu.org>
8669
a9021acd
GM
8670 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8671 only if HAVE_X_WINDOWS.
8672
6344985d
GM
8673 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8674 of titles.
8675
427ec082 8676 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8677 out of bounds.
8678
228b083e
EZ
86792000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8680
8681 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8682 of its headers.
8683
c25b53a2
KH
86842000-06-15 Kenichi Handa <handa@etl.go.jp>
8685
8686 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8687 start of the while loop.
8688
a6981b11
GM
86892000-06-15 Gerd Moellmann <gerd@gnu.org>
8690
e9924e52
GM
8691 * atimer.c (alarm_signal_handler): Add forward declaration.
8692
a6981b11
GM
8693 * data.c (set_internal): Remove debug code.
8694
25fa6deb
GM
86952000-06-14 Gerd Moellmann <gerd@gnu.org>
8696
dce6b995
GM
8697 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8698
9f817ea4
GM
8699 * unexec.c (toplevel) [COFF]: Include coff.h.
8700
8701 * s/lynxos.h: New file.
8702
8703 * keymap.c (Fsingle_key_description): Enclose function key and
8704 event symbol names in angle brackets.
8705
8a4e3c0c
GM
8706 * xdisp.c (setup_echo_area_for_printing): Call
8707 message_log_maybe_newline if message_buf_print is not set.
8708
8709 * print.c (printchar, strout): Don't check message_buf_print
427ec082 8710 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
8711 function does something useful even when message_buf_print is
8712 already set.
8713
52283633
SM
8714 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
8715 New variables.
25fa6deb
GM
8716 (ensure_echo_area_buffers): Initialize echo buffer's
8717 truncate lines setting to nil.
8718 (with_echo_area_buffer): Don't set the echo buffer's truncate
8719 lines setting here.
8a4e3c0c 8720 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
8721 of message_truncate_lines.
8722 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
8723 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
8724 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
8725
8726 * keyboard.c (read_char): Bind message-truncate-lines to t
8727 while displaying a help-echo.
8728
8729 * lisp.h (Qmessage_truncate_lines): External declaration.
8730
163dcff3
GM
87312000-06-13 Gerd Moellmann <gerd@gnu.org>
8732
1681ead6
GM
8733 * xdisp.c (Vline_number_display_limit): Renamed from
8734 line_number_display_limit.
8735 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
8736 Extend documentation string. Initialize
8737 Vline_number_display_limit to nil meaning no limit.
8738 (decode_mode_spec): Use Vline_number_display_limit with its new
8739 meaning.
8740
163dcff3
GM
8741 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
8742
18e21ce8 87432000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
8744
8745 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 8746
163dcff3
GM
8747 * xfns.c (x_set_frame_parameters): Comment fix.
8748
8749 * frame.c (store_frame_param): Call swap_in_global_binding if the
8750 variable's current binding was chosen based on this frame.
8751
8752 * data.c (swap_in_global_binding): New function.
8753
a704139d
EZ
87542000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8755
8756 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
8757 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
8758
9b6610db
EZ
87592000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
8760
8761 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
8762
c68833d2
JR
87632000-06-12 Jason Rumney <jasonr@gnu.org>
8764
8765 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
8766
8767 * w32.h (EMACS_W32_H): Renamed from _NT_H_
8768
8769 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
8770
8771 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
8772
ed1056b3
GM
87732000-06-12 Gerd Moellmann <gerd@gnu.org>
8774
8775 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
8776 (syms_of_xfaces): Defsubr Sdump_colors.
8777 (x_free_colors): Don't treat b&w specially on default visual.
8778 (x_free_dpy_colors): New function.
8779 (free_face_colors): Don't check visual class; it's done
8780 in x_free_colors.
8781
8782 * xterm.c (x_frame_of_widget): New function.
8783 (x_alloc_nearest_color_for_widget): Use it.
8784 (x_copy_dpy_color): New function.
8785 (x_destroy_window): Free various colors.
8786
5050a2ef
KH
87872000-06-12 Kenichi Handa <handa@etl.go.jp>
8788
8789 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
8790
8791 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
8792
8793 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
8794
8795 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
8796
8797 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
8798
fb1b041d
DL
87992000-06-11 Dave Love <fx@gnu.org>
8800
8801 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
8802
ff96b5f4
EZ
88032000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
8804
8805 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
8806
db8eeecd
GM
88072000-06-11 Gerd Moellmann <gerd@gnu.org>
8808
ed1056b3 8809 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
8810 to `XEvent *'.
8811
49b71c5f
KH
88122000-06-10 Kenichi Handa <handa@etl.go.jp>
8813
c479bd55
KH
8814 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
8815 (regex_compile): Fix the code for handling the case of single byte
8816 char and multibyte char being mixed in a range within [...].
8817
ff6a65c2
KH
8818 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
8819 and dst_multibyte members of coding.
8820
49b71c5f
KH
8821 * charset.c (update_charset_table): Update the table
8822 bytes_by_char_head.
8823 (init_charset_once): Initialize elements of bytes_by_char_head to
8824 1 except for leading codes for private charases.
8825
8826 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 8827 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 8828
9e80b57d
KR
88292000-06-09 Ken Raeburn <raeburn@gnu.org>
8830
8831 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8832 access the data it doesn't point to.
8833
f83fe4b4
GM
88342000-06-08 Gerd Moellmann <gerd@gnu.org>
8835
8836 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8837 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8838 event queue. This is necessary because Emacs otherwise won't
8839 perform a switch-frame to a new frame until some other event, for
8840 example a keystroke event, forces it to do so. This has various
8841 effects, one visible being that the cursor of a frame created with
8842 C-x 5 2 or switched to with a window manager key binding like
8843 A-TAB stays hollow because selected_window isn't on the newly
8844 focused frame until the switch-frame is performed.
8845
8846 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8847 generating a switch-frame event if necessary.
8848
8849 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8850
8851 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8852 it's an integer.
8853
0890801b
KH
88542000-06-08 Kenichi Handa <handa@etl.go.jp>
8855
52283633 8856 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8857
173cbca8
GM
88582000-06-07 Gerd Moellmann <gerd@gnu.org>
8859
3091c2a6
GM
8860 * window.c (displayed_window_lines): Take empty lines at
8861 the bottom of a window into account.
427ec082 8862
f38952fe
GM
8863 * window.c (displayed_window_lines): New function.
8864 (Fmove_to_window_line): Use displayed_window_lines to determine
8865 the number of lines to move, instead of using the window's height.
8866
8867 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8868 to stop reading, even if the form read sets point to a different
8869 value when evaluated.
8870
427ec082 8871 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8872 put the cursor.
8873
6ba6c818
KH
88742000-06-07 Kenichi Handa <handa@etl.go.jp>
8875
8876 * fileio.c (e_write): Free composition data if stored in
8877 coding->cmp_data.
8878
5f1aea9a
GM
88792000-06-06 Gerd Moellmann <gerd@gnu.org>
8880
666852af
GM
8881 * xdisp.c (display_line): Set row's and iterator's
8882 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8883 Set cursor even if row ends in the middle of a character.
8884 (dump_glyph_row): Print values of new flags.
8885 (redisplay_window) <cursor movement in unchanged window>: When
8886 point has been moved forward, and PT is at the end of the cursor
8887 row, don't place the cursor in the next row if the cursor row ends
8888 in the middle of a character or at ZV.
8889
8890 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8891 (struct glyph_row): Add starts_in_middle_of_char_p and
8892 ends_in_middle_of_char_p.
8893 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8894 ends_in_middle_of_char_p flag.
8895 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8896
d13f3e2e
GM
8897 * term.c (append_glyph): Revert change of 2000-06-06.
8898
8899 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8900 padding glyph not fitting on line as whole character not
8901 fitting on line.
8902
5f1aea9a
GM
8903 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8904 this isn't true for images with `:ascent 100'.
8905
10cda9b0
KH
89062000-06-06 Kenichi Handa <handa@etl.go.jp>
8907
ed00559d
KH
8908 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8909 as modified if it is originally unmodified.
8910
10cda9b0
KH
8911 * term.c (encode_terminal_code): Change the way to check if
8912 terminal coding does any conversion.
8913 (append_glyph): Set glyph->pixel_width correctly.
8914
8915 * xdisp.c (display_line): While checking line continuation, pay
8916 attention to a padding glyph.
8917
1969fae2
GM
89182000-06-05 Gerd Moellmann <gerd@gnu.org>
8919
8920 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8921
162ccef4
DL
89222000-06-05 Dave Love <fx@gnu.org>
8923
f19f32dd
DL
8924 * xdisp.c: Include fontset.h.
8925
8926 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8927
8928 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8929
8930 * dispnew.c: Conditionally include term.h.
8931
8932 * coding.h: Declare code_convert_string_norecord.
8933
8934 * frame.h (struct frame): Use volatile unconditionally.
8935
8936 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8937
8938 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8939
8940 * systime.h: Protect against multiple inclusion.
8941 (timezone) [USG5_4]: Define as time_t.
8942
8943 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8944 (Foptimize_char_table, make_temp_name): Declare.
8945
8946 * Makefile.in (xdisp.o): Depend on fontset.h.
8947
8948 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8949
8950 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8951 (Foptimize_char_table, make_temp_name): Declare.
8952
427ec082 8953 * s/irix4-0.h:
162ccef4
DL
8954 * s/irix5-0.h:
8955 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8956
2082fe81
DL
89572000-06-02 Dave Love <fx@gnu.org>
8958
8959 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8960
dcf671d2
GM
89612000-06-02 Gerd Moellmann <gerd@gnu.org>
8962
8963 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8964 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8965 be freed.
8966
8967 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8968 glyph, use the ASCII NUL character to determine the face.
8969
d42122a3
DL
89702000-06-02 Dave Love <fx@gnu.org>
8971
8972 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8973 (VFORK_RETURN_TYPE): Remove.
427ec082 8974
d42122a3
DL
8975 * config.in: Add NO_MATHERR.
8976
dd432f16
DL
89772000-06-01 Dave Love <fx@gnu.org>
8978
90aa4ea8
DL
8979 * cmds.c (internal_self_insert): Don't check
8980 Vbefore_change_function, Vafter_change_function.
8981
8982 * insdel.c (signal_before_change, signal_after_change): Likewise.
8983
8984 * buffer.c (Vbefore_change_function, Vafter_change_function):
8985 Variables and their initializations deleted.
8986
2330c9d4
DL
8987 * callint.c (Fcall_interactively): Doc fix.
8988
dd432f16
DL
8989 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8990
bf9e8804
DL
89912000-05-31 Dave Love <fx@gnu.org>
8992
8993 * textprop.c: Revert last change -- duplicated.
8994
3694b4ab
GM
89952000-05-31 Gerd Moellmann <gerd@gnu.org>
8996
8997 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8998 in #if 0.
8999
9000 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9001
f14156cd
JR
90022000-05-31 Jason Rumney <jasonr@gnu.org>
9003
8119aab8
JR
9004 * search.c (Fre_search_forward, Fre_search_backward)
9005 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9006
f14156cd
JR
9007 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9008
4aab9be3
JR
90092000-05-30 Jason Rumney <jasonr@gnu.org>
9010
9011 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9012 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9013
52283633 9014 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9015
9016 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9017 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9018 expand a nil default_filename.
9019
9020 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9021 pointer to glyph_to_pixel_coords, not a frame.
9022
9023 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9024 coding.h to dependencies.
9025
9026 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9027
9028 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9029 window pointer to be consistent with w32term.c and xterm.c.
9030
9031 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9032 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9033 (Qline_spacing, Qcenter): New variables.
9034 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9035 (x_set_line_spacing): New function.
52283633 9036 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9037 (x_specified_cursor_type): New function.
9038 (x_set_cursor_type): Use it.
9039 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9040 and icon strings.
9041 (validate_x_resource_name, x_get_resource_string): Measure lengths
9042 of external strings in bytes.
9043 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9044 GetTextExtentPoint32 with NULL title.
9045 (Fx_create_frame): Initialize Qline_spacing.
9046 (w32_load_system_font): Initialize font->double_byte_p.
9047 (x_to_w32_charset): Use Vw32_charset_info_alist.
9048 (Image, busy cursor, tooltip functions): Merged changes from
9049 xfns.c. Not yet functional on Windows.
9050
9051 * w32gui.h (W32FontStruct): Add double_byte_p member.
9052
9053 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9054 (emacs_button_translation): Use it.
9055 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9056 in `mask' to be set.
9057
9058 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9059 menu strings.
9060
9061 * w32term.c: Format and doc changes to bring closer to xterm.c.
9062 (w32_char_font_type): New enum.
9063 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9064 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9065 (w32_encode_char): New function.
9066 (x_encode_char): Removed.
9067 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9068 x_encode_char and w32_font_is_double_byte.
9069 (x_produce_image_glyph): Use image_ascent.
9070 (x_produce_glyphs): Use new version of w32_per_char_metric and
9071 handle NULL return value. Allow extra line spacing.
9072 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9073 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9074 w32_font_type member of glyph instead.
9075 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9076 (fast_find_position): Make sure not to consider rows not visible
9077 in the window.
9078 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9079 w32_menu_display_help with input blocked, as it can abort.
9080 (x_display_and_set_cursor): Choose cursor depending
9081 on buffer-local value of cursor_type.
9082 (x_draw_bar_cursor): Add parameter WIDTH.
9083
9084 * w32term.h (CP_DEFAULT): Define.
9085 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9086
10fc3187
GM
90872000-05-30 Gerd Moellmann <gerd@gnu.org>
9088
9089 * search.c (Fre_search_forward, Fre_search_backward)
9090 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9091
d0555360
KH
90922000-05-30 Kenichi Handa <handa@etl.go.jp>
9093
9094 * coding.c (detect_coding_iso2022): Fix code for checking
9095 CODING_CATEGORY_MASK_ISO_8_2.
9096
f1ad044f
SM
90972000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9098
9099 * regex.c (PREFETCH_NOLIMIT): New function.
9100 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9101
84ec3b4b
GM
91022000-05-29 Gerd Moellmann <gerd@gnu.org>
9103
66254a13
GM
9104 * syntax.c (find_defun_start): Move test for
9105 open_paren_in_column_0_is_defun_start outside of the loop.
9106
49e70dec
GM
9107 * xdisp.c (redisplay_window): Really switch buffers when
9108 displaying mode lines, and temporarily set selected_frame to the
9109 frame of the window that's redisplayed.
9110
84ec3b4b
GM
9111 * xfaces.c (free_realized_faces): Block/unblock input.
9112 (free_realized_multibyte_face): Ditto.
9113
869a3a14
DL
91142000-05-29 Dave Love <fx@gnu.org>
9115
9116 * textprop.c (Qkeymap): New variable.
9117 (syms_of_textprop): Intern it.
9118
9119 * keymap.c: Include intervals.h.
9120 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9121
9122 * Makefile.in (keymap.o): Depend on intervals.h.
9123
9124 * keyboard.c (menu_bar_items, tool_bar_items)
9125 (Fexecute_extended_command): Deal with `keymap' property.
9126 (read_key_sequence): Track map from `keymap' property as well as
9127 `local_map'.
9128
9129 * intervals.c (get_local_map): Extra arg to allow looking for
9130 `keymap' too.
9131
9132 * intervals.h (map_property): New enum.
9133 (get_local_map): Extra arg using it.
9134 (Qkeymap): Declare.
9135
84ec3b4b 9136 * lisp.h (get_local_map): Don't declare here.
869a3a14 9137
89d0c844
KH
91382000-05-29 Kenichi Handa <handa@etl.go.jp>
9139
9140 * Makefile.in (callproc.o): Depend on composite.h.
9141
9142 * callproc.c: Include composite.h.
9143 (Fcall_process): Handle composition correctly.
9144
9145 * coding.h (coding_allocate_composition_data): Extern it.
9146 (coding_restore_composition): Likewise.
9147
9148 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9149 yet allocated, finish decoding with result
9150 CODING_FINISH_INSUFFICIENT_CMP.
9151 (coding_allocate_composition_data): Make it non-static.
9152 (coding_restore_composition): Likewise.
9153
797a084a
EZ
91542000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9155
9156 * charset.c (syms_of_charset): Revert last change.
9157
cf872af5
EZ
91582000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9159
9160 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9161 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9162 Handa.
cf872af5 9163
5b1ae051
EZ
91642000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9165
9166 * charset.c (syms_of_charset): Set width of character sets
9167 eight-bit-control and eight-bit-graphic to 1 column.
9168
34ec9ebe
GM
91692000-05-26 Gerd Moellmann <gerd@gnu.org>
9170
9171 * config.in (HAVE_SPEED_T): New define.
9172
9173 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9174 `extern speed_t'.
9175
dd854dc2
DL
91762000-05-26 Dave Love <fx@gnu.org>
9177
9178 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9179
9180 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9181 (Fsubr_arity): New function.
9182 (syms_of_data): Install them.
9183
ba9f8f95
KH
91842000-05-26 Kenichi Handa <handa@etl.go.jp>
9185
0f3e0672
KH
9186 * charset.c (init_charset_once): Set the table bytes_by_char_head
9187 correctly.
9188
cebefb44
KH
9189 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9190 the default fontset to what Emacs uses by default.
0f3e0672
KH
9191 (check_registry_encoding): This function deleted.
9192 (Fset_fontset_font): Remove the adhoc condition for the default
9193 fontset. Allow cons in FONTNAME.
cebefb44 9194
0f3e0672
KH
9195 * fns.c (map_char_table): Ignore char-table entries for
9196 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9197
7a18af49
KR
91982000-05-25 Ken Raeburn <raeburn@gnu.org>
9199
9200 * emacs.c (main): Initialize keyboard syms before initializing
9201 window code, so face names are available.
9202
d2af47df
SM
92032000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9204
9205 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9206 of an anchor at the beginning of a shy-group.
9207
fc6a6a4e
GM
92082000-05-25 Gerd Moellmann <gerd@gnu.org>
9209
9210 * xdisp.c (handle_invisible_prop): Don't try to skip over
9211 invisible text if end of text is already reached.
9212
005f0d35
DL
92132000-05-25 Dave Love <fx@gnu.org>
9214
02513cdd
DL
9215 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9216
005f0d35
DL
9217 * coding.c (encode_eol): Add null statement after label.
9218
89f6ca4e
EZ
92192000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9220
9221 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9222 2000-05-20.
9223
a4e1759e
KH
92242000-05-25 Kenichi Handa <handa@etl.go.jp>
9225
9226 * ccl.c (ccl_driver): Fix previous change.
9227
eacfd7fe
KH
92282000-05-25 Kenichi Handa <handa@etl.go.jp>
9229
46ab33a9
KH
9230 * coding.c (run_pre_post_conversion_on_str): Set point to the
9231 beginning of buffer before calling coding->post_read_conversion.
9232 (decode_coding_string): Give correct args to
9233 run_pre_post_conversion_on_str.
9234 (encode_coding_string): Likewise.
9235
eacfd7fe
KH
9236 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9237 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9238 eight-bit-graphic correctly.
9239
f8569325
DL
92402000-05-24 Kenichi HANDA <handa@etl.go.jp>
9241
9242 * fileio.c (Finsert_file_contents): Even if a file is not found,
9243 execute codes for setting up coding system. Call
9244 after-insert-file-functions unconditionally.
9245
04545643
GM
92462000-05-24 Gerd Moellmann <gerd@gnu.org>
9247
9248 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9249 BSD_PGRPS are not defined.
9250
747d90ea
KH
92512000-05-24 Kenichi Handa <handa@etl.go.jp>
9252
9253 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9254 DESCRIPTION.
9255 (syms_of_charset): Avoid building same strings.
9256
716e3b88
GM
92572000-05-23 Gerd Moellmann <gerd@gnu.org>
9258
9259 * lread.c (Fload): Add a comment about the meaning of
9260 Vuser_init_file being t.
9261
9262 * puresize.h (BASE_PURESIZE): Increase to 675000.
9263
9264 * s/gnu-linux.h (setpgrp): Don't define it here because this
9265 prevents compilation on GNU/Linux systems with glib 2.2.
9266
9267 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9268 as setpgid.
427ec082 9269
9aeb39fa
EZ
92702000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9271
9272 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9273 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9274 version.
9275 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9276
29ced61b
KH
92772000-05-23 Kenichi Handa <handa@etl.go.jp>
9278
52283633 9279 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9280
3d80f24d
KH
9281 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9282
52283633 9283 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9284
29ced61b
KH
9285 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9286
d7e00792
KH
92872000-05-22 Kenichi Handa <handa@etl.go.jp>
9288
c9d80d38
KH
9289 * keyboard.c (read_char): Allow character codes 128..255 to be
9290 handled by input-method-function.
9291
d7e00792
KH
9292 * insdel.c (adjust_markers_for_replace): Fix previous change.
9293 (adjust_after_replace): If PREV_TEXT is nil, call
9294 adjust_markers_for_insert, not adjust_markers_for_replace.
9295
087121cc 92962000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9297
087121cc
GM
9298 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9299 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9300 [HAVE_GRANDPT]: Define.
9301 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9302
9303 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9304 like SYSV_PTYS.
9305
9306 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9307
9308 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9309
c9671f81
KH
93102000-05-20 Kenichi Handa <handa@etl.go.jp>
9311
9312 The following changes are to handle 8-bit characters in a
9313 multibyte buffer/string without facing with byte combining
9314 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9315 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9316
9317 * Makefile.in (fns.o): Depend on charset.h.
9318
9319 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9320 convert it to unibyte.
9321 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9322
9323 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9324 apparent char boundary.
9325 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9326 0x80..0x9F to/from multibyte form.
9327
9328 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9329 to unibyte.
9330
9331 * callproc.c (Fcall_process): Always encode an argument string if
9332 it is multibyte. Setup src_multibyte and dst_multibyte members of
9333 process_coding properly.
ce75fd23 9334
c9671f81
KH
9335 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9336 SPLIT_NON_ASCII_CHAR.
9337
9338 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9339 as is.
9340 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9341
52283633 9342 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9343 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9344 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9345 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9346 and eight-bit-graphic.
9347 (char_to_string): Likewise. Signal an error for too large
9348 character code.
9349 (char_printable_p): Return 0 for 8-bit characters.
9350 (update_charset_table): Update iso_charset_table only when a final
9351 character is non-negative.
9352 (find_charset_in_text): Renamed from find_charset_in_str.
9353 Arguments and return value changed. Callers changed.
9354 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9355 be -1 if CHARSET is used only internally.
9356 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9357 eight-bit-graphic.
9358 (Fcharset_after): Simplified.
9359 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9360 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9361 (multibyte_chars_in_text): Simplified by assuming there's no
9362 invalid multibyte sequence.
52283633
SM
9363 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9364 (str_as_unibyte): New functions.
9365 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9366 (init_charset_once): Initialization for
9367 LEADING_CODE_8_BIT_CONTROL.
9368 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9369 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9370 eight-bit-control and eight-bit-graphic.
9371
52283633
SM
9372 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9373 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9374 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9375 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9376 (CHARSET_REVERSE_CHARSET): Likewise.
9377 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9378 eight-bit-graphic.
9379 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9380 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9381 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9382 encounter an invalid multibyte sequence.
9383 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9384 sequence is always valid.
9385 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9386 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9387 (CHAR_STRING): For 8-bit characters, call char_to_string.
9388 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9389 multibyte sequence is always valid.
9390 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9391 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9392 (str_as_unibyte): Extern them.
c9671f81 9393 (BCOPY_SHORT): Fix a bug.
52283633 9394 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9395 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9396 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9397 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9398
bd4bde7f 9399 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9400 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9401 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9402 (EMIT_BYTES): New macros.
9403 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9404 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9405 macros deleted.
9406 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9407 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9408 check the validity of multibyte sequence.
9409 (decode_coding_emacs_mule): New function.
9410 (encode_coding_emacs_mule): New macro.
9411 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9412 the source.
9413 (DECODE_ISO_CHARACTER): Just return a character code.
9414 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9415 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9416 EMIT_CHAR to produced decoded characters. Exit the loop only by
9417 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9418 block here.
9419 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9420 only position codes for an invalid character.
9421 (encode_designation_at_bol): Return new destination pointer. 5th
9422 arg DSTP is changed to DST.
9423 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9424 from the source by ONE_MORE_CHAR. Don't handle the case of last
9425 block here.
9426 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9427 macros deleted.
52283633
SM
9428 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9429 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9430 TWO_MORE_BYTES to fetch a byte from the source.
9431 (encode_eol): Pay attention to coding->src_multibyte.
9432 (detect_coding, detect_eol): Preserve members src_multibyte and
9433 dst_multibyte.
9434 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9435 (encoding_buffer_size): Set magnification to 3 for all coding
9436 systems that require encoding.
9437 (ccl_coding_driver): For decoding, be sure that the result is
9438 valid multibyte sequence.
9439 (decode_coding): Initialize coding->errors and coding->result.
9440 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9441 and raw-text, always call decode_eol. Handle the case of last
9442 block here. If not coding->dst_multibyte, convert the resulting
9443 sequence to unibyte.
9444 (encode_coding): Initialize coding->errors and coding->result.
9445 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9446 and raw-text, always call encode_eol. Handle the case of last
9447 block here.
9448 (shrink_decoding_region, shrink_encoding_region): Detect cases
9449 that we can't skip data more rigidly.
9450 (code_convert_region): Setup src_multibyte and dst_multibyte
9451 members of coding. For decoding, if the buffer is multibyte,
9452 convert the source sequence to unibyte in advance. For encoding,
9453 if the buffer is multibyte, convert the resulting sequence to
9454 multibyte afterward.
9455 (run_pre_post_conversion_on_str): New function.
9456 (code_convert_string): Deleted and divided into the following two.
9457 (decode_coding_string, encode_coding_string): New functions.
9458 (code_convert_string1, code_convert_string_norecord): Call one of
9459 above.
9460 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9461 MAKE_NON_ASCII_CHAR.
52283633
SM
9462 (Fset_terminal_coding_system_internal)
9463 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9464 and dst_multibyte members.
9465 (init_coding_once): Initialize iso_code_class with new enum
9466 ISO_control_0 and ISO_control_1.
9467
9468 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9469 devided into ISO_control_0 and ISO_control_1.
9470 (struct coding_system): New members src_multibyte, dst_multibyte,
9471 errors, and result. Delete member fake_multibyte.
9472 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9473 nonzero.
9474 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9475 nonzero.
9476
9477 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9478 (Faset): Likewise.
9479
9480 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9481 multibyte form.
9482 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9483 combining occurs.
9484 (Ftranspose_region): Delete codes for handling byte combining.
9485
9486 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9487 dst_multibyte members of coding. On handling REPLACE on unibyte
9488 buffer, convert the result of decode_coding to unibyte. On
9489 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9490 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9491 multibyteness of the source (buffer or string).
9492
9493 * fns.c (concat): Handle 8-bit characters correctly.
9494 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9495 unibyte in the result.
9496 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9497 valid multibyte form in the result.
9498 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9499 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9500 return -1, signal an error.
9501 (base64_encode_1): New arg MULTIBYTE. Get each character by
9502 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9503 character is found, return -1.
9504 (Fbase64_decode_region): Delete codes for handling byte-combining.
9505 Treat each decoded byte as a unibyte character.
9506 (Fbase64_decode_string): Return unibyte string.
9507 (Fcompare_strings, concat, string_byte_to_char): Use
9508 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9509 FETCH_STRING_CHAR_ADVANCE.
9510 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9511 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9512
9513 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9514 SPLIT_NON_ASCII_CHAR.
9515 (fontset_ref_via_base, fontset_set): Likewise
9516
9517 * insdel.c (adjust_markers_for_record_delete): Deleted.
9518 (adjust_markers_for_insert): Argument changed. Caller changed.
9519 (adjust_markers_for_replace): Likewise.
52283633
SM
9520 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9521 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9522 (copy_text): Delete unused local varialbe c_save. For converting
9523 to multibyte, be sure to make all 8-bit characters in valid
9524 multibyte form.
9525 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9526 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9527 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9528 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9529 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9530 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9531 handling byte combining.
9532 (adjust_before_replace): Deleted.
427ec082 9533
c9671f81
KH
9534 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9535 SPLIT_NON_ASCII_CHAR.
9536 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9537 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9538 (Fkey_description): Likewise.
9539
9540 * lread.c (read1): On reading multibyte string, be sure to make
9541 all 8-bit chararacters in valid multibyte form.
9542 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9543
9544 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9545 unconditionally.
9546
9547 * process.c (Fstart_process): GCPRO current_dir before calling
9548 Ffind_operation_coding_system. Encode arguments here.
9549 (create_process): Don't encode arguments here. Setup
9550 src_multibyte and dst_multibyte members of struct coding.
9551 (read_process_output): Setup src_multibyte and dst_multibyte
9552 members of struct coding. If the output is to multibyte buffer,
9553 always decode the output of the process. Adjust the
52283633 9554 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9555 (send_process): Setup coding->src_multibyte according to the
9556 multibyteness of the source.
9557
52283633 9558 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9559 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9560 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9561
52283633 9562 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9563
9564 * w16select.c (Fw16_set_clipboard_data): Setup members
9565 src_multibyte and dst_multibyte of coding. Adjusted for the
9566 change for find_charset_in_str.
9567 (Fw16_get_clipboard_data): Likewise.
9568
9569 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9570 dst_multibyte of coding.
9571 (x_to_w32_font): Likewise.
9572
9573 * w32select.c (Fw32_set_clipboard_data): Setup members
9574 src_multibyte and dst_multibyte of coding. Adjusted for the
9575 change for find_charset_in_str.
9576 (Fw32_get_clipboard_data): Likewise.
9577
9578 * xdisp.c (get_next_display_element): Handle 8-bit characters
9579 correctly.
52283633
SM
9580 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9581 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9582
9583 * xselect.c (selection_data_to_lisp_data): Setup members
9584 src_multibyte and dst_multibyte of coding. Adjusted for the
9585 change for find_charset_in_str.
9586 (lisp_data_to_selection_data): Likewise.
9587
5f64c9e0
GM
95882000-05-19 Gerd Moellmann <gerd@gnu.org>
9589
52283633 9590 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9591
5f64c9e0
GM
9592 * dispextern.h (Vimage_types): Add extern declaration.
9593
9594 * xdisp.c (Vimage_types): Moved here from xfns.c.
9595 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9596
9597 * xfns.c (Vimages_types): Moved to xdisp.c.
9598 (syms_of_xfns): Move `image-types' to xdisp.c.
9599
9600 * w32fns.c (Vimage_types): Removed.
9601 (syms_of_w32fns): Remove `image-types'.
9602
813086ea
KH
96032000-05-18 Kenichi Handa <handa@etl.go.jp>
9604
9605 * fns.c (map_char_table): Pay attention to character number of
9606 charset. Check the validity of charset at the first level. For
9607 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9608 the default value.
9609
9610 * fontset.c: Include "buffer.h".
9611 (fs_load_font): If the face has fontset, record the face ID in
9612 that fontset.
9613 (Finternal_char_font): New function.
9614 (accumulate_font_info): New function.
9615 (Ffontset_info): Rewritten for the new fontset implementation.
9616 (syms_of_fontset): Register Vdefault_fontset in the first element
9617 of Vfontset_table. Include Vdefault_fontset in
9618 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9619 function.
9620
bdaebbf0
DL
96212000-05-16 Dave Love <fx@gnu.org>
9622
9623 * m/iris5d.h: Deleted -- unused.
9624
cb613bb8
GM
96252000-05-16 Gerd Moellmann <gerd@gnu.org>
9626
b15f3b77
GM
9627 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9628 `invalid' instead of `illegal'.
9629
9630 * indent.c (Fmove_to_column): When ending within a tab, insert
9631 spaces first so that markers at the end of the tab get adjusted.
9632
835c1b36
GM
9633 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9634 buffer list that wasn't selected in that frame.
9635
cb613bb8
GM
9636 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9637 is needed on mescaline, use a 2 char prefix, and call
9638 make_temp_name with second arg non-zero.
9639
9640 * fileio.c (make_temp_name): New function, extracted from
9641 Fmake_temp_name.
9642 (Fmake_temp_name): Use it.
9643
f685bea9
EZ
96442000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9645
52283633 9646 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9647
a1b8d58b
GM
96482000-05-15 Gerd Moellmann <gerd@gnu.org>
9649
9650 * Makefile.in (lisp): Add env.elc.
9651
9652 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9653
a265079f
GM
96542000-05-12 Gerd Moellmann <gerd@gnu.org>
9655
9656 * search.c (Freplace_match): Handle case of `\N' in the
9657 replacement when there's no group N.
9658
da4496b6
GM
96592000-05-11 Gerd Moellmann <gerd@gnu.org>
9660
0ace421a
GM
9661 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9662 of the message to message_dolog.
9663
1172eb8d
GM
9664 * keyboard.c (read_char): Don't clear current message for help
9665 events; let the code handling help events handle this. Change
9666 code detecting help events that should be ignored.
9667
da4496b6
GM
9668 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9669 we're interating over a string.
9670
0623e40f
DL
96712000-05-09 Dave Love <fx@gnu.org>
9672
9673 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9674 that offset before writing. Move gcpro region past call of
9675 Ffile_regular_p.
9676
bae2503b
DL
96772000-05-04 Dave Love <fx@gnu.org>
9678
9679 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9680
ec82fb2f
GM
96812000-05-04 Gerd Moellmann <gerd@gnu.org>
9682
9683 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9684 of inserted characters when BUF equals the current buffer, and PT
9685 is in front of or equal to FROM.
9686
cbf18892
GM
96872000-05-03 Gerd Moellmann <gerd@gnu.org>
9688
4ff40dd0
GM
9689 * xdisp.c (handle_single_display_prop): If display property value
9690 is invalid, or something not supported on the frame, restore
9691 iterator's position to what it was initially. Make sure to return
9692 0 for invalid and unsupported property values.
9693
cbf18892
GM
9694 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9695 that x_per_char_metric returns null.
9696
1b0672c3
GM
96972000-05-02 Gerd Moellmann <gerd@gnu.org>
9698
576da55d
GM
9699 * xterm.h (struct face): Add forward declaration.
9700 (struct image): Ditto.
9701 (image_ascent): Add prototype.
9702
9703 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
9704 (x_draw_image_relief, x_draw_image_foreground_1): Call function
9705 image_ascent instead of using IMAGE_ASCENT.
9706
9707 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
9708 (IMAGE_ASCENT): Removed.
9709
9710 * xfns.c (Qcenter): New variable.
9711 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
9712 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
9713 (image_ascent): New function.
9714 (lookup_image): Recognize `:ascent center'.
9715 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
9716 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9717 (xbm_load): Don't set image's ascent here.
9718 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
9719 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
9720 check ascent values here.
9721 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
9722 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
9723 (syms_of_xfns): Initialize Qcenter.
9724
1b0672c3
GM
9725 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
9726 to the limits, increase the limits.
9727
0d7811ed
KH
97282000-05-01 Kenichi Handa <handa@etl.go.jp>
9729
9730 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 9731 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 9732
a943a5ca
GM
97332000-04-28 Gerd Moellmann <gerd@gnu.org>
9734
9735 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
9736 taller than the window.
9737
5dba1e29
KH
97382000-04-28 Kenichi Handa <handa@etl.go.jp>
9739
9740 * xfaces.c (realize_x_face): Fix the argument of the second
9741 xassert. BASE_FACE may not be a face for ASCII.
9742
353964e3
GM
97432000-04-27 Gerd Moellmann <gerd@gnu.org>
9744
c76e04a8
GM
9745 * print.c (print_object): Treat print-length < 0 as nil.
9746
9747 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
9748
9749 * s/freebsd.h (TERMCAP_OBJ): Removed.
9750 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
9751
9752 * lread.c (read1): Don't treat period followed by certain
9753 characters as symbol start.
9754
9755 * xfns.c (slurp_file): New function.
9756 (xbm_image_p): Handle case of in-memory XBM files.
9757 (xbm_scan): Rewritten to work on memory buffers instead of files.
9758 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
9759 Work on memory buffers instead of files. If DATA is null test
9760 if buffer looks like an in-memory XBM file.
9761 (xbm_load_image): Renamed from xbm_load_image_file. Work on
9762 memory buffers instead of files.
9763 (xbm_file_p): New function.
9764 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
9765
353964e3
GM
9766 * lread.c (end_of_file_error): New function.
9767 (read1): Call it instead of signaling `end-of-file' directly.
9768
427ec082 9769 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
9770 with Fprinc instead of Fprin1.
9771
24d744ac
KR
97722000-04-26 Ken Raeburn <raeburn@gnu.org>
9773
9774 * window.c (freeze_window_start): Check that minibuffer scroll
9775 window isn't nil before extracting the window structure pointer
9776 from it.
9777
9778 * undo.c (record_delete): If we hit the end of the undo list, stop
9779 picking elements apart.
9780
7464346d
GM
97812000-04-26 Gerd Moellmann <gerd@gnu.org>
9782
9783 * xdisp.c (display_line): If lines are continued, restore
9784 iterator's ascent/descent information to the values before the
9785 first glyph not fitting on the line.
9786
612839b6
GM
97872000-04-25 Gerd Moellmann <gerd@gnu.org>
9788
9789 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 9790 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
9791
9792 * dispnew.c (increment_matrix_positions): Renamed from
9793 increment_glyph_matrix_buffer_positions.
9794 (increment_row_positions): Renamed from
9795 increment_glyph_row_buffer_positions.
9796
9797 * dispextern.h: Change names of renamed functions from dispnew.c
9798 in prototypes.
9799
cc181e95
GM
98002000-04-24 Gerd Moellmann <gerd@gnu.org>
9801
abfcc168
GM
9802 * fileio.c (Fdo_auto_save): Create directories for auto-save
9803 list file if necessary.
9804
cc181e95
GM
9805 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
9806 from buffer or frame.
9807 (automatic_hscrolling_p): New variable.
9808 (hscroll_windows): Scroll windows horizontally only if automatic
9809 hscrolling is allowed.
9810 (syms_of_xdisp): New variable `automatic-hscrolling'.
9811
9812 * frame.h (struct frame): Add member extra_line_spacing.
9813
9814 * xfns.c (x_set_line_spacing): New function.
9815 (Fx_create_frame): Set line spacing from resources.
9816 (Qline_spacing): New variable.
9817 (syms_of_xfns): Initialize Qline_spacing.
427ec082 9818
cc181e95
GM
9819 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
9820
9821 * buffer.c (init_buffer_once): Handle extra_line_spacing.
9822 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 9823 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
9824 extra_line_spacing from default value.
9825 (init_buffer_once): Initialize default value of extra_line_spacing.
9826
9827 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
9828 and extra3.
9829
9830 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9831 prompt_width. Add extra line spacing.
9832
9833 * term.c (produce_glyphs): Remove reference to struct it's
9834 prompt_width.
9835
9836 * dispextern.h (struct it): Remove member prompt_width, add
9837 extra_line_spacing.
9838
58827478
GM
98392000-04-22 Gerd Moellmann <gerd@gnu.org>
9840
9841 * dispnew.c (update_frame_line): When writing a whole line, make
9842 sure cursor is in the right row afterwards, otherwise a use of
9843 capability `ch' in cmgoto might leave the cursor in the row below.
9844
25a87f42
GM
98452000-04-21 Gerd Moellmann <gerd@gnu.org>
9846
9847 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9848
9849 * keyboard.c (timer_check): Fix typo in comment.
9850
54edf5c2
KH
98512000-04-21 Kenichi Handa <handa@etl.go.jp>
9852
9853 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9854 name change: ch -> character.
9855
3a64eef5
GM
98562000-04-20 Gerd Moellmann <gerd@gnu.org>
9857
9858 * keyboard.c (echo_message_buffer): New variable.
9859 (echo_now): Set echo_message_buffer to the echo area buffer used
9860 to display the echo.
9861 (cancel_echoing): Reset echo_message_buffer to nil.
9862 (read_char): Code rewritten that handles canceling an echo or
9863 echoing a dash, respectively.
9864
9865 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9866 directory doesn't exist.
9867
6142fdcb
DL
98682000-04-19 Dave Love <fx@gnu.org>
9869
9870 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9871 (concat): Don't allow numeric args.
9872 (Fconcat): Doc change.
6142fdcb 9873
ac6b5352
SM
98742000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9875
9876 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9877 instead define end_match(1|2) more carefully.
9878 Use GET_CHAR_BEFORE_2 for `begline'.
9879
cb9215e4
GM
98802000-04-19 Gerd Moellmann <gerd@gnu.org>
9881
5e3dac3f
GM
9882 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9883 on 64-bit systems where NULL is defined as `0'.
9884
9885 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9886 the `variable argument list' to make it work on Alpha.
9887
cb9215e4
GM
9888 * m/alpha.h (_LP64) [!_LP64]: Define.
9889 (ORDINARY_LINK): Define for NetBSD.
9890
9891 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9892
f532dca0
DL
98932000-04-19 Dave Love <fx@gnu.org>
9894
c750667e
DL
9895 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9896 change.
9897
9898 * Makefile.in (LIBS): Don't use.
9899 (GETLOADAVG_OBJ): Define again.
9900 (otherobj): Add GETLOADAVG_OBJ.
9901
f532dca0
DL
9902 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9903
1c7e22fd
GM
99042000-04-18 Gerd Moellmann <gerd@gnu.org>
9905
f6d3257b
GM
9906 * lread.c (read_filtered_event): Cancel and start busy cursor.
9907
427ec082 9908 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9909 that the per-character metrics may be null.
9910
e10f64e7
GM
99112000-04-17 Gerd Moellmann <gerd@gnu.org>
9912
0daee095
GM
9913 * buffer.c (clone_per_buffer_values): New function.
9914 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9915 clone_per_buffer_values if CLONE is not nil.
9916
e10f64e7
GM
9917 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9918
38687d43
DL
99192000-04-16 Dave Love <fx@gnu.org>
9920
9921 * Makefile.in: Remove obsolete localcpp stuff.
9922 (GETLOADAVG_OBJ): Don't define.
9923 (obj): Move LIBOBJS...
9924 (otherobj): ... to here.
9925 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9926 whitespace-only lines after the continuation (Irix).
9927
c21c7262
GM
99282000-04-14 Gerd Moellmann <gerd@gnu.org>
9929
9930 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9931
9932 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9933
314767c0
DL
99342000-04-14 Dave Love <fx@gnu.org>
9935
9936 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9937 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9938 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9939 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9940 NLIST_STRUCT.
9941
9942 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9943 autoconfiscated HAVE_GETLOADAVG.
9944
9945 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9946 BROKEN_MKTIME.
9947
a2522dca
GM
99482000-04-14 Gerd Moellmann <gerd@gnu.org>
9949
9950 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9951 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9952
33744b5d
DL
99532000-04-14 Dave Love <fx@gnu.org>
9954
c21c7262 9955 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9956 (INTERVAL_SRC): Convert to make variable.
9957 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9958 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9959 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9960 add LIBOBJS.
9961 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9962 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9963 (shortlisp): Add facemenu, float-sup, frame.
9964 (SOME_MACHINE_LISP): Remove them from here.
9965 (LIBES): Change unused LDLIBS to autoconf LIBS.
9966
9967 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9968
9d3d5916
KH
99692000-04-14 Kenichi Handa <handa@etl.go.jp>
9970
9971 * composite.c (update_compositions): If FROM and TO are not in a
9972 valid range, do nothing.
9973
198e3c7a
GM
99742000-04-13 Gerd Moellmann <gerd@gnu.org>
9975
52283633 9976 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9977
52283633 9978 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9979
9980 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9981 as TERMCAP_OBJ.
9982
055a28c9
EZ
99832000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9984
9985 * fileio.c (a_write): Remove redundant semi-colons.
9986 (e_write): Return -1 if failed to write all the data.
9987 This fixes the changes made at 1999-12-15.
9988
f5c75033
DL
99892000-04-12 Dave Love <fx@gnu.org>
9990
9991 * fns.c (mapcar1): Test for null vals to support mapc.
9992 (Fmapc): New function.
9993
0c3cfc51
EZ
99942000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9995
9996 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9997 (IT_frame_up_to_date): Support the buffer local value of
9998 cursor-type, if defined.
9999
33465a31
DL
100002000-04-10 Dave Love <fx@gnu.org>
10001
10002 * editfns.c (preceding-char, following-char): Doc fix.
10003
6ed56568
KR
100042000-04-10 Ken Raeburn <raeburn@gnu.org>
10005
10006 * Makefile.in (temacs): Revert 2000-03-12 change.
10007
7cf80d4e
JR
100082000-04-10 Jason Rumney <jasonr@gnu.org>
10009
10010 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10011
34f3f342
GM
100122000-04-10 Gerd Moellmann <gerd@gnu.org>
10013
1a1b1895
GM
10014 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10015 area buffer, if it's not set up yet.
10016
34f3f342
GM
10017 * indent.c (compute_motion): Set immediate_quit.
10018
be0dbdab
GM
100192000-04-09 Gerd Moellmann <gerd@gnu.org>
10020
52283633 10021 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10022 (realize_tty_face): Suppress boldness if colors are the inverse of
10023 the default colors, and tty_suppress_bold_inverse_default_colors_p
10024 is set.
10025 (Ftty_suppress_bold_inverse_default_colors): New function.
10026 (syms_of_xfaces): Defsubr it.
10027
be0dbdab
GM
10028 * buffer.c (Frestore_buffer_modified_p): New function.
10029 (syms_of_buffer): Defsubr it.
10030
e8413c3b
KR
100312000-04-08 Ken Raeburn <raeburn@gnu.org>
10032
87f67317
KR
10033 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10034 charset id (int) argument, not a charset (Lisp_Object).
10035
e8413c3b
KR
10036 * coding.h (code_convert_string): Declare.
10037 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10038 object, as the fourth argument to code_convert_string.
10039
52283633 10040 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10041 (Fset_fontset_font): Use EQ to compare lisp objects.
10042
7c752c80
KR
100432000-04-05 Ken Raeburn <raeburn@gnu.org>
10044
c0333abc
KR
10045 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10046 a pointer that looks like a lisp object.
10047 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10048 zero, instead see whether it's an integer object, since they can't
10049 have intervals.
10050 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10051
52283633
SM
10052 * dispnew.c (allocate_matrices_for_frame_redisplay)
10053 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10054 to convert between (unsigned) int values and lisp integers.
10055 * keyboard.c (read_key_sequence): Likewise.
10056 * lread.c (substitute_object_recurse): Likewise.
10057 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10058 * minibuf.c (do_completion, Fminibuffer_complete_word)
10059 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10060 * term.c (produce_special_glyphs): Likewise.
10061
10062 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10063 * print.c (print_preprocess, print_object): Likewise.
10064
10065 * search.c (compile_pattern): Use NILP when checking for nil.
10066
74e49b38
KR
10067 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10068 __OPTIMIZE__]: Provide a GNU C macro version that handles
10069 lisp-object unions.
10070 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10071 field, to better cope with ENABLE_CHECKING and calls that modify a
10072 Lisp_Object using its old value.
10073
685e5ed2
GM
100742000-04-04 Gerd Moellmann <gerd@gnu.org>
10075
c407c570
GM
10076 * window.c (compare_window_configurations): Signal an error
10077 if parameters C1 or C2 aren't window configurations.
10078
685e5ed2
GM
10079 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10080 AFTER_POTENTIAL_GC calls around calls to functions that can
10081 signal an error and thus invoke the debugger.
10082
587a49ab
GM
100832000-04-03 Gerd Moellmann <gerd@gnu.org>
10084
62f20204
GM
10085 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10086 an error if decoding fails.
10087
587a49ab
GM
10088 * keyboard.c (lispy_mouse_names): Variable removed.
10089 (Vlispy_mouse_stem): New variable.
10090 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10091 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10092 for any mouse button number. Increase size of mouse_syms and
10093 button_down_location as needed. Call modify_event_symbol with
10094 different arguments.
10095 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10096 Call modify_event_symbol with different arguments.
10097 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10098 for any button number. Call modify_event_symbol with different
10099 arguments.
10100 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10101 Accept a string for NAME_ALIST_OR_STEM.
10102
10103 * lisp.h (larger_vector): Add prototype.
10104
10105 * fns.c (larger_vector): Make externally visible.
10106
10107 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10108
2d1675e4
SM
101092000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10110
10111 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10112 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10113 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10114 we are between str1 and str2.
10115 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10116 (PATFETCH): Use `TRANSLATE'.
10117 (PATFETCH_RAW): Fetch multibyte char if applicable.
10118 (PATUNFETCH): Remove.
10119 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10120 When writing a char, write it directly into the pattern buffer rather
10121 than going needlessly through a temp char-array.
10122 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10123 multibyte magic and remove the useless `#ifdef emacs'.
10124 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10125 buffer.
10126
10127 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10128 conditional on `emacs'.
10129
10130 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10131
cc2d8c6b
KR
101322000-04-01 Ken Raeburn <raeburn@gnu.org>
10133
10134 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10135 non-union-type versions of XMARK and friends here, because XMARK
10136 and friends won't work on an integer field if NO_UNION_TYPE is not
10137 defined.
52283633 10138 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10139
52283633 10140 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10141 (syms_of_composite): Delete local var NARGS, pass an int as first
10142 argument to Fmake_hash_table.
10143
2387b382
KR
10144 * editfns.c (text_property_stickiness): Use NILP to test
10145 Lisp_Object boolean value.
10146 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10147 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10148 problems reading from and changing the same lisp value in an
10149 XSETSTRING call.
10150
27660e89
GM
101512000-04-01 Gerd Moellmann <gerd@gnu.org>
10152
10153 * term.c (TN_no_color_video): New variable.
10154 (term_init): Intitialize TN_no_color_video.
10155 (enum no_color_bit): New enumeration.
10156 (MAY_USE_WITH_COLORS_P): New macro.
10157 (turn_on_face): Use it to determine if attributes may be used
10158 combined with colors.
10159
3578db3c
KR
101602000-04-01 Ken Raeburn <raeburn@gnu.org>
10161
10162 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10163 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10164 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10165 proper accessor macros.
10166 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10167 (grow_mini_window): Fix typo getting int value of root->height.
10168
6fc556fd
KR
10169 * xdisp.c (compute_string_pos): Fix order of arguments to
10170 string_pos_nchars_ahead.
10171 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10172 count arg to variable-arg routines like Frun_hook_with_args and
10173 Fformat.
587a49ab
GM
10174 (back_to_previous_visible_line_start)
10175 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10176 fixed-arg routines like Fget_char_property and Fmake_string.
10177 (reconsider_clip_changes): Use XINT when comparing integer lisp
10178 objects, or passing them as int arguments.
587a49ab
GM
10179 (mark_window_display_accurate, insert_left_trunc_glyphs)
10180 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10181 storing or passing integer values as lisp objects.
10182 (set_cursor_from_row, highlight_trailing_whitespace): Use
10183 INTEGERP, not implicit test against zero, for glyph object.
10184 (try_window_id): Don't use make_number when we want an int value.
10185
10186 * xfaces.c (xlfd_symbolic_value): Make last argument a
10187 Lisp_Object, to be consistent with callers.
10188 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10189 (lface_hash): Apply XFASTINT to lisp values before folding in.
10190
10191 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10192 fill in window width and height. Pass an int, not a lisp object,
10193 as first arg to Finsert.
10194
6e7b2457
GM
101952000-04-01 Gerd Moellmann <gerd@gnu.org>
10196
610d841e
GM
10197 * xfaces.c (realize_basic_faces): Block input while realizing
10198 the faces.
10199
6e7b2457
GM
10200 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10201
10202 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10203
aa110c0c
GM
102042000-03-31 Gerd Moellmann <gerd@gnu.org>
10205
10206 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10207 or ASCII, handle case that per-char metric is null.
aa110c0c 10208
8801a864
KR
102092000-03-30 Ken Raeburn <raeburn@gnu.org>
10210
c6129d7e
KR
10211 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10212
52283633
SM
10213 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10214 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10215 pointer, using eassert.
10216 * frame.h (XFRAME): Likewise.
10217
52283633
SM
10218 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10219 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10220 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10221 * data.c (set_internal): Likewise.
52283633
SM
10222 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10223 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10224 * fileio.c (auto_save_1): Likewise.
10225 * insdel.c (check_markers): Likewise.
10226 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10227 * undo.c (record_insert): Likewise.
10228 * vmsproc.c (child_sig): Likewise.
10229 * window.c (unshow_buffer, window_loop): Likewise.
10230 * xterm.c (x_erase_phys_cursor): Likewise.
10231
8e7af858
GM
102322000-03-30 Gerd Moellmann <gerd@gnu.org>
10233
10234 * xfns.c (free_image_cache): Free the cache structure itself
10235 last, after all its members have been freed.
10236
10237 * lisp.h (xstrdup): Add prototype.
10238
10239 * alloc.c (xstrdup): Moved here from xfaces.c.
10240 (allocating_for_lisp): Variable removed.
52283633 10241 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10242
10243 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10244 of Fsymbol_value.
10245 (xstrdup): Moved to alloc.c.
10246
e0b8c689
KR
102472000-03-29 Ken Raeburn <raeburn@gnu.org>
10248
b96f9fb7
KR
10249 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10250
10251 * emacs.c (main): Fix sense of no-loadup test.
10252
e0b8c689
KR
10253 * config.in (ENABLE_CHECKING): Undef.
10254
10255 * lisp.h (struct interval): Replace "parent" field with a union of
10256 interval pointer and Lisp_Object; add new bitfield to use as
10257 discriminant. Change other flag fields to bitfields.
10258 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10259 is defined and the supplied test fails, print a message and abort.
10260 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10261
10262 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10263 pointers; abort if the value looks like a lisp object.
52283633
SM
10264 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10265 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10266 Modify for new interval parent definition.
10267
52283633
SM
10268 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10269 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10270 addressable lisp object in the interval structure.
10271 (die): New function.
10272 (suppress_checking): New variable.
10273
10274 * intervals.c (interval_start_pos): Just return 0 if there's no
10275 parent object.
10276
f83c5440
GM
102772000-03-29 Gerd Moellmann <gerd@gnu.org>
10278
10279 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10280 and earlier Emacs versions.
10281
10282 * keyboard.c (Ftop_level): Cancel busy-cursor.
10283
10284 * eval.c (call_debugger): Cancel busy-cursor.
10285
fdce64ff
KH
102862000-03-29 Kenichi Handa <handa@etl.go.jp>
10287
10288 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10289 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10290
f6a3f532
SM
102912000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10292
10293 * regex.c (analyse_first): New function obtained by ripping out most
10294 of re_compile_fastmap and generalizing it a little bit so that it
10295 can also just return whether a given (sub)pattern can match the empty
10296 string or not.
10297 (regex_compile): Use `analyse_first' to decide whether the loop-check
10298 needs to be done or not for *, +, *? and +? (the loop check is costly
10299 for non-greedy repetition).
10300 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10301
e9b309ac
DL
103022000-03-28 Dave Love <fx@gnu.org>
10303
52283633 10304 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10305
e9b309ac
DL
10306 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10307
ed0767d8
SM
103082000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10309
10310 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10311 an expression.
10312 (enum re_opcode_t): Update description of succeed_n.
10313 (PATFETCH): Always define.
10314 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10315 operators, char classes, shy-groups and intervals).
10316 Optimize special cases of intervals so as to only use succeed_n and
10317 jump_n when really needed.
10318 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10319 that we don't have to handle the special cases any more.
10320 Simplify on_failure_jump handling as well.
10321
e11e7e46
JR
103222000-03-28 Jason Rumney <jasonr@gnu.org>
10323
10324 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10325
88faab89
GM
103262000-03-27 Gerd Moellmann <gerd@gnu.org>
10327
182ff242
GM
10328 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10329
10330 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10331
182ff242
GM
10332 * alloc.c (mark_maybe_object): New function.
10333 (mark_memory): Use it.
10334 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10335 (setjmp_tested_p, longjmp_done): New variables.
10336 (test_setjmp): New function.
10337 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10338 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10339
c1005d06
GM
10340 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10341 to DEC_TEXT_POS and INC_TEXT_POS.
10342
10343 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10344 with parameter MULTIBYTE_P.
10345
52283633 10346 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10347
7439e5b9 10348 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10349 buffers because it looks for multibyte character byte sequences
10350 which don't exist in unibyte text.
7439e5b9 10351
d9c545da
GM
10352 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10353
11fd416e 10354 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10355 [DEBUG_X_COLORS]: New functions.
10356 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10357
10358 * xfns.c (x_set_cursor_color): Get color reference counts right.
10359
10360 * xterm.c (x_copy_color): New function.
10361 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10362
10363 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10364 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10365 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10366 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10367 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10368 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10369 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10370 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10371 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10372 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10373
11fd416e
GM
10374 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10375 names for handling per-buffer variables.
d9c545da
GM
10376
10377 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10378 instead of MAX_BUFFER_LOCAL_VARS.
10379 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10380
10381 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10382
88faab89
GM
10383 * xfns.c (x_specified_cursor_type): New function.
10384 (x_set_cursor_type): Use it.
10385
10386 * buffer.h (struct buffer): Add cursor_type.
10387
d80f42b7
SM
103882000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10389
10390 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10391 (print_partial_compiled_pattern, re_compile_fastmap):
10392 Handle new opcode.
d80f42b7
SM
10393 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10394 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10395 executing it as well as when popping it off the stack to find infinite
10396 loops in non-greedy repetition operators.
10397
89e80928
GM
103982000-03-26 Gerd Moellmann <gerd@gnu.org>
10399
3d4ff2dd
GM
10400 * doc.c (Qfunction_documentation): New variable.
10401 (syms_of_doc): Initialize Qfunction_documentation.
10402 (Fdocumentation): If FUNCTION is a symbol with non-nil
10403 `function-documentation' property, return a documentation derived
10404 from that.
10405
bd96bd79
GM
10406 * buffer.c (syms_of_buffer): Add default-cursor-type.
10407 (init_buffer_once): Don't let cursor_type have a local value
10408 in every buffer.
10409
19d1bc27
GM
10410 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10411 on buffer-local value of cursor_type.
10412 (x_draw_bar_cursor): Add parameter WIDTH.
10413
10414 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10415 (init_buffer_once): Set default cursor_type value to t.
10416 Mark cursor_type as local everywhere.
10417 (syms_of_buffer): New per-buffer variable cursor-type.
10418
89e80928
GM
10419 * buffer.h (struct buffer): Remove member local_var_flags,
10420 add local_flags.
10421 (MAX_BUFFER_LOCAL_VARS): New macro.
10422 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10423 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10424 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10425 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10426
52283633 10427 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10428
10429 * category.c (Fset_category_table): Use new macros for per-buffer
10430 variables.
10431
10432 * buffer.c (buffer_permanent_local_flags): Make a char array.
10433 (max_buffer_local_idx): New variable.
10434 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10435 for new handling of per-buffer variables.
10436 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10437 (init_buffer_once): Initialize per-buffer vars differently.
10438 Set max_buffer_local_idx.
10439
10440 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10441 variables.
10442
52283633 10443 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10444
10445 * data.c (do_symval_forwarding, store_symval_forwarding)
10446 (find_symbol_value, set_internal, default_value, Fset_default)
10447 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10448 per-buffer variables.
10449
10450 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10451
9a0dd3dc
GM
104522000-03-24 Gerd Moellmann <gerd@gnu.org>
10453
b68c375f
GM
10454 * xterm.c (x_term_init): Unblock input around call1 of
10455 Qvendor_specific_keysyms.
10456
9a0dd3dc
GM
10457 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10458 (find_defun_start): Consider an open parenthesis in column 0
10459 a defun start only if open_paren_in_column_0_is_defun_start is set.
10460 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10461
7973e637
SM
104622000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10463
10464 * eval.c (Fautoload): Add entry in load-history (if after dump).
10465 * lread.c (load-history): Update docstring.
10466
39210e90
GM
104672000-03-24 Gerd Moellmann <gerd@gnu.org>
10468
10469 * indent.c (Fvertical_motion): Always use the current buffer.
10470 Temporarily change the window's buffer, if necessary.
10471
72db3ab5
GM
104722000-03-23 Gerd Moellmann <gerd@gnu.org>
10473
10474 * xterm.c (fast_find_position): Make sure not to consider rows
10475 not visible in the window.
10476
990b2375
SM
104772000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10478
10479 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10480 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10481
ff4df011
JR
104822000-03-22 Jason Rumney <jasonr@gnu.org>
10483
10484 * w32menu.c (single_submenu): Set help string to NULL if none.
10485 (w32_menu_show): Set help string correctly.
10486 (add-menu-item): Set help string in MIIM_DATA for menu item.
10487 Load SetMenuItemInfoA explicitly.
10488 (w32_menu_display_help): New function.
427ec082 10489
ff4df011
JR
10490 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10491 (QCdata): Moved to xdisp.c.
10492
10493 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10494 (Vw32_charset_to_codepage_alist): Removed.
10495 (Vw32_charset_info_alist): New variable.
52283633
SM
10496 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10497 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10498 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10499 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10500 with TODO comment.
10501 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10502 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10503 Define Vw32_charset_info_alist and w32_charset symbols.
10504
105052000-03-22 Jason Rumney <jasonr@gnu.org>
10506
10507 * makefile.nt (w32bdf.obj): Update dependencies.
10508
10509 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10510
10511 * w32fns.c: Include fontset.h after dispextern.h.
10512 (Fx_create_frame): Do not create fontset.
10513 (w32_load_system_font): Doc fix.
10514 (Fx_close_connection): Free full_name if it is not shared.
10515
10516 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10517 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10518 Callers updated.
ff4df011
JR
10519 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10520 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10521 (w32_font_is_double_byte): New function, needs body.
10522 (x_append_glyph): Set glyph->glyph_not_available_p.
10523 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10524 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10525 character, convert it to a unibyte character.
10526 (struct glyph_string): Delete member `charset'.
10527 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10528 calculating it is found.
10529 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10530 the case that per char metric is not available correctly.
10531 (x_fill_glyph_string): Handle the case that the specific glyph is
10532 not available correctly.
10533 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10534 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10535 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10536 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10537 fontset. Don't call FS_LOAD_FONT.
10538
439d5cb4
KR
105392000-03-22 Ken Raeburn <raeburn@gnu.org>
10540
10541 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10542 (INT_LISPLIKE): New macro.
10543 (NULL_INTERVAL_P): Use it.
52283633
SM
10544 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10545 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10546 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10547
10548 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10549 explicit references to "parent" field of struct interval and
10550 associated unclean type conversions.
52283633
SM
10551 * intervals.c (create_root_interval, root_interval, rotate_right)
10552 (rotate_left, balance_possible_root_interval, split_interval_right)
10553 (split_interval_left, interval_start_pos, find_interval)
10554 (next_interval, previous_interval, update_interval)
10555 (adjust_intervals_for_insertion, delete_node, delete_interval)
10556 (adjust_intervals_for_deletion, merge_interval_right)
10557 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10558 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10559 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10560 Likewise.
10561 * syntax.c (update_syntax_table): Likewise.
10562
10563 * intervals.c (reproduce_tree_obj): New function, like
10564 reproduce_tree but takes a Lisp_Object for the parent. Declare
10565 with prototype.
10566 (graft_intervals_into_buffer): Use it when appropriate.
10567 (reproduce_tree): Declare with prototype.
10568 (balance_possible_root_interval): Check that the parent is a lisp
10569 object before trying to examine its type.
10570
ee1c5b21
GM
105712000-03-22 Gerd Moellmann <gerd@gnu.org>
10572
10573 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10574 as strings only if both are known to be strings.
10575
10576 * s/openbsd.h (LIBS_TERMCAP): Undef.
10577
1fb352e0
SM
105782000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10579
10580 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10581 definitions for non-Emacs compilation.
10582 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10583 outside of `#ifdef emacs'.
10584 (print_partial_compiled_pattern): Update.
10585 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10586 (re_compile_fastmap): Merge handling of charset and charset_not (for
10587 emacs and non-emacs compilation as well).
10588 Similarly for (not)categoryspec and (not)syntaxspec.
10589 Don't use the fastmap when reaching `anychar' since the added
10590 complexity is not justified.
10591 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10592 and (not)syntaxspec. Merge (not)categoryspec.
10593
fdaa1f77
KH
105942000-03-22 Kenichi Handa <handa@etl.go.jp>
10595
52283633
SM
10596 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10597 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10598 --without-x.
fdaa1f77 10599
d152fb46
DL
106002000-03-21 Dave Love <fx@gnu.org>
10601
10602 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10603 doc string.
10604
d2cafc8c
GM
106052000-03-21 Gerd Moellmann <gerd@gnu.org>
10606
10607 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10608 (lface_fully_specified_p): Don't check contents of
10609 LFACE_FONT_INDEX because that attribute is optional.
10610 (realize_x_face): Remove now unwarranted xassert.
10611
9111d4b5
KH
106122000-03-21 Kenichi HANDA <handa@etl.go.jp>
10613
10614 The following changes are to make font selection based on
10615 characters, not charset. In addition, they recover fontset
10616 facilities while utilizing the new font selection mechanism.
10617
6c4bfdc0
KH
10618 * Makefile.in (fontset.o): Depend on dispextern.h.
10619
10620 * alloc.c (mark_face_cache): Don't mark face->registry.
10621
9111d4b5
KH
10622 * dispextern.h (struct glyph): New member glyph_not_available_p.
10623 Use 22 bits for face_id.
10624 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10625 (struct face): Delete member registry, new member ascii_face.
10626 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10627 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10628 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10629 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10630
10631 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10632 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10633 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10634 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10635 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10636 (fs_free_face_fontset, fontset_font_pattern)
10637 (face_suitable_for_char_p, face_for_char)
10638 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10639 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10640 (FS_LOAD_FACE_FONT): New macro.
10641
10642 * fontset.c: All codes rewritten or adjusted for the change of
10643 fontset implementation. Now fontset is represented by char table.
52283633
SM
10644 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10645 Variables removed.
9111d4b5 10646 (my_strcasecmp): Function removed.
52283633 10647 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10648 (AREF, ASIZE): New macros.
52283633
SM
10649 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10650 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10651 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10652 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10653 (fontset_id_valid_p, font_family_registry, fontset_name)
10654 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10655 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10656 New functions.
10657 (fs_load_font): New arg FACE. Caller changed.
10658 (fs_query_fontset): Argument changed. Caller changed.
10659 (Fquery_fontset): call fs_query_fontset.
10660 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10661 Functions removed.
52283633
SM
10662 (clear_fontset_elements, check_registry_encoding)
10663 (check_fontset_name): New functions.
9111d4b5
KH
10664 (syms_of_fontset): Set char-table-extra-slots property of fontset
10665 to 3. Staticpro and initialize Vfontset_table and
10666 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10667
10668 * frame.h (struct frame): Member `fontset_data' removed.
10669 (FRAME_FONTSET_DATA): Macro removed.
10670
10671 * frame.c (make_frame): Don't allocate f->fontset_data.
10672 (Fdelete_frame): Don't free f->fontset_data.
10673
6c4bfdc0
KH
10674 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10675
9111d4b5
KH
10676 * xdisp.c (charset_at_position): Function removed.
10677 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10678 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10679 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10680 Likewise.
10681 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10682 FACE_FOR_CHARSET.
52283633
SM
10683 (get_next_display_element, append_space)
10684 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10685
10686 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10687 Variables removed.
10688 (clear_font_table, frame_update_line_height, load_face_font):
10689 Adjusted for the change of fontset implementation.
10690 (load_face_fontset_font): Function removed.
10691 (pixel_point_size): New function.
10692 (font_list): Argument type changed. Caller changed.
10693 (LFACE_FONT): New macro.
10694 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10695 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10696 Lisp_Object. Determine the font name by actually loading a font
10697 by the specified pattern. Set LFACE_FONT (lface) to the specified
10698 pattern. Even if a font is not found, don't try alternatives.
10699 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10700 (set_font_frame_param): If `font' is specified in lface, use it.
10701 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
10702 (lface_same_font_attributes_p): Likewise.
10703 (make_realized_face): Arguent changed. Caller changed. Set
10704 face->ascii_face to face itself.
10705 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
10706 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
10707 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
10708 (free_realized_multibyte_face): New function.
10709 (lookup_face, lookup_named_face, lookup_derived_face): Argument
10710 changed. Caller changed.
10711 (try_font_list): Argument type changed.
10712 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
10713 (choose_face_font): Argument changed. Handle fontset properly.
10714 (choose_face_fontset_font): Function removed.
10715 (realize_default_face, realize_named_face): Don't remove the
10716 former face here.
10717 (realize_face): Argument changed. Caller changed. Remove face
52283633 10718 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
10719 (realize_x_face): Argument changed. Caller changed. For a
10720 multibyte character, share fontset with base_face. For a single
52283633 10721 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
10722 (realize_tty_face): Argument changed. Caller changed.
10723 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
10724 (face_at_buffer_position): Don't check multibyte_p for returning
10725 DEFAULT_FACE_ID.
10726 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
10727 FACE_SUITABLE_FOR_CHARSET_P.
10728 (syms_of_xfaces): Remove code for Qx_charset_registry and
10729 Vface_default_registry.
10730
6c4bfdc0
KH
10731 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
10732 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
10733 (x_per_char_metric): Don't try FONT->default_char. Even if
10734 pcm->width is zero, glyph bits may exist.
10735 (x_encode_char): Always initialize char2b->byte1.
10736 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 10737 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
10738 (x_append_glyph): Set glyph->glyph_not_available_p.
10739 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10740 it->charset. Handle the case that per char metric is not
10741 available. If it->multibyte_p is zero and it->c is a multibyte
10742 character, convert it to a unibyte character.
10743 (struct glyph_string): Delete member `charset'.
10744 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10745 the case that per char metric is not available correctly.
10746 (x_fill_glyph_string): Handle the case that the specific glyph is
10747 not available correctly.
10748 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10749 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10750 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10751 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10752 fontset. Don't call FS_LOAD_FONT.
10753
10754 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
10755 (x_create_tip_frame): Likewise.
10756 (Fx_close_connection): Free full_name of font_info.
10757
10758 * fns.c (optimize_sub_char_table): New function.
10759 (Foptimize_char_table): New function.
10760 (syms_of_fns): Defsubr Soptimize_char_table.
10761
b33dd3b0
GM
107622000-03-20 Gerd Moellmann <gerd@gnu.org>
10763
10764 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
10765 only if buffer is displayed in some window.
10766
10767 * xdisp.c (handle_single_display_prop): Initialize local `value'.
10768 (try_window_reusing_current_matrix): Don't call scroll run
10769 function if run's current and desired position are the same;
10770 this prevents cursor flickering.
10771
4e8a9132
SM
107722000-03-19 Stefan Monnier <monnier@cs.yale.edu>
10773
10774 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
10775
10776 * regex.c (RE_STRING_CHAR): New macro.
10777 (GET_CHAR_AFER_2): Remove.
10778 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
10779 (enum re_opcode_t): Remove on_failure_jump_exclusive.
10780 (print_partial_compiled_pattern, re_compile_fastmap)
10781 (re_match_2_internal): Remove on_failure_jump_exclusive.
10782 (regex_compile): Turn optimizable P+ loops into PP*, so that the
10783 optimization only need to work for * (ie. can use of_keep_string_jump).
10784 Remove the special case for .*\n since it is now covered by the general
10785 optimization.
10786 (re_search_2): Don't bother with `room'.
10787 (skip_one_char): New function.
10788 (skip_noops): Simplify since `memory' is not needed any more.
10789 (mutually_exclusive_p): Restructure slightly to use `switch' and
10790 add handling for "all" remaining cases.
10791 (re_match_2_internal): Change on_failure_jump_smart to use
10792 on_failure_keep_string_jump (and redirect the end-of-loop jump)
10793 rather than on_failure_jump_exclusive.
10794
2136fdd4
GM
107952000-03-19 Gerd Moellmann <gerd@gnu.org>
10796
10797 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
10798 number of bits per RGB because it's everywhere used as the depth
10799 of the visual.
10800
10801 * term.c (calculate_costs): Remove code dealing with X frames.
10802
18e21ce8 108032000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
10804
10805 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
10806
d7b511c4
GM
108072000-03-18 Gerd Moellmann <gerd@gnu.org>
10808
10809 * lread.c (read_integer): Unread the last char not consumed.
10810
16b5d424
GM
108112000-03-17 Gerd Moellmann <gerd@gnu.org>
10812
10813 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 10814 which are in the process of being deleted.
16b5d424 10815
1fa28578
GM
108162000-03-16 Gerd Moellmann <gerd@gnu.org>
10817
83488cce
GM
10818 * Makefile.in (mostlyclean): Add `*.core'.
10819 (clean): Add `bootstrap-emacs'.
10820
1fa28578
GM
10821 * lread.c (read_integer): New function.
10822 (read1): Support read syntax #o, #x, #b, #r.
10823
99633e97
SM
108242000-03-15 Stefan Monnier <monnier@cs.yale.edu>
10825
1fa28578
GM
10826 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
10827 make sure POINTER_TO_OFFSET gives the same value before and after
10828 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
10829 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10830 (debug): Now only active if > 0 rather than if != 0.
10831 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10832 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10833 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10834 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10835 (store_op1, store_op2, insert_op1, insert_op2)
10836 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10837 (group_in_compile_stack): Move to after its arg's types are
10838 declared and add a prototype.
99633e97 10839 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10840 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10841 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10842 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10843 indentation of the greedy-op and shy-group code.
99633e97
SM
10844 (at_(beg|end)line_loc_p): Fix argument's types.
10845 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10846 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10847 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10848 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10849 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10850 QUIT unconditionally.
99633e97 10851
699238d9
GM
108522000-03-15 Gerd Moellmann <gerd@gnu.org>
10853
10854 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10855 a sole completion.
10856
10857 * process.c (send_process): Add a hint that the function
10858 can call Lisp code to its comment.
10859
10860 * lread.c (load_dangerous_libraries): New variable.
10861 (Vbytecomp_version_regexp): New variable.
10862 (safe_to_load_p): New function.
10863 (Fload): Handle files not compiled with Emacs specially.
10864 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10865
34e23e5a
GM
108662000-03-14 Gerd Moellmann <gerd@gnu.org>
10867
9c763cca
GM
10868 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10869
10870 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10871 support functions only if HAVE_X11R6_XIM is defined.
10872 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10873
10874 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10875
10876 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10877 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10878 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10879
10880 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10881 (HAVE_X11R6_XIM): Define.
10882
10883 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10884
34e23e5a
GM
10885 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10886 If set, call XSynchronize.
10887
66f0296e
SM
108882000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10889
34e23e5a
GM
10890 * regex.c: Declare a new type `re_char' used throughout the code
10891 for the string char type. It's `const unsigned char' to match the
10892 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10893 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10894 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10895 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10896 code duplication.
66f0296e
SM
10897
10898 * charset.h (GET_CHAR_AFTER_2): Remove.
10899 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10900
854a025c
KR
109012000-03-12 Ken Raeburn <raeburn@gnu.org>
10902
10903 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10904 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10905 of them try to use backquotes.
10906
b9d2c7e2
DL
109072000-03-12 Dave Love <fx@gnu.org>
10908
10909 * unexelf.c: Restore changes of 1999-10-19.
10910 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10911 fix its type and alignment; copy it from current process.
10912
5e5dff44
GM
109132000-03-12 Gerd Moellmann <gerd@gnu.org>
10914
9b2f3c38
GM
10915 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10916 has been found. Fix bug not computing timer's predecessor.
10917
427ec082 10918 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10919 file name.
10920
e1cff360
GM
10921 * window.c (Fsave_window_excursion): Doc fix.
10922
52283633 10923 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10924
e411ce4b
EZ
109252000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10926
10927 * msdos.c (vga_installed): New function, code moved from
10928 dos_set_window_size.
10929 (Qbar, Qcursor_type, outside_cursor): New variables.
10930 (syms_of_msdos): Intern and staticpro them.
10931 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10932 shape used outside Emacs when called for the first time.
10933 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10934 cursor shape used outside Emacs.
10935 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10936 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10937 type has changed.
10938 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10939 parameters specify the cursor. Make qreverse a global
10940 variable (renamed to Qreverse).
10941
80460654
GM
109422000-03-09 Gerd Moellmann <gerd@gnu.org>
10943
10944 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10945
95cd4c40
SM
109462000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10947
10948 This is a big redesign of failure-stack and register handling, prompted
10949 by bugs revealed when trying to add shy-groups. Overall, what happened
10950 is that loops are now structured a little differently, groups can be
10951 shy and the code is a little simpler.
10952
10953 * regex.h: Update the copyright.
10954 (RE_SHY_GROUPS): New value.
10955 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10956 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10957
80460654
GM
10958 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10959 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10960 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10961 for (start|stop)_memory since they now only take one argument (the
10962 second has becomes unnecessary).
52283633 10963 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10964 (print_compiled_pattern): Use %ld to printf long ints and flush to
10965 make debugging a little easier.
95cd4c40
SM
10966 (union fail_stack_elt): Make the integer unsigned.
10967 (struct fail_stack_type): Add a `frame' element.
10968 (INIT_FAIL_STACK): Init `frame' as well.
10969 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10970 (DEBUG_PUSH, DEBUG_POP): Remove.
10971 (NUM_REG_ITEMS): Remove.
10972 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10973 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10974 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10975 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10976 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10977 New macros.
80460654
GM
10978 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10979 address pushed is not the destination of the jump but the source
10980 of it instead.
95cd4c40
SM
10981 (NUM_FAILURE_ITEMS): Remove.
10982 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10983 registers before the actual failure point). Don't hardcode any
10984 meaning for str==NULL anymore.
95cd4c40 10985 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10986 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10987 Remove.
95cd4c40
SM
10988 (REG_UNSET_VALUE): Use NULL (why not?).
10989 (compile_range): Remove declaration since it doesn't exist.
10990 (struct compile_stack_elt_t): Remove inner_group_offset.
10991 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10992 (regex_grow_registers): Remove dead code.
10993 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10994 (regex_compile): Add shy-groups Change loops to use
10995 on_failure_jump_smart&jump instead of
10996 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10997 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10998 variable to me). Use `jump' instead of `jump_past_alt' and don't
10999 bother with push_dummy_failure in alternatives since it is now
11000 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11001 emacs' for (re)allocating the stack.
11002 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11003 from loop when bufp->can_be_null rather than jumping to `done'.
11004 Avoid jumping backwards so as to ensure termination. Use
11005 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11006 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11007 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11008 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11009 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11010 (lowest_active_reg, highest_active_reg)
11011 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11012 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11013 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11014 variables. Push register (in `start_memory') on the stack rather
11015 than storing it in old_reg(start|end). Remove the cycle detection
11016 from `stop_memory', replaced by the use of on_failure_jump_loop
11017 for greedy loops. Add code for the new on_failure_jump_<foo>.
11018 Remove ad-hoc code in `on_failure_jump' to push more registers in
11019 the case of a loop. Take out code from `maybe_pop_jump' into
11020 separate functions and adapt it to the semantics of
11021 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11022 and push_dummy_failure. Remove dummy_failure handling and
11023 handling of `failures to jump to on_failure_jump' (this last one
11024 was already dead code, it seems).
11025 (group_match_null_string_p, alt_match_null_string_p)
11026 (common_op_match_null_string_p): Remove.
95cd4c40 11027
7397acc4
DL
110282000-03-08 Dave Love <fx@gnu.org>
11029
11030 * config.in: Don't depend on __STDC__ for volatile.
11031 Add POINTER_TYPE, PTR, PROTOTYPES.
11032
11033 * hftctl.c, strftime.c: Use PROTOTYPES.
11034 * eval.c (find_handler_clause): Likewise.
11035
11036 * mem-limits.h: Use POINTER_TYPE.
11037
11038 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11039 (memory_warnings): Declare using POINTER_TYPE.
11040
5e91ff9e
GM
110412000-03-08 Gerd Moellmann <gerd@gnu.org>
11042
feab4fba
GM
11043 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11044
52283633 11045 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11046
5e91ff9e
GM
11047 * xfns.c: Remove obsolete code in #if 0.
11048 (Fx_focus_frame): New function.
11049
a735b7e1
KH
110502000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11051
11052 * coding.c (coding_category_name): Add coding-category-utf-8,
11053 coding-category-utf-16-be, coding-category-utf-16-le.
11054 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11055 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11056 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11057 (detect_coding_utf_8): New function.
11058 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11059 UTF_16_LOW_SURROGATE_P): New macros.
11060 (detect_coding_utf_16): New function
11061 (detect_coding_mask): When priorities are specified, skip any
11062 categories that have `nil' coding-system. Fix bug of returning
11063 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11064 returns a mask not set in PRIORITIES.
11065 (detect_eol_type_in_2_octet_form): New function.
11066 (detect_eol): selects detect_eol_type_XXX to call according to
11067 cooding->category_idx.
11068 (detect_coding_system): Remove `nil' coding-system in the result.
11069 (Fupdate_coding_systems_internal): Update all coding-categories.
11070
52283633
SM
11071 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11072 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11073 New macros.
11074 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11075 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11076 (CODING_CATEGORY_IDX_UTF_16_LE)
11077 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11078 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11079 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11080 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11081
9994cc69
GM
110822000-03-07 Gerd Moellmann <gerd@gnu.org>
11083
e9b4e5ff
GM
11084 * doc.c (Fdocumentation_property): If value is not a string,
11085 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11086
f7daf1e1
GM
11087 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11088 close the display with XtCloseDisplay. This caused a bus error
11089 on OpenWindows.
11090
9994cc69
GM
11091 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11092 complete but not unique.
11093
4336c705
GM
110942000-03-06 Gerd Moellmann <gerd@gnu.org>
11095
18bb0684
GM
11096 * process.c (send_process): Remove local variable `procname' that
11097 might become invalid when a GC happens. Instead, access the
11098 process name slot directly.
11099
4336c705
GM
11100 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11101 orig_height if set.
11102
11103 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11104 orig_height if set.
11105
515d0d0e
EZ
111062000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11107
11108 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11109 glyph matrices have been freed.
11110
100b3cbb
GM
111112000-03-05 Gerd Moellmann <gerd@gnu.org>
11112
50df5e5a 11113 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11114 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11115
11116 * xfns.c (QCdata): Moved to xdisp.c.
11117
11118 * xdisp.c (QCdata): Moved here from xfns.c.
11119 (syms_of_xdisp): Initialize QCdata.
11120
11121 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11122
11123 * window.c (coordinates_in_window): Use
11124 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11125 FRAME_INTERNAL_BORDER_WIDTH.
11126
100b3cbb 11127 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11128 it is obviously invalid.
100b3cbb
GM
11129
11130 * xterm.c (x_term_init): Create a colormap if not using the
11131 default visual.
11132
11133 * xterm.h (select_visual): Change prototype.
11134
11135 * xfns.c (select_visual): Rewritten. Recognize user-specified
11136 visual classes.
11137 (visual_classes): New variable.
11138
64d739c4
GM
111392000-03-04 Gerd Moellmann <gerd@gnu.org>
11140
11141 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11142 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11143 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11144 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11145 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11146 XtNcolormap resources.
11147 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11148 (Fx_create_frame): Initialize color members of x_output structure.
11149 (xpm_load): Pass colormap to XPM lib.
11150
11151 * xfaces.c (x_free_colors): Access colormap of frame using
11152 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11153 when default colormap is used.
11154
11155 * xterm.c (x_term_init): Set Colormap member of x_display_info
11156 structure. Copy colormap if resource `privateColormap' is
11157 specified (PseudoColor only).
11158 (x_setup_relief_color): Access colormap of frame using
11159 FRAME_X_COLORMAP.
11160
11161 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11162 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11163
c3cee013
JR
111642000-03-04 Jason Rumney <jasonr@gnu.org>
11165
11166 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11167 other non-platform-specific equivalents.
64d739c4 11168 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11169 specific functions and macros as their w32 equivalents where
11170 non-platform-specifics are not available.
11171 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11172 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11173 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11174 (frame_update_line_height): Use macros to access f->output_data.
11175 (defined_color): Remove FIXME comments; fixed.
11176 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11177 into #ifdef blocks. Add WINDOWSNT blocks.
11178 (Fx_list_fonts): Use macros for accessing font data.
11179 (set_lface_from_font_name): Different default fonts for X and
11180 WINDOWSNT.
11181 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11182 scalable for backward compatibility.
64d739c4 11183 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11184 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11185
64d739c4 11186 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11187 syms_of_w32faces.
11188
11189 * makefile.nt (w32faces.obj): Remove.
11190 (xfaces.obj): Add.
11191
807cc41c
JR
111922000-03-03 Jason Rumney <jasonr@gnu.org>
11193
11194 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11195 correct parameters.
11196
0007072a
KR
111972000-03-03 Ken Raeburn <raeburn@gnu.org>
11198
11199 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11200 standard ELF definitions here if the system header does not.
11201
71a6ba55
GM
112022000-03-03 Gerd Moellmann <gerd@gnu.org>
11203
11204 * xterm.c (PER_CHAR_METRIC): Removed.
11205 (x_per_char_metric_1, x_default_char): New functions.
11206 (x_per_char_metric): If font's default char is invalid, return
11207 metrics of a suitably chosen usable default char.
11208 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11209 char, replace occurrences of unprintable chars with a suitably
11210 chosen usable default char.
71a6ba55 11211
900fa1f1
GM
112122000-03-02 Gerd Moellmann <gerd@gnu.org>
11213
42f55fe0
GM
11214 * xterm.c (note_mouse_highlight): Return quickly if frame's
11215 glyph matrices have been freed.
11216
11217 * dispnew.c (free_glyphs): Block input while freeing matrices.
11218
900fa1f1
GM
11219 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11220
52283633
SM
11221 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11222 Use x_free_colors.
900fa1f1
GM
11223
11224 * dispextern.h (x_free_colors): Add prototype.
11225
11226 * xfaces.c (x_free_colors): New function.
11227 (unload_color, free_face_colors): Use it.
11228
2f950292
EZ
112292000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11230
11231 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11232
11233 * window.c [MSDOS]: Include msdos.h.
11234
54d04320
DL
112352000-03-02 Dave Love <fx@gnu.org>
11236
11237 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11238
11239 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11240 set C_OPTIMIZE_SWITCH for gcc.
11241
0ba93ac4
KH
112422000-03-02 Kenichi Handa <handa@etl.go.jp>
11243
11244 * coding.c (coding_save_composition): Be sure to allocate
11245 composition data area in coding even if there's no composition in
11246 the current run.
11247
a2bc11d4
JR
112482000-03-01 Jason Rumney <jasonr@gnu.org>
11249
11250 * w32term.c: Equivalent changes to those made to xterm.c on
11251 2000-02-25 and 2000-02-24.
11252
11253 * w32fns.c: Equivalent changes to those made to xfns.c on
11254 2000-02-25 and 2000-02-21.
11255
11256 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11257 correct line-end convention is followed.
11258
11259 * w32menu.c [HAVE_BOXES]: Remove #undef.
11260 (single_keymap_panes): Remove code for simulating checkmarks.
11261 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11262 Remove code for drawing simulated checkmarks.
11263 (w32_menu_show): make unibyte help string correctly.
11264 (add_menu_item): draw standard Windows checkmarks. Draw radio
11265 buttons as radio buttons if possible.
11266
72d19d75
GM
112672000-03-01 Gerd Moellmann <gerd@gnu.org>
11268
2df636f4
GM
11269 * sysdep.c (start_of_text): Don't define this function for NetBSD
11270 with ELF.
11271
427ec082 11272 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11273 Don't define.
11274 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11275 (LINKER): Don't undef if __NetBSD__ is defined.
11276
11277 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11278
11279 * fileio.c [__NetBSD__]: Define `unix'.
11280
72d19d75
GM
11281 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11282
ed4d0512
GM
112832000-02-29 Gerd Moellmann <gerd@gnu.org>
11284
50b1039f
GM
11285 * atimer.c (start_atimer): Don't abort when timers are stopped.
11286 (append_atimer_lists): New function.
11287 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11288 arbitrary lists of stopped and running atimers.
11289
ed4d0512
GM
11290 * atimer.c (cancel_atimer): Handle canceling an atimer when
11291 some timers are stopped.
11292
11293 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11294 after canceling it.
11295
11296 * fns.c (maybe_resize_hash_table): Handle case of new size
11297 coming out as being the same as old size.
11298
387023ee
JR
112992000-02-27 Jason Rumney <jasonr@gnu.org>
11300
11301 * makefile.nt: Add atimer.h to dependencies.
11302 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11303 * w32console.c: Only disable window system features for dispextern.h
11304 (initialize_w32_display): Build a display info for the console.
11305 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11306 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11307 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11308 as 2 button mice.
11309 * w32gui.h (struct W32FontStruct): Revert last change after change
11310 to xdisp.c.
11311 * w32menu.c (single_submenu): Set up help string.
11312 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11313 (w32_dialog_show): Set up help string.
11314 * w32term.c (w32_display_info_for_display): Remove unused function.
11315 (w32_draw_bitmap): Use pre-built bitmaps.
11316 (w32_initialize_display_info): New function to initialize parts of
11317 display info that are common to both GUI and console frames.
11318 (w32_term_init): Use w32_initialize_display_info. Do not set
11319 Vw32_num_mouse_buttons here, as it is not called for console
11320 frames. Build bitmaps for indicating truncated lines etc.
11321 (x_delete_display): Destroy pre-built bitmaps.
11322 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11323 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11324
4516715a
DL
113252000-02-27 Dave Love <fx@gnu.org>
11326
11327 * lisp.h: Add a bunch of prototypes.
11328
171ca836
KH
113292000-02-26 Kenichi Handa <handa@etl.go.jp>
11330
11331 * keyboard.c (read_char): Set `usec' correctly.
11332
4013921d
KH
113332000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11334
11335 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11336 `lambda', set reg[RRR] to the map index.
11337 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11338 reg[RRR] to 0. Otherwise, set it to -1.
11339
9244a058
GM
113402000-02-25 Gerd Moellmann <gerd@gnu.org>
11341
2df636f4 11342 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11343
18e21ce8 113442000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11345
f43d79c1
GM
11346 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11347 and contains a `:', prepend `/:'.
11348
11349 * window.c (select_window_1): If selected_window is nil,
11350 don't "swap out" the buffer's point.
11351 (Fset_window_configuration): Set selected_window to nil
11352 before calling Fselect_window.
11353 (unshow_buffer): Don't set point in buffer from window's point
11354 if another more recently selected window also shows the buffer.
11355
bed0c171
GM
113562000-02-25 Gerd Moellmann <gerd@gnu.org>
11357
449c3c52
GM
11358 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11359
f5b58615
GM
11360 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11361 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11362 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11363 New variables.
f5b58615
GM
11364 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11365 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11366 (hide_busy_cursor): New functions.
11367 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11368
11369 * minibuf.c (read_minibuf): Cancel busy-cursor.
11370
11371 * keyboard.c (command_loop_1): Call start_busy_cursor before
11372 Fcommand_execute and cancel_busy_cursor after it.
11373 (timer_check): Remove busy-cursor code.
11374 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11375 cursor timer.
11376
11377 * process.c (wait_reading_process_input): Remove busy-cursor code.
11378
11379 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11380 Fx_hide_busy_cursor.
11381
11382 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11383 Remove prototyoes.
11384 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11385
11386 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11387
11388 * xterm.c (XTread_socket): Remove busy-cursor code.
11389
4eb8436f
GM
11390 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11391 (build_frame_matrix_from_leaf_window): Put code handling
11392 glyph row's not being a slice of a frame row in #if 0.
11393 (sync_window_with_frame_matrix_rows): New function.
11394 (frame_row_to_window): New function.
11395 (mirror_line_dance): Handle copies between windows.
11396
3cb65b0e
GM
11397 * lread.c (Fload): Use `xfree' instead of `free'.
11398 (init_obarray): Use `xmalloc' instead of `malloc'.
11399
bed0c171
GM
11400 * window.c (Fset_window_buffer): Set WINDOW to the window
11401 after decoding.
2add4349
GM
11402 (coordinates_in_window): Take frame's internal border width
11403 into account.
bed0c171 11404
42088c12
GM
114052000-02-24 Gerd Moellmann <gerd@gnu.org>
11406
11407 * xterm.c (x_display_and_set_cursor): Display cursor of
11408 non-selected windows depending on the setting of
11409 cursor_in_non_selected_windows.
11410
11411 * xdisp.c (cursor_in_non_selected_windows): New variable.
11412 (syms_of_xdisp): DEFVAR_BOOL it.
11413
d1e103b2
GM
114142000-02-23 Gerd Moellmann <gerd@gnu.org>
11415
723e779c
GM
11416 * data.c (Fstring_to_number): If number is greater than what
11417 fits into an integer, return a float.
11418
d1e103b2
GM
11419 * eval.c (specbind): Remove references to
11420 keyword_symbols_constant_flag.
11421
11422 * data.c (keyword_symbols_constant_flag): Removed.
11423 (Fmakunbound, set_internal, syms_of_data): Remove references to
11424 keyword_symbols_constant_flag.
11425
11426 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11427
214f877f
KH
114282000-02-23 Kenichi Handa <handa@etl.go.jp>
11429
11430 * syntax.c (multibyte_syntax_as_symbol): New variable.
11431 (syms_of_syntax): Declare it as a Lisp variable.
11432 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11433 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11434 nonzero, treat all multibyte characters as symbol.
52283633 11435 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11436
130adcb7
EZ
114372000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11438
3cb65b0e 11439 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11440 a deleted frame.
130adcb7 11441
17cbbf95
GM
114422000-02-21 Gerd Moellmann <gerd@gnu.org>
11443
11444 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11445
11446 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11447 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11448
beb0bc36
DL
114492000-02-21 Dave Love <fx@gnu.org>
11450
11451 * frame.c (Vmouse_position_function): New variable.
11452 (Fmouse_position): Use it.
11453 (syms_of_frame): Install it.
11454
11455 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11456
1d92afcd
GM
114572000-02-20 Gerd Moellmann <gerd@gnu.org>
11458
11459 * fileio.c (Finsert_file_contents): Unbind the binding of
11460 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11461
11462 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11463 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11464 (specbind, unbind_to): Handle most common case of non-constant
11465 symbol with trivial value specially.
11466
11467 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11468
18e21ce8 114692000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11470
11471 * data.c (Fmake_variable_buffer_local): Doc fix.
11472 Init found_for_buffer to 0.
11473 (Fmake_variable_frame_local): If the variable has already
11474 been buffer-local, set the check_frame field.
11475
1d4311c3
EZ
114762000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11477
11478 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11479 produced for CODING_MODE_LAST_BLOCK requires.
11480
2dc95ddd
DL
114812000-02-18 Dave Love <fx@gnu.org>
11482
11483 * keyboard.c (echo_keystrokes): Remove declaration.
11484 (Vecho_keystrokes) New variable.
11485 (read_char, record_menu_key, read_key_sequence): Use it to allow
11486 use of float value.
11487 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11488
11489 * lread.c: Undef feature selection macros before defining.
11490
f0930f35
GM
114912000-02-18 Gerd Moellmann <gerd@gnu.org>
11492
11493 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11494 for symbols other than the symbol in question.
11495
e3d4de90
DL
114962000-02-17 Dave Love <fx@gnu.org>
11497
11498 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11499
0b378936
GM
115002000-02-17 Gerd Moellmann <gerd@gnu.org>
11501
d621caf7
GM
11502 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11503
0b378936
GM
11504 * alloc.c (enum mem_type): Compile unconditionally.
11505
3b451f74
EZ
115062000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11507
11508 * xfaces.c (tty_defined_color): Don't return faulire indication
11509 for unspecified-fg and unspecified-bg pseudo-colors.
11510
10689a01
GM
115112000-02-17 Gerd Moellmann <gerd@gnu.org>
11512
1216f5e4
GM
11513 * alloc.c (mark_object): Don't mark symbol names in pure space.
11514 (gc_sweep): Don't unmark symbol names in pure space.
11515
11516 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11517 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11518 [GC_MARK_STACK]: New defines.
427ec082 11519 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11520 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11521
11522 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11523
11524 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11525 allocate_buffer instead of xmalloc.
11526
11527 * alloc.c (toplevel): Include setjmp.h.
11528 (PURE_POINTER_P): New define.
11529 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11530 (Vdead) [GC_MARK_STACK]: New variable.
11531 (lisp_malloc): Add parameter TYPE, call mem_insert if
11532 GC_MARK_STACK is defined.
11533 (allocate_buffer): New function.
427ec082 11534 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11535 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11536 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11537 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11538 (MEM_NIL) [GC_MARK_STACK]: New define.
11539 (struct mem_node) [GC_MARK_STACK]: New structure.
11540 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11541 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11542 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11543 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11544 (mark_stack) [GC_MARK_STACK]: New functions.
11545 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11546 (clear_marks): Removed.
11547 (gc_sweep): Set free conses' car, free floats' type, free
11548 symbols' function to Vdead. Use lisp_free to free buffers.
11549 (init_alloc_once): Initialize Vdead.
11550 (survives_gc_p): Return non-zero for pure objects.
11551
11552 * alloc.c: Add comments throughout the file.
11553
2503c8b1
GM
11554 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11555 that unblocks alarms.
11556
8389e1e2
GM
11557 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11558 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11559 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11560
10689a01 11561 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11562
bfc17d18
KH
115632000-02-17 Kenichi Handa <handa@etl.go.jp>
11564
4a09dee0
KH
11565 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11566 avoid infinite error signaling. Allocate sufficient memory for
11567 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11568
2b927d02
SM
115692000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11570
11571 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11572 depends on the previous behavior.
11573
b49cb764
GM
115742000-02-16 Gerd Moellmann <gerd@gnu.org>
11575
11576 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11577
99e95407
GM
115782000-02-15 Gerd Moellmann <gerd@gnu.org>
11579
11580 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11581
11582 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11583 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11584 write(2).
11585
6ffd3cf7
RS
115862000-02-15 Richard M. Stallman <rms@gnu.org>
11587
11588 * data.c (set_internal): Don't make variable buffer-local
11589 if within a let-binding for the same buffer.
11590 (let_shadows_buffer_binding_p): New function.
11591
11592 * eval.c (specbind): For buffer-local value,
11593 record the current buffer also.
11594 (unbind_to): Cope with that change.
11595
cad53475
GM
115962000-02-15 Gerd Moellmann <gerd@gnu.org>
11597
11598 * window.c (Fsave_window_excursion): Doc fix.
11599
1aa963c8
SM
116002000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11601
11602 * syntax.c (back_comment): Make sure we only consider comment-starters
11603 of the relevant style and return -1 in case of a failure to find the
11604 beginning of the comment.
11605 (Fforward_comment): If back_comment fails, go back to the position just
11606 after the comment-end.
11607 (scan_lists): Add comment describing a very minor bug.
11608
b9b84fd3
SM
116092000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11610
11611 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11612 `completion-regexp-list' in the docstring.
11613
3a28db80
DL
116142000-02-14 Dave Love <fx@gnu.org>
11615
11616 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11617
fb4a568d
SM
116182000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11619
11620 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11621 to Emacs' syntax. Also fix the comment about set/not-set meanings
11622 since Emacs syntax is not the value 0 any more.
11623 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11624 since it's now part of RE_SYNTAX_EMACS.
11625
1063ebb5
DL
116262000-02-12 Dave Love <fx@gnu.org>
11627
52283633 11628 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11629
fb07a302
GM
116302000-02-12 Gerd Moellmann <gerd@gnu.org>
11631
11632 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11633
aaf2320c
DL
116342000-02-12 Dave Love <fx@gnu.org>
11635
11636 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11637
11638 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11639 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11640 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11641
11642 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11643
11644 * s/nextstep.h: Don't define HAVE_ALLOCA.
11645
11646 * config.in: Add vfork bits.
11647
eedf8bde
GM
116482000-02-12 Gerd Moellmann <gerd@gnu.org>
11649
11650 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11651 unwind function to undo the effect of stopping atimers.
11652
52283633 11653 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11654
11655 * atimer.c (stopped_atimers): New variable.
11656 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11657 New functions.
11658
11659 * atimer.h (stop_other_atimers, run_all_atimers)
11660 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11661
eedf8bde
GM
11662 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11663
8476c2f8
KR
116642000-02-11 Ken Raeburn <raeburn@gnu.org>
11665
11666 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11667 library may depend on jpeg.
11668 (atimer.o): Depends on atimer.c.
11669
0e85e4a3
KH
116702000-02-11 Kenichi Handa <handa@etl.go.jp>
11671
11672 * insdel.c (del_range_1): Call update_compositions.
11673 (del_range_both): Call update_compositions just once..
11674
97fa0cc8
DL
116752000-02-10 Dave Love <fx@gnu.org>
11676
11677 * xfns.c (create_frame_xic): Fix initialization of automatic
11678 aggregates for pcc.
11679
25566a3c
KH
116802000-02-09 Kenichi Handa <handa@etl.go.jp>
11681
11682 * ccl.c (CCL_MAKE_CHAR): New macro.
11683 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11684 registers by CCL_MAKE_CHAR before calling translate_char.
11685 <CCL_TranslateCharacterConstTbl> Likewise.
11686
69da54ba
DL
116872000-02-08 Dave Love <fx@gnu.org>
11688
11689 * lread.c (__EXTENSIONS__): Define.
11690
f7136ee8
GM
116912000-02-08 Gerd Moellmann <gerd@gnu.org>
11692
11693 * puresize.h (BASE_PURESIZE): Increase to 650000.
11694
7768790b
EZ
116952000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11696
11697 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11698 the help message.
11699
38fd211b
EZ
117002000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11701
11702 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
11703 md, mh, mb, mr, and me to the fake termcap entry.
11704
66e4690f
KR
117052000-02-06 Ken Raeburn <raeburn@gnu.org>
11706
11707 * sound.c (sound_cleanup): Don't call device close routine if the
11708 function pointer is null.
11709
a75dfea0
AI
117102000-02-06 Andrew Innes <andrewi@gnu.org>
11711
11712 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
11713 around image definitions and prototypes.
11714 (gamma_correct) [WINDOWSNT]: New prototype.
11715
11716 * w32term.c (x_make_frame_visible): Replace call to
11717 input_poll_signal with poll_for_input.
11718
11719 * window.c [WINDOWSNT]: Include w32term.h.
11720
11721 * xdisp.c [WINDOWSNT]: Include w32term.h.
11722
11723 * makefile.nt: Add dependencies on w32gui.h.
11724 (OBJ1): Include atimer.obj.
11725 ($(BLD)\atimer.obj): New dependency rule.
11726
11727 * w32.c (sigmask): New function (does nothing).
11728 (sigunblock): Ditto.
11729
11730 * frame.c [WINDOWSNT]: Include w32term.h.
11731
11732 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
11733
11734 * lread.c (syms_of_lread): Fix literal newlines.
11735
11736 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
11737 the string constant limit (2048 bytes) in MSVC.
11738 (main): Ditto.
11739
59ddecde
GM
117402000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
11741
52283633 11742 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
11743 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
11744 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
11745 dispatch the event.
11746
07590973
DL
117472000-02-04 Dave Love <fx@gnu.org>
11748
11749 * fileio.c: Remove some unused vars.
11750 (_GNU_SOURCE): Define (for euidaccess).
11751
11752 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
11753
11754 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
11755 gcpro1, gcpro2.
11756 (read_minibuf): Deal with allow_props correctly.
11757
649351f9
EZ
117582000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
11759
11760 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
11761
66e4690f 117622000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
11763
11764 * search.c (compile_pattern): If a cache entry has a nil regexp,
11765 fill in that entry instead of clobbering a previously cached
11766 string regexp.
11767
66e4690f 117682000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
11769
11770 * puresize.h (BASE_PURESIZE): Increase to 610000.
11771
d240a249
GM
117722000-02-02 Gerd Moellmann <gerd@gnu.org>
11773
11774 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
11775 can GC.
11776
ca91fb26
KH
117772000-02-02 Kenichi Handa <handa@etl.go.jp>
11778
25660570
KH
11779 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
11780 instead of incrementing ic directly.
11781 <CCL_WriteExprConst> Likewise.
11782 <ccl_set_expr>: Set ic to jump_address.
11783
ca91fb26
KH
11784 * fileio.c (e_write): Fix the handling of
11785 CODING_FINISH_INSUFFICIENT_SRC.
11786
2ede9689
DL
117872000-02-01 Dave Love <fx@gnu.org>
11788
11789 * editfns.c (Fpropertize): Doc fix.
11790
11791 * process.c (Fstart_process): Doc fix.
11792
11793 * eval.c: Fix various doc strings not to duplicate information
11794 from help-manyarg-func-alist.
11795
52283633 11796 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
11797
11798 * doc.c (Vhelp_manyarg_func_alist): New variable.
11799 (Fdocumentation): Use it.
11800 (syms_of_doc): Define it.
11801
b6680a0e
GM
118022000-01-31 Gerd Moellmann <gerd@gnu.org>
11803
2cb750ba
GM
11804 * xterm.c (xim_open_dpy): Remove unused local variable.
11805
52283633 11806 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
11807
11808 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
11809 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11810
b6680a0e
GM
11811 * fns.c (sweep_weak_table): New function.
11812 (sweep_weak_hash_tables): Use it. Keep on marking until there
11813 is no more change.
11814
994c5afe
GM
118152000-01-30 Gerd Moellmann <gerd@gnu.org>
11816
11817 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
11818 that XTread_socket does not crash by trying to call XNoOp on a
11819 closed display.
427ec082 11820
f00276e3
JR
118212000-01-30 Jason Rumney <jasonr@gnu.org>
11822
11823 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11824 Change selected_frame to SELECTED_FRAME ().
11825 (w32_console_mouse_position): Remove #ifndef MULE from around
11826 `insist' parameter.
11827
11828 * makefile.nt: Remove dosfns.obj.
11829
11830 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11831
11832 * w32fns.c (w32_defined_color): Check for valid frame before
11833 applying gamma correction. Eliminate dependency on frame elsewhere.
11834 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11835 (w32_to_x_font): Use resx and resy not height_in and width_in.
11836 (x_to_w32_font): Doc fix.
11837 (xlfd_strip_height): New function to strip and return font height.
11838 (w32_font_match): Compare height separately from rest of xlfd
11839 spec, using xlfd_strip_height.
11840
11841 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11842 width_in. Use w32_defined_color in place of defined_color.
11843
11844 * w32faces.c: Merge more of DOS and X specifics in preparation for
11845 merge with xfaces.c.
11846 (defined_color): Remove FIXME comment.
11847 (tty_color_name): Provide w32-specific function.
11848 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11849
11850 * w32console.c (turn_on_face, turn_off_face): Removed.
11851 (w32_face_attributes): New function.
11852 (Global_variables): Reduce scope where possible.
11853 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11854 fill attribute.
11855 (hl_mode): Don't modify text attributes.
11856 (write_glyphs): Don't do anything if len <= 0. Use
11857 w32_face_attributes to get attributes for drawing. Write
11858 terminating codes using char_attr_normal.
11859 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11860 (update_begin, update_end): Likewise.
11861 (vga_stdcolor_name): New function.
11862 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11863 (Fset_screen_color): Remove char_attr_reverse.
11864
b08e8bb2
GM
118652000-01-29 Gerd Moellmann <gerd@gnu.org>
11866
11867 * xfns.c (xic_set_preeditarea): Take window parameter and
11868 window-relative pixel-positions.
11869
11870 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11871 is its frame's selected window.
11872 (xim_instantiate_callback): Likewise.
11873
11874 * xfns.c (x_create_im): Removed.
11875 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11876 (supported_xim_styles): Renamed from supported_styles.
11877 (best_xim_style): Renamed from best_style.
11878 (create_frame_xic): Renamed from xic_create_frame.
11879 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11880
b08e8bb2
GM
118812000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11882
11883 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11884 our frames, call XFilterEvent with 2nd parameter `None'.
11885 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11886 returning XBufferOverflow.
52283633 11887 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11888 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11889 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11890 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11891 (xim_initialize, xim_close)
11892 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11893 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11894 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11895 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11896
11897 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11898 and `xim_styles'.
11899 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11900 `xic_style' and `xic_xfs'.
11901 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11902 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11903 (FRAME_XIM): Removed.
11904
11905 * xfns.c (supported_styles): New variable.
11906 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11907 (xic_create_xfontset, best_style, xic_create_frame)
11908 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11909 (xic_set_xfontset): New functions.
11910
142e109c
DL
119112000-01-28 Dave Love <fx@gnu.org>
11912
11913 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11914
11915 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11916
b02786f9
GM
119172000-01-28 Gerd Moellmann <gerd@gnu.org>
11918
d060bc9f
GM
11919 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11920 for *scratch* if it already existed.
11921
b02786f9
GM
11922 * emacs.c (USAGE): New macro.
11923 (main): Use it to display usage information.
11924
2c52d7e4
EZ
119252000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11926
11927 Support for the menu-help feature:
11928
52283633 11929 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11930
11931 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11932 part of the line to the termscript file.
11933 (IT_clear_to_end): Clear the entire line, not just its beginning.
11934 (menu_help_message, prev_menu_help_message): New variables.
11935 (IT_menu_make_room): Make room for the help_text member.
11936 (IT_menu_display): New argument disp_help; all callers changed.
11937 If disp_help is non-zero, store the help text of the active menu
11938 item in menu_help_message.
11939 (XMenuAddPane): Initialize the help_text member to NULL.
11940 (XMenuAddSelection): New argument help_text. Store it in the
11941 XMenu structure.
11942 (XMenuActivate): New argument help_callback. If the value of
11943 menu_help_message has changed since the last time, display the
11944 menu help message text while waiting for the mouse to move. Clear
11945 the echo area before exiting.
11946 (XMenuDestroy): Free the help_text member.
11947
ffe0bcd1
GM
119482000-01-27 Gerd Moellmann <gerd@gnu.org>
11949
11950 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11951 XMenuAddSelection. Pass help callback to XMenuActivate.
11952 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11953
50dbd23f
EZ
119542000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11955
11956 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11957 and EMACS_SET_USECS.
11958
f5941bf8
GM
119592000-01-26 Dave Love <fx@gnu.org>
11960
6c67ddee
DL
11961 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11962
f5941bf8
GM
11963 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11964 an error may be signalled.
11965
9e49c990
GM
119662000-01-26 Gerd Moellmann <gerd@gnu.org>
11967
fc3cb460
GM
11968 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11969 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11970
9e49c990
GM
11971 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11972
d0c037d8
GM
119732000-01-25 Gerd Moellmann <gerd@gnu.org>
11974
11975 * charset.c (Fstring): If there is a multibyte char among
11976 the args, always return a multibyte string.
11977
e12489f9
GM
119782000-01-25 Gerd Moellmann <gerd@gnu.org>
11979
11980 * sysdep.c (sys_select): Turn atimers off and on instead of
11981 recording and restoring old alarm handler
11982
11983 * process.c (toplevel): Include atimer.h.
11984 (create_process_1): Rewritten.
11985 (create_process): Use atimers instead of alarm.
11986 (wait_reading_process_input) [hpux]: Turn atimers off instead
11987 of turning off SIGALRM.
11988 (wait_reading_process_input): Turn off atimers instead off
11989 calling stop_polling.
11990
11991 * emacs.c (main): Call init_atimer.
11992
11993 * keyboard.c (toplevel): Include systime.h and atimer.h.
11994 (polling_for_input): Removed because unused.
11995 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11996 (poll_timer): New variable.
11997 (poll_for_input, poll_for_input_1): New functions.
11998 (start_polling, stop_polling): Rewritten.
11999
12000 * keyboard.h (polling_for_input): Removed.
427ec082 12001
e12489f9
GM
12002 * atimer.h, atimer.c: New files.
12003
12004 * Makefile.in (obj): Add atimer.o.
12005 (atimer.o): New target.
12006
12007 * blockinput.h (pending_atimers): Add extern declaration.
12008 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12009
12010 * lisp.h (popup_activated_flag): Add extern declaration.
12011
12012 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12013 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12014 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12015
12016 * xterm.c (toplevel): Include atimer.h.
12017 (toolkit_scroll_bar_interaction): New variable.
12018 (Fxt_process_timeouts): Removed.
12019 (x_process_timeouts): New function.
12020 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12021 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12022 (x_make_frame_visible): Call poll_for_input_1 instead of
12023 input_poll_signal. Don't call alarm.
12024 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12025
1e5279b9
DL
120262000-01-24 Dave Love <fx@gnu.org>
12027
6c67ddee 12028 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12029 Don't use -cckr -- apparently not now necessary.
12030
edf6aeb8
EZ
120312000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12032
12033 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12034 screen boundary.
12035
9badad41
JR
120362000-01-23 Jason Rumney <jasonr@gnu.org>
12037
12038 * w32fns.c (w32_defined_color): Apply gamma correction before
12039 trying to map to the palette.
12040 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12041 to w32_clear_rect.
12042
12043 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12044 here. Callers changed to always pass real device context.
12045 (w32_draw_bitmap): Likewise.
12046 (w32_get_glyph_overhangs): Likewise.
52283633 12047 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12048 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12049 pfnSetScrollInfo and SetScrollRange.
12050 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12051 back into MULE characters after decoding them.
12052 (x_get_glyph_face_and_encoding): Likewise.
12053 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12054 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12055 (x_produce_glyphs): Calculate per char metrics for a character
12056 that we know exists in default font when font_not_found_p is true.
12057
63bd786b
JR
120582000-01-22 Jason Rumney <jasonr@gnu.org>
12059
12060 * makefile.nt (intervals.obj, composite.obj): New modules.
12061 (composite.h): Added as dependency where appropriate.
12062
12063 * w32gui.h (XGCValue): New struct for emulating X GCs.
12064
12065 * w32term.h (XCharStruct): New struct for emulating X.
12066
12067 * w32console.c (turn_on_face, turn_off_face): New functions.
12068 (change_line_highlight): New prototype for new redisplay.
12069 (write_glyphs): Support multibyte text. Support faces.
12070
52283633 12071 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12072
12073 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12074 throughout. struct frame * in place of FRAME_PTR.
12075 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12076 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12077 (w32_get_arg): Renamed from x_get_arg.
12078 (Fx_file_dialog): New function.
12079 (w32_list_fonts): Check cache before asking system.
12080 (Vw32_enable_synthesized_fonts): New variable.
12081 (Vw32_enable_italics): Obsolete, removed.
12082
12083 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12084 Use SELECTED_FRAME macro.
12085
12086 * w32menu.c: Add skeleton support for help strings on menus.
12087 (add_menu_item): Native checkbox and radio support added, but not
12088 yet enabled due to bugs.
12089 (push_menu_item): Add parameters type, selection and help.
12090 Callers updated.
12091 Formatting changes to reduce unnecessary diffs with xmenu.c.
12092
12093 * w32select.c (Fw32_set_clipboard_data): Update call to
12094 find_charset_in_str.
12095
12096 * w32term.c: Complete rewrite for new redisplay based on new
12097 xterm.c with necessary sections merged back in from old w32term.c.
12098
6ffd3cf7 120992000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12100
12101 * data.c (set_internal): Further fix in same criterion.
12102
6ffd3cf7 121032000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12104
12105 * data.c (set_internal): Fix the criteria for whether
12106 to swap out the old cached binding.
12107
60af03f1
DL
121082000-01-19 Dave Love <fx@gnu.org>
12109
12110 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12111
f9be074f
KH
121122000-01-18 Kenichi Handa <handa@etl.go.jp>
12113
12114 * regex.c (re_compile_fastmap): While checking a range table for
12115 `charset', skip flag bits for a character class correctly.
12116
52b8dbf9
GM
121172000-01-17 Gerd Moellmann <gerd@gnu.org>
12118
d36100c9
GM
12119 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12120
52283633 12121 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12122
12123 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12124 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12125
12126 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12127 MENU_ITEMS_ITEM_.*.
12128 (MENU_ITEMS_ITEM_HELP): New enumerator.
12129 (push_menu_item): Add parameter HELP. Record help in menu_items.
12130 (single_menu_item, single_submenu, list_of_items): Call
12131 push_menu_item with new parameter.
12132 (single_submenu): Set help string in widget value.
12133 (menu_highlight_callback): New function.
12134 (set_frame_menubar): Call lw_create_widget with new
12135 parameter list.
12136 (xmenu_show, xdialog_show): Ditto.
12137
3139018f
GM
121382000-01-13 Gerd Moellmann <gerd@gnu.org>
12139
12140 * sound.c (Fplay_sound): Improve doc string.
12141
83c8f461
RS
121422000-01-11 Richard M. Stallman <rms@gnu.org>
12143
12144 * lisp.h (set_internal): Enter the new arg.
12145
12146 * eval.c (specbind): Record buffer-local variables specially,
12147 indicating which buffer's binding was saved.
12148 (unbind_to): Restore buffer-local variables specially
12149 in the proper buffer.
12150
12151 * data.c (set_internal): New arg BUF.
427ec082 12152
83c8f461
RS
12153 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12154 * data.c (Fset): Pass new arg to set_internal.
12155 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12156
1fab1775
GM
121572000-01-11 Gerd Moellmann <gerd@gnu.org>
12158
52283633 12159 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12160
83c8f461 121612000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12162
12163 * minibuf.c (Ftry_completion): Doc fix.
12164
7a85e4df
GM
121652000-01-11 Gerd Moellmann <gerd@gnu.org>
12166
12167 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12168 vector, too.
12169
a970dae4
AS
121702000-01-11 Andreas Schwab <schwab@suse.de>
12171
12172 * coding.c (code_convert_region): Initialize total_skip.
12173
c65d14ee
DL
121742000-01-08 Dave Love <fx@gnu.org>
12175
12176 * eval.c (Fuser_variable_p): Check customizability too.
12177
834938d2
GM
121782000-01-07 Gerd Moellmann <gerd@gnu.org>
12179
12180 * minibuf.c (Fcompleting_read): Doc fix.
12181
e0303cd6
GM
121822000-01-05 Gerd Moellmann <gerd@gnu.org>
12183
8a26744b
GM
12184 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12185 -L /usr/local/lib.
12186
e0303cd6
GM
12187 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12188 Check that input style is supported before trying to create an
12189 IC for it.
12190 (x_window): Call x_create_im.
427ec082 12191
2e471eb5
GM
121922000-01-04 Gerd Moellmann <gerd@gnu.org>
12193
560a7bd2
GM
12194 * xfns.c (current_gif_memory_src): New variable.
12195 (gif_load): Record the address of the current memory source
12196 in current_gif_memory_src.
12197 (gif_read_from_memory): Use current_gif_memory_src.
12198
f9ee84a3
GM
12199 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12200 macros statement form.
12201
d1299cde
GM
12202 * sound.c (struct sound): Renamed from struct sound_file.
12203 (struct sound): Add members `data' and `header_size'.
12204 (enum sound_attr): Add SOUND_DATA.
12205 (current_sound, current_sound_device): Variables renamed from
12206 sound_file and sound_device.
12207 (parse_sound): Parse :data.
12208 (parse_sound): Handle sound data in strings.
12209 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12210 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12211 needed header size.
12212 (wav_play, au_play): Play sounds from string data.
12213
2e471eb5
GM
12214 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12215
12216 * lisp.h: Add prototype for allocate_string_data.
12217
52283633 12218 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12219
12220 * alloc.c (mark_buffer): Remove code in #if 0.
12221 (gc_sweep): Ditto.
12222 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12223 (strings_consed): New variable.
12224 (allocate_string): Set it.
12225 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12226 (Fmemory_use_counts): Return strings_consed. Use Flist.
12227
12228 * alloc.c: General cleanup in comments etc. Remove conditional
12229 compilation for `standalone'.
12230
12231 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12232
12233 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12234 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12235 (DONT_COPY_FLAG): Removed.
12236 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12237 (struct sdata, struct sblock): New
12238 (struct string_block): Rewritten.
12239 (STRINGS_IN_STRING_BLOCK): New macro.
12240 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12241 (large_sblocks, string_blocks, string_free_list): New variables.
12242 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12243 (init_strings): Rewritten.
12244 (allocate_string, allocate_string_data, compact_small_strings)
12245 (free_large_strings, sweep_strings): New functions.
12246 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12247 (struct string_block_head, current_string_block)
12248 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12249 (STRING_PAD): Removed.
12250 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12251 (Fgarbage_collect): Don't set mark bit in large strings.
12252 (mark_object): Mark strings differently. Mark symbol names
12253 differently.
12254 (survives_gc_p): Test marked strings differently.
427ec082 12255 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12256 symbol names.
12257 (compact_strings): Removed.
12258
42608ba8
EZ
122592000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12260
12261 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12262 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12263
e0a09e1a
KH
122642000-01-04 Kenichi Handa <handa@etl.go.jp>
12265
dd9f0750 12266 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12267 in a non-empty buffer.
dd9f0750 12268
3c0f3b15 12269 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12270
44cd3ae5
GM
122712000-01-03 Gerd Moellmann <gerd@gnu.org>
12272
12273 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12274 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12275
12276 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12277
c182a70f
EZ
122782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12279
12280 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12281 need to test for MSDOS frames.
12282
24480d5b
EZ
122832000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12284
12285 * dosfns.c (unspecified_colors): Remove.
12286 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12287 unspecified_bg.
12288 (msdos_stdcolor_name): Return strings for unspecified fore- and
12289 back-ground colors.
12290
12291 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12292 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12293 (tty_color_name): Return Lisp strings for unspecified fore- and
12294 back-ground colors.
12295 (Finternal_set_lisp_face_attribute): Remove the special treatment
12296 for Qunspecified_{f,b}g.
52283633 12297 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12298
047f434a
GM
122992000-01-03 Gerd Moellmann <gerd@gnu.org>
12300
12301 * xdisp.c (reseat_at_next_visible_line_start): Position before
12302 newline only if ending up on a newline.
12303 (next_element_from_ellipsis): Return success. Handle case of
52283633 12304 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12305 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12306 returns 0.
12307
d684c676
EZ
123082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12309
12310 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12311 (Fcolor_supported_p): Renamed from face-color-supported-p.
12312
5fe1d139
EZ
123132000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12314
12315 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12316 list of colors renamed to tty-defined-color-alist.
12317 (tty_color_name): Pass the frame to tty-color-by-index.
12318 (realize_tty_face): tty-color-alist is now a function which
12319 accepts the frame as argument.
12320
52283633 12321 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12322
816be8b8
EZ
123232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12324
12325 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12326 encode_terminal_code.
12327
b635321e
EZ
123282000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12329
12330 * dispnew.c (mode_line_string): Support termcap frames as well.
12331
9b784e96
GM
123322000-01-01 Gerd Moellmann <gerd@gnu.org>
12333
27189709
GM
12334 * syntax.c (Fforward_word): Undo previous change.
12335
12336 * editfns.c (Fconstrain_to_field): Don't constrain if
12337 inhibit-field-text-motion is non-nil.
12338 (Fline_beginning_position): Undo previous change.
12339 (Fline_end_position): Ditto.
12340
12341 * syntax.c (Fforward_word): Notice field boundaries only if
12342 inhibit-field-text-motion is nil.
12343
12344 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12345
12346 * editfns.c (Vinhibit_field_text_motion): New variable.
12347 (inhibit-field-text-motion): New DEFVAR_LISP.
12348 (Fline_beginning_position, Fline_end_position): Notice field
12349 boundaries only if inhibit-field-text-motion is nil.
12350
45158a91
GM
12351 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12352 All calls adjusted.
12353 (x_build_heuristic_mask): Likewise.
12354 (xbm_load_image_from_file): Change error output.
12355 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12356 (gif_load, gs_load, x_kill_gs_process): Ditto.
12357
9b784e96
GM
12358 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12359 color indices when accessing raster pixels.
63cec32f
GM
12360 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12361 one of :file or :data.
12362 (enum pbm_keyword_index): Add PBM_DATA.
12363 (pbm_format): Add :data.
12364 (pbm_image_p): Allow either :file or :data.
12365 (pbm_read_file): New function.
12366 (pbm_scan_number): Rewritten to read from string.
12367 (pbm_load): Support :data.
9b784e96 12368
2cb085db 12369See ChangeLog.8 for earlier changes.
6922b018
KH
12370
12371;; Local Variables:
49b3bd82 12372;; coding: iso-2022-7bit
6922b018 12373;; End: