(mouse_move_timer, mouse_button_timer): Initialize.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
48094ace
JR
12002-02-22 Jason Rumney <jasonr@gnu.org>
2
3 * w32term.h (struct w32_output): New member menu_command_in_progress.
4
5 * w32menu.c (menubar_selection_callback): Free the menu and
6 clear the menu_command_in_progress flag.
7
8 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
9 (menu_free_timer): New variable.
10 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
11 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
12 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
13 menu command is in progress.
14 <WM_COMMAND>: Set the menu_command_in_progress flag. Kill
15 any menu_free_timer that is running.
16
17 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
18 Call ExtTextOutA rather than ExtTextOut.
19
9feba281
EZ
202002-02-22 Eli Zaretskii <eliz@gnu.org>
21
22 * puresize.h (BASE_PURESIZE): Increase to 755000.
23
3276b4fe
EZ
242002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
25
26 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
27 on the string before encoding it.
28 (Fw16_get_clipboard_data): Run post-read-conversion on the string
29 after decoding it.
30
fbbe0ace
EZ
312002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
32
33 Support for ICCCM Extended Segments in X selections:
34
23e16093 35 * xselect.c <Qcompound_text_no_extensions>: New variable.
fbbe0ace
EZ
36 (syms_of_xselect): Intern and staticpro it.
37 (selection_data_to_lisp_data): Run post-read-conversion on decoded
38 selection text.
39 (lisp_data_to_selection_data): If next-selection-coding-system is
23e16093 40 compound-text-no-extensions, set the type of selection to be
fbbe0ace
EZ
41 compound-text.
42
43 * xterm.h (x_encode_text): Update prototype.
44
45 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
46 callers changed. If SELECTIONP is non-zero, run the
47 pre-write-conversion function before encoding the selection text.
48
2a28d471
KS
492002-02-21 Kim F. Storm <storm@cua.dk>
50
51 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15fdc2e3
KS
52
53 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Corrected
54 composing of language-change event.
55
9de46181
KS
562002-02-20 Kim F. Storm <storm@cua.dk>
57
58 * keyboard.c (menu_bar_items): Don't include keymap or local-map
59 bindings at PT when building menu (the menu is not updated often
60 enough for this to work reliable).
61 (tool_bar_items): Likewise.
62 (current_active_maps): Removed unused (and buggy) function.
63
c7f07c4c
PJ
642002-02-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
65
66 * xfns.c (gif_load): Use correct width and height for GIF images.
67
f8565280
EZ
682002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
69
70 * floatfns.c (Fatan): Accept an optional second arg and call
71 atan2 if passed 2 args.
72
5be86f54
JR
732002-02-18 Jason Rumney <jasonr@gnu.org>
74
75 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
76
f7b9d4d1
JR
772002-02-17 Jason Rumney <jasonr@gnu.org>
78
79 * w32term.c (x_autoselect_window_p): New variable.
80 (syms_of_w32term): DEFVAR_BOOL and initialize it.
81 (note_mouse_movement): Use it.
82
83 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
84
85 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
86
87 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
88 New variables.
89 (syms_of_w32fns): Intern and staticpro them.
90 (x_frame_parms) <"fullscreen">: New parameter.
91 (x_fullscreen_move, x_set_fullscreen): New functions.
92 (x_set_frame_parameters): Support Qfullscreen.
93 (x_real_positions): Save x/y_pixels_diff frame params.
94 (x_figure_window_size): Support full-screen frames.
95 (Fx_create_frame): Default the fullscreen parameter.
96
97 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
98 (x_fullscreen_adjust): New functions.
99 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
100 fullscreen. Call x_check_fullscreen_move, and set the
101 want_fullscreen member of output_data.w32
102 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
103
104 * w32term.h: New enum for FULLSCREEN_* constants.
105 (struct w32_output): New members want_fullscreen, x_pixels_diff,
106 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
107 (x-fullscreen-adjust): New prototype.
108
ce16e8d9
KS
1092002-02-17 Kim F. Storm <storm@cua.dk>
110
111 * frame.c: (Vmouse_highlight): New variable.
112 (syms_of_frame): DEFVAR_LISP it.
113
114 * frame.h: (Vmouse_highlight): Declare extern.
115
116 * xterm.h (struct x_display_info): Add mouse_face_hidden.
117
118 * xterm.c (disable_mouse_highlight): Removed variable.
119 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
120 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
121 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
122 and on after keyboard input.
123 (x_term_init): Initialize mouse_face_hidden.
124
125 * msdos.h (struct display_info): Add mouse_face_hidden.
126
127 * msdos.c (disable_mouse_highlight): Removed variable.
128 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
129 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
130 (internal_terminal_init): Initialize mouse_face_hidden.
131 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
132 and on after keyboard input.
133
134 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
135
136 * w32term.c (disable_mouse_highlight): Removed variable.
137 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
138 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
139 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
140 and on after keyboard input.
141 (w32_initialize_display_info): Initialize mouse_face_hidden.
142
386c4076
EZ
1432002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
144
9005a471
EZ
145 * msdos.c (last_mouse_window): New variable.
146 (dos_rawgetc): Fix last change--if the mouse is in the same window
147 as recorded in last_mouse_window, don't select this window.
148
760627fa
EZ
149 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not
150 cus-start.el.
151
4a137db1
EZ
152 * msdos.c (x_autoselect_window_p): New variable.
153 (syms_of_msdos): Defvar it.
154 (dos_rawgetc): If x_autoselect_window_p is set, select the window
155 in which the last mouse movement occured, unless it is already
156 selected.
157
386c4076
EZ
158 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): New
159 variables.
160 (syms_of_xdisp): DEVFAR them.
161 (hscroll_window_tree): Use automatic_hscroll_margin and
162 Vautomatic_hscroll_step to compute the amount of window scrolling.
163
5d2200aa
PJ
1642002-02-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
165
3996d07a
PJ
166 * xterm.c (x-autoselect-window): New variable.
167 (note_mouse_movement): Use it.
168
5d2200aa
PJ
169 * keyboard.c: Do not include "systime.h" twice.
170
bdf67c59
AS
1712002-02-15 Andreas Schwab <schwab@suse.de>
172
5407e8a7
AS
173 * puresize.h (BASE_PURESIZE): Increase to 9/5.
174
bdf67c59
AS
175 * alloc.c (NSTATICS): Increase to 1280.
176
98659da6
KG
1772002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
178
f9904178
KG
179 * alloc.c (NSTATICS): Bump to 1026.
180
98659da6
KG
181 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
182 (Vx_super_keysym): New variables.
183 (syms_of_xterm): DEFVAR_LISP them.
184 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
185 variables to determine which keys to use for the various
186 modifiers.
187
a48b709b 1882002-02-13 Kim F. Storm <storm@cua.dk>
1c9f5f23
KS
189
190 * window.c: (Vmode_line_in_non_selected_windows): Removed.
191 (mode_line_in_non_selected_windows): New variable.
192 (syms_of_window): DEFVAR_BOOL it.
193
194 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
195 mode_line_in_non_selected_windows.
196 (mode_line_in_non_selected_windows): Declare extern.
197 (Vmode_line_in_non_selected_windows): Removed extern.
198
db54c53a
RS
1992002-02-13 Richard M. Stallman <rms@gnu.org>
200
201 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
202 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
203 (Fclear_this_command_keys): Doc fixes.
204
205 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
206 (update_face_from_frame_parameter): Increment face_change_count
207 and windows_or_buffers_changed to force redisplay using changed faces.
208
209 * xdisp.c (QCpropertize): New variable.
210 (mode_line_proptrans_alist): New variable.
211 (display_mode_element): New arg PROPS; all calls changed.
212 Implement this, for strings.
213 Handle literal output of strings by sharing the
214 main-line code for strings, using local var `literal'.
215 Handle :propertize feature.
216 (syms_of_xdisp): Initialze and staticpro QCpropertize and
217 mode_line_proptrans_alist.
218
a48b709b 2192002-02-11 Kim F. Storm <storm@cua.dk>
3c9bdb7e
KS
220
221 * window.c: (Vmode_line_in_non_selected_windows): New variable.
222 (syms_of_window): DEFVAR_LISP it.
223
224 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
225 (CURRENT_MODE_LINE_FACE_ID): Use it.
226 (Vmode_line_in_non_selected_windows): Declare extern.
227
228 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
229 to get mode line face.
230
573a237a
EZ
2312002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
232
233 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
234 variables; cus-start.el doesn't need them anymore.
235
73df3b72
KS
2362002-02-09 Kim F. Storm <storm@cua.dk>
237
238 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
239 reduction. This fixes a display problem where stray newlines were
240 inserted in the window (corrected by C-l). Clarified code (IMHO).
241
18b0be7c
EZ
2422002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
243
244 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
245
246 * xdisp.c (display_mode_lines): Fix last change.
247
442ca9ba
JR
2482002-02-09 Jason Rumney <jasonr@gnu.org>
249
250 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
251 match each other.
3acfb461
JR
252 (w32_load_system_font): Prevent Cleartype fonts from loading.
253 (Fx_show_tip): Ensure tip frames are above other topmost windows.
442ca9ba 254
cdefda26
KS
2552002-02-09 Kim F. Storm <storm@cua.dk>
256
257 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
258 (CURRENT_MODE_LINE_HEIGHT): Use it.
259 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
260
261 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
262 (pos_visible_p, handle_face_prop): Likewise.
263 (display_mode_lines): Likewise, but for the real selected window.
264 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
265
266 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
267 in non-selected windows.
268 (realize_basic_faces): Realize it.
269 (syms_of_term): Intern and staticpro it.
270
9f69e812
KS
2712002-02-08 Kim F. Storm <storm@cua.dk>
272
273 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
274 Changed mail addresses to emacs-devel@gnu.org.
275
6ded2c89
EZ
2762002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
277
b5d40ceb
EZ
278 * fileio.c (Fsubstitute_in_file_name): If the file name includes
279 ~user, and there's no such user, don't discard everything before
280 ~user.
281
6ded2c89
EZ
282 * floatfns.c (Fround): Doc fix.
283
7b403e01 2842002-02-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7c15926f
PJ
285
286 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
287
6a229a63
SM
2882002-02-07 Stefan Monnier <monnier@cs.yale.edu>
289
db54c53a 290 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
6a229a63 291
33b93ee5
KS
2922002-02-07 Kim F. Storm <storm@cua.dk>
293
294 * keymap.c (where_is_internal): Only check whether definition is
295 remapped if it fulfills is_command_symbol.
296
72bba9f2
AS
2972002-02-07 Andreas Schwab <schwab@suse.de>
298
299 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
300
301 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
302
93607efd
KS
3032002-02-06 Kim F. Storm <storm@cua.dk>
304
305 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
306 defining command remapping. Doc updated.
307 (Flookup_key): Remap command through keymap if KEY is a symbol.
308 (is_command_symbol): New function.
6a229a63
SM
309 (Fkey_binding): Use it. New optional argument NO-REMAP.
310 Doc updated. Callers changed. Perform command remapping via
93607efd
KS
311 recursive call unless that arg is non-nil.
312 (where_is_internal): New argument no_remap. Callers changed.
313 Call recursively to find original key bindings for a remapped
314 comand unless that arg is non-nil.
6a229a63
SM
315 (Fwhere_is_internal): New optional argument NO-REMAP.
316 Doc updated. Callers changed. Pass arg to where_is_internal.
93607efd
KS
317
318 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
319 (is_command_symbol): Added prototype.
320
321 * keyboard.c (Vthis_original_command): New variable.
322 (syms_of_keyboard): DEFVAR_LISP it.
323 (command_loop_1): Set it, and perform command remapping.
324
7b403e01 3252002-02-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2642a29e
PJ
326
327 * keyboard.c (recursive_edit_1): Call cancel_hourglass
328 unconditionally.
329
f4ed304f
JR
3302002-02-06 Jason Rumney <jasonr@gnu.org>
331
332 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
333
b5309828
EZ
3342002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
335
336 * charset.c (get_charset_id): Use if-else instead of ?:.
337
108eaabb
RS
3382002-02-06 Richard M. Stallman <rms@gnu.org>
339
340 * filelock.c (S_ISLNK): Define if not defined.
341
bd3567fa
RS
3422002-02-03 Richard M. Stallman <rms@gnu.org>
343
344 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
345
346 * lread.c (read1): Redesign strategy for force_multibyte and
347 force_singlebyte. Now is_multibyte records whether read_buffer
348 is multibyte. Encountering any multibyte character makes it so.
6a229a63 349
95c11956
SM
3502002-02-02 Stefan Monnier <monnier@cs.yale.edu>
351
352 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
353 with the same sequence, map that sequence to f10 rather than f0.
354
ee466d0b
AS
3552002-02-03 Andreas Schwab <schwab@suse.de>
356
357 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
358 latter never being defined on GNU/Linux.
359
f77157da
EZ
3602002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
361
362 * xfaces.c (realize_default_face): Don't set the weight and slant
363 of the default face to Qnormal, unless these attributes are
364 unspecified.
365
7b403e01 3662002-02-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
4fbcc9b1 367
95c11956
SM
368 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
369 Call cancel_hourglass unconditionally.
4fbcc9b1
PJ
370
371 * eval.c (Fsignal): Remove duplicated declaration of
372 the variable `display_hourglass_p'.
373
5e101746
RS
3742002-01-31 Richard M. Stallman <rms@gnu.org>
375
376 * editfns.c (region_limit): Nicer error message.
377
378 * coding.c (decode_composition_emacs_mule):
379 Give up if NCOMPONENT gets too large to index `component'.
380
381 * callint.c (check_mark): New arg to specify clearer error message.
382 Callers changed.
383
3842002-01-27 Richard M. Stallman <rms@gnu.org>
385
386 * minibuf.c (Fcompleting_read): Doc fix.
387
7b403e01 3882002-01-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7a4b11ca
PJ
389
390 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
95c11956
SM
391 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
392 Fix doc-strings.
7a4b11ca 393
f5798fbd
RS
3942002-01-26 Richard M. Stallman <rms@gnu.org>
395
396 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
397
398 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
399 and scroll_up_aggressively.
400
7b403e01 4012002-01-26 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
8fc77801
PJ
402
403 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
404
3a232704
SM
4052002-01-25 Stefan Monnier <monnier@cs.yale.edu>
406
407 * textprop.c (Fnext_property_change, Fnext_single_property_change)
408 (Fprevious_property_change, Fprevious_single_property_change):
409 Stay within the narrowed-buffer boundaries.
410
dd939ea1
EZ
4112002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
412
413 * term.c (Ftty_display_color_cells): New function.
414 (syms_of_term): Defsubr it.
0011f346
EZ
415 (Ftty_display_color_cells, Ftty_display_color_p): Change the
416 argument name to DISPLAY. Doc fix.
dd939ea1
EZ
417
418 * dispextern.h: Add prototype for set_tty_color_mode and
419 tty_setup_colors.
420
aa35b6ad
JR
4212002-01-24 Jason Rumney <jasonr@gnu.org>
422
423 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
424 If region left to draw is not what was expected, mark the frame as
425 garbaged.
426
427 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
428 Combine the regions returned by BeginPaint and GetUpdateRect.
429
ab76d376
JR
4302002-01-23 Jason Rumney <jasonr@gnu.org>
431
432 * w32term.c (x_update_window_begin): Only hide caret if
433 w32_use_visible_system_caret is set.
434 (x_update_window_end): Only show caret if
435 w32_use_visible_system_caret is set.
436 (syms_of_w32term): Handle SystemParametersInfo call failing.
437
438 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
439
d89b617d
RS
4402002-01-22 Richard M. Stallman <rms@gnu.org>
441
442 * unexelf.c (unexec): Define n so as to cause compilation error
443 for the code where people have often written n instead of nn.
444
445 * .gdbinit (hookpost-run): Defined.
446
f0b9a067
JD
4472002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
448
449 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
450
5f9338d5
JD
4512002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
452
453 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
454 if fullscreen is being set.
455
7b403e01 4562002-01-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
029a305c
PJ
457
458 * minibuf.c (Fminibuffer_contents)
459 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
460 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
461
8cc0e0cf
RS
4622002-01-21 Richard M. Stallman <rms@gnu.org>
463
464 * window.c (check_frame_size): Fix minimum height calculation.
465
d7b8ee68
KR
4662002-01-20 Ken Raeburn <raeburn@gnu.org>
467
468 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
469 height before comparison.
470 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
471
c3c14723
JR
4722002-01-20 Jason Rumney <jasonr@gnu.org>
473
474 * w32term.c (w32_system_caret_width): Remove.
475 (w32_use_visible_system_caret): New user flag.
476 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
477 Windows reports a screen reader running.
478 (x_update_window_begin): Hide the system caret.
479 (x_update_window_end): Show the system caret.
480 (x_display_and_set_cursor): Don't draw a cursor when
481 w32_use_visible_system_caret is set. Do not adjust width.
482
483 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
484 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
485 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
486 the user requests it. Use system default width when creating.
487 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
488
95c11956
SM
489 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
490 New window messages.
c3c14723 491
75e20bec
RS
4922002-01-20 Richard M. Stallman <rms@gnu.org>
493
494 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
495
7b403e01 4962002-01-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3c17e062
PJ
497
498 * doprnt.c (doprnt1): Fix typos in error call.
499
3b927d14
EZ
5002002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
501
502 * unexelf.c (unexec) [__sgi]: Support the .got sections.
503
aa06cb9c
JR
5042002-01-20 Jason Rumney <jasonr@gnu.org>
505
506 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
507 that Windows returns. If a double check fails, try to guess how
508 ExtTextOut is going to act.
509
510 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
511 in place of stricmp.
512 (w32_list_synthesized_fonts): Removed.
513 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
514 (struct enumfont_t): New element; list.
515 (enum_font_cb2): List all style and charset variations of a font.
516 (Fw32_select_font): New optional argument; include_proportional.
517 Exclude vertical fonts. Exclude proportional fonts unless
518 include_proportional is non-nil.
519 (w32_enable_synthesized_fonts): Change to a boolean.
520 (Fw32_send_sys_command): Doc fix.
521
7b403e01 5222002-01-19 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
37082f8d
PJ
523
524 * dispnew.c (update_frame): Move the variable `tem' to the block
525 where it is used.
526
815d969e
JR
5272002-01-19 Jason Rumney <jasonr@gnu.org>
528
529 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
530 call to face-set-after-frame-default.
531
a1e3dda0
RS
5322002-01-18 Richard M. Stallman <rms@gnu.org>
533
95c11956 534 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
a1e3dda0
RS
535 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
536
daf516d3
RS
5372002-01-17 Richard M. Stallman <rms@gnu.org>
538
539 * window.c (enlarge_window): When exceeding size of parent,
540 directly delete all the siblings instead of trying to resize it.
541
7b403e01 5422002-01-17 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
dfc7a077
PJ
543
544 * term.c (set_tty_color_mode): Remove unused variable `tem'.
545
3ddff138
RS
5462002-01-16 Henrik Enberg <henrik@enberg.org>
547
7adfc0d7 548 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
3ddff138 549
465c9390
KS
5502002-01-16 Kim F. Storm <storm@cua.dk>
551
552 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
553 is invisible. This can happen if cursor is on top line of a
554 window, and we switch to a buffer with a header line.
555
95c11956 556 * w32term.c (x_erase_phys_cursor): Ditto.
a2c6de8e 557
7b403e01 5582002-01-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7a4bce14
PJ
559
560 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
561 `dont_resize' only when used.
562
563 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
564
26f622b3
EZ
5652002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
566
567 * xdisp.c (display_mode_element): When computing charpos, depend
f165c448 568 on multibyteness of elt, not the text in field.
26f622b3 569
7b403e01 5702002-01-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1a6db83a
PJ
571
572 * buffer.c (Fkill_all_local_variables): Increment
573 `update_mode_lines' only once.
574
7b403e01 5752002-01-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
a4ff5d67 576
aa1977d7
PJ
577 * lisp.h (adjust_after_replace_noundo)
578 (Fupdate_coding_systems_internal): Add prototypes.
579
95c11956 580 * sound.c (Fplay_sound): Initialize header_size also for :data case.
a4ff5d67 581
3947677c
EZ
5822002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
583
584 Support for the --color command-line argument and tty-color-mode
585 frame parameter:
586
587 * term.c (tty_default_color_capabilities, tty_setup_colors)
588 (set_tty_color_mode): New functions.
589 (term_init): Call tty_default_color_capabilities.
590 (Qtty_color_mode_alist): New variable.
591 (syms_of_term): Intern and staticpro it.
592
593 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
594 frames.
595 (do_switch_frame): For termcap frames, switch the tty
596 color mode as specified by the frame's parameters.
597 (Qtty_color_mode): New variable.
598 (syms_of_frame): Intern and staticpro it.
599
600 * emacs.c (USAGE2): Add the --color option.
601 (standard_args): Ditto.
602
8a8e19a3
EZ
6032002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
604
605 * xterm.h (struct x_output): New members want_fullscreen,
606 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
607 y_pixels_outer_diff.
608 New enum for FULLSCREEN_* constants.
609 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
610 is NULL.
611 (x_fullscreen_adjust): Add prototype.
612
613 * emacs.c (USAGE2): Add the new full-screen arguments.
614 (standard_args): Ditto.
615
95c11956
SM
616 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
617 New variables.
8a8e19a3
EZ
618 (syms_of_xfns): Intern and staticpro them.
619 (x_frame_parms) <"fullscreen">: New parameter.
620 (x_fullscreen_move, x_set_fullscreen): New functions.
621 (x_set_frame_parameters): Support for Qfullscreen.
622 (x_real_positions): More accurate computation of the frame position.
623 (x_figure_window_size): Support full-screen frames.
624 (Fx_create_frame): Default the fullscreen parameter.
625
626 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
627 (XTread_socket) <Expose>: Call x_check_fullscreen.
95c11956
SM
628 <ConfigureNotify>: Don't resize to fullscreen.
629 Call x_check_fullscreen_move, and set the want_fullscreen member of
8a8e19a3
EZ
630 output_data.x.
631
4f1b1854
JR
6322002-01-13 Jason Rumney <jasonr@gnu.org>
633
634 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
635 for mice with more than 3 buttons.
636
637 * w32term.c (parse_button): New parameter xbutton. Callers changed.
638 (w32_read_socket): Handle new "XBUTTON" messages.
639
640 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
641 (syms_of_w32fns): DEFVAR_BOOL it.
642 (w32_wnd_proc): Handle new "XBUTTON" messages.
643
7b403e01 6442002-01-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
5cb6905d 645
95c11956 646 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
5cb6905d 647
437dfb9f
AS
6482002-01-13 Andreas Schwab <schwab@suse.de>
649
650 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
651
9f696a00
AS
6522002-01-12 Andreas Schwab <schwab@suse.de>
653
654 * .gdbinit (xbuffer): Remove address operator since data is now a
655 pointer.
656
d57966d7
RS
6572002-01-11 Richard M. Stallman <rms@gnu.org>
658
659 * insdel.c (adjust_after_replace_noundo): New function.
660
661 * coding.c (code_convert_region): Don't copy old text if undo disabled.
662
74779f52
JR
6632002-01-09 Jason Rumney <jasonr@gnu.org>
664
665 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
666 when checking for multiple frames.
667
a474d59c
RS
6682002-01-08 Richard M. Stallman <rms@gnu.org>
669
670 * window.c (delete_window): Rewrite the code for changing the
671 selected window to handle the case where WINDOW is not a leaf.
672
fbb70ad9
EZ
6732002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
674
675 * process.c (send_process): Set src_multibyte to 1 after the call
676 top setup_coding_system, not before the call.
677
2d10309f
JR
6782002-01-07 Jason Rumney <jasonr@gnu.org>
679
680 * xmenu.c (set_frame_menubar, xmenu_show):
3a232704 681 (xdialog_show): Initialize wv->help to Qnil.
2d10309f
JR
682
683 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
684 (w32_dialog_show): Initialize wv->help to Qnil.
685
7f2cddf3
JR
6862002-01-06 Jason Rumney <jasonr@gnu.org>
687
0b1e6b54
JR
688 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
689
7f2cddf3
JR
690 * w32menu.c (w32_menu_display_help): Revert last change.
691
692 * xmenu.c (menu_highlight_callback): Revert last change.
693
e17144de
AS
6942002-01-06 Andreas Schwab <schwab@suse.de>
695
696 * insdel.c (make_gap_larger): Make sure buffer size does not
697 overflow range of int.
698
6637c996
JR
6992002-01-05 Jason Rumney <jasonr@gnu.org>
700
44368f8f
JR
701 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
702 OVERLAPS_P.
703
f884b6f4
JR
704 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
705
6637c996
JR
706 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
707 to the left or to the right of the pointer, put it against
708 the left screen edge.
709 (x_frame_parms): Add missing braces around initializer.
710
711 * w32term.c (x_setup_relief_colors): Don't compute an image's
712 background color if it doesn't have a Pixmap.
713 (notice_overwritten_cursor): Don't depend on
714 output_cursor and updated_area. Compare pixel coordinates with
715 window's cursor pixel coordinates.
3a232704
SM
716 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
717 Call notice_overwritten_cursor with new arg list.
6637c996
JR
718 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
719 unconditionally.
720 (x_draw_image_relief): Use predefined macro instead of
721 constant when the value of `tool_bar_button_relief' is negative.
722
723 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
724
453c5510
RS
7252002-01-04 Richard M. Stallman <rms@gnu.org>
726
727 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
728
d1d070e3
RS
7292002-01-03 Richard M. Stallman <rms@gnu.org>
730
731 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
732 (Fkey_binding): Try the `keymap' property map first.
733 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
734 minor mode bindings.
735
9ec1bdb6
KS
7362002-01-03 Kim F. Storm <storm@cua.dk>
737
738 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
739
308dd672
RS
7402002-01-02 Richard M. Stallman <rms@gnu.org>
741
edde72f6
RS
742 * keyboard.c (read_key_sequence): Handle the keymap property
743 before minor mode maps.
744
308dd672
RS
745 * editfns.c (Fformat): Update thissize from field_width
746 based on the actual width, in the string case.
747
7b403e01 7482002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3c1e6b46 749
03950b5b
PJ
750 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
751 when used as truth value to prevent gcc warnings.
752
3c1e6b46
PJ
753 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
754 * w32proc.c: Include <config.h>.
755
c1e11810
AS
7562002-01-01 Andreas Schwab <schwab@suse.de>
757
758 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
759 not EMACS_INT, to make them compatible with DEFVAR_INT.
760 * lisp.h (max_specpdl_size): Adjust declaration.
761
1996baee
RS
7622002-01-01 Richard M. Stallman <rms@gnu.org>
763
764 * print.c (print_object): Test print_escape_nonascii only for
765 unibyte strings.
766 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
767 when outputting to a multibyte buffer.
768
0065bb74
RS
7692001-12-29 Richard M. Stallman <rms@gnu.org>
770
771 * print.c (print_object): In multibyte string, use hex escapes.
772 Use octal only for unibyte strings.
773 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
774
775 * lread.c (read_escape): New arg BYTEREP for reporting whether
776 escape forces unibyte or multibyte.
777 (read1): When reading a string, take note of that info.
778
b5cb6072
KR
7792001-12-29 Ken Raeburn <raeburn@gnu.org>
780
781 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
782 comparison to test lisp value returned by Fget.
783
15fff01d
RS
7842001-12-29 Richard M. Stallman <rms@gnu.org>
785
0065bb74
RS
786 * lisp.h (max_specpdl_size): Add declaration.
787
0d8466cc
RS
788 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
789
15fff01d
RS
790 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
791 Handle modifier bits. Correct typo in error message.
792
2fae9111
RS
7932001-12-28 Richard M. Stallman <rms@gnu.org>
794
2d6c1fc0
RS
795 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
796 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
797 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
798 Update calls to Fdefine_abbrev.
799 (write_abbrev): Update for changed data format.
800 Don't list "system" abbrevs.
801 (Fexpand_abbrev): Update use count with new data format.
802 (describe_abbrev): Update for changed data format.
803 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
804
07025a55
RS
805 * config.in (HAVE_MBSINIT): Add #undef.
806
807 * strftime.c (mbsinit): Define as no-op if not available.
808
809 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
810 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
811
ce6eef6e
RS
812 * keymap.c (Flookup_key): Error message if key has wrong data type.
813 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac 814 (exclude_key): New variable.
3a232704 815
539e92ad
GM
8162001-12-28 Gerd Moellmann <gerd@gnu.org>
817
0cb8bb48
GM
818 * xterm.c (x_setup_relief_colors): Don't compute an image's
819 background color if it doesn't have a Pixmap.
3a232704 820
60626bab
GM
821 * xterm.c (notice_overwritten_cursor): Don't depend on
822 output_cursor and updated_area. Compare pixel coordinates with
823 window's cursor pixel coordinates.
3a232704
SM
824 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
825 Call notice_overwritten_cursor with new arg list.
60626bab
GM
826 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
827 unconditionally.
0cb8bb48 828
539e92ad
GM
829 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
830 height of the cursor line to the amount to scroll.
831
4e02881b
RS
8322001-12-27 Richard M. Stallman <rms@gnu.org>
833
834 * intervals.c (set_point_both): The position after an invisible,
835 intangible character is not an acceptable stopping point.
836
1ab964d7
KR
8372001-12-27 Ken Raeburn <raeburn@gnu.org>
838
839 * window.c (enlarge_window): In new preserve_before code, convert
840 CURBEG from lisp object to integer before doing arithmetic.
841
749f499f
RS
8422001-12-27 Richard M. Stallman <rms@gnu.org>
843
844 * bytecode.c (Fbyte_code): Undo previous change.
845
b5d9aaba
KS
8462001-12-26 Kim F. Storm <storm@cua.dk>
847
848 * keyboard.c (record_char): Ignore duplicate help-echo events only
849 separated by mouse-movement. When tracking mouse, only record
850 first and last mouse-movement event in same window.
851 Don't record mouse-movement events in keyboard macros.
3a232704 852
d0fd26dd
RS
8532001-12-25 Richard M. Stallman <rms@gnu.org>
854
b4c45162
RS
855 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
856 (Fenlarge_window): New arg PRESERVE_BEFORE.
857
d0fd26dd
RS
858 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
859 instead of Fstring_as_unibyte.
860
7b403e01 8612001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
c95eaa61 862
3a232704 863 The following changes remove mocklisp support:
c95eaa61
PJ
864
865 * mocklisp.h, mocklisp.c: Files removed.
866
867 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
868 `Qmocklisp' and `Qmocklisp_arguments'.
869 Remove prototype of syms_of_mocklisp.
870
3a232704 871 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
c95eaa61
PJ
872
873 * callint.c: Do not include mocklisp.h.
874 (Fcall_interactively): Do not test for mocklisp case.
875
876 * eval.c: Remove variables `Qmocklisp_arguments',
3a232704
SM
877 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
878 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
879 Do not test for mocklisp case.
c95eaa61
PJ
880 (Fwhile): Remove unused variable `tem'.
881 (syms_of_eval): Remove variable `moclisp-arguments'.
882
883 * data.c (wrong_type_argument): Remove mocklisp case.
884
885 * doc.c (Fdocumentation): Remove mocklisp case.
886
887 * emacs.c (main): Do not call syms_of_mocklisp.
888
31877e0a
RS
8892001-12-21 Richard M. Stallman <rms@gnu.org>
890
891 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
892 to the left or to the right of the pointer, put it against
893 the left screen edge.
894
e2c3786a
EZ
8952001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
896
897 * Makefile.in (distclean): Remove .gdbinit if we are building
898 outside the source tree.
899
c513fc03
EZ
9002001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
901
bf794306
EZ
902 * w32.c (emacs_root_dir): New function.
903
904 * msdos.c (emacs_root_dir): New function.
905
906 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
907 of the current drive as the fallback for default_directory.
908
62582985
EZ
909 * dired.c (file_name_completion): Run the elements of
910 completion-ignored-extensions through ENCODE_FILE.
911
c513fc03
EZ
912 * lisp.h (scmp): Remove prototype, since it's now a static
913 function private to dired.c.
914
3509a04c
RS
9152001-12-18 Richard M. Stallman <rms@gnu.org>
916
917 * dired.c (scmp): Function moved from minibuf.c.
918 Delete multibyte handling--used only on encoded strings.
919
920 * minibuf.c (scmp): Function moved to dired.c.
921
922 * fns.c (merge): Add QUIT call.
923
1e9a6186
DL
9242001-12-18 Dave Love <fx@gnu.org>
925
926 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
927 language/georgian.el.
928
e4e34e31
EZ
9292001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
930
931 * Makefile.in (lisp, shortlisp): Synchronize with changes to
932 lisp/Makefile.in:DONTCOMPILE.
933
7b403e01 9342001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
4521d1fc 935
7c75be36
PJ
936 * xdisp.c (window_box_height): Do not return negative values.
937 From Gerd Moellmann <gerd@gnu.org>.
938
4521d1fc
PJ
939 * keyboard.c (head_table): Add missing braces around initializer.
940
941 * term.c (keys): Likewise.
942
943 * xfns.c (x_frame_parms, visual_classes): Likewise.
944
93dec019
SS
9452001-12-17 Sam Steingold <sds@gnu.org>
946
947 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
948 patch (COMPOSING_P, not COMPOSING).
949
905cc05a
RS
9502001-12-17 Richard M. Stallman <rms@gnu.org>
951
2ed06289
RS
952 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
953
0e79d667
RS
954 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
955 before calling decode_coding.
956
957 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
958
959 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
960 instead of only for COMPOSITION_DISABLED.
961
82a7ab23
RS
9622001-12-16 Richard M. Stallman <rms@gnu.org>
963
d75bec6a
RS
964 * alloc.c (pure_alloc): After overflow, allocate just a small block.
965
52dcb476
RS
966 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
967
82a7ab23
RS
968 * buffer.h (struct buffer): New field `display_error_modiff'.
969 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
970
971 * window.c (Frecenter): Clear display_error_modiff field.
972
973 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
974 Call redisplay_window, but not if display_error_modiff field says no.
975 (redisplay_window_error): New function.
976 (displayed_buffer): New variable.
977 (redisplay_internal, redisplay_windows): Call the new functions
978 instead of redisplay_window directly.
979
4d0fa4f3
RS
9802001-12-15 Richard M. Stallman <rms@gnu.org>
981
982 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
983
493faf20
AI
9842001-12-14 Andrew Innes <andrewi@gnu.org>
985
325111e9
AI
986 * makefile.w32-in (EMACSLOADPATH): Define.
987 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
988 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 989
4971e491
EZ
9902001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
991
397b3b50 992 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
993 parameter have a numeric value all the time.
994
995 * w32fns.c (x_report_frame_params): Likewise.
996
d911a0fa
RS
9972001-12-12 Richard M. Stallman <rms@gnu.org>
998
999 * fileio.c (Fwrite_region): Doc fix.
1000
1001 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
1002 (redisplay_internal): Call clear_image_cache only for window terminals.
1003
201c831a
GM
10042001-12-12 Gerd Moellmann <gerd@gnu.org>
1005
1006 * xdisp.c (move_it_vertically_backward): Change heuristic
1007 for the case that we didn't move far enough initially.
1008
1009 * window.c (Frecenter): Simplify computation in the case of window
1010 system frames and ARG < 0; use window_box_height.
1011
34e39c95
RS
10122001-12-11 Richard M. Stallman <rms@gnu.org>
1013
1014 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
1015 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
1016
d77fbc16
AI
10172001-12-11 Andrew Innes <andrewi@gnu.org>
1018
1019 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
1020 arg is negative.
1021
61e3b944
RS
10222001-12-11 Richard M. Stallman <rms@gnu.org>
1023
1024 * m/hp800.h: Split the __hpux conditional into the parts
1025 that are right for GNU/Linux too and the parts that are not.
1026 Use the former if GNU_LINUX.
1027 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
1028
1029 * s/gnu-linux.h (GNU_LINUX): Defined.
1030
7b403e01 10312001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
70da46c3
PJ
1032
1033 * macros.c, msdos.c, w16select.c: Change doc-string comments to
1034 `new style' [w/`doc:' keyword].
1035
8af01033
JR
10362001-12-10 Jason Rumney <jasonr@gnu.org>
1037
1038 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
1039 before using.
1040
7b403e01 10412001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7363986a
PJ
1042
1043 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
1044 keyword].
1045
d9e6c4b1
EZ
10462001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
1047
d20fc48a
EZ
1048 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
1049
d9e6c4b1
EZ
1050 * s/hpux10.h (srand48): Don't undefine.
1051
f1a85b89
JR
10522001-12-09 Jason Rumney <jasonr@gnu.org>
1053
3a232704
SM
1054 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
1055 Add comment to explain where the struct came from.
f1a85b89
JR
1056 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
1057 (add_menu_item): Process pop-up menus first to avoid memory leak.
1058 (add_menu_item, w32_menu_display_help): Use `help' field as
1059 Lisp_Object.
1060 (w32_free_submenu_strings): Only free owner-drawn strings.
1061
7b403e01 10622001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3a62677f 1063
72244db2
PJ
1064 * COPYING: Moved back.
1065
3a62677f
PJ
1066 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
1067 Add parentheses around && within ||.
1068
1069 * indent.c (compute_motion): Likewise.
1070
1071 * intervals.c (merge_properties_sticky): Likewise.
1072
1073 * coding.c (setup_coding_system, shrink_encoding_region)
1074 (Fdecode_sjis_char): Likewise.
1075
9d113d9d
AS
10762001-12-07 Andreas Schwab <schwab@suse.de>
1077
b8523839
AS
1078 * xdisp.c (display_mode_element): Don't read past end of string if
1079 it ends with '%'.
1080
9464dea4
AS
1081 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
1082 can hold.
1083
3a232704 1084 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
9d113d9d
AS
1085 from most_positive_fixnum and most_negative_fixnum, resp., and
1086 type changed to Lisp_Object.
1087 (syms_of_data): DEFVAR_LISP them.
1088
70ec1377
RS
10892001-12-07 Richard M. Stallman <rms@gnu.org>
1090
1091 * callproc.c (init_callproc): Set Vdata_directory based on the source
1092 location whenever Emacs was run uninstalled.
1093
92f7dd37
PE
10942001-12-06 Paul Eggert <eggert@twinsun.com>
1095
1096 * config.in (HAVE_WORKING_VFORK): New #undefs.
1097 * process.c (create_process):
1098 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
1099 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
1100 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
1101 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
1102 * m/intel386.h (HAVE_VFORK): Likewise.
1103 * m/mips-siemens.h (HAVE_VFORK): Likewise.
1104 * m/mips.h (HAVE_VFORK): Likewise.
1105 * s/freebsd.h (vfork): Remove #define.
1106 * s/lynxos.h (HAVE_VFORK): Remove #undef.
1107 * s/usg5-4-2.h: Fix comment about vfork.
1108
c93674bb
RS
11092001-12-06 Richard M. Stallman <rms@gnu.org>
1110
1111 * s/hpux10.h (random): Add undef.
1112 (HAVE_RANDOM): Define it just once.
1113
59b59892
SM
11142001-12-06 Stefan Monnier <monnier@cs.yale.edu>
1115
1116 * eval.c: Undo last change: the standard syntax is not wanted.
1117
c6ea2775
EZ
11182001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
1119
1120 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
1121 scroll bars of the frame before deleting the frame itself. If the
1122 frame has a widget, delete the frame with XtDestroyWidget, and do
1123 not call XDestroyWindow before that.
1124
91175673
KS
11252001-12-06 Kim F. Storm <storm@cua.dk>
1126
1127 * xfns.c (x_report_frame_params): Return actual fringe widths.
1128
1129 * w32fns.c (x_report_frame_params): Return actual fringe widths.
1130
e0fead5d
AI
11312001-12-05 Andrew Innes <andrewi@gnu.org>
1132
1133 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
1134 excessively large.
1135
1136 * insdel.c (make_gap_larger): New function.
1137 (make_gap_smaller): New function.
1138 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
1139 make_gap_smaller if arg is negative.
1140
c186cdb3
SM
11412001-12-04 Stefan Monnier <monnier@cs.yale.edu>
1142
1143 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
1144 Pass a dummy argument when calling interrupt_signal.
1145 (parse_menu_item): Mark disabled items before checking for empty def.
1146 (read_char_minibuf_menu_prompt): Make safety more visible.
1147 (read_key_sequence): Add a `first_unbound' variable.
1148 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
1149 unbound prefix as soon as we can detect it.
1150
1151 * doc.c (Fsnarf_documentation): Add prototype.
1152 (get_doc_string): Handle negative arguments.
1153 (Fdocumentation): Use AREF and ASIZE.
1154 Move the calls to get_doc_string to a single place.
1155 Don't confuse an interactive-spec for a docstring reference.
1156 (Fdocumentation_property): Take advantage of the fact that
1157 get_doc_string now ignores the sign of the docstring position.
1158
1159 * eval.c: Use standard syntax for usage in docstrings.
1160
7b403e01 11612001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
58cfce98 1162
c186cdb3 1163 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 1164
7b403e01 11652001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
62854fe2
PJ
1166
1167 * xterm.c (x_draw_image_relief): Use predefined macro instead of
1168 constant when the value of `tool_bar_button_relief' is negative.
1169
656f46bb
RS
11702001-12-02 Richard M. Stallman <rms@gnu.org>
1171
1172 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
1173 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
1174
1175 * fileio.c (read_non_regular): Delete Fsignal call.
1176
036e218d
SM
11772001-12-01 Stefan Monnier <monnier@cs.yale.edu>
1178
1179 * lisp.h (run_hook_list_with_args): Undo last change.
1180
7ddb2c16
GM
11812001-12-01 Gerd Moellmann <gerd@gnu.org>
1182
1183 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
1184
ace9b298
JR
11852001-12-01 Jason Rumney <jasonr@gnu.org>
1186
90647b07
JR
1187 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1188
1189 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1190 [!WM_MOUSELEAVE]: Define.
1191
ace9b298
JR
1192 * w32menu.c (current_popup_menu, get_menu_item_info):
1193 (set_menu_item_info): New vars.
1194 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1195 (w32_menu_show): Set current_popup_menu.
1196 (add_menu_item): Allocate new strings for owner-drawn menu items
1197 and help strings.
1198 Use owner-draw for disabled menu items again.
1199 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1200 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1201
1202 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1203 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1204 <WM_EXITMENULOOP>: Free menu strings.
1205 <WM_MOUSELEAVE>: Stop tracking mouse.
1206 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1207
1208 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1209 and mouse face.
1210
a9549909 12112001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
1212
1213 The following changes add left-fringe and right-fringe
1214 frame parameters to adjust fringe widths, or remove one or
1215 both fringes.
036e218d 1216
9fbc32aa
KS
1217 * frame.h (struct frame): Remove trunc_area_pixel_width and
1218 trunc_area_cols fields.
1219 (Qleft_fringe, Qright_fringe): Declare.
1220 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1221
1222 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1223 (syms_of_frame): Initialize them.
1224
1225 * window.c (coordinates_in_window): Handle separate left and right
1226 fringe widths.
1227
1228 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1229 and fringe_cols fields.
1230 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1231 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1232 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1233 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1234 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1235 (x_compute_fringe_widths): Add prototype.
1236
1237 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1238 fill fringe evenly with small dashes.
1239 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1240 clip the new ZV bitmap to avoid jitter between rows.
1241 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1242 background. Don't draw fringe bitmaps if fringe width is zero.
1243 (x_compute_fringe_widths): New function.
1244 (x_new_font, x_set_window_size_1): Use it.
1245
1246 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
0c5ee687 1247 (x_set_frame_parameters): Process `font' parameter before other
9fbc32aa
KS
1248 parameters as fringe widths depend on it.
1249 (x_set_fringe_width): New function.
1250 (x_figure_window_size): Use x_compute_fringe_widths.
1251 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1252 parameters.
1253
1254 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1255 (EmacsFrameSetCharSize): Ditto.
1256
1257 * w32term.h: Merged changes from xterm.h.
1258 * w32term.c: Merged changes from xterm.c.
1259 * w32fns.c: Merged changes from xfns.c.
1260
7b403e01 12612001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
0142178a
PJ
1262
1263 * COPYING: Removed.
1264
d4824a5d
DL
12652001-11-29 Dave Love <fx@gnu.org>
1266
1267 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1268 extra extra slot.
1269 (detect_coding_mask): Fix call of detect_coding_iso2022.
1270
7b403e01 12712001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
b1356234
PJ
1272
1273 * fileio.c (file-name-coding-system)
1274 (default-file-name-coding-system): Doc fix (links to referenced
1275 variables added).
1276
3ce081f5
SM
12772001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1278
99e380ee
SM
1279 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1280 Add dummy uses of gcproN variables.
1281
3ce081f5 1282 * category.c (describe_category, describe_category_1)
2ad56c09 1283 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
1284 (syms_of_category): Don't defsubr Sdescribe_categories.
1285
66458f32
RS
12862001-11-28 Richard M. Stallman <rms@gnu.org>
1287
1288 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1289
1290 * Makefile.in (lispdir): New variable, referring to build dir.
1291 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1292
59a86c99
AI
12932001-11-28 Andrew Innes <andrewi@gnu.org>
1294
1295 * w32menu.c (w32_menu_display_help): Actually add the new argument
1296 OWNER.
1297
eb77a5f4
JR
12982001-11-28 Jason Rumney <jasonr@gnu.org>
1299
1300 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1301 menu items. From David Ponce <dponce@wanadoo.fr>.
1302 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1303 conditionally.
1304 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1305 help event in the owner frame's keyboard buffer.
1306
1307 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1308 (Fx_show_tip): Don't subtract last width from row width.
1309
1310 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1311 (w32_read_socket): Use EQ to compare frames.
1312
bb313871
GM
13132001-11-28 Gerd Moellmann <gerd@gnu.org>
1314
1315 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1316 OVERLAPS_P.
1317
7b403e01 13182001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
55b43a63 1319
6052529b
PJ
1320 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1321 `gcpro3' and `gcpro4'.
1322
3ce081f5
SM
1323 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1324
13252001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1326
1327 * ccl.c: Use AREF and ASIZE.
1328
13292001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1330
1331 * lisp.h (run_hook_list_with_args): Remove.
1332 (LIST_END_P): Fix call to wrong_type_argument.
1333 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 1334
111ed14e
SM
13352001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1336
9fabb2f5
SM
1337 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1338 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1339
1340 * eval.c: Use AREF and ASIZE.
1341 (Ffetch_bytecode): Add the file name to the error message.
1342
1343 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
1344 which match the end of the file-name.
1345 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
1346 is not a valid env var, but leave it as is instead.
1347
111ed14e
SM
1348 * keymap.c (access_keymap): Handle t bindings like nil bindings.
1349 Make nil bindings in char-tables transparent.
1350 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
1351
2fa0eedf
RS
13522001-11-26 Richard M. Stallman <rms@gnu.org>
1353
d1420435
RS
1354 * textprop.c (set_text_properties_1): Allow START, END in either order.
1355 Do nothing if range is empty.
1356
2fa0eedf
RS
1357 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
1358
ebcbef4e
RS
1359 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
1360 (clean): Not here.
1361
5c131048
SM
13622001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1363
1364 * textprop.c (set_text_properties_1): Clearly mark that the
1365 interval should not be empty.
1366
1367 * intervals.c (graft_intervals_into_buffer):
1368 Don't call set_text_properties_1 on an empty interval.
1369
96d276c3
RS
13702001-11-25 Richard M. Stallman <rms@gnu.org>
1371
6108b49c
RS
1372 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
1373
96d276c3
RS
1374 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
1375 don't lose the data in it.
1376
5eea19a4
RS
13772001-11-25 Juanma Barranquero <lektu@terra.es>
1378
1379 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
1380
1381 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
1382
1383 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
1384
438e57dd
SM
13852001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1386
1387 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
1388
c88e5347
EZ
13892001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
1390
1391 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
1392 Niemitalo <kon@iki.fi>.
1393
59ce1461
JR
13942001-11-25 Jason Rumney <jasonr@gnu.org>
1395
1396 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
1397
1398 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
1399 (Fx_show_tip): Block input during frame creation.
1400 (Fx_show_tip, Fx_hide_tip): Enable.
1401
8727d588
RS
14022001-11-24 Richard M. Stallman <rms@gnu.org>
1403
1404 * lread.c (Fload): Detect recursive load error for more than 3
1405 nestings of the same file.
1406 (Vrecursive_load_depth_limit): Variable deleted.
1407 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
1408
cc63037e
JR
14092001-11-24 Jason Rumney <jasonr@gnu.org>
1410
1411 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
1412 mouse position if either left or top is not specified.
1413
1414 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
1415 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
1416 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
1417 (my_create_tip_window): Assign tip_window.
1418 (x_create_tip_frame): Use same defaults as X.
1419 (compute_tip_xy): Remove unused variable. Use full screen width.
1420 (Fx_show_tip): Do not double height. Call ShowWindow directly.
1421
1422 * w32term.c (x_after_update_window_line): Doc fix.
1423 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
1424 frames.
1425 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
1426
1427 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
1428 for all Windowed systems.
1429
deece6f5
EZ
14302001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1431
1432 * msdos.c (IT_clear_screen): If the frame's faces are not yet
1433 realized, use the initial screen colors to clear the screen.
1434
7b403e01 14352001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1b944d9c 1436
28ff4293
PJ
1437 * textprop.c (Fset_text_properties): Remove unused variables
1438 `unchanged', `prev_changed', `s' and `len'.
1439
56167cc5
PJ
1440 * search.c (Freplace_match): Remove unused variable `inslen'.
1441
1b944d9c
PJ
1442 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
1443
ca56d953
JR
14442001-11-22 Jason Rumney <jasonr@gnu.org>
1445
1446 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
1447 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
1448 (my_create_tip_window): New function.
1449 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 1450 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 1451
33399dce
JR
14522001-11-20 Jason Rumney <jasonr@gnu.org>
1453
1454 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
1455 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
1456
1457 * w32fns.c (Vw32_system_coding_system): Remove.
1458 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
1459
9b46de40
SM
14602001-11-19 Stefan Monnier <monnier@cs.yale.edu>
1461
6710ea06
SM
1462 * fileio.c (Fwrite_region): Move choose_write_coding_system to
1463 after build_annotations.
1464
a395ef6a
SM
1465 * syntax.c (describe_syntax): Add dummy arg.
1466 (describe_syntax_1): Update call to describe_vector.
1467
1468 * category.c (describe_category): Add dummy arg.
1469 (describe_category_1): Update call to describe_vector.
1470
1471 * keymap.c (Fdescribe_vector): Add `describer' parameter.
1472 (describe_command, describe_translation): Add dummy second param.
1473 (describe_map): Call elt_describer with two arguments.
1474 (describe_vector_princ): Add `fun' parameter.
1475 Call it instead of the hardcoded `princ'.
1476 (describe_vector): Add arg `args'.
1477 Pass it as a new second argument to elt_describer.
1478
1479 * keymap.h (describe_vector): Update prototype.
1480
9b46de40
SM
1481 * frame.c: Don't include keymap.h any more.
1482 (keys_of_frame): Remove.
1483
1484 * lisp.h (keys_of_frame): Remove declaration.
1485
1486 * emacs.c (main): Don't call `keys_of_frame' any more.
1487
aff37336
SS
14882001-11-14 Andreas Schwab <schwab@suse.de>
1489
1490 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
1491 if defined, 0 otherwise.
9b46de40 1492 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
1493 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
1494
b9937f07
RS
14952001-11-19 Richard M. Stallman <rms@gnu.org>
1496
1497 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
1498
2cd23960
JR
14992001-11-18 Jason Rumney <jasonr@gnu.org>
1500
1501 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
1502 (x_draw_bar_cursor): If the background color of the glyph under
1503 the cursor equals the frame's cursor color, use the glyph's
1504 foreground color for drawing the bar cursor.
1505 (x_after_update_window_line): Clear internal border in different
1506 circumstances.
1507 (w32_set_vertical_scroll_bar): Check for width and height > 0.
1508 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
1509 (x_set_glyph_string_background_width):
1510 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
1511 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
1512 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
1513 if cursor_in_non_selected_windows is false.
9b46de40 1514 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
1515 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
1516 Notice if cursor gets overwritten.
1517 (notice_overwritten_cursor): Renamed from
1518 note_overwritten_text_cursor. Rewritten to take glyph widths
1519 into account, and to take X positions as parameters.
1520 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1521 around call to x_draw_glyphs.
1522 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1523 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1524 color to use for image glyph reliefs.
1525 (x_draw_image_relief): Accept zero tool_bar_button_relief.
1526 (glyph_rect): Remove unused variable `area'.
1527
1528 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
1529 some items.
1530 (x_set_internal_border_width): Set frame garbaged when window
1531 doesn't exist yet.
1532 (Fx_create_frame): Accept zero tool_bar_button_relief.
1533 (x_clear_image_1, four_corners_best, image_background)
1534 (image_background_transparent): New functions.
1535 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1536 (gs_format): Add `:background' entry.
1537 (lookup_image): Set IMG's background color if specified.
1538 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1539 when appropriate.
1540 (x_clear_image_1): Reset `background_valid' and
1541 `background_transparent_valid' fields.
1542 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1543 calculating it here. Set IMG's background_transparent field.
1544 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1545 (enum png_keyword_index): Add PNG_BACKGROUND.
1546 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1547 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1548 (enum gif_keyword_index): Add GIF_BACKGROUND.
1549 (enum gs_keyword_index): Add GS_BACKGROUND.
1550 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1551 Pre-calculate image background color where necessary.
9b46de40
SM
1552 (x_create_x_image_and_pixmap, xbm_load, gs_load):
1553 Use display info's n_cbits entry for screen depth.
2cd23960
JR
1554 (Fx_show_tip): Remove unused variables `buffer', `top',
1555 `left', `max_width' and `max_height'.
1556
1557 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
1558
a4184c1c
GM
15592001-11-18 Gerd Moellmann <gerd@gnu.org>
1560
1561 * puresize.h (BASE_PURESIZE): Increase to 750000.
1562
7b403e01 15632001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
f6fa0866
PJ
1564
1565 * frame.c (Fframe_live_p): Doc fix.
1566
f4ca4b00
RS
15672001-11-18 Richard M. Stallman <rms@gnu.org>
1568
1569 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
1570 (message_dolog_marker3): New static variables hold three markers.
1571 (syms_of_xdisp): Initialize and staticpro them.
1572 (message_dolog): Use message_dolog_marker1..3 instead of
1573 allocating markers each time. Unchain them when done.
1574
f4e25f94
RS
15752001-11-17 Richard M. Stallman <rms@gnu.org>
1576
1577 * doc.c (Fsnarf_documentation): Doc fix.
1578
91c153e2
AS
15792001-11-17 Andreas Schwab <schwab@suse.de>
1580
1581 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
1582
65b7d3e7
RS
15832001-11-17 Richard M. Stallman <rms@gnu.org>
1584
1585 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
1586
6b5f6311
JR
15872001-11-17 Jason Rumney <jasonr@gnu.org>
1588
1589 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
1590
be676094
GM
15912001-11-17 Gerd Moellmann <gerd@gnu.org>
1592
1593 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
1594 with invalid position.
1595
032a857d
RS
15962001-11-16 Richard M. Stallman <rms@gnu.org>
1597
1598 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
1599
1600 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
1601 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
1602 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
1603
1604 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
1605
b6270150
SM
16062001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1607
1608 * fileio.c (build_annotations): Split off the tail.
1609 (build_annotations_2): New fun. Extracted from build_annotations.
1610 (Fwrite_region): Split the call to build_annotations into two
1611 calls to build_annotations and build_annotations_2.
1612
7b403e01 16132001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
792e5cbd 1614
98cbb9fa
PJ
1615 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
1616 clear_waiting_for_input with argument.
1617
1618 * xterm.h (x_update_cursor): Remove duplicated prototype.
1619
b6270150 1620 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 1621
ea904403 1622 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 1623
ea904403 1624 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 1625
fa336b91
SM
16262001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1627
1628 * fileio.c (choose_write_coding_system): New fun, extracted
1629 from Fwrite_region.
1630 (Fwrite_region): Use it.
1631
1632 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
1633 (funcall_lambda, run_hook_with_args): Make static and add prototype.
1634 (ml_apply, find_handler_clause): Add prototype.
1635
077907d4
EZ
16362001-11-16 Eli Zaretskii <eliz@gnu.org>
1637
aa2af83a
EZ
1638 * config.in: Add #undef HAVE_COFF_H.
1639
077907d4
EZ
1640 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
1641 Required for ISC 4.1.
1642
1756e2fb
EZ
16432001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
1644
1645 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
1646 Andrew Wiseman <a.wiseman@btclick.com>.
1647
06e8f738
KS
16482001-11-16 Kim F. Storm <storm@cua.dk>
1649
1650 The following changes are made to clean up the various internal
1651 references to the fringes to actually use the term `fringe' for
1652 them. Previously, they were called `flags areas', `bitmap areas',
1653 `left/right side of windows', or implicitly as `flags' or
1654 `bitmaps':
1655
1656 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
1657 Comments fixed. Use renamed symbols.
fa336b91 1658
06e8f738 1659 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 1660
06e8f738
KS
1661 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
1662 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
1663 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 1664
06e8f738 1665 * msdos.c: Comment fix.
fa336b91 1666
06e8f738 1667 * w32fns.c: Use renamed symbols.
fa336b91 1668
06e8f738
KS
1669 * w32term.c: Comment fixes. Use renamed symbols.
1670 (fringe_bitmap_type): Renamed from bitmap_type.
1671 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1672 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
1673 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 1674
06e8f738
KS
1675 * w32term.h: Comment fixes. Use renamed symbols.
1676 (fringes_extra): Renamed from flags_areas_extra.
1677 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1678 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1679 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1680 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1681 (FRAME_X_LEFT_FRINGE_WIDTH):
1682 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1683 (FRAME_X_RIGHT_FRINGE_WIDTH):
1684 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1685
06e8f738 1686 * widget.c: Use renamed symbols.
fa336b91 1687
06e8f738
KS
1688 * window.c: Comment fixes. Use renamed symbols.
1689 (coordinates-in-window-p): Doc fix.
fa336b91 1690
06e8f738 1691 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 1692
06e8f738 1693 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 1694
06e8f738 1695 * xfns.c: Use renamed symbols.
fa336b91 1696
06e8f738
KS
1697 * xterm.c: Comment fixes. Use renamed symbols.
1698 (fringe_bitmap_type): Renamed from bitmap_type.
1699 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1700 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1701 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1702
1703 * xterm.h: Comment fixes. Use renamed symbols.
1704 (fringes_extra): Renamed from flags_areas_extra.
1705 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1706 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1707 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1708 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1709 (FRAME_X_LEFT_FRINGE_WIDTH):
1710 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1711 (FRAME_X_RIGHT_FRINGE_WIDTH):
1712 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 1713
9ce647f4
JR
17142001-11-15 Jason Rumney <jasonr@gnu.org>
1715
1716 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1717 work for most menu items. From David Ponce
1718 <david.ponce@wanadoo.fr>.
1719
9b784ab8
GM
17202001-11-15 Gerd Moellmann <gerd@gnu.org>
1721
9f7e52b4
GM
1722 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1723 Some x_set_* function expect to be called even if old and new
1724 value are equal.
1725
1726 * xdisp.c (build_desired_tool_bar_string): Accept zero
1727 tool_bar_button_relief.
1728
1729 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1730
1731 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 1732
34e5d0af
GM
1733 * xterm.c (x_draw_bar_cursor): If the background color of the
1734 glyph under the cursor equals the frame's cursor color, use
1735 the glyph's foreground color for drawing the bar cursor.
1736
9b784ab8
GM
1737 * dispnew.c (direct_output_forward_char): Fix character/byte
1738 position comparison.
1739
89512fcd
MB
17402001-11-15 Miles Bader <miles@gnu.org>
1741
1742 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1743 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1744 Update arguments to find_field.
1745 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1746 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1747 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1748 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1749
7d18891d
RS
17502001-11-14 Richard M. Stallman <rms@gnu.org>
1751
d2936d21
RS
1752 * editfns.c (Fpropertize): Allow call with 1 arg.
1753
7d18891d
RS
1754 * dispextern.h (image_background, image_background_transparent):
1755 Conditionalize on HAVE_X_WINDOWS.
1756
17572001-11-13 Richard M. Stallman <rms@gnu.org>
1758
1759 * print.c (Fprin1_to_string): Doc fix.
1760
1761 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1762
1763 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1764
1765 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1766
1767 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1768
1769 * eval.c (syms_of_eval): Doc fix.
1770
1771 * coding.c (syms_of_coding): Doc fix.
1772
1773 * doc.c (Fsnarf_documentation): Doc fix.
1774
1775 * dispnew.c (syms_of_display): Doc fix.
1776
1777 * category.c (Fget_unused_category): Doc fix.
1778
1779 * buffer.c (syms_of_buffer): Doc fixes.
1780
9474c847
EZ
17812001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1782
1783 * print.c (prin1, print): Doc fix.
1784
7b403e01 17852001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
e3059a5d 1786
2b6f3c2b 1787 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1788 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1789
1790 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1791 `Vclip_large_size_font'.
1792
b3700ae7
JR
17932001-11-13 Jason Rumney <jasonr@gnu.org>
1794
1795 * w32fns.c: Doc fix.
1796
7b403e01 17972001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
eae936e2 1798
4bb962be
PJ
1799 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1800
0a332240
PJ
1801 * w32fns.c (Fx_synchronize): Reindent.
1802
ddb67bdc
PJ
1803 * fns.c: Doc fix.
1804
3467c402
PJ
1805 * emacs.c: Doc fix.
1806
1807 * coding.c: Doc fix.
1808
6e1b91d7
PJ
1809 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1810 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1811 `new style' [w/`doc:' keyword].
1812
f6e34773
PJ
1813 * xmenu.c (x-popup-menu): Reindent.
1814 (x-popup-dialog): Likewise.
1815
fa336b91 1816 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1817
c2552f79
PJ
1818 * xdisp.c (Fdump_tool_bar_row): Reindent.
1819
94c7167b
PJ
1820 * minibuf.c (Fminibuffer_complete_word): Reindent.
1821 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1822 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1823 (Fminibuffer_message): Likewise.
1824
462a5e3a
PJ
1825 * fns.c (Freverse): Reindent.
1826
b8de5714
PJ
1827 * eval.c (Fif): Reindent.
1828 (Fand): Likewise.
1829
deb8e082
PJ
1830 * editfns.c (Fuser_real_login_name): Reindent.
1831 (Finsert_buffer_substring): Likewise.
1832 (Fcompare_buffer_substrings): Likewise.
1833 (Fsubst_char_in_region): Likewise.
1834
bacf09b4
PJ
1835 * dispnew.c (Fsit_for): Reindent.
1836 (Fframe_or_buffer_changed_p): Likewise.
1837 (Finternal_show_cursor_p): Likewise.
1838 (syms_of_display): Likewise.
1839
eae936e2
PJ
1840 * alloc.c (Flist): Reindent.
1841 (Fvector): Likewise.
1842
1c1d3d69
RS
18432001-11-12 Richard M. Stallman <rms@gnu.org>
1844
1845 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1846 LeaveNotify events. Only FocusIn and FocusOut do that now.
1847 (x_display_and_set_cursor): Do display hollow cursors in active
1848 minibuffer windows when they are not selected.
1849
b6f4c7ba
JR
18502001-11-12 Jason Rumney <jasonr@gnu.org>
1851
1852 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1853 * w32term.c: Change doc-string comments to `new style'.
1854 [w/`doc:' keyword]. Doc fixes.
1855
1856 * w32fns.c: Don't define max.
1857 (Fx_open_connection): Only execute once.
1858
7b403e01 18592001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
a89f435d
PJ
1860
1861 * ccl.c: Change macros to use do-while block instead of if-else.
1862 Use braces to follow GNU Coding Standards.
1863
a4cd0cd7
RS
18642001-11-11 Richard M. Stallman <rms@gnu.org>
1865
eafb659a
RS
1866 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1867
1868 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1869
a4cd0cd7
RS
1870 * insdel.c (replace_range): Use adjust_markers_for_replace
1871 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1872
1873 * intervals.h: Declare set_text_properties and set_text_properties_1.
1874
1875 * textprop.c (set_text_properties_1): New subroutine
1876 broken out of set_text_properties.
1877 (set_text_properties): Use set_text_properties_1.
1878
1879 * intervals.c (graft_intervals_into_buffer):
1880 Use set_text_properties_1 to clear out properties.
1881
1882 * search.c (Freplace_match): Use replace_range to insert
1883 and delete. Don't request property inheritance from
1884 surrounding text.
1885
91823618
JR
18862001-11-10 Jason Rumney <jasonr@gnu.org>
1887
1888 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1889 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1890 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1891
86928dfb
GM
18922001-11-10 Gerd Moellmann <gerd@gnu.org>
1893
fa336b91 1894 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1895 instead of malloc/free.
1896
7b403e01 18972001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
40ef1eda 1898
ab8469eb
PJ
1899 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1900 Coding Standards.
1901 (Finternal_set_lisp_face_attribute): Likewise.
1902
a78e0303
PJ
1903 * buffer.c (Fbury_buffer): Likewise.
1904
40ef1eda
PJ
1905 * indent.c (current_column_1): Remove unused variable `prev_col'.
1906
fabf4a91
PJ
1907 * coding.c (encode_coding): Use precomputed value of `src'.
1908 (encode_coding): Remove unused variable `src_end'.
1909 (code_convert_region): Remove unused variables `count'.
1910
0c99b139
JR
19112001-11-07 Jason Rumney <jasonr@gnu.org>
1912
1913 * w32term.c (x_display_and_set_cursor): Do not move system caret
1914 if cursor_glyph is NULL.
1915
7b403e01 19162001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
830ddd77
PJ
1917
1918 * keymap.c (access_keymap): Fix compilation error.
1919
55c6d645
MB
19202001-11-07 Miles Bader <miles@gnu.org>
1921
1922 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1923
7b403e01 19242001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
5de38842 1925
7a4564a4
PJ
1926 * intervals.c (graft_intervals_into_buffer):
1927 Remove #ifdef'd-out code.
1928 (graft_intervals_into_buffer): Remove unused variable `middle'.
1929
5de38842
PJ
1930 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1931 code (eval-current-buffer).
1932 Change doc-string comments to `new style' [w/`doc:' keyword].
1933
4fa23df5
RS
19342001-11-06 Richard M. Stallman <rms@gnu.org>
1935
1936 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1937
7a6a97d7
SM
19382001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1939
c191d13c
SM
1940 * lread.c (read1): Fix behavior with nested backquoting.
1941
7a6a97d7
SM
1942 * keyboard.c (make_lispy_event): Check integerness and fix
1943 Lisp_Object/int mixup.
1944
7b403e01 19452001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
44dc78e0
PJ
1946
1947 * fns.c (copy_hash_table): Remove unused variable `v'.
1948
17893c65
PJ
1949 * fontset.c (fontset_font_pattern): Remove unused variable
1950 `family_registry'.
1951
4d994a79
PJ
1952 * indent.c (current_column_1): Remove unused variable `prev_col'.
1953
d5360cc7
RS
19542001-11-05 Richard M. Stallman <rms@gnu.org>
1955
1956 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1957
1958 * buffer.c (Fkill_buffer): Don't delete auto save file
1959 if buffer is modified.
1960
96238a5a
AI
19612001-11-05 Andrew Innes <andrewi@gnu.org>
1962
1963 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1964 CHECK_NUMBER_CDR.
1965
d9d54213
RS
19662001-11-05 Richard M. Stallman <rms@gnu.org>
1967
1968 * unexelf.c (unexec): Minor changes; clean up comments.
1969
b116830b
SS
19702001-11-05 Sam Steingold <sds@gnu.org>
1971
1972 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1973
3297e2a1
AS
19742001-11-05 Andreas Schwab <schwab@suse.de>
1975
1976 * sound.c (sound_perror): Save errno from being clobbered.
1977
9212319f 19782001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1979
1980 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1981 the program image directly.
1982
7b403e01 19832001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
7dd73b78
PJ
1984
1985 * buffer.h (Fbuffer_local_value): Add prototype.
1986
982f6c7e
RS
19872001-11-04 Richard M. Stallman <rms@gnu.org>
1988
d31053f9
RS
1989 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1990 and CHECK_BUFFER.
1991
1992 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1993 (record_char): Likewise.
1994
1995 * keyboard.c (make_lispy_event): Don't insist a drag event must
1996 move to a different buffer position. Instead, check for moving at
1997 least double_click_fuzz.
1998
1999 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
2000
2001 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
2002
982f6c7e
RS
2003 * indent.c (current_column_1, Fmove_to_column): Separate the code
2004 for display-table glyphs from the code buffer text, to fix
2005 bugs in the former.
2006
830047fd
RS
20072001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
2008
2009 * buffer.c (Fbuffer_local_value): New function.
c191d13c 2010 (syms_of_buffer): Defsubr it.
b116830b 2011
830047fd
RS
2012 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
2013 value of `cursor-in-non-selected-windows'.
2014
2015 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
2016 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
2017 (syms_of_xdisp): Initialize it.
b116830b 2018
7b403e01 20192001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2df5238c 2020
4e397688
PJ
2021 * xfns.c (Fx_create_frame): Doc fix.
2022
48b0f3ae
PJ
2023 * coding.c: Change doc-string comments to `new style' [w/`doc:'
2024 keyword].
2025
2df5238c
PJ
2026 * eval.c (top_level_value, top_level_set): Remove commented and
2027 #ifdef'd-out code.
2028 (Fdefvar): Fix usage in doc-string.
2029
3ecaf7e5
RS
20302001-11-03 Richard M. Stallman <rms@gnu.org>
2031
2032 * xfns.c: Include unistd.h, if it exists.
2033
2034 * editfns.c: Move the include of ctype.h after unistd.h.
2035
2036 * gmalloc.c: Test BROKEN_PROTOTYPES.
2037
8db2e33b
KR
20382001-11-03 Ken Raeburn <raeburn@gnu.org>
2039
2040 * lisp.h (CHECK_STRING_CAR): New macro.
2041 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
2042 treating XCAR and XCDR as lvalues.
2043 (openp): Use CHECK_STRING_CAR.
2044 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
2045
aed29b97
EZ
20462001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2047
2048 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 2049 (SIGMASKTYPE): Define.
aed29b97
EZ
2050
2051 * syssignal.h (sigunblock): Don't define if already defined.
2052
7b403e01 20532001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6cb16f95 2054
16b45be4
EZ
2055 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
2056 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
2057 Fix typos in comments.
2058
020f9b38
PJ
2059 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
2060 and #ifdef'd-out code.
2061 Fix and reindent comments.
2062
c191d13c 2063 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 2064
6cb16f95
PJ
2065 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
2066 argument `i' in macros.
2067
2068 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
2069 `i' in macros.
2070
16b45be4
EZ
2071 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
2072 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
2073 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
2074 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
2075 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
2076 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
2077 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
2078 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
2079 in macros.
2080
2081 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
2082 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
2083 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
2084 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
2085 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
2086 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
2087 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
2088 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
2089 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
2090 (remove unused second argument).
2091
7e9d3c2f
SM
20922001-11-02 Stefan Monnier <monnier@cs.yale.edu>
2093
2094 * syntax.c (describe_syntax): New wrapper.
2095 (Finternal_describe_syntax_value): Rename from describe_syntax.
2096 Don't insert space at front and \n at the end.
2097 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
2098
2099 * regex.c (re_wctype): Try to fix some warnings.
2100 (regcomp, regexec): Don't forget the __restrict.
2101
e6bff182
RS
21022001-11-02 Richard M. Stallman <rms@gnu.org>
2103
2104 * textprop.c (Fget_char_property): Doc fix.
2105
7b403e01 21062001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
9ba48103
PJ
2107
2108 * process.c (Fstart_process): Add usage to doc-string.
2109
2110 * data.c (Fsetq_default): Ditto.
2111
2112 * callint.c (Finteractive): Ditto.
2113
c22e59e1
SM
21142001-11-01 Stefan Monnier <monnier@cs.yale.edu>
2115
2116 * macros.c: Don't include keymap.h any more.
2117
9271ed2c
RS
21182001-11-01 Richard M. Stallman <rms@gnu.org>
2119
e6bff182
RS
2120 * data.c (Fmake_local_variable): Doc fix.
2121
2122 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
2123 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
2124
9271ed2c
RS
2125 * keymap.c (Fdescribe_buffer_bindings): Print character property
2126 bindings along with or instead of the buffer local map.
2127 Make the overriding maps override what they should.
2128
7b403e01 21292001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
8b8bd9c6
PJ
2130
2131 * window.c (grow_mini_window): Fix typo in comment.
2132
27188d11
GM
21332001-11-01 Gerd Moellmann <gerd@gnu.org>
2134
7b49b9d2
GM
2135 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
2136 (XTset_vertical_scroll_bar): Likewise.
2137
43f7c3ea
GM
2138 * xfns.c (x_build_heuristic_mask): Use four_corners_best
2139 instead of IMAGE_BACKGROUND.
c22e59e1 2140
b350c2e5
GM
2141 * xfns.c (four_corners_best): Reindent.
2142
c22e59e1 2143 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
2144 Handle :box so that it is possible to specify sexprs.
2145
7b403e01 21462001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
d576358b
PJ
2147
2148 * xfaces.c (Finternal_merge_in_global_face): Reindent.
2149 (Fface_font): Ditto.
2150 (Finternal_set_alternative_font_registry_alist): Ditto.
2151 (Ftty_suppress_bold_inverse_default_colors): Ditto.
2152
2153 * xfns.c (x-get-resource): Reindent.
2154
bf00d461
EZ
21552001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2156
2157 * s/hpux11.h: New file.
2158
7b403e01 21592001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
4e10df59 2160
2b209b97
PJ
2161 * emacs.c (USAGE1): Show command line option --no-window-system
2162 instead of --no-windows in usage.
2163 (standard_args): Rename --no-windows to --no-window-system.
2164 (bug_reporting_address): Follow Emacs coding conventions.
2165
9dbc9081
PJ
2166 * eval.c (Fcommandp): Doc fix.
2167 Change doc-string comments to `new style' [w/`doc:' keyword].
2168
4e10df59
PJ
2169 * frame.c (Fframe_live_p): Doc fix.
2170
2171 * buffer.c (selective-display-ellipses): Doc fix.
2172
dd387b25
GM
21732001-10-31 Gerd Moellmann <gerd@gnu.org>
2174
fe957e65
GM
2175 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
2176
dd387b25
GM
2177 * xfaces.c (realize_x_face): If C is not a single-byte character,
2178 set the face's colors_copied_bitwise_p instead of the defaulted_p
2179 members which have a different meaning.
2180 (free_face_colors): Do nothing for a face whose colors have been
2181 copied bitwise.
2182
c22e59e1 2183 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 2184
7b403e01 21852001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2e1280f8 2186
687784e8
PJ
2187 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2188 [w/`doc:' keyword].
2e1280f8 2189
b9d9a9b9
GM
21902001-10-31 Gerd Moellmann <gerd@gnu.org>
2191
2192 * fns.c (require_unwind): Return Lisp_Object.
2193
7b403e01 21942001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
48400103 2195
fa1361cb
PJ
2196 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2197 (last-input-char): Revert doc-string to be the same as the
2198 doc-string of `last-input-event'.
2199
48400103
PJ
2200 * xdisp.c: Fix typos in comments.
2201
eafa3196
GM
22022001-10-31 Gerd Moellmann <gerd@gnu.org>
2203
2204 * window.c (grow_mini_window): Handle case that the root
2205 window is already smaller than the nominal mininum height.
2206
747d3f2a
SM
22072001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2208
bf9bb76f
SM
2209 * emacs.c (main): Don't call keys_of_macros any more.
2210
2211 * lisp.h (keys_of_macros): Remove.
2212
2213 * macros.c (keys_of_macros): Remove.
2214
747d3f2a
SM
2215 * xfaces.c (Fface_attribute_relative_p): Declare args.
2216
5e905a57
JR
22172001-10-30 Jason Rumney <jasonr@gnu.org>
2218
2219 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2220 (enum_font_cb2): Ignore fonts with vertical orientation.
2221
3a426197
RS
22222001-10-30 Richard M. Stallman <rms@gnu.org>
2223
2224 * keyboard.c (Finput_pending_p): Doc fix.
2225
a742d646
GM
22262001-10-30 Gerd Moellmann <gerd@gnu.org>
2227
259cf6bc
GM
2228 * xterm.c (x_after_update_window_line): Don't run the code
2229 clearing in borders for rows whose visible height is 0.
2230
3f99f948
GM
2231 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2232 resized_p flag is set. If not set, use the much less flickering
2233 method previously used.
2234
2235 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2236
2237 * frame.h (struct frame) <resized_p>: New member.
2238
b4a3be43
GM
2239 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2240 as large as the number of bytes to convert.
747d3f2a 2241
a742d646
GM
2242 * lread.c (to_multibyte): New function.
2243 (read1): Use it.
2244
cacbb9e9
EZ
22452001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2246
2247 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2248
99cb6b2f
GM
22492001-10-30 Gerd Moellmann <gerd@gnu.org>
2250
327f42ee 2251 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
2252 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2253 if the row's fill_line_p is set and drawing the last glyph with
2254 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 2255
99cb6b2f
GM
2256 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2257
8e8223e2
SM
22582001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2259
2260 * xmenu.c: Include coding.h and charset.h.
2261 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2262 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2263 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2264 Explicitly set wv->help. Use `TRUE' rather than `True'.
2265 (menu_help_callback): Use empty_string.
2266
2267 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2268 (Fx_popup_dialog): Explicitly init f.
2269 (w32_menu_display_help): Use empty_string.
2270
4d083a8f
RS
22712001-10-29 Richard M. Stallman <rms@gnu.org>
2272
b2304472
RS
2273 * fns.c (Frequire): Detect recursive try to require the same
2274 feature 3 or more levels deep, and get error.
2275 (require_unwind): New subroutine.
2276 (require_nesting_list): New variable.
2277 (syms_of_fns): Init and staticpro it.
2278
4d083a8f
RS
2279 * print.c (print_object): Clarify indication of insertion type.
2280
2fe41216
EZ
22812001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2282
90480000
EZ
2283 * coding.c (syms_of_coding): Document that locale-coding-system is
2284 used for decoding input on X.
2285
2fe41216
EZ
2286 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2287
7b403e01 22882001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
74e79967
PJ
2289
2290 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2291 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2292
60ebcfe8
GM
22932001-10-29 Gerd Moellmann <gerd@gnu.org>
2294
9a7bdceb
GM
2295 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2296 use NO_CURSOR if cursor_in_non_selected_windows is false.
2297
3f08fcd2
GM
2298 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2299 the slant attribute if FRAME is t.
2300
0ccfdad2
GM
2301 * xfns.c (x_set_internal_border_width): Set frame garbaged
2302 when X window doesn't exist yet.
2303
ef253080
GM
2304 * xterm.c (x_after_update_window_line): Clear internal border
2305 in different circumstances.
b116830b 2306
60ebcfe8
GM
2307 * xterm.c (XTread_socket) <KeyPress>: Don't use
2308 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2309 <handa@etl.go.jp>.
2310
73d25f9c
EZ
23112001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2312
2313 * m/ibms390.h: New file. From Adam Thornton
2314 <athornton@sinenomine.net>.
2315
cac1daf0
GM
23162001-10-28 Gerd Moellmann <gerd@gnu.org>
2317
053b3256 2318 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 2319
cac1daf0
GM
2320 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2321 a loop counter.
2322
7b403e01 23232001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
13b1a09c 2324
186486eb
PJ
2325 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2326
4707d2d0
PJ
2327 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2328 keyword].
2329 Fix typos in comments.
b116830b 2330
d883731c
PJ
2331 * emacs.c (bug_reporting_address): New function.
2332 Use it when displaying usage message.
2333
04012254
PJ
2334 * minibuf.c (read_minibuf): Remove unused external declaration of
2335 variable `Qread_only'.
2336
13b1a09c
PJ
2337 * keymap.c (access_keymap): Remove unused variable `charset'.
2338
5bbf4378
MB
23392001-10-28 Miles Bader <miles@gnu.org>
2340
2341 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2342 Remove #ifdef'd-out code.
2343 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
2344 (syms_of_xfaces): Initialize them.
2345
1ce1e4ee
JR
23462001-10-27 Jason Rumney <jasonr@gnu.org>
2347
2348 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
2349 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
2350 position using the system caret.
2351
2352 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
2353 (w32_system_caret_height, w32_system_caret_x)
2354 (w32_system_caret_y): New variables for tracking system caret.
2355 (w32_initialize): Initialize them.
c2d53558 2356 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 2357
c2d53558
SM
2358 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
2359 New messages types.
1ce1e4ee
JR
2360
2361 * w32term.c (note_mouse_highlight): Clear old help_echo.
2362
7b403e01 23632001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
4e30ce42 2364
bb4600a4
PJ
2365 * xterm.c: Fix typo in a comment.
2366
7db35a48
PJ
2367 * emacs.c: Fix typos in comments.
2368 Remove unnecessary spaces.
2369 Change doc-string comments to `new style' [w/`doc:' keyword].
2370 (USAGE2): Fix typos in usage string.
2371
a7248e4f
PJ
2372 * xterm.c: Fix typo in a comment.
2373
4e30ce42
PJ
2374 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
2375 emacs.c.
2376
62725a92
GM
23772001-10-27 Gerd Moellmann <gerd@gnu.org>
2378
798dbe1f 2379 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 2380 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
2381 farther backward when target_y was not reached.
2382
62725a92
GM
2383 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
2384 Display errno only if non-zero.
2385 (sound_warning): New function.
2386 (vox_configure): Don't treat failing to set sample rate as error.
2387 (various places): Improve error messages.
2388
d4e34d24
EZ
23892001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
2390
944e6f60
EZ
2391 * fileio.c (Faccess_file): Run the argument filename through
2392 Fexpand_file_name, before using it.
2393
d4e34d24
EZ
2394 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
2395 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
2396
38d2af0c
GM
23972001-10-26 Gerd Moellmann <gerd@gnu.org>
2398
da80a8d5
GM
2399 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
2400
38d2af0c
GM
2401 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2402 Fix clearing in the case of scroll bars on the right.
c2d53558 2403
56f508dd
EZ
24042001-10-26 Juanma Barranquero <lektu@terra.es>
2405
2406 * w32gui.h (XImage): Add a dummy typedef.
2407
fbd5ceb2
GM
24082001-10-26 Gerd Moellmann <gerd@gnu.org>
2409
c2d53558 2410 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 2411
b23236fb
EZ
24122001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
2413
2414 * frame.c (Fframe_parameter): Fix last change.
2415
5d991fc4
EZ
2416 * fileio.c: Revert last change (which removed old commented-out
2417 version of expand-file-name). Add a comment that explains why
2418 this old version should not be removed.
2419
879eadc3
GM
24202001-10-25 Gerd Moellmann <gerd@gnu.org>
2421
75700ff2
GM
2422 * frame.c (Fframe_parameter): Fix a bug whereby some
2423 ``artificial'' frame parameters, like `minibuffer' were not
2424 obtained by calling Fframe_parameters.
2425
dfe92a6a
GM
2426 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
2427 cursor differently.
2428
879eadc3
GM
2429 * xdisp.c (move_it_vertically_backward): Compute line height
2430 differently. Add heuristic to try to be more compatible to 20.x.
2431
e1010ebe
SM
24322001-10-25 Stefan Monnier <monnier@cs.yale.edu>
2433
d73a471b
SM
2434 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
2435
d6da5a06
GM
2436 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
2437 boolean.
e1010ebe 2438
f66bd220
MB
24392001-10-25 Miles Bader <miles@gnu.org>
2440
2441 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
2442 BG is a pointer to a structure, not a structure.
2443 (gif_format, png_format): Add missing commas.
2444
d436d538
RS
24452001-10-24 Richard M. Stallman <rms@gnu.org>
2446
2447 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 2448 (syms_of_xfaces): Defsubr it.
d436d538 2449
7b403e01 24502001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
075c507b
PJ
2451
2452 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
2453 variable `area'.
2454
7b403e01 24552001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
d492b584 2456
c2d53558 2457 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 2458
e2a57b34
MB
24592001-10-25 Miles Bader <miles@gnu.org>
2460
2461 * dispextern.h (struct image): Add `background',
2462 `background_valid', and `background_transparent' fields.
2463 (image_background, image_background_transparent): New declarations.
2464 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
2465 * xfns.c (image_background, image_background_transparent)
2466 (four_corners_best): New functions.
c2d53558 2467 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
2468 (gs_format): Add `:background' entry.
2469 (lookup_image): Set IMG's background color if specified.
2470 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2471 when appropriate.
2472 (x_clear_image_1): Reset `background_valid' and
2473 `background_transparent_valid' fields.
2474 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2475 calculating it here. Set IMG's background_transparent field.
2476 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2477 (enum png_keyword_index): Add PNG_BACKGROUND.
2478 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2479 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2480 (enum gif_keyword_index): Add GIF_BACKGROUND.
2481 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 2482 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
2483 Pre-calculate image background color where necessary.
2484 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2485 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2486 color to use for image glyph reliefs.
2487
b547b6e8
GM
24882001-10-24 Gerd Moellmann <gerd@gnu.org>
2489
d9e3b8c6
GM
2490 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
2491 in full-width rows.
c2d53558 2492
b547b6e8
GM
2493 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2494 Fix clearing of area not covered by scroll bar.
2495
7b403e01 24962001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2beb36f9
PJ
2497
2498 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
2499 and `real_start'.
c2d53558 2500 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
2501 (glyph_rect): Remove unused variable `area'.
2502
76cb5e06
GM
25032001-10-24 Gerd Moellmann <gerd@gnu.org>
2504
bdbdebff 2505 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
2506
2507 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
2508 (row_containing_pos): Take additional argument DY.
2509 Treat rows ending in middle of char differently.
62e33982
GM
2510 (display_line): Handle tabs on window systems differently.
2511
2512 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
2513 with additional argument.
2514
2515 * dispextern.h (row_containing_pos): Adjust prototype.
2516
76cb5e06
GM
2517 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
2518 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
2519 (try_window_id, try_window_reusing_current_matrix)
2520 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
2521 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
2522
7b403e01 25232001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
996fee11 2524
c9e60620
PJ
2525 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
2526 gnuemacs).
2527 (HAVE_BOXES): Fix typo in comment.
2528 (push_menu_pane): Fix typo in comment.
2529
3b552d56
PJ
2530 * xdisp.c: (display_prop_string_p): Remove unused local declaration
2531 of `Qwhen'.
2532 (single_display_prop_string_p): Remove unused local declarations
2533 of `Qwhen' and `Qmargin'.
2534 (string_buffer_position): Remove unused variable `around'.
2535 (store_frame_title): Remove unused variable `width'.
2536
15c565ac
PJ
2537 * window.c: Don't define max.
2538 (coordinates_in_window): Remove unused variable `uy'.
2539
a8818eb9
PJ
2540 * widget.c: Don't define max.
2541
996fee11
PJ
2542 * process.c: Don't define max.
2543 (create_process): Remove unused variable `buffer'.
2544
496e1a5b
GM
25452001-10-23 Gerd Moellmann <gerd@gnu.org>
2546
c2d53558 2547 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 2548
5905ae8b
EZ
25492001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
2550
2551 * xfaces.c (Finternal_set_lisp_face_attribute)
2552 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
2553 frame is on a windowed display.
2554
24db49fb
GM
25552001-10-23 Gerd Moellmann <gerd@gnu.org>
2556
c2d53558
SM
2557 * dispnew.c (sync_window_with_frame_matrix_rows):
2558 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
2559 of marginal areas.
2560
c2d53558 2561 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 2562
f0487f05
EZ
25632001-10-23 Andreas Schwab <schwab@suse.de>
2564
2565 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
2566 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
2567
f0a48a01
GM
25682001-10-23 Gerd Moellmann <gerd@gnu.org>
2569
c2d53558 2570 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
2571 REAL_END. Notice if cursor gets overwritten.
2572 (notice_overwritten_cursor): Take X positions as parameters.
2573 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2574 around call to x_draw_glyphs.
2575
7b403e01 25762001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
a50a10a0 2577
fc11dff0
PJ
2578 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
2579 instead of C) and usage.
a50a10a0 2580
fc11dff0
PJ
2581 * editfns.c (char-to-string): Fix argument names (use CHAR instead
2582 of C) and usage.
a50a10a0
PJ
2583
2584 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
2585 `left', `max_width' and `max_height'.
2586
8738febd
GM
25872001-10-23 Gerd Moellmann <gerd@gnu.org>
2588
2589 * xdisp.c (display_line): For a tab continued to the next line,
2590 set row's ends_in_middle_of_char_p.
2591
653c329b
GM
25922001-10-22 Gerd Moellmann <gerd@gnu.org>
2593
2594 * xdisp.c (display_line): Fix computation of continuation lines
2595 width for TABs.
2596
7b403e01 25972001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
f958c5ac 2598
7ba51063
PJ
2599 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
2600 `Qlaplace'.
2601
f958c5ac
PJ
2602 * fileio.c: Remove unused code.
2603
eb360291
MB
26042001-10-22 Miles Bader <miles@gnu.org>
2605
2606 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
2607 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
2608 Remove `DOC_STRINGS_IN_COMMENTS' cases.
2609
98515cf0
JR
26102001-10-21 Jason Rumney <jasonr@gnu.org>
2611
2612 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
2613
93026d88
EZ
26142001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2615
2616 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
2617 (Finsert_string): Avoid the multi-line string literals warning.
2618
c9a95b79
MB
26192001-10-22 Miles Bader <miles@gnu.org>
2620
2621 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
2622 (Fdocumentation): Don't use it.
2623 (syms_of_doc): Don't initialize it.
2624
2625 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
2626 * print.c (Fwith_output_to_temp_buffer): Likewise.
2627 * window.c (Fsave_window_excursion): Likewise.
c2d53558 2628 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 2629 (Fsave_restriction): Likewise.
c2d53558
SM
2630 * eval.c (Frun_hooks, Frun_hook_with_args)
2631 (Frun_hook_with_args_until_failure)
2632 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
2633 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
2634 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
2635 (Funwind_protect, Fcondition_case): Likewise.
2636 * coding.c (Ffind_operation_coding_system): Likewise.
2637 * keyboard.c (Ftrack_mouse): Likewise.
2638
a3b10252
MB
26392001-10-21 Miles Bader <miles@gnu.org>
2640
c2d53558 2641 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
2642 (Fmake_hash_table): Add usage: string to doc string.
2643 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 2644 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
2645 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
2646 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
2647 (Fml_prefix_argument_loop): Likewise.
2648
7b403e01 26492001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
c6f73eec 2650
c2d53558 2651 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 2652
c6f73eec
PJ
2653 * sysdep.c (init_sys_modes): Change doc-string comments to `new
2654 style' [w/`doc:' keyword].
2655
2656 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
2657 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
2658 comments to `new style' [w/`doc:' keyword].
2659
3cf3436e
JR
26602001-10-21 Jason Rumney <jasonr@gnu.org>
2661
2662 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
2663
c169b8f1
JR
2664 * w32term.c (remember_mouse_glyph): New function.
2665 (w32_mouse_position): Use it.
2666 (note_mouse_movement): If the mouse moved off the glyph, remember
2667 its new position.
c2d53558 2668
4fdd691b
JR
2669 * w32term.h (struct w32_output): Correct spelling of x_compatible.
2670 (w32_display_info): Add mouse_face_overlay.
2671
c169b8f1
JR
2672 * w32term.c (notice_overwritten_cursor): Renamed from
2673 note_overwritten_text_cursor. Rewritten to take glyph widths into
2674 account.
2675 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2676 (fast_find_string_pos): New function.
2677 (fast_find_position): Return the correct vpos. Add parameter
2678 STOP. In the final row, stop before glyphs having STOP as object.
2679 Don't consider glyphs that are not from a buffer.
2680 (fast_find_position) [0]: Add a presumably more correct version
2681 for after 21.1.
2682 (expose_window_tree, expose_frame): Don't compute intersections here.
2683 (expose_window): Do it here instead.
2684 (expose_window_tree, expose_window, expose_line): Return 1 when
2685 overwriting mouse-face.
2686 (expose_window): If W is the window currently being updated, mark
2687 the frame garbaged.
2688 (expose_frame): If mouse-face was overwritten, redo it.
2689 (x_use_underline_position_properties): New variable.
2690 (syms_of_xterm): DEFVAR_BOOL it.
2691 (x_draw_glyph_string): Add comment to use it in future.
2692 (x_draw_glyph_string): Restore clipping after drawing box.
2693 Fix a computation of the underline position.
2694 (w32_get_glyph_string_clip_rect): Minor cleanup.
2695 (x_fill_stretch_glyph_string): Remove an assertion.
2696 (x_produce_glyphs): Don't convert multibyte characters
2697 to unibyte characters in unibyte buffers.
2698 (cursor_in_mouse_face_p): New function.
2699 (x_draw_stretch_glyph_string): Use it to choose a different GC
2700 when drawing a cursor within highlighted text. Don't draw
2701 background again if it has already been drawn.
2702 (x_draw_glyph_string_box): Don't draw a full-width
2703 box just because the glyph row's full_width_p flag is set.
2704 (x_draw_glyphs): Fix computation of rightmost x for
2705 full-width rows.
2706 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2707 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2708 change bottom shadow accordingly. Some cleanup.
2709 (x_update_window_end): Handle overwritten mouse face
2710 also for tool bar windows.
2711 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2712 DRAW is DRAW_IMAGE_RAISED.
2713 (clear_mouse_face): Return 1 if text with mouse face was
2714 actually redrawn. Make the function static. Reset
2715 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2716 optimize away highlighting if we pass over that same overlay again.
2717 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2718 to detect a case where we have to highlight a different region
2719 despite not having left the currently highlighted region.
2720 Set mouse_face_overlay in the x_display_info. Avoid changing the
2721 mouse pointer shape when show_mouse_face has already done it, or
2722 there is no need. Handle mouse-face and help-echo in strings.
2723 (glyph_rect): New function.
2724 (w32_mouse_position): Use it to raise the threshold for mouse
2725 movement event generation.
2726 (w32_initialize_display_info): Initialize the x_display_info's
2727 mouse_face_overlay.
2728 (w32_set_vertical_scroll_bar): Don't clear a zero height
2729 or width area.
2730 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2731 a widget to zero height.
2732
3cf3436e 2733 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 2734 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
2735 equivalents in menu_items.
2736 (w32_menu_show): Don't overwrite an item's name with its key
2737 description in case the description is a multibyte string.
2738 (single_submenu): Some cleanup.
2739
2740 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2741 (postprocess_image): New function.
2742 (lookup_image): Call it for all image types except PostScript.
2743 (x_kill_gs_process): Call postprocess_image.
2744 (tiff_error_handler, tiff_warning_handler): New functions.
2745 (tiff_load): Install them as handlers.
2746 (x_kill_gs_process): Recognize if someone has cleared the image
2747 cache under us.
2748 (valid_image_p): Protect better against invalid image
2749 specifications. Previous code could signal an error.
2750 (Fx_hide_tip, Fshow_tip): Doc fix.
2751 (Fv_max_tooltip_size): New variable.
2752 (syns_of_xfns): DEFVAR_LISP it.
2753 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2754 window buffer to *tip* right after creating the frame. Set frame's
2755 window_width. Use a maximum tooltip size specified by
2756 Vx_max_tooltip_size, if that has valid contents.
2757 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2758 Make sure the tooltip is completely visible.
2759 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2760 (Fx_create_frame): Adjust the frame's height for presence
2761 of the tool bar before calling x_figure_window_size.
2762 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2763 when the window gets smaller.
2764 (x_set_foreground_color): Set frame's cursor_pixel.
2765 (x_set_foreground_color, x_set_background_color): Cleaned up.
2766 (x_set_font): Handle case of x_new_fontset returning the same name
2767 as before, although there was a change in fontsets.
2768
386ca361
MB
27692001-10-21 Miles Bader <miles@gnu.org>
2770
c2d53558 2771 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
2772 (Flogxor): Add usage: string to doc string.
2773 * charset.c (Fstring): Likewise.
2774 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2775 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2776
7b403e01 27772001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
14ff1ee0 2778
03be2694
PJ
2779 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2780
2781 * alloc.c: Reindent DEFUNs with doc: keywords.
2782
2783 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2784
14ff1ee0
PJ
2785 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2786 keyword].
2787
71431a0e
GM
27882001-10-20 Gerd Moellmann <gerd@gnu.org>
2789
6aa97356 2790 * (Version 21.1 released.)
71431a0e 2791
7b403e01 27922001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
39f624fa 2793
c2d53558 2794 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2795
2796 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2797 0 because unused.
2798
2799 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2800 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2801 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2802
abcce93a
MB
28032001-10-20 Miles Bader <miles@gnu.org>
2804
2805 The following changes remove the glyph_row `inverse_p' field,
2806 which is never set anymore, due to other changes:
2807
2808 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2809 (reassert_line_highlight, change_line_highlight): Declarations removed.
2810 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2811 (line_hash_code, row_equal_p, fake_current_matrices)
2812 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2813 (update_frame_line, update_frame_line, update_frame_line):
2814 Don't use `inverse_p' field.
2815 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2816 change_line_highlight_hook.
2817 (XTreassert_line_highlight, x_change_line_highlight):
2818 Functions removed.
c2d53558 2819 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2820 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2821 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2822 `inverse_p' field.
c2d53558 2823 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2824 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2825 (w32_reassert_line_highlight, x_change_line_highlight):
2826 Functions removed.
2827 * w32console.c (reassert_line_highlight, change_line_highlight):
2828 Functions removed.
2829 (initialize_w32_display): Don't set reassert_line_highlight_hook
2830 or change_line_highlight_hook.
2831 (hl_mode): Function removed.
c2d53558
SM
2832 (reset_terminal_modes, set_terminal_modes, update_begin)
2833 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2834 (clear_frame, ins_del_lines): Don't call it.
2835 * termhooks.h (reassert_line_highlight_hook)
2836 (change_line_highlight_hook): Declarations removed.
2837 * term.c (reassert_line_highlight_hook)
2838 (change_line_highlight_hook): Variables removed.
2839 (reassert_line_highlight, change_line_highlight): Functions removed.
2840 * msdos.c (IT_reassert_line_highlight)
2841 (IT_change_line_highlight): Functions removed.
2842 (internal_terminal_init): Don't set reassert_line_highlight_hook
2843 or change_line_highlight_hook.
2844 (highlight): Variable removed.
c2d53558 2845 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2846 (IT_set_terminal_modes): Don't set or use it.
2847
2848 The following changes remove inverse-video support for terminals
2849 that use a `magic cookie' standout mode. Due to changes in the
2850 way mode-lines are displayed, such support no longer works
2851 anyway, and it's probable that almost no one uses such terminals
2852 anymore:
2853
2854 * term.c (standout_requested): Variable removed.
2855 (update_end, highlight_if_desired): Don't use it.
2856 (chars_wasted, copybuf): Variables removed.
2857 (write_standout_marker): Function removed.
c2d53558 2858 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2859 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2860 Don't use `chars_wasted' or `copybuf'.
2861 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2862 Set `costs_set' to true.
2863 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2864 `chars_wasted'.
2865 (clear_end_of_line): Function removed.
2866 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2867 (clear_to_end): Call `clear_end_of_line' instead of
2868 `clear_end_of_line_raw'.
54800acb
MB
2869 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2870 (term_init): Don't set them.
2871 Turn off any standout/underline modes that require magic cookies.
c2d53558 2872 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2873 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2874 Remove special processing for magic-cookie standout modes.
2875 (turn_off_face, turn_on_face): Remove special processing for
2876 underline magic-cookie glitch.
abcce93a 2877
0b5f679f
RS
28782001-10-19 Richard M. Stallman <rms@gnu.org>
2879
2880 * eval.c (syms_of_eval): Doc fixes.
2881
5a4a5bd4
GM
28822001-10-19 Gerd Moellmann <gerd@gnu.org>
2883
2884 * xdisp.c (redisplay_internal): Don't clear echo area if the
2885 mini-window is selected.
2886
79f1f96c
MB
28872001-10-19 Miles Bader <miles@gnu.org>
2888
b57c2708
MB
2889 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2890 doesn't take precedence if the affected property's value is nil.
2891
2892 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2893
79f1f96c
MB
2894 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2895 with fields and suggest using `forward-line' to avoid them.
2896 * editfns.c (Fline_beginning_position, Fline_end_position):
2897 Clarify documentation.
2898
ef879104
SM
28992001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2900
2901 * keymap.c (current_minor_maps): `override' only shadows its
2902 correspondent in minor-mode-map-alist, not the whole tail.
2903
97f4db8c
AI
29042001-10-18 Andrew Innes <andrewi@gnu.org>
2905
2906 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2907 optimization. The fontp->encoding array was not being initialized
2908 correctly when compiled with optimizations by MSVC.
2909
e6b70fd8
GM
29102001-10-18 Gerd Moellmann <gerd@gnu.org>
2911
30903479 2912 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2913
0e804d38
AI
29142001-10-17 Andrew Innes <andrewi@gnu.org>
2915
2916 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2917
2918 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2919 font_info.charset field.
2920
2921 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2922 rather than working it out by calling w32_codepage_for_font for
2923 every glyph.
2924
66e5868a
AI
29252001-10-17 Andrew Innes <andrewi@gnu.org>
2926
2927 * w32term.c (w32_read_socket): Determine clipping rectangle for
2928 the entire frame, including areas covered by scrollbars and the
2929 menubar. This avoids internal arguments about whether a frame is
2930 fully obscured or not.
2931
15b00083
GM
29322001-10-17 Gerd Moellmann <gerd@gnu.org>
2933
23e8bd86
GM
2934 * xdisp.c (try_window_id): Undo last change. Give up if
2935 window ends in strings.
30903479 2936
9c6ba6d1 2937 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2938 end if the rest of the window after the window end was already blank.
23e8bd86 2939
30903479 2940 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2941 for the release of 21.1.
2942
30903479 2943 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2944
945220bd
MB
29452001-10-17 Miles Bader <miles@gnu.org>
2946
2947 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2948 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2949 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2950 Change doc-string comments to `new style' [w/`doc:' keyword].
2951 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2952 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2953 out make-docfile.
2954
14242528
MB
29552001-10-16 Miles Bader <miles@gnu.org>
2956
2957 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2958
3ddf952f
GM
29592001-10-16 Gerd Moellmann <gerd@gnu.org>
2960
2961 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2962 *scratch*.
2963
f3fbd155
KR
29642001-10-16 Ken Raeburn <raeburn@gnu.org>
2965
2966 Avoid the assumption that car and cdr slots of cons cells are
2967 addressable lvalues; this allows for easier experimentation with
2968 other lisp implementations that may not permit such accesses for
2969 various reasons. Not quite complete -- buffer.c still needs some
2970 work, and w32/mac files need rechecking -- so compile-time
2971 enforcement is left disabled for now.
2972
2973 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2974 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2975 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2976 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2977 (XSETCAR, XSETCDR): New macros.
2978 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2979 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2980 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2981 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2982 XSETCDR.
2983 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2984 * buffer.c (record_buffer, Fbury_buffer)
2985 (swap_out_buffer_local_variables, recenter_overlay_lists)
2986 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2987 fields of a cons cell respectively.
2988 * callint.c (quotify_args, Fcall_interactively): Likewise.
2989 * ccl.c (Fregister_code_conversion_map): Likewise.
2990 * coding.c (detect_coding_system): Likewise.
2991 * composite.c (get_composition_id, make_composition_value_copy):
2992 Likewise.
30903479
SM
2993 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2994 (swap_in_symval_forwarding, set_internal, Fset_default)
2995 (Fmake_variable_buffer_local, Fmake_local_variable)
2996 (Fmake_variable_frame_local): Likewise.
f3fbd155 2997 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2998 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2999 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
3000 * minibuf.c (get_minibuffer): Likewise.
3001 * search.c (Fmatch_data): Likewise.
3002 * textprop.c (extend_property_ranges): Likewise.
c2d53558 3003 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
3004 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
3005 Likewise.
3006 * w32term.c (x_delete_display): Likewise.
3007 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
3008 Likewise.
c2d53558 3009 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 3010 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 3011 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
3012 (Fread_file_name): Use XSETCAR.
3013 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
3014 CHECK_NUMBER_CDR.
3015 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
3016 * frame.c (Fmake_terminal_frame): Use XSETCDR.
3017 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
3018 CHECK_NUMBER_CDR.
3019 * keyboard.c (read_char): Alter list traversal to avoid taking the
3020 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
3021 (parse_menu_item): Use XSETCAR and XSETCDR.
3022 (reach_char_x_menu_prompt): Use XSETCAR.
3023 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
3024 (Fcommand_execute): Use XSETCDR.
3025 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
3026 (openp): Change list traversal to avoid using XCAR as lvalue.
3027 (read_list): Use XSETCDR.
3028 * process.c (wait_reading_process_input): Change wait_for_cell
3029 handling to avoid taking addresses of cons cell slots.
30903479
SM
3030 * xselect.c (x_own_selection, x_handle_selection_clear)
3031 (x_clear_frame_selections): Use XSETCDR.
3032 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
3033 (x_handle_property_notify, x_get_foreign_selection)
3034 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 3035
7b403e01 30362001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
502150e5 3037
018ba359
PJ
3038 * buffer.c: Put doc strings in comments.
3039
30903479 3040 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 3041
b56ba8de
SS
30422001-10-15 Sam Steingold <sds@gnu.org>
3043
3044 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
3045
7b403e01 30462001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6a0b793a 3047
30903479
SM
3048 * process.c (process-inherit-coding-system-flag)
3049 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
3050 in comment.
3051
a1f17501 3052 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 3053 arguments. Put doc strings in comments.
a65da641
PJ
3054
3055 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 3056
aa601ad0
GM
30572001-10-15 Gerd Moellmann <gerd@gnu.org>
3058
30903479 3059 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 3060
aa601ad0
GM
3061 * window.c (select_window_1): Unfreeze window start. Remove a
3062 doubled test for WINDOW being live.
3063
7b403e01 30642001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
288148a1 3065
dd8d1e71
PJ
3066 * fns.c (Fmapconcat): Fix typo in a doc string.
3067
288148a1
PJ
3068 * dispnew.c (Fsleep_for): Fix typo in a doc string.
3069
9f5eb4a3
GM
30702001-10-15 Gerd Moellmann <gerd@gnu.org>
3071
3072 * xterm.c (x_draw_glyph_string): Restore clipping after
3073 drawing box.
3074
7b403e01 30752001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
dbae44c8 3076
30903479 3077 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 3078
0c88c937
SM
30792001-10-14 Stefan Monnier <monnier@cs.yale.edu>
3080
56378db4
GM
3081 * indent.c (skip_invisible): Use new retval of
3082 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 3083
845e4cf4
SM
3084 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
3085 If a parent is reached and noinherit is set, exit immediately.
3086 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
3087
0c88c937
SM
3088 * s/ms-w32.h (EXEC_SUFFIXES):
3089 * s/msdos.h (EXEC_SUFFIXES):
3090 * process.h (EXEC_SUFFIXES): Remove.
3091
3092 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
3093 (decode_suffixes): Remove.
3094
3095 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
3096 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
3097 (invisible_ellipsis_p): Remove.
0c88c937
SM
3098
3099 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
3100 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
3101 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
3102 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
3103 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 3104
7b403e01 31052001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
d19be8a9 3106
04d7d066
PJ
3107 * lisp.h (Ftop_level): Add prototype.
3108
d624284c
PJ
3109 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
3110 (XTread_socket): Improve style of comments to follow other
3111 comments.
3112
a87414f9
PJ
3113 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
3114 is already prototyped in included lisp.h).
3115
d19be8a9
PJ
3116 * frame.c (Fset_mouse_position): Improve style of comment to
3117 follow other comments.
3118 (Fset_mouse_pixel_position): Improve style of comment to follow
3119 other comments.
3120 (Fmake_frame_visible): Doc fix and typo in comment.
3121 (Fmake_frame_invisible): Doc fix and typo in comment.
3122 (Ficonify_frame): Fix typo in comment.
3123
c061c855
GM
31242001-10-14 Gerd Moellmann <gerd@gnu.org>
3125
37f6b5b6 3126 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 3127 * term.c, alloc.c: Put doc strings in comments.
c061c855 3128
e641b454
GM
31292001-10-13 Gerd Moellmann <gerd@gnu.org>
3130
3131 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
3132 Provide definitions for doc strings in comments.
3133
3134 * fns.c: Put doc strings in comments.
3135
51724e26
EZ
31362001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
3137
3138 * dired.c (file_name_completion): Ignore a candidate directory if
3139 it matches an element in completion-ignored-extensions that ends
3140 in a slash.
3141 (syms_of_dired) <completion-ignored-extensions>: Mention the above
3142 feature in the doc string.
3143 (Ffile_name_completion): Ditto.
3144
be5fc59b
SM
31452001-10-12 Stefan Monnier <monnier@cs.yale.edu>
3146
5a1373f3
SM
3147 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
3148
3149 * xfns.c (syms_of_xfns): Update calls to Fprovide.
3150
3151 * lisp.h (Fprovide): Update prototype.
3152 (Ffeaturep, invisible_p): Remove.
3153
bbc4a3d3 3154 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
3155 (DOLIST, LOOP_PROPVAL): New macros.
3156 (invisible_p, invisible_ellipsis_p): Use them.
3157 (invisible_noellipsis_p): New function.
3158 (syms_of_xdisp): Use empty_string.
3159
3160 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
3161
3162 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
3163 (syms_of_lread) <Vafter_load_alist>: Update docstring.
3164
3165 * print.c (Fwith_output_to_temp_buffer): Align with
3166 internal_with_output_to_temp_buffer.
3167 (print_preprocess): Use traverse_intervals_noorder.
3168 (print_object): Update call to traverse_intervals.
3169
3170 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
3171 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
3172
3173 * intervals.c (traverse_intervals_noorder): New function.
3174 (search_for_interval, count_intervals): Use it.
3175 (traverse_intervals): Use less stack space and drop `depth' arg.
3176
3177 * fns.c (Ffeaturep): Add new `subfeature' arg.
3178 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
3179 (Qsubfeatures): New var.
3180 (syms_of_fns): Initialize it.
3181
026f408d
SM
3182 * keymap.c (Fkey_description): Use empty_string.
3183 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
3184 (syms_of_keymap): Setup inheritance between maps.
3185 Don't export Sdescribe_bindings_internal any more.
3186
be5fc59b
SM
3187 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3188
3365175e
GM
31892001-10-12 Gerd Moellmann <gerd@gnu.org>
3190
3191 * xterm.c (notice_overwritten_cursor): Renamed from
3192 note_overwritten_text_cursor. Rewritten to take glyph widths into
3193 account.
3194
2ab7765c
EZ
31952001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3196
3197 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3198 multi-line strings without a trailing "\n\".
3199
7b403e01 32002001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
311346bb
PJ
3201
3202 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3203 defined.
3204
2168e04d
SM
32052001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3206
026f408d
SM
3207 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3208
c0ec53ad
SM
3209 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3210 * w32proc.c (sys_spawnve):
3211 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3212 * w32.c (check_windows_init_file):
3213 * sound.c (Fplay_sound):
026f408d 3214 * emacs.c (init_cmdargs):
c0ec53ad
SM
3215 * process.c (Fstart_process): Update calls to openp.
3216
3217 * callproc.c (Vexec_suffixes): New var.
3218 (Fcall_process): Update call to openp.
3219 (decode_suffixes): New function.
3220 (syms_of_callproc): Init exec-suffixes.
3221
3222 * lread.c (Vload_suffixes, default_suffixes): New vars.
3223 (openp): Take a lisp list of suffixes.
3224 Check for file-name-handlers even if the file was absolute already.
3225 (syms_of_lread): Declare load-suffixes.
3226 (Fload): Fix up call to openp.
3227 Don't bother checking for file-name-handler at the very beginning.
3228
f6333468
SM
3229 * keymap.h (Fcopy_keymap): Don't export.
3230
3231 * lisp.h (empty_string): Declare.
c0ec53ad
SM
3232 (Vload_suffixes, Vexec_suffixes): Declare.
3233 (openp): Update prototype.
f6333468
SM
3234
3235 * emacs.c (empty_string): New var.
3236 (syms_of_emacs): Initialize it.
3237
3238 * search.c (wordify): Use it.
3239
3240 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3241 selected window if it's not displayed there. Handle the case
3242 when the window is dedicated.
3243 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3244
3245 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3246
2168e04d
SM
3247 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3248 Remove left_ok and right_ok.
3249 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3250 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3251 new meaning of b_property.
3252
3253 * syntax.c (update_syntax_table): Simplify.
3254 (Fforward_comment): Don't skip quoted chars when going backward.
3255
13d95cc0
GM
32562001-10-11 Gerd Moellmann <gerd@gnu.org>
3257
beb0990f
GM
3258 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3259 in case I is of some unsigned type, in which case
3260 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3261 comparison becomes bogus.
3262
cb938d46
GM
3263 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3264 (Fuser_full_name): Fix bug treating a float as a fixnum.
3265
3266 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3267
3268 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 3269
13d95cc0
GM
3270 * lisp.h (circular_list_error): Add prototype.
3271
3272 * data.c (Qcircular_list): New variable.
3273 (circular_list_error): New function.
3274 (syms_of_data): Initialize it Qcircular_list.
3275
e35f6ff7
SM
32762001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3277
7dee7ff7
PJ
3278 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3279 * casefiddle.c, buffer.c: Include keymap.h.
e35f6ff7 3280
619632ac
GM
32812001-10-10 Gerd Moellmann <gerd@gnu.org>
3282
3283 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3284 options. From Dave Love <d.love@dl.ac.uk>.
3285
5e5388f6
GM
32862001-10-09 Gerd Moellmann <gerd@gnu.org>
3287
3288 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3289 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3290
14a3dff7
GM
3291 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3292 unsigned char.
3293 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 3294
76ba8daf
AI
32952001-10-08 Andrew Innes <andrewi@gnu.org>
3296
3297 * lisp.h [max]: Undef min and max before redefining them.
3298
3299 * w32gui.h: Do not undef min and max.
3300
3301 * w32heap.h: Do not undef min and max.
3302
3303 * s/ms-w32.h: Do not undef min and max.
3304
166253cb
SM
33052001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3306
3307 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3308
0c4d9527
SS
33092001-10-08 Sam Steingold <sds@gnu.org>
3310
3311 * keymap.c (current-active-maps): Quote newlines (compilation error).
3312
14bfa771
EZ
33132001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3314
3315 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3316 bindings.elc, since otherwise doc strings in bindings.el get wrong
3317 offsets in etc/DOC.
3318
bdb7aa47
SM
33192001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3320
9985827f
SM
3321 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3322
3323 * keyboard.h (map_prompt): Remove.
3324
3325 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 3326 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 3327
bdb7aa47
SM
3328 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3329
3330 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3331
3332 * keyboard.c (map_prompt): Remove.
3333 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3334 Use Fkeymap_prompt.
3335
3336 * keymap.h: New file. Extracted from lisp.h.
3337
9985827f
SM
3338 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3339 (accessible_keymaps_1): New function.
3340 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3341 (Fwhere_is_internal): Use Fcurrent_active_maps.
3342 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3343 Insert in current buffer rather than standard-output.
3344 Don't call `help-mode'. Export to elisp.
3345 (describe_buffer_bindings): New wrapper.
3346 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
3347 and Sdescribe_buffer_bindings.
3348
402c9a51
GM
33492001-10-08 Gerd Moellmann <gerd@gnu.org>
3350
9985827f 3351 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
3352 Remove code setting signal handler.
3353
9985827f 3354 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
3355 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
3356
7b403e01 33572001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3fe81fdf
PJ
3358
3359 * keyboard.c: Don't define min/max.
3360
55fa7820
GM
33612001-10-08 Gerd Moellmann <gerd@gnu.org>
3362
9985827f 3363 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 3364 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 3365 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 3366 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 3367 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
3368 Don't define min/max.
3369
3370 * lisp.h (min, max): New macros.
3371
55fa7820
GM
3372 * puresize.h (BASE_PURESIZE): Increase to 725000.
3373
7b403e01 33742001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1aad31e4 3375
9180dc8c
PJ
3376 * xfaces.c (free_frame_menubar): Add prototype.
3377
01f67d2c
PJ
3378 * lisp.h (init_window): Add prototype.
3379
3380 * editfns.c: Include ctype.h.
3381
3382 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 3383 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
3384 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
3385 variable `sb'.
3386
5f351ff1
PJ
3387 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
3388 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
3389 `popup_activated_flag' and `title'.
3390
479dfe87
PJ
3391 * doc.c (Fdocumentation_property): Fix typo in a doc string.
3392
dff49fc8
PJ
3393 * emacs.c (main): Remove extra `;'.
3394
248ac615
PJ
3395 * atimer.h (struct atimer): Fix typos in a comment.
3396
3397 * atimer.c: Fix typo.
3398
af232c7d
PJ
3399 * Makefile.in: Fix typo.
3400
3401 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 3402
d876f455
MB
34032001-10-07 Miles Bader <miles@gnu.org>
3404
3405 * Makefile.in (lisp, shortlisp): Add `button.elc'.
3406
0037e2f2
KR
34072001-10-07 Ken Raeburn <raeburn@gnu.org>
3408
b056f36d
KR
3409 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
3410 Lisp_Object.
3411
0037e2f2
KR
3412 * lisp.h (Ffield_end): Declare.
3413
1a4372ef
GM
34142001-10-07 Gerd Moellmann <gerd@gnu.org>
3415
a4a74e8c
GM
3416 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
3417
3418 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
3419
3420 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
3421
3422 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
3423
1a4372ef
GM
3424 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
3425 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
3426
3427 * alloc.c (inhibit_garbage_collection): Simplify.
3428 (Fmemory_use_counts): Ditto.
3429
9985827f 3430 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
3431 (syms_of_data): DEFVAR_INT most-positive-fixnum and
3432 most-negative-fixnum.
3433
9985827f 3434 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
3435 (FIXNUM_OVERFLOW_P): New macros.
3436
4650e362
MB
34372001-10-06 Miles Bader <miles@gnu.org>
3438
3439 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
3440 scroll_bar_bottom_shadow_pixel fields.
3441 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
3442 for the shadows, and tell the toolkit about them if we succeed.
3443 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
3444 Free scroll-bar shadow colors.
3445 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
3446 Free scroll-bar shadow colors when the background color changes.
3447 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
3448 Initialize scroll-bar shadow-color fields.
3449
ace64e0a
GM
34502001-10-05 Gerd Moellmann <gerd@gnu.org>
3451
3452 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
3453
ec66bdc7
MB
34542001-10-05 Miles Bader <miles@gnu.org>
3455
9985827f
SM
3456 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
3457 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 3458 New functions (were in simple.el).
9985827f 3459 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
3460 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
3461 (syms_of_minibuf): Initialize them.
3462
a0fb4492
GM
34632001-10-05 Gerd Moellmann <gerd@gnu.org>
3464
3465 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
3466 (tiff_load): Install them as error and warning handler.
3467
0bcf87c1
AI
34682001-10-04 Andrew Innes <andrewi@gnu.org>
3469
3470 * w32fns.c (x_to_w32_color): Fix argument to alloca.
3471 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 3472 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
3473 (x_to_w32_charset): Handle private format for unknown charsets.
3474 Handle wildcards in charset spec, by ignoring them.
3475 (w32_codepage_for_font): Fix argument to alloca. Don't remove
3476 "*-" prefix from charset.
3477 (x_to_w32_font): Enlarge remainder array for safety. Specifically
3478 handle the truncated font spec form constructed by font_list_1, so
3479 that we correctly identify the charset fields. Don't remove "*-"
3480 prefix from charset.
3481 (w32_list_synthesized_fonts): Fix argument to alloca.
3482
c89e4bc5
GM
34832001-10-04 Stefan Monnier <monnier@cs.yale.edu>
3484
3485 * window.h (MINI_WINDOW_P): Use NILP.
3486
3487 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
3488
3489 * termhooks.h (struct input_event): Use proper type for `kind'.
3490
34912001-10-04 Gerd Moellmann <gerd@gnu.org>
3492
3493 This handles unknown keysyms better than before. For example,
3494 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
3495 Emacs formerly completely ignored F5. With the change, it derives
3496 a key symbol from the name of the X keysym, `ccaron' in this case.
3497 Reported by Martin Buchholz.
3498
3499 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
3500 unknown keysyms.
3501
3502 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
3503 that EVENT->code isn't a function key, use the keysym's name.
3504
35052001-10-04 Gerd Moellmann <gerd@gnu.org>
3506
3507 FOREACH is a macro that should make it easier to loop over Lisp
3508 lists with checks for cycles and proper lists.
3509
3510 * lisp.h (LIST_END_P, FOREACH): New macros.
3511
35122001-10-04 Gerd Moellmann <gerd@gnu.org>
3513
3514 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
3515 called for a lost connection. Prevent dumping core in this case.
3516 Instead print the X error, and exit. On user request.
3517
3518 * xterm.c (error_msg): New variable.
3519 (x_fatal_error_signal): New function.
3520 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
3521 as fatal_error_signal_hook around the call to XtCloseDisplay.
3522
3523 * emacs.c (fatal_error_signal_hook): New variable.
3524 (fatal_error_signal): Call that function.
3525
35262001-10-04 Gerd Moellmann <gerd@gnu.org>
3527
3528 With this, Emacs prints how much pure storage it will
3529 approximately need in case pure storage overflows while dumping.
3530
3531 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
3532 New variables.
3533 (init_alloc_once): Initialize new variables.
3534 (PURE_POINTER_P): Use new variables.
3535 (pure_alloc): If pure storage overflows, allocate from the heap.
3536 (check_pure_size): New function.
3537 (Fgarbage_collect): Don't GC if pure storage has overflowed.
3538
3539 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
3540 (check_pure_size): Add prototype.
3541
3542 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
3543
35442001-10-04 Gerd Moellmann <gerd@gnu.org>
3545
3546 This adds a post-gc-hook that's run with GC inhibited.
3547 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
3548
3549 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
3550 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
3551 (Fgarbage_collect): Run post-gc-hook.
3552
35532001-10-04 Gerd Moellmann <gerd@gnu.org>
3554
3555 This adds `defvaralias' and `indirect-variable'. Changes not
3556 directly related to this feature are there to gain the same
3557 performance again as before variable aliases.
3558
3559 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
3560 code to get and set symbol values, to take defvaralias into account.
3561
3562 (Note: the new `constant' bit-flag in symbols would make it
3563 possible to define arbitrary read-only variables, e.g. with
3564 `defconst'.)
3565
3566 Documentation is in lispref/variables.texi. Added to NEWS.
3567
3568 * lisp.h (enum symbol_interned): New enumeration.
3569 (struct Lisp_Symbol): Remove member `obarray', add
3570 `indirect_variable', `constant', and `interned'.
3571 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
3572 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
3573 (indirect_variable): Add prototype.
3574
3575 * print.c (print_preprocess, print_object): Test internedness of
3576 symbols differently.
3577
3578 * lread.c (Fintern, Funintern): Set symbol's interned and constant
3579 bit-fields.
3580 (init_obarray): Likewise for t and nil.
3581
3582 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3583 (Fdefvaralias): New function.
3584 (specbind): Simplify the test if symbol is a constant.
3585 (syms_of_eval): Defsubr Fdefvaralias.
3586
3587 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3588 (Qcyclic_variable_indirection): New variable.
3589 (Fkeywordp): Check for internedness differently.
3590 (Fmakunbound): Simplify the test if symbol is a constant.
3591 (indirect_variable, Findirect_variable): New functions.
3592 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
3593 aliased symbol.
3594 (let_shadows_buffer_binding_p): Check for variable aliases.
3595 (set_internal): Simplify the test if SYMBOL is a constant.
3596 If SYMBOL has a buffer-local value and is an alias, use the aliased
3597 symbol instead.
3598 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
3599 Sindirect_variable.
3600
3601 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
3602 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
3603 set directly.
3604
3605 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
3606
3607 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
3608 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
3609 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
3610
ab952a4f
GM
36112001-10-04 Gerd Moellmann <gerd@gnu.org>
3612
3613 * Branch for 21.1.
b56ba8de 3614
ba88ff28
MB
36152001-10-03 Miles Bader <miles@gnu.org>
3616
3617 * callproc.c (syms_of_callproc): Explicitly state in the
3618 documentation for `process-environment' that earlier entries take
3619 precedence over later ones.
3620
ae1a9581
MB
36212001-10-02 Miles Bader <miles@gnu.org>
3622
3623 * textprop.c (Fnext_char_property_change)
3624 (Fprevious_char_property_change): Remove reference to non-existant
3625 argument OBJECT from doc-string.
3626
257e3f57
GM
36272001-10-01 Gerd Moellmann <gerd@gnu.org>
3628
3629 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
3630 (try_window_id): Skip back over lines ending in a newline from a
3631 string.
3632
3633 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
3634 New bit flag
3635
c1f29759
RS
36362001-10-01 Richard M. Stallman <rms@gnu.org>
3637
3638 * search.c (Freplace_match): Doc fix.
3639
c30dce3d
AI
36402001-09-28 Andrew Innes <andrewi@gnu.org>
3641
3642 * w32menu.c (set_frame_menubar): Take into account that
3643 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3644 <raeburn@gnu.org>.
3645
03be5931
EZ
36462001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
3647
3648 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
3649
7b403e01 36502001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
75bec752
PJ
3651
3652 * s/gnu-linux.h: Fix a typo in comment.
3653
83100e0a
AS
36542001-09-28 Andreas Schwab <schwab@suse.de>
3655
3656 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
3657 nocombreloc, in case -z combreloc is the default.
3658
a74b48cf
GM
36592001-09-28 Gerd Moellmann <gerd@gnu.org>
3660
3661 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
3662 really going on here.
3663
09c4719e
SM
36642001-09-27 Stefan Monnier <monnier@cs.yale.edu>
3665
3666 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
3667
f7d5d963
EZ
36682001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
3669
3670 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
3671 utf-8, menu-bar, and latin-N.
3672 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
3673 unconditionally now.
3674 (lisp): Add latin-N, since they are preloaded.
3675
9240e746
GM
36762001-09-27 Gerd Moellmann <gerd@gnu.org>
3677
14531065
GM
3678 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
3679 to the left. Some cleanup.
3680
9240e746
GM
3681 * xdisp.c (display_mode_element): One more case where a string's
3682 multibyteness should be used for display.
3683
edd1e654
GM
36842001-09-26 Gerd Moellmann <gerd@gnu.org>
3685
b02439c8
GM
3686 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
3687 reading at EOF.
3688
032906b1 3689 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 3690 of the only temporarily set echoing flag for deciding when
032906b1
GM
3691 the cancel echoing.
3692
3693 * keyboard.c (echo_kboard): Make externally visible.
3694
3695 * lisp.h (echo_kboard): Declare extern.
3696
cb617e7c 3697 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 3698 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
3699 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
3700 this round of redisplay if make_cursor_line_fully_visible fails.
3701 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 3702 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
3703
3704 * dispextern.h (required_matrix_width, required_matrix_height):
3705 Add prototypes.
3706
09c4719e
SM
3707 * dispnew.c (required_matrix_width, required_matrix_height):
3708 New functions.
cb617e7c 3709 (allocate_matrices_for_window_redisplay)
09c4719e
SM
3710 (allocate_matrices_for_frame_redisplay: Use them.
3711 Remove parameters CH_DIM.
cb617e7c 3712
edd1e654
GM
3713 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3714 and selected_window to the frame of the window whose mode-lines
3715 are displayed, and to the window itself.
3716 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 3717 here.
edd1e654 3718
924b604c
GM
37192001-09-25 Gerd Moellmann <gerd@gnu.org>
3720
daba7643
GM
3721 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3722 the image cache under us.
3723
b7a22712 3724 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 3725 with a string value, use that string's multibyteness for displaying.
b7a22712 3726
ad648212
GM
3727 * keyboard.c (read_char): Don't clear a message for a switch-frame
3728 event. From Stefan Monnier <monnier@cs.yale.edu>.
3729
9f8531e5
GM
3730 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3731 version for after 21.1.
3732
3733 * xdisp.c (row_containing_pos): Make externally visible.
3734
3735 * dispextern.h (row_containing_pos): Add prototype.
3736
924b604c
GM
3737 * process.c (send_process): Disable composition if from_byte < 0.
3738 From Kenichi Handa <handa@etl.go.jp>.
3739
6f3f0db4
GM
37402001-09-24 Gerd Moellmann <gerd@gnu.org>
3741
c69c0ebc
GM
3742 * xterm.c (refreshicon): Function removed.
3743
d1182bc4
GM
3744 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3745
3746 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3747
3748 * xterm.c (toplevel): Remove includes in #if 0.
3749
6f3f0db4
GM
3750 * process.c (sigchld_handler) [LINUX]: Don't return from
3751 the signal handler at the end of the loop.
3752
59957f85
GM
37532001-09-21 Gerd Moellmann <gerd@gnu.org>
3754
09c4719e
SM
3755 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3756 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 3757
a0528984
EZ
37582001-09-21 Markus Rost <rost@math.ohio-state.edu>
3759
3760 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3761
db92b288
GM
37622001-09-20 Gerd Moellmann <gerd@gnu.org>
3763
3fed8ad5
GM
3764 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3765 since this function can be called during GC.
3766
db92b288
GM
3767 * callproc.c (Fcall_process): Handle errors from pipe(2).
3768 (child_setup): Delete code in #ifdef vipc.
3769
7121b85a
GM
37702001-09-19 Gerd Moellmann <gerd@gnu.org>
3771
72f62cb5
GM
3772 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3773 (display_mode_element): Display the string from decode_mode_spec
3774 depending on its multibyteness.
3775
a2697022
GM
3776 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3777
7121b85a
GM
3778 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3779
bfc97351
GM
37802001-09-18 Gerd Moellmann <gerd@gnu.org>
3781
c9063433
GM
3782 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3783 recursive_edit_unwind.
3784 (recursive_edit_unwind): Set kboard state according to
3785 SINGLE-KBOARD.
3786
3fbdba3e
GM
3787 * buffer.c (modify_overlay): Don't do nothing if START == END;
3788 This can still be a modification, for example when an overlay has
3789 a before-string or after-string.
3790 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3791 an overlay with before-string or after-string.
3792
1270031d
GM
3793 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3794 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3795
bfc97351
GM
3796 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3797 first_unchanged_at_end_row is in front of
3798 last_unchanged_at_beg_row. This code should be removed after the
3799 release of 21.1.
3800
d8a973aa
GM
38012001-09-17 Gerd Moellmann <gerd@gnu.org>
3802
e18c8b8d
GM
3803 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3804 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3805
d8a973aa
GM
3806 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3807 versions >= 2.95.
3808
ed7d6ba4
EZ
38092001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3810
3811 * dired.c (Ffile_attributes): Doc fix.
3812
551629f9
GM
38132001-09-14 Gerd Moellmann <gerd@gnu.org>
3814
3815 * fileio.c (Ffile_symlink_p): Fix last change.
3816
3817 * filelock.c (current_lock_owner): Fix last change.
3818
4c8c7926
GM
38192001-09-13 Gerd Moellmann <gerd@gnu.org>
3820
620c4704
GM
3821 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3822 take that to mean that the buffer is too small.
3823
81c3310d
GM
3824 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3825 that to mean that the buffer is too small.
3826
06fd3792
GM
3827 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3828 current buffer's multibyteness when discarding the iterator's
3829 stack.
3830
4c8c7926
GM
3831 * xfns.c (Fx_window_property): Handle case that property gets
3832 deleted between the two calls to XGetWindowProperty.
3833
9a72e4c1
GM
38342001-09-11 Gerd Moellmann <gerd@gnu.org>
3835
bd819d14 3836 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3837
a41edd99
GM
3838 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3839 in addition to read-only.
3840
3841 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3842 to t in addition to read-only.
3843
3844 * lisp.h (Qinhibit_modification_hooks): Declare.
3845
3846 * insdel.c (Qinhibit_modification_hooks): New variable.
3847 (syms_of_insdel): Initialize and staticpro it.
3848
d4881c6a
GM
3849 * textprop.c (verify_interval_modification): Don't run
3850 modification-hooks if inhibit_modification_hooks.
3851
3852 * dispnew.c (set_window_cursor_after_update): Fix code
3853 finding glyph row containing cursor when cursor_in_echo_area
3854 is >= 0.
3855
9a72e4c1
GM
3856 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3857 (add_to_log): Use bcopy instead of strcpy.
3858 (init_from_display_pos): Use an explicit loop over bytes in
3859 overlay strings instead of calling index.
3860
f4a374a1
GM
38612001-09-10 Gerd Moellmann <gerd@gnu.org>
3862
300e57bd
GM
3863 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3864
3865 * dispnew.c (direct_output_for_insert): Don't change IT's
3866 stop_charpos to something in front of its current position.
3867
f4a374a1
GM
3868 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3869 `format'.
3870
7e4cbc91
RS
38712001-09-10 Richard M. Stallman <rms@gnu.org>
3872
3873 * frame.c (Fmouse_position): Doc fix.
3874
6afad91e
GM
38752001-09-07 Gerd Moellmann <gerd@gnu.org>
3876
3877 * xdisp.c (init_from_display_pos): Don't compare the result
3878 of calling index with NULL.
3879
f76e0368
GM
38802001-09-06 Gerd Moellmann <gerd@gnu.org>
3881
3882 * xfns.c (x_set_background_color): Don't change the colors
3883 of the X window of scroll bar widgets.
3884
9ead1b60
AI
38852001-09-05 Andrew Innes <andrewi@gnu.org>
3886
3887 * w32fns.c (w32_createwindow): Undo last change.
3888
c3b497b3
GM
38892001-09-05 Gerd Moellmann <gerd@gnu.org>
3890
08e1d6df
GM
3891 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3892
c3b497b3
GM
3893 * xdisp.c (string_buffer_position): Use *single_char_property*
3894 functions instead of the *single_property* functions.
b56ba8de 3895
8f860180
AI
38962001-09-04 Andrew Innes <andrewi@gnu.org>
3897
9a72e4c1
GM
3898 * w32term.c (w32_read_socket): Add more information to debugging
3899 output.
8f860180
AI
3900
3901 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3902 from Emacs frames, so that calls to GetClipBox in w32term.c
3903 correctly report when part of a frame is visible (including
3904 scrollbars, etc). This prevents repeated redrawing of frames when
3905 only a scrollbar is visible.
3906 (w32_wnd_proc): Add more frame information to debugging output.
3907
2ee1aa00
SM
39082001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3909
3910 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3911
e3b22517
GM
39122001-09-03 Gerd Moellmann <gerd@gnu.org>
3913
7e376260
GM
3914 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3915 help-echo for a string which doesn't have help-echo itself, use
3916 get-char-property to obtain the help-echo from the string's buffer
3917 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3918 have mouse-face, look ``under'' the string for mouse-face from an
3919 overlay.
3920 (fast_find_position): Add parameter STOP. In the final row, stop
3921 before glyphs having STOP as object. Don't consider glyphs that
3922 are not from a buffer.
3923
e3b22517
GM
3924 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3925
9a249bba
EZ
39262001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3927
3928 * fns.c (Fmd5): Doc fix.
3929
c9979669
GM
39302001-08-31 Gerd Moellmann <gerd@gnu.org>
3931
3932 * composite.c (update_compositions): Do nothing if
3933 inhibit-modification-hooks is set.
3934
9584e63a
GM
39352001-08-30 Gerd Moellmann <gerd@gnu.org>
3936
986ec8f2 3937 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3938 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3939 glyph matrices etc. in a core dump.
3940
92a25631
GM
3941 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3942 (syms_of_xdisp): Initialize them.
3943 (handle_single_display_prop): Don't change point, bind `object',
3944 `position', and `buffer-position' instead to the object having the
2ee1aa00 3945 `display' property, position in the object and position in the buffer.
92a25631 3946
9584e63a
GM
3947 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3948 of the buffer if REPLACE is non-nil.
3949
d38633a3
GM
39502001-08-29 Gerd Moellmann <gerd@gnu.org>
3951
3952 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3953
f4fccc1e
EZ
39542001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3955
3956 * w32term.c (x_set_glyph_string_background_width)
3957 (show_mouse_face): Track the last changes in xterm.c.
3958
eaaa65b0
GM
39592001-08-28 Gerd Moellmann <gerd@gnu.org>
3960
7b0870b2
GM
3961 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3962 string's background width so that multi-line mouse-face is drawn
3963 to the right edge of the window.
3964 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3965 glyphs.
3966
6b6e2422 3967 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3968 before inserting/writing glyphs.
6b6e2422 3969
eaaa65b0
GM
3970 * xdisp.c (display_mode_element): Use string_byte_to_char to
3971 determine character positions in strings, use chars_in_text
3972 instead of strwidth.
3973 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3974 a matrix as parameter; this is easier to use from GDB.
3975
9ad62cf8
MB
39762001-08-28 Miles Bader <miles@gnu.org>
3977
2ee1aa00
SM
3978 * textprop.c (Fprevious_single_char_property_change)
3979 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3980
32171635
GM
39812001-08-27 Gerd Moellmann <gerd@gnu.org>
3982
47d57b22
GM
3983 * fileio.c (Finsert_file_contents): Allocate, restore, and
3984 free composition data in the case of REPLACE not being nil.
3985
3986 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3987 there exist overlay strings with newlines at POS.
3988 (text_outside_line_unchanged_p): Return 0 if changes start at
3989 START and overlays exist at START. Likewise for END.
3990 (try_window_id): Give up if init_to_row_end returns 0.
3991
32171635
GM
3992 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3993 unconditionally.
3994
e1249666
GM
39952001-08-24 Gerd Moellmann <gerd@gnu.org>
3996
33954c45
GM
3997 * keymap.c (access_keymap): Return the cdr of the binding of
3998 a generic character instead of its definition (KEY . BINDING).
3999
e1249666
GM
4000 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
4001 to 0 also in the REPLACE case.
4002
fb4c6c96
AC
40032001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
4004
4005 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
4006 open to determine whether file is readable (as for DOS_NT).
4007
59ecf80b
GM
40082001-08-23 Gerd Moellmann <gerd@gnu.org>
4009
4010 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
4011 coding.type is coding_type_no_conversion or coding_type_raw_text,
4012 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
4013 non-nil instead of just setting enable_multibyte_characters in the
4014 buffer to nil.
4015
40e33037
GM
40162001-08-22 Gerd Moellmann <gerd@gnu.org>
4017
374388c3
GM
4018 * dispextern.h (struct face_cache): Add member
4019 menu_face_changed_p.
4020
4021 * xfaces.c (menu_face_changed_default): New variable.
4022 (menu_face_changed_count): Variable removed.
4023 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
4024 the menu_face_changed_default flag, otherwise set the FRAME's
4025 menu_face_changed_p flag if the `menu' face has been changed.
4026 Prevent calling set_font_frame_param if FRAME is t.
4027 (make_face_cache): Initialize cache's menu_face_changed_p
4028 from menu_face_changed_default.
4029 (realize_basic_faces): Look into the frame's face cache to
4030 determine if the menu appearance needs updating.
4031
40e33037
GM
4032 * keymap.c (access_keymap): Fix last change to not consider
4033 IDX when it has modifiers.
4034
859ea4b8
GM
40352001-08-21 Gerd Moellmann <gerd@gnu.org>
4036
4037 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
4038 . BINDING) exists, where GENERIC-CHAR is the generic character of
4039 the charset of IDX, return BINDING unless there exists a binding
4040 for IDX itself.
4041
e8660d73
GM
40422001-08-16 Gerd Moellmann <gerd@gnu.org>
4043
cca1b1d7
GM
4044 * xrdb.c (SYSV): Don't define on Solaris 2.
4045 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4046
e8660d73 4047 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 4048 of the screen line, not text line, containing IT's current position.
e8660d73 4049
93aba6fc
GM
40502001-08-15 Gerd Moellmann <gerd@gnu.org>
4051
288d4e06
GM
4052 * window.c (window_scroll_pixel_based): Don't recenter if
4053 PT is partially visible in the window.
4054
3452efc2
SM
4055 * xterm.c (expose_window_tree, expose_window, expose_line):
4056 Return 1 when overwriting mouse-face.
82f053ab
GM
4057 (expose_frame): If mouse-face was overwritten, redo it.
4058
93aba6fc
GM
4059 * xfaces.c (x_update_menu_appearance): Don't call
4060 set_frame_menubar, let the next redisplay do it.
4061
858a55c1
AI
40622001-08-14 Andrew Innes <andrewi@gnu.org>
4063
4064 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4065 drawing glyph string.
4066
3a990b67
EZ
40672001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
4068
4069 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
4070 running HI-UX/MPP.
4071
04386463
GM
40722001-08-14 Gerd Moellmann <gerd@gnu.org>
4073
4074 * xfaces.c (x_update_menu_appearance): Save and restore value of
4075 interrupt_input_blocked.
4076
3e6385a4
GM
40772001-08-13 Gerd Moellmann <gerd@gnu.org>
4078
b0e619b4
GM
4079 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
4080 a line start, move back to the line start.
3452efc2 4081
0de73d5a
GM
4082 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
4083 exactly when a mini-buffer is active.
4084
3e6385a4
GM
4085 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
4086 in units of 1/8 character on non window-system frames.
4087 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4088
d1b5f629
EZ
40892001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4090
4091 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
4092 a doc string.
4093
eaa2319f
GM
40942001-08-09 Gerd Moellmann <gerd@gnu.org>
4095
8e3189f0
GM
4096 * keyboard.c (Vpre_help_message): New variable.
4097 (syms_of_keyboard): Initialize and staticpro it.
4098 (show_help_echo): Record current message before displaying a
4099 help-echo, and restore that message when clearing the help.
4100
eaa2319f
GM
4101 * xfns.c (x_create_im): Remove prototype.
4102
4103 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
4104
4105 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 4106
eaa2319f
GM
41072001-08-08 Gerd Moellmann <gerd@gnu.org>
4108
4109 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 4110 windows whose height has changed, disable partially visible lines.
eaa2319f 4111
17fdcfc8
GM
41122001-08-07 Gerd Moellmann <gerd@gnu.org>
4113
22d01aed 4114 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 4115 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 4116
17fdcfc8
GM
4117 * xdisp.c (start_display): Don't try to determine the continuation
4118 lines width if lines are truncated. It's superfluous and leads to
4119 incorrect results if POS is not visible in the window after
4120 reseating the iterator at the previous line start.
4121
8e3fe78e
GM
41222001-08-06 Gerd Moellmann <gerd@gnu.org>
4123
4124 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
4125
7b403e01 41262001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
98a8938c
GM
4127
4128 * alloc.c (init_stack): Remove declaration.
4129
18f9986a
GM
41302001-08-03 Gerd Moellmann <gerd@gnu.org>
4131
5e1f85e0
GM
4132 * keyboard.c (read_key_sequence): Check that key is an integer
4133 before comparing it with quit_char.
4134 (add_command_key): Use larger_vector.
4135 (read_char_x_menu_prompt): Instead of converting symbol and
4136 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 4137 which cannot be confused with valid events.
5e1f85e0
GM
4138 (read_char): When reading from Vunread_command_events, check for
4139 events of the form (EVENT . disabled) instead of
4140 (EVENT . nil).
4141
18f9986a
GM
4142 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
4143 a float, determine the max height from the frame's height.
4144
fbc7f2a6
GM
41452001-08-02 Gerd Moellmann <gerd@gnu.org>
4146
4147 * xdisp.c (redisplay_internal): Take message_cleared_p into
4148 account only if minibuf_level == 0.
4149
81b1a79d
GM
41502001-08-01 Gerd Moellmann <gerd@gnu.org>
4151
e5c60873
GM
4152 * xdisp.c (redisplay_internal): Add a check for the last
4153 displayed message.
3452efc2 4154
6e019995
GM
4155 * xdisp.c (message_cleared_p): New variable.
4156 (clear_message): Set message_cleared_p when clearing the current
4157 message.
4158 (redisplay_internal): Look at message_cleared_p to capture
4159 the case that the echo area should be cleared.
4160
308a74d8
GM
4161 * keyboard.c (command_loop_1): Fix spelling of
4162 resize_echo_area_exactly.
4163
3452efc2 4164 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
4165
4166 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
4167
81b1a79d
GM
4168 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
4169 current matrix when the window gets smaller.
4170
ada329e6
EZ
41712001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
4172
4173 * print.c (strout): Cast the character passed to insert_char to
4174 unsigned char, to avoid sign extension when it is promoted to int.
4175
ed86208c
GM
41762001-07-31 Gerd Moellmann <gerd@gnu.org>
4177
4178 * fileio.c (Finsert_file_contents): Don't treat a return value
4179 of 0 from emacs_read as an IO error.
4180
6594ac22
GM
41812001-07-30 Gerd Moellmann <gerd@gnu.org>
4182
cef68af5
GM
4183 * keyboard.c (abs): New macro.
4184 (double_click_fuzz): New variable.
4185 (make_lispy_event): Use it to determine what makes a double-click.
4186 (syms_of_keyboard): DEFVAR_INT it.
4187
6594ac22
GM
4188 * xmenu.c (set_frame_menubar): Take into account that
4189 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4190 <raeburn@gnu.org>.
4191
75c5350a
GM
41922001-07-27 Gerd Moellmann <gerd@gnu.org>
4193
4194 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4195
4196 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4197 of row's visible height.
4198
4199 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
4200 deal with the first overlay string having an image `display' property.
4201 (try_window_reusing_current_matrix, compute_line_metrics):
4202 Fix computation of row's visible height for the case that part of the
75c5350a
GM
4203 row is invisible above and part of the row is at the same time
4204 invisible below the window.
4205
ac49effe
GM
42062001-07-26 Gerd Moellmann <gerd@gnu.org>
4207
4208 * xfns.c (x-show-tip): Doc fix.
3452efc2 4209
ac49effe
GM
4210 * xfns.c (Vx_max_tooltip_size): New variable.
4211 (syms_of_xfns): DEFVAR_LISP it.
4212 (Fx_show_tip): Set frame's window_width to the width of the
4213 window. Use a maximum tooltip size specified by
4214 Vx_max_tooltip_size, if that has valid contents.
4215 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 4216
8c3b00cb
AI
42172001-07-26 Andrew Innes <andrewi@gnu.org>
4218
4219 * w32term.c (x_display_list): New variable.
4220 (w32_term_init): Set it.
4221
4222 * w32term.h (x_display_list): New extern.
4223
16098288
GM
42242001-07-26 Gerd Moellmann <gerd@gnu.org>
4225
4226 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
4227 is non-nil, instead of when redisplaying_p is non-zero.
4228 See comment there.
16098288
GM
4229 (mark_window_display_accurate_1): Add an assertion.
4230
64c5be50
GM
42312001-07-25 Gerd Moellmann <gerd@gnu.org>
4232
e743f599
GM
4233 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4234
563b384d
GM
4235 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4236 events so that we get a chance of processing expose events.
4237
64c5be50
GM
4238 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4239
296808a5
GM
42402001-07-24 Gerd Moellmann <gerd@gnu.org>
4241
4242 * xfns.c (valid_image_p): Protect better against invalid image
4243 specifications. Previous code could signal an error.
4244
5247262a
GM
42452001-07-23 Gerd Moellmann <gerd@gnu.org>
4246
3452efc2 4247 * indent.c (current_column): Fix column computation in the
f1004faf
GM
4248 presence of display table entries.
4249 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4250
dd42b31a
GM
4251 * dispnew.c (adjust_glyph_matrix): In the optimization for
4252 windows whose height has changed, use the new window height
4253 to compute which rows to invalidate.
4254
9e5a7f2a
GM
4255 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4256 (MAX_10_EXP): New macro.
4257 (Fformat): Use it.
4258
5247262a
GM
4259 * coding.c (code_convert_region): Handle the multibyte case if
4260 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4261
177ab8ce
GM
42622001-07-20 Gerd Moellmann <gerd@gnu.org>
4263
6e07c0a5
GM
4264 * dispextern.h (struct face): Change type of `stipple' to
4265 int; it's an ID.
4266
177ab8ce
GM
4267 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4268
b5b80599
GM
42692001-07-19 Gerd Moellmann <gerd@gnu.org>
4270
4e2a256b
GM
4271 * dispnew.c (update_window): Don't set the cursor at the end
4272 of the update if display update has been paused.
4273
3452efc2 4274 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 4275
c1fd9232
KR
42762001-07-18 Ken Raeburn <raeburn@gnu.org>
4277
4278 * fns.c (Fset_char_table_default): Check that a charset is defined
4279 before checking its dimension.
4280
928a85c1
KR
42812001-07-17 Ken Raeburn <raeburn@gnu.org>
4282
4283 * coding.c (setup_coding_system): Don't do any designation based
4284 on reg_bits if charset is not yet defined.
4285
fb4c6c96 4286 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
4287 pointer, using eassert.
4288
de11c1ea
GM
42892001-07-17 Gerd Moellmann <gerd@gnu.org>
4290
3452efc2
SM
4291 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4292 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 4293
467f1209
GM
42942001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4295
4296 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4297
c3d6be34
GM
42982001-07-16 Gerd Moellmann <gerd@gnu.org>
4299
c1d61a7d
GM
4300 * fileio.c (unwind_read): Function removed.
4301 (read_non_regular, read_non_regular_quit): New functions.
4302 (Finsert_file_contents): When reading from non-regular files,
4303 arrange to catch a `quit' and terminate the loop. Rearrange
4304 code so that a `quit' when reading from a regular file doesn't
4305 insert text in the buffer.
4306
c3d6be34
GM
4307 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4308 Clear faces afterwards.
4309 (clear_font_table): Take a x_display_info parameter. Don't free
4310 fonts being the default font of any frame on the given display.
4311
e06aa1f9
GM
43122001-07-13 Gerd Moellmann <gerd@gnu.org>
4313
4314 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4315 instead of CHAR_STRING which can signal an error.
4316
4317 * charset.c (char_to_string_1): Extracted from char_to_string.
4318 Return -1 instead of signaling an error.
4319 (char_to_string): Use it.
4320
4321 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4322
176c92e6
SM
43232001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4324
4325 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4326 is t, don't try to append anything to it.
4327
1c56232f
EZ
43282001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4329
4330 * dired.c (file_name_completion): Pass dp->d_name to
4331 Fstring_match, not elt, which is always nil here.
4332
1d2b2268
GM
43332001-07-12 Gerd Moellmann <gerd@gnu.org>
4334
4335 * xselect.c (x_decline_selection_request): Handle errors
4336 caused by receivers that have vanished.
4337
4338 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4339 ignoring events on foreign windows in #if 0. Always dispatch
4340 the event after checking it with x_handle_property_notify.
4341
4342 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
4343 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
4344 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
4345 (toplevel): Add prototypes for file-local functions.
4346 (x_atom_to_symbol): Remove DPYINFO parameter.
4347
fe5a0162
SM
43482001-07-11 Stefan Monnier <monnier@cs.yale.edu>
4349
4350 * w32menu.c (menubar_selection_callback, w32_menu_show):
4351 Initialize `entry' to nil.
4352 (w32_dialog_show): Remove unused `save_wv' variable.
4353 (name_is_separator): Recognize "--:foo" and "--foo-bar".
4354
a777242c
GM
43552001-07-11 Gerd Moellmann <gerd@gnu.org>
4356
8ee5b6a3
GM
4357 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
4358
d0e2444e
GM
4359 * fileio.c (unwind_read): Print a message when discarding inserted
4360 text or switching the buffer to unibyte. Change parameter.
4361 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 4362
a777242c
GM
4363 * fileio.c (unwind_read): New function.
4364 (Finsert_file_contents): Record it as unwind-function for
4365 the case that reading is interrupted by C-g.
4366
ae794295
GM
43672001-07-10 Gerd Moellmann <gerd@gnu.org>
4368
fe5a0162 4369 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
4370 update when scrolling_window returns 0.
4371
6b05fae3
GM
4372 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
4373
4374 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 4375 for the case that x_decode_color signals an error.
6b05fae3 4376
ae794295
GM
4377 * xdisp.c (add_to_log): Do nothing if called asynchronously.
4378
bb6e8cee
GM
43792001-07-09 Gerd Moellmann <gerd@gnu.org>
4380
4381 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
4382 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
4383 around ioctls.
4384
36b40a8a
EZ
43852001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
4386
24b97d4b
EZ
4387 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
4388 doc string line for dos-timezone-offset.
4389
36b40a8a
EZ
4390 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
4391 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
4392 (syms_of_msdos): Add \n\ at the end of a line in the doc string
4393 line for dos-unsupported-char-glyph.
36b40a8a
EZ
4394
4395 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
4396
0967b4b0
GM
43972001-07-05 Gerd Moellmann <gerd@gnu.org>
4398
f25cfe53
GM
4399 * sound.c: Include Emacs' header files with #include "...".
4400
0967b4b0
GM
4401 * eval.c (specbind): Additionally record the buffer that was
4402 current when a buffer-local or frame-local variable was bound.
4403
c347a1c3
GM
44042001-07-04 Gerd Moellmann <gerd@gnu.org>
4405
4406 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
4407 to unibyte characters in unibyte buffers.
4408
6332ca8a
GM
44092001-07-03 Gerd Moellmann <gerd@gnu.org>
4410
38472d44
GM
4411 * eval.c (specbind): If SYMBOL has a frame-local binding, record
4412 the frame on the binding stack. Change format of entries for
4413 local bindings on the binding stack to '(SYMBOL . WHERE)'.
4414 (unbind_to): Handle unbinding a frame-local variable.
4415
6332ca8a 4416 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 4417 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
4418 (dump_glyph_row): Print row's continuation_lines_width.
4419 (try_window_id): Take the shortcut if ZV is visible in the
4420 window, but there are actually no changes at ZV.
4421
63d1b174
GM
44222001-07-02 Gerd Moellmann <gerd@gnu.org>
4423
4c175203
GM
4424 * xterm.h (x_free_dpy_colors): Add prototype.
4425
4426 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
4427 right number of arguments.
4428
0b54ce28
GM
4429 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
4430 ($(lwlibdir)TAGS): New target.
4c175203 4431 (TAGS): Fix dependency list.
0b54ce28 4432
63d1b174
GM
4433 * xterm.c (x_list_fonts): Make sure XFreeFont is called
4434 with input blocked.
4435
d827466c
GM
44362001-06-30 Gerd Moellmann <gerd@gnu.org>
4437
4438 * emacs.c (main): Remove extern declaration for sys_nerr, which
4439 isn't used and causes a compilation error with GCC 3.0 on
4440 FreeBSD 4.3.
4441
b5cb1ada
GM
44422001-06-27 Gerd Moellmann <gerd@gnu.org>
4443
a5d3ec3f 4444 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 4445 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
4446 (toplevel): Include <signal.h> and syssignal.h.
4447
b5cb1ada
GM
4448 * sound.c (vox_configure, vox_close): Turn off atimers
4449 around ioctls.
4450
d9bad487
GM
44512001-06-26 Gerd Moellmann <gerd@gnu.org>
4452
fdbb67fe
GM
4453 * keyboard.c (read_char) <non_reread>: Record the previous idle
4454 start time before calling timer_stop_idle.
4455 (read_char) <reread_first>: After processing a help-echo event,
4456 restore the previous idle start time.
4457
d9bad487
GM
4458 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
4459 the start of invisible text.
4460 (setup_for_ellipsis): New function.
4461 (next_overlay_string): After all overlay strings have been
4462 processed, display an ellipsis if necessary.
4463 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
4464 (push_it): Initialize display_ellipsis_p on the iterator's stack.
4465
4466 * dispextern.h (struct iterator_stack_entry): Add member
4467 display_ellipsis_p.
4468
2b9c25e0
GM
44692001-06-25 Gerd Moellmann <gerd@gnu.org>
4470
80de57df
GM
4471 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
4472 on the value of the wait-for-wm frame parameter.
4473
4474 * xterm.h (struct x_output): Add member wait_for_wm.
4475
4476 * xfns.c (Qwait_for_wm): New variable.
4477 (x_frame_parms): Add entry for `wait-for-wm".
4478 (x_set_wait_for_wm): New function.
4479 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
4480 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
4481
2b9c25e0
GM
4482 * xdisp.c (try_window_id) <all changes below window end>: Don't
4483 take this shortcut if ZV is visible in the window.
4484 (try_window_id): When checking for window start being in changed
4485 text, don't check that the buffer's size has changed.
4486
f772775c
RS
44872001-06-23 Richard M. Stallman <rms@gnu.org>
4488
4489 * minibuf.c (Fcompleting_read): Doc fix.
4490
fa9090b8
GM
44912001-06-19 Gerd Moellmann <gerd@gnu.org>
4492
4493 * composite.c (Ffind_composition_internal): Accept ZV
4494 and a string's end position as POS.
4495
f6f1beba
GM
44962001-06-18 Gerd Moellmann <gerd@gnu.org>
4497
4498 * composite.c (Ffind_composition_internal): Check POS
4499 for validity.
4500
0ae83348
EZ
45012001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4502
4503 * editfns.c (Fmessage_box): If the frame is not under a window
4504 system, output the message in the echo area.
4505
e4cdc335
RS
45062001-06-14 Richard M. Stallman <rms@gnu.org>
4507
4508 * xdisp.c (try_window_id): When EOB is visible, don't treat
4509 insertion at EOB as if it were "off the bottom of the screen."
4510
a55a5f3c
AI
45112001-06-11 Andrew Innes <andrewi@gnu.org>
4512
4513 * w32proc.c (create_child): Add new parameter is_gui_app.
4514 (w32_executable_type): Add new parameter is_gui_app.
4515 (sys_spawnve): Use it.
4516 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
4517 SIGQUIT. This matches better how the signals are interpreted by
4518 MSVC compiled programs.
4519 (syms_of_ntproc): Update docstring.
4520
1b85dc1c
SM
45212001-06-02 Stefan Monnier <monnier@cs.yale.edu>
4522
4523 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
4524 well otherwise note_mouse_highlight might optimize away highlighting
4525 if we pass over that same overlay again.
4526
b75f8eab
EZ
45272001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
4528
4529 * lread.c (Fload): Document that the argument is run via
4530 substitute-in-file-name.
4531
94843cc1
GM
45322001-05-31 Gerd Moellmann <gerd@gnu.org>
4533
b14659e6
GM
4534 * Makefile.in (bootstrap-doc): New target.
4535 (bootstrap-emacs): Depend on it.
4536
0894672f
GM
4537 * fileio.c (Fdo_auto_save): Don't try to create the directory of
4538 auto-save-list-file-name when shutting down Emacs, because
4539 creating the directory might signal an error, and leaves
4540 Emacs in a strange state.
4541
94843cc1
GM
4542 * term.c: (tty_cursor_hidden): New variable.
4543 (update_begin): Don't call tty_hide_cursor. Clean up.
4544 (update_end, set_terminal_window, set_scroll_region): Clean up.
4545 (ring_bell, reset_terminal_modes): Clean up.
4546 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
4547 on tty_cursor_hidden.
4548 (write_glyphs): Call tty_hide_cursor.
4549
db3a49a6
SM
45502001-05-30 Stefan Monnier <monnier@cs.yale.edu>
4551
4552 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
4553
8bd189fb
GM
45542001-05-30 Gerd Moellmann <gerd@gnu.org>
4555
6f1be3b9
GM
4556 * xfns.c (enum image_value_type): New enumerator
4557 IMAGE_STRING_OR_NIL_VALUE.
4558 (parse_image_spec): Handle it.
4559 (xbm_format, pbm_format): Use it for :foreground and :background.
4560 (xbm_load, pbm_load): Check for nil color names.
4561
8bd189fb
GM
4562 * xterm.c (note_mouse_highlight): If an overlapping overlay
4563 exists, but we find that we highlight the same overlay as before,
4564 don't do the highlighting again.
4565
7bdba03c
GM
45662001-05-29 Gerd Moellmann <gerd@gnu.org>
4567
4c329aa8
GM
4568 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
4569 Protect unibyte strings created by replacing their multibyte
4570 equivalents in menu_items.
4571
e15e2828
GM
4572 * keymap.c (Fsingle_key_description): NUL-terminate the string
4573 buffer before calling build_string.
4574
7bdba03c
GM
4575 * callproc.c (Fcall_process): Deal with decode_coding returning
4576 CODING_FINISH_INCONSISTENT_EOL.
4577
89c8dc6c
GM
45782001-05-28 Gerd Moellmann <gerd@gnu.org>
4579
db3a49a6 4580 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
4581 an item's name with its key description in case the description
4582 is a multibyte string.
4583
4584 * keymap.c (Fsingle_key_description): Create a multibyte string
4585 only if necessary.
4586
eb04d6cd
GM
4587 * macros.c (Fstart_kbd_macro): Doc fix.
4588
8bd6307f
GM
4589 * xterm.c (cursor_in_mouse_face_p): New function.
4590 (x_draw_stretch_glyph_string): Use it to choose a different GC
4591 when drawing a cursor within highlighted text.
4592
e26c4089
GM
4593 * editfns.c (char_property_eq): Put in #if 0.
4594
4595 * indent.c (string_display_width): Put in #if 0.
4596
4597 * lread.c (Fload): Remove unused label.
4598
89c8dc6c
GM
4599 * termcap.c (speeds): Put in #if 0.
4600
9a1211f2
GM
46012001-05-18 Gerd Moellmann <gerd@gnu.org>
4602
29148a3f
GM
4603 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
4604
9a1211f2
GM
4605 * xfaces.c (xlfd_point_size): Don't divide pixel size from
4606 transformation matrix by 10.
4607
09393d07
GM
46082001-05-16 Gerd Moellmann <gerd@gnu.org>
4609
4610 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
4611 only if it's equal to the former foreground pixel color.
db3a49a6 4612 (x_set_foreground_color, x_set_background_color)
09393d07
GM
4613 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
4614
460e6bae
GM
46152001-05-16 Dave Love <fx@gnu.org>
4616
4617 * insdel.c (signal_before_change, signal_after_change): Consider a
4618 local change hook which changes the buffer.
99c78ce8
GM
4619
4620 * process.c (read_process_output): Don't call signal_after_change
4621 and update_compositions after insert_from_string_before_markers.
4622
dbcf3c03
GM
46232001-05-16 Gerd Moellmann <gerd@gnu.org>
4624
a90b3d3c
GM
4625 * xfaces.c (split_font_name): Use the right field when
4626 checking for `[...]' syntax.
4627
1b7818b4
GM
4628 * buffer.c (copy_overlays): New function.
4629 (clone_per_buffer_values): Use it.
4630
4631 * buffer.h (OVERLAY_PLIST): New macro.
4632
9bae8781
GM
4633 * keymap.c (Fsingle_key_description): Replace a build_string with
4634 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
4635
dbcf3c03
GM
4636 * fontset.c (Ffontset_info): Check that face is non-null
4637 before accessing its fields.
4638
8a1ae4dd
GM
46392001-05-15 Gerd Moellmann <gerd@gnu.org>
4640
18a0a39e
GM
4641 * keyboard.c (read_key_sequence): Prevent generating a fake
4642 prefix key twice.
4643
e335b66a
GM
4644 * xfaces.c (split_font_name): Handle `[...]' for the right
4645 font name fields.
4646
8a1ae4dd
GM
4647 * ccl.c (ccl_driver): Don't copy remaining bytes in case
4648 of CCL_STAT_INVALID_CMD.
4649
3cf80731
SM
46502001-05-14 Stefan Monnier <monnier@cs.yale.edu>
4651
33568849
SM
4652 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
4653 in <var> has no default value yet.
4654
3cf80731
SM
4655 * xfaces.c (try_alternative_families): First try the FAMILY.
4656 And if nothing is found in the end, try again with scalable fonts.
4657 (try_font_list): Let try_alternative_families do a bit more of
4658 the work. Only use FAMILY if it is not nil.
4659 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
4660
933b0249
GM
46612001-05-14 Gerd Moellmann <gerd@gnu.org>
4662
58e5af83
GM
4663 * xterm.c (note_mouse_highlight): Avoid changing the mouse
4664 pointer shape when show_mouse_face has already done it.
33568849 4665
58e5af83 4666 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
4667 full-width rows.
4668
7b16a6bf
GM
4669 * xfaces.c (split_font_name): Make sure to leave the loop
4670 with the right value of `i'.
3cf80731 4671
933b0249
GM
4672 * xfaces.c (split_font_name): Handle matrix transformations
4673 in the pixel and point size fields of XLFD font names.
4674 (xlfd_point_size): Likewise.
4675
dddcbf00
EZ
46762001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
4677
3cf80731 4678 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
4679 (x_to_w32_font): Add prototype.
4680
7689ef0b
EZ
4681 * regex.c (malloc, realloc, free) [emacs]: Undefine before
4682 redefining, to avoid compiler warnings.
4683
e7c15bba
EZ
4684 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
4685
dddcbf00
EZ
4686 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
4687 (w32_get_bdf_glyph): Cast between unsigned char and char when
4688 passing arguments to subroutines, to shut up compiler warnings.
4689 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
4690 GET_HEX_VAL.
4691
4692 * xfaces.c: Include keyboard.h before frame.h, not after it.
4693
4694 * widget.c: Include keyboard.h before frame.h.
4695
4696 * w32term.h (struct image, struct face): Forward declaration, to
4697 avoid compiler warnings.
4698
7bd2d083
GM
46992001-05-11 Gerd Moellmann <gerd@gnu.org>
4700
47e72862
GM
4701 * keyboard.c (read_key_sequence): Don't modify events when
4702 generating fake prefix keys (mode-line, scroll-bar, ...) since
4703 this prevents proper processing of such events when pushed back
4704 into unread-command-events.
4705
dd5f324b
GM
4706 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4707 actually redrawn. Make the function static.
4708 (note_mouse_highlight): Fix a case where the mouse cursor
4709 was changed back to the text cursor.
4710
4711 * xterm.h (clear_mouse_face): Remove prototype.
4712
d88a79d4
GM
4713 * xdisp.c (try_window_id): Fix the fix and set the right
4714 window_end_vpos.
4715
4716 * xdisp.c (try_window_id): Fix computation of window end in the
4717 case that lines were deleted at the end of the window. Add some
4718 more debug_method_adds.
0416532f 4719
7bd2d083
GM
4720 * xfaces.c (try_alternative_families): New function.
4721 (try_font_list): Use it. If ATTRS specifies a family, check
4722 fonts from that family first.
4723 (choose_face_font): Remove code setting the family part of
4724 the pattern to nil.
4725
23fca891
GM
47262001-05-10 Gerd Moellmann <gerd@gnu.org>
4727
ff9aa2ca
GM
4728 * xdisp.c (try_window_id): Fix case of all changes before
4729 the window start.
7b2654b5 4730
23fca891
GM
4731 * xdisp.c (try_window_id): Add some xasserts.
4732
e9726794
GM
47332001-05-09 Gerd Moellmann <gerd@gnu.org>
4734
4735 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4736
9e53a675
GM
47372001-05-09 Dave Love <fx@gnu.org>
4738
4739 * xdisp.c (GIVE_UP): Fix for K&R C.
4740
0d487c52
GM
47412001-05-09 Gerd Moellmann <gerd@gnu.org>
4742
fe88d421
GM
4743 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4744
0d487c52
GM
4745 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4746 back to the text cursor shape without need.
4747
1e9fc92e
GM
47482001-05-07 Gerd Moellmann <gerd@gnu.org>
4749
a2a6232e
GM
4750 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4751
4752 * dispextern.h (inverse_video): Declare extern.
4753
1e9fc92e
GM
4754 * keyboard.c (delete_kboard): Handle the case that selected_frame
4755 has been deleted in the course of x_connection_closed.
4756
12949a7f
EZ
47572001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4758
7b2654b5
SM
4759 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4760 Fix the change from 2001-04-30.
12949a7f 4761
2fa2f461
GM
47622001-05-03 Gerd Moellmann <gerd@gnu.org>
4763
a779d213
GM
4764 * xfns.c (file_dialog_unmap_cb): New function.
4765 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4766 where a dialog is closed via the window manager.
4767
7b2654b5 4768 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
4769 the window start or all below the window end mostly rewritten.
4770 (redisplay_window): Move the tests if try_window_id is
4771 applicable to try_window_id.
4772 (GIVE_UP): New macro.
4773
3356df63
GM
47742001-05-02 Gerd Moellmann <gerd@gnu.org>
4775
a39202f6 4776 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
4777 currently being updated, mark the frame garbaged.
4778 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4779 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4780
3356df63
GM
4781 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4782 again if it has already been drawn.
4783
a9d2fd1d
SM
47842001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4785
4786 * syntax.c (update_syntax_table): Check that oldi has the same
4787 properties as old_prop before deciding not to invalidate.
4788
c95fc5f1
GM
47892001-04-30 Gerd Moellmann <gerd@gnu.org>
4790
a9793e45
GM
4791 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4792 read-only text that is so because of text properties.
4793
c95fc5f1 4794 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4795 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4796 windows that are components of a Lucid menu bar.
4797
5a5d9185
GM
47982001-04-27 Gerd Moellmann <gerd@gnu.org>
4799
4800 * term.c (turn_on_face): Fix reverse video handling on terminals
4801 that don't support colors.
4802
ba973f7a
GM
48032001-04-26 Gerd Moellmann <gerd@gnu.org>
4804
4805 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4806 a non-buffer.
4807
8c56a983
GM
48082001-04-25 Gerd Moellmann <gerd@gnu.org>
4809
a728644c
GM
4810 * term.c (toggle_highlight): New function.
4811 (turn_on_face): Change handling of reverse video.
4812
7b2654b5
SM
4813 * process.c (wait_reading_process_input):
4814 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4815
bfd8410f
GM
4816 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4817 of the number of overlays to check.
4818
be2488ca
GM
4819 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4820
8c56a983
GM
4821 * xdisp.c (try_window_id): Fix a case where window_end_pos
4822 and window_end_bytepos were not adjusted.
4823
522d42f7
GM
48242001-04-23 Gerd Moellmann <gerd@gnu.org>
4825
4826 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4827 zero instead of -1.
4828
78c1afb6
EZ
48292001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4830
a9d2fd1d
SM
4831 * process.c (wait_reading_process_input) [!subprocesses]:
4832 Don't reference waiting_for_user_input_p, it's not defined in the
4833 branch without async subprocesses support.
78c1afb6 4834
a2fab450
GM
48352001-04-19 Gerd Moellmann <gerd@gnu.org>
4836
a122a38e
GM
4837 * keyboard.c (delete_kboard): Prevent a dangling reference
4838 from current_kboard to KB, which is freed.
4839
a9d2fd1d
SM
4840 * process.c (wait_reading_process_input):
4841 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4842 read_key_sequence aware of buffer changes from under it.
4843
0f8d6dc7
GM
48442001-04-18 Gerd Moellmann <gerd@gnu.org>
4845
eeffb293
GM
4846 * xfaces.c (Qscalable_fonts_allowed): New variable.
4847 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4848 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4849 removed.
eeffb293 4850 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4851 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4852 for scalable-fonts-allowed to t.
eeffb293 4853
0f8d6dc7
GM
4854 * fileio.c (Finsert_file_contents): If the file size returned from
4855 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4856 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4857
eec2d1de
EZ
48582001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4859
4860 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4861 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4862 (__memalign_hook): Make the two prototypes consistent.
4863
f4f480bd
GM
48642001-04-17 Gerd Moellmann <gerd@gnu.org>
4865
4866 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4867 matrix of mini-windows.
4868
52283633
SM
48692001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4870
4871 * intervals.c (find_interval): Don't rebalance during signal handling.
4872
ec2423c9
GM
48732001-04-11 Gerd Moellmann <gerd@gnu.org>
4874
30cb0001 4875 * fns.c: Include blockinput.h.
52283633 4876
ec2423c9
GM
4877 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4878
719d83ad
GM
48792001-04-10 Gerd Moellmann <gerd@gnu.org>
4880
60f8d735
GM
4881 * fns.c (Fcompare_strings): Fix return values.
4882
afffeb57
GM
4883 * window.c (window_scroll): Change the meaning of N to mean
4884 N screen-fulls or N lines.
4885 (window_scroll_pixel_based, window_scroll_line_based)
4886 (scroll_command, Fscroll_other_window): Change accordingly.
4887
52283633
SM
4888 * window.c (window_scroll_pixel_based, Frecenter):
4889 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4890 height of the window.
4891
4892 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4893 instead of using it.last_visible_y for the height of the window.
52283633 4894
719d83ad 4895 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4896 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4897
4898 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4899 able to write to hidden and system files. From Dan Holmsand
4900 <dan@eyebee.com>.
719d83ad 4901
8ddf3ee1
GM
4902 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4903 Holmsand <dan@eyebee.com>.
719d83ad 4904
522ed7fb
GM
49052001-04-09 Gerd Moellmann <gerd@gnu.org>
4906
9170e5d4
GM
4907 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4908
522ed7fb
GM
4909 * window.c (window_internal_height): Return 1 less if the
4910 window has a header line.
4911
4912 * xdisp.c (try_window_id): When scrolling on a terminal, take
4913 the change of window_internal_height into account.
4914
ceeb3d7d
EZ
49152001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4916
4917 * gmalloc.c (align): If the argument SIZE would overflow
4918 __malloc_ptrdiff_t, fail right away.
4919
63685b9d
GM
49202001-04-06 Gerd Moellmann <gerd@gnu.org>
4921
4922 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4923 Make sure the tooltip is completely visible.
4924 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4925
4926 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4927
4928 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4929
3ffb33bb
DL
49302001-04-06 Dave Love <fx@gnu.org>
4931
52283633
SM
4932 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4933 Fix test of `from'.
3ffb33bb 4934
869fb12c
GM
49352001-04-06 Gerd Moellmann <gerd@gnu.org>
4936
52283633 4937 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4938
869fb12c
GM
4939 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4940
441bf856
GM
49412001-04-05 Gerd Moellmann <gerd@gnu.org>
4942
4d664b04
GM
4943 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4944
52283633 4945 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4946
30ca89f5
GM
4947 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4948 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4949
4950 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4951 shell widget's position only if it is non-null.
4952
52283633
SM
4953 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4954 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4955
81a81c0f
GM
4956 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4957 FILENAME to bring it in synch with the documentation.
4958
441bf856
GM
4959 * xfaces.c (realizing_basic_faces_p): Renamed from
4960 realize_default_face_p.
4961 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4962 (realize_default_face): Don't set the flag.
4963
702a1e8e
GM
49642001-04-04 Gerd Moellmann <gerd@gnu.org>
4965
1013f4e3
GM
4966 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4967
52283633
SM
4968 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4969
1013f4e3
GM
4970 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4971 the buffer that was used for echoing.
4972
702a1e8e
GM
4973 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4974 (first_font_matching): Removed unused function.
4975 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4976 (may_use_scalable_font_p): Remove parameter FONT; rename
4977 parameter NAME to FONT.
4978 (x_face_list_fonts): Fix missing bounds check.
4979 (realizing_default_face_p): New variable.
4980 (realize_default_face): Set and clear that flag.
4981 (x_face_list_fonts): When called during the realization of the
4982 default face, and no matching fonts are found when ignoring
4983 scalable fonts and fonts matching a regexp from
4984 face-ignored-fonts, try without ignoring fonts.
4985
f9dbcda4
GM
49862001-04-03 Gerd Moellmann <gerd@gnu.org>
4987
ad18ffb1
GM
4988 * xfns.c (postprocess_image): New function.
4989 (lookup_image): Call it for all image types except PostScript.
4990 (x_kill_gs_process): Call postprocess_image.
4991
f9dbcda4
GM
4992 * xterm.c (x_use_underline_position_properties): New variable.
4993 (x_draw_glyph_string): Use it.
4994 (syms_of_xterm): DEFVAR_BOOL it.
4995
651f03b6
GM
49962001-04-02 Gerd Moellmann <gerd@gnu.org>
4997
4998 * xterm.c (x_alloc_nearest_color_1): New function.
4999 (x_alloc_nearest_color): Use it.
5000 (x_color_cells): Take a Display as argument, instead of a frame.
5001 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
5002 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
5003 (x_initialize): Register cvt_string_to_pixel as resource converter
5004 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
5005
73d75a62
GM
50062001-03-30 Gerd Moellmann <gerd@gnu.org>
5007
b2046df8
GM
5008 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
5009 (set_iterator_to_next): If a string from a display property ends,
5010 consider the case that this might also be the end of an
5011 overlay string having the display property.
5012
52283633 5013 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 5014
87d8eba4
GM
5015 * xdisp.c (reseat_to_string): Undo last change.
5016
73d75a62
GM
5017 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
5018 matrix of a window when the header line changes, when
5019 new rows are allocated, or when the width changes.
5020
911a2406
EZ
50212001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
5022
52283633 5023 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 5024
aea51abe
EZ
50252001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
5026
5027 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
5028 deprecated.
5029
176bc847
GM
50302001-03-29 Gerd Moellmann <gerd@gnu.org>
5031
ed31fabf
GM
5032 * data.c (Fsubr_interactive_form): New function.
5033 (syms_of_data): Defsubr it.
5034
176bc847
GM
5035 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
5036 (live_float_p, live_misc_p): Return 1 only if the offset of the
5037 pointer in its block is >= 0.
5038
e59d0e9d
GM
50392001-03-28 Paul Eggert <eggert@twinsun.com>
5040
5041 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
5042 microseconds calcuation. Avoid double-rounding problem.
5043 In doc string, warn that the result is approximate.
5044
f827b862
GM
50452001-03-28 Gerd Moellmann <gerd@gnu.org>
5046
30a3f61c
GM
5047 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
5048 bind `inhibit-eval-during-redisplay' to t.
5049
5050 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
5051
5052 * xdisp.c (inhibit_eval_during_redisplay)
5053 (Qinhibit_eval_during_redisplay): New variables.
5054 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
5055 don't eval, return nil instead.
5056 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
5057 Initialize Qinhibit_eval_during_redisplay.
5058
e719f5ae
GM
5059 * xdisp.c (reseat_to_string): If STRING is multibyte, set
5060 the iterator's multibyte_p flag.
5061
deb2613a
GM
5062 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
5063 instead of setting it to zero; it's incremented for each frame
5064 where the menu face is changed.
5065
52283633
SM
5066 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
5067 change bottom shadow accordingly.
5068
5069 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
5070 intersections here.
5071 (expose_window): Do it here instead.
52283633 5072 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 5073
f827b862
GM
5074 * bytecode.c (BYTE_CODE_QUIT): New macro.
5075 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
5076
4bde0ebb
GM
50772001-03-27 Gerd Moellmann <gerd@gnu.org>
5078
607ec83c
GM
5079 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
5080 Give up if matrix starts in an ellipsis.
5081 (init_from_display_pos): Do nothing if POS doesn't specify
5082 a dpvec_index but the iterator has such a position.
5083
0245398f
GM
5084 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
5085
aba25348
GM
5086 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
5087 x/y position is (0, 0) after destroying the menu bar, restore
5088 its original position.
5089
4bde0ebb
GM
5090 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
5091 (init_from_display_pos): Use it.
5092 (try_window_reusing_current_matrix): Don't use cursor_row_p.
5093
8cdb267e
GM
50942001-03-26 Gerd Moellmann <gerd@gnu.org>
5095
5096 * xdisp.c (try_window_id): Undo last change.
5097
9948db79
EZ
50982001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
5099
5100 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
5101
5102 * buffer.c (syms_of_buffer): Doc fix.
5103
2eddf899
GM
51042001-03-26 Gerd Moellmann <gerd@gnu.org>
5105
5106 * xfaces.c (x_update_menu_appearance): Use local variable
5107 popup_path for setting font resources.
5108
6c145d35
EZ
51092001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
5110
6a65b1b5
EZ
5111 * frame.c (Fframe_list): Don't reference tip_frame if
5112 HAVE_WINDOW_SYSTEM is not defined.
5113
6c145d35
EZ
5114 * emacs.c (main): Update the copyright year. From Werner LEMBERG
5115 <wl@gnu.org>.
5116
d74c1900
GM
51172001-03-25 Gerd Moellmann <gerd@gnu.org>
5118
20fbd925
GM
5119 * xdisp.c (init_from_display_pos): Test invisible property
5120 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 5121
927c5b3b
GM
5122 * xdisp.c (redisplay_internal) <update one window>: Make sure
5123 last_arrow_position and last_arrow_string are set.
5124
d74c1900
GM
5125 * frame.c (Fframe_list): Don't return a tooltip frame.
5126
091f8878
GM
51272001-03-23 Gerd Moellmann <gerd@gnu.org>
5128
52283633
SM
5129 * xdisp.c (mark_window_display_accurate_1): New function,
5130 extracted from mark_window_display_accurate.
5131 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
5132 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
5133 (mark_window_display_accurate): Use it.
5134 (redisplay_internal): Use it for the selected window.
5135 (redisplay_internal): Avoid duplicate mark_window_display_accurate
5136 for the selected frame.
5137
ac90c44f
GM
5138 * xdisp.c Use make_number, for readability.
5139 (try_window_id): Disable rows below the window end.
5140 (try_window_reusing_current_matrix): Use cursor_row_p.
5141 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
5142 of rows.
5143 (init_from_display_pos): If POS specifies a position in a display
5144 vector, maybe get the iterator set up for that ellipsis.
43c09969 5145
091f8878
GM
5146 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
5147
991786dd
EZ
51482001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
5149
5150 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
5151
6c29b43c
GM
51522001-03-23 Gerd Moellmann <gerd@gnu.org>
5153
5154 * xfaces.c (x_update_menu_appearance): Use a different path
5155 for Lucid popup menus.
5156
d8731202
SM
51572001-03-22 Stefan Monnier <monnier@cs.yale.edu>
5158
5159 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
5160
5161 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
5162 (string_buffer_position): Use `make_number'.
5163
f61a541b
GM
51642001-03-22 Gerd Moellmann <gerd@gnu.org>
5165
3c9e997b
GM
5166 * xfaces.c (x_update_menu_appearance): Renamed from
5167 x_set_menu_face_resources. Use different resources for popups.
5168
5169 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
5170 (GC_CHECK_STRING_BYTES): Don't define.
5171
364cd450
GM
5172 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
5173 Removed, together with subroutines.
5174 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 5175 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 5176
d8731202
SM
5177 * dispextern.h (x_set_menu_resources_from_menu_face):
5178 Remove prototype.
364cd450 5179
d8731202 5180 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
5181 Remove calls to x_set_menu_resources_from_menu_face.
5182
d8731202
SM
5183 * xfaces.c (xm_set_menu_resources_from_menu_face):
5184 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
5185
5186 * xmenu.c: Include widget.h.
5187 (single_submenu): Return int. Some cleanup.
5188 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5189
140330de
GM
51902001-03-21 Gerd Moellmann <gerd@gnu.org>
5191
5192 * xterm.c (x_update_window_end): Handle overwritten mouse face
5193 also for tool bar windows.
5194 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5195 DRAW is DRAW_IMAGE_RAISED.
5196
1741905c
GM
51972001-03-20 Gerd Moellmann <gerd@gnu.org>
5198
fa88947e
GM
5199 * print.c (syms_of_print): Doc fixes.
5200
1741905c
GM
5201 * fns.c (Fmd5): Doc fix.
5202
ade0bee1
GM
52032001-03-19 Gerd Moellmann <gerd@gnu.org>
5204
357e7376
GM
5205 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5206 Clear area of the frame not occupied by the scroll bar.
5207
c2c097cc
GM
5208 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5209 tip frame's root window buffer to *tip* right after creating
5210 the frame.
5211
ade0bee1
GM
5212 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5213 is an integer don't have to be for space characters.
5214
88c6e37e
GM
52152001-03-16 Gerd Moellmann <gerd@gnu.org>
5216
52283633
SM
5217 * indent.c (current_column, current_column_1, Fmove_to_column)
5218 (compute_motion): Handle characters from display vectors differently.
88c6e37e 5219
c62eed76
KH
52202001-03-15 Kenichi Handa <handa@etl.go.jp>
5221
5222 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5223 drawing glyph string.
5224
c899e7e6
GM
52252001-03-15 Gerd Moellmann <gerd@gnu.org>
5226
d0bbfc99
GM
5227 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5228 (command_loop_1): Undo last change.
5229
03d1a189
GM
5230 * xterm.c (fast_find_position): Return the correct vpos.
5231
c899e7e6 5232 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 5233 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
5234 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5235 Call store_symval_forwarding with BUF null.
5236 (set_internal): Call store_symval_forwarding with the BUF
5237 parameter passed to set_internal. Formerly, the value was always
5238 set in the current buffer; the buffer recorded in specbind for
5239 this case wasn't used.
5240 (arith_driver): Reindent.
5241
52283633
SM
5242 * buffer.c (swap_out_buffer_local_variables):
5243 Call store_symval_forwarding with BUF null.
c899e7e6
GM
5244
5245 * lisp.h (store_symval_forwarding): Change prototype.
5246
5247 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5248
57ac7c81
GM
52492001-03-14 Gerd Moellmann <gerd@gnu.org>
5250
697617d9
GM
5251 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5252 FOR_DELETION. Avoid resizing the mini-window of the selected
5253 frame if FOR_DELETION is set.
5254 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5255 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5256 signature.
5257
5258 * window.c (Fset_window_configuration): Change call to
5259 do_switch_frame to new format.
5260
5261 * keyboard.c (quit_throw_to_read_char): Change call to
5262 do_switch_frame to new format.
5263
5264 * lisp.h (do_switch_frame): Change prototype.
5265
819dce0f
GM
5266 * frame.c (Fframe_parameters): In the `buffer-list' frame
5267 parameter, store the buffer list of FRAME, not the list of the
5268 selected frame.
5269
57ac7c81
GM
5270 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5271 box just because the glyph row's full_width_p flag is set.
5272
65008712
GM
52732001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5274
5275 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5276 skip the padding blanks inserted in extend_face_to_end_of_line,
5277 before checking for trailing whitespace.
5278
159cf431
GM
52792001-03-13 Gerd Moellmann <gerd@gnu.org>
5280
52283633 5281 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
5282 Remove special handling for LessTif/Motif.
5283 (toplevel): Don't include Xm/Xm.h.
5284
52283633
SM
5285 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5286 Remove workaround code for LessTif; it doesn't work anymore.
5287
2564ea1b 5288 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 5289 Xm/ScrollBarP.h.
afcdc0a1 5290
52283633
SM
5291 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5292 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
5293 contemporary LessTif.
5294
52283633
SM
5295 * xfaces.c (xm_set_menu_resources_from_menu_face):
5296 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 5297
159cf431
GM
5298 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5299 removing button grabs.
5300
c6f7429a
KH
53012001-03-13 Kenichi Handa <handa@etl.go.jp>
5302
cb82d767
KH
5303 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5304 and clip-large-size-font as obsolete.
5305
c6f7429a
KH
5306 * lread.c (read_multibyte): Check the validity of multibyte
5307 sequence. If invalid, return the first byte.
5308
760cefb5
GM
53092001-03-12 Gerd Moellmann <gerd@gnu.org>
5310
5311 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5312 before running the command; timer functions or process
5313 filters may have set it.
5314
5141f9d0
EZ
53152001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5316
5317 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5318 Doc fix.
5319
b6a15240
GM
53202001-03-12 Gerd Moellmann <gerd@gnu.org>
5321
5322 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5323 to sprintf.
5324
95522746
GM
53252001-03-09 Gerd Moellmann <gerd@gnu.org>
5326
db14cfc5
GM
5327 * dispextern.h (string_buffer_position): Add prototype.
5328
52283633 5329 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
5330 (single_display_prop_string_p): New functions.
5331
5332 * xterm.c (note_mouse_highlight): If there's no help-echo on
5333 a string, look at the buffer text ``under'' it.
5334
5335 * keyboard.c (make_lispy_event): Add string info to the event,
5336 analogous to what's done on mode lines.
5337 (read_key_sequence): For a click on a string, consider `local-map'
5338 and `keymap' of that string.
5339
52283633
SM
5340 * keyboard.c (make_lispy_event, make_lispy_movement):
5341 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
5342
5343 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
5344
5345 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
5346 POS; return void.
5347
95522746
GM
5348 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
5349 flags argument to emacs_open; it seems to conflict with O_EXCL.
5350
898a399d
KH
53512001-03-09 Kenichi Handa <handa@etl.go.jp>
5352
28cd4910
KH
5353 * composite.h (struct composition): Change types of members;
5354 glyph_len to unsigned, width to unsigned short.
898a399d 5355
4cdf6a6c
AI
53562001-03-08 Andrew Innes <andrewi@gnu.org>
5357
5358 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
5359 menu titles.
5360
129004d3
GM
53612001-03-08 Gerd Moellmann <gerd@gnu.org>
5362
221dd3e7
GM
5363 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
5364 instead of nil.
5365
52283633 5366 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
5367 help-echo in strings.
5368 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
5369 (fast_find_string_pos): New function.
5370
52283633
SM
5371 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
5372 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
5373
5374 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
5375 Handle `mouse-face'.
5376
5377 * dispextern.h (face_at_string_position): Change prototype.
5378
52283633 5379 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 5380
129004d3
GM
5381 * keyboard.c (make_lispy_event): Avoid generating drag events
5382 if the mouse hasn't actually moved to another buffer position.
52283633 5383
80c8ab8c
DL
53842001-03-08 Dave Love <fx@gnu.org>
5385
129004d3 5386 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 5387
989521fd
GM
53882001-03-08 Gerd Moellmann <gerd@gnu.org>
5389
5390 * process.c (Fset_process_window_size): Fix a typo.
5391
bb5c338d
KH
53922001-03-08 Kenichi Handa <handa@etl.go.jp>
5393
5394 * coding.c (detect_coding_sjis): Do more rigid check.
5395 (detect_coding_big5): Likewise.
5396 (decode_coding_sjis_big5): Likewise.
5397 (Fdetect_coding_region): Call detect_coding_system with tailing
5398 anchor byte `\0' for more rigid detection.
52283633 5399 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
5400 (Fdetect_coding_string): Likewise.
5401
8b8f9197
SM
54022001-03-07 Stefan Monnier <monnier@cs.yale.edu>
5403
5404 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
5405 a string before extracting its data.
5406
3bdf2660
GM
54072001-03-07 Gerd Moellmann <gerd@gnu.org>
5408
5409 * window.c (Frecenter): Rewrite code handling negative values
5410 of ARG on graphical frames.
5411
54122001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
5413
5414 * window.c (displayed_window_lines): If W->start is outside the
5415 accessible portion of the buffer, call start_display with BEGV or
5416 ZV instead of W->start.
5417
471f86b9
GM
54182001-03-07 Gerd Moellmann <gerd@gnu.org>
5419
2ab62c6c
GM
5420 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
5421
471f86b9
GM
5422 * process.c (Fset_process_filter): Don't crash if the input
5423 file descriptor of PROCESS is closed.
5424 (Fset_process_window_size): Likewise.
5425
101922c3
GM
54262001-03-06 Kenichi Handa <handa@etl.go.jp>
5427
5428 * xterm.c (XTflash): Make the timeout of select shorter, and call
5429 select repeatedly until the desired time expires.
5430
45d051a7
GM
54312001-03-06 Gerd Moellmann <gerd@gnu.org>
5432
5433 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
5434
5435 * xfns.c (Fx_create_frame): Clear Vwindow_list.
5436
5437 * lisp.h (Vwindow_list): Declare extern.
5438
8f372c46
EZ
54392001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
5440
5441 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
5442
f16a7aa5
GM
54432001-03-06 Gerd Moellmann <gerd@gnu.org>
5444
157ae273
GM
5445 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
5446 to detect a case where we have to highlight a different region
5447 despite not having left the currently highlighted region.
5448 Set mouse_face_overlay in the x_display_info.
45d051a7 5449 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
5450
5451 * xterm.h (struct x_display_info): Add mouse_face_overlay.
5452
5453 * buffer.c (mouse_face_overlay_overlaps): New function.
5454
5455 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
5456 (Qmouse_face): Declare extern.
5457
f16a7aa5
GM
5458 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
5459 if face_change_count is non-zero.
5460
827afcac
KH
54612001-03-06 Kenichi Handa <handa@etl.go.jp>
5462
5463 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
5464 that the source is unibyte.
5465
14c7242e
DL
54662001-03-05 Dave Love <fx@gnu.org>
5467
827afcac 5468 * xterm.c (XTmouse_position): Fix typo.
14c7242e 5469
c28b847b
GM
54702001-03-05 Gerd Moellmann <gerd@gnu.org>
5471
5472 * minibuf.c (read_minibuf): Clean up the binding stack if
5473 called noninteractively.
5474
b86644f2
KH
54752001-03-05 Kenichi Handa <handa@etl.go.jp>
5476
5477 * coding.c (syms_of_coding): Docstring modified.
5478
203682cc 54792001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
5480
5481 * charset.c (char_to_string): If a single byte char has modifier
5482 bits that can't be reflected to the character code, ignore them
45d051a7 5483 instead of signaling an error.
b86644f2 5484
e30bd7b7
EZ
54852001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
5486
5487 * s/msdos.h: Update copyright notice.
5488
5489 * dosfns.h: Update copyright notice.
5490
5491 * dosfns.c: Update copyright notice.
5492
5493 * msdos.c: Update copyright notice.
5494
b52b65bd
GM
54952001-03-02 Gerd Moellmann <gerd@gnu.org>
5496
5497 * xterm.c (glyph_rect): New function.
5498 (XTmouse_position): Use it to raise the threshold for mouse
5499 movement event generation.
5500
53c4b1e6
EZ
55012001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
5502
5503 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
5504 specifies (reverse . t), reverse the initial screen colors.
5505 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
5506 but we are reversing the colors, set bg_set, not fg_set.
5507 Likewise for setting background-color and reversing: set fg_set.
5508 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
5509 in effect.
5510
5511 * xfaces.c (Finternal_set_lisp_face_attribute)
5512 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
5513 parameters alist.
5514
f964b4d7
GM
55152001-03-02 Gerd Moellmann <gerd@gnu.org>
5516
ef53d75e
GM
5517 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
5518 to a single slash in the middle of file names.
5519
52283633 5520 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
5521 Accept only alphanumeric time zone names.
5522
f964b4d7
GM
5523 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
5524 or width area.
5525 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
5526 a widget to zero height.
52283633 5527
c3c45f65
GM
55282001-03-01 Gerd Moellmann <gerd@gnu.org>
5529
5530 * window.c (Fwindow_end): Call move_it_past_eol only if
5531 ending up on a partially visible line.
5532
028d739a
DL
55332001-03-01 Dave Love <fx@gnu.org>
5534
5535 * ccl.c (Fccl_execute): Doc fix.
5536
57c5889c
GM
55372001-03-01 Gerd Moellmann <gerd@gnu.org>
5538
35f59f6b
GM
5539 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
5540 of the tool bar before calling x_figure_window_size.
5541
f84ff02c
GM
5542 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
5543 NULL after destroying it, otherwise XTread_socket can access a
5544 destroyed widget when input is unblocked.
5545
8b8f9197 5546 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 5547
57c5889c
GM
5548 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
5549 same name as before, although there was a change in fontsets.
5550
224227d1
KR
55512001-02-28 Ken Raeburn <raeburn@gnu.org>
5552
4560730a
KR
5553 * lisp.h (Fframe_parameter): Declare.
5554
224227d1 5555 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 5556 Lisp_Object.
224227d1 5557
ece93c02
GM
55582001-02-28 Gerd Moellmann <gerd@gnu.org>
5559
11ef99b9
GM
5560 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
5561 NULL instead.
5562
5563 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
5564 NULL instead.
5565
ece93c02
GM
5566 * alloc.c (toplevel): Include process.h.
5567 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
5568 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
5569 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
5570 (allocate_vector, allocate_hash_table, allocate_window)
5571 (allocate_frame, allocate_process, allocate_other_vector):
5572 New functions.
ece93c02
GM
5573 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
5574 (mark_maybe_pointer): New function.
52283633 5575 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
5576 remain and not Lisp_Objects.
5577 (min_heap_address, max_heap_address): New variables.
5578 (mem_find): Return MEM_NIL if START is below min_heap_address or
5579 above max_heap_address.
5580 (mem_insert): Compute min_heap_address and max_heap_address.
5581
5582 * process.c (make_process): Use allocate_process.
5583
5584 * frame.c (make_frame): Use allocate_frame.
5585
5586 * window.c (make_window, make_dummy_parent): Use allocate_window.
5587 (Fcurrent_window_configuration): Use allocate_other_vector.
5588
5589 * lisp.h (allocate_vectorlike): Remove prototype.
5590 (allocate_vector, allocate_other_vector, allocate_frame)
5591 (allocate_window, allocate_process, allocate_hash_table):
5592 Add prototypes.
5593
5594 * fns.c (Fdelete, larger_vector): Use allocate_vector.
5595 (make_hash_table, copy_hash_table): Use allocate_hash_table.
5596
063af457
KH
55972001-02-27 Kenichi Handa <handa@etl.go.jp>
5598
5599 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
5600 treat the produced bytes as a valid multibyte sequence.
5601
5602 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
5603 (ccl_driver) <CCL_WriteMultibyteChar2>:
5604 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
5605 <ccl_finish>: Set ccl->eight_bit_control properly.
5606
5607 * ccl.h (struct ccl_program): New member eight_bit_control.
5608
f58c6494
SM
56092001-02-26 Stefan Monnier <monnier@cs.yale.edu>
5610
5611 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
5612 accessible_keymaps_char_table.
5613 (accessible_keymaps_char_table): Obey `is_metized'.
5614 (where_is_internal, Fwhere_is_internal): Don't confuse int and
5615 Lisp_Object.
5616
c596c392
GM
56172001-02-26 Gerd Moellmann <gerd@gnu.org>
5618
5619 * dispnew.c: Check HAVE_TERM_H before including term.h.
5620
425de386
AI
56212001-02-24 Andrew Innes <andrewi@gnu.org>
5622
5623 * makefile.w32-in: Update copyright notice.
5624
2ba11bbd
SM
56252001-02-24 Stefan Monnier <monnier@cs.yale.edu>
5626
5627 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
5628
66c56ed1
KH
56292001-02-24 Kenichi Handa <handa@etl.go.jp>
5630
4c1593ce
KH
5631 * Makefile.in (lisp): Add international/utf-8.elc.
5632
66c56ed1
KH
5633 * fontset.c (Fnew_fontset): Fix handling of the case that an
5634 element of FONTLIST is a cons of family and registry.
5635
796ead7e
JR
56362001-02-23 Jason Rumney <jasonr@gnu.org>
5637
5638 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
5639 to height unconditionally.
5640
5641 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 5642 background face to the end of the drawing area in the text area, only.
796ead7e
JR
5643 (x_insert_glyphs): Call window_box_left to obtain the left
5644 x-coordinate of the area to shift.
5645
5646 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
5647 safe_run_hooks.
5648
f6839838
AI
56492001-02-22 Andrew Innes <andrewi@gnu.org>
5650
52283633 5651 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
5652 ($(BLD)\dispnew.obj):
5653 ($(BLD)\editfns.obj):
5654 ($(BLD)\fileio.obj):
5655 ($(BLD)\filelock.obj):
5656 ($(BLD)\keyboard.obj):
5657 ($(BLD)\w32proc.obj):
5658 ($(BLD)\process.obj):
5659 ($(BLD)\sysdep.obj): Ditto.
5660
5661 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
5662 header files.
52283633
SM
5663 ($(BLD)/dispnew.$(O)):
5664 ($(BLD)/editfns.$(O)):
5665 ($(BLD)/fileio.$(O)):
5666 ($(BLD)/filelock.$(O)):
5667 ($(BLD)/keyboard.$(O)):
5668 ($(BLD)/w32proc.$(O)):
5669 ($(BLD)/process.$(O)):
f6839838
AI
5670 ($(BLD)/sysdep.$(O)): Ditto.
5671
c224f70b
GM
56722001-02-22 Gerd Moellmann <gerd@gnu.org>
5673
51695746
GM
5674 * xdisp.c (forward_to_next_line_start): When taking the shortcut
5675 at the start of the function, check that the \n in it->c is
5676 from the iterator's current position.
52283633 5677
a61b7058
GM
5678 * xdisp.c (handle_single_display_prop): Add parameter
5679 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
5680 properties which replace the display of text with something else.
5681 (handle_display_prop): Call handle_single_display_prop with
5682 additional argument saying if we already replaced text display
5683 with something else. Use AREF.
52283633 5684 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
5685 (decode_mode_spec_coding): Use AREF and ASIZE.
5686
3473f362
GM
5687 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
5688 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
5689 * vmstime.h: Files removed.
52283633 5690
2bb58df3
GM
5691 * unexencap.c, unexfx2800.c: Files removed.
5692
c224f70b
GM
5693 * dispnew.c (direct_output_for_insert): Give up if we are showing
5694 a message or just cleared the message because we might need to
5695 resize the echo area window or display an empty echo area.
5696
ffc9ff0c
GM
56972001-02-21 Gerd Moellmann <gerd@gnu.org>
5698
0528abe1
GM
5699 * xdisp.c (redisplay_internal): Do the
5700 mark_window_display_accurate after all windows have been
5701 redisplayed because this call resets flags in buffers which are
5702 needed for proper redisplay.
5703
52283633
SM
5704 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5705 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
5706 the old names.
5707
52283633
SM
5708 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5709 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5710
5711 * msdos.h (struct x_output): Rename busy_window to
5712 hourglass_window, busy_p to hourglass_p.
5713
52283633
SM
5714 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5715 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5716
5717 * xfns.c: Rename everything containing *busy_cursor* and similar
5718 to *hourglass*.
5719 (syms_of_w32fns): Rename x-busy-pointer-shape to
5720 x-hourglass-pointer-shape, display-busy-cursor to
5721 display-hourglass, busy-cursor-delay to hourglass-delay.
5722
5723 * w32fns.c: Rename everything containing *busy_cursor* and similar
5724 to *hourglass*.
5725 (syms_of_w32fns): Rename x-busy-pointer-shape to
5726 x-hourglass-pointer-shape, display-busy-cursor to
5727 display-hourglass, busy-cursor-delay to hourglass-delay.
5728
5729 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5730 of its busy_p flag.
5731
5732 * dispextern.h (start_hourglass, cancel_hourglass)
5733 (display_hourglass_p): Renamed from *busy_cursor*.
5734
ab2c5f0a
GM
57352001-02-20 Gerd Moellmann <gerd@gnu.org>
5736
d17e49a8
GM
5737 * keyboard.c (read_char): When an event from unread-command-events
5738 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5739
fa97adf6
GM
5740 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5741 equal to the current buffer.
5742
ab2c5f0a
GM
5743 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5744 nil, otherwise we're left with truncate_lines t when a message
5745 is printed with message-truncate-lines bound to t.
5746
aeac019e
GM
57472001-02-19 Gerd Moellmann <gerd@gnu.org>
5748
c8bc6f65
GM
5749 * window.c (Fmove_to_window_line): Undo last change.
5750 (displayed_window_lines): Call line_bottom_y to determine
5751 the line's bottom position.
5752
5753 * dispextern.h (line_bottom_y): Add prototype.
5754
52283633 5755 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
5756 (pos_visible_p): Use it.
5757
980a2d69
GM
5758 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5759 set redisplaying_p to 0 here instead of in Frecursive_edit.
5760 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5761 set redisplaying_p.
5762
52283633 5763 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
5764 New variables.
5765 (syms_of_xdisp): Initialize new variables.
5766 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5767 Specbind `inhibit-menubar-update' when updating the menu bar.
5768
65048e97
GM
5769 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5770 safe_run_hooks.
5771
5772 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5773 safe_run_hooks.
5774
a57c4026
GM
5775 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5776 is null.
5777
aeac019e
GM
5778 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5779 to the start of the file.
5780
76846b31
GM
57812001-02-16 Gerd Moellmann <gerd@gnu.org>
5782
f3f053f3 5783 * window.c (set_window_buffer): Fix last change.
52283633 5784
f3f053f3
GM
5785 * window.c (set_window_buffer): Set window's vscroll to 0.
5786
dad75588
GM
5787 * window.c (coordinates_in_window): Increase width of area
5788 where the vertical line can be dragged.
5789
c220b753
GM
5790 * xterm.c (x_set_glyph_string_background_width): Extend the
5791 background face to the end of the drawing area in the text
5792 area, only.
5793
c56b1c1b
GM
5794 * xdisp.c (handle_single_display_prop): Set iterator's position
5795 to where the `display' property starts, like for images.
5796 (dump_glyph): New function.
5797 (dump_glyph_row): Use it. Dump info about marginal areas.
5798
5799 * dispnew.c (direct_output_for_insert): Recognize more cases where
5800 glyphs can be written instead of being inserted.
5801
5802 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5803 the left x-coordinate of the area to shift.
5804
76846b31
GM
5805 * dired.c (directory_files_internal): Set result list to nil
5806 before retrying.
5807
0fc71a77
KH
58082001-02-15 Kenichi Handa <handa@etl.go.jp>
5809
5810 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5811 invalid multibyte sequence, treat *SRC as a character of
5812 eight-bit-graphic.
5813
25078b54
EZ
58142001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5815
5816 * textprop.c (Fset_text_properties): Doc fix.
5817
8399f8a0
GM
58182001-02-15 Gerd Moellmann <gerd@gnu.org>
5819
5820 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5821
9a2a6f73
DL
58222001-02-14 Dave Love <fx@gnu.org>
5823
5824 * coding.c: Doc and message fixes.
5825
bf853fee
AI
58262001-02-14 Andrew Innes <andrewi@gnu.org>
5827
5828 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5829 Emacs frame above the screen size.
5830
78c663d8
GM
58312001-02-14 Gerd Moellmann <gerd@gnu.org>
5832
5833 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5834
7cc9f69f
GM
58352001-02-13 Gerd Moellmann <gerd@gnu.org>
5836
0a411995
GM
5837 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5838 case that TO ends up beyond ZV after running before-change-functions.
5839
5ddc1b75
GM
5840 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5841 the selected window if it is showing the buffer in question.
5842
7cc9f69f
GM
5843 * dired.c (directory_files_internal): Initialize errno.
5844 (toplevel): Include errno.h.
5845
2e6621ca
GM
58462001-02-13 Kenichi Handa <handa@etl.go.jp>
5847
5848 * xfaces.c (best_matching_font): New parameter width_ratio.
5849 Multiply avgwidth by width_ratio.
5850 (choose_face_font): Call best_matching_font with width_ratio
5851 calculated from the column width of C.
5852
60222d69
AI
58532001-02-12 Andrew Innes <andrewi@gnu.org>
5854
5855 The following changes are to draw box lines inside characters area
5856 if line-width is negative.
52283633 5857
60222d69
AI
5858 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5859 face->box_line_width is negative.
5860 (x_produce_stretch_glyph): Likewise.
5861 (x_produce_glyphs): Likewise.
5862 (x_estimate_mode_line_height): Likewise.
5863 (x_draw_glyph_string_background): Likewise.
5864 (x_draw_glyph_string_foreground): Likewise.
5865 (x_draw_composite_glyph_string_foreground): Likewise.
5866 (x_draw_glyph_string_box): Likewise.
5867 (x_draw_image_foreground): Likewise.
5868 (x_draw_image_relief): Likewise.
5869 (x_draw_image_foreground_1): Likewise.
5870 (x_draw_image_glyph_string): Likewise.
5871
9804b846
KH
58722001-02-09 Kenichi Handa <handa@etl.go.jp>
5873
5874 The following changes are to draw box lines inside characters area
5875 if line-width is negative.
52283633 5876
9804b846
KH
5877 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5878 face->box_line_width is negative.
5879 (x_produce_stretch_glyph): Likewise.
5880 (x_produce_glyphs): Likewise.
5881 (x_estimate_mode_line_height): Likewise.
5882 (x_draw_glyph_string_background): Likewise.
5883 (x_draw_glyph_string_foreground): Likewise.
5884 (x_draw_composite_glyph_string_foreground): Likewise.
5885 (x_draw_glyph_string_box): Likewise.
5886 (x_draw_image_foreground): Likewise.
5887 (x_draw_image_relief): Likewise.
5888 (x_draw_image_foreground_1): Likewise.
5889 (x_draw_image_glyph_string): Likewise.
5890
5891 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5892 and :line-width can be negative.
52283633 5893 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5894
49be9f70
JR
58952001-02-09 Jason Rumney <jasonr@gnu.org>
5896
5897 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5898 characters the same as ASCII and latin-1.
5899 (x_display_and_set_cursor): Check for the focus frame's selected
5900 window instead of selected_window.
5901 (x_after_update_window_line): Don't clear if frame's internal
5902 border width is zero.
5903 (x_new_font): Don't change a tooltip's size.
5904 (w32_initialize): Set char_ins_del_ok to 1.
5905
5906 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5907 (x_set_font): If font hasn't changed, avoid recomputing
5908 faces and other things.
52283633
SM
5909 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5910 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5911 (x_create_tip_frame): Prevent changing the tooltip's
5912 background color by specifying a color for the default font
5913 in .Xdefaults.
5914 (Qcancel_timer): New variable.
5915 (syms_of_w32fns): Initialize and staticpro it.
5916 (Fx_hide_tip, Fx_show_tip): Use it.
5917 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5918 the timer.
5919 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5920
5921 * w32.c (init_environment): Duplicate local string before putenv.
5922
555e35d2
SZ
59232001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5924
5925 * charset.c (Fstring): A typo.
5926
19c92c94
KH
59272001-02-09 Kenichi Handa <handa@etl.go.jp>
5928
e47a1c33
KH
5929 * charset.c (Fstring): If all arguments are less than 256, return
5930 a unibyte string.
5931
5932 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5933 return a unibyte string.
5934
19c92c94
KH
5935 * coding.c (code_convert_region): After detecting a coding, if
5936 nothing found, set coding->composing to COMPOSITION_NO.
5937 (decode_coding_string): Likewise.
5938
d8e675f5
SM
59392001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5940
5941 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5942 to avoid overflow.
5943
bd503487
KH
59442001-02-07 Kenichi Handa <handa@etl.go.jp>
5945
5946 * charset.c (parse_str_to_multibyte): New function.
5947
5948 * charset.h (parse_str_to_multibyte): Extern it.
5949
5950 * print.c (print_string): If we are going to print a unibyte
5951 string into a multibyte buffer, convert the string to multibyte by
5952 str_to_multibyte.
5953
a8370d72
AI
59542001-02-06 Andrew Innes <andrewi@gnu.org>
5955
5956 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5957 been created. It seems we can get sent window messages such as
5958 WM_ERASEBKGND before we properly update a frame.
5959
c363a1d6
GM
59602001-02-06 Gerd Moellmann <gerd@gnu.org>
5961
5962 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5963 Avoid some unnecessary cursor positioning.
5964
a08332c0
GM
59652001-02-05 Gerd Moellmann <gerd@gnu.org>
5966
52283633 5967 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5968 (LFACE_AVGWIDTH): New macro.
5969 (LFACEP): Use AREF.
5970 (check_lface_attrs): Check LFACE_AVGWIDTH.
5971 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5972 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5973 (merge_face_vectors): Check LFACE_AVGWIDTH.
5974 (Finternal_make_lisp_face): Use AREF.
5975 (xm_set_menu_resources_from_menu_face)
5976 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5977 (Finternal_lisp_face_empty_p): Use AREF.
5978 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5979 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5980 Compare average widths..
5981 (best_matching_font): Arrange for comparing average widths.
5982
52283633
SM
5983 * dispextern.h (enum lface_attribute_index):
5984 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5985
5cb3c8d4
DL
59862001-02-05 Dave Love <fx@gnu.org>
5987
5988 * puresize.h: Revert last change following loadup.el change.
5989
193fba87
AI
59902001-02-05 Andrew Innes <andrewi@gnu.org>
5991
5992 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5993 invocation of temacs, to work with Windows 2000.
5994 (bootstrap-emacs): Ditto.
5995
e16f52ce
GM
59962001-02-05 Gerd Moellmann <gerd@gnu.org>
5997
7a58ab59
GM
5998 * xterm.c (x_display_and_set_cursor): Check for the focus
5999 frame's selected window instead of selected_window.
6000
e89aaabd
GM
6001 * xdisp.c (try_scrolling): If point is in the line below the
6002 window, make sure to move the iterator at least a canonical
6003 char height down.
6004
52283633 6005 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 6006
789ce875
KH
60072001-02-05 Kenichi Handa <handa@etl.go.jp>
6008
52283633
SM
6009 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
6010 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
6011 (ccl_driver): If the CCL program is terminated because of
6012 CCL_STAT_INVALID_CMD, copy the remaining source data to the
6013 destination instead of throwing them away.
6014
20b28f82
GM
60152001-02-02 Gerd Moellmann <gerd@gnu.org>
6016
79fb38c0
GM
6017 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
6018 faces and other things.
6019
20b28f82
GM
6020 * xdisp.c (get_next_display_element): Fix case of empty
6021 display table entry.
6022
5a72551e
EZ
60232001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
6024
eb24d0bf
EZ
6025 * editfns.c (Fconstrain_to_field): Doc fix.
6026
6a3f48c7
EZ
6027 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
6028 into `thoroughly', to make it consistent with the doc string.
6029
5a72551e
EZ
6030 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
6031
01acdb05
GM
60322001-02-01 Gerd Moellmann <gerd@gnu.org>
6033
0353b28f
GM
6034 * search.c (search_buffer): Call set_search_regs with a byte
6035 position, not a character position.
6036
01acdb05
GM
6037 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
6038 minibuffer-only,
6039
e86b5133
EZ
60402001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
6041
6042 * frame.c (Fmodify_frame_parameters): Doc fix.
6043
7442878f
GM
60442001-01-31 Gerd Moellmann <gerd@gnu.org>
6045
01acdb05
GM
6046 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
6047 identifier which is not reserved by Standard C.
52283633 6048
7442878f
GM
6049 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
6050
6051 * window.c (enum window_part): New enumeration.
6052 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
6053 Qright_bitmap_area.
6054 (coordinates_in_window): Return an enumerator from enum
6055 window_part. Fix handling of right scroll bar.
6056 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
6057 `right-fringe' instead of `left-bitmap-area' and
6058 `right-bitmap-area'. Use enumerators from enum window_part
6059 instead of hard-coded integers.
52283633
SM
6060 (check_window_containing, window_from_coordinates):
6061 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
6062 (syms_of_window): Replace Qleft_bitmap_area and
6063 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
6064
7c132cba
EZ
60652001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
6066
6067 * editfns.c (Fformat_time_string): Doc fix.
6068
c359dd9e
SM
60692001-01-31 Stefan Monnier <monnier@cs.yale.edu>
6070
6071 * keymap.c (Fwhere_is_internal): Use the first valid binding
6072 if no ascii binding is found (when firstonly is t).
6073
ce070307
GM
60742001-01-31 Gerd Moellmann <gerd@gnu.org>
6075
b4f30ec5
GM
6076 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
6077 instead of Finteractive_p.
6078
6079 * lisp.h (interactive_p): Add prototype.
6080
6081 * eval.c (interactive_p): New function.
6082 (Finteractive_p): Use it.
6083
ce070307
GM
6084 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
6085
f57b6e64
DL
60862001-01-31 Dave Love <fx@gnu.org>
6087
d61c7afe
DL
6088 * .gdbinit (hook-run): Define to run xreload.
6089
f57b6e64
DL
6090 * textprop.c (Fset_text_properties): Fix newline in doc string.
6091
eef93f99
GM
60922001-01-30 Gerd Moellmann <gerd@gnu.org>
6093
52283633
SM
6094 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
6095 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
6096
6097 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 6098 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
6099 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
6100
6101 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
6102 height.
6103
d9c1f6f9
DL
61042001-01-30 Dave Love <fx@gnu.org>
6105
6106 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
6107 AFTER_POTENTIAL_GC.
6108
e8f044a0
GM
61092001-01-29 Gerd Moellmann <gerd@gnu.org>
6110
52283633
SM
6111 * bytecode.c (Fbyte_code) <Bcurrent_column>:
6112 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 6113
8e1db7b3
EZ
61142001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
6115
6116 * textprop.c (Fset_text_properties): Doc fix.
6117
4eefd9d2
GM
61182001-01-29 Gerd Moellmann <gerd@gnu.org>
6119
6120 * xdisp.c (forward_to_next_line_start): Remove xassert.
6121
fccb8288
EZ
61222001-01-29 Jason Rumney <jasonr@gnu.org>
6123
4eefd9d2 6124 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
6125 returning without releasing it.
6126
76581eab
KH
61272001-01-29 Kenichi Handa <handa@etl.go.jp>
6128
6129 * w32fns.c (w32_font_match): Allocate three more bytes to regex
6130 for '^', '$', and '\0'.
6131
83a96b4d
AC
61322001-01-28 Andrew Choi <akochoi@i-cable.com>
6133
5604ec34
AC
6134 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
6135 regex for '^', '$', and '\0'.
6136
83a96b4d
AC
6137 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
6138 only if current_sblock has been initialized.
6139
6140 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
6141 terminal frame even if it is the only visible frame.
6142
c09a6440
KH
61432001-01-28 Kenichi Handa <handa@etl.go.jp>
6144
6145 * fontset.c (font_family_registry): Even if FONTNAME conform to
6146 XLFD, if it specifies other fields than family and registry,
52283633 6147 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 6148 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
6149 a signle byte character. Don't set FAMILY part to nil here.
6150 It is handled by the caller choose_face_font.
c09a6440
KH
6151 (Fnew_fontset): Call font_family_registry with FORCE 0.
6152 (Fset_fontset_font): Likewise.
6153
4dcd74e6
GM
61542001-01-27 Gerd Moellmann <gerd@gnu.org>
6155
6156 * xdisp.c (display_line): Don't treat a newline as fitting
6157 on the line.
6158
d2906bf8
GM
61592001-01-26 Gerd Moellmann <gerd@gnu.org>
6160
0130fe1a
GM
6161 * window.c (size_window): Set the window's orig_top to nil when
6162 changing heights, so that a future shrink_mini_window won't
6163 restore a bogus height.
6164
550f0e6a
GM
6165 * frame.c (do_switch_frame): If selected frame has a mini-window,
6166 resize that to exact size.
6167
b7b20fbd
GM
6168 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
6169
a47b7816
GM
6170 * xdisp.c (display_line): Simplify check for glyphs fitting
6171 entirely in the line.
6172
d2906bf8
GM
6173 * xfns.c (xic_style): New variable.
6174 (create_frame_xic): Move static variable to global scope for
550f0e6a 6175 the case that `static' gets defined away.
d2906bf8 6176
73df2b1e
KH
61772001-01-26 Kenichi Handa <handa@etl.go.jp>
6178
6179 * coding.c (decode_coding): Set a flag for inhibiting
6180 inconsistent eol.
6181 (code_convert_region): Always set saved_coding_symbol.
6182 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 6183 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 6184
6613cfc4
GM
61852001-01-25 Gerd Moellmann <gerd@gnu.org>
6186
c5e6e06b
GM
6187 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6188 XClearArea.
6189
6190 * xterm.c (x_after_update_window_line): Don't clear if frame's
6191 internal border width is zero.
6192 (x_clear_area): New function.
6193 (x_after_update_window_line, x_clear_end_of_line)
6194 (x_scroll_bar_create, x_scroll_bar_set_handle)
6195 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6196 instead of XClearArea.
6197
6198 * xterm.h (x_clear_area): Add prototype.
6199
6613cfc4
GM
6200 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6201 which doesn't seem necessary anymore with Lesstif 0.92.
6202
650cc6cc
DL
62032001-01-25 Dave Love <fx@gnu.org>
6204
34ac3367
DL
6205 * puresize.h (BASE_PURESIZE): Up to 720000.
6206
650cc6cc
DL
6207 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6208
5e37dc22
GM
62092001-01-25 Gerd Moellmann <gerd@gnu.org>
6210
e1e441f9
GM
6211 * xdisp.c (echo_area_display): Don't call redisplay_internal
6212 when Emacs is shutting down. We can't run hooks etc. that
6213 would be necessary to do a redisplay.
6214
5e37dc22
GM
6215 * lread.c (read_integer): Use type EMACS_INT instead of int.
6216
0fb94c7f
EZ
62172001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6218
6219 * ccl.c (ccl_driver): Fix last change.
6220
e3778624
KH
62212001-01-25 Kenichi Handa <handa@etl.go.jp>
6222
6223 * ccl.h (sturct ccl_program): New member suppress_error.
6224
bb264518 6225 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
6226 insert error message to the output.
6227 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6228
6229 * coding.h (struct coding_system): New member suppress_error.
6230
6231 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6232 (Fset_terminal_coding_system_internal): Set the member
6233 suppress_error to 1.
6234 (Fset_safe_terminal_coding_system_internal): Likewise.
6235
245ed2b1
SM
62362001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6237
6238 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6239 as if it was a `charset'.
6240
f9aaedb6
GM
62412001-01-24 Gerd Moellmann <gerd@gnu.org>
6242
6243 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6244 value in where_is_cache; the next lookup in the cache returns
6245 something bogus if we do.
6246
c3902c3e
EZ
62472001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6248
6249 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6250 if HAVE_WINDOW_SYSTEM isn't defined.
6251
3497f73e
GM
62522001-01-24 Gerd Moellmann <gerd@gnu.org>
6253
e7e41584
GM
6254 * fns.c (sweep_weak_table): Fix code taking items out of
6255 the hash collision chain. Some cleanup.
6256
3497f73e
GM
6257 * xterm.c (x_new_font): Don't change a tooltip's size.
6258
6259 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6260 background color by specifying a color for the default font
6261 in .Xdefaults.
6262
3d48e687
KH
62632001-01-24 Kenichi Handa <handa@etl.go.jp>
6264
96531b20
KH
6265 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6266 a workaround for SunOS 4's cc.
6267 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6268 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6269 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6270 statement.
3d48e687 6271
a30629d2
GM
62722001-01-23 Gerd Moellmann <gerd@gnu.org>
6273
6274 * xterm.c (x_set_window_size_1): New function extracted from
6275 x_set_window_size.
6276 (x_set_window_size): Use it.
6277 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6278 doesn't have a widget, like tooltips.
6279
5a43decf
EZ
62802001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6281
52283633 6282 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 6283
b0e98867
KH
62842001-01-23 Kenichi Handa <handa@etl.go.jp>
6285
6286 * fns.c (Fset_char_table_default): Fix to make sub char-table
6287 correctly.
6288
50606b4c
GM
62892001-01-22 Gerd Moellmann <gerd@gnu.org>
6290
cb2ddc53 6291 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
6292 a desired tool bar string, even if there are no tool bar items.
6293
57c28064
GM
6294 * xdisp.c (Ftool_bar_lines_needed): New function.
6295 (syms_of_xdisp): Defsubr it.
6296
50606b4c
GM
6297 * editfns.c (Fformat): Don't extend text properties from arguments
6298 to padding chars in the result.
6299
2f169c38
EZ
63002001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6301
6302 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6303
0f32f023
AI
63042001-01-20 Andrew Innes <andrewi@gnu.org>
6305
52283633 6306 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
6307 (w32_initialize): Don't set term hooks that aren't actually needed
6308 in windowed mode.
6309
6310 * xfaces.c (realize_default_face):
6311 (realize_face):
6312 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6313
6314 * xdisp.c (handle_single_display_prop): Remove references to
6315 FRAME_W32_CONSOLE_P.
6316
52283633 6317 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
6318
6319 * frame.h (output_method): Remove output_w32_console method.
6320 (FRAME_W32_CONSOLE_P): Remove macro.
6321
6322 * frame.c (Qw32_console): Remove variable.
6323 (Fframep): Remove references to it.
6324 (syms_of_frame): Ditto.
6325 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6326
6327 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6328 redefinition.
6329
7173eada
KH
63302001-01-20 Kenichi Handa <handa@etl.go.jp>
6331
6332 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6333
755b45ce
AI
63342001-01-19 Andrew Innes <andrewi@gnu.org>
6335
6336 * w32.c (init_environment): Add a version-independent site-lisp
6337 directory to EMACSLOADPATH, after the version dependent one.
6338
0a949811
GM
63392001-01-19 Gerd Moellmann <gerd@gnu.org>
6340
8501998a
GM
6341 * editfns.c (Fbuffer_substring): Doc fix.
6342
52283633
SM
6343 * xdisp.c (message_dolog, message2, message2_nolog):
6344 Rename parameter LEN to NBYTES.
0a949811 6345
e6ebcbbe
KH
63462001-01-19 Kenichi Handa <handa@etl.go.jp>
6347
200ecca2
KH
6348 * charset.c (strwidth): Use c_string_width.
6349 (c_string_width): New function.
6350 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
6351 Caller changed.
6352
6353 * charset.h (c_string_width, lisp_string_width): Extern them.
6354
52283633 6355 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 6356
e6ebcbbe
KH
6357 * indent.c (check_composition): Check validity of composition.
6358
200ecca2
KH
6359 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
6360 characters by calling c_string_width.
6361 (x_consider_frame_title): Get byte length of frame tile string
6362 correctly.
6363 (display_mode_element): Pay attention to width of non-ASCII
6364 characters by calling strwidth.
6365
8692ca92
GM
63662001-01-18 Gerd Moellmann <gerd@gnu.org>
6367
8962e303
GM
6368 * xfns.c (Qcancel_timer): New variable.
6369 (syms_of_xfns): Initialize and staticpro it.
6370 (Fx_hide_tip, Fx_show_tip): Use it.
6371 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6372 the timer.
6373 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
6374
91523be9
GM
6375 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
6376
6377 * window.h (WINDOW_LIVE_P): New macro.
6378
b0b7ed0e
GM
6379 * window.c (window_size_fixed): New variable.
6380 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
6381 the doc string.
6382
06bccf8e
GM
6383 * eval.c (specbind): If binding a per-buffer variable which
6384 doesn't have a buffer-local value in the current buffer, change
6385 the global value by changing the value of the symbol bound in all
6386 buffers not having their own value, to make it consistent with
6387 what happens with other buffer-local variables.
6388
8692ca92
GM
6389 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
6390
6391 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
6392 when searching for a newline.
6393
bb3a3b50
KH
63942001-01-18 Kenichi Handa <handa@etl.go.jp>
6395
6396 * xdisp.c (display_string): Fix previous change.
6397
c2cc16fa
JR
63982001-01-18 Jason Rumney <jasonr@gnu.org>
6399
6400 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
6401 GLYPH_DEBUG is defined.
6402 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
6403 true for images with `:ascent 100'.
6404 (x_set_mouse_face_gc): If the last used mouse face has gone in the
6405 meantime, use face MOUSE_FACE_ID.
6406 If first glyph isn't a character glyph, use the ASCII NUL
6407 character to determine the face.
6408 (expose_area): Do not treat left margin specially.
6409 (note_mode_line_highlight): If no local_map, check global keymap.
6410 (note_mouse_highlight): Initialize overlay.
52283633 6411 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
6412 (show_scroll_bars): Remove unused function.
6413 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
6414 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
6415 Clip to row.
52283633 6416 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
6417 (x_free_frame_resources): Unload relief colors.
6418
9c11f79e
GM
64192001-01-17 Gerd Moellmann <gerd@gnu.org>
6420
3aec8722 6421 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
6422 get_next_display_element when the newline is already found.
6423 This may change the iterator's position, when its current position is
3aec8722
GM
6424 equal to the iterator's stop_charpos.
6425
f3ffc2c3
GM
6426 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
6427 zero, use this method only at the end of a line.
6428
52283633 6429 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
6430 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
6431 if SCALABLE_FONTS_P is set.
52283633 6432
d26d6fd9
GM
6433 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
6434 so that scalable fonts are included.
6435
9c11f79e
GM
6436 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
6437 In the cache, use a key containing the information if scalable
6438 fonts are included.
6439 (x_load_font): Adapt to change of keys in the font cache.
6440
64412001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 6442
d26d6fd9
GM
6443 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
6444 XListFonts to take advantage of font caching.
6445
9c11f79e
GM
6446 * xterm.c (x_list_fonts): Ensure caching font information when
6447 called for a null frame, which is the case frequently when Emacs
6448 starts.
6449
51446987
GM
64502001-01-17 Gerd Moellmann <gerd@gnu.org>
6451
f864120f
GM
6452 * xfns.c (QCconversion): Replaces QCalgorithm.
6453
6454 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
6455
6456 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
6457 of :algorithm.
52283633 6458
e37d1417
GM
6459 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
6460 not everything could be displayed.
6461
51446987
GM
6462 * line.h, x-list-font.c: Files removed because unused.
6463
9ad4f3e5
AI
64642001-01-17 Andrew Innes <andrewi@gnu.org>
6465
6466 * dired.c (directory_files_internal): Convert result from readdir
6467 to a unibyte string initially, to avoid possible misinterpretation
6468 of some bytes as the internal form of Emacs characters.
6469
2eda09b5
KH
64702001-01-17 Kenichi Handa <handa@etl.go.jp>
6471
6472 * fns.c (concat): Be sure to avoid putting the same `composition'
6473 property on the adjacent regions.
6474
826f3788
GM
64752001-01-16 Gerd Moellmann <gerd@gnu.org>
6476
52283633 6477 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
6478 (Fscroll_right, Fscroll_left): Set it here instead, if called
6479 interactively.
6480
d57b83b3
GM
6481 * buffer.c (Fset_buffer_modified_p): Set buffer's
6482 prevent_redisplay_optimizations_p flag.
6483
826f3788 6484 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
6485 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
6486 with additional arg.
6487
6488 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
6489 Change prototype.
826f3788 6490
826f3788
GM
6491 * xdisp.c (redisplay_preserve_echo_area): Add parameter
6492 FROM_WHERE, for debugging.
6493
261d788b
KH
64942001-01-16 Kenichi Handa <handa@etl.go.jp>
6495
6496 * ccl.c (Fregister_ccl_program): Handle the return value of
6497 resolve_symbol_ccl_program correctly.
52283633 6498 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 6499
bccee4f2
GM
65002001-01-15 Gerd Moellmann <gerd@gnu.org>
6501
e4ded23c
GM
6502 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
6503 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
6504
6505 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
6506 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
6507 the display; we didn't open it.
6508
bccee4f2
GM
6509 * dispnew.c (save_or_restore_current_matrices): Function removed.
6510 (save_current_matrix, restore_current_matrix): New functions.
6511 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
6512 restore the frame's current matrix. Due to the glyph pointer
6513 setup done in adjust_glyph_matrix, there is no easy way to make
6514 saving the current matrix in the desired matrix generally correct,
6515 so don't try it.
6516
ebeccffa
KH
65172001-01-15 Kenichi Handa <handa@etl.go.jp>
6518
6519 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
6520 truncation glyphs.
6521 (display_line): Optimize for wide characters.
e4ded23c 6522 (display_string): Don't try to display a multi-column character
ebeccffa
KH
6523 partially. On ttys, produce more than one truncation glyph for
6524 multi-column characters that don't fit on the line.
6525
64388126
KH
65262001-01-13 Kenichi Handa <handa@etl.go.jp>
6527
52283633
SM
6528 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
6529 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 6530
8edb0a6f
JR
65312001-01-13 Jason Rumney <jasonr@gnu.org>
6532
6533 * w32fns.c (Fimage_size, image_ascent, lookup_image)
6534 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
6535 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6536 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 6537
52283633
SM
6538 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
6539 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
6540 (x_draw_image_glyph_string): Adapt to change of image margins.
6541
6542 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
6543 variables.
6544
6545 * w32bdf.c (search_file_line, get_cached_font_char)
6546 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
6547
6548 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
6549
6550 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
6551 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
6552 (Fw32_send_sys_command): Remove unused variables.
6553 (w32_msg_pump): Add parentheses.
6554
6555 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
6556 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
6557 Add parentheses.
6558
4956d1ef
GM
65592001-01-12 Gerd Moellmann <gerd@gnu.org>
6560
b30623be
GM
6561 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
6562 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
6563 being a pair of margins.
6564 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
6565 to DEFVAR_LISP. Extend doc.
6566
6567 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
6568 margins.
6569 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
6570 pair of integers `(X . Y)', use X for the horizontal and Y for the
6571 vertical margin.
6572 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
6573 (parse_image_spec): Check it.
52283633
SM
6574 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6575 (tiff_format, gif_format, gs_format):
6576 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 6577
52283633
SM
6578 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6579 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
6580 (x_draw_image_glyph_string): Adapt to the change of image margins.
6581
6582 * dispextern.h (struct image): Replace member `margin' with
6583 `hmargin' and `vmargin'.
6584
4554cc79
GM
6585 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
6586 and GLYPHS.
6587
6588 * dispnew.c (update_text_area): Put code which decrements the
6589 stop position when the row's face extends to the end of the
3bffc665 6590 line in #if 0.
4554cc79 6591
3cccce8d
GM
6592 * xfns.c (x_set_mouse_color): Fix color allocation.
6593
4956d1ef
GM
6594 * keyboard.c: Call get_local_map with new argument list.
6595
6596 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
6597
6598 * intervals.h (enum map_property): Removed.
6599 (get_local_map): Change prototype.
6600
6601 * keymap.c: Call get_local_map with new argument list.
6602 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
6603
2c2ff7f2
GM
66042001-01-11 Gerd Moellmann <gerd@gnu.org>
6605
a23887b9
GM
6606 * xdisp.c (build_desired_tool_bar_string): Correct the computation
6607 of the size needed for the tool bar string. For the last image,
6608 use a `display' property that reaches to the end of the string.
6609
a7ee2d2e
GM
6610 * xselect.c (selection_request_dpyinfo): New variable.
6611 (x_handle_selection_request): Set it.
6612 (x_selection_request_lisp_error): Don't call
6613 x_decline_selection_request if selection request's display has
6614 been closed.
6615
52283633
SM
6616 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
6617 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 6618
457b792c
GM
66192001-01-10 Dave Love <fx@gnu.org>
6620
6621 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
6622 ${SOME_MACHINE_LISP}, not ${lisp}.
6623
c1efd260
GM
66242001-01-10 Gerd Moellmann <gerd@gnu.org>
6625
52283633
SM
6626 * xdisp.c (display_line): On ttys, produce more than one truncation
6627 glyph for multi-column characters that don't fit on the line.
a98b5ed9 6628
ac95a621
GM
6629 * xselect.c (x_reply_selection_request): Add a comment.
6630
c1efd260
GM
6631 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
6632 XkbGetNames instead of XkbGetKeyboard.
6633
1bfb1345
DL
66342001-01-10 Dave Love <fx@gnu.org>
6635
6636 * sysdep.c (random): Revert the declaration.
6637
38119822
GM
66382001-01-09 Gerd Moellmann <gerd@gnu.org>
6639
52283633
SM
6640 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
6641 Call function string_bytes.
35f464a7
GM
6642 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
6643
6644 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
6645 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
6646 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
6647 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
6648 the current sblock.
6649 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
6650 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
6651 after sweeping strings, and at the end.
6652 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
6653
38119822
GM
6654 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
6655 ensure that pop_message is called.
6656
6657 * keyboard.c (Fexecute_extended_command): Use a
6658 record_unwind_protect to ensure that pop_message is called.
6659
6660 * lisp.h (push_message_unwind): Add prototype.
6661
6662 * xdisp.c (push_message_unwind): New function.
6663
6664 * fileio.c (do_auto_save_unwind): Do the pop_message here
6665 instead of in Fdo_auto_save.
6666 (Fdo_auto_save): Don't call pop_message.
6667
f47a9ec4
KR
66682001-01-08 Ken Raeburn <raeburn@gnu.org>
6669
6670 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
6671 in inner block.
6672
a758f97d
GM
66732001-01-08 Gerd Moellmann <gerd@gnu.org>
6674
6d0afc03
GM
6675 * window.c (window_scroll_pixel_based): Adjust glyph matrices
6676 when increasing window's vscroll.
6677
a758f97d
GM
6678 * macros.c (Qkbd_macro_termination_hook): New variable.
6679 (syms_of_macros): Initialize and staticpro it.
6680 (pop_kbd_macro): Run kbd-macro-termination-hook.
6681
6682 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
6683
1bfb1345 66842001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
6685
6686 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
6687 arglist, for documentation's sake.
6688
0dac6924
AI
66892001-01-06 Andrew Innes <andrewi@gnu.org>
6690
6691 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
6692 of *.pdb.
6693
8182406a
AI
66942001-01-05 Andrew Innes <andrewi@gnu.org>
6695
6696 * term.c (update_end): Don't check updating_frame; for some reason
6697 this can be 0 sometimes, such as after dismissing a popup menu,
6698 and isn't necessary given the explicit frame argument.
6699
3828218c
GM
67002001-01-05 Gerd Moellmann <gerd@gnu.org>
6701
6702 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6703 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6704
2f5ded21
GM
67052001-01-04 Gerd Moellmann <gerd@gnu.org>
6706
52283633 6707 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
6708
6709 * xfns.c (x_create_tip_frame): Preserve the value of
6710 face_change_count around the creation of the tip frame.
52283633 6711
2f5ded21
GM
6712 * xfns.c (last_show_tip_args): New variable.
6713 (compute_tip_xy): New function.
6714 (Fx_show_tip): Reuse an existing tip frame, if possible.
6715 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6716
dfad65fa
DL
67172001-01-04 Dave Love <fx@gnu.org>
6718
64d4ec0f
DL
6719 * editfns.c (Fformat): Doc fix.
6720
dfad65fa
DL
6721 * systime.h (set_file_times): Prototype.
6722
6723 * widget.h (EmacsFrameSetCharSize_): Prototype.
6724
6725 * sysdep.c (random, srandom): Declare explicitly.
6726
6727 * dispextern.h (move_it_vertically_backward): Declare.
6728
85fe3b5e
GM
67292001-01-04 Gerd Moellmann <gerd@gnu.org>
6730
0f2ac578
GM
6731 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6732 like in Fx_create_frame.
6733
482cca61
GM
6734 * xfaces.c (set_font_frame_param): Don't do anything for
6735 non-graphical frames.
6736
85fe3b5e
GM
6737 * window.c (Fdelete_other_windows): Set window's window_end_valid
6738 to nil when changing the window's start. Don't change the
6739 window's start when its top position hasn't changed. If we do,
6740 this will set the window's optional_new_start, which act's like a
6741 force_start during redisplay with C-x 1 M-> under particular
6742 circumstances (see report from Per Starback to emacs-pretest-bug
6743 from 2000-12-13.).
6744
3e99d3b4
GM
67452001-01-03 Gerd Moellmann <gerd@gnu.org>
6746
a77dc1ec
GM
6747 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6748 short cut at the start of the function. Add an assertion.
6749 (reseat_at_next_visible_line_start): Add an assertion.
6750
2f3cad6c
GM
6751 * window.c (Frecenter): When changing the window start, set the
6752 window's window_end_valid to nil.
6753 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6754
6755 * dispextern.h (move_it_past_eol): Add prototype.
6756
6757 * xdisp.c (move_it_past_eol): New function.
6758
3e99d3b4
GM
6759 * window.c (Fwindow_end): Doc fix.
6760
67612001-01-03 Dave Love <fx@gnu.org>
6762
52283633 6763 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 6764
bafb434c
GM
67652001-01-03 Gerd Moellmann <gerd@gnu.org>
6766
6767 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6768 the enabled_p flag of the glyph row at window_end_vpos to 0.
6769 (handle_single_display_prop): Fix last change.
6770
5297fb00
RS
67712001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6772
6773 * window.c (Frecenter): Doc fix.
6774
13d6a61c
AI
67752001-01-02 Andrew Innes <andrewi@gnu.org>
6776
6777 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6778
6779 * frame.h (output_method): Add output_w32_console method.
6780 (FRAME_W32_CONSOLE_P): New macro.
6781
6782 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6783 use output_w32_console method.
6784 (Qw32_console): New Lisp_Object.
6785 (Fframep): Return it.
6786 (syms_of_frame): Init it.
52283633 6787 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6788
6789 * xfaces.c (realize_default_face): Set face foreground and
6790 background to unspecified for w32_console frames.
6791 (realize_face): Realize face cache for w32_console frames.
6792 (realize_tty_face): Accept w32_console frames.
6793
52283633 6794 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6795 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6796 necessary, even if running interactively.
6797
6798 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6799 w32_console frames.
6800
52283633
SM
6801 * w32term.c (x_update_begin):
6802 (x_update_end):
6803 (x_clear_frame):
6804 (x_ins_del_lines):
6805 (x_change_line_highlight):
6806 (x_delete_glyphs):
6807 (w32_ring_bell):
6808 (x_update_begin):
6809 (x_update_end):
6810 (w32_reassert_line_highlight):
6811 (w32_frame_rehighlight):
13d6a61c
AI
6812 (w32_frame_raise_lower): Do nothing if not w32 frame.
6813
6814 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6815
6816 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6817 system doesn't tell us directly.
6818 (Fx_display_visual_class): Implement properly.
6819
d6bb0c0d
GM
68202001-01-02 Gerd Moellmann <gerd@gnu.org>
6821
6822 * window.c (Frecenter): Handle centering in graphical frames
6823 specially. Centering on the basis of line counts doesn't work
6824 reliably with variable-height lines.
52283633 6825
315f5865
EZ
68262001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6827
6828 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6829 and al[].
6830
52283633 6831 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6832 (update_compositions): Remove unused variable `hook'.
6833
6834 * intervals.c (get_local_map): Remove unused variable `tem'.
6835
6836 * doprnt.c (doprnt1): Remove unused variable `size'.
6837
6838 * fns.c (Flength): Remove unused variable `tail'.
6839 (Fdelete): Remove unused variable `size'.
6840
6841 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6842 and `gcpro2'.
6843
52283633 6844 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6845
6846 * data.c (find_symbol_value): Remove extra 3rd argument in the
6847 call to swap_in_symval_forwarding.
6848
52283633 6849 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6850
6851 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6852 (trivial_regexp_p): Remove unused variable `c'.
6853 (boyer_moore): Remove unused variable `k'.
6854
6855 * indent.c (current_column): Remove unused variable `stopchar'.
6856 (Fcompute_motion): Remove unused variable `contin'.
6857
6858 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6859
6860 * dired.c (directory_files_internal): Fix a typo in a comment.
6861 Remove an unused variable `handler'.
52283633 6862 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6863 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6864 on BSD4_2.
6865
52283633 6866 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6867
6868 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6869 and `buf'.
6870 (Fmarker_insertion_type): Remove unused variable `buf'.
6871
6872 * insdel.c (make_gap): Remove unused variable `result'.
6873
52283633 6874 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6875 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6876 (menu_bar_items): Remove unused function-scope variable `tem'.
6877
6878 * fontset.c (fontset_ref): Remove unused variable `i'.
6879 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6880 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6881 (make_fontset_for_ascii_face): Remove unused variable `name'.
6882 (fs_load_font): Remove unused variable `font_idx'.
52283633 6883 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6884 (list_fontsets): Remove unused variable `tail'.
6885 (Fnew_fontset): Remove unused variables `family' and `registry'.
6886 (accumulate_font_info): Remove unused variable `tmp'.
6887 (Ffontset_font): Remove unused variable `id'.
6888 (syms_of_fontset): Remove unused variable `i'.
6889
6890 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6891 to x_term_init.
6892 (lookup_image): Remove unused variable `file'.
6893 (xbm_load): Remove unused variables `bitmap_data', `height', and
6894 `width'. Remove function-local variable `i', leave the
6895 block-local one.
6896 (gif_load): Remove unused variable `inc'.
6897
52283633 6898 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6899 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6900 leave only the one in the inner block.
6901
6902 * xfaces.c (face_fontset, realize_default_face): Remove unused
6903 variable `fontset'.
6904 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6905
6906 * term.c (encode_terminal_code): Remove unused variable `c'.
6907
6908 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6909 char *' instead of `char *'.
6910
6911 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6912 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6913 (Fchar_category_set): Remove unused variables `val', `charset',
6914 `c1' and `c2'.
6915
52283633
SM
6916 * coding.c (detect_coding_iso2022, setup_coding_system):
6917 Remove unused variable `i'.
315f5865
EZ
6918 (detect_coding_mask): Remove unused variable `idx'.
6919 (detect_coding): Remove unused variable `i'.
6920 (ccl_coding_driver): Remove unused variable `result'.
6921 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6922 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6923 (encode_coding_string): Remove unused variables `gcpro1' and
6924 `saved_coding_symbol'.
6925 (Ffind_coding_systems_region_internal): Remove function-local
6926 variable args[], leave only the block-local one.
6927 (code_convert_region1): Remove unused variable `len'.
6928
6929 * charset.c (char_printable_p): Remove unused variable `chars'.
6930 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6931 (str_to_multibyte): Remove unused variable `c'.
6932
6933 * window.c (size_window): Remove block-local variable `min_size'.
6934
6935 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6936 `header_line_height'.
6937 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6938 enum display_element_type.
6939
1a8a9daf
GM
69402001-01-02 Gerd Moellmann <gerd@gnu.org>
6941
6dde6abc 6942 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6943 statements that call X. Save away the error message in a local copy.
6944
1883b2c6
GM
6945 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6946 the start.
6947
a13be207
GM
6948 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6949 in or at the start of invisible text.
6950
1a8a9daf
GM
6951 * dispnew.c (update_window): Don't check_current_matrix_flags.
6952
3608c0f9
JR
69532001-01-01 Jason Rumney <jasonr@gnu.org>
6954
6955 * w32fns.c (x_figure_window_size): Do not allow new_height and
6956 new_width of frame to override specified values.
6957
abb1acc4
KH
69582000-12-30 Kenichi Handa <handa@etl.go.jp>
6959
52283633 6960 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6961
762a68ec
GM
69622000-12-29 Gerd Moellmann <gerd@gnu.org>
6963
52283633 6964 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6965 (update_window) [GLYPH_DEBUG]: Call it.
6966 (scrolling_window): Prevent including current rows which are below
6967 what's displayed in the window.
6968
6969 * xdisp.c (try_window_reusing_current_matrix)
6970 <new start <= old start>: Disable rows in the current matrix
6971 which are below the window after scrolling.
52283633 6972
762a68ec
GM
6973 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6974 is zero. It's not worth the complexity.
6975 (invisible_text_between_p): Put in #if 0 because unused.
6976
2d5912c1
GM
69772000-12-28 Gerd Moellmann <gerd@gnu.org>
6978
46f6a258
GM
6979 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6980 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6981
89f93679
GM
6982 * keyboard.c (echo_char): If C is an integer, always call
6983 push_key_description. Former code could signal an invalid
6984 character error.
6985
6986 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6987 If set, print multibyte text.
6988 (Fsingle_key_description): Call push_key_description with
6989 FORCE_MULTIBYTE set.
6990 (describe_buffer_bindings): Likewise.
6991
6992 * lisp.h (push_key_description): Add prototype.
6993
c06017fb
GM
6994 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6995 around the call to redisplay_internal.
6996
f1d2ce7f
GM
6997 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6998
2d5912c1
GM
6999 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7000
9371f831
KH
70012000-12-28 Kenichi Handa <handa@etl.go.jp>
7002
7003 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
7004 (ccl_driver): New local variable `extra_bytes'.
7005
7006 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
7007
52283633
SM
7008 * coding.c (setup_coding_system):
7009 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
7010 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
7011
0c80628a
KH
70122000-12-28 Kenichi Handa <handa@etl.go.jp>
7013
7014 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
7015 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
7016 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
7017 (decode_composition_emacs_mule): New function.
7018 (decode_coding_emacs_mule): Decode composition sequence by calling
7019 decode_composition_emacs_mule.
7020 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
7021 (encode_coding_emacs_mule): Changed from macro to function.
7022 If a text contains compositions, encode them correctly.
0c80628a
KH
7023 (setup_coding_system): Set coding->commong_flags for emacs-mule so
7024 that decoding and encoding are required.
7025
3e32cc27
GM
70262000-12-27 Gerd Moellmann <gerd@gnu.org>
7027
5e25feee
GM
7028 * xfaces.c (PT_PER_INCH): New macro.
7029 (xlfd_point_size): Compute real point size from font's pixel size.
7030 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
7031 instead of 72.
7032
892d8fcd
GM
7033 * .gdbinit: Comment out the line pointing to the Lesstif source
7034 directory.
7035
12c8b416
GM
7036 * window.c (Frecenter): Use displayed_window_lines instead
7037 of window_internal_height.
7038
6061fbf0
GM
7039 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7040 instead of x-toolkit-scroll-bars-p.
7041 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7042
7043 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7044 instead of x-toolkit-scroll-bars-p.
7045 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 7046
3e32cc27
GM
7047 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
7048 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
7049 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
7050 New variables.
7051 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
7052 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
7053 (build_frame_matrix_from_leaf_window): Remove unused code.
7054 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
7055 redisplay history.
7056 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
7057 (update_window) [GLYPH_DEBUG]: Likewise.
7058 (syms_of_display): Defsubr dump-redisplay-history.
7059
31798cfe
GM
70602000-12-23 Gerd Moellmann <gerd@gnu.org>
7061
f717c2ba
GM
7062 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
7063 the end of the prompt. Set echo_after_prompt to the offset
7064 of echoptr in echobuf.
7065
aeb2b8fc
GM
7066 * xdisp.c (init_from_display_pos): Pop until the iterator's
7067 stack is empty; there may be frames for stretch or images
7068 on the stack.
7069
31798cfe
GM
7070 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
7071 (save_or_restore_current_matrix): New function for the same
7072 purpose, but more efficient.
7073 (adjust_frame_glyphs_for_frame_redisplay): Use it.
7074
f8156156
EZ
70752000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
7076
7077 * xdisp.c (syms_of_xdisp): Fix last change.
7078
bdd6d4e8
GM
70792000-12-23 Gerd Moellmann <gerd@gnu.org>
7080
7081 * xdisp.c (syms_of_xdisp): Doc fix.
7082
7083 * xdisp.c (redisplay_window): Remove label restore_buffers;
7084 use finish_scroll_bars instead to make sure that scroll bars
7085 are redeemed. If we don't do this, flickering can result from
7086 scroll bars being destroyed and recreated.
7087
9436cdf9
JR
70882000-12-22 Jason Rumney <jasonr@gnu.org>
7089
7090 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
7091 in the wrong colors when the foreground is not black.
7092 (expose_window): Don't redraw the window that's currently being
7093 updated.
7094
951f9df5
GM
70952000-12-22 Gerd Moellmann <gerd@gnu.org>
7096
856ff7a7
GM
7097 * window.c (size_window): When setting the window's too_small_ok
7098 flag, compare old size with minimum size depending on WIDTH_P,
7099 don't compare with window_min_width.
52283633 7100
951f9df5
GM
7101 * window.c (delete_window): Simplify somewhat.
7102 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
7103 freeing window matrices. The flag windows_or_buffers_changed is
7104 set, so the next redisplay will consider all windows; this should
7105 suffice.
7106
886bc933
KH
71072000-12-22 Kenichi Handa <handa@etl.go.jp>
7108
7109 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
7110
7111 * ccl.h (struct ccl_program): New member cr_consumed.
7112
7113 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
7114 (CCL_READ_CHAR): Handle EOL conversion here.
7115 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
7116
177f4e88
GM
71172000-12-21 Gerd Moellmann <gerd@gnu.org>
7118
52283633 7119 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
7120
7121 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
7122 otherwise tabs of different size compare equal.
7123
7124 * callint.c (Fcall_interactively): Prevent a compiler warning.
7125
7126 * print.c (print_unwind): Return nil.
7127 (PRINTDECLARE): Initialize all local variables.
7128 (print_preprocess): Add a default case.
7129
8e15274f
GM
7130 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
7131
7132 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
7133
52283633 7134 * window.c (delete_window, Fsplit_window)
177f4e88
GM
7135 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
7136
7137 * dispextern.h (ensure_frame_matrix): Function declaration removed.
7138
7139 * dispnew.c (ensure_frame_matrix): Removed.
7140 (save_frame_matrix, restore_frame_matrix): New functions.
7141 (adjust_frame_glyphs_for_frame_redisplay): Use them.
7142
7143 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
7144 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
7145
99012074
AI
71462000-12-21 Andrew Innes <andrewi@gnu.org>
7147
7148 * w32term.c (x_update_begin): Regenerate the palette here, rather
7149 than for each window.
7150
7151 * w32xfns.c (select_palette): Avoid calling SelectPalette if
7152 palette is NULL, since this corrupts memory! Also get
7153 display_info reference from frame.
7154
29ef7d2d
JR
71552000-12-21 Jason Rumney <jasonr@gnu.org>
7156
7157 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
7158
7159 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
7160 to avoid returning without releasing it.
3e27fa1f 7161
3f9d67a6
KH
71622000-12-21 Kenichi Handa <handa@etl.go.jp>
7163
587fc3f9
KH
7164 * keymap.c (push_key_description): Don't convert eight-bit-control
7165 and eight-bit-graphic to multibyte character.
7166
3f9d67a6
KH
7167 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
7168 generic character and CODE1 is nil, return the smallest character
7169 in CHARSET.
7170
774ba8c9
DL
71712000-12-20 Dave Love <fx@gnu.org>
7172
7173 * s/osf5-0.h (NSIG): Don't redefine.
7174
88416888
SM
71752000-12-20 Stefan Monnier <monnier@cs.yale.edu>
7176
7177 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
7178 excluding menu-bar and tool-bar.
7179 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
7180 (menu_item_p): Remove.
7181 (where_is_internal_1): Don't ignore menu-items.
7182
a6426c6f
GM
71832000-12-20 Gerd Moellmann <gerd@gnu.org>
7184
03ff8aab
GM
7185 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
7186 into account.
7187
7188 * window.c (make_window): Initialize window's min_hscroll.
7189 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7190 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7191 to zero.
7192 (struct saved_window): New member min_hscroll.
7193 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7194 (Fset_window_configuration): Set window's min_hscroll.
7195 (save_window_save): Save window's min_hscroll.
7196 (compare_window_configurations): Compare min_hscroll values.
7197
7198 * window.h (struct window): New member min_hscroll.
7199
7200 * keyboard.c (echo_prompt): Prevent a compiler warning.
7201
8de4aaf8
GM
7202 * xdisp.c (try_cursor_movement): Fix last change. The real
7203 condition is that PT is at the end of the row, and should
7204 be displayed at the start of the next row.
52283633 7205
3f7e3031
GM
7206 * xdisp.c (try_cursor_movement): If we end on a partially
7207 visible line, end we already decided to scroll, return -1.
7208
a6426c6f
GM
7209 * dispextern.h (ensure_frame_matrix): Add prototype.
7210
7211 * window.c (delete_window, Fsplit_window)
7212 (Fset_window_configuration): Call ensure_frame_matrix.
7213
52283633
SM
7214 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7215 New functions.
a6426c6f
GM
7216 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7217 completed, call fake_current_matrices instead of marking frame
7218 garbaged.
7219
57fa2774
JR
72202000-12-20 Jason Rumney <jasonr@gnu.org>
7221
7222 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7223
d925df90
EZ
72242000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7225
7226 * fns.c (Frequire): Doc fix.
7227
7b93a85b
GM
72282000-12-19 Gerd Moellmann <gerd@gnu.org>
7229
52283633 7230 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 7231
c74e645b
GM
7232 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7233 currently displaying a message.
7234
7b93a85b
GM
7235 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7236 xterm.h.
7237 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7238
90d97e64
AI
72392000-12-18 Andrew Innes <andrewi@gnu.org>
7240
7241 * w32.c (w32_strerror): New function.
7242
7243 * w32.h (w32_strerror): New extern.
7244
7245 * w32fns.c (Fw32_shell_execute): Use it.
7246
91c9e6ce
GM
72472000-12-18 Gerd Moellmann <gerd@gnu.org>
7248
7249 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7250
6f4745e2
EZ
72512000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7252
7253 * msdos.c (IT_set_face): Obey inverse_video.
7254
c9e088ce
KH
72552000-12-18 Kenichi Handa <handa@etl.go.jp>
7256
7257 * dired.c (directory_files_internal): Always return decoded filenames.
7258
c3695f5f
GM
72592000-12-18 Gerd Moellmann <gerd@gnu.org>
7260
52d8e4ff
GM
7261 * xterm.c (x_connection_closed): Prevent being called recursively
7262 because of an error condition in XtCloseDisplay.
52283633 7263
62be9979
GM
7264 * xdisp.c (init_iterator): If noninteractive, and the frame's
7265 face cache is null, make one.
7266
52283633 7267 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 7268
c3695f5f
GM
7269 * process.c (wait_reading_process_input): Check for pending
7270 input when running timers.
7271
78555fbe
EZ
72722000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7273
52283633 7274 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 7275
b2b36264
KH
72762000-12-18 Kenichi Handa <handa@etl.go.jp>
7277
7278 * process.c (read_process_output): Don't run a filter if the code
7279 decoder produces nothing but carryover.
7280
9c543fbf
AI
72812000-12-17 Andrew Innes <andrewi@gnu.org>
7282
7283 * w32.c (sys_rename): Only check errno against EEXIST, and not
7284 EACCES, when determining whether rename failed because the target
7285 exists. This was resulting in indefinite looping on Windows 9x if
7286 the source file was locked by another process.
7287
7288 * w32fns.c (Ffile_system_info): New function.
7289 (syms_of_w32fns): Defsubr it.
7290
10c2b5a8
GM
72912000-12-17 Gerd Moellmann <gerd@gnu.org>
7292
b0228ace
GM
7293 * window.c (coordinates_in_window): Fix computation for
7294 position on vertical line between mode lines.
7295
10c2b5a8
GM
7296 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7297 Don't alter tip_frame or tip_window.
7298 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7299 was deleted.
7300
c844a81a
GM
7301 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7302 Don't alter tip_frame or tip_window.
7303 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7304 was deleted.
7305
6c825f8e
EZ
73062000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7307
7308 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7309 be consistent with the doc string. Reported by NAKAJIMA Mikio
7310 <minakaji@osaka.email.ne.jp>.
7311
af4bb4c8
KH
73122000-12-16 Kenichi Handa <handa@etl.go.jp>
7313
7314 * xfaces.c (Vface_ignored_fonts): New variable.
7315 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7316 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7317
8062e53a
GM
73182000-12-15 Gerd Moellmann <gerd@gnu.org>
7319
e87b8809
GM
7320 * dispnew.c (update_window): Detect pending input every nth line
7321 updated, i.e. do it depending on real work done, and not on the
7322 vpos of the line.
7323
7324 * xterm.c (expose_window): Don't redraw the window that's
7325 currently being updated.
7326
a6768cc5
GM
7327 * window.c (Fset_window_point): Remove test for
7328 cursor_in_non_selected_windows.
7329
4ea7fdca
GM
7330 * lread.c (read1): Recognize end of file after `\\'.
7331
8062e53a
GM
7332 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7333 not unwind_create_frame.
7334
bb7959c1
GM
73352000-12-15 Dave Love <fx@gnu.org>
7336
7337 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7338 bcopy & al.
7339
7340 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7341
ced04c42
KH
73422000-12-15 Kenichi Handa <handa@etl.go.jp>
7343
c5443913
KH
7344 * coding.c (setup_coding_system): Clear all members of the struct
7345 coding_system at first.
bc137305
KH
7346 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
7347 argument.
7348 (code_convert_region): Don't override coding->src_multibyte and
7349 coding->dst_multibyte.
c5443913 7350
ced04c42
KH
7351 * fns.c (Fmd5): Docstring improved.
7352
c2d7f289
MB
73532000-12-15 Miles Bader <miles@gnu.org>
7354
7355 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
7356 are actually marked as mode-lines; otherwise use
7357 estimate_mode_line_height.
7358
9d7d9263
GM
73592000-12-14 Gerd Moellmann <gerd@gnu.org>
7360
7361 * editfns.c (Fformat): Prevent a buffer overrun when the format
7362 specifies a precision.
7363
7cf0153a
EZ
73642000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
7365
7366 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
7367 argument is outside the range [2..3].
7368
1de0f662
AI
73692000-12-14 Andrew Innes <andrewi@gnu.org>
7370
7371 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
7372 nothing to do. Bind inhibit-quit.
7373 (tip_frame): Make it a Lisp_Object.
7374 (x_create_tip_frame): Set tip_frame after it has been added to
7375 Vframe_list.
7376 (Fx_show_tip): Don't set tip_frame here.
52283633 7377 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
7378 (unwind_create_frame, unwind_create_tip_frame): New functions.
7379 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7380 while a frame is only partially constructed.
7381
7382 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7383 (x_free_frame_resources): New function.
7384 (x_destroy_window): Use it.
7385
02387dcc
GM
73862000-12-14 Gerd Moellmann <gerd@gnu.org>
7387
7388 * xfns.c (Fx_backspace_delete_keys_p): New function.
7389 (syms_of_xfns): Defsubr it.
7390
7391 * config.in (HAVE_XKBGETKEYBOARD): Add.
7392
0544ef49
KH
73932000-12-14 Kenichi Handa <handa@etl.go.jp>
7394
98d62747
KH
7395 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
7396 Always store string in multibyte representation in echobuf.
7397 (echo_char): Always store string in multibyte representation in
7398 echobuf.
7399 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
7400 (read_key_sequence): Adjusted for the change of echo_prompt.
7401
a20193cd
KH
7402 * fns.c (Fmd5): Docstring improved.
7403
191b83b6
KH
7404 * lisp.h (detect_coding_system): Prototype adjusted.
7405
0544ef49
KH
7406 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
7407 (detect_coding_emacs_mule, detect_coding_iso2022,)
7408 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
7409 (detect_coding_utf_16, detect_coding_ccl): Make them static.
7410 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
7411 (detect_coding_mask, detect_coding_system): New argument
7412 MULTIBYTEP. Callers changed.
1da1bb05
KH
7413 (decode_coding_string): Set coding->src_multibyte and
7414 coding->dst_multibyte before calling detect_coding and detect_eol.
7415 Update them after some coding system is detected.
52283633 7416
d5b3eb1b
SM
74172000-12-13 Stefan Monnier <monnier@cs.yale.edu>
7418
7419 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
7420
7421 * keyboard.c (menu_bar_items, tool_bar_items):
7422 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
7423
f7f8bb69
GM
74242000-12-13 Gerd Moellmann <gerd@gnu.org>
7425
52283633 7426 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
7427 New variables.
7428 (unwind_create_frame, unwind_create_tip_frame): New functions.
7429 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7430 while a frame is only partially constructed.
7431
7432 * xterm.h (x_free_frame_resources): Declare.
7433
7434 * xterm.c (x_free_frame_resources): New function.
7435 (x_destroy_window): Use it.
7436
e10da507
GM
7437 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
7438 don't interrupt the update for pending input initially, i.e.
7439 update at least some lines.
7440
7441 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 7442
d5b3eb1b 7443 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
7444
7445 * xfns.c (gray_bitmap_bits): Declare `char *'.
7446
90aa2856
GM
74472000-12-12 Gerd Moellmann <gerd@gnu.org>
7448
7449 * xdisp.c (display_tool_bar_line): Make sure that tool bar
7450 lines start with a relief line.
7451
a308c9cd
DL
74522000-12-12 Dave Love <fx@gnu.org>
7453
7454 * window.c (Fdisplay_buffer): Doc fix.
7455 (Fwindow_list): Remove unused var.
7456
7457 * buffer.h (mmap_set_vars): Declare.
7458
7459 * window.h (Fset_window_point): Declare.
7460
d575011f
EZ
74612000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
7462
bf6282d2 7463 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
7464 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
7465 variable `area'. When looking for a row under (X,Y), give up if some
7466 of the previous rows is not enabled.
d575011f 7467
ecf4d726
GM
74682000-12-12 Gerd Moellmann <gerd@gnu.org>
7469
2ebf6139
GM
7470 * window.c (Fset_window_point): If displaying cursors in windows
7471 other than the selected window, make sure redisplay updates
7472 other windows to show the new value of point in the window.
7473
7474 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
7475
bfdb75ee
GM
7476 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
7477 the buffer is the sole visible buffer when in the mini-buffer.
7478
52283633 7479 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
7480 Bind `inhibit-read-only' to t.
7481 (unwind_with_echo_area_buffer): Use AREF.
7482
c0006262
GM
7483 * xfns.c (Fx_hide_tip): Simplified.
7484
52283633
SM
7485 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
7486 instead of `1'.
e9a59cad 7487
ecf4d726
GM
7488 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
7489
e5959a9a
GM
74902000-12-11 Gerd Moellmann <gerd@gnu.org>
7491
a3642e49 7492 * xfns.c (Fx_hide_tip): Fix last change.
52283633 7493
44b5a125
GM
7494 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
7495 nothing to do. Bind inhibit-quit.
7496 (tip_frame): Make it a Lisp_Object.
7497 (x_create_tip_frame): Set tip_frame after it has been added to
7498 Vframe_list.
7499 (Fx_show_tip): Don't set tip_frame here.
7500
7501 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7502
7503 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
7504 Lisp_Object.
7505
7506 * dispextern.h: Change external declaration of tip_frame.
7507
d990421f
GM
7508 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
7509 return an empty string.
7510
4db87380
GM
7511 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
7512 of the window's update_mode_line flag, since the former is set by
7513 force-mode-line-update, not the latter. This makes
7514 column-number-mode slightly faster.
52283633 7515
e5959a9a
GM
7516 * xdisp.c (try_window_id) <all changes above window start>:
7517 Set the cursor.
7518
169fe44e
GM
75192000-12-11 Paul Eggert <eggert@twinsun.com>
7520
7521 * config.in (HAVE_FTELLO): Remove.
7522 (HAVE_FSEEKO): Add.
7523 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
7524 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
7525 HAVE_FTELLO.
7526 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
7527 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 7528
59ec59ae
MB
75292000-12-11 Miles Bader <miles@gnu.org>
7530
7531 * window.c (displayed_window_lines): Don't round up when
7532 converting empty space at bottom to lines.
ff904dd6
MB
7533 Handle non-newline-terminated final lines properly.
7534 (Fwindow_text_height): New function (used to be in lisp).
7535 (syms_of_window): Initialize it.
59ec59ae 7536
42ebfa31
SM
75372000-12-09 Stefan Monnier <monnier@cs.yale.edu>
7538
7539 * syntax.c (scan_lists): Check that the right quote char has the
7540 right Sstring syntax when jumping over strings.
7541 (init_syntax_once): Use Smax rather than 13.
7542
5cdb3cf3
MB
75432000-12-09 Miles Bader <miles@gnu.org>
7544
7545 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
7546 with PARTIALLY, inverting the sense.
7547 (window_scroll_pixel_based): Scroll partially visible lines into
7548 place if we hit the beginning or end of the buffer.
a12167c5
MB
7549 (displayed_window_lines): Don't include partially visible lines.
7550 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 7551
842b2a94
GM
75522000-12-08 Gerd Moellmann <gerd@gnu.org>
7553
7554 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
7555
7556 * tparam.c (tparam1): Change the way buffers are reallocated to be
7557 portable and less obfuscated.
7558
7559 * termcap.c (tgetent): Change the way buffers are reallocated to
7560 be portable and less obfuscated.
7561
7562 * macros.c (store_kbd_macro_char): Change the way buffers are
7563 reallocated to be portable and less obfuscated.
7564
7565 * lread.c (read1): Change the way buffers are reallocated to be
7566 portable and less obfuscated.
7567
7568 * doc.c (Fsubstitute_command_keys): Change the way buffers
7569 are reallocated so that it is portable.
7570
137cad7c
EZ
75712000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
7572
7573 * dosfns.c (Ffile_system_info): New function.
7574 (syms_of_dosfns): Defsubr it.
7575
5c7f629c
SM
75762000-12-07 Stefan Monnier <monnier@cs.yale.edu>
7577
7578 * alloc.c (gc_sweep): Add comment.
7579
959e647d
GM
75802000-12-07 Gerd Moellmann <gerd@gnu.org>
7581
52283633
SM
7582 * sound.c (vox_configure): Change order of ioctls.
7583 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
7584 Ignore errors when changing volume.
7585 (vox_close): Don't reset the device.
7586
926b7e5e
GM
7587 * process.c (read_process_output): Make sure the process marker's
7588 position is valid when the process buffer is changed in
7589 after-change functions. W3 does that.
52283633 7590
959e647d
GM
7591 * xfns.c (x_free_gcs): New function.
7592
7593 * xterm.h (x_free_gcs): Add prototype.
7594
7595 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
7596 freeing GCs here.
7597
7598 * xterm.c (x_destroy_window): Call x_free_gcs so that
7599 resources of non-toolkit X windows will be freed.
7600
478ea067
AI
76012000-12-07 Andrew Innes <andrewi@gnu.org>
7602
7603 * w32fns.c (xlfd_charset_of_font): Fix last change.
7604
fbee3231
DL
76052000-12-06 Dave Love <fx@gnu.org>
7606
67292061
DL
7607 * md5.h (__P): Don't define -- it comes from config.h.
7608
fbee3231
DL
7609 * strftime.c: Change some #if foo to #ifdef foo.
7610
4ee87dbb
AI
76112000-12-06 Andrew Innes <andrewi@gnu.org>
7612
7613 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
7614
52283633 7615 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 7616 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 7617 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 7618
9765b4a4
GM
76192000-12-06 Gerd Moellmann <gerd@gnu.org>
7620
d285b373
GM
7621 * alloc.c (gc_sweep): Prevent symbols read during loadup
7622 from being freed.
7623
384333ee
GM
7624 * xdisp.c (underlying_face_id): New function.
7625 (handle_face_prop, face_before_or_after_it_pos): Use it
7626 to determine the face ``under'' a string. Let strings inherit
7627 the face of the buffer under them.
7628
7629 * xfaces.c (face_at_string_position): Update function comment.
52283633 7630
d4b72d58
GM
7631 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
7632 matrix if the window's left position has changed; we need to
7633 redraw it in this case.
7634
7635 * dispextern.h (struct glyph_matrix): Add member window_left_x.
7636
e1d05387
GM
7637 * window.c (coordinates_in_window): Check mouse on mode-line or
7638 header-line first.
7639
eb1b0c74
GM
7640 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
7641 advertized by the function documentation.
7642
d94d636f
GM
7643 * window.c (syms_of_window): Doc fix.
7644
3887b449
GM
7645 * sound.c (vox_configure): Set volume for left and right channel.
7646 (sound_cleanup): Return nil.
7647
efc8f57a
GM
7648 * xdisp.c (move_it_by_lines): Fix paren typo.
7649
9765b4a4
GM
7650 * xterm.c (x_load_font): Don't use the font's max_bounds for
7651 computing the height of the font. If max_bounds' ascent or
7652 descent are greater than the font's ascent or descent, this means
7653 glyphs overlap, which should be handled now by redisplay.
7654
6529ed87
GM
7655 * window.c (Veven_window_heights): New variable.
7656 (syms_of_window): DEFVAR_LISP it.
7657 (Fdisplay_buffer): Check Veven_window_heights before evening the
7658 window heights.
52283633 7659
0eb2ecde
MB
76602000-12-06 Miles Bader <miles@gnu.org>
7661
7662 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
7663 update `default-frame-alist' instead of setting no frame parameters.
7664
03d7a167
KH
76652000-12-06 Kenichi Handa <handa@etl.go.jp>
7666
7667 * composite.c (update_compositions): Fix typo (use the correct
7668 variable).
7669
5f8803c2
JR
76702000-12-05 Jason Rumney <jasonr@gnu.org>
7671
7672 * md5.h: Remove underscores from function declarations.
7673 (__attribute__, __alignof__) [!__GNUC__]: Define.
7674
7675 * md5.c: Delay include of md5.h until after namespace cleaning.
7676
c28a075b
JR
7677 * makefile.w32-in (fns.o): Depend on md5.h
7678 (md5.o): New target.
7679 (sunfns.o): Remove.
7680
7681 * makefile.nt: Likewise.
7682
ff3c7056
JR
76832000-12-05 Jason Rumney <jasonr@altavista.net>
7684
7685 * w32term.c (expose_area): Complete last change.
7686
0c21eeeb
KR
76872000-12-05 Ken Raeburn <raeburn@gnu.org>
7688
7689 * minibuf.c: Include intervals.h.
7690
f201d732
JR
76912000-12-05 Jason Rumney <jasonr@gnu.org>
7692
7693 * w32term.c (x_produce_glyphs): If a font for a component of
7694 a composition is not found, use 1 pixel dot ascent and 0 dot
7695 descent value to avoid displaying terribly tall empty boxes.
7696 (expose_area): Pass x-coordinate relative to the exposed
7697 area to x_draw_glyphs instead of a window-relative coordinate.
7698
21999ab9
GM
76992000-12-05 Gerd Moellmann <gerd@gnu.org>
7700
4d2036e4
GM
7701 * xdisp.c (next_element_from_ellipsis): Save face before selective
7702 display in saved_face_id, and set face_before_selective_p.
7703 (reseat_1): Reset face_before_selective_p.
7704 (append_space, extend_face_to_end_of_line): If iterator's
7705 face_before_selective_p is set, use the face from saved_face_id.
7706 (extend_face_to_end_of_line): For tty frames, make sure to
7707 use the right face id when producing spaces at the end of
7708 the line.
7709
7710 * dispextern.h (struct it): Add face_before_selective_p.
7711
52be17cc
GM
7712 * keyboard.c (record_char): Don't record identical help-echo
7713 events in recent_keys.
7714
8a4f36cc
GM
7715 * xterm.c [USE_X_TOOLKIT]: Close the display.
7716 (xim_close_dpy): Handle case that the display has been closed.
7717
57d6e381
GM
7718 * xterm.c (x_destroy_window): Reset the frame's X window after
7719 destroying it.
7720
21999ab9
GM
7721 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7722 variable window_width.
7723 (line_draw_cost): Fix code skipping over spaces at the end of the
7724 line when must_write_spaces is not set.
7725 (scrolling_window): Fix code inserting runs in list of all runs.
7726
91372bb7
KH
77272000-12-05 Kenichi Handa <handa@etl.go.jp>
7728
7729 * coding.c (setup_coding_system): Be sure to initialize
7730 coding->category_idx.
7731
6c083b4c
GM
77322000-12-04 Gerd Moellmann <gerd@gnu.org>
7733
0c68ce6f 7734 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 7735
6452929e
GM
7736 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7737 area to x_draw_glyphs instead of a window-relative coordinate.
7738
d7f31e22
GM
7739 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7740 error in the message.
7741
ae18aa3b
GM
7742 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7743 timer after having read a key. It's not good for code reading
7744 several keys in a loop, like an input method.
7745
caa15ef7
GM
7746 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7747 record undo information for format-decode.
7748
7749 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7750 current buffer is read-only, not if it isn't.
7751
6c083b4c
GM
7752 * keyboard.c (record_char): Record `help-echo' input events
7753 in recent_keys only if they display some help. Don't record
7754 `help-echo' events as macro char.
7755
caa15ef7
GM
77562000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7757
7758 * editfns.c (save_excursion_restore): Don't move point
7759 in another window if it is showing the wrong buffer.
7760 Avoid the call to Fwindow_live_p, for speed.
7761
5a13529b
KH
77622000-12-04 Kenichi Handa <handa@etl.go.jp>
7763
e225faa7
KH
7764 * xfaces.c (struct font_name): New member registry_priority.
7765 (split_font_name): Initialize the above member to zero.
7766 (concat_font_list): New function.
7767 (font_list): Include fonts of all alternative registries.
7768 (FONT_POINT_SIZE_QUANTUM): New macro.
7769 (better_font_p): Ignore point size difference less than
7770 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7771
e89648b4
KH
7772 * xterm.c (x_produce_glyphs): If a font for a component of
7773 a composition is not found, use 1 pixel dot ascent and 0 dot
7774 descent value to avoid displaying terribly tall empty boxes.
7775
5a13529b
KH
7776 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7777
d7935eb6
KR
77782000-12-03 Ken Raeburn <raeburn@gnu.org>
7779
7780 * coding.h (code_convert_string1): Declare.
7781
7782 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7783
52283633 7784 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7785
0dd5e255
JR
77862000-12-02 Jason Rumney <jasonr@gnu.org>
7787
7788 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7789 correctly for single byte character case.
7790 (w32_per_char_metric): Do not try to make any assumptions about
7791 the metrics of BDF fonts.
250cfece 7792 (x_estimate_mode_line_height): If `mode-line' face
52283633 7793 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7794 (note_mouse_highlight): Change the cursor shape on the vertical
7795 border between windows [not enabled].
7796
7797 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7798
7799 * w32fns.c (Fx_create_frame): Reintroduce the call to
7800 face-set-after-frame-defaults.
7801 (Vx_window_horizontal_drag_shape): New variable.
7802 (syms_of_xfns): DEFVAR_LISP it.
7803 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7804 enabled].
0dd5e255 7805
b5d8d2ca
GM
78062000-12-02 Simon Josefsson <simon@josefsson.org>
7807
7808 * fns.c (Fmd5): Use a different logic to decide the coding system
7809 to use.
7810
7811 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7812
fbb87147
EZ
78132000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7814
52283633 7815 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7816
447e9da0
GM
78172000-12-01 Gerd Moellmann <gerd@gnu.org>
7818
7708ced0
GM
7819 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7820 height for YNegative.
7821 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7822 height; also see comment there.
7823
447e9da0
GM
7824 * window.c (coordinates_in_window): Handle computations for
7825 positions on the vertical bar and fringes differently for
7826 window-system frames. Consider some pixels near the vertical bar
7827 as on the bar if the frame doesn't have vertical scroll bars.
7828 Associate positions between mode or header lines with the
7829 right window, the left one.
7830
86d1db20
JR
78312000-12-01 Jason Rumney <jasonr@gnu.org>
7832
7833 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7834
7835 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7836 invalid frame.
7837
a1d58e5b
GM
78382000-12-01 Gerd Moellmann <gerd@gnu.org>
7839
52283633 7840 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7841 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7842 (save_window_save, Fset_window_configuration): Save/restore
7843 window's orig_top and orig_height.
7844
89c609af
JR
78452000-12-01 Jason Rumney <jasonr@gnu.org>
7846
4d177746 7847 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7848
89c609af
JR
7849 * w32fns.c (x_set_cursor_color): Fix last change.
7850
eccc05db
GM
78512000-11-30 Gerd Moellmann <gerd@gnu.org>
7852
31b6671b
GM
7853 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7854 sure that the next redisplay displays the minibuffer, so that
7855 the cursor will be replaced with what the minibuffer wants.
7856
eccc05db
GM
7857 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7858 #ifndef instead of using #if.
7859 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7860 USE_TOOLKIT_SCROLL_BARS is defined.
7861
162de750
JR
78622000-11-30 Jason Rumney <jasonr@gnu.org>
7863
7864 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7865 x_display_cursor.
7866
693c4692
GM
78672000-11-30 Gerd Moellmann <gerd@gnu.org>
7868
7869 * fns.c (Fmd5): Doc fix.
7870
b5d8d2ca 78712000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7872
7873 * fns.c (Fmd5): New function.
7874 (syms_of_fns): Defsubr md5.
7875
7876 * Makefile.in (obj): Add md5.o
7877
b02cd40b
GM
78782000-11-30 Gerd Moellmann <gerd@gnu.org>
7879
edfb795e
GM
7880 * md5.h, md5.c: New files, taken from glibc.
7881
df3aedcf
GM
7882 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7883
b02cd40b 7884 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7885 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7886
8b5176cd
SM
78872000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7888
7889 * eval.c (Frun_hooks): Allow 0 arguments.
7890
346598f1
GM
78912000-11-29 Gerd Moellmann <gerd@gnu.org>
7892
f9396e03
GM
7893 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7894 is over the menu bar widget, say it's not on the frame.
7895
4a967a9b
GM
7896 * xfns.c (Fx_create_frame): Reintroduce the call to
7897 face-set-after-frame-defaults.
7898
346598f1
GM
7899 * eval.c (Fsignal): Reset handling_signal.
7900
222456a1
JR
79012000-11-28 Jason Rumney <jasonr@gnu.org>
7902
7903 * w32menu.c (add_menu_item): Reset menu item text when changing
7904 type to radio button.
7905
8049ddc0
GM
79062000-11-28 Gerd Moellmann <gerd@gnu.org>
7907
346598f1 7908 * xselect.c: Update copyright.
f4f4ee4d 7909
bebe4a2c
GM
7910 * window.c (coordinates_in_window): If on a mode or header line,
7911 but sufficiently close to its start, return ``on vertical
7912 border''. This gives us a way to drag windows horizontally when
7913 using toolkit scroll bars.
7914
7915 * xterm.c (note_mouse_highlight): Change the cursor shape
7916 on the vertical border between windows.
7917
7918 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7919
7920 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7921 (syms_of_xfns): DEFVAR_LISP it.
7922 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7923
8d2c2642
GM
7924 * textprop.c (text_read_only): New function.
7925 (verify_interval_modification): Use it instead of signaling
7926 `text-read-only'. This makes it easier to catch this error
52283633 7927 with a breakpoint.:
8d2c2642 7928
52283633 7929 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7930 not end of line, which includes CR.
7931
5a2bae6c
KH
79322000-11-28 Kenichi Handa <handa@etl.go.jp>
7933
7934 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7935 include no-conversion.
7936
ae31f84d
JR
79372000-11-27 Jason Rumney <jasonr@gnu.org>
7938
7939 * w32fns.c (w32_load_system_font): Always mark font as double byte
7940 if codepage is unicode.
7941
67f1cf4c
GM
79422000-11-27 Gerd Moellmann <gerd@gnu.org>
7943
4a74d071 7944 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7945 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7946
902ae620
GM
7947 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7948 `vertical-line', `mode-line' and `header-line' events.
7949
7950 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7951 of a character, a TAB for instance. This is easier than to set
7952 up the iterator exactly, and it's not a frequent case, so the
7953 additional effort wouldn't really pay off.
7954
c1e279c2
AC
79552000-11-26 Andrew Choi <akochoi@i-cable.com>
7956
67f1cf4c 7957 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7958 init_window_once.
7959
a609568a
JR
79602000-11-25 Jason Rumney <jasonr@gnu.org>
7961
52283633
SM
7962 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7963 Args to window_from_coordinates should be pixel coordinates.
48b21762 7964
a609568a
JR
7965 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7966 redisplay handles them properly.
7967
a658d039
MB
79682000-11-25 Miles Bader <miles@gnu.org>
7969
7970 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7971
d3416cca
JR
79722000-11-24 Jason Rumney <jasonr@gnu.org>
7973
7974 * w32.c (init_environment): Set LANG environment variable based on
7975 locale settings, if not set.
7976
7977 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7978 making tool bar smaller. When clearing the frame, also
7979 clear current matrices. Clear frame when tool bar disappears.
7980 Don't use more lines for the tool-bar than is available.
7981 (x_change_window_heights): New function.
7982
ba193890
GM
79832000-11-24 Gerd Moellmann <gerd@gnu.org>
7984
2be8f184
GM
7985 * xdisp.c (init_from_display_pos): If POS says we're already after
7986 an overlay string ending at POS, make sure to pop the iterator
7987 because it will be in front of that overlay string. When POS is
7988 ZV, we've thereby also ``processed'' overlay strings at ZV.
7989
ba193890
GM
7990 * xfaces.c (lface_from_face_name): Function comment fix.
7991
1862a24e
MB
79922000-11-24 Miles Bader <miles@gnu.org>
7993
7994 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7995 apply `mode-line-inverse-video' -- zero means force display using
7996 the default face, non-zero means display using the specialized face.
7997 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7998
f07fa1b8
KH
79992000-11-23 Kenichi Handa <handa@etl.go.jp>
8000
8001 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
8002 hard coded `4'.
8003
2bcdf662
EZ
80042000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8005
8006 * coding.c (decode_coding_emacs_mule): Fix the case of
8007 CODING_EOL_LF, which used uninitialized value of c.
8008
ba8299ff
SM
80092000-11-23 Stefan Monnier <monnier@cs.yale.edu>
8010
8011 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
8012
f4117c4d
GM
80132000-11-22 Gerd Moellmann <gerd@gnu.org>
8014
03e757c1
GM
8015 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
8016 buffer object.
8017
f4117c4d
GM
8018 * frame.h (struct frame): Replace desired_tool_bar_items,
8019 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 8020 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
8021
8022 * frame.c (make_frame): Change initialization of tool bar
8023 items accordingly.
8024
8025 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 8026 Change references to members deleted from struct frame to use the
f4117c4d
GM
8027 new ones.
8028
8029 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 8030 references to members deleted from struct frame to use the new ones.
f4117c4d 8031
52283633 8032 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
8033
8034 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
8035
8036 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 8037 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
8038 from struct frame to use the new ones.
8039
f8e2f3f2
MB
80402000-11-23 Miles Bader <miles@gnu.org>
8041
8042 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
8043 the face's inverse-video attribute, rather than overriding it.
8044
60e8e0a5
GM
80452000-11-22 Gerd Moellmann <gerd@gnu.org>
8046
8047 * xfns.c (x_set_tool_bar_lines): Clear internal border when
8048 making tool bar smaller.
8049
92dd1b29
DL
80502000-11-22 Dave Love <fx@gnu.org>
8051
8052 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
8053
e672fdce
MB
80542000-11-22 Miles Bader <miles@gnu.org>
8055
3a17d6cc
MB
8056 * keyboard.c (Vminibuffer_message_timeout): New variable.
8057 (command_loop_1): Use it to determine message timeout.
8058 (syms_of_keyboard): Initialize it.
8059
60e8e0a5 8060 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 8061
e9655d81
KH
80622000-11-22 Kenichi Handa <handa@etl.go.jp>
8063
8064 * sysdep.c: Move the code for declaring h_errno after #include
8065 <netdb.h>.
8066
77270fac
GM
80672000-11-21 Gerd Moellmann <gerd@gnu.org>
8068
cd913aae
GM
8069 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
8070 the menu bar when the tooltip is unmapped.
8071
77270fac
GM
8072 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
8073 sole visible buffer when we're currently in the mini-buffer, and
8074 give up if so.
52283633 8075
556635d6
JR
80762000-11-21 Jason Rumney <jasonr@gnu.org>
8077
8078 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
8079 put on the clipboard.
8080 (Fw32_get_clipboard_data): Compare data on clipboard with saved
8081 copy of what Emacs last put there. If they are the same, do not
52283633 8082 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 8083
5b7bde64
MB
80842000-11-22 Miles Bader <miles@gnu.org>
8085
8086 * minibuf.c (Vminibuffer_prompt_properties): New variable.
8087 (syms_of_minibuf): Initialize it.
8088 (read_minibuf): Add properties from Vminibuffer_prompt_properties
8089 to prompt, don't make read-only.
8090
ff23e1dd
GM
80912000-11-21 Gerd Moellmann <gerd@gnu.org>
8092
52283633
SM
8093 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
8094 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 8095
7aaf4388
GM
8096 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
8097
f5f47add 8098 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 8099
ff23e1dd
GM
8100 * term.c, cm.c: Don't try to include termcap.h; see comment there.
8101
37c35586
KH
81022000-11-21 Kenichi Handa <handa@etl.go.jp>
8103
8104 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
8105 ... #endif scope.
8106
ff9ab414
GM
81072000-11-20 Gerd Moellmann <gerd@gnu.org>
8108
52283633 8109 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
8110 screen supports it.
8111
29a01b72
GM
8112 * s/gnu-linux.h: Don't use `#cpu'.
8113
09dfdf85
GM
8114 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
8115 not defined in mman.h.
8116
52283633 8117 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
8118 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
8119 and store an index in the XClientMessageEvent. Storing a
8120 Lisp_Object or pointer can fail on a 64 bit system, since X only
8121 transfers 32 bits.
52283633
SM
8122 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
8123
81459ac9
DL
81242000-11-20 Dave Love <fx@gnu.org>
8125
8126 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
8127
56c13ae6
GM
81282000-11-20 Gerd Moellmann <gerd@gnu.org>
8129
8130 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
8131
495a6df3
KH
81322000-11-20 Kenichi Handa <handa@etl.go.jp>
8133
2bcf3714
KH
8134 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
8135 by WIDTH.
8136
495a6df3
KH
8137 * alloc.c (make_string): Fix previous change. Be sure to make
8138 unibyte string correctly.
8139
6d950f4c
GM
81402000-11-19 Gerd Moellmann <gerd@gnu.org>
8141
39b39373
GM
8142 * window.c (Fwindow_list): Change parameter list to be XEmacs
8143 compatible.
8144 (window_list_1): New function.
8145 (window_loop): Use it instead of Fwindow_list.
8146
b95b34e5
GM
8147 * sysdep.c (emacs_ospeed): New variable.
8148 (toplevel): Don't declare ospeed extern.
8149 (init_baud_rate): Use emacs_ospeed instead of ospeed.
8150
8151 * termcap.c (ospeed): Remove.
8152 (tputs) [!emacs]: Remove unused code.
8153 (tgetent): Avoid a compiler warning.
8154
e83dc917
GM
8155 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
8156 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 8157 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
8158
8159 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
8160 removed.
8161 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
8162 Take the X display as additional argument.
8163 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
8164 `Widget' is a pointer type that's not easily stored in Lisp_Object
8165 form in a portable way.
52283633 8166
6d950f4c
GM
8167 * dispnew.c (update_text_area): Fix last change.
8168
e47306e6
GM
81692000-11-18 Gerd Moellmann <gerd@gnu.org>
8170
fb3cd89b
GM
8171 * xdisp.c: Use BINDING_STACK_SIZE throughout.
8172
8173 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
8174 clear current matrices.
8175
edaa9aed
GM
8176 * buffer.c (mmap_enlarge): Don't print a message on stderr
8177 if mapping new memory at the end of the existing region fails.
8178
e47306e6
GM
8179 * dispnew.c (update_text_area): Don't skip over equal glyphs
8180 when the last current glyph overlaps the glyph to its right.
8181
509633e3
MB
81822000-11-18 Miles Bader <miles@gnu.org>
8183
8184 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
8185 lines that *end* with "..." too (that's the most common case!).
8186
d392e9c5
GM
81872000-11-18 Gerd Moellmann <gerd@gnu.org>
8188
67988445
GM
8189 * xdisp.c (resize_mini_window): Temporarily change to the
8190 mini-window's buffer if necessary.
1bfdbe43 8191
d392e9c5
GM
8192 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8193 the tooltip obscures less text under it.
8194
81952000-11-17 Gerd Moellmann <gerd@gnu.org>
8196
8197 * puresize.h (BASE_PURESIZE): Increase to 700000.
8198
92bb977f
JR
81992000-11-18 Jason Rumney <jasonr@gnu.org>
8200
8201 * w32term.c (w32_draw_bitmap): Use face to set colors.
8202
26fbf20b
DL
82032000-11-17 Dave Love <fx@gnu.org>
8204
8205 * lread.c (Fload): Fix #ifdef for pcc.
8206
100b593b
GM
82072000-11-17 Gerd Moellmann <gerd@gnu.org>
8208
8209 * xdisp.c (pos_visible_p): Compute the default character height
8210 differently.
8211
a288d0d1
GM
82122000-11-16 Gerd Moellmann <gerd@gnu.org>
8213
cac94de6 8214 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 8215 knowing the line's height; use the default font's height in that case.
cac94de6 8216
a288d0d1
GM
8217 * xfaces.c (weight_table): Add `demi' with the same meaning as
8218 `demibold'.
8219
981fb6f6
KH
82202000-11-16 Kenichi Handa <handa@etl.go.jp>
8221
2cca872d 8222 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
8223 (clear_glyph_row): Delete local static variable null_row.
8224
e5fa381b
JR
82252000-11-15 Jason Rumney <jasonr@gnu.org>
8226
8227 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8228 (w32_alloc_lighter_color): Use new brightness calculations from
8229 xterm.c. Scale delta to be in the range expected by W32.
8230 (w32_draw_relief_rect): Use frame relief colors.
8231
8e42f043
GM
82322000-11-15 Gerd Moellmann <gerd@gnu.org>
8233
6d133d1f
GM
8234 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8235 (Qinhibit_default_face_x_resources): New variable.
8236 (syms_of_frame): Initialize it.
8237 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8238
8239 * xdisp.c (pos_visible_p): Improve function comment.
8240
8241 * lisp.h (BINDING_STACK_SIZE): New macro.
8242
8e42f043
GM
8243 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8244 reading the directory if readdir returns null and errno is EAGAIN
8245 or EINTR.
8246
e8c87124
SM
82472000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8248
8249 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8250 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8251 Set amount_to_scroll to max of dx and scroll_step so that
8252 scroll-conservatively doesn't defeat scroll-step>1.
8253 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8254 scroll-conservatively for line-at-a-time scrolling.
8255
5f0c971d
GM
82562000-11-14 Gerd Moellmann <gerd@gnu.org>
8257
8258 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8259 extra argument.
8260
8261 * xdisp.c (current_mode_line_height, current_header_line_height):
8262 New variables.
8263 (init_xdisp): Initialize them.
8264 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8265 and use exact mode line heights if it is set.
8266
8267 * lisp.h (pos_visible_p): Change prototype.
8268
8269 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8270 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8271 and current_header_line_height first.
52283633
SM
8272 (current_mode_line_height, current_header_line_height):
8273 Declare extern.
5f0c971d 8274
d7361edf
MB
82752000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8276
8277 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8278 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8279 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8280
ee5e440a
MB
82812000-11-14 Miles Bader <miles@gnu.org>
8282
8283 * xterm.c (x_alloc_lighter_color): Include an additive component
8284 too for dark colors, because FACTOR isn't enough.
8285 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8286 New macros.
8287
5ca020fc
GM
82882000-11-13 Gerd Moellmann <gerd@gnu.org>
8289
8290 * keyboard.c (show_help_echo): Call message3_nolog with number of
8291 bytes in the help string as 2nd parameter, instead of the number
8292 of characters.
8293
9d348294
MB
82942000-11-13 Miles Bader <miles@gnu.org>
8295
8296 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8297 (Fload): Use new openp return protocol.
8298 Don't try to use Vload_source_file_function to load .elc files.
8299 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8300 openp return protocol.
8301 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8302
1729bb9a
KH
83032000-11-11 Kenichi Handa <handa@etl.go.jp>
8304
4e677396
KH
8305 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8306
8307 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8308 Defined these macros.
8309 (NLIST_STRUCT): Avoid re-defining it.
8310
1729bb9a
KH
8311 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8312 -I/usr/contrib/X11R6/include.
8313 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8314
a82fe213
JR
83152000-11-10 Jason Rumney <jasonr@gnu.org>
8316
8317 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8318
8319 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8320 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8321
8322 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8323 (Qw32_charset_vietnamese): New symbol.
8324 (xlfd_charset_of_font): New function.
8325 (w32_load_system_font): Use it.
8326 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8327 when Vw32_charset_info_alist is nil to ensure default face always
8328 has font. Use Fcar and Fcdr for safety.
8329 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8330 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8331 pseudo-codepages for special cases.
8332 (w32_to_x_font): New parameter to allow charset portion to be
8333 specified where there is many to one mapping. Callers changed.
8334 (w32_list_fonts): Avoid listing fonts that won't display.
8335
52d89894
GM
83362000-11-10 Gerd Moellmann <gerd@gnu.org>
8337
8338 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8339 (font_list_1): Renamed from font_list.
8340 (font_list): New function, trying alternative registries from
8341 Vface_alternative_font_registry_alist.
8342 (Finternal_set_alternative_font_registry_alist): New function.
8343 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
8344 Vface_alternative_font_registry_alist.
8345 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 8346
651cd3da
KR
83472000-11-09 Ken Raeburn <raeburn@gnu.org>
8348
8349 * lisp.h (Flooking_at): Declare.
8350
388ac098
GM
83512000-11-09 Gerd Moellmann <gerd@gnu.org>
8352
778fbc46 8353 * dired.c (directory_files_internal): Fix a braino.
52283633 8354
388ac098
GM
8355 * dired.c (directory_files_internal): Add missing GCPRO's.
8356 Some cleanup.
8357
ecaedde1
GM
83582000-11-08 Gerd Moellmann <gerd@gnu.org>
8359
f7eb32aa
GM
8360 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
8361 (resize_mini_window): Return quickly if Vresize_mini_window is
8362 nil. Don't return if Vmax_mini_window_height is nil.
8363
8364 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
8365 (syms_of_xdisp): Initialize them.
8366 (resize_mini_window): Act according to the setting of
8367 Vresize_mini_window.
8368 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
8369
ecaedde1
GM
8370 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
8371 scroll bar widget after configuring it, so that it will appear at
8372 the right position from the start.
8373 (XTredeem_scroll_bar): Cleaned up.
8374
3747ef2c
KH
83752000-11-08 Kenichi Handa <handa@etl.go.jp>
8376
8377 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 8378 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
8379 division by two.
8380
8381 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
8382
03391420
DL
83832000-11-07 Dave Love <fx@gnu.org>
8384
7758f1c1 8385 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
8386
8387 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
8388
b5de343d
GM
83892000-11-07 Gerd Moellmann <gerd@gnu.org>
8390
acad3c0b
GM
8391 * window.c (Fset_window_configuration): Don't try to preserve
8392 point in the current buffer, if that buffer is displayed in more
8393 than one window.
8394
b5de343d
GM
8395 * xfaces.c (lookup_named_face): If default face isn't realized,
8396 try to realize it. Return -1 if not successful.
8397 (Fx_list_fonts): Handle case that face cannot be determined.
8398 (Fface_font): Likewise.
8399
cdb1fe49
GM
84002000-11-06 Gerd Moellmann <gerd@gnu.org>
8401
8402 * window.c (displayed_window_lines): Detect partially
8403 visible lines at the bottom correctly.
8404
d3a67486
SM
84052000-11-06 Stefan Monnier <monnier@cs.yale.edu>
8406
8407 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
8408 when ensuring we don't do visit in indirect buffer.
8409
ff8dd5d5
KH
84102000-11-06 Kenichi Handa <handa@etl.go.jp>
8411
8412 * composite.h (compose_chars_in_text): Add prototype.
8413
8414 * composite.c (Vcomposition_function_table): New variable.
8415 (Qcomposition_function_table): New variable.
8416 (run_composition_function): Call
8417 Vcompose_chars_after_function with three arguments.
8418 (compose_chars_in_text): New function.
8419 (syms_of_composite): Modified the doc-string of
8420 Vcompose_chars_after_function. Declare composition-function-table
8421 as a lisp variable, and initialize it.
8422
8423 * xfns.c (x_encode_text): Suppress producing escape sequences for
8424 composition.
8425
8426 * xselect.c: Include composite.h.
8427 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
8428
d1145f85
AI
84292000-11-05 Andrew Innes <andrewi@gnu.org>
8430
8431 * w32term.c (x_produce_glyphs): Fix typo in enum name.
8432
8433 * sysdep.c (read_input_waiting): Remove extraneous argument to
8434 read_socket_hook.
8435
8436 * w32fns.c (Fx_server_version): Include w32_build_number in the
8437 return list.
8438
8439 * w32heap.c (w32_build_number): New variable.
8440 (cache_system_info): Set it.
8441
8442 * w32heap.h (w32_build_number): Add extern.
8443
8444 * emacs.c (syms_of_emacs): Update docstring for
8445 system-configuration, to reflect the actual usage on MS-Windows.
8446
e85ee976
GM
84472000-10-31 Gerd Moellmann <gerd@gnu.org>
8448
26dcb81b
GM
8449 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
8450 process idle timers while waiting for another event.
8451
52283633 8452 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
8453 the default face are colored.
8454
e85ee976
GM
8455 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
8456 window height hasn't changed.
8457
01b220b6
JR
84582000-10-31 Jason Rumney <jasonr@gnu.org>
8459
8460 * w32term.c (x_produce_glyphs): Handle composite characters.
8461 (x_draw_glyph_string_foreground)
8462 (x_draw_composite_glyph_string_foreground): Restore old font.
8463
4e6b7204
MB
84642000-10-31 Miles Bader <miles@lsi.nec.co.jp>
8465
8466 * minibuf.c (read_minibuf): Reset the undo history just before
8467 starting the recursive-edit.
8468
d4358b37
GM
84692000-10-30 Gerd Moellmann <gerd@gnu.org>
8470
563f68f1
GM
8471 * xfaces.c (menu_face_change_count): New variable.
8472 (Finternal_set_lisp_face_attribute): Increment it for changes
8473 of the `menu' face.
8474 (realize_basic_faces): Reflect changes in the `menu' faces
8475 in menu bars.
8476
82e274d1
GM
8477 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
8478 dy obtained from the iterator's y-position after moving from
8479 scroll_margin_pos to PT; see comment there.
52283633 8480
0dbf9fd2
GM
8481 * xdisp.c (safe_eval_handler): Call add_to_log.
8482
906b3b14
GM
8483 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
8484 is not a symbol or string.
8485
d4358b37
GM
8486 * xdisp.c (echo_area_display): Don't perform a display update from
8487 inside redisplay. The update will happen anyway at the end of
8488 redisplay, and it can confuse redisplay (GC messages while
8489 redisplaying, for instance.)
8490
70c825df
SM
84912000-10-30 Stefan Monnier <monnier@cs.yale.edu>
8492
cf9b4b0b
SM
8493 * xrdb.c (x_load_resources): Use the class name in the defaults.
8494
70c825df
SM
8495 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
8496 (regex_compile): Catch bogus \(\1\).
8497
a1d34b1e
GM
84982000-10-30 Gerd Moellmann <gerd@gnu.org>
8499
cae71efe
GM
8500 * xterm.c (x_alloc_nearest_color): Fix last change to compare
8501 RGB values.
52283633 8502
35efe0a1
GM
8503 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
8504 we have a color cache, check that the cached color equals the
8505 allocated color. If not, clear the color cache.
8506
1d3baf74
GM
8507 * window.c (displayed_window_lines): Change buffers if necessary.
8508 Fix computation of displayed lines.
8509
a1d34b1e
GM
8510 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
8511 update_menu_bindings to DEFVAR_BOOL.
8512
70737ea9
KH
85132000-10-30 Kenichi Handa <handa@etl.go.jp>
8514
70c825df 8515 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 8516
fa0cb51d
KH
8517 * puresize.h (BASE_PURESIZE): Increase to 680000.
8518
70737ea9
KH
8519 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
8520
0e4c08e8
JR
85212000-10-29 Jason Rumney <jasonr@gnu.org>
8522
8523 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
8524
8525 * w32term.c (w32_bdf_per_char_metric): Negate descent.
8526 (w32_cache_char_metrics): Handle possibility that 'x' does not
8527 exist in a BDF font.
8528 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
8529
8530 * w32bdf.h (bdffont): Add nchars.
8531
8532 * w32bdf.c (set_bdf_font_info): Set it.
8533 (w32_BDF_TextOut): Swap byte order of double byte characters.
8534 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
8535
45b84006
EZ
85362000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
8537
8538 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
8539 don't override the colors in frame's param_alist, unless they are
8540 unspecified.
8541
8542 * term.c (reassert_line_highlight): If inverse_video is non-zero,
8543 reverse the effect of the highlight flag.
8544
caf9deee
KR
85452000-10-27 Ken Raeburn <raeburn@gnu.org>
8546
8547 * window.h (Fwindow_live_p): Declare.
8548
ae0b9b46
KR
8549 * undo.c (record_delete): Check that last_undo_buffer is really a
8550 buffer before applying XBUFFER to it.
8551
8552 * keymap.c (where_is_internal): Pass lisp object, not integer, to
8553 Faref.
8554
02067692
SM
85552000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8556
8557 * lisp.h (KEYMAPP): New macro.
8558 (get_keymap): Remove.
8559 (get_keymap_1): Rename get_keymap.
8560
8561 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
8562
8563 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
8564
8565 * xmenu.c (single_submenu): Use KEYMAPP.
8566 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8567 Use KEYMAPP rather than Fkeymapp.
8568
8569 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
8570
8571 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
8572 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8573 Use KEYMAPP rather than Fkeymapp.
8574 (single_submenu): Use KEYMAPP.
8575 (w32_menu_show, w32_dialog_show): Use TRUE.
8576
8577 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
8578
8579 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
8580 (Fkeymapp): Use KEYMAPP.
8581 (get_keymap): Rename from get_keymap_1. Remove old def.
8582 Return t when autoload=0 and error=0 and the keymap needs autoloading.
8583 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
8584 (Fminor_mode_key_binding): Don't raise an error if the binding
8585 is not a keymap.
8586 (Fuse_global_map, Fuse_local_map): Allow autoloading.
8587 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
8588
8589 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
8590 Allow Vspecial_event_map to be autoloaded.
8591 (menu_bar_items): Fetch the keymap rather than using keymapp.
8592 (menu_bar_one_keymap): No need to follow func-indirect any more.
8593 (parse_menu_item): get_keymap_1 -> get_keymap.
8594 (tool_bar_items): Fetch the keymap rather than using keymapp.
8595 (read_key_sequence): Use KEYMAPP.
8596
8597 * intervals.c (get_local_map): Use get_keymap rather than following
8598 function-indirections explicitly.
8599
8600 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
8601
f9d80af3
JR
86022000-10-27 Jason Rumney <jasonr@gnu.org>
8603
8604 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
8605 point, as Windows has oversized fonts.
8606
8607 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
8608
a3ba27da
GM
86092000-10-27 Gerd Moellmann <gerd@gnu.org>
8610
8611 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
8612 (freehook, reallochook): Handle null pointer arguments.
8613 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
8614
aa3b80cc
SM
86152000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8616
8617 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
8618 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
8619 Giving in to popular pressure to shut up the compiler with casts.
8620
e24e84cc
GM
86212000-10-27 Gerd Moellmann <gerd@gnu.org>
8622
8623 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
8624 signed value, and use a default value computed from the font's
8625 maximum descent.
8626
05ea7ef2
MB
86272000-10-27 Miles Bader <miles@lsi.nec.co.jp>
8628
8629 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
8630 that specify a negative underline position can still use underlines.
8631
8632 * window.c (Fpos_visible_in_window_p): Make POS default to
8633 WINDOW's point, not the current buffer's point.
8634
0b95284b
DL
86352000-10-26 Dave Love <fx@gnu.org>
8636
8637 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
8638 when it's necessary.
8639
6c5b90af
GM
86402000-10-26 Gerd Moellmann <gerd@gnu.org>
8641
8b6d9dc9
GM
8642 * window.c (size_window): Compute size difference from sum of old
8643 child window sizes instead of from parent's size.
8644
6bc92b2e
GM
8645 * xdisp.c (pos_visible_p): Change current buffer if necessary.
8646 Handle obscured lines at the top of the window.
8647
8648 * frame.c (Fdelete_frame): Doc fix. Move running the hook
8649 down after the last error condition check.
8650
6c5b90af
GM
8651 * frame.c (Fdelete_frame): Run delete-frame-hook.
8652
42f92d4d
KH
86532000-10-26 Kenichi Handa <handa@etl.go.jp>
8654
8655 * coding.c (decode_coding): Fix previous change (check also
8656 CODING_MODE_LAST_BLOCK).
8657
d97151cb
SM
86582000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8659
e7efc503
SM
8660 * regex.c: More `unsigned char' -> `re_char' changes.
8661 Also change several `int' into `re_wchar_t'.
8662 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
8663 (PUSH_FAILURE_POINTER): Don't cast any more.
8664 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
8665 We want GCC to complain, since this piece of code makes
8666 re_match non-reentrant, which *should* be fixed.
8667 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
8668 (EXTEND_BUFFER): Use RETALLOC.
8669 (SET_LIST_BIT): Don't cast.
8670 (re_wchar_t): New type.
8671 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
8672 that those two functions will always properly return.
8673 (IMMEDIATE_QUIT_CHECK): Cast to void.
8674 (analyse_first): Use recursion rather than an explicit stack.
8675 (re_compile_fastmap): Can't fail anymore.
8676 (re_search_2): Don't check re_compile_fastmap for failure.
8677 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
8678 Now also sets the new value (passed in a new argument).
8679 (re_match_2_internal): Use it.
8680 Also, use a new var `reg' of type size_t when looping through regs
8681 rather than reuse the inappropriate `mcnt'.
8682
d97151cb
SM
8683 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
8684 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
8685 (where_is_internal): Renamed from Fwhere_is_internal.
8686 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
8687 (Fwhere_is_internal): New function wrapping where_is_internal.
8688 (where_is_internal_1): Handle the case where we're filling the cache.
8689 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
8690
d5789b65
MB
86912000-10-25 Miles Bader <miles@gnu.org>
8692
8693 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
8694
4ecda532
GM
86952000-10-25 Gerd Moellmann <gerd@gnu.org>
8696
8697 * window.c (pos_fully_visible_p): Removed.
8698 (Fpos_visible_in_window_p): Use pos_visible_p to determine
8699 if position is visible and/or fully visible.
8700
8701 * lisp.h (pos_visible_p): Add prototype.
8702
8703 * xdisp.c (pos_visible_p): New function.
8704
68c3a137
KH
87052000-10-25 Kenichi Handa <handa@etl.go.jp>
8706
8707 * process.c (send_process): If OBJECT is t, it means that the data
8708 is from C string, but we should encode it. Before calling
8709 setup_raw_text_coding_system, be sure to flush out data by the
8710 previous coding system.
8711
7ae1c032
MB
87122000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8713
ff4dcd4b
MB
8714 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8715 assignment of startpos to prev when startpos == pos.
8716
7ae1c032
MB
8717 * editfns.c (find_field): Set the field stickiness correctly from
8718 overlay fields. Use renamed `text_property_stickiness'.
8719 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 8720 Only check text properties, not overlays.
7ae1c032
MB
8721 * textprop.c (get_char_property_and_overlay): New function.
8722 (Fget_char_property): Use it.
8723 * intervals.h (get_char_property_and_overlay): Add declaration.
8724
49801145
SM
87252000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8726
8727 * keymap.c: Use AREF, ASET and ASIZE macros.
8728 (Fmake_sparse_keymap): Docstring fix.
8729 (synkey): Remove.
8730 (shadow_lookup): Move up.
8731 Handle the case where lookup-key returns an integer.
8732 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8733 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8734 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8735 Simplify/rewrite the keymap-finding code.
8736 Add check for command shadowing, using shadow_lookup.
8737
39e776cd
SM
87382000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8739
8740 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8741 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8742 a symbol.
8743
2488aba5
AI
87442000-10-24 Andrew Innes <andrewi@gnu.org>
8745
8746 * dired.c (directory_files_internal_unwind): New function.
8747 (directory_files_internal): Use it to ensure closedir is called
8748 even if expand-file-name or file-attributes throw, eg. because of
8749 a user interrupt. Also enable immediate_quit while calling
8750 re_search, so that matching can be interrupted as well.
8751
b94fdf61
AI
87522000-10-24 Andrew Innes <andrewi@gnu.org>
8753
8754 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8755 NT-Emacs only.
8756 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8757 so that re_search functions only quit when callers expect them to.
8758
87592000-10-24 Kenichi Handa <handa@etl.go.jp>
8760
8761 * regex.c (regex_compile): Change the way of handling a range from
8762 a char less than 256 to a char not less than 256.
8763
1946f901
GM
87642000-10-24 Gerd Moellmann <gerd@gnu.org>
8765
7ae2f10f
GM
8766 * window.c (size_window): Prevent setting window's width or
8767 height to a negative value (esp. with XSETFASTINT).
8768
5dcab13e
GM
8769 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8770 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8771 (protect_malloc_state) [GC_MALLOC_CHECK &&
8772 GC_PROTECT_MALLOC_STATE]: New function.
8773 (PROTECT_MALLOC_STATE): New macro.
8774 (__malloc_initialize, morecore, _malloc_internal)
8775 (_free_internal) _realloc_internal): Use it to make _heapinfo
8776 read-only outside of gmalloc.
8777
63e1b552
GM
8778 * keymap.c: Update copyright.
8779
1946f901
GM
8780 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8781 a symbol.
8782
4fa09beb
GM
87832000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8784
8785 * filelock.c (unlock_all_files): Use unlock_file to expand each
8786 buffer's file_truename before trying remove its lock file.
8787
23afac01
EZ
87882000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8789
8790 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8791 or CRLF, decode EOLs.
8792
04448b95
KH
87932000-10-24 Kenichi Handa <handa@etl.go.jp>
8794
8795 * window.c (Fdisplay_buffer): Fix doc.
8796
3090a5a5
JR
87972000-10-23 Jason Rumney <jasonr@gnu.org>
8798
8799 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8800 ASCII font of default fontset on Windows.
8801
8802 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8803 xterm.c comment below).
8804
8805 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8806
a83fee2c
GM
88072000-10-23 Gerd Moellmann <gerd@gnu.org>
8808
8809 * xterm.c (x_connection_closed): Reset handling_signal.
8810
52283633 8811 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8812
6ffdb539
MB
88132000-10-23 Miles Bader <miles@gnu.org>
8814
8815 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8816 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8817 maintain old behavior.
8818 * minibuf.c (Fminibuffer_complete): Likewise.
8819
7f1c969b
MB
88202000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8821
8822 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8823 that when a font can't be exactly centered, it errs up rather than
8824 down.
8825
23afac01 88262000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8827
52283633 8828 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8829
1a578e9b
AC
88302000-10-23 Andrew Choi <akochoi@i-cable.com>
8831
8832 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8833
8834 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8835 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8836
8837 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8838 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8839 syms_of_search, x_term_init, and init_keyboard before calling
8840 init_window_once. Also, call syms_of_xmenu.
8841
8842 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8843 default fontset to Monaco.
8844
8845 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8846 NewMacWindow and DisposeMacWindow.
8847 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8848 instead of calling NewMacWindow and setting fields of
8849 f->output_data.mac directly. Call init_frame_faces.
8850 (Fdelete_frame) [macintosh]: Remove unused code.
8851 (Fmodify_frame_parameters) [macintosh]: Call
8852 x_set_frame_parameters instead of mac_set_frame_parameters.
8853
8854 * frame.h [macintosh]: Define menu_bar_lines field in struct
8855 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8856
8857 * keyboard.c [macintosh]: Include macterm.h.
8858 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8859 and menu_bar_activate_event type events as for X and NT.
8860 (make_lispy_event) [macintosh]: Construct lisp events of type
8861 MENU_BAR_EVENT as for X and NT.
8862
8863 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8864 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8865 (sys_subshell) [macintosh]: Remove definition entirely.
8866 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8867 Vwindow_system_version here. Remove initialization of
8868 Vx_bitmap_file_path.
8869 (read_input_waiting): Correct the number of parameters passed to
8870 read_socket_hook.
8871 Move all Macintosh functions to mac/mac.c.
8872
8873 * term.c [macintosh]: Include macterm.h.
8874
8875 * window.c [macintosh]: Include macterm.h.
8876
8877 * xdisp.c [macintosh]: Include macterm.h. Declare
8878 set_frame_menubar and pending_menu_activation.
8879 (echo_area_display) [macintosh]: Do not return if terminal frame
8880 is the selected frame.
8881 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8882 Allow only the selected frame to set menu bar.
8883 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8884 calling FRAME_EXTERNAL_MENU_BAR (f).
8885 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8886
8887 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8888 and check_x. Declare XCreateGC. Define x_create_gc and
8889 x_free_gc. Initialize font_sort_order.
8890 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8891 but call x_list_fonts instead of w32_list_fonts.
8892 (Finternal_face_x_get_resource) [macintosh]: Do not call
8893 display_x_get_resource.
8894 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8895 (realize_x_face) [macintosh]: Load the font if it is specified in
8896 ATTRS.
52283633 8897 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8898
1ffbabe3
SM
88992000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8900
8901 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8902 is nil: since we go to the end of submap anyway, we'd end up
8903 setting nil to nil.
8904 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8905 doesn't obey autoload.
8906
bed43f1d
EZ
89072000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8908
1ffbabe3 8909 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8910
ea4233a7
JR
89112000-10-21 Jason Rumney <jasonr@gnu.org>
8912
8913 * w32term.c (w32_cache_char_metrics): Double check that font is
8914 really fixed pitch before trusting tmPitchAndFamily.
8915
f3d3c491
AI
89162000-10-21 Andrew Innes <andrewi@gnu.org>
8917
8918 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8919
8920 * w32term.h: Extern decl for w32_cache_char_metrics.
8921
8922 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8923
8924 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8925 (w32_unload_font): Free per_char array if present.
8926
8927 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8928 cached information in emulated XFontStruct to handle common cases
8929 quickly. Do not allocate XCharStruct for return.
8930 (w32_native_per_char_metric): New function.
8931 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8932 allocating one.
8933 (x_produce_glyphs): Don't get an HDC. Change calls to
8934 w32_per_char_metric to match arg change above. Remove calls to
8935 free results.
8936 (w32_get_glyph_overhangs): Ditto.
8937 (w32_cache_char_metrics): New function.
8938
8939 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8940 ($(BLD)/casefiddle.$(O)): Remove compile command.
8941 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8942 ($(BLD)/dispnew.obj):
8943 ($(BLD)/keyboard.obj):
8944 ($(BLD)/w32inevt.obj):
8945 ($(BLD)/w32bdf.obj):
8946 ($(BLD)/alloc.obj):
8947 ($(BLD)/buffer.obj):
8948 ($(BLD)/editfns.obj):
8949 ($(BLD)/emacs.obj):
8950 ($(BLD)/fileio.obj):
8951 ($(BLD)/fns.obj):
8952 ($(BLD)/indent.obj):
8953 ($(BLD)/insdel.obj):
8954 ($(BLD)/intervals.obj):
8955 ($(BLD)/minibuf.obj):
8956 ($(BLD)/print.obj):
8957 ($(BLD)/scroll.obj):
8958 ($(BLD)/sysdep.obj):
8959 ($(BLD)/textprop.obj):
8960 ($(BLD)/widget.obj):
f3d3c491
AI
8961 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8962 ($(BLD)/term.obj): Add dependency on dispextern.h.
8963
52283633
SM
8964 * makefile.nt ($(BLD)\dispnew.obj):
8965 ($(BLD)\keyboard.obj):
8966 ($(BLD)\w32inevt.obj):
8967 ($(BLD)\w32bdf.obj):
8968 ($(BLD)\alloc.obj):
8969 ($(BLD)\buffer.obj):
8970 ($(BLD)\editfns.obj):
8971 ($(BLD)\emacs.obj):
8972 ($(BLD)\fileio.obj):
8973 ($(BLD)\fns.obj):
8974 ($(BLD)\indent.obj):
8975 ($(BLD)\insdel.obj):
8976 ($(BLD)\intervals.obj):
8977 ($(BLD)\minibuf.obj):
8978 ($(BLD)\print.obj):
8979 ($(BLD)\scroll.obj):
8980 ($(BLD)\sysdep.obj):
8981 ($(BLD)\textprop.obj):
8982 ($(BLD)\widget.obj):
f3d3c491
AI
8983 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8984 ($(BLD)\term.obj): Add dependency on dispextern.h
8985
18ad4821
EZ
89862000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8987
8988 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8989 with an additional argument of Qt.
8990
de54681a
MB
89912000-10-21 Miles Bader <miles@gnu.org>
8992
8993 * window.c (pos_fully_visible_in_window_p): New function.
8994 (Fpos_visible_in_window_p): Add FULLY argument.
8995 Use pos_fully_visible_in_window_p.
8996 (window_scroll_pixel_based, window_scroll_line_based): Update
8997 calls to Fpos_visible_in_window_p.
8998 * lisp.h (Fpos_visible_in_window_p): Update prototype
8999
13c844fb
GM
90002000-10-20 Gerd Moellmann <gerd@gnu.org>
9001
9002 * alloc.c (toplevel): Conditionalize compilation of mem_*
9003 functions differently.
52283633 9004
d9506268
JR
90052000-10-20 Jason Rumney <jasonr@gnu.org>
9006
9007 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
9008 mem_init where it used to be. mem_z etc not defined otherwise.
9009
8094989b
GM
90102000-10-20 Gerd Moellmann <gerd@gnu.org>
9011
9012 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
9013 GC_MALLOC_CHECK.
9014 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
9015 structure definition and related variabled to the top of the file.
9016 Include this code when GC_MALLOC_CHECK is defined.
9017 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
9018 register/unregister allocated region.
9019 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
9020 which isn't allocated.
9021 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
9022 something which is already in use.
9023 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
9024 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
9025 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
9026 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
9027
9028 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
9029 _malloc_internal instead of malloc.
9030 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
9031 of free.
9032
ea456eb4
AI
90332000-10-20 Andrew Innes <andrewi@gnu.org>
9034
9035 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
9036 Windows.
9037 (my_strftime) <macro>: Don't use macro arg list when redefining as
9038 _strftime_copytm.
9039 (my_strftime) <function>: Supply 0 as ut argument.
9040
e64c3a75
JR
90412000-10-19 Jason Rumney <jasonr@altavista.net>
9042
9043 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
9044 including dispextern.h, as it stops faces from working.
9045
9046 * w32fns.c (Fx_create_frame): Don't bother calling
9047 face-set-after-frame-default since the caller does it for us
9048 anyway. Clean up calls to x_get_arg to be consistent with X.
9049
9050 * w32term.c (x_produce_glyphs): Handle
9051 unibyte_display_via_language_environment correctly.
9052 (w32_draw_box_rect): Fix the calculation of width and height.
9053
9054 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
9055 as it has stopped working.
9056 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
9057 menu-bar.
9058
17401c97
GM
90592000-10-19 Gerd Moellmann <gerd@gnu.org>
9060
9061 * eval.c (skip_debugger): Prevent a compiler warning.
9062 (Fcondition_case): Likewise.
9063 (Fbacktrace_frame): Use a null interactive spec.
9064
773272d8
KH
90652000-10-19 Kenichi Handa <handa@etl.go.jp>
9066
9067 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
9068
a42943e9
GM
90692000-10-18 Gerd Moellmann <gerd@gnu.org>
9070
e50517d9
GM
9071 * strftime.c: Sync with glibc, file version 1.78.
9072 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
9073 should no longer be used according to ISO 8601.
9074
9035a35a
GM
9075 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
9076 no map for meta_prefix_char, don't try to use it as a keymap.
9077 Instead, if T_OK is non-zero, look up a default binding, if any,
9078 otherwise, if T_OK is zero, return nil.
9079
a42943e9
GM
9080 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
9081 (x_to_xcolors, png_load): Use x_query_color.
9082
52283633
SM
9083 * xterm.c (x_color_cells, x_query_colors, x_query_color):
9084 New functions.
a42943e9
GM
9085 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
9086 which can be slow.
9087 (x_copy_color, x_alloc_lighter_color): Likewise.
9088
9089 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
9090 (x_query_color, x_query_colors): Add prototype.
9091
9092 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
9093 check_string_bytes only if not noninteractive, increase count to 50.
9094
00de2987
MB
90952000-10-18 Miles Bader <miles@lsi.nec.co.jp>
9096
9097 * insdel.c (adjust_markers_for_delete): Handle before-insertion
9098 markers correctly.
9099
54918e2b
GM
91002000-10-17 Gerd Moellmann <gerd@gnu.org>
9101
1f0b3fd2
GM
9102 * alloc.c (pure_bytes_used): Renamed from pureptr.
9103 (ALIGN): New macro.
9104 (pure_alloc): New function.
9105 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
9106 Use it.
9107 (Fpurecopy): Use PURE_POINTER_P.
9108
68c5d1db
GM
9109 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
9110 PT has moved backward.
52283633 9111
9a038881
GM
9112 * xdisp.c (cursor_row_p): Take continued lines into account.
9113
361b097f
GM
9114 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
9115 string's size_byte.
9116 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
9117 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
9118 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
9119 string allocated.
9120
54918e2b
GM
9121 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
9122 of selective display off while searching for the next line start.
9123
03ed0806
KH
91242000-10-17 Kenichi Handa <handa@etl.go.jp>
9125
9126 * Makefile.in (term.o): Depend on dispextern.h.
9127
7e05cdaf
SM
91282000-10-16 Stefan Monnier <monnier@cs.yale.edu>
9129
9130 * keymap.c (keymap_memberp): Ensure that nil is not a member.
9131
a6801fd1
GM
91322000-10-16 Gerd Moellmann <gerd@gnu.org>
9133
483de32b
GM
9134 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
9135 the iterator at the beginning, so that they can be set later on,
9136 for instance in reseat_at_next_visible_line_start, without being
9137 overwritten.
9138
a6801fd1
GM
9139 * xfns.c (pbm_format): Add :foreground and :background keywords.
9140 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 9141 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 9142
dbf1fcc1
EZ
91432000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
9144
9145 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
9146
52283633 9147 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
9148
9149 * msdos.c (IT_set_face): Compare highlighted face with the default
9150 face, and invert colors if these faces' colors are identical.
9151 (Fmsdos_remember_default_colors): Don't swap foreground and
9152 background colors in initial_colors[].
9153 (IT_set_frame_parameters): Don't swap frame's foreground and
9154 background pixels. If ALIST includes "(reverse . t)", swap
9155 foreground-color and background-color properties in frame's
9156 param_alist. If the original frame's param_alist doesn't specify
9157 the colors, store unspecified-fg and unspecified-bg, reversed if
9158 required.
9159
9160 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
9161 the colors are unspecified and reversed, reverse fore- and back-
9162 ground in the returned value.
9163 (Fframe_parameter): Ditto.
9164
b41fe2c3 91652000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 9166
3a6b59d9
GM
9167 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
9168 get_last_unchanged_at_beg_row.
9169 (find_first_unchanged_at_end_row): Renamed from
9170 get_first_unchanged_at_end_row.
9171 (find_first_unchanged_at_end_row): Convert assertions to
9172 unconditional tests which abort. When looking for a row in
9173 unchanged text, don't go further back than first_text_row.
9174
b41fe2c3
GM
9175 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
9176 Don't add in the last line's height when deciding if the new
9177 position is below the scroll margin.
9d1af64f 9178
b41fe2c3 91792000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
9180
9181 * editfns.c (Fconstrain_to_field): Check carefully for field
9182 boundaries if either OLD_POS or NEW_POS has a non-nil field
9183 property, even if they're the same.
9184
c412cb7b
KH
91852000-10-16 Kenichi Handa <handa@etl.go.jp>
9186
9187 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9188 height for XFillRectangle.
9189
5586f3eb
SM
91902000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9191
9192 * syntax.c (Fstring_to_syntax): New function extracted from
9193 Fmodify_syntax_entry.
9194 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9195 (skip_chars, Fforward_comment): Remove unused variables.
9196 (syms_of_syntax): Add defsubr for string-to-syntax.
9197 (describe_syntax): Add code for comment and string fences.
9198
db785038
SM
91992000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9200
9201 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9202 Do the meta->esc mapping. Call get_keyelt before returning.
9203 Start scanning from the second element (the first is always `keymap')
9204 to make it easier to detect when we reach a parent map.
9205 Handle the case of inheriting from a symbol whose function is a map.
9206 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9207 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9208 (get_keyelt, Flookup_key): Update call to access_keymap.
9209 Remove the meta->esc mappings.
9210 (define_as_prefix): Delete old disabled code.
9211 (menu_item_p): New function.
9212 (where_is_internal_1): Skip over the few remaining menu items.
9213 * lisp.h (access_keymap): Update prototype.
9214 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9215 Update call to access_keymap.
9216 (follow_key, read_key_sequence): Update calls to access_keymap.
9217 Remove the meta->esc mappings.
9218
cafafe0b
GM
92192000-10-13 Gerd Moellmann <gerd@gnu.org>
9220
a2e2a7f6
GM
9221 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9222 with additional argument.
9223
cafafe0b
GM
9224 * xdisp.c (cursor_row_p): New function.
9225 (try_cursor_movement, display_line): Use it.
52283633 9226
cafafe0b
GM
9227 * xdisp.c (append_space): Also save/restore iterator's current
9228 character and its length.
9229
9230 * xdisp.c (init_from_display_pos): Add an assertion.
9231 (handle_stop): Don't set iterator's add_overlay_start.
9232 (handle_invisible_prop): Likewise.
9233 (load_overlay_strings): If text under an overlay is invisible,
9234 take both before- and after-strings into account when the iterator
9235 is positioned either at the start or at the end of the overlay.
9236 (forward_to_next_line_start): Rewritten.
9237 (reseat_at_next_visible_line_start): Rewritten.
9238 (set_iterator_to_next): Add parameter RESEAT_P.
9239
9240 * dispextern.h (struct it): Remove member add_overlay_start.
9241 (set_iterator_to_next): Change prototype.
9242
c744452b
KH
92432000-10-13 Kenichi Handa <handa@etl.go.jp>
9244
9245 * coding.c (code_convert_region): Be sure to initialize
9246 coding->category_idx.
e4a3f4e1
KH
9247 (decode_coding_string): Set coding->src_multibyte and
9248 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9249 (encode_coding_string): Set coding->src_multibyte and
9250 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 9251
321fd26f
SM
92522000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9253
9254 * xfns.c (Fx_create_frame): Don't bother calling
9255 face-set-after-frame-default since the caller does it for us anyway.
9256
76832439
EZ
92572000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9258
9259 * window.c (coordinates_in_window): Fix detection of vertical line
9260 on character terminals.
9261
2483cf58
GM
92622000-10-12 Gerd Moellmann <gerd@gnu.org>
9263
9264 * editfns.c (save_excursion_save): Additionally record the
9265 selected window.
9266 (save_excursion_restore): If buffer was visible in a window, and a
9267 different window was selected, and the old selected window is
9268 still live, restore point in that window.
9269
eb991b25
KH
92702000-10-12 Kenichi Handa <handa@etl.go.jp>
9271
8a0eba09
KH
9272 * xterm.c (x_produce_glyphs): Handle
9273 unibyte_display_via_language_environment correctly.
9274
20401fcc
KH
9275 * regex.c (regex_compile): Change the way of handling a range from
9276 unibyte char to multibyte char.
9277
9278 * syntax.c (skip_chars): Change the way of handling a range from
9279 unibyte char to multibyte char.
9280
eb991b25
KH
9281 * process.c (read_process_output): Cancel previous change.
9282
365dd325
EZ
92832000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9284
c1b096cb
EZ
9285 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9286
365dd325
EZ
9287 * charset.c (Ffind_charset_string): Doc fix.
9288 (Ffind_charset_region): Doc fix.
9289
eb483c2b
KH
92902000-10-11 Kenichi Handa <handa@mule.m17n.org>
9291
9292 * process.c (read_process_output): Fix previous change. Adjust
9293 multibyteness of text to insert in a buffer by
52283633 9294 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 9295
b40bfb99
AS
92962000-10-10 Andreas Schwab <schwab@suse.de>
9297
9298 * alloc.c (mark_object): Remove all workarounds installed on
9299 1993-08-08.
9300
caff31d4
KH
93012000-10-10 Kenichi Handa <handa@etl.go.jp>
9302
52283633 9303 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
9304 (base64_encode_1): Make it work for a text of multibyte form.
9305 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9306 case. Don't call str_to_multibyte because base64_decode_1
9307 produces correct multibyte form for eight-bit codes.
52283633 9308 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
9309 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9310 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9311 codes.
9312
9313 * charset.h (CHAR_STRING): Optimized for single byte characters.
9314
cba026ef
AS
93152000-10-09 Andreas Schwab <schwab@suse.de>
9316
9317 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9318 -1 after socket is closed, to fall through to error processing.
9319
1e21fe48
EZ
93202000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9321
9322 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 9323 variables. If ALIST includes foreground-color or
1e21fe48
EZ
9324 background-color, change also the colors of the default face for
9325 this frame.
9326
a640322e
EZ
93272000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9328
9329 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9330 them extern (they are defined on xfaces.c).
9331 (syms_of_msdos): Don't intern and don't staticpro
9332 Qbackground_color and Qforeground_color.
9333
a115794c
EZ
93342000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9335
9336 * frame.c (Fframe_parameter): For non-windowed frames, if
9337 f->param_alist says foreground or background color is unspecified,
9338 call tty_color_name to return the color name computed from the
9339 frame's current colors.
9340
f5533b63
DL
93412000-10-06 Dave Love <fx@gnu.org>
9342
9343 * terminfo.c (ospeed): Don't declare.
9344
9345 * sysdep.c: Don't include string.h.
9346 (h_errno): Declare conditional also on TRY_AGAIN.
9347
9348 * charset.c (Ffind_charset_string): Doc fix.
9349
52283633 9350 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
9351 (Fbase64_decode_region, Fbase64_decode_string): More explicit
9352 error messages.
9353
2b06561a
DL
93542000-10-05 Dave Love <fx@gnu.org>
9355
9356 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
9357 position like menu-bar.
9358
ca839c85
GM
93592000-10-05 Gerd Moellmann <gerd@gnu.org>
9360
9361 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
9362
9363 * xdisp.c (handle_single_display_prop): Use safe_call1.
9364 (safe_call): Renamed from call_function.
9365 (safe_call1): New function.
9366 (handle_fontified_prop): Use safe_call1 instead of call1.
9367 (safe_eval): Renamed from eval_form.
9368 (safe_eval_handler): Renamed from eval_handler.
9369 (handle_single_display_prop, display_mode_element): Use safe_eval
9370 instead of eval_form.
9371
9372 * xfaces.c (merge_face_heights): Use safe_call instead of
9373 call_function.
9374
9375 * keyboard.c (show_help_echo): Use safe_call instead of
9376 call_function; use safe_eval instead of eval_form.
9377
9378 * lisp.h (safe_call): Renamed from call_function.
9379 (safe_eval): Renamed from eval_form.
9380 (safe_call1): Add prototype.
9381
a3489ece
MB
93822000-10-05 Miles Bader <miles@lsi.nec.co.jp>
9383
9384 * xfns.c (image_ascent): Rearrange ascent calculation for the
9385 has-a-font case.
9386
35810b6f
SM
93872000-10-04 Stefan Monnier <monnier@cs.yale.edu>
9388
9389 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
9390 (where_is_internal_1): Don't bother ignoring menu-items any more.
9391
3dc78168
GM
93922000-10-04 Gerd Moellmann <gerd@gnu.org>
9393
9394 * keyboard.c (update_menu_bindings): New variable.
9395 (parse_menu_item): Use AREF. If update_menu_bindings
9396 is 0, don't update menu bindings.
9397 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
9398
1efc2bb9
EZ
93992000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
9400
9401 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
9402 to `mark_object'.
9403
3f679f55
SM
94042000-10-02 Stefan Monnier <monnier@cs.yale.edu>
9405
9406 * syntax.c (forw_comment): Match nestedness of ender/starter.
9407 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
9408 (prev_char_comstart_first): Remove.
9409 (back_comment): Check two-char comment markers more carefully
9410 to better handle overlapping cases like *//* or /* */* */ ...
9411 Match nestedness of ender/starter.
9412
2021ab61
DL
94132000-10-02 Dave Love <fx@gnu.org>
9414
9415 * config.in (HAVE_GAI_STRERROR): Add undef.
9416
9417 * process.c (Fopen_network_stream): Use it.
9418
9419 * m/alpha.h (NO_REMAP): Don't define.
9420
64e6cc18
GM
94212000-10-02 Gerd Moellmann <gerd@gnu.org>
9422
9423 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
9424 return with a string converted to an integer or vice versa when
9425 Vmocklisp_arguments is t.
9426 (Fsignal): Likewise. The function can return for `quit'.
9427 (struct gcpro): Declare member `var' to point to a volatile
9428 Lisp_Object.
9429
9430 * eval.c (error): Prevent compiler warning.
9431
b1904cd9
SM
94322000-09-30 Stefan Monnier <monnier@cs.yale.edu>
9433
9434 * keymap.c (keymap_memberp): New function.
9435 (Fset_keymap_parent): Use it.
9436 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
9437 Use keymap_memberp to avoid creating cycles.
9438 (access_keymap): Use KEYMAPP.
9439
71c9ec51
GM
94402000-09-30 Gerd Moellmann <gerd@gnu.org>
9441
9442 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
9443 gai_strerror. Make sure xerrno is set if connect fails. Improve
9444 error recovery.
71c9ec51 9445
c70c6b58
JR
94462000-09-29 Jason Rumney <jasonr@gnu.org>
9447
9448 * w32term.c (w32_char_font_type, w32_encode_char)
9449 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
9450 (w32_bdf_per_char_metric): New function.
9451 (w32_per_char_metric): Use it.
9452 (x_draw_glyph_string_background): Always draw background for BDF
9453 glyphs.
9454
9455 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
9456 GDI object which is a scarce resource.
9457
9458 * w32bdf.c (search_file_line): Fix skipping of whitespace.
9459 (get_quoted_string): Fix limit on memchr search.
9460 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
9461 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
9462 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
9463 (get_cached_font_char, cache_char_offset): Use macro
9464 BDF_CODEPOINT_RANGE_COVER_P.
9465 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
9466 (clear_cached_bitmap_slots): New function.
9467 (GET_HEX_VALUE): G-Z, g-z are not hex.
9468 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
9469 (get_bitmap_with_cache): Use new cache implementation.
9470 (create_offscreen_bitmap): New function.
9471 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
9472
9473 * w32term.c (x_produce_glyphs): If the distance from the current
9474 position to the next tab stop is less than a canonical character
9475 width, use the tab stop after that.
9476 (x_draw_glyphs): Handle case START and END are out of bounds more
9477 carefully.
9478 (x_clear_mouse_face): Block/unblock input.
9479 (x_display_and_set_cursor): Don't show a hollow box cursor for
9480 buffers whose cursor_type is nil.
9481
fe01239f
GM
94822000-09-29 Gerd Moellmann <gerd@gnu.org>
9483
52283633 9484 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
9485
9486 * dispextern.h (updating_frame): Declare extern.
9487
e7c52f1f
AS
94882000-09-29 Andreas Schwab <schwab@suse.de>
9489
9490 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
9491
de6e1f7c
GM
94922000-09-29 Gerd Moellmann <gerd@gnu.org>
9493
25126faa
GM
9494 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
9495 use its function definition.
9496 (tool_bar_items): Likewise.
9497
de6e1f7c 9498 * lisp.h (fatal): Declare NO_RETURN.
52283633 9499
454ee39b
KH
95002000-09-29 Kenichi Handa <handa@etl.go.jp>
9501
9502 * keymap.c: Remove the line "#undef NULL".
9503
96301c5f
GM
95042000-09-28 Gerd Moellmann <gerd@gnu.org>
9505
52283633 9506 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 9507
efffeeb4
DL
95082000-09-28 Dave Love <fx@gnu.org>
9509
ecb8b666
DL
9510 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
9511
dc3cd20f
DL
9512 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
9513
9514 * .gdbinit (xreload): Note its need on GNU/Linux.
9515
efffeeb4
DL
9516 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
9517 r_alloc, r_alloc_free.
9518
8610d903
KH
95192000-09-28 Kenichi Handa <handa@etl.go.jp>
9520
9521 * syntax.c (skip_chars): Handle negation correctly.
9522
8901d1ac
GM
95232000-09-27 Gerd Moellmann <gerd@gnu.org>
9524
6f22f1ad
GM
9525 * xfaces.c (realize_default_face): Call set_lface_from_font_name
9526 with non-zero FORCE_P argument.
9527
52283633 9528 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
9529 Add assertions.
9530
9531 * xdisp.c (window_box_height): Add an assertion.
9532
9533 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
9534 tool-bar than is available.
9535 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
9536
36f1966f
DL
95372000-09-27 Dave Love <fx@gnu.org>
9538
efffeeb4 9539 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 9540
31d929e5
GM
95412000-09-26 Gerd Moellmann <gerd@gnu.org>
9542
c98863bf
GM
9543 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
9544 instead of BITS_PER_INT.
9545 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
9546 EMACS_UINT, respectively.
9547 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
9548
9549 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
9550
9551 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
9552
77072ab1
GM
9553 * window.c (freeze_window_starts): Construct last argument for
9554 foreach_window differently.
9555
9556 * xfns.c (x_decode_color): Don't return a Lisp_Object.
9557
9558 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
9559 EMACS_UINT instead of `int' and `unsigned int'.
9560 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
9561
9562 * frame.h (struct frame): Make the `nothing' member of union
9563 output_data an EMACS_INT.
9564
52283633 9565 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
9566 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
9567 size in the sdata structure.
9568 (SDATA_NBYTES, SDATA_DATA): New macros.
9569 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
9570 differently for the different layout of the sdata structure.
9571 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
9572 in sdata.
9573 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
9574 Check that size recorded in the string size and size recorded in
9575 the sdata structure agree.
9576
3e60b029
DL
95772000-09-25 Dave Love <fx@gnu.org>
9578
9579 * buffer.c: Include stdio.h.
9580
9581 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 9582
3e60b029
DL
9583 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
9584
9585 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 9586 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
9587 (__malloc_extra_blocks): Declare as __malloc_size_t.
9588
8ff16b4e
GM
95892000-09-25 Gerd Moellmann <gerd@gnu.org>
9590
755a2ccd
GM
9591 * alloc.c (mark_image): Use GC_NILP instead of NILP.
9592
d8b4516f
GM
9593 * keyboard.c (show_help_echo): Set help_echo_showing_p.
9594 (read_char): If help-echo is showing, preserve the echo area
9595 when redisplaying.
9596
9597 * xdisp.c (help_echo_showing_p): New variable.
9598 (set_message): Reset it to 0.
9599 (init_xdisp): Initialize help_echo_showing_p.
9600
9601 * dispextern.h (help_echo_showing_p): Declare extern.
9602
9603 * config.in: Fix typo in __GNUC_MINOR__.
9604
9605 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
9606
b11af2dd
GM
9607 * s/freebsd.h (POSIX_SIGNALS): Define.
9608
8ff16b4e
GM
9609 * xterm.c (x_clear_mouse_face): Block/unblock input.
9610
844eb643
DL
96112000-09-24 Dave Love <fx@gnu.org>
9612
9613 * fns.c (base64_encode_1): Fix last change.
9614
b30ab1b3
GM
96152000-09-22 Gerd Moellmann <gerd@gnu.org>
9616
9617 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
9618
9619 * xdisp.c (try_window_reusing_current_matrix): More fixes
9620 for the case window has a header-line.
9621
c6cbe5f0
DL
96222000-09-22 Dave Love <fx@gnu.org>
9623
4c7c1f3f
DL
9624 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
9625 a doc string.
9626
9627 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
9628
c6cbe5f0
DL
9629 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
9630
550a625e
GM
96312000-09-21 Gerd Moellmann <gerd@gnu.org>
9632
4c7c1f3f 9633 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
9634 for GCC >= 2.5.
9635
52283633
SM
9636 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
9637 Declare NO_RETURN.
fca99116 9638
80d26f99
GM
9639 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
9640 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
9641 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
9642 warnings.
52283633 9643
80d26f99
GM
9644 * marker.c (byte_char_debug_check): Return void.
9645
623a0aae
GM
9646 * xfns.c (Fx_create_frame): Set default frame parameter value
9647 for tool-bar-lines to 1.
9648
9649 * dispnew.c (scrolling_window): Compare y-positions of rows
9650 equal at the start. Some simplification.
9651
9652 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
9653 reused rows' y-position in the case window has a header-line, and
9654 new window start is greater than old window start.
9655
42ac0ae5
GM
9656 * process.c (process_sent_to): New variable.
9657 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
9658 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
9659 Declare more parameters volatile.
9660
550a625e
GM
9661 * lread.c (Vrecursive_load_depth_limit): New variable.
9662 (Fload): Check recursive loads whose recursion depth exceeds
9663 Vrecursive_load_depth_limit.
9664 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
9665
8320414c
GM
96662000-09-20 Gerd Moellmann <gerd@gnu.org>
9667
f46c275e
GM
9668 * fileio.c (Fread_file_name): Doc fix.
9669
9670 * editfns.c (Fmessage_or_box): Doc fix.
9671
9672 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
9673
b7e11c5b 9674 * xfns.c (xbm_scan): Allow C-style comments.
52283633 9675
8320414c
GM
9676 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
9677 symbols are specified, add color translations to the cache.
52283633 9678 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
9679 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
9680 xpm_cache_color.
9681 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
9682 structures to xpm_init_color_cache.
9683
da1608d9
GM
96842000-09-19 Gerd Moellmann <gerd@gnu.org>
9685
52283633 9686 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 9687
6badfa25
AI
96882000-09-19 Andrew Innes <andrewi@gnu.org>
9689
9690 * makefile.nt (bootstrap-emacs): Don't change directory.
9691
3a5f42bb
KH
96922000-09-19 Kenichi Handa <handa@etl.go.jp>
9693
1b7649bd
KH
9694 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
9695
3a5f42bb
KH
9696 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
9697 If output buffer is too small, signal an appropriated error.
9698
9f83cf0b
DL
96992000-09-18 Dave Love <fx@gnu.org>
9700
52283633 9701 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
9702 (current_active_maps): Remove redundant get_local_map call.
9703
28c7826c
GM
97042000-09-18 Gerd Moellmann <gerd@gnu.org>
9705
5cefa566
GM
9706 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9707 cursor for buffers whose cursor_type is nil.
52283633 9708
6fed3546
GM
9709 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9710 a feature to implement that is already implemented.
9711 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9712 warnings.
9713
9714 * xfns.c (x_clear_image_1): New function.
9715 (x_clear_image): Use it.
52283633 9716 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 9717
05b1f851
GM
9718 * dispnew.c (update_window): Move test for invisible lines
9719 at the top to update_window_line.
9720 (update_window_line): Handle invisible lines here.
9721
f4779de9
GM
9722 * xfns.c (clear_image_cache): Clear current matrices of all
9723 frames sharing an image cache. Block input while freeing
9724 images. Fix timestamp comparison.
9725 (x_clear_image): Also free the mask.
9726
28c7826c
GM
9727 * xfns.c (lookup_image): Block input while loading the image so
9728 that we won't get interrupted in a state where the image isn't yet
9729 set up completely.
9730 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9731 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9732 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 9733 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 9734
b7412313
GM
97352000-09-16 Gerd Moellmann <gerd@gnu.org>
9736
9737 * dispnew.c (update_window): Make sure to make desired rows
9738 current even if they are completely invisible at the top
9739 of a window.
9740
47e351a3
GM
97412000-09-15 Gerd Moellmann <gerd@gnu.org>
9742
7f8f1edc
GM
9743 * xfns.c (lookup_image): Build mask before applying an algorithm.
9744 Recognize algorithm `disabled'.
9745 (cross_disabled_images): New variable.
9746 (COLOR_INTENSITY): New macro.
9747 (x_detect_edges): Use COLOR_INTENSITY.
9748 (x_disable_image): New function.
9749 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9750
9751 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9752 disabled state, don't apply an image transformation algorithm if
9753 the user specified an image for the disabled state. Use
28c7826c 9754 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
9755 user hasn't specified an image.
9756
ebb8f116
GM
9757 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9758 allocation functions with the XPM lib.
9759 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9760 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9761 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9762 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 9763 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
9764 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9765 functions, if possible, because these handle color allocation
9766 failure more gracefully.
9767 (Fimage_mask_p): New function.
9768
47e351a3
GM
9769 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9770 (Qedge_detection, Qheuristic): New symbols.
9771 (syms_of_xfns): Initialize new symbols.
9772 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9773 `algorithm (edge-detection ...)'.
9774 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9775 (tiff_format, gif_format, gs_format): Add `:mask'.
9776 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9777 (GIF_MASK, GS_MASK): New enumerators.
9778 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9779 (emboss_matrix, laplace_matrix): New variables.
9780 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9781 (x_edge_detection): New functions.
9782 (x_laplace): Rewritten in terms of x_detect_edges.
9783 (x_build_heuristic_mask): If image has a mask, free it.
9784
fe83b953
AI
97852000-09-14 Andrew Innes <andrewi@gnu.org>
9786
9787 * makefile.w32-in: Revert to Unix line endings.
9788
3021e816
AI
97892000-09-14 Andrew Innes <andrewi@gnu.org>
9790
9791 * makefile.w32-in: Standardize indentation somewhat.
9792 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9793 cater for differences between shells.
9794
9795 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9796
2a32b5ea
GM
97972000-09-14 Gerd Moellmann <gerd@gnu.org>
9798
9799 * xterm.c (x_produce_glyphs): If the distance from the current
9800 position to the next tab stop is less than a canonical character
9801 width, use the tab stop after that.
9802
b4331e96
DL
98032000-09-14 Dave Love <fx@gnu.org>
9804
9805 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9806
ef9e4345
GM
98072000-09-14 Gerd Moellmann <gerd@gnu.org>
9808
085536c2
GM
9809 * xdisp.c (handle_fontified_prop): While running fontification
9810 functions, bind `fontification-functions' and
9811 `after-change-functions' to nil.
9812
ef9e4345
GM
9813 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9814 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9815
9816 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9817
9818 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9819 USE_MMAP_FOR_BUFFERS.
9820
9821 * insdel.c (make_gap): Use enlarge_buffer_text.
9822
9823 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9824 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9825 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9826 from former r_alloc_* functions in ralloc.c.
52283633 9827 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9828 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9829 (mmap_init) [REL_ALLOC_MMAP]: New function.
9830 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9831 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9832 BUFFER_FREE.
9833
9834 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9835 (enlarge_buffer_text): Add prototype.
9836
9837 * ralloc.c: Remove everything having to do with the use of mmap.
9838
f8608968
GM
98392000-09-13 Gerd Moellmann <gerd@gnu.org>
9840
2a494b2d
GM
9841 * sound.c (Fplay_sound): Doc fix.
9842
8c907a56
GM
9843 * keyboard.c: Avoid some more compiler warnings.
9844 (parse_tool_bar_item): Ignore cached key bindings.
9845
f8608968
GM
9846 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9847 and allocation of Lisp data.
9848
6ab70e9a
GM
98492000-09-12 Gerd Moellmann <gerd@gnu.org>
9850
d12d0a9b
GM
9851 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9852 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9853 defaults first.
9854
6ab70e9a
GM
9855 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9856
63c36c3c
KH
98572000-09-12 Miyashita Hisashi <himi@meadowy.org>
9858
9859 * ccl.c: Comment fixed.
9860 (MAX_MAP_SET_LEVEL): Increased to 30.
9861 (PUSH_MAPPING_STACK): Enclose with do-while block.
9862 (POP_MAPPING_STACK): Likewise.
9863 (stack_idx_of_map_multiple): New variable.
9864 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9865 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9866 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9867 (ccl_driver) <CCL_MapSingle>: Likewise.
9868 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9869 with the case where looking up process reaches to the end of
9870 map-set, and call CCL programs as the above change.
9871
7ee3bd7b
GM
98722000-09-11 Gerd Moellmann <gerd@gnu.org>
9873
8ec8a5ec
GM
9874 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9875 that might be clobbered by longjmp.
9876 (check_x_display_info, x_decode_color, create_frame_xic)
9877 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9878 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9879
f74b0705
GM
9880 * lread.c (init_lread): Set Vloads_in_progress to nil.
9881 (Fload): Show list of recursively loaded files, when signaling an
9882 error.
9883
7ee3bd7b
GM
9884 * lread.c (Vloads_in_progress): New variable.
9885 (record_load_unwind): New function.
9886 (Fload): Check for recursive loads.
9887 (syms_of_lread): Initialize Vloads_in_progress.
9888 (read_integer, read1): Avoid some compiler warnings.
9889
9890 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9891 compiler warnings.
9892
974e1e5b
MB
98932000-09-11 Miles Bader <miles@gnu.org>
9894
9895 * editfns.c (Fbuffer_string): Doc fix.
9896
9824c4e3
GM
98972000-09-10 Gerd Moellmann <gerd@gnu.org>
9898
9899 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9900
6a72fdd1
KR
99012000-09-09 Ken Raeburn <raeburn@gnu.org>
9902
9903 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9904 whether to include other header files.
9905
28e6fb66
GM
99062000-09-09 Gerd Moellmann <gerd@gnu.org>
9907
52283633 9908 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9909 by Fmemq as a boolean.
28e6fb66 9910
7f8b6551
SM
99112000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9912
9913 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9914
a8710abf
GM
99152000-09-08 Gerd Moellmann <gerd@gnu.org>
9916
d1a02881
GM
9917 * ralloc.c (mmap_fd): Remove initializer which can make it
9918 read-only in a dumped Emacs.
9919 (mmap_fd_1): New variable.
9920 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9921 restore it from there.
9922 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9923 unconditionally so that mmap_fd can be initialized there.
9924 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9925 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9926 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9927
c454aac1
GM
9928 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9929
9930 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9931 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9932
fc653ef2
GM
9933 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9934
3015eec0
GM
9935 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9936 inheritance.
9937
bfe0ee88
GM
9938 * xdisp.c (try_window_id): When trying to locate cursor in
9939 unchanged rows at the top, handle the case that we can't find it.
9940
a8710abf
GM
9941 * xterm.c (x_draw_glyphs): Handle case START and END are out
9942 of bounds more carefully.
9943
6b7d4ae4
DL
99442000-09-08 Dave Love <fx@gnu.org>
9945
423193c5
DL
9946 * s/sol2.h (REL_ALLOC_MMAP): Define.
9947 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9948
9949 * ralloc.c: Don't include string.h (redundant).
9950 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9951 [!MAP_ANON]: Include fcntl.h.
9952 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9953 (r_alloc, r_re_alloc, r_alloc_free)
9954 (mmap_enlarge, mmap_set_vars): Use it.
9955 (r_alloc_init_fd): New function.
9956 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9957 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9958 malloc type.
9959
9960 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9961 Remove vm-limit.o.
9962
6b7d4ae4
DL
9963 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9964 change to __NetBSD__.
9965
44d31981
KH
99662000-09-08 Kenichi Handa <handa@etl.go.jp>
9967
9968 * search.c (compile_pattern): Check the multibyteness of cached
9969 string and PATTERN.
9970
aad40737
MB
99712000-09-08 Miles Bader <miles@gnu.org>
9972
9973 * xfaces.c (default_face_vector): Function removed.
9974 (Finternal_merge_in_global_face): Restore old global/local
9975 attribute override order. Use inline loop instead of calling
9976 default_face_vector.
9977
91a211b5
GM
99782000-09-07 Gerd Moellmann <gerd@gnu.org>
9979
9980 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9981 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9982 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9983 where necessary, in case POINTER_TYPE is `void'.
9984
03419440
EZ
99852000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9986
9987 * frame.c (make_terminal_frame): Initialize frame foreground and
9988 background colors to unspecified, for the initial instance of an
9989 MSDOS frame.
9990
f46f845b
GM
99912000-09-07 Gerd Moellmann <gerd@gnu.org>
9992
24f76fbf
GM
9993 * ralloc.c (mmap_find): Fix overlap computation.
9994 (mmap_enlarge): Compute nbytes before trying to find an
9995 overlapping region.
9996
f46f845b
GM
9997 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9998 instead of `!='.
9999
10000 * lread.c (syms_of_lread): Change value of regexp
10001 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
10002
10003 * xmenu.c (xdialog_show): When looking up the selection in
10004 menu_items, take `quote' boundaries into account; this corresponds
10005 to a nil ITEM in x-popup-dialog.
10006
3c014385
KH
100072000-09-07 Kenichi Handa <handa@etl.go.jp>
10008
fd6f711b
KH
10009 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
10010 not 0x81.
10011 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
10012
3c014385 10013 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
10014 encoding, not decoding. Fix the handling of latin-jisx0201.
10015 Check for the charset katakana-jisx0201 too.
3c014385 10016 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 10017 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 10018
0da3ecef
GM
100192000-09-07 Gerd Moellmann <gerd@gnu.org>
10020
ab0ee409
GM
10021 * xfaces.c (Vparam_value_alist): New variable.
10022 (syms_of_xfaces): Initialize it.
10023 (Finternal_set_lisp_face_attribute): Avoid more consing.
10024
10025 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
10026 specially.
10027 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
10028 (Qbackground_mode): New variable.
10029 (syms_of_frame_1): Initialize Qbackground_mode.
10030
10031 * lisp.h (Qdisplay): Declare extern.
1091dd67 10032
0da3ecef
GM
10033 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
10034 change face on all frames, and change the default for new frames.
10035
b14654b9
DL
100362000-09-07 Dave Love <fx@gnu.org>
10037
10038 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
10039
d24fd56f
KH
100402000-09-07 Kenichi Handa <handa@etl.go.jp>
10041
794f3670
KH
10042 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
10043
0fddd0dc
KH
10044 * charset.c: Include composite.h
10045 (lisp_string_width): New function.
10046 (Fstring_width): Call lisp_string_width instead of strwidth.
10047
10048 * Makefile.in (charset.o): Depends on composite.h.
10049
d24fd56f
KH
10050 * process.c (read_process_output): Before inserting the decoded
10051 text in the buffer, adjust the multibyteness.
10052
fa0b693c
GM
100532000-09-06 Gerd Moellmann <gerd@gnu.org>
10054
52283633 10055 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
10056 buffer's text buffer is null, map new memory.
10057
0a58f946
GM
10058 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
10059 POINTER_TYPE and size_t.
10060 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
10061 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
10062 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
10063 [REL_ALLOC_MMAP]: New macros.
10064 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
10065 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
10066 [REL_ALLOC_MMAP]: New functions.
10067
10068 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
10069 before and after unexec.
10070
10071 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
10072 text buffers if necessary.
10073
10074 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
10075 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
10076 in prototypes.
10077
fa0b693c
GM
10078 * config.in (HAVE_MMAP): Add #undef.
10079
877055f6
GM
100802000-09-05 Gerd Moellmann <gerd@gnu.org>
10081
08ba3862
GM
10082 * frame.c (Qdisplay_type): New variable.
10083 (syms_of_frame_1): Initialize it.
10084 (Fframe_parameter): New function that avoids consing.
10085 (syms_of_frame): Defsubr it.
10086
66ffe51c
GM
10087 * buffer.c (Fother_buffer): Consider buffers as invisible when
10088 they are displayed in a window on an invisible frame.
10089
877055f6
GM
10090 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
10091 get-largest-window always return nil.
10092
bb970e67
GM
100932000-09-04 Gerd Moellmann <gerd@gnu.org>
10094
10095 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
10096 variable; recognize Emacs 19 elc files.
10097
7a3d0e0e
MB
100982000-09-04 Miles Bader <miles@gnu.org>
10099
10100 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
10101 before initially popping up the menu, so the menu doesn't flash
52283633 10102 when the face settings are significantly different from the defaults.
7a3d0e0e 10103
14473664
SM
101042000-09-04 Stefan Monnier <monnier@cs.yale.edu>
10105
10106 * regex.c (WIDE_CHAR_SUPPORT): New macro.
10107 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
10108 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
10109 (BIT_UNIBYTE): Remove.
10110 (re_match_2_internal): Delete corresponding code and streamline the
10111 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
10112 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
10113 (re_wctype_t): New type.
10114 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
10115 (regex_compile): Use them and fix handling of overly long char classes.
10116
c1174479
AI
101172000-09-03 Andrew Innes <andrewi@gnu.org>
10118
f8803e97
AI
10119 * makefile.w32-in: Change to DOS line endings.
10120
c1174479
AI
10121 * s/ms-w32.h (ORDINARY_LINK): New define.
10122
10123 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
10124 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
10125
10126 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
10127 (distclean): Delete them here instead.
10128
44ef7cf6
AI
10129 * w32proc.c (compare_env): Convert to uppercase for comparison,
10130 not lowercase, to match how the native Windows shell works.
10131
49b3bd82
JR
101322000-09-03 Jason Rumney <jasonr@gnu.org>
10133
10134 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
10135 CVS changes the line-ends when checking in/out on DOS/Windows.
10136
10137 * makefile.nt (emacs): Do not change directory to run temacs, as
10138 the load-path is set relative to current directory.
10139
a3d35a39
MB
101402000-09-03 Miles Bader <miles@gnu.org>
10141
10142 * xterm.c (x_alloc_lighter_color_for_widget): New function.
10143
d276b0cf
GM
101442000-09-02 Gerd Moellmann <gerd@gnu.org>
10145
715e84c9
GM
10146 * xdisp.c (redisplay_mode_lines): New function.
10147 (display_mode_lines): Return number of mode lines displayed.
10148 (echo_area_display): Use redisplay_mode_lines to draw garbaged
10149 mode lines. Don't temporarily bind redisplay-dont-pause to t.
10150
8892f40b
GM
10151 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
10152 string.h and strings.h.
10153 (index) [HAVE_INDEX]: Add prototype.
10154
d276b0cf
GM
10155 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
10156 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
10157
10158 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
10159 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10160
38404229
GM
101612000-09-01 Gerd Moellmann <gerd@gnu.org>
10162
10163 * lread.c (read1): Accept `?' as symbol constituent, for
10164 compatiblity with XEmacs.
10165
c0f9ea08
SM
101662000-08-31 Stefan Monnier <monnier@cs.yale.edu>
10167
10168 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
10169 (struct re_pattern_buffer): Remove newline_anchor.
10170 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
10171 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
10172 (re_max_failures, fail_stack): Use size_t rather than unsigned.
10173 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
10174 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
10175 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
10176 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
10177 Get rid of references to newline_anchor.
10178 (regcomp): Allocate and precompute a fastmap.
10179
8c0f83fe
GM
101802000-08-31 Gerd Moellmann <gerd@gnu.org>
10181
10182 * lread.c (openp): GCPRO local variable `filename'.
10183
4bb91c68
SM
101842000-08-30 Stefan Monnier <monnier@cs.yale.edu>
10185
10186 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10187
10188 * regex.c: Merge some changes from GNU libc. Add prototypes.
10189 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10190 Use memcmp and memcpy instead of bcopy and bcmp.
10191 (init_syntax_once): Use ISALNUM.
10192 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10193 (REG_UNSET_VALUE): Remove. Use NULL instead.
10194 (REG_UNSET, re_match_2_internal): Use NULL.
10195 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10196 New macros.
10197 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10198 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10199 (regex_compile): In handle_interval, return an error rather than try to
10200 unfetch the interval if we can't find the closing brace.
10201 Obey the RE_NO_GNU_OPS syntax bit.
10202 (TOLOWER): New macro.
10203 (regcomp): Use it.
10204 (regexec): Allocate regs.start and regs.end as one block.
10205
5226a931
GM
102062000-08-30 Gerd Moellmann <gerd@gnu.org>
10207
868dd24b
GM
10208 * xdisp.c (echo_area_display): Check display_completed instead
10209 of calling detect_input_pending.
10210
10211 * dispnew.c (update_frame): Only set display_completed here; move
10212 the update_begin and update_end calls here from update_frame_1.
10213 (update_frame_1): Don't set display_completed here, don't call
10214 update_begin/update_end.
10215
5226a931
GM
10216 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10217 instead of store_frame_param.
10218
2a8bd25f
GM
102192000-08-29 Gerd Moellmann <gerd@gnu.org>
10220
10221 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10222 desired window matrix hasn't been displayed, use the current row
10223 instead. Make sure that only those frame rows are updated for
10224 which there exists a corresponding enabled desired row.
52283633 10225
ba3478d9
MB
102262000-08-29 Miles Bader <miles@gnu.org>
10227
10228 * xfaces.c (default_face_vector): New function.
10229 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10230
87d0f685
GM
102312000-08-29 Gerd Moellmann <gerd@gnu.org>
10232
10233 * lread.c (openp): Prevent temporary string passed to
10234 Ffile_readable_p from being garbage collected.
10235
6fa86045
DL
102362000-08-28 Dave Love <fx@gnu.org>
10237
10238 * keymap.c (store_in_keymap): Add `static' to declaration.
10239
bb17930d
GM
102402000-08-28 Gerd Moellmann <gerd@gnu.org>
10241
10242 * emacs.c, callint.c, doc.c, editfns.c
10243 (toplevel) [HAVE_STRING_H]: Include string.h.
10244 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10245 (index): Remove prototypes which might conflict with non-standard
10246 definitions of index/strchr.
10247
10248 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10249 (rindex): Define only if !HAVE_RINDEX.
10250
10251 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10252
10253 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10254
87188200
MB
102552000-08-28 Miles Bader <miles@gnu.org>
10256
10257 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10258 made inconsistent by a font-related attribute in FROM.
10259 (merge_face_inheritance): Add function comment.
10260
41a68aef
KH
102612000-08-28 Kenichi Handa <handa@etl.go.jp>
10262
10263 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10264 the 4th arg (PREV_EVENT) Qt to suppress input method.
10265
f7c436c1
SM
102662000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10267
0b32bf0e
SM
10268 * regex.c: Indent cpp directives and remove parens after `defined'.
10269 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10270 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10271 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10272 (re_compile_pattern): Use size_t for length.
10273 (init_syntax_once): Move to a better place.
10274 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10275 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10276
f7c436c1
SM
10277 * syntax.c (back_comment): Detect cases where a comment-starter is
10278 actually inside another comment as in: /* a // b */ c // d \n.
10279 Make it clear that `comstart_pos' is unused for nested comments.
10280
10281 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10282 (KEYMAPP): New macro.
10283 (Fkeymap_parent, Fset_keymap_parent): Use it.
10284 (fix_submap_inheritance): Mark it static.
10285 (define_as_prefix, describe_buffer_bindings, describe_command)
10286 (describe_translation, describe_map): Complete prototypes.
10287
10288 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10289
10290 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10291 to better match the key-lookup behavior.
10292
6288c62f
GM
102932000-08-27 Gerd Moellmann <gerd@gnu.org>
10294
10295 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10296 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10297
e931344e
EZ
102982000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10299
10300 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10301 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10302 (xterm.o): Depend on coding.h
10303
d10dfeef
KH
103042000-08-26 Kenichi Handa <handa@etl.go.jp>
10305
10306 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10307 the corresponding '#endif'.
10308
2d73e8d3
MB
103092000-08-26 Miles Bader <miles@gnu.org>
10310
10311 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10312 * xfaces.c (QCinherit): New variable.
10313 (syms_of_xfaces): Initialize it.
10314 (LFACE_INHERIT): New macro.
10315 (Finternal_get_lisp_face_attribute)
52283633 10316 (merge_face_vector_with_property)
2d73e8d3
MB
10317 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10318 (check_lface_attrs): Allow new types of face height. Check
10319 inherit attribute.
10320 (CYCLE_CHECK): New macro.
10321 (merge_face_inheritance): New function.
10322 (merge_face_vectors): Merge inherited faces too. Add F and
10323 CYCLE_CHECK arguments.
10324 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10325 (lookup_named_face, lookup_derived_face, realize_named_face)
10326 (face_at_string_position, face_at_buffer_position): Supply
10327 new F and CYCLE_CHECK arguments to merge_face_vectors.
10328 (merge_face_heights): New function.
52283633 10329 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
10330 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10331 handle relative face heights.
10332 (lface_same_font_attributes_p): Compare heights using EQ.
10333
6ce974d4
KH
103342000-08-26 Kenichi Handa <handa@etl.go.jp>
10335
10336 * charset.c (char_to_string): Check the character validity.
52283633 10337 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 10338
dc1e502d
SM
103392000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10340
10341 * regex.c (PUSH_FAILURE_COUNT): New macro.
10342 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10343 Handle popping of a register's or a counter's data.
10344 (POP_FAILURE_POINT): Use the new name.
10345 (re_match_2_internal): Push counter data on the stack for succeed_n,
10346 jump_n and set_number_at and remove misleading dead code in succeed_n.
10347
bd9d0f3f
GM
103482000-08-25 Gerd Moellmann <gerd@gnu.org>
10349
10350 * xdisp.c (redisplay_internal): If considering all windows on all
10351 frames, update the display for each frame as soon as possible,
10352 instead of first building all desired matrices for all frames, and
10353 then updating them all.
10354 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
10355
aa5b8e15
GM
103562000-08-24 Gerd Moellmann <gerd@gnu.org>
10357
17494071
GM
10358 * bytecode.c (mark_byte_stack): Add a comment.
10359
52283633
SM
10360 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
10361 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
10362 a graphical frame.
10363
c543db81
KH
103642000-08-24 Kenichi Handa <handa@etl.go.jp>
10365
d246d5f5
KH
10366 * minibuf.c (do_completion): Always use compare-string, not
10367 string-equal because the latter doesn't pay attention to
10368 multibyteness of strings.
10369
c543db81
KH
10370 * process.c (create_process): Don't setup raw-text coding here.
10371 (Fopen_network_stream): Don't set coding->src_multibyte and
10372 coding->dst_multibyte here.
10373 (read_process_output): For process filter, return unibyte string
10374 if default-enable-multibyte-characters is nil.
10375 (send_process): If OBJECT is multibyte text, be sure to encoded it
10376 by the specified coding system for the process. Otherwise, setup
10377 raw-text coding.
52283633 10378 (init_process): Don't initialize default-process-coding-system here.
c543db81 10379
9b47cfe0
EZ
103802000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
10381
10382 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
10383 <scroll-down-aggressively>: Likewise.
10384
f5a36960
KH
103852000-08-23 Kenichi Handa <handa@etl.go.jp>
10386
10387 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
10388 zero. Set coding->produced_char correctly.
10389
69a7ffa7
AI
103902000-08-22 Andrew Innes <andrewi@gnu.org>
10391
10392 * makefile.w32-in: New file.
10393
10394 * unexw32.c (unexec): Ignore old_name, and use the actual location
10395 of the current executable instead. Base new_name on this.
10396
10397 * w32proc.c (create_child): Remove reference to security
10398 descriptor, which isn't needed and doesn't compile with mingw32.
10399
10400 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10401 up dllimport attributes.
10402 (x_update_window_end): Update prototype.
10403
10404 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
10405 extern, which screws up dllimport attributes.
10406
10407 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10408 up dllimport attributes.
10409
10410 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
10411 screws up dllimport attributes.
10412
10413 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10414 up dllimport attributes.
10415 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
10416 screws up dllimport attributes.
10417
10418 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10419 up dllimport attributes.
10420
10421 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
10422 screws up dllimport attributes.
10423
10424 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
10425 screws up dllimport attributes.
10426
10427 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10428 up dllimport attributes.
10429
10430 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
10431 unnecessary extern, which screws up dllimport attributes.
10432 (main): Ditto.
10433
10434 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10435 up dllimport attributes.
10436
10437 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
10438 unnecessary extern, which screws up dllimport attributes.
10439
10440 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
10441 screws up dllimport attributes.
10442
10443 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10444 up dllimport attributes.
10445
10446 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
10447
52283633
SM
10448 * w32bdf.c (search_file_line):
10449 (set_bdf_font_info):
10450 (seek_char):
10451 (w32_get_bdf_glyph):
69a7ffa7
AI
10452 (w32_BDF_to_x_font): Fix compile warnings.
10453
52283633 10454 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
10455
10456 * w32select.c: Include keyboard.h before frame.h.
10457
10458 * w32fns.c (max): Define macro.
10459 (JOHAB_CHARSET): Define if not known.
10460 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
10461 (Fx_show_tip): Synch with X version.
10462
10463 * w32xfns.c: Include keyboard.h before frame.h.
10464
10465 * w32fns.c: Include keyboard.h before frame.h.
10466
10467 * w32term.c: Include keyboard.h before frame.h.
10468
10469 * fontset.c: Include keyboard.h before frame.h.
10470
10471 * w32inevt.c: Include keyboard.h before frame.h.
10472 (MOUSE_MOVED): Define if not known.
10473
10474 * minibuf.c: Include keyboard.h before frame.h.
10475
10476 * keyboard.c: Include keyboard.h before frame.h.
10477
10478 * indent.c: Include keyboard.h before frame.h.
10479
10480 * dispnew.c: Include keyboard.h before frame.h.
10481
10482 * buffer.c: Include keyboard.h before frame.h.
10483
10484 * alloc.c: Include keyboard.h before frame.h.
10485
10486 * print.c: Include keyboard.h before frame.h.
10487
10488 * process.c: Include keyboard.h before frame.h.
10489
10490 * scroll.c: Include keyboard.h before frame.h.
10491
10492 * sysdep.c: Include keyboard.h before frame.h.
10493
10494 * term.c: Include keyboard.h before frame.h.
10495
10496 * window.c: Include keyboard.h before frame.h.
10497
10498 * xdisp.c: Include keyboard.h before frame.h.
10499 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
10500
10501 * frame.c: Include keyboard.h before frame.h.
10502
10503 * w32heap.h: Undefine min, max.
10504
10505 * w32gui.h: Undefine min, max.
10506
10507 * unexw32.c: Change PUCHAR to PCHAR.
10508 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
10509 (relocate_offset):
10510 (get_section_info):
69a7ffa7
AI
10511 (copy_executable_and_dump_data): Remove unnecessary static defs.
10512 (copy_executable_and_dump_data): Fix compile warnings.
10513
10514 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
10515
10516 * w32console.c (min): Define macro.
10517 (clear_frame, write_glyphs): Fix compile warning.
10518
52283633 10519 * w32proc.c (compare_env):
69a7ffa7
AI
10520 (find_child_console): Fix compile warning.
10521
10522 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
10523 sys_errlist instead of _sys_errlist.
10524 (get_emacs_configuration_options): New function.
10525
10526 * s/ms-w32.h (sys_nerr): Provide default definition.
10527 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
10528 name with _ prepended.
10529 (NSIG): Define if not known.
10530 (get_emacs_configuration): Provide extern declaration.
10531 (get_emacs_configuration_options): Provide extern declaration.
10532 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
10533
10534 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 10535 (map_w32_filename):
69a7ffa7
AI
10536 (read_unc_volume): Fix compile warning.
10537
10538 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
10539 definitions from being used.
10540
10541 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
10542
52283633 10543 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
10544 (open_unc_volume): Make arg const.
10545
10546 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
10547 (read_input_waiting): Remove excess parameter.
10548
10549 * w32.c (init_environment): Call _access.
10550 (check_windows_init_file): Call _close.
10551 (init_user_info): Call _putenv.
10552 (init_environment): Call _putenv and _strdup.
10553 (init_ntproc): Reset volume info cache on startup.
10554
10555 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
10556 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
10557 cannot override the CRT malloc.
10558
10559 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
10560 (LINK_FLAGS): Append to original value of LINK_FLAGS.
10561
10562 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
10563 unless we are linking with a static CRT.
10564 (RVA_TO_PTR): Cast result to unsigned char*.
10565
10566 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
10567 (add_volume_info): Use xstrdup.
10568
25060080
SM
105692000-08-22 Stefan Monnier <monnier@cs.yale.edu>
10570
10571 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
10572 (do_completion, Fminibuffer_complete_word): Use it.
10573 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
10574 var so it can take non-boolean values.
10575
6917e6bb
GM
105762000-08-21 Gerd Moellmann <gerd@gnu.org>
10577
acb7cc89 10578 * editfns.c (find_field): Formatting changes.
52283633 10579 (toplevel): Some old-style function forward declarations
acb7cc89
GM
10580 changed to prototypes, some new protypes added, some functions
10581 made static.
10582
10583 * lisp.h (set_time_zone_rule): Add prototype.
10584 (use_dialog_box): External declaration.
10585
0bbfdc25
GM
10586 * keyboard.c (gen_help_event): Add parameter SIZE.
10587 (kbd_buffer_events_waiting): Slightly rewritten.
10588 (clear_event): New function.
10589 (kbd_buffer_get_event): Use it, and clear the input_events of
10590 HELP_EVENTs.
10591 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
10592 don't fill the newly created array with nils.
10593 (toplevel): Convert some old-style function forward declarations
10594 to prototypes.
10595
10596 * keyboard.h (gen_help_event): Change prototype.
10597
10598 * xterm.c (XTread_socket): Change calls to gen_help_event.
10599
10600 * w32term.c (w32_read_socket): Change calls to gen_help_event.
10601
6917e6bb
GM
10602 * eval.c (Fmacroexpand): Doc fix.
10603
e5cd3d11
JR
106042000-08-20 Jason Rumney <jasonr@gnu.org>
10605
10606 * w32term.h (x_display_info_for_display): Remove as this function
10607 does not exist on W32.
10608
10609 * w32term.c (help_echo_window): New variable.
10610 (syms_of_w32term): staticpro it.
10611 (note_mode_line_highlight): Set it.
10612 (XTextExtents16): Removed as there is no equivalent on W32.
10613 (x_compute_glyph_string_overhangs): Incomplete body removed, as
10614 the X way of doing this will not work for W32.
10615 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
10616 (x_draw_image_foreground): Avoid drawing outside of the clip area
10617 when image doesn't have a mask.
10618 (note_mouse_highlight): Process overlays in the right order of
10619 priority. Set help_echo_window.
10620 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
10621 because that's more visible for large images.
10622
10623 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
10624 name to single_keymap_panes.
10625 (w32_menu_show): Set wv->title when dealing with titles.
10626 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
10627
6e69ab8c
MB
106282000-08-21 Miles Bader <miles@gnu.org>
10629
10630 * minibuf.c (do_completion): Try again if we rewrite the input
10631 string, but no completion was done, so that any completion message
10632 will be correct.
10633
511bd4eb
GM
106342000-08-20 Gerd Moellmann <gerd@gnu.org>
10635
10636 * xfaces.c (lface_equal_p): Compare strings differently.
10637 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
10638 (realize_tty_face): Use them.
10639 (syms_of_xfaces): Initialize new variables.
10640 (map_tty_color): New function, extracted from realize_tty_face.
10641 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
10642 foreground or background color, store the new color name in the
10643 realized face; previous code trying to do this had no effect.
10644 (realize_tty_face): Use map_tty_color.
10645 (Fclear_face_cache): Set face_change_count and ensure thorough
10646 redisplay.
10647
1433385f
GM
106482000-08-19 Gerd Moellmann <gerd@gnu.org>
10649
511bd4eb
GM
10650 * undo.c (record_first_change, record_marker_adjustment): Don't
10651 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 10652
419ac0a2
KH
106532000-08-18 Kenichi Handa <handa@etl.go.jp>
10654
10655 * coding.c (decode_coding_string): Set members consumed,
10656 consumed_char, produced, produced_char of *coding correctly. If
10657 decode_coding doesn't consume any byte, don't try anymore.
10658 (encode_coding_string): Likewise.
10659
7eb9e30d
GM
106602000-08-18 Gerd Moellmann <gerd@gnu.org>
10661
511bd4eb
GM
10662 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
10663 conditional have void type, for Standard C compilers.
7eb9e30d
GM
10664
10665 * xdisp.c (redisplay_internal): Compare windows for equality with
10666 EQ, instead of applying XWINDOW to something that might not
10667 be a window.
52283633 10668
dd34a735
KH
106692000-08-18 Kenichi Handa <handa@etl.go.jp>
10670
10671 * fontset.c (Finternal_char_font): Search only the selected frame
10672 for a window of the current buffer.
10673
385ff9e3
GM
106742000-08-18 Gerd Moellmann <gerd@gnu.org>
10675
511bd4eb 10676 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
10677 Lisp_Objects.
10678
385ff9e3
GM
10679 * keyboard.c (kbd_buffer_get_event): Handle the case that the
10680 second half of a HELP_EVENT is found at the start of kbd_buffer.
10681
d6abb4c7
MB
106822000-08-18 Miles Bader <miles@gnu.org>
10683
4618074a
MB
10684 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
10685
d6abb4c7
MB
10686 * editfns.c (save_restriction_save): Rewrite to use markers.
10687 (save_restriction_restore): Rewrite to understand new form of data
10688 saved by save_restriction_save.
10689 (Fsave_restriction): Remove cautionary note in doc-string.
10690
a7b28523
GM
106912000-08-17 Gerd Moellmann <gerd@gnu.org>
10692
10693 * fileio.c (build_annotations): Add a comment explaining the
10694 return value of format-annotate-function. Replace a spurious call
10695 to Flength with a CONSP test. Call format-annotate-function with
10696 a fifth arg specifying how many times the function is been called
10697 in a row, to let it choose temporary buffers appropriately.
10698
03c9ed77
DL
106992000-08-17 Dave Love <fx@gnu.org>
10700
10701 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10702 declare make_temp_name twice.
10703
52283633 10704 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
10705 (unreadpure): Give it an arg.
10706
10707 * unexalpha.c: Prototype fatal_unexec, mark_x,
10708 update_dynamic_symbols. Declare unexec as void.
10709
10710 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10711 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10712
10713 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 10714 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
10715
10716 * alloca.c: Use #error.
10717 [POINTER_TYPE]: Use it.
10718
10719 * eval.c (Fdefvar): Doc fix.
10720
10721 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10722 INITIALIZE_INTERVAL.
10723
10724 * buffer.h: Avoid DECLARE_INTERVALS.
10725
10726 * config.in: Add size_t.
10727
aae41d97
EZ
107282000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10729
10730 * w16select.c (set_clipboard_data): If there's not enough memory
10731 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10732 expects. In case of other failures, return 3.
10733 (system_error_msg): New error message.
10734 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10735 system_error_msg.
10736
65aa5e85
GM
107372000-08-16 Gerd Moellmann <gerd@gnu.org>
10738
10739 * term.c (write_glyphs): Also turn off inverse video after turning
10740 off other appearances in case TS_exit_attribute_mode is not equal
10741 to TS_end_standout_mode.
10742 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10743 with the same face.
10744 (turn_off_face): Reset standout_mode only if
10745 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10746 is equal to TS_end_standout_mode.
10747
ece23901
KH
107482000-08-16 Kenichi Handa <handa@etl.go.jp>
10749
9d7bcb2e
KH
10750 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10751 sequence at the end of the source block.
10752
ece23901
KH
10753 * ccl.c (Fccl_program_p): Docstring modified.
10754 (Fccl_execute): Likewise.
10755 (Fccl_execute_on_string): Likewise.
10756
5e30eaa2
EZ
107572000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10758
10759 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10760
290602fd
KH
107612000-08-16 Kenichi Handa <handa@etl.go.jp>
10762
10763 The following changes are mainly to fix bugs of
10764 encode/decode-coding-string failing if encoding/decoding return
10765 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10766 variable conversion_buffer.
10767
10768 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10769 decrement dst_end to avoid buffer overflow in the later call of
10770 string_as_multibyte
10771
10772 * coding.h (conversion_buffer_size, conversion_buffer)
10773 (get_conversion_buffer): Extern deleted.
10774
10775 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10776 (conversion_buffer, conversion_buffer_size): Variables deleted.
10777 (get_conversion_buffer): Function deleted.
10778 (struct conversion_buffer): New structure.
10779 (MAX_ALLOCA): New macro.
10780 (allocate_conversion_buffer): New macro.
10781 (extend_conversion_buffer, free_conversion_buffer): New functions.
10782 (ccl_coding_driver): Set coding->result.
10783 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10784 this is the last block of source.
10785 (encode_coding): Likewise. Handle the source block as the last
10786 one only when the whole source text is consumed.
10787 (decode_coding_string): Handle the case that the output buffer is
10788 too small to decode the whole source text. Use
10789 allocate_conversion_buffer, extend_conversion_buffer and
10790 free_conversion_buffer, not get_conversion_buffer.
10791 (encode_coding_string): Likewise.
10792 (init_coding): Function deleted.
52283633 10793 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10794
10795 * emacs.c (main): Don't call init_coding.
10796
52283633 10797 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10798
10799 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10800 (insert_glyphs): Likewise.
10801
10802 * w32console.c (write_glyphs): Use a locally declared
10803 conversion_buffer.
10804
b9f80d41
EZ
108052000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10806
10807 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10808 member of display_info is NULL.
10809
32dc52f7
GM
108102000-08-15 Gerd Moellmann <gerd@gnu.org>
10811
52283633 10812 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10813
32dc52f7 10814 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10815 appearances with capability `me'.
32dc52f7
GM
10816 (write_glyphs): Switch on inverse video before each face change.
10817
4eb22d33
DL
108182000-08-14 Dave Love <fx@gnu.org>
10819
10820 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10821 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10822 (lisp_free): Declare and make static.
10823
10824 * window.c: Fix embedded comment.
10825 (syms_of_window): Fix doc string.
10826
90cbf47e
GM
108272000-08-14 Gerd Moellmann <gerd@gnu.org>
10828
52283633 10829 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10830 make sure to print `C-' before `M-', like in the manual.
10831
440fc135
GM
108322000-08-11 Gerd Moellmann <gerd@gnu.org>
10833
10834 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10835 since they aren't relocated anymore.
52283633 10836 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10837
10838 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10839 partially visible line which is smaller than the window's height.
440fc135 10840
6e264fad
KH
108412000-08-11 Kenichi Handa <handa@etl.go.jp>
10842
10843 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10844 the multibyte form of eight-bit-control characters.
6e264fad
KH
10845 (Fccl_execute_on_string): Initialize ccl->multibyte.
10846
10847 * ccl.h (struct ccl_program): New member multibyte.
10848
10849 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10850
c371f69a
KH
108512000-08-11 Kenichi Handa <handa@etl.go.jp>
10852
10853 * regex.c (regex_compile) <normal_char>: Pay attention to
10854 multibyteness.
10855 (analyse_first) <exactn>: Setup fastmap correctly for
10856 eight-bit-control characters.
10857
108582000-08-11 Kenichi Handa <handa@etl.go.jp>
10859
52283633 10860 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10861
10862 * keyboard.c (make_lispy_event): Handle the new event type
10863 multibyte_char_keystroke.
10864
10865 * xterm.c: Include coding.h.
10866 (XTread_socket): Work around a bug of XmbLookupString. If the
10867 input is from XIM, decode it according to the current locale. In
10868 that case, generate multibyte_char_keystroke events.
10869
b8ddbe71
KH
108702000-08-11 Kenichi Handa <handa@etl.go.jp>
10871
10872 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10873 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10874
47589c8c
GM
108752000-08-10 Gerd Moellmann <gerd@gnu.org>
10876
10877 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10878 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10879 (move_it_in_display_line_to): Record iterator's ascent and descent
10880 before producing glyphs, and restore them when we know the glyph
10881 doesn't fit on the line.
10882 (move_it_to): Restructured so that it's easier to debug. If
10883 moving to a vpos, and not moving to an x or character position,
10884 stop as soon as the specified vpos is reached; don't move further
10885 into that line because that might change the computed line height.
10886 (try_cursor_movement): New function, extracted from the cursor
10887 movement branch of redisplay_window. If ending on a partially
10888 visible line, don't try to scroll if the cursor line is taller
10889 than the window.
10890 (redisplay_window): Use try_cursor_movement.
10891
10892 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10893 because that function doesn't cope with variable-height lines.
10894
10895 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10896 box cursor because that's better visible for large images.
52283633 10897
c51bacd6
MB
108982000-08-10 Miles Bader <miles@gnu.org>
10899
10900 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10901
bea56df7
GM
109022000-08-10 Gerd Moellmann <gerd@gnu.org>
10903
10904 * xdisp.c (Vmessages_buffer_name): New variable.
10905 (message_dolog): Use it.
10906 (syms_of_xdisp): Initialize it.
10907
99cd7364
EZ
109082000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10909
52283633 10910 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10911 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10912 redundant now that keyboard.h is included.
10913
7d093d56
EZ
109142000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10915
10916 * keyboard.c (kbd_buffer_events_waiting): New function.
10917
10918 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10919
10920 * msdos.c: Include keyboard.h.
10921 (XMenuActivate): Empty no_event events from the event buffer. If
10922 no events are left after that, call clear_input_pending.
10923 (mouse_clear_clicks): New function, code moved from mouse_init.
10924 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10925 mouse driver to ``forget'' any past clicks.
10926
10927 * Makefile.in (msdos.o): Depend on keyboard.h.
10928
41e757a6
GM
109292000-08-09 Gerd Moellmann <gerd@gnu.org>
10930
8e7bd231
GM
10931 * lisp.h (input_pending): External declaration.
10932
10933 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10934
8e7bd231
GM
10935 * xdisp.c (echo_area_display): Display thoroughly if input is
10936 pending. Bind redisplay-dont-pause to t during the redisplay.
10937 in case input is pending.
10938
10939 * dispnew.c (Qredisplay_dont_pause): New variable.
10940 (syms_of_display): Initialize and staticpro it.
10941 (update_frame_1): Don't interrupt the display for pending input if
10942 redisplay_dont_pause is set.
52283633 10943
43028b7e
GM
10944 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10945
41e757a6
GM
10946 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10947
2f2174fa
KH
109482000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10949
10950 * callproc.c (Fcall_process): Terminate the unwind-protect around
10951 the post-read-conversion of coding system.
10952
0a6fd67e
MB
10953 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10954 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10955 * buffer.h (overlays_at): Update prototype.
10956 * xdisp.c (next_overlay_change): Update call to overlays_at.
10957 * xfaces.c (face_at_buffer_position): Likewise.
10958 * textprop.c (Fget_char_property): Likewise.
10959 * xterm.c (note_mouse_highlight): Likewise.
10960
0c80756e
MB
10961 * minibuf.c (do_completion): Don't consider a simple change of
10962 case as `completion'.
10963
975f250a
KR
109642000-08-08 Ken Raeburn <raeburn@gnu.org>
10965
52283633 10966 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10967 * undo.c (record_delete): Make sure last_point_position_buffer is
10968 a buffer before comparing pointers.
10969
10970 * coding.h (decode_coding_string): Declare.
10971
10972 * intervals.h (Fprevious_single_char_property_change): Declare.
10973
10974 * textprop.c (Fprevious_single_char_property_change): Don't do
10975 arithmetic directly on lisp objects.
10976
52283633 10977 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10978
10979 * keyboard.h (menu_item_eval_property): Declare.
10980
10981 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10982 reuse as buffer name, instead of recreating (and discarding) every
10983 time a message is logged.
10984 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10985 (current_message_1, truncate_message_1, set_message_1)
10986 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10987 (current_message, truncate_echo_area, display_echo_area)
10988 (resize_echo_area_axactly): Changed calls.
b347b3fd 10989
975f250a 10990 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10991 Lisp object.
975f250a 10992 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10993 must be an integer, not a Lisp object.
975f250a 10994
46dc9912
KH
109952000-08-08 Kenichi Handa <handa@etl.go.jp>
10996
10997 * charset.c (Fchar_width): Doc fix.
10998
9f6d1a6c
GM
109992000-08-08 Gerd Moellmann <gerd@gnu.org>
11000
11001 * charset.c (Fstring_width): Doc fix.
11002
ff3d9573
GM
110032000-08-07 Gerd Moellmann <gerd@gnu.org>
11004
41e757a6 11005 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
11006 line, clear ascent and descent members of the iterator structure;
11007 the height of the continued line does not affect the height of the
11008 continuation line.
11009 (make_cursor_line_fully_visible): Do nothing if cursor is on a
11010 line taller than the window.
11011 (redisplay_window) <forced window start>: Handle case that the
11012 middle of the window is not found in any row.
11013 (dump_glyph_row): Show more information.
11014 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
11015 first text line in a glyph matrix.
11016
11017 * xterm.c (x_draw_image_foreground): Avoid drawing outside
11018 of the clip area when image doesn't have a mask.
11019
70fc58b3
GM
11020 * fns.c (sweep_weak_table): Fix survival conditions for
11021 key-or-value and key-and-value weakness.
11022
11023 * .gdbinit (xhashtable): New command.
11024
ac0e96ee
GM
11025 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
11026 tables out of the list of all weak hash tables.
11027
ff3d9573
GM
11028 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
11029 a new buffer is created, make sure echo_area_buffer[] references
11030 the new buffer.
11031
e0d8827b
EZ
110322000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
11033
11034 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
11035 the doc string.
11036
c6f35378
KH
110372000-08-07 Kenichi Handa <handa@etl.go.jp>
11038
11039 * syntax.c (skip_chars): Fix previous change. Make the handling
11040 of unibyte string consistent with that of regex search.
11041
1fd4c450
GM
110422000-08-05 Gerd Moellmann <gerd@gnu.org>
11043
e49aa397
GM
11044 * xmenu.c (popup_get_selection): Use xfree instead of free.
11045
11046 * fileio.c (Finsert_file_contents): Use xfree instead of free.
11047
11048 * editfns.c (Ftranspose_regions): Use xfree instead of free.
11049
11050 * callproc.c (child_setup): Use xfree instead of free.
11051
11052 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
11053 instead of malloc.
11054 (run_mac_command, closedir): Use `xfree' instead of `free'.
11055
11056 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
11057
11058 * eval.c (error): Use xfree instead of free.
11059
1fd4c450
GM
11060 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
11061
11062 * fns.c: Replace `illegal' with `invalid'.
e49aa397 11063 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 11064
82d497fc
KH
110652000-08-05 Kenichi Handa <handa@etl.go.jp>
11066
11067 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
11068 conversion.
11069
59f953a2
NF
110702000-08-04 Noah Friedman <friedman@splode.com>
11071
11072 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
11073 docstring.
11074
688351f2
GM
110752000-08-04 Gerd Moellmann <gerd@gnu.org>
11076
11077 * syntax.c (skip_chars): Fix typo in error message.
11078
2dad51cc
AS
110792000-08-04 Andreas Schwab <schwab@suse.de>
11080
11081 * m/ia64.h: Moved from s/ia64.h.
11082
99bb2c60
KH
110832000-08-04 Kenichi Handa <handa@etl.go.jp>
11084
082a1df2
KH
11085 * process.c (read_process_output): Big simplification. Handle
11086 composition and post-read-conversion of coding system correctly.
11087 (send_process): Handle composition correctly.
11088
11089 * callproc.c (Fcall_process): Handle post-read-conversion of
11090 coding system if any.
11091
99bb2c60
KH
11092 * coding.c (decode_coding_iso2022): More strict check for handling
11093 single shifting.
082a1df2
KH
11094 (coding_restore_composition): Pay attention to the case that
11095 cmp_data is not set properly (because of invalid code in the
11096 source text).
11097 (run_pre_post_conversion_on_str): Include text properties in the
11098 resulting string.
11099 (decode_coding_string): Set members of coding correctly.
99bb2c60 11100
f4988be7
GM
111012000-08-03 Gerd Moellmann <gerd@gnu.org>
11102
11103 * s/ia64.h: New file.
11104
11105 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
11106 Use NULL instead of 0 at the end of variable argument list of
11107 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
11108 sizeof (int) < sizeof (void *).
11109
11110 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
11111 of variable argument lists of XtVaGetValues and XtVaSetValues.
11112
11113 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
11114 variable argument lists of XtVaGetValues and XtVaSetValues.
11115
ead53494
GM
111162000-08-02 Gerd Moellmann <gerd@gnu.org>
11117
11118 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
11119 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
11120
11121 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
11122 prototype.
11123
11124 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
11125 in call to Fsingle_key_description.
11126
11127 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
11128 Callers changed.
11129
111302000-08-02 Colin Walters <walters@cis.ohio-state.edu>
11131
11132 * window.c (display_buffer_reuse_frames): New variable.
11133 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
11134 frames displaying BUFFER.
52283633 11135 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 11136
10b0f752
MB
111372000-08-01 Miles Bader <miles@gnu.org>
11138
11139 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
11140 when to constrain NEW_POS (they were pretty screwed up before).
11141
16425c4a
EZ
111422000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
11143
11144 * msdos.c (run_msdos_command): Save and restore the master
11145 environment, for the case that child_setup signals an error.
11146 When mirroring slashes in DOS shell commands, don't fail when
11147 argv[2] has embedded blanks.
da288c14
EZ
11148 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
11149 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
11150 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
11151
11152 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
11153 using alloca; free it after run_msdos_command returns.
11154
27f73852
DL
111552000-07-27 Dave Love <fx@gnu.org>
11156
52283633
SM
11157 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
11158 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
11159
11160 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
11161
c0261b5e
EZ
111622000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
11163
11164 * editfns.c (lisp_time_argument): Fix last change.
11165
b548072f
GM
111662000-07-27 Gerd Moellmann <gerd@gnu.org>
11167
3ab82477
GM
11168 * fns.c (Fdelete): Make it work on vectors and strings in addition
11169 to lists.
11170
b548072f
GM
11171 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
11172 (syms_of_fns): Initialize new variables.
52283633 11173 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
11174 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
11175 weakness, with t meaning the same as `key-and-value'.
11176
91ae8751
KH
111772000-07-27 Kenichi Handa <handa@etl.go.jp>
11178
11179 * coding.h (struct coding_system): Member safe_charset deleted.
11180
11181 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
11182 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
11183 New variables.
91ae8751
KH
11184 (coding_safe_chars): New function.
11185 (CODING_SAFE_CHAR_P): New macro.
11186 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 11187 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
11188 (detect_coding_iso2022): New local variable safe_chars.
11189 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11190 safe_charsets member of the coding system.
11191 (decode_coding_iso2022): New local variable safe_chars.
11192 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11193 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11194 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11195 (ENCODE_UNSAFE_CHARACTER): New macro.
11196 (encode_coding_iso2022): New local variable safe_chars. Check
11197 unsafe chars.
11198 (setup_coding_system): Delete the code to initialize
11199 coding->safe_charses
11200 (intersection, find_safe_codings): New functions.
11201 (Ffind_coding_systems_region_internal): New function.
11202 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11203 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11204 variable and initialize it.
11205
11206 * fns.c (char_table_ref_and_index): New function.
11207
11208 * lisp.h (char_table_ref_and_index): Add prototype.
11209
34a7a267
SS
112102000-07-26 Sam Steingold <sds@gnu.org>
11211
11212 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 11213 (Ffloat_time): New built-in Lisp function.
34a7a267 11214
a95cb10a
GM
112152000-07-26 Gerd Moellmann <gerd@gnu.org>
11216
3353ef5a
GM
11217 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11218 for the character code.
11219
11220 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11221 GNU/Linux.
11222
a95cb10a
GM
11223 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11224 if called for a popup menu.
11225 (xmenu_show): Store help string in widget values.
11226
b4a12321
DL
112272000-07-26 Dave Love <fx@gnu.org>
11228
11229 * syswait.h: Move some definitions.
11230 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11231 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11232 perspicuous definitions.
11233 (WTERMSIG): Fix bit pattern used.
11234
13f5ad37
KH
112352000-07-26 Kenichi Handa <handa@etl.go.jp>
11236
11237 * print.c (print_object): If vector printing is truncated, print
11238 "..." to indicate it as well as the case of list printing.
11239
070fe99c
GM
112402000-07-25 Gerd Moellmann <gerd@gnu.org>
11241
969065c3
GM
11242 * xdisp.c (next_element_from_display_vector): Improve comments.
11243
11244 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11245 for the character code, and the rest for the face id as in 20.x.
11246 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11247
11248 * window.c (window_display_table): Cleaned up.
11249
070fe99c
GM
11250 * syntax.c (Fforward_word): Add last arg nil in call of
11251 Fconstrain_to_field.
11252
bad77ef7
EZ
112532000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11254
969065c3 11255 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
11256 identical but for the letter-case, don't call
11257 barf_or_query_if_file_exists.
bad77ef7 11258
c28da489
MB
112592000-07-25 Miles Bader <miles@gnu.org>
11260
11261 * editfns.c (find_field): Honor special `boundary' fields.
11262 (Qboundary): New variables.
11263 (syms_of_editfns): Initialize Qboundary.
11264 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11265 Use scan_buffer instead of find_before_next_newline, because it
11266 allows us to detect the boundary case where there's a newline at
11267 the search limit.
11268 * lisp.h (Fconstrain_to_field): Update external declaration.
11269
e3c31fd5
GM
112702000-07-24 Gerd Moellmann <gerd@gnu.org>
11271
11272 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11273 if that is nil.
c28da489 11274
c66c29a2
DL
112752000-07-24 Dave Love <fx@gnu.org>
11276
11277 * s/sunos4-0.h, s/sol2.h:
11278 (LIBS_TERMCAP): Move from m/sparc.h.
11279
11280 * m/sparc.h (TERMINFO): Moved to system files (probably only
11281 relevant for sunos4 judging by its vintage).
11282 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11283 __arch64__.
11284
fbe0a958
EZ
112852000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11286
11287 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11288 name to single_keymap_panes.
11289
7d88e5c9
AS
112902000-07-24 Andreas Schwab <schwab@suse.de>
11291
11292 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11293
e024b101
GM
112942000-07-24 Gerd Moellmann <gerd@gnu.org>
11295
11296 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11297 parameters instead of using int parameters. Expect FN to accept
11298 EMACS_INT parameters.
11299 (display_echo_area, resize_echo_area_axactly, current_message)
11300 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11301 with new argument list.
11302 (resize_mini_window_1): New callback function.
11303 (current_message_1, truncate_message_1, set_message_1): Change
52283633 11304 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 11305
25c1a9ce
KH
113062000-07-24 Kenichi Handa <handa@etl.go.jp>
11307
11308 * fontset.c (fontset_ref): Remove INLINE declaration.
11309 (fontset_ref_via_base): Likewise.
11310 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11311 to downcase.
11312
7f987ac0
EZ
113132000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11314
11315 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11316 correct order of priority. If help echo was found in an overlay,
11317 use that overlay as the object in which the help echo was found.
11318
e2db3069
MB
113192000-07-22 Miles Bader <miles@gnu.org>
11320
11321 * textprop.c (Fprevious_single_char_property_change): The initial
11322 property value should be from the position preceding POSITION, not
11323 following it.
11324
5e3203e4
EZ
113252000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11326
11327 * coding.c (syms_of_coding): Doc fix for
11328 inhibit-iso-escape-detection.
11329
62145073
GM
113302000-07-21 Gerd Moellmann <gerd@gnu.org>
11331
c20aeb83
GM
11332 * xterm.c (note_mouse_highlight): Process overlays in the right
11333 order of priority.
34a7a267 11334
743934db
GM
11335 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11336
11337 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 11338 overlay, use that overlay as the object in which the help was found.
743934db 11339
d1dc7e43 11340 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 11341
62145073
GM
11342 * window.c (foreach_window): Instead of a fake variable argument
11343 list, take one USER_DATA argument.
11344 (foreach_window_1): Likewise, and call callback functions with two
11345 args, the window and USER_DATA.
11346 (struct check_window_data): New struct.
11347 (check_window_containing): Use it.
11348 (window_from_coordinates): Set up a struct check_window_data for
11349 foreach_window.
11350 (add_window_to_list, freeze_window_start): Change parameters
11351 according to new calling convention.
11352
11353 * window.h (foreach_window): Change prototype.
11354
11355 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
11356
113572000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
11358
11359 * xmenu.c (menu_help_callback): Call show_help_echo with
11360 additional arguments OBJECT and POS.
11361
11270583
KH
113622000-07-21 Kenichi Handa <handa@etl.go.jp>
11363
07b14857
KH
11364 * data.c (Faset): Allow storing any multibyte character in a
11365 string. Convert unibyte string to multibyte if necessary.
11366
11270583
KH
11367 * xfns.c (x_encode_text): New function.
11368 (x_set_name): Use x_encode_text.
11369 (x_set_title): Likewise.
11370
11371 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
11372
11373 * xterm.h (x_encode_text): Add prototype.
11374
bc75b4fd
DL
113752000-07-20 Dave Love <fx@gnu.org>
11376
11377 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
11378 xfree, not free.
11379
48c14970
EZ
113802000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
11381
11382 * msdos.c (help_echo_window): New variable.
11383 (syms_of_msdos): Initialize and staticpro it.
11384 (IT_note_mode_line_highlight): Set help_echo_window.
11385 (IT_note_mouse_highlight): Ditto.
11386 (dos_rawgetc): Store help_echo_window in the second event produced
11387 for HELP_EVENTs.
11388
11389 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
11390 Record the object that generated the help echo and the position of
11391 that object in help_echo_object and help_echo_pos. Record that
11392 some glyphs in a row are displayed in mouse-face.
11393 (IT_update_begin): Don't clear mouse highlight unless one of the
11394 enabled glyph rows is marked as being displayed in mouse-face.
11395 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
11396 and position recorded in help_echo_object and help_echo_pos to the
11397 event queue.
11398 (IT_menu_display): Accept a new argument PN: the pane number of
11399 the current menu pane. Record the pane number and the item
11400 number of the item which has associated help string.
11401 (XMenuActivate): Update the prototype for help_callback in
11402 function declaration. Call IT_menu_display with the current menu
11403 pane number as an additional argument. Call help_callback with
11404 two additional arguments: the pane number and the item number of
11405 the menu item associated with the help text.
11406 (help_echo_object, help_echo_pos): New variables.
11407 (syms_of_msdos): Initialize them and staticpro help_echo_object.
11408
11409 * msdos.h (XMenuActivate): Update prototype.
11410
4279296d
GM
114112000-07-19 Gerd Moellmann <gerd@gnu.org>
11412
47db06aa
GM
11413 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
11414 Add some more prototypes.
11415
11416 * xterm.c, xterm.h: Add some more prototypes.
11417
11418 * lisp.h (Fnext_single_char_property_change): Add prototype.
11419
11420 * dispnew.c (direct_output_for_insert): Remove confusing
11421 outer local variable mouse_face_overwritten_p.
11422 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
11423
4279296d
GM
11424 * alloc.c (allocate_string_data): Don't copy old string contents.
11425
670acd62
KH
114262000-07-19 Kenichi Handa <handa@etl.go.jp>
11427
11428 * coding.c (code_convert_region): Delete text properties before
11429 shrinking the conversion region.
11430
7cea38bc
GM
114312000-07-18 Gerd Moellmann <gerd@gnu.org>
11432
dc1cac59
GM
11433 * dispnew.c (update_text_area): Write the whole row if it
11434 has mouse-face in it.
11435
85a8aca9
GM
11436 * xfaces.c (face-alternative-font-family-alist): Remove
11437 DEFVAR_LISP; staticpro instead.
11438
34a7a267 11439 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
11440 new arguments.
11441
11442 * keyboard.c (show_help_echo): Add parameter WINDOW.
11443 (read_char): Call show_help_echo with window extracted from Lisp
11444 help event.
11445 (gen_help_event): Add parameter WINDOW.
11446
11447 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
11448
11449 * xterm.c (help_echo_window): New variable.
52283633 11450 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
11451 (XTread_socket): Pass help_echo_window to gen_help_event.
11452 (syms_of_xterm): Initialize and staticpro help_echo_window.
11453
f8276b77
DL
114542000-07-18 Dave Love <fx@gnu.org>
11455
52283633 11456 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 11457
088831a6
GM
114582000-07-18 Gerd Moellmann <gerd@gnu.org>
11459
3d6cd763
GM
11460 * alloc.c (allocate_string_data): If string had already data
11461 assigned, copy old contents to new string data.
11462
11463 * coding.c (syms_of_coding): Fix typo in spelling of variable
11464 `inhibit-iso-escape-detection'.
11465
088831a6
GM
11466 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
11467
11468 * Makefile.in: Add dependencies on dispextern.h.
11469 (alloca.o): Don't define malloc and define EMACS_FREE instead of
11470 `free'; both can conflict with system header files.
11471
bc8a8d55
KH
114722000-07-18 Kenichi Handa <handa@etl.go.jp>
11473
11474 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
11475 undefined.
11476
069f5950
DL
114772000-07-18 Dave Love <fx@gnu.org>
11478
11479 * window.c (Fwindow_list): Declare arg `window'.
11480
aa96c820
KH
114812000-07-18 Kenichi Handa <handa@etl.go.jp>
11482
11483 * coding.c (setup_coding_system): Don't override the explicitly
11484 specified designations.
11485
06be8d32
MB
114862000-07-15 Miles Bader <miles@gnu.org>
11487
11488 * editfns.c (char_property_eq, char_property_stickiness): Renamed
11489 from `text_property_eq' and `text_property_stickiness', respectively.
11490 (find_field, Fconstrain_to_field, char_property_eq)
11491 (char_property_stickiness): Changed to call char-property functions
11492 instead of text-property-only ones.
11493
11494 * textprop.c (Fnext_single_char_property_change): Made a subr (was
11495 `next_single_char_property_change'). Do more error checking, and
11496 cleanup limit behavior.
11497 (Fprevious_single_char_property_change): New function.
11498 (syms_of_textprop): Initialize new subrs.
11499
11500 * xdisp.c (display_prop_end, invisible_text_between_p):
11501 Call Fnext_single_char_property_change instead of
11502 next_single_char_property_change.
11503
3fddcdc3
JR
115042000-07-15 Jason Rumney <jasonr@gnu.org>
11505
11506 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
11507 after menu is finished with.
11508 (add_menu_item): Only consider wv->title as a menu title.
11509 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
11510
11511 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
11512 null title.
11513 (FONT_REGEXP): Remove unused macro, and its sub-components.
11514 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
11515
11516 * w32term.c (help_echo_object, help_echo_pos): New variables.
11517 (note_mode_line_highlight): Store additional information about the
11518 help-echo in help_echo_object and help_echo_pos. Check both
11519 `local-map' and `keymap' properties for changing the cursor
11520 (note_mouse_highlight): Store additional information about the
11521 help-echo in help_echo_object and help_echo_pos.
11522 (note_tool_bar_highlight): Set help_echo_object to nil and
11523 help_echo_pos to -1.
11524 (w32_read_socket): Use gen_help_event instead of filling
11525 input_events manually.
11526 (syms_of_w32term): Staticpro help_echo_object.
11527 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 11528 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
11529 (x_clear_mouse_face): New function.
11530 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
11531 (x_update_window_begin): No need to turn off the mouse
11532 highlight here.
11533 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 11534 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
11535 (x_fill_stretch_glyph_string): Consume runs of stretch
11536 glyphs instead of a single one.
11537 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11538 with new argument list.
11539 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11540 (x_append_glyph, x_append_composite_glyph)
11541 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11542 changes in struct glyph starting 1999-12-27. See comments for
11543 xterm.c on 2000-07-05.
11544
178c5d9c
SS
115452000-07-14 Sam Steingold <sds@gnu.org>
11546
11547 * xfaces.c (realize_x_face): Fix the last patch:
11548 check `default_face' before dereferencing.
11549
6fe533f6
DL
115502000-07-14 Dave Love <fx@gnu.org>
11551
069f5950 11552 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 11553
dd7b81cf
KH
115542000-07-14 Kenichi Handa <handa@etl.go.jp>
11555
0693904a 11556 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 11557 default_face's fontset, not using the default fontset.
0693904a 11558
dd7b81cf
KH
11559 * coding.c (inhibit_iso_escape_detection): New variable.
11560 (syms_of_coding): Make it a Lisp variable.
11561 (detect_coding_iso2022): If inhibit_iso_escape_detection is
11562 nonzero, ignore ISO2022's escape sequence.
11563
d5aa31d8
GM
115642000-07-14 Gerd Moellmann <gerd@gnu.org>
11565
e5acf0ca
GM
11566 * alloca.c (malloc) [emacs]: Define as xmalloc.
11567
bd23a692
GM
11568 * xfns.c (Fx_show_tip): If frame parameters contain a position,
11569 use that instead of the mouse position. Add parameters DX and DY.
11570
11571 * dispextern.h (Fx_show_tip): Adjust number of parameters
11572 in prototype.
11573
9662da0b
GM
11574 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
11575 if HELP is a function, call it with OBJECT and POS as parameters
11576 to get the help to display.
11577 (gen_help_event, kbd_buffer_store_help_event): New functions.
11578 (kbd_buffer_get_event): Construct the Lisp help-event differently.
11579 (read_char): Call show_help_echo with new parameters.
11580
178c5d9c 11581 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
11582 Add prototypes.
11583
11584 * xterm.c (help_echo_object, help_echo_pos): New variables.
11585 (note_mode_line_highlight): Store additional information about the
11586 help-echo in help_echo_object and help_echo_pos. Check both
11587 `local-map' and `keymap' properties for changing the cursor
11588 (note_mouse_highlight): Store additional information about the
11589 help-echo in help_echo_object and help_echo_pos.
11590 (note_tool_bar_highlight): Set help_echo_object to nil and
11591 help_echo_pos to -1.
11592 (XTread_socket): Use gen_help_event instead of filling
11593 input_events manually.
11594 (syms_of_xterm): Staticpro help_echo_object.
11595
11596 * xmenu.c (menu_highlight_callback): Use
11597 kbd_buffer_store_help_event instead of setting up and input_event
11598 structure manually.
11599
11600 * xdisp.c (eval_form): GCPRO argument sexpr.
11601 (call_function): New function.
11602 (handle_single_display_prop): Use call_function and FUNCTIONP
11603 instead of checking whether if font_height is a symbol and
11604 using eval_form.
11605
11606 * eval.c (internal_condition_case_2): New function.
11607
11608 * lisp.h (FUNCTIONP): New macro.
11609 (internal_condition_case_2, call_function): Add prototypes.
11610
d5aa31d8
GM
11611 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
11612 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
11613 Always set `arg' member of input_events.
11614 (construct_menu_click): Unused function removed.
11615
11616 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
11617
11618 * w32term.c (construct_mouse_click, construct_mouse_wheel)
11619 (construct_drag_n_drop, x_scroll_bar_handle_click)
11620 (w32_read_socket): Always set `arg' member of input_events.
11621
11622 * keyboard.c (show_help_echo): Use eval_form. Add comment.
11623
11624 * lisp.h (eval_form): Add prototype.
11625
11626 * xdisp.c (eval_form): Make it externally visible.
11627
0f1a9b23
GM
116282000-07-13 Gerd Moellmann <gerd@gnu.org>
11629
11630 * xterm.c (x_handle_tool_bar_click): Store the frame in the
11631 frame_or_window slot of TOOL_BAR_EVENT input events instead of
11632 consing. For prefix events, store the frame in the `arg' slot of
11633 the event, otherwise store the key there.
11634 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 11635 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
11636
11637 * xmenu.c (menu_highlight_callback): Store help string in the
11638 `arg' member of the input event; don't cons.
11639 (menubar_selection_callback): Use the `arg' slot of input events
11640 to queue additional information, instead of consing.
11641
11642 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
11643
11644 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
11645 TOOL_BAR_EVENTs.
11646 (w32_read_socket): Adapt to changes in HELP_EVENTs.
11647
11648 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
11649 input events to queue additional information, instead of consing.
11650
11651 * keyboard.c (kbd_buffer_gcpro): Renamed from
11652 kbd_buffer_frame_or_window. Now used for all Lisp objects
11653 referenced from the input queue.
11654 (kbd_buffer_store_event): Always use structure assignment for
11655 copying input events. Record all Lisp objects referenced from
11656 events in kbd_buffer_gcpro.
11657 (kbd_buffer_get_event): Construct Lisp `help-echo' events
11658 differently from input events. Test for prefix menu_bar_events
11659 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
11660 event in kbd_buffer_gcpro to nil.
11661 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
11662 frame_or_window is equal to its arg member as prefix events.
11663 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
11664 used by an input event to nil.
11665 (init_keyboard): Use two times the size of the input queue
11666 for kbd_buffer_gcpro.
11667 (syms_of_keyboard): Likewise.
11668
52283633
SM
11669 * emacs.c (handle_USR2_signal, handle_USR1_signal):
11670 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
11671
11672 * termhooks.h (struct input_event): Add member `arg'.
11673 (MENU_BAR_EVENT): Renamed from menu_bar_event.
11674 (USER_SIGNAL_EVENT): Renamed from user_signal.
11675
11676 * xfaces.c (ASET): Remove definition.
11677
11678 * lisp.h (AREF, ASET, ASIZE): New macros.
11679
11680 * fontset.c (AREF, ASIZE): Remove definitions.
11681
11682 * fns.c (AREF): Remove definition.
178c5d9c 11683
0f1a9b23
GM
11684 * composite.c (AREF): Remove definition.
11685
712eaef2
GM
116862000-07-12 Gerd Moellmann <gerd@gnu.org>
11687
d8ee7803
GM
11688 * dispnew.c (redraw_overlapped_rows): Add missing local.
11689 (scrolling_window): Remove debug code.
11690
712eaef2
GM
11691 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
11692 Before scrolling, turn off a mouse-highlight in the window
11693 being scrolled.
11694
11695 * xterm.c (x_update_window_end): Add parameter
11696 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
11697 redisplay in XTframe_up_to_date.
11698 (x_clear_mouse_face): New function.
11699 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
11700
11701 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11702 current glyph row.
11703 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11704 it when any row is written to that contains glyphs highlighted in
11705 mouse-face.
11706 (update_window): Call the window update end hook with new
11707 parameter MOUSE_FACE_OVERWRITTEN_P.
11708 (direct_output_for_insert): Give up if row contains mouse-face.
11709
11710 * dispextern.h (struct redisplay_interface): Add parameter
11711 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11712 (clear_mouse_face): New function pointer member.
11713
02010917
SM
117142000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11715
11716 * syntax.c (back_comment): Use one switch rather than a few `if's.
11717 Obey open_paren_in_column_0_is_defun_start.
11718 When reverting to the `slow' method, try to nicely handle the case
11719 of nested comments by checking that the comment-starter we found
11720 does indeed match the comment-ender.
11721 (scan_sexps_forward, scan_sexps_forward):
11722 Ignore excessive opening parenthesis rather than throwing an error.
11723
d76c03ea
GM
117242000-07-11 Gerd Moellmann <gerd@gnu.org>
11725
11726 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11727 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11728
11729 * dispnew.c (direct_output_forward_char): Give up if currently
11730 displaying a message instead of the minibuffer contents.
11731
11732 * xterm.c (x_update_window_begin): No need to turn off the mouse
11733 highlight here.
11734 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 11735 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
11736
11737 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11738 compare the mouse_face_p flags of both rows.
11739
11740 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11741
d55ead18
EZ
117422000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11743
11744 * keyboard.c (show_help_echo): Accept additional parameter
11745 ok_to_overwrite_keystroke_echo.
11746 (read_char): Call show_help_echo with a zero
11747 ok_to_overwrite_keystroke_echo argument.
52283633 11748 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
11749 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11750 ok_to_overwrite_keystroke_echo argument.
11751 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11752 non-zero ok_to_overwrite_keystroke_echo argument.
11753
df75b1a3
GM
117542000-07-10 Gerd Moellmann <gerd@gnu.org>
11755
4b92c49a
GM
11756 * xdisp.c (try_window_id): If changes are all below what is
11757 displayed in the window, and point is in the window, we still
11758 might have to find point on the display.
11759
11760 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11761 glyphs instead of a single one.
11762 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11763 with new argument list.
11764 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11765
df75b1a3
GM
11766 * keymap.c (get_keymap_1): Add comment that this function can GC.
11767 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11768 comment that functions can GC.
11769 (Fset_keymap_parent): GCPRO arg KEYMAP.
11770
4314cf3e
EZ
117712000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11772
11773 * msdos.c (XMenuActivate): After exiting the menu, restore the
11774 echo area message and erase it.
11775
ab49ce15
KH
117762000-07-10 Kenichi Handa <handa@etl.go.jp>
11777
11778 * fontset.c (Ffontset_info): Make the return value more compatible
11779 with that of Emacs 20.
11780
090a072f
GM
117812000-07-07 Gerd Moellmann <gerd@gnu.org>
11782
11783 * eval.c (Fsignal): Handle case that backtrace_list is null.
11784
f92de4a6
KH
117852000-07-07 Kenichi Handa <handa@etl.go.jp>
11786
11787 * ccl.c (Fccl_execute): Typo fixed.
11788
dd8888a1
GM
117892000-07-06 Gerd Moellmann <gerd@gnu.org>
11790
e5c81191 11791 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11792
dd8888a1
GM
11793 * window.c (Fwindow_list): Reverse list at the end.
11794 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11795 means allow windows on OWINDOW's frame, only.
11796 (window_loop): Simplified; use Fwindow_list.
11797
11798 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11799
485266d0
GM
118002000-07-05 Gerd Moellmann <gerd@gnu.org>
11801
11802 * xterm.c (XTread_socket): Increment handling_signal at the start,
11803 decrement it at the end.
11804
11805 * eval.c (handling_signal): New variable.
11806 (Fsignal): Abort if handling_signal is non-zero.
11807
11808 * lisp.h (handling_signal): External declaration.
178c5d9c 11809
485266d0
GM
11810 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11811
80fcd514
KR
118122000-07-05 Ken Raeburn <raeburn@gnu.org>
11813
11814 Sound support for NetBSD through "Linux emulation" support:
11815 * config.in (HAVE_SOUNDCARD_H): Undef.
11816 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11817 * Makefile.in (LIBSOUND): New variable.
11818 (LIBES): Include it.
52283633
SM
11819 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11820 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11821 (vox_open): Use DEFAULT_SOUND_DEVICE.
11822 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11823
d5c5cddd
GM
118242000-07-05 Gerd Moellmann <gerd@gnu.org>
11825
11826 * print.c (print_error_message): If Vsignaling_function is set,
11827 show it in *Messages*.
11828
11829 * lisp.h (Vsignaling_function): External declaration.
11830
11831 * eval.c (Vsignaling_function): New variable.
11832 (Fsignal): Compute it.
11833 (syms_of_eval): Staticpro it.
11834
65171e3a
DL
118352000-07-05 Dave Love <fx@gnu.org>
11836
11837 * syswait.h: Use the autoconf recommended approach. Old code
11838 #if'd out in case we need to revert.
11839
178c5d9c 11840 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11841
e2c46326
AI
118422000-07-05 Andrew Innes <andrewi@gnu.org>
11843
11844 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11845 when non-NULL instead of __morecore, to take account of buffer
11846 memory. This also solves a problem with spurious memory warnings
11847 on Windows.
11848
11849 * ralloc.c: Make real_morecore non-static.
11850
11851 * eval.c (internal_condition_case): Comment out abort if
11852 interrupt_input_blocked is not zero.
11853
11854 * makefile.nt: Add support for `bootstrap' and related targets.
11855 Include minimal debug info in emacs.exe in release build.
11856 Remove all dependencies on lisp.h, and fixup some others.
11857
11858 * w32.c (init_environment): Install code from 20.7 for providing
11859 default values for environment variables, based on the
11860 executable's own location.
52283633 11861 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11862 (sys_socket): Install socket inheritance bug fix from 20.7.
11863
11864 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11865 here via blockinput.h).
11866
a027a91b
SM
118672000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11868
e4b31601
SM
11869 * w32menu.c (w32_menu_display_help):
11870 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11871
11872 * keyboard.h (show_help_echo): Declare.
11873
11874 * keyboard.c (show_help_echo): New function, extracted from read_char.
11875 Feval its `msg' argument if it's a cons cell.
11876 (read_char): Use it.
4cf8d9d5 11877 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11878
178c5d9c 11879 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11880 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11881 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11882 (dos_rawgetc):
11883 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11884 (note_tool_bar_highlight, w32_read_socket):
11885 Do not gratuitously ignore non-string `help-echo' properties.
11886
88d75730
GM
118872000-07-05 Gerd Moellmann <gerd@gnu.org>
11888
969f7e79
GM
11889 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11890
71201b00
GM
11891 * window.c (delete_all_subwindows): Reset Vwindow_list.
11892
88d75730
GM
11893 * xterm.c (x_append_glyph, x_append_composite_glyph)
11894 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11895 changes in struct glyph starting 1999-12-27. Some bit-fields of
11896 struct glyph were not set, which made glyphs unequal when compared
11897 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11898 effects were the result. This also depended on the contents of
11899 memory returned by xmalloc. If flickering happens again, activate
11900 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11901 gone with that, chances are that it is caused by something similar.
88d75730
GM
11902
11903 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11904
88d75730
GM
11905 * dispextern.h: Add some comments.
11906
11907 * window.c (add_window_to_list): Add parameter LIST.
11908 (window_list): Order list so that, for each frame, windows are
11909 in canonical order, and so that frames appear in the list in
11910 the order given by Vframe_list.
11911 (next_window): Reverse the handling of NEXT_P.
11912
53654733
GM
119132000-07-04 Gerd Moellmann <gerd@gnu.org>
11914
87efd256
GM
11915 * window.c (Vwindow_list): New variable.
11916 (make_window, delete_window): Set Vwindow_list to nil.
11917 (check_window_containing): New function.
11918 (window_from_coordinates): Rewritten.
11919 (add_window_to_list, window_list, candidate_window_p)
11920 (decode_next_window_args, next_window): New functions.
52283633 11921 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11922 (Fwindow_list): New function.
11923 (Fother_window): Cleaned up.
11924 (foreach_window): Add a longer "variable argument list". Let
11925 callback function return 0 to indicate that cycling over windows
11926 should stop.
11927 (foreach_window_1): Likewise.
11928 (freeze_window_start): Return int.
11929 (init_window): New function.
11930 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11931
11932 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11933 input_event with bzero.
11934 (main): Call init_window.
11935
53654733
GM
11936 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11937 a menu filter.
11938
4a8c194f
KH
119392000-07-04 Kenichi Handa <handa@etl.go.jp>
11940
11941 * composite.h (make_composition_value_copy): Extern it.
11942
11943 * composite.c (make_composition_value_copy): New function.
11944
11945 * editfns.c (Fformat): While copying text properties, make each
11946 composition property value a copy.
11947
11948 * fns.c (concat): While copying text properties, make each
11949 composition property value a copy.
11950
831a6cb0
GM
119512000-07-03 Gerd Moellmann <gerd@gnu.org>
11952
2f516940
GM
11953 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11954
178c5d9c 11955 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11956 marked already.
11957
831a6cb0
GM
11958 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11959 include those frames as candidates which have their focus
11960 redirected to the minibuffer frame.
11961
d9c4f922
SM
119622000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11963
11964 * fns.c (Fputhash): Return `value' rather than nil.
11965
3780bc22
GM
119662000-06-30 Gerd Moellmann <gerd@gnu.org>
11967
97d176db
GM
11968 * frame.c (next_frame): Don't check focus redirection in case
11969 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11970 unless their focus is redirected, which contradicts the
11971 specification of next-frame, and leads to infinite loops in
11972 certain situations when cycling through windows with next-window.
11973
dca9961d
KH
119742000-06-30 Kenichi Handa <handa@etl.go.jp>
11975
11976 * coding.c (code_convert_region): Even if the length of text is
11977 zero, try to convert it if coding->type is coding_type_ccl.
11978 (decode_coding_string, encode_coding_string): Likewise.
11979
d5483ab1
GM
119802000-06-28 Gerd Moellmann <gerd@gnu.org>
11981
af5c25e1 11982 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11983 the display if windows_or_buffers_changed.
af5c25e1
GM
11984
11985 * dispnew.c (struct row_entry): New structure.
11986 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11987 (row_table_size, old_lines, new_lines, old_lines_size)
11988 (new_lines_size, run_pool, runs_size, runs): New variables.
11989 (add_row_entry): New function.
11990 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11991 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11992 holding them in local variables. Use a larger hash table whose
11993 size depends on glyph matrix sizes. Don't use bzero to clear the
11994 hash table; instead, clear used slots only.
11995
11996 * fns.c (next_almost_prime): Make it externally visible.
11997
11998 * lisp.h (next_almost_prime): Add prototype.
11999
d5483ab1
GM
12000 * s/isc4-0.h (sigunblock): Define.
12001
12002 * s/sco5.h (sigunblock): Define.
12003
93e40f40
DL
120042000-06-27 Dave Love <fx@gnu.org>
12005
12006 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
12007 (moved to osf5-0.h).
12008 [!NOT_C_CODE]: Protect string.h stuff.
12009
12010 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
12011 (sys_siglist, NSIG): Definitions moved here from osf1.h.
12012
3c4b7685
GM
120132000-06-27 Gerd Moellmann <gerd@gnu.org>
12014
97d176db 12015 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
12016 below the last line from the needed window height.
12017
32cad0aa
SM
120182000-06-26 Stefan Monnier <monnier@cs.yale.edu>
12019
12020 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
12021 (Fwidget_get): Use it.
12022 (syms_of_fns): Defsubr it.
12023
2c69ced2
GM
120242000-06-26 Gerd Moellmann <gerd@gnu.org>
12025
178c5d9c 12026 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
12027 display info for XIM.
12028 (xim_open_dpy): Likewise.
12029 (xim_close_dpy): Don't free the display info's XIM.
12030
12031 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
12032
12033 * config.in (USE_XIM): New define.
12034
3fc720e4
GM
12035 * keymap.c (get_keyelt): For menu-items containing a `:filter
12036 FILTER', apply FILTER to the menu-item's definition to get the
12037 real definition to use.
12038
12039 * lisp.h (QCfilter): External declaration.
12040
2c69ced2
GM
12041 * xfns.c (Fimage_size): New function.
12042 (syms_of_xfns): Defsubr it.
12043
f978b2a2
AS
120442000-06-26 Andreas Schwab <schwab@suse.de>
12045
12046 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
12047 Fstring_as_unibyte.
12048
94cc7892
DL
120492000-06-25 Dave Love <fx@gnu.org>
12050
52283633 12051 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
12052
12053 * Makefile.in (blockinput.h): Depend on atimer.h.
12054 (atimer.h): Depend on systime.h.
12055
52283633 12056 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 12057
52283633 12058 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
12059
12060 * lisp.h (swap_in_global_binding): Declare.
12061
b8c24556
KR
120622000-06-24 Ken Raeburn <raeburn@gnu.org>
12063
12064 * process.c (Fopen_network_stream): Turn off atimers for duration
12065 of call to connect. (Patch from Gerd.)
12066
8cf8560b
DL
120672000-06-23 Dave Love <fx@gnu.org>
12068
511c7541
DL
12069 * ralloc.c: Maybe include unistd.h
12070
8cf8560b
DL
12071 * emacs.c (setgrp): Undefine before defining.
12072 (malloc_warning, set_time_zone_rule, index): Prototype.
12073
12074 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
12075 HAVE_STRUCT_TIMEZONE.
12076
12077 * s/osf1.h: Move string.h hack here from alpha.h and make it
12078 conditional.
12079 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
12080 _XOPEN_SOURCE.
12081 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
12082 (SOCKLEN_TYPE): Don't define.
12083
12084 * m/alpha.h: Remove string.h hack.
12085
12086 * s/osf5-0.h: New file.
12087
12088 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
12089 include time.h, done by systime.h.
12090 [__FreeBSD__]: Remove redundant includes.
12091
3fc720e4 12092 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
12093 (delete_temp_file): Return Qnil to avoid warning.
12094
12095 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
12096
12097 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
12098 HAVE_X_WINDOWS.
12099
12100 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
12101
12102 * composite.h (compose_text): Declare.
12103
12104 * xterm.c: Don't include sys/types.h unconditionally. Don't
12105 protect its inclusion with !USG (following xmenu.c).
12106
ea055732
GM
121072000-06-23 Gerd Moellmann <gerd@gnu.org>
12108
12109 * xfns.c (x_create_tip_frame): Initialize frame's colors like
12110 in x_create_frame.
12111
74b01b80
EZ
121122000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
12113
12114 * coding.c (decode_eol_post_ccl): Special handling for undecided
12115 and inconsistent EOL types.
12116
64f3a166
GM
121172000-06-22 Gerd Moellmann <gerd@gnu.org>
12118
16cf31f7
GM
12119 * xrdb.c (x_load_resources): Add default resource for scroll bar's
12120 trough color and main window's background color.
12121
52283633 12122 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
12123
12124 * xterm.h (Xt_app_con): External declaration.
12125
12126 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 12127
486a103d
GM
12128 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
12129
64f3a166
GM
12130 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
12131 (handle_invisible_prop): Record the start of invisible text in
12132 it->add_overlay_start.
12133 (struct overlay_entry): Add member `overlay'.
12134 (handle_overlay_change): Simplify.
12135 (next_overlay_string): After having processed overlay strings at the
12136 end of the buffer, record that fact in
12137 it->overlay_strings_at_end_processed_p.
12138 (compare_overlay_entries): If before- and after-strings come
12139 from the same overlay, let before-strings come first.
12140 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
12141 (load_overlay_strings): Take it->add_overlay_start into account
12142 when adding overlay strings.
12143
12144 * dispextern.h (struct it): Add member add_overlay_start.
12145
bb746ea6
DL
121462000-06-22 Dave Love <fx@gnu.org>
12147
12148 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
12149
12150 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
12151
a8f573f3
KH
121522000-06-22 Kenichi Handa <handa@etl.go.jp>
12153
12154 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
12155 is greater than 0.
12156
9f2bbc92
DL
121572000-06-21 Dave Love <fx@gnu.org>
12158
178c5d9c 12159 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 12160
3ee5041c
SM
121612000-06-21 Stefan Monnier <monnier@cs.yale.edu>
12162
12163 * syntax.c (back_comment): Simplify string-parity counting (with
12164 the added benefit of handling multiple string-styles as long as
12165 they are not intertwined).
12166 Jump to the slow code as soon as a comment starter is found in
12167 a "string_lossage" position. Fixes the case: " /* " /* " */.
12168
4c343001
DL
121692000-06-21 Dave Love <fx@gnu.org>
12170
12171 * Makefile.in: Use GETLOADAVG_LIBS.
12172
12173 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
12174 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
12175
e6365855
SM
121762000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12177
12178 * syntax.c (describe_syntax): Recognize the `n'estable bit.
12179 (Fforward_comment, scan_lists):
12180 Check the comstyle of single-char comment-starters.
12181 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
12182 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
12183 Check the comstyle of single-char comment-starters.
12184 Clarify control-flow around the Scomment case.
e6365855 12185
5700d2cc
DL
121862000-06-20 Dave Love <fx@gnu.org>
12187
d355bd8a
SM
12188 * fns.c (make_hash_table, maybe_resize_hash_table):
12189 Cast arg of next_almost_prime.
5700d2cc 12190
178c5d9c 12191 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
12192
12193 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12194 and unistd.h.
12195
4a27bdfb
GM
121962000-06-20 Gerd Moellmann <gerd@gnu.org>
12197
a61d762c 12198 * keyboard.c (adjust_point_for_property): Check if display
52283633 12199 property should be treated as intangible by looking at its value.
a61d762c 12200
178c5d9c 12201 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
12202 (display_prop_intangible_p): New functions.
12203
12204 * dispextern.h (display_prop_intangible_p): Add prototype.
12205
12206 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 12207
4a27bdfb
GM
12208 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12209 argument to sigprocmask.
12210
12211 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12212 argument to sigprocmask.
12213
12214 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12215 sigprocmask_set, and pass a pointer to it to sigprocmask.
12216
12217 * sysdep.c (sigprocmask_set): New variable.
12218
12219 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12220 report_file_error.
12221
427ec082
SS
122222000-06-20 Sam Steingold <sds@gnu.org>
12223
12224 * xrdb.c: Don't declare xmalloc, xrealloc.
12225
8972fe79 122262000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
12227
12228 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12229 (re_comp): Cast gettext return value to avoid complaints when
12230 !HAVE_LIBINTL.
12231
074b6efe
DL
122322000-06-20 Dave Love <fx@gnu.org>
12233
52283633 12234 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 12235
5700d2cc 12236 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 12237
d355bd8a 12238 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
12239
12240 * m/alpha.h: Don't declare xmalloc, xrealloc.
12241
0af4f205
DL
12242 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12243
12244 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12245
12246 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12247
12248 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12249 HAVE_GETWD.
12250
074b6efe
DL
12251 * keyboard.h (poll_for_input_1): Declare.
12252
12253 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12254
12255 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12256
12257 * doprnt.c: Don't declare xmalloc, xrealloc.
12258
12259 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12260 (getenv, ctime, getwd): Removed.
12261 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12262
12263 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12264 x_set_tool_bar_lines.
12265
12266 * config.in: Add HAVE_GETWD. Move some definitions above
12267 machine/system includes.
12268
68a5e97b
KH
122692000-06-20 Kenichi Handa <handa@etl.go.jp>
12270
95417e1e
KH
12271 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12272
68a5e97b
KH
12273 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12274 contain information about ENCODING.
12275
12276 * fontset.c (FONTSET_ASCII): Use the first element of char table
12277 for an ASCII font, not defalt slot.
12278 (fontset_ref_via_base): If FONTSET doesn't contain information for
12279 C, try the default fontset.
12280 (make_fontset): Don't copy the default fontset.
12281 (fontset_font_pattern): Likewise.
12282 (accumulate_font_info): If ELT is nil, use the corresponding
12283 element in the default fontset.
12284
3b4fa1b2
DL
122852000-06-19 Dave Love <fx@gnu.org>
12286
943e731c
DL
12287 * syntax.c (Fparse_partial_sexp): Doc fix.
12288
12289 * regex.h: Test PROTOTYPES as well as __STDC__.
12290
3b4fa1b2
DL
12291 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12292 errno, strerror. Put text after #endif in comment.
12293
52283633 12294 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
12295
12296 * xterm.c (x_frame_of_widget): Likewise.
12297
cdf0357b
GM
122982000-06-19 Gerd Moellmann <gerd@gnu.org>
12299
12300 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12301 to Vfundamental_mode_abbrev_table.
12302
12303 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12304 bogus objects are marked. This slows down GC by ~80 percent, but
12305 it might be worth trying when debugging GC-related problems.
12306 This feature requires conservative stack marking to be enabled.
12307
12308 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12309 returns XLookupChars, reset `modifiers' to zero.
12310
998e9f8c
DL
123112000-06-19 Dave Love <fx@gnu.org>
12312
12313 * mktime.c: Unprotoized.
12314
18e21ce8 123152000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
12316
12317 * data.c (set_internal): If variable is frame-local,
12318 store the new value immediately into the frame parameter alist.
12319
140c4ac6
KR
123202000-06-19 Ken Raeburn <raeburn@gnu.org>
12321
14358466
KR
12322 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12323 in the custom handler pointer.
12324
140c4ac6
KR
12325 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12326 value, or checks for CHAR_META can fail when Lisp_Object is a
12327 union type.
12328 * keymap.c (get_keyelt): Likewise.
12329
10d7bf84
KH
123302000-06-19 Kenichi Handa <handa@etl.go.jp>
12331
12332 * ccl.h (struct ccl_program): New member eol_type.
12333 (struct ccl_spec): New member cr_carryover.
12334
12335 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12336 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12337
12338 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12339 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12340 (decode_eol_post_ccl): New function.
12341 (decode_coding): Don't detect EOL format here for CCL based coding
12342 systems.
12343 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
12344 decode_eol_post_ccl after running the CCL program.
12345 (code_convert_region): Don't detect EOL format here for CCL based
12346 coding systems.
12347 (decode_coding_string): Likewise.
12348
52e386c2
KR
123492000-06-18 Ken Raeburn <raeburn@gnu.org>
12350
12351 * charset.c (update_charset_table): Use XINT on "iso_final_char"
12352 when treating it as an integer.
12353
12354 * coding.h (encode_coding_string): Declare.
12355
12356 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
12357 it as an integer.
12358
12359 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
12360 "xkeymap" to avoid shadowing the "enum map_type" value that needs
12361 to be passed to get_local_map.
12362
12363 * sound.c (Fplay_sound): Don't call make_number on
12364 Frun_hook_with_args count argument.
12365
12366 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
12367 for lisp objects in X event structure data field, when lisp
12368 objects are represented with unions.
12369 (x_scroll_bar_to_input_event): Ditto.
12370
b357b9d4
KR
123712000-06-16 Ken Raeburn <raeburn@gnu.org>
12372
12373 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
12374 termination of string. Fix sense of test whether
12375 Vline_number_display_limit is an integer.
b357b9d4 12376
a871441d
GM
123772000-06-16 Gerd Moellmann <gerd@gnu.org>
12378
a9021acd
GM
12379 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
12380 only if HAVE_X_WINDOWS.
12381
6344985d
GM
12382 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
12383 of titles.
12384
427ec082 12385 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
12386 out of bounds.
12387
228b083e
EZ
123882000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
12389
12390 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
12391 of its headers.
12392
c25b53a2
KH
123932000-06-15 Kenichi Handa <handa@etl.go.jp>
12394
12395 * coding.c (decode_coding_emacs_mule): Always set src_base at the
12396 start of the while loop.
12397
a6981b11
GM
123982000-06-15 Gerd Moellmann <gerd@gnu.org>
12399
e9924e52
GM
12400 * atimer.c (alarm_signal_handler): Add forward declaration.
12401
a6981b11
GM
12402 * data.c (set_internal): Remove debug code.
12403
25fa6deb
GM
124042000-06-14 Gerd Moellmann <gerd@gnu.org>
12405
dce6b995
GM
12406 * Makefile.in (bootstrap-temacs): Add `-I../src'.
12407
9f817ea4
GM
12408 * unexec.c (toplevel) [COFF]: Include coff.h.
12409
12410 * s/lynxos.h: New file.
12411
12412 * keymap.c (Fsingle_key_description): Enclose function key and
12413 event symbol names in angle brackets.
12414
8a4e3c0c
GM
12415 * xdisp.c (setup_echo_area_for_printing): Call
12416 message_log_maybe_newline if message_buf_print is not set.
12417
12418 * print.c (printchar, strout): Don't check message_buf_print
427ec082 12419 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
12420 function does something useful even when message_buf_print is
12421 already set.
12422
52283633
SM
12423 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
12424 New variables.
25fa6deb
GM
12425 (ensure_echo_area_buffers): Initialize echo buffer's
12426 truncate lines setting to nil.
12427 (with_echo_area_buffer): Don't set the echo buffer's truncate
12428 lines setting here.
8a4e3c0c 12429 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
12430 of message_truncate_lines.
12431 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
12432 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
12433 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
12434
12435 * keyboard.c (read_char): Bind message-truncate-lines to t
12436 while displaying a help-echo.
12437
12438 * lisp.h (Qmessage_truncate_lines): External declaration.
12439
163dcff3
GM
124402000-06-13 Gerd Moellmann <gerd@gnu.org>
12441
1681ead6
GM
12442 * xdisp.c (Vline_number_display_limit): Renamed from
12443 line_number_display_limit.
12444 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
12445 Extend documentation string. Initialize
12446 Vline_number_display_limit to nil meaning no limit.
12447 (decode_mode_spec): Use Vline_number_display_limit with its new
12448 meaning.
12449
163dcff3
GM
12450 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
12451
18e21ce8 124522000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
12453
12454 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 12455
163dcff3
GM
12456 * xfns.c (x_set_frame_parameters): Comment fix.
12457
12458 * frame.c (store_frame_param): Call swap_in_global_binding if the
12459 variable's current binding was chosen based on this frame.
12460
12461 * data.c (swap_in_global_binding): New function.
12462
a704139d
EZ
124632000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12464
12465 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
12466 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
12467
9b6610db
EZ
124682000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12469
12470 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
12471
c68833d2
JR
124722000-06-12 Jason Rumney <jasonr@gnu.org>
12473
12474 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
12475
12476 * w32.h (EMACS_W32_H): Renamed from _NT_H_
12477
12478 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
12479
12480 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
12481
ed1056b3
GM
124822000-06-12 Gerd Moellmann <gerd@gnu.org>
12483
12484 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
12485 (syms_of_xfaces): Defsubr Sdump_colors.
12486 (x_free_colors): Don't treat b&w specially on default visual.
12487 (x_free_dpy_colors): New function.
12488 (free_face_colors): Don't check visual class; it's done
12489 in x_free_colors.
12490
12491 * xterm.c (x_frame_of_widget): New function.
12492 (x_alloc_nearest_color_for_widget): Use it.
12493 (x_copy_dpy_color): New function.
12494 (x_destroy_window): Free various colors.
12495
5050a2ef
KH
124962000-06-12 Kenichi Handa <handa@etl.go.jp>
12497
12498 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
12499
12500 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
12501
12502 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
12503
12504 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
12505
12506 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
12507
fb1b041d
DL
125082000-06-11 Dave Love <fx@gnu.org>
12509
12510 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
12511
ff96b5f4
EZ
125122000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
12513
12514 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
12515
db8eeecd
GM
125162000-06-11 Gerd Moellmann <gerd@gnu.org>
12517
ed1056b3 12518 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
12519 to `XEvent *'.
12520
49b71c5f
KH
125212000-06-10 Kenichi Handa <handa@etl.go.jp>
12522
c479bd55
KH
12523 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
12524 (regex_compile): Fix the code for handling the case of single byte
12525 char and multibyte char being mixed in a range within [...].
12526
ff6a65c2
KH
12527 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
12528 and dst_multibyte members of coding.
12529
49b71c5f
KH
12530 * charset.c (update_charset_table): Update the table
12531 bytes_by_char_head.
12532 (init_charset_once): Initialize elements of bytes_by_char_head to
12533 1 except for leading codes for private charases.
12534
12535 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 12536 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 12537
9e80b57d
KR
125382000-06-09 Ken Raeburn <raeburn@gnu.org>
12539
12540 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
12541 access the data it doesn't point to.
12542
f83fe4b4
GM
125432000-06-08 Gerd Moellmann <gerd@gnu.org>
12544
12545 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 12546 will be translated to a switch-frame event when reading the
f83fe4b4
GM
12547 event queue. This is necessary because Emacs otherwise won't
12548 perform a switch-frame to a new frame until some other event, for
12549 example a keystroke event, forces it to do so. This has various
12550 effects, one visible being that the cursor of a frame created with
12551 C-x 5 2 or switched to with a window manager key binding like
12552 A-TAB stays hollow because selected_window isn't on the newly
12553 focused frame until the switch-frame is performed.
12554
12555 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
12556 generating a switch-frame event if necessary.
12557
12558 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
12559
12560 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
12561 it's an integer.
12562
0890801b
KH
125632000-06-08 Kenichi Handa <handa@etl.go.jp>
12564
52283633 12565 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 12566
173cbca8
GM
125672000-06-07 Gerd Moellmann <gerd@gnu.org>
12568
3091c2a6
GM
12569 * window.c (displayed_window_lines): Take empty lines at
12570 the bottom of a window into account.
427ec082 12571
f38952fe
GM
12572 * window.c (displayed_window_lines): New function.
12573 (Fmove_to_window_line): Use displayed_window_lines to determine
12574 the number of lines to move, instead of using the window's height.
12575
12576 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
12577 to stop reading, even if the form read sets point to a different
12578 value when evaluated.
12579
427ec082 12580 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
12581 put the cursor.
12582
6ba6c818
KH
125832000-06-07 Kenichi Handa <handa@etl.go.jp>
12584
12585 * fileio.c (e_write): Free composition data if stored in
12586 coding->cmp_data.
12587
5f1aea9a
GM
125882000-06-06 Gerd Moellmann <gerd@gnu.org>
12589
666852af
GM
12590 * xdisp.c (display_line): Set row's and iterator's
12591 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
12592 Set cursor even if row ends in the middle of a character.
12593 (dump_glyph_row): Print values of new flags.
12594 (redisplay_window) <cursor movement in unchanged window>: When
12595 point has been moved forward, and PT is at the end of the cursor
12596 row, don't place the cursor in the next row if the cursor row ends
12597 in the middle of a character or at ZV.
12598
12599 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
12600 (struct glyph_row): Add starts_in_middle_of_char_p and
12601 ends_in_middle_of_char_p.
12602 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
12603 ends_in_middle_of_char_p flag.
12604 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
12605
d13f3e2e
GM
12606 * term.c (append_glyph): Revert change of 2000-06-06.
12607
12608 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
12609 padding glyph not fitting on line as whole character not
12610 fitting on line.
12611
5f1aea9a
GM
12612 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
12613 this isn't true for images with `:ascent 100'.
12614
10cda9b0
KH
126152000-06-06 Kenichi Handa <handa@etl.go.jp>
12616
ed00559d
KH
12617 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
12618 as modified if it is originally unmodified.
12619
10cda9b0
KH
12620 * term.c (encode_terminal_code): Change the way to check if
12621 terminal coding does any conversion.
12622 (append_glyph): Set glyph->pixel_width correctly.
12623
12624 * xdisp.c (display_line): While checking line continuation, pay
12625 attention to a padding glyph.
12626
1969fae2
GM
126272000-06-05 Gerd Moellmann <gerd@gnu.org>
12628
12629 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
12630
162ccef4
DL
126312000-06-05 Dave Love <fx@gnu.org>
12632
f19f32dd
DL
12633 * xdisp.c: Include fontset.h.
12634
12635 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
12636
12637 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12638
12639 * dispnew.c: Conditionally include term.h.
12640
12641 * coding.h: Declare code_convert_string_norecord.
12642
12643 * frame.h (struct frame): Use volatile unconditionally.
12644
12645 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
12646
12647 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
12648
12649 * systime.h: Protect against multiple inclusion.
12650 (timezone) [USG5_4]: Define as time_t.
12651
12652 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12653 (Foptimize_char_table, make_temp_name): Declare.
12654
12655 * Makefile.in (xdisp.o): Depend on fontset.h.
12656
12657 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12658
12659 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12660 (Foptimize_char_table, make_temp_name): Declare.
12661
427ec082 12662 * s/irix4-0.h:
162ccef4
DL
12663 * s/irix5-0.h:
12664 * s/netbsd.h: Don't define autoconfiscated MATHERR.
12665
2082fe81
DL
126662000-06-02 Dave Love <fx@gnu.org>
12667
12668 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
12669
dcf671d2
GM
126702000-06-02 Gerd Moellmann <gerd@gnu.org>
12671
12672 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 12673 result face, set flags in that face indicating that colors may not
dcf671d2
GM
12674 be freed.
12675
12676 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
12677 glyph, use the ASCII NUL character to determine the face.
12678
d42122a3
DL
126792000-06-02 Dave Love <fx@gnu.org>
12680
12681 * sysdep.c: Conditionally include stdlib.h, unistd.h.
12682 (VFORK_RETURN_TYPE): Remove.
427ec082 12683
d42122a3
DL
12684 * config.in: Add NO_MATHERR.
12685
dd432f16
DL
126862000-06-01 Dave Love <fx@gnu.org>
12687
90aa4ea8
DL
12688 * cmds.c (internal_self_insert): Don't check
12689 Vbefore_change_function, Vafter_change_function.
12690
12691 * insdel.c (signal_before_change, signal_after_change): Likewise.
12692
12693 * buffer.c (Vbefore_change_function, Vafter_change_function):
12694 Variables and their initializations deleted.
12695
2330c9d4
DL
12696 * callint.c (Fcall_interactively): Doc fix.
12697
dd432f16
DL
12698 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
12699
bf9e8804
DL
127002000-05-31 Dave Love <fx@gnu.org>
12701
12702 * textprop.c: Revert last change -- duplicated.
12703
3694b4ab
GM
127042000-05-31 Gerd Moellmann <gerd@gnu.org>
12705
12706 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12707 in #if 0.
12708
12709 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12710
f14156cd
JR
127112000-05-31 Jason Rumney <jasonr@gnu.org>
12712
8119aab8
JR
12713 * search.c (Fre_search_forward, Fre_search_backward)
12714 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12715
f14156cd
JR
12716 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12717
4aab9be3
JR
127182000-05-30 Jason Rumney <jasonr@gnu.org>
12719
12720 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12721 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12722
52283633 12723 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
12724
12725 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12726 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12727 expand a nil default_filename.
12728
12729 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12730 pointer to glyph_to_pixel_coords, not a frame.
12731
12732 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12733 coding.h to dependencies.
12734
12735 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12736
12737 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12738 window pointer to be consistent with w32term.c and xterm.c.
12739
12740 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12741 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12742 (Qline_spacing, Qcenter): New variables.
12743 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12744 (x_set_line_spacing): New function.
52283633 12745 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
12746 (x_specified_cursor_type): New function.
12747 (x_set_cursor_type): Use it.
12748 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12749 and icon strings.
12750 (validate_x_resource_name, x_get_resource_string): Measure lengths
12751 of external strings in bytes.
12752 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12753 GetTextExtentPoint32 with NULL title.
12754 (Fx_create_frame): Initialize Qline_spacing.
12755 (w32_load_system_font): Initialize font->double_byte_p.
12756 (x_to_w32_charset): Use Vw32_charset_info_alist.
12757 (Image, busy cursor, tooltip functions): Merged changes from
12758 xfns.c. Not yet functional on Windows.
12759
12760 * w32gui.h (W32FontStruct): Add double_byte_p member.
12761
12762 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12763 (emacs_button_translation): Use it.
12764 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12765 in `mask' to be set.
12766
12767 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12768 menu strings.
12769
12770 * w32term.c: Format and doc changes to bring closer to xterm.c.
12771 (w32_char_font_type): New enum.
12772 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12773 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12774 (w32_encode_char): New function.
12775 (x_encode_char): Removed.
12776 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12777 x_encode_char and w32_font_is_double_byte.
12778 (x_produce_image_glyph): Use image_ascent.
12779 (x_produce_glyphs): Use new version of w32_per_char_metric and
12780 handle NULL return value. Allow extra line spacing.
12781 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12782 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12783 w32_font_type member of glyph instead.
12784 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12785 (fast_find_position): Make sure not to consider rows not visible
12786 in the window.
12787 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12788 w32_menu_display_help with input blocked, as it can abort.
12789 (x_display_and_set_cursor): Choose cursor depending
12790 on buffer-local value of cursor_type.
12791 (x_draw_bar_cursor): Add parameter WIDTH.
12792
12793 * w32term.h (CP_DEFAULT): Define.
12794 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12795
10fc3187
GM
127962000-05-30 Gerd Moellmann <gerd@gnu.org>
12797
12798 * search.c (Fre_search_forward, Fre_search_backward)
12799 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12800
d0555360
KH
128012000-05-30 Kenichi Handa <handa@etl.go.jp>
12802
12803 * coding.c (detect_coding_iso2022): Fix code for checking
12804 CODING_CATEGORY_MASK_ISO_8_2.
12805
f1ad044f
SM
128062000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12807
12808 * regex.c (PREFETCH_NOLIMIT): New function.
12809 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12810
84ec3b4b
GM
128112000-05-29 Gerd Moellmann <gerd@gnu.org>
12812
66254a13
GM
12813 * syntax.c (find_defun_start): Move test for
12814 open_paren_in_column_0_is_defun_start outside of the loop.
12815
49e70dec
GM
12816 * xdisp.c (redisplay_window): Really switch buffers when
12817 displaying mode lines, and temporarily set selected_frame to the
12818 frame of the window that's redisplayed.
12819
84ec3b4b
GM
12820 * xfaces.c (free_realized_faces): Block/unblock input.
12821 (free_realized_multibyte_face): Ditto.
12822
869a3a14
DL
128232000-05-29 Dave Love <fx@gnu.org>
12824
12825 * textprop.c (Qkeymap): New variable.
12826 (syms_of_textprop): Intern it.
12827
12828 * keymap.c: Include intervals.h.
12829 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12830
12831 * Makefile.in (keymap.o): Depend on intervals.h.
12832
12833 * keyboard.c (menu_bar_items, tool_bar_items)
12834 (Fexecute_extended_command): Deal with `keymap' property.
12835 (read_key_sequence): Track map from `keymap' property as well as
12836 `local_map'.
12837
12838 * intervals.c (get_local_map): Extra arg to allow looking for
12839 `keymap' too.
12840
12841 * intervals.h (map_property): New enum.
12842 (get_local_map): Extra arg using it.
12843 (Qkeymap): Declare.
12844
84ec3b4b 12845 * lisp.h (get_local_map): Don't declare here.
869a3a14 12846
89d0c844
KH
128472000-05-29 Kenichi Handa <handa@etl.go.jp>
12848
12849 * Makefile.in (callproc.o): Depend on composite.h.
12850
12851 * callproc.c: Include composite.h.
12852 (Fcall_process): Handle composition correctly.
12853
12854 * coding.h (coding_allocate_composition_data): Extern it.
12855 (coding_restore_composition): Likewise.
12856
12857 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12858 yet allocated, finish decoding with result
12859 CODING_FINISH_INSUFFICIENT_CMP.
12860 (coding_allocate_composition_data): Make it non-static.
12861 (coding_restore_composition): Likewise.
12862
797a084a
EZ
128632000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12864
12865 * charset.c (syms_of_charset): Revert last change.
12866
cf872af5
EZ
128672000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12868
12869 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12870 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12871 Handa.
cf872af5 12872
5b1ae051
EZ
128732000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12874
12875 * charset.c (syms_of_charset): Set width of character sets
12876 eight-bit-control and eight-bit-graphic to 1 column.
12877
34ec9ebe
GM
128782000-05-26 Gerd Moellmann <gerd@gnu.org>
12879
12880 * config.in (HAVE_SPEED_T): New define.
12881
12882 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12883 `extern speed_t'.
12884
dd854dc2
DL
128852000-05-26 Dave Love <fx@gnu.org>
12886
12887 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12888
12889 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12890 (Fsubr_arity): New function.
12891 (syms_of_data): Install them.
12892
ba9f8f95
KH
128932000-05-26 Kenichi Handa <handa@etl.go.jp>
12894
0f3e0672
KH
12895 * charset.c (init_charset_once): Set the table bytes_by_char_head
12896 correctly.
12897
cebefb44
KH
12898 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12899 the default fontset to what Emacs uses by default.
0f3e0672
KH
12900 (check_registry_encoding): This function deleted.
12901 (Fset_fontset_font): Remove the adhoc condition for the default
12902 fontset. Allow cons in FONTNAME.
cebefb44 12903
0f3e0672
KH
12904 * fns.c (map_char_table): Ignore char-table entries for
12905 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12906
7a18af49
KR
129072000-05-25 Ken Raeburn <raeburn@gnu.org>
12908
12909 * emacs.c (main): Initialize keyboard syms before initializing
12910 window code, so face names are available.
12911
d2af47df
SM
129122000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12913
12914 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12915 of an anchor at the beginning of a shy-group.
12916
fc6a6a4e
GM
129172000-05-25 Gerd Moellmann <gerd@gnu.org>
12918
12919 * xdisp.c (handle_invisible_prop): Don't try to skip over
12920 invisible text if end of text is already reached.
12921
005f0d35
DL
129222000-05-25 Dave Love <fx@gnu.org>
12923
02513cdd
DL
12924 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12925
005f0d35
DL
12926 * coding.c (encode_eol): Add null statement after label.
12927
89f6ca4e
EZ
129282000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12929
12930 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12931 2000-05-20.
12932
a4e1759e
KH
129332000-05-25 Kenichi Handa <handa@etl.go.jp>
12934
12935 * ccl.c (ccl_driver): Fix previous change.
12936
eacfd7fe
KH
129372000-05-25 Kenichi Handa <handa@etl.go.jp>
12938
46ab33a9
KH
12939 * coding.c (run_pre_post_conversion_on_str): Set point to the
12940 beginning of buffer before calling coding->post_read_conversion.
12941 (decode_coding_string): Give correct args to
12942 run_pre_post_conversion_on_str.
12943 (encode_coding_string): Likewise.
12944
eacfd7fe
KH
12945 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12946 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12947 eight-bit-graphic correctly.
12948
f8569325
DL
129492000-05-24 Kenichi HANDA <handa@etl.go.jp>
12950
12951 * fileio.c (Finsert_file_contents): Even if a file is not found,
12952 execute codes for setting up coding system. Call
12953 after-insert-file-functions unconditionally.
12954
04545643
GM
129552000-05-24 Gerd Moellmann <gerd@gnu.org>
12956
12957 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12958 BSD_PGRPS are not defined.
12959
747d90ea
KH
129602000-05-24 Kenichi Handa <handa@etl.go.jp>
12961
12962 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12963 DESCRIPTION.
12964 (syms_of_charset): Avoid building same strings.
12965
716e3b88
GM
129662000-05-23 Gerd Moellmann <gerd@gnu.org>
12967
12968 * lread.c (Fload): Add a comment about the meaning of
12969 Vuser_init_file being t.
12970
12971 * puresize.h (BASE_PURESIZE): Increase to 675000.
12972
12973 * s/gnu-linux.h (setpgrp): Don't define it here because this
12974 prevents compilation on GNU/Linux systems with glib 2.2.
12975
12976 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12977 as setpgid.
427ec082 12978
9aeb39fa
EZ
129792000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12980
12981 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12982 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12983 version.
12984 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12985
29ced61b
KH
129862000-05-23 Kenichi Handa <handa@etl.go.jp>
12987
52283633 12988 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12989
3d80f24d
KH
12990 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12991
52283633 12992 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12993
29ced61b
KH
12994 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12995
d7e00792
KH
129962000-05-22 Kenichi Handa <handa@etl.go.jp>
12997
c9d80d38
KH
12998 * keyboard.c (read_char): Allow character codes 128..255 to be
12999 handled by input-method-function.
13000
d7e00792
KH
13001 * insdel.c (adjust_markers_for_replace): Fix previous change.
13002 (adjust_after_replace): If PREV_TEXT is nil, call
13003 adjust_markers_for_insert, not adjust_markers_for_replace.
13004
087121cc 130052000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 13006
087121cc
GM
13007 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
13008 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
13009 [HAVE_GRANDPT]: Define.
13010 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
13011
13012 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
13013 like SYSV_PTYS.
13014
13015 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
13016
13017 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
13018
c9671f81
KH
130192000-05-20 Kenichi Handa <handa@etl.go.jp>
13020
13021 The following changes are to handle 8-bit characters in a
13022 multibyte buffer/string without facing with byte combining
13023 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
13024 eight-bit-graphic (for 0xA0..0xFF) are introduced.
13025
13026 * Makefile.in (fns.o): Depend on charset.h.
13027
13028 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
13029 convert it to unibyte.
13030 (make_string): Use parse_str_as_multibyte, not chars_in_text.
13031
13032 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
13033 apparent char boundary.
13034 (Fset_buffer_multibyte): Convert 8-bit characters in the range
13035 0x80..0x9F to/from multibyte form.
13036
13037 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
13038 to unibyte.
13039
13040 * callproc.c (Fcall_process): Always encode an argument string if
13041 it is multibyte. Setup src_multibyte and dst_multibyte members of
13042 process_coding properly.
ce75fd23 13043
c9671f81
KH
13044 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
13045 SPLIT_NON_ASCII_CHAR.
13046
13047 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
13048 as is.
13049 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
13050
52283633 13051 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 13052 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 13053 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
13054 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
13055 and eight-bit-graphic.
13056 (char_to_string): Likewise. Signal an error for too large
13057 character code.
13058 (char_printable_p): Return 0 for 8-bit characters.
13059 (update_charset_table): Update iso_charset_table only when a final
13060 character is non-negative.
13061 (find_charset_in_text): Renamed from find_charset_in_str.
13062 Arguments and return value changed. Callers changed.
13063 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
13064 be -1 if CHARSET is used only internally.
13065 (Fmake_char_internal): Handle new charsets; eight-bit-control and
13066 eight-bit-graphic.
13067 (Fcharset_after): Simplified.
13068 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
13069 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
13070 (multibyte_chars_in_text): Simplified by assuming there's no
13071 invalid multibyte sequence.
52283633
SM
13072 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13073 (str_as_unibyte): New functions.
13074 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
13075 (init_charset_once): Initialization for
13076 LEADING_CODE_8_BIT_CONTROL.
13077 (syms_of_charset): Intern and staticpro Qeight_bit_control and
13078 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
13079 eight-bit-control and eight-bit-graphic.
13080
52283633
SM
13081 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
13082 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
13083 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
13084 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
13085 (CHARSET_REVERSE_CHARSET): Likewise.
13086 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
13087 eight-bit-graphic.
13088 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
13089 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
13090 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
13091 encounter an invalid multibyte sequence.
13092 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
13093 sequence is always valid.
13094 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 13095 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
13096 (CHAR_STRING): For 8-bit characters, call char_to_string.
13097 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
13098 multibyte sequence is always valid.
13099 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
13100 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13101 (str_as_unibyte): Extern them.
c9671f81 13102 (BCOPY_SHORT): Fix a bug.
52283633 13103 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
13104 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
13105 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
13106 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
13107
bd4bde7f 13108 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 13109 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
13110 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
13111 (EMIT_BYTES): New macros.
13112 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
13113 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
13114 macros deleted.
13115 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
13116 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
13117 check the validity of multibyte sequence.
13118 (decode_coding_emacs_mule): New function.
13119 (encode_coding_emacs_mule): New macro.
13120 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
13121 the source.
13122 (DECODE_ISO_CHARACTER): Just return a character code.
13123 (DECODE_COMPOSITION_START): Set coding->result instead of result.
13124 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
13125 EMIT_CHAR to produced decoded characters. Exit the loop only by
13126 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
13127 block here.
13128 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
13129 only position codes for an invalid character.
13130 (encode_designation_at_bol): Return new destination pointer. 5th
13131 arg DSTP is changed to DST.
13132 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
13133 from the source by ONE_MORE_CHAR. Don't handle the case of last
13134 block here.
13135 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
13136 macros deleted.
52283633
SM
13137 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
13138 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
13139 TWO_MORE_BYTES to fetch a byte from the source.
13140 (encode_eol): Pay attention to coding->src_multibyte.
13141 (detect_coding, detect_eol): Preserve members src_multibyte and
13142 dst_multibyte.
13143 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
13144 (encoding_buffer_size): Set magnification to 3 for all coding
13145 systems that require encoding.
13146 (ccl_coding_driver): For decoding, be sure that the result is
13147 valid multibyte sequence.
13148 (decode_coding): Initialize coding->errors and coding->result.
13149 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
13150 and raw-text, always call decode_eol. Handle the case of last
13151 block here. If not coding->dst_multibyte, convert the resulting
13152 sequence to unibyte.
13153 (encode_coding): Initialize coding->errors and coding->result.
13154 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
13155 and raw-text, always call encode_eol. Handle the case of last
13156 block here.
13157 (shrink_decoding_region, shrink_encoding_region): Detect cases
13158 that we can't skip data more rigidly.
13159 (code_convert_region): Setup src_multibyte and dst_multibyte
13160 members of coding. For decoding, if the buffer is multibyte,
13161 convert the source sequence to unibyte in advance. For encoding,
13162 if the buffer is multibyte, convert the resulting sequence to
13163 multibyte afterward.
13164 (run_pre_post_conversion_on_str): New function.
13165 (code_convert_string): Deleted and divided into the following two.
13166 (decode_coding_string, encode_coding_string): New functions.
13167 (code_convert_string1, code_convert_string_norecord): Call one of
13168 above.
13169 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
13170 MAKE_NON_ASCII_CHAR.
52283633
SM
13171 (Fset_terminal_coding_system_internal)
13172 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
13173 and dst_multibyte members.
13174 (init_coding_once): Initialize iso_code_class with new enum
13175 ISO_control_0 and ISO_control_1.
13176
13177 * coding.h (enum iso_code_class_type): Member ISO_control_code is
13178 devided into ISO_control_0 and ISO_control_1.
13179 (struct coding_system): New members src_multibyte, dst_multibyte,
13180 errors, and result. Delete member fake_multibyte.
13181 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
13182 nonzero.
13183 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
13184 nonzero.
13185
13186 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13187 (Faset): Likewise.
13188
13189 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13190 multibyte form.
13191 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13192 combining occurs.
13193 (Ftranspose_region): Delete codes for handling byte combining.
13194
13195 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13196 dst_multibyte members of coding. On handling REPLACE on unibyte
13197 buffer, convert the result of decode_coding to unibyte. On
13198 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 13199 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
13200 multibyteness of the source (buffer or string).
13201
13202 * fns.c (concat): Handle 8-bit characters correctly.
13203 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13204 unibyte in the result.
13205 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13206 valid multibyte form in the result.
13207 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13208 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13209 return -1, signal an error.
13210 (base64_encode_1): New arg MULTIBYTE. Get each character by
13211 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13212 character is found, return -1.
13213 (Fbase64_decode_region): Delete codes for handling byte-combining.
13214 Treat each decoded byte as a unibyte character.
13215 (Fbase64_decode_string): Return unibyte string.
13216 (Fcompare_strings, concat, string_byte_to_char): Use
13217 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13218 FETCH_STRING_CHAR_ADVANCE.
13219 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13220 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13221
13222 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13223 SPLIT_NON_ASCII_CHAR.
13224 (fontset_ref_via_base, fontset_set): Likewise
13225
13226 * insdel.c (adjust_markers_for_record_delete): Deleted.
13227 (adjust_markers_for_insert): Argument changed. Caller changed.
13228 (adjust_markers_for_replace): Likewise.
52283633
SM
13229 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13230 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
13231 (copy_text): Delete unused local varialbe c_save. For converting
13232 to multibyte, be sure to make all 8-bit characters in valid
13233 multibyte form.
13234 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
13235 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13236 (adjust_after_replace, replace_range, del_range_2)
c9671f81 13237 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
13238 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13239 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
13240 handling byte combining.
13241 (adjust_before_replace): Deleted.
427ec082 13242
c9671f81
KH
13243 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13244 SPLIT_NON_ASCII_CHAR.
13245 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 13246 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
13247 (Fkey_description): Likewise.
13248
13249 * lread.c (read1): On reading multibyte string, be sure to make
13250 all 8-bit chararacters in valid multibyte form.
13251 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13252
13253 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13254 unconditionally.
13255
13256 * process.c (Fstart_process): GCPRO current_dir before calling
13257 Ffind_operation_coding_system. Encode arguments here.
13258 (create_process): Don't encode arguments here. Setup
13259 src_multibyte and dst_multibyte members of struct coding.
13260 (read_process_output): Setup src_multibyte and dst_multibyte
13261 members of struct coding. If the output is to multibyte buffer,
13262 always decode the output of the process. Adjust the
52283633 13263 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
13264 (send_process): Setup coding->src_multibyte according to the
13265 multibyteness of the source.
13266
52283633 13267 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
13268 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13269 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13270
52283633 13271 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
13272
13273 * w16select.c (Fw16_set_clipboard_data): Setup members
13274 src_multibyte and dst_multibyte of coding. Adjusted for the
13275 change for find_charset_in_str.
13276 (Fw16_get_clipboard_data): Likewise.
13277
13278 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13279 dst_multibyte of coding.
13280 (x_to_w32_font): Likewise.
13281
13282 * w32select.c (Fw32_set_clipboard_data): Setup members
13283 src_multibyte and dst_multibyte of coding. Adjusted for the
13284 change for find_charset_in_str.
13285 (Fw32_get_clipboard_data): Likewise.
13286
13287 * xdisp.c (get_next_display_element): Handle 8-bit characters
13288 correctly.
52283633
SM
13289 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13290 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
13291
13292 * xselect.c (selection_data_to_lisp_data): Setup members
13293 src_multibyte and dst_multibyte of coding. Adjusted for the
13294 change for find_charset_in_str.
13295 (lisp_data_to_selection_data): Likewise.
13296
5f64c9e0
GM
132972000-05-19 Gerd Moellmann <gerd@gnu.org>
13298
52283633 13299 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 13300
5f64c9e0
GM
13301 * dispextern.h (Vimage_types): Add extern declaration.
13302
13303 * xdisp.c (Vimage_types): Moved here from xfns.c.
13304 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13305
13306 * xfns.c (Vimages_types): Moved to xdisp.c.
13307 (syms_of_xfns): Move `image-types' to xdisp.c.
13308
13309 * w32fns.c (Vimage_types): Removed.
13310 (syms_of_w32fns): Remove `image-types'.
13311
813086ea
KH
133122000-05-18 Kenichi Handa <handa@etl.go.jp>
13313
13314 * fns.c (map_char_table): Pay attention to character number of
13315 charset. Check the validity of charset at the first level. For
13316 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13317 the default value.
13318
13319 * fontset.c: Include "buffer.h".
13320 (fs_load_font): If the face has fontset, record the face ID in
13321 that fontset.
13322 (Finternal_char_font): New function.
13323 (accumulate_font_info): New function.
13324 (Ffontset_info): Rewritten for the new fontset implementation.
13325 (syms_of_fontset): Register Vdefault_fontset in the first element
13326 of Vfontset_table. Include Vdefault_fontset in
13327 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13328 function.
13329
bdaebbf0
DL
133302000-05-16 Dave Love <fx@gnu.org>
13331
13332 * m/iris5d.h: Deleted -- unused.
13333
cb613bb8
GM
133342000-05-16 Gerd Moellmann <gerd@gnu.org>
13335
b15f3b77
GM
13336 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13337 `invalid' instead of `illegal'.
13338
13339 * indent.c (Fmove_to_column): When ending within a tab, insert
13340 spaces first so that markers at the end of the tab get adjusted.
13341
835c1b36
GM
13342 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13343 buffer list that wasn't selected in that frame.
13344
cb613bb8
GM
13345 * filelock.c (get_boot_time): To obtain an 8 char file name, which
13346 is needed on mescaline, use a 2 char prefix, and call
13347 make_temp_name with second arg non-zero.
13348
13349 * fileio.c (make_temp_name): New function, extracted from
13350 Fmake_temp_name.
13351 (Fmake_temp_name): Use it.
13352
f685bea9
EZ
133532000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13354
52283633 13355 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 13356
a1b8d58b
GM
133572000-05-15 Gerd Moellmann <gerd@gnu.org>
13358
13359 * Makefile.in (lisp): Add env.elc.
13360
13361 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
13362
a265079f
GM
133632000-05-12 Gerd Moellmann <gerd@gnu.org>
13364
13365 * search.c (Freplace_match): Handle case of `\N' in the
13366 replacement when there's no group N.
13367
da4496b6
GM
133682000-05-11 Gerd Moellmann <gerd@gnu.org>
13369
0ace421a
GM
13370 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
13371 of the message to message_dolog.
13372
1172eb8d
GM
13373 * keyboard.c (read_char): Don't clear current message for help
13374 events; let the code handling help events handle this. Change
13375 code detecting help events that should be ignored.
13376
da4496b6
GM
13377 * xdisp.c (handle_single_display_prop): Don't try to set PT if
13378 we're interating over a string.
13379
0623e40f
DL
133802000-05-09 Dave Love <fx@gnu.org>
13381
13382 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
13383 that offset before writing. Move gcpro region past call of
13384 Ffile_regular_p.
13385
bae2503b
DL
133862000-05-04 Dave Love <fx@gnu.org>
13387
13388 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
13389
ec82fb2f
GM
133902000-05-04 Gerd Moellmann <gerd@gnu.org>
13391
13392 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
13393 of inserted characters when BUF equals the current buffer, and PT
13394 is in front of or equal to FROM.
13395
cbf18892
GM
133962000-05-03 Gerd Moellmann <gerd@gnu.org>
13397
4ff40dd0
GM
13398 * xdisp.c (handle_single_display_prop): If display property value
13399 is invalid, or something not supported on the frame, restore
13400 iterator's position to what it was initially. Make sure to return
13401 0 for invalid and unsupported property values.
13402
cbf18892
GM
13403 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
13404 that x_per_char_metric returns null.
13405
1b0672c3
GM
134062000-05-02 Gerd Moellmann <gerd@gnu.org>
13407
576da55d
GM
13408 * xterm.h (struct face): Add forward declaration.
13409 (struct image): Ditto.
13410 (image_ascent): Add prototype.
13411
13412 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
13413 (x_draw_image_relief, x_draw_image_foreground_1): Call function
13414 image_ascent instead of using IMAGE_ASCENT.
13415
13416 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
13417 (IMAGE_ASCENT): Removed.
13418
13419 * xfns.c (Qcenter): New variable.
13420 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
13421 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
13422 (image_ascent): New function.
13423 (lookup_image): Recognize `:ascent center'.
13424 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
13425 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
13426 (xbm_load): Don't set image's ascent here.
13427 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
13428 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
13429 check ascent values here.
13430 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
13431 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
13432 (syms_of_xfns): Initialize Qcenter.
13433
1b0672c3
GM
13434 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
13435 to the limits, increase the limits.
13436
0d7811ed
KH
134372000-05-01 Kenichi Handa <handa@etl.go.jp>
13438
13439 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 13440 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 13441
a943a5ca
GM
134422000-04-28 Gerd Moellmann <gerd@gnu.org>
13443
13444 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
13445 taller than the window.
13446
5dba1e29
KH
134472000-04-28 Kenichi Handa <handa@etl.go.jp>
13448
13449 * xfaces.c (realize_x_face): Fix the argument of the second
13450 xassert. BASE_FACE may not be a face for ASCII.
13451
353964e3
GM
134522000-04-27 Gerd Moellmann <gerd@gnu.org>
13453
c76e04a8
GM
13454 * print.c (print_object): Treat print-length < 0 as nil.
13455
13456 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
13457
13458 * s/freebsd.h (TERMCAP_OBJ): Removed.
13459 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
13460
13461 * lread.c (read1): Don't treat period followed by certain
13462 characters as symbol start.
13463
13464 * xfns.c (slurp_file): New function.
13465 (xbm_image_p): Handle case of in-memory XBM files.
13466 (xbm_scan): Rewritten to work on memory buffers instead of files.
13467 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
13468 Work on memory buffers instead of files. If DATA is null test
13469 if buffer looks like an in-memory XBM file.
13470 (xbm_load_image): Renamed from xbm_load_image_file. Work on
13471 memory buffers instead of files.
13472 (xbm_file_p): New function.
13473 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
13474
353964e3
GM
13475 * lread.c (end_of_file_error): New function.
13476 (read1): Call it instead of signaling `end-of-file' directly.
13477
427ec082 13478 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
13479 with Fprinc instead of Fprin1.
13480
24d744ac
KR
134812000-04-26 Ken Raeburn <raeburn@gnu.org>
13482
13483 * window.c (freeze_window_start): Check that minibuffer scroll
13484 window isn't nil before extracting the window structure pointer
13485 from it.
13486
13487 * undo.c (record_delete): If we hit the end of the undo list, stop
13488 picking elements apart.
13489
7464346d
GM
134902000-04-26 Gerd Moellmann <gerd@gnu.org>
13491
13492 * xdisp.c (display_line): If lines are continued, restore
13493 iterator's ascent/descent information to the values before the
13494 first glyph not fitting on the line.
13495
612839b6
GM
134962000-04-25 Gerd Moellmann <gerd@gnu.org>
13497
13498 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 13499 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
13500
13501 * dispnew.c (increment_matrix_positions): Renamed from
13502 increment_glyph_matrix_buffer_positions.
13503 (increment_row_positions): Renamed from
13504 increment_glyph_row_buffer_positions.
13505
13506 * dispextern.h: Change names of renamed functions from dispnew.c
13507 in prototypes.
13508
cc181e95
GM
135092000-04-24 Gerd Moellmann <gerd@gnu.org>
13510
abfcc168
GM
13511 * fileio.c (Fdo_auto_save): Create directories for auto-save
13512 list file if necessary.
13513
cc181e95
GM
13514 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
13515 from buffer or frame.
13516 (automatic_hscrolling_p): New variable.
13517 (hscroll_windows): Scroll windows horizontally only if automatic
13518 hscrolling is allowed.
13519 (syms_of_xdisp): New variable `automatic-hscrolling'.
13520
13521 * frame.h (struct frame): Add member extra_line_spacing.
13522
13523 * xfns.c (x_set_line_spacing): New function.
13524 (Fx_create_frame): Set line spacing from resources.
13525 (Qline_spacing): New variable.
13526 (syms_of_xfns): Initialize Qline_spacing.
427ec082 13527
cc181e95
GM
13528 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
13529
13530 * buffer.c (init_buffer_once): Handle extra_line_spacing.
13531 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 13532 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
13533 extra_line_spacing from default value.
13534 (init_buffer_once): Initialize default value of extra_line_spacing.
13535
13536 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
13537 and extra3.
13538
13539 * xterm.c (x_produce_glyphs): Remove reference to struct it's
13540 prompt_width. Add extra line spacing.
13541
13542 * term.c (produce_glyphs): Remove reference to struct it's
13543 prompt_width.
13544
13545 * dispextern.h (struct it): Remove member prompt_width, add
13546 extra_line_spacing.
13547
58827478
GM
135482000-04-22 Gerd Moellmann <gerd@gnu.org>
13549
13550 * dispnew.c (update_frame_line): When writing a whole line, make
13551 sure cursor is in the right row afterwards, otherwise a use of
13552 capability `ch' in cmgoto might leave the cursor in the row below.
13553
25a87f42
GM
135542000-04-21 Gerd Moellmann <gerd@gnu.org>
13555
13556 * lisp.h (struct Lisp_Buffer_Cons): Remove.
13557
13558 * keyboard.c (timer_check): Fix typo in comment.
13559
54edf5c2
KH
135602000-04-21 Kenichi Handa <handa@etl.go.jp>
13561
13562 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
13563 name change: ch -> character.
13564
3a64eef5
GM
135652000-04-20 Gerd Moellmann <gerd@gnu.org>
13566
13567 * keyboard.c (echo_message_buffer): New variable.
13568 (echo_now): Set echo_message_buffer to the echo area buffer used
13569 to display the echo.
13570 (cancel_echoing): Reset echo_message_buffer to nil.
13571 (read_char): Code rewritten that handles canceling an echo or
13572 echoing a dash, respectively.
13573
13574 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
13575 directory doesn't exist.
13576
6142fdcb
DL
135772000-04-19 Dave Love <fx@gnu.org>
13578
13579 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
13580 (concat): Don't allow numeric args.
13581 (Fconcat): Doc change.
6142fdcb 13582
ac6b5352
SM
135832000-04-19 Stefan Monnier <monnier@cs.yale.edu>
13584
13585 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
13586 instead define end_match(1|2) more carefully.
13587 Use GET_CHAR_BEFORE_2 for `begline'.
13588
cb9215e4
GM
135892000-04-19 Gerd Moellmann <gerd@gnu.org>
13590
5e3dac3f
GM
13591 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
13592 on 64-bit systems where NULL is defined as `0'.
13593
13594 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
13595 the `variable argument list' to make it work on Alpha.
13596
cb9215e4
GM
13597 * m/alpha.h (_LP64) [!_LP64]: Define.
13598 (ORDINARY_LINK): Define for NetBSD.
13599
13600 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 13601
f532dca0
DL
136022000-04-19 Dave Love <fx@gnu.org>
13603
c750667e
DL
13604 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
13605 change.
13606
13607 * Makefile.in (LIBS): Don't use.
13608 (GETLOADAVG_OBJ): Define again.
13609 (otherobj): Add GETLOADAVG_OBJ.
13610
f532dca0
DL
13611 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
13612
1c7e22fd
GM
136132000-04-18 Gerd Moellmann <gerd@gnu.org>
13614
f6d3257b
GM
13615 * lread.c (read_filtered_event): Cancel and start busy cursor.
13616
427ec082 13617 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
13618 that the per-character metrics may be null.
13619
e10f64e7
GM
136202000-04-17 Gerd Moellmann <gerd@gnu.org>
13621
0daee095
GM
13622 * buffer.c (clone_per_buffer_values): New function.
13623 (Fmake_indirect_buffer): Add optional argument CLONE. Call
13624 clone_per_buffer_values if CLONE is not nil.
13625
e10f64e7
GM
13626 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
13627
38687d43
DL
136282000-04-16 Dave Love <fx@gnu.org>
13629
13630 * Makefile.in: Remove obsolete localcpp stuff.
13631 (GETLOADAVG_OBJ): Don't define.
13632 (obj): Move LIBOBJS...
13633 (otherobj): ... to here.
13634 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
13635 whitespace-only lines after the continuation (Irix).
13636
c21c7262
GM
136372000-04-14 Gerd Moellmann <gerd@gnu.org>
13638
13639 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
13640
13641 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
13642
314767c0
DL
136432000-04-14 Dave Love <fx@gnu.org>
13644
13645 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
13646 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
13647 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
13648 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
13649 NLIST_STRUCT.
13650
13651 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
13652 autoconfiscated HAVE_GETLOADAVG.
13653
13654 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
13655 BROKEN_MKTIME.
13656
a2522dca
GM
136572000-04-14 Gerd Moellmann <gerd@gnu.org>
13658
13659 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 13660 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 13661
33744b5d
DL
136622000-04-14 Dave Love <fx@gnu.org>
13663
c21c7262 13664 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
13665 (INTERVAL_SRC): Convert to make variable.
13666 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
13667 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
13668 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
13669 add LIBOBJS.
13670 (SOME_MACHINE_OBJECTS): Remove interval stuff.
13671 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
13672 (shortlisp): Add facemenu, float-sup, frame.
13673 (SOME_MACHINE_LISP): Remove them from here.
13674 (LIBES): Change unused LDLIBS to autoconf LIBS.
13675
13676 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
13677
9d3d5916
KH
136782000-04-14 Kenichi Handa <handa@etl.go.jp>
13679
13680 * composite.c (update_compositions): If FROM and TO are not in a
13681 valid range, do nothing.
13682
198e3c7a
GM
136832000-04-13 Gerd Moellmann <gerd@gnu.org>
13684
52283633 13685 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 13686
52283633 13687 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
13688
13689 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
13690 as TERMCAP_OBJ.
13691
055a28c9
EZ
136922000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
13693
13694 * fileio.c (a_write): Remove redundant semi-colons.
13695 (e_write): Return -1 if failed to write all the data.
13696 This fixes the changes made at 1999-12-15.
13697
f5c75033
DL
136982000-04-12 Dave Love <fx@gnu.org>
13699
13700 * fns.c (mapcar1): Test for null vals to support mapc.
13701 (Fmapc): New function.
13702
0c3cfc51
EZ
137032000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13704
13705 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13706 (IT_frame_up_to_date): Support the buffer local value of
13707 cursor-type, if defined.
13708
33465a31
DL
137092000-04-10 Dave Love <fx@gnu.org>
13710
13711 * editfns.c (preceding-char, following-char): Doc fix.
13712
6ed56568
KR
137132000-04-10 Ken Raeburn <raeburn@gnu.org>
13714
13715 * Makefile.in (temacs): Revert 2000-03-12 change.
13716
7cf80d4e
JR
137172000-04-10 Jason Rumney <jasonr@gnu.org>
13718
13719 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13720
34f3f342
GM
137212000-04-10 Gerd Moellmann <gerd@gnu.org>
13722
1a1b1895
GM
13723 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13724 area buffer, if it's not set up yet.
13725
34f3f342
GM
13726 * indent.c (compute_motion): Set immediate_quit.
13727
be0dbdab
GM
137282000-04-09 Gerd Moellmann <gerd@gnu.org>
13729
52283633 13730 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
13731 (realize_tty_face): Suppress boldness if colors are the inverse of
13732 the default colors, and tty_suppress_bold_inverse_default_colors_p
13733 is set.
13734 (Ftty_suppress_bold_inverse_default_colors): New function.
13735 (syms_of_xfaces): Defsubr it.
13736
be0dbdab
GM
13737 * buffer.c (Frestore_buffer_modified_p): New function.
13738 (syms_of_buffer): Defsubr it.
13739
e8413c3b
KR
137402000-04-08 Ken Raeburn <raeburn@gnu.org>
13741
87f67317
KR
13742 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13743 charset id (int) argument, not a charset (Lisp_Object).
13744
e8413c3b
KR
13745 * coding.h (code_convert_string): Declare.
13746 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13747 object, as the fourth argument to code_convert_string.
13748
52283633 13749 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
13750 (Fset_fontset_font): Use EQ to compare lisp objects.
13751
7c752c80
KR
137522000-04-05 Ken Raeburn <raeburn@gnu.org>
13753
c0333abc
KR
13754 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13755 a pointer that looks like a lisp object.
13756 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13757 zero, instead see whether it's an integer object, since they can't
13758 have intervals.
13759 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13760
52283633
SM
13761 * dispnew.c (allocate_matrices_for_frame_redisplay)
13762 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
13763 to convert between (unsigned) int values and lisp integers.
13764 * keyboard.c (read_key_sequence): Likewise.
13765 * lread.c (substitute_object_recurse): Likewise.
13766 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
13767 * minibuf.c (do_completion, Fminibuffer_complete_word)
13768 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
13769 * term.c (produce_special_glyphs): Likewise.
13770
13771 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13772 * print.c (print_preprocess, print_object): Likewise.
13773
13774 * search.c (compile_pattern): Use NILP when checking for nil.
13775
74e49b38
KR
13776 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13777 __OPTIMIZE__]: Provide a GNU C macro version that handles
13778 lisp-object unions.
13779 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13780 field, to better cope with ENABLE_CHECKING and calls that modify a
13781 Lisp_Object using its old value.
13782
685e5ed2
GM
137832000-04-04 Gerd Moellmann <gerd@gnu.org>
13784
c407c570
GM
13785 * window.c (compare_window_configurations): Signal an error
13786 if parameters C1 or C2 aren't window configurations.
13787
685e5ed2
GM
13788 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13789 AFTER_POTENTIAL_GC calls around calls to functions that can
13790 signal an error and thus invoke the debugger.
13791
587a49ab
GM
137922000-04-03 Gerd Moellmann <gerd@gnu.org>
13793
62f20204
GM
13794 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13795 an error if decoding fails.
13796
587a49ab
GM
13797 * keyboard.c (lispy_mouse_names): Variable removed.
13798 (Vlispy_mouse_stem): New variable.
13799 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13800 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13801 for any mouse button number. Increase size of mouse_syms and
13802 button_down_location as needed. Call modify_event_symbol with
13803 different arguments.
13804 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13805 Call modify_event_symbol with different arguments.
13806 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13807 for any button number. Call modify_event_symbol with different
13808 arguments.
13809 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13810 Accept a string for NAME_ALIST_OR_STEM.
13811
13812 * lisp.h (larger_vector): Add prototype.
13813
13814 * fns.c (larger_vector): Make externally visible.
13815
13816 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13817
2d1675e4
SM
138182000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13819
13820 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13821 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13822 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13823 we are between str1 and str2.
13824 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13825 (PATFETCH): Use `TRANSLATE'.
13826 (PATFETCH_RAW): Fetch multibyte char if applicable.
13827 (PATUNFETCH): Remove.
13828 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13829 When writing a char, write it directly into the pattern buffer rather
13830 than going needlessly through a temp char-array.
13831 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13832 multibyte magic and remove the useless `#ifdef emacs'.
13833 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13834 buffer.
13835
13836 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13837 conditional on `emacs'.
13838
13839 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13840
cc2d8c6b
KR
138412000-04-01 Ken Raeburn <raeburn@gnu.org>
13842
13843 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13844 non-union-type versions of XMARK and friends here, because XMARK
13845 and friends won't work on an integer field if NO_UNION_TYPE is not
13846 defined.
52283633 13847 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13848
52283633 13849 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13850 (syms_of_composite): Delete local var NARGS, pass an int as first
13851 argument to Fmake_hash_table.
13852
2387b382
KR
13853 * editfns.c (text_property_stickiness): Use NILP to test
13854 Lisp_Object boolean value.
13855 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13856 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13857 problems reading from and changing the same lisp value in an
13858 XSETSTRING call.
13859
27660e89
GM
138602000-04-01 Gerd Moellmann <gerd@gnu.org>
13861
13862 * term.c (TN_no_color_video): New variable.
13863 (term_init): Intitialize TN_no_color_video.
13864 (enum no_color_bit): New enumeration.
13865 (MAY_USE_WITH_COLORS_P): New macro.
13866 (turn_on_face): Use it to determine if attributes may be used
13867 combined with colors.
13868
3578db3c
KR
138692000-04-01 Ken Raeburn <raeburn@gnu.org>
13870
13871 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13872 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13873 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13874 proper accessor macros.
13875 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13876 (grow_mini_window): Fix typo getting int value of root->height.
13877
6fc556fd
KR
13878 * xdisp.c (compute_string_pos): Fix order of arguments to
13879 string_pos_nchars_ahead.
13880 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13881 count arg to variable-arg routines like Frun_hook_with_args and
13882 Fformat.
587a49ab
GM
13883 (back_to_previous_visible_line_start)
13884 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13885 fixed-arg routines like Fget_char_property and Fmake_string.
13886 (reconsider_clip_changes): Use XINT when comparing integer lisp
13887 objects, or passing them as int arguments.
587a49ab
GM
13888 (mark_window_display_accurate, insert_left_trunc_glyphs)
13889 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13890 storing or passing integer values as lisp objects.
13891 (set_cursor_from_row, highlight_trailing_whitespace): Use
13892 INTEGERP, not implicit test against zero, for glyph object.
13893 (try_window_id): Don't use make_number when we want an int value.
13894
13895 * xfaces.c (xlfd_symbolic_value): Make last argument a
13896 Lisp_Object, to be consistent with callers.
13897 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13898 (lface_hash): Apply XFASTINT to lisp values before folding in.
13899
13900 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13901 fill in window width and height. Pass an int, not a lisp object,
13902 as first arg to Finsert.
13903
6e7b2457
GM
139042000-04-01 Gerd Moellmann <gerd@gnu.org>
13905
610d841e
GM
13906 * xfaces.c (realize_basic_faces): Block input while realizing
13907 the faces.
13908
6e7b2457
GM
13909 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13910
13911 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13912
aa110c0c
GM
139132000-03-31 Gerd Moellmann <gerd@gnu.org>
13914
13915 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13916 or ASCII, handle case that per-char metric is null.
aa110c0c 13917
8801a864
KR
139182000-03-30 Ken Raeburn <raeburn@gnu.org>
13919
c6129d7e
KR
13920 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13921
52283633
SM
13922 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13923 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13924 pointer, using eassert.
13925 * frame.h (XFRAME): Likewise.
13926
52283633
SM
13927 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13928 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13929 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13930 * data.c (set_internal): Likewise.
52283633
SM
13931 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13932 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13933 * fileio.c (auto_save_1): Likewise.
13934 * insdel.c (check_markers): Likewise.
13935 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13936 * undo.c (record_insert): Likewise.
13937 * vmsproc.c (child_sig): Likewise.
13938 * window.c (unshow_buffer, window_loop): Likewise.
13939 * xterm.c (x_erase_phys_cursor): Likewise.
13940
8e7af858
GM
139412000-03-30 Gerd Moellmann <gerd@gnu.org>
13942
13943 * xfns.c (free_image_cache): Free the cache structure itself
13944 last, after all its members have been freed.
13945
13946 * lisp.h (xstrdup): Add prototype.
13947
13948 * alloc.c (xstrdup): Moved here from xfaces.c.
13949 (allocating_for_lisp): Variable removed.
52283633 13950 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13951
13952 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13953 of Fsymbol_value.
13954 (xstrdup): Moved to alloc.c.
13955
e0b8c689
KR
139562000-03-29 Ken Raeburn <raeburn@gnu.org>
13957
b96f9fb7
KR
13958 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13959
13960 * emacs.c (main): Fix sense of no-loadup test.
13961
e0b8c689
KR
13962 * config.in (ENABLE_CHECKING): Undef.
13963
13964 * lisp.h (struct interval): Replace "parent" field with a union of
13965 interval pointer and Lisp_Object; add new bitfield to use as
13966 discriminant. Change other flag fields to bitfields.
13967 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13968 is defined and the supplied test fails, print a message and abort.
13969 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13970
13971 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13972 pointers; abort if the value looks like a lisp object.
52283633
SM
13973 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13974 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13975 Modify for new interval parent definition.
13976
52283633
SM
13977 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13978 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13979 addressable lisp object in the interval structure.
13980 (die): New function.
13981 (suppress_checking): New variable.
13982
13983 * intervals.c (interval_start_pos): Just return 0 if there's no
13984 parent object.
13985
f83c5440
GM
139862000-03-29 Gerd Moellmann <gerd@gnu.org>
13987
13988 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13989 and earlier Emacs versions.
13990
13991 * keyboard.c (Ftop_level): Cancel busy-cursor.
13992
13993 * eval.c (call_debugger): Cancel busy-cursor.
13994
fdce64ff
KH
139952000-03-29 Kenichi Handa <handa@etl.go.jp>
13996
13997 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13998 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13999
f6a3f532
SM
140002000-03-28 Stefan Monnier <monnier@cs.yale.edu>
14001
14002 * regex.c (analyse_first): New function obtained by ripping out most
14003 of re_compile_fastmap and generalizing it a little bit so that it
14004 can also just return whether a given (sub)pattern can match the empty
14005 string or not.
14006 (regex_compile): Use `analyse_first' to decide whether the loop-check
14007 needs to be done or not for *, +, *? and +? (the loop check is costly
14008 for non-greedy repetition).
14009 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
14010
e9b309ac
DL
140112000-03-28 Dave Love <fx@gnu.org>
14012
52283633 14013 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 14014
e9b309ac
DL
14015 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
14016
ed0767d8
SM
140172000-03-27 Stefan Monnier <monnier@cs.yale.edu>
14018
14019 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
14020 an expression.
14021 (enum re_opcode_t): Update description of succeed_n.
14022 (PATFETCH): Always define.
14023 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
14024 operators, char classes, shy-groups and intervals).
14025 Optimize special cases of intervals so as to only use succeed_n and
14026 jump_n when really needed.
14027 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
14028 that we don't have to handle the special cases any more.
14029 Simplify on_failure_jump handling as well.
14030
e11e7e46
JR
140312000-03-28 Jason Rumney <jasonr@gnu.org>
14032
14033 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
14034
88faab89
GM
140352000-03-27 Gerd Moellmann <gerd@gnu.org>
14036
182ff242
GM
14037 * s/freebsd.h (GC_SETJMP_WORKS): Define.
14038
14039 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 14040
182ff242
GM
14041 * alloc.c (mark_maybe_object): New function.
14042 (mark_memory): Use it.
14043 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
14044 (setjmp_tested_p, longjmp_done): New variables.
14045 (test_setjmp): New function.
14046 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
14047 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
14048
c1005d06
GM
14049 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
14050 to DEC_TEXT_POS and INC_TEXT_POS.
14051
14052 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
14053 with parameter MULTIBYTE_P.
14054
52283633 14055 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 14056
7439e5b9 14057 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
14058 buffers because it looks for multibyte character byte sequences
14059 which don't exist in unibyte text.
7439e5b9 14060
d9c545da
GM
14061 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
14062
11fd416e 14063 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
14064 [DEBUG_X_COLORS]: New functions.
14065 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
14066
14067 * xfns.c (x_set_cursor_color): Get color reference counts right.
14068
14069 * xterm.c (x_copy_color): New function.
14070 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
14071
14072 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
14073 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
14074 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
14075 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
14076 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
14077 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
14078 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
14079 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
14080 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
14081 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
14082
11fd416e
GM
14083 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
14084 names for handling per-buffer variables.
d9c545da
GM
14085
14086 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
14087 instead of MAX_BUFFER_LOCAL_VARS.
14088 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
14089
14090 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
14091
88faab89
GM
14092 * xfns.c (x_specified_cursor_type): New function.
14093 (x_set_cursor_type): Use it.
14094
14095 * buffer.h (struct buffer): Add cursor_type.
14096
d80f42b7
SM
140972000-03-26 Stefan Monnier <monnier@cs.yale.edu>
14098
14099 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
14100 (print_partial_compiled_pattern, re_compile_fastmap):
14101 Handle new opcode.
d80f42b7
SM
14102 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
14103 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
14104 executing it as well as when popping it off the stack to find infinite
14105 loops in non-greedy repetition operators.
14106
89e80928
GM
141072000-03-26 Gerd Moellmann <gerd@gnu.org>
14108
3d4ff2dd
GM
14109 * doc.c (Qfunction_documentation): New variable.
14110 (syms_of_doc): Initialize Qfunction_documentation.
14111 (Fdocumentation): If FUNCTION is a symbol with non-nil
14112 `function-documentation' property, return a documentation derived
14113 from that.
14114
bd96bd79
GM
14115 * buffer.c (syms_of_buffer): Add default-cursor-type.
14116 (init_buffer_once): Don't let cursor_type have a local value
14117 in every buffer.
14118
19d1bc27
GM
14119 * xterm.c (x_display_and_set_cursor): Choose cursor depending
14120 on buffer-local value of cursor_type.
14121 (x_draw_bar_cursor): Add parameter WIDTH.
14122
14123 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
14124 (init_buffer_once): Set default cursor_type value to t.
14125 Mark cursor_type as local everywhere.
14126 (syms_of_buffer): New per-buffer variable cursor-type.
14127
89e80928
GM
14128 * buffer.h (struct buffer): Remove member local_var_flags,
14129 add local_flags.
14130 (MAX_BUFFER_LOCAL_VARS): New macro.
14131 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
14132 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
14133 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
14134 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
14135
52283633 14136 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
14137
14138 * category.c (Fset_category_table): Use new macros for per-buffer
14139 variables.
14140
14141 * buffer.c (buffer_permanent_local_flags): Make a char array.
14142 (max_buffer_local_idx): New variable.
14143 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
14144 for new handling of per-buffer variables.
14145 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
14146 (init_buffer_once): Initialize per-buffer vars differently.
14147 Set max_buffer_local_idx.
14148
14149 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
14150 variables.
14151
52283633 14152 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
14153
14154 * data.c (do_symval_forwarding, store_symval_forwarding)
14155 (find_symbol_value, set_internal, default_value, Fset_default)
14156 (Fkill_local_variable, Flocal_variable_p): Use new macros for
14157 per-buffer variables.
14158
14159 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
14160
9a0dd3dc
GM
141612000-03-24 Gerd Moellmann <gerd@gnu.org>
14162
b68c375f
GM
14163 * xterm.c (x_term_init): Unblock input around call1 of
14164 Qvendor_specific_keysyms.
14165
9a0dd3dc
GM
14166 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
14167 (find_defun_start): Consider an open parenthesis in column 0
14168 a defun start only if open_paren_in_column_0_is_defun_start is set.
14169 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
14170
7973e637
SM
141712000-03-24 Stefan Monnier <monnier@cs.yale.edu>
14172
14173 * eval.c (Fautoload): Add entry in load-history (if after dump).
14174 * lread.c (load-history): Update docstring.
14175
39210e90
GM
141762000-03-24 Gerd Moellmann <gerd@gnu.org>
14177
14178 * indent.c (Fvertical_motion): Always use the current buffer.
14179 Temporarily change the window's buffer, if necessary.
14180
72db3ab5
GM
141812000-03-23 Gerd Moellmann <gerd@gnu.org>
14182
14183 * xterm.c (fast_find_position): Make sure not to consider rows
14184 not visible in the window.
14185
990b2375
SM
141862000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14187
14188 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14189 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14190
ff4df011
JR
141912000-03-22 Jason Rumney <jasonr@gnu.org>
14192
14193 * w32menu.c (single_submenu): Set help string to NULL if none.
14194 (w32_menu_show): Set help string correctly.
14195 (add-menu-item): Set help string in MIIM_DATA for menu item.
14196 Load SetMenuItemInfoA explicitly.
14197 (w32_menu_display_help): New function.
427ec082 14198
ff4df011
JR
14199 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14200 (QCdata): Moved to xdisp.c.
14201
14202 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14203 (Vw32_charset_to_codepage_alist): Removed.
14204 (Vw32_charset_info_alist): New variable.
52283633
SM
14205 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14206 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14207 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
14208 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14209 with TODO comment.
14210 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14211 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14212 Define Vw32_charset_info_alist and w32_charset symbols.
14213
142142000-03-22 Jason Rumney <jasonr@gnu.org>
14215
14216 * makefile.nt (w32bdf.obj): Update dependencies.
14217
14218 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14219
14220 * w32fns.c: Include fontset.h after dispextern.h.
14221 (Fx_create_frame): Do not create fontset.
14222 (w32_load_system_font): Doc fix.
14223 (Fx_close_connection): Free full_name if it is not shared.
14224
14225 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
14226 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14227 Callers updated.
ff4df011
JR
14228 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14229 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14230 (w32_font_is_double_byte): New function, needs body.
14231 (x_append_glyph): Set glyph->glyph_not_available_p.
14232 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14233 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14234 character, convert it to a unibyte character.
14235 (struct glyph_string): Delete member `charset'.
14236 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14237 calculating it is found.
14238 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14239 the case that per char metric is not available correctly.
14240 (x_fill_glyph_string): Handle the case that the specific glyph is
14241 not available correctly.
14242 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14243 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14244 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14245 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14246 fontset. Don't call FS_LOAD_FONT.
14247
439d5cb4
KR
142482000-03-22 Ken Raeburn <raeburn@gnu.org>
14249
14250 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14251 (INT_LISPLIKE): New macro.
14252 (NULL_INTERVAL_P): Use it.
52283633
SM
14253 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14254 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14255 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
14256
14257 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14258 explicit references to "parent" field of struct interval and
14259 associated unclean type conversions.
52283633
SM
14260 * intervals.c (create_root_interval, root_interval, rotate_right)
14261 (rotate_left, balance_possible_root_interval, split_interval_right)
14262 (split_interval_left, interval_start_pos, find_interval)
14263 (next_interval, previous_interval, update_interval)
14264 (adjust_intervals_for_insertion, delete_node, delete_interval)
14265 (adjust_intervals_for_deletion, merge_interval_right)
14266 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14267 (copy_intervals_to_string): Likewise.
439d5cb4
KR
14268 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14269 Likewise.
14270 * syntax.c (update_syntax_table): Likewise.
14271
14272 * intervals.c (reproduce_tree_obj): New function, like
14273 reproduce_tree but takes a Lisp_Object for the parent. Declare
14274 with prototype.
14275 (graft_intervals_into_buffer): Use it when appropriate.
14276 (reproduce_tree): Declare with prototype.
14277 (balance_possible_root_interval): Check that the parent is a lisp
14278 object before trying to examine its type.
14279
ee1c5b21
GM
142802000-03-22 Gerd Moellmann <gerd@gnu.org>
14281
14282 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14283 as strings only if both are known to be strings.
14284
14285 * s/openbsd.h (LIBS_TERMCAP): Undef.
14286
1fb352e0
SM
142872000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14288
14289 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14290 definitions for non-Emacs compilation.
14291 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14292 outside of `#ifdef emacs'.
14293 (print_partial_compiled_pattern): Update.
14294 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14295 (re_compile_fastmap): Merge handling of charset and charset_not (for
14296 emacs and non-emacs compilation as well).
14297 Similarly for (not)categoryspec and (not)syntaxspec.
14298 Don't use the fastmap when reaching `anychar' since the added
14299 complexity is not justified.
14300 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14301 and (not)syntaxspec. Merge (not)categoryspec.
14302
fdaa1f77
KH
143032000-03-22 Kenichi Handa <handa@etl.go.jp>
14304
52283633
SM
14305 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14306 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 14307 --without-x.
fdaa1f77 14308
d152fb46
DL
143092000-03-21 Dave Love <fx@gnu.org>
14310
14311 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14312 doc string.
14313
d2cafc8c
GM
143142000-03-21 Gerd Moellmann <gerd@gnu.org>
14315
14316 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14317 (lface_fully_specified_p): Don't check contents of
14318 LFACE_FONT_INDEX because that attribute is optional.
14319 (realize_x_face): Remove now unwarranted xassert.
14320
9111d4b5
KH
143212000-03-21 Kenichi HANDA <handa@etl.go.jp>
14322
14323 The following changes are to make font selection based on
14324 characters, not charset. In addition, they recover fontset
14325 facilities while utilizing the new font selection mechanism.
14326
6c4bfdc0
KH
14327 * Makefile.in (fontset.o): Depend on dispextern.h.
14328
14329 * alloc.c (mark_face_cache): Don't mark face->registry.
14330
9111d4b5
KH
14331 * dispextern.h (struct glyph): New member glyph_not_available_p.
14332 Use 22 bits for face_id.
14333 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14334 (struct face): Delete member registry, new member ascii_face.
14335 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14336 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14337 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 14338 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
14339
14340 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14341 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
14342 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14343 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 14344 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
14345 (fs_free_face_fontset, fontset_font_pattern)
14346 (face_suitable_for_char_p, face_for_char)
14347 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
14348 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
14349 (FS_LOAD_FACE_FONT): New macro.
14350
14351 * fontset.c: All codes rewritten or adjusted for the change of
14352 fontset implementation. Now fontset is represented by char table.
52283633
SM
14353 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
14354 Variables removed.
9111d4b5 14355 (my_strcasecmp): Function removed.
52283633 14356 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 14357 (AREF, ASIZE): New macros.
52283633
SM
14358 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
14359 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
14360 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
14361 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
14362 (fontset_id_valid_p, font_family_registry, fontset_name)
14363 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
14364 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
14365 New functions.
14366 (fs_load_font): New arg FACE. Caller changed.
14367 (fs_query_fontset): Argument changed. Caller changed.
14368 (Fquery_fontset): call fs_query_fontset.
14369 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
14370 Functions removed.
52283633
SM
14371 (clear_fontset_elements, check_registry_encoding)
14372 (check_fontset_name): New functions.
9111d4b5
KH
14373 (syms_of_fontset): Set char-table-extra-slots property of fontset
14374 to 3. Staticpro and initialize Vfontset_table and
14375 Vdefault_fontset. Defsubr fontset_font and fontset_list.
14376
14377 * frame.h (struct frame): Member `fontset_data' removed.
14378 (FRAME_FONTSET_DATA): Macro removed.
14379
14380 * frame.c (make_frame): Don't allocate f->fontset_data.
14381 (Fdelete_frame): Don't free f->fontset_data.
14382
6c4bfdc0
KH
14383 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
14384
9111d4b5
KH
14385 * xdisp.c (charset_at_position): Function removed.
14386 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
14387 (handle_face_prop, reseat_to_string, set_iterator_to_next)
14388 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
14389 Likewise.
14390 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
14391 FACE_FOR_CHARSET.
52283633
SM
14392 (get_next_display_element, append_space)
14393 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
14394
14395 * xfaces.c (Qx_charset_registry, Vface_default_registry):
14396 Variables removed.
14397 (clear_font_table, frame_update_line_height, load_face_font):
14398 Adjusted for the change of fontset implementation.
14399 (load_face_fontset_font): Function removed.
14400 (pixel_point_size): New function.
14401 (font_list): Argument type changed. Caller changed.
14402 (LFACE_FONT): New macro.
14403 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
14404 (set_lface_from_font_name): Type of arg FONTNAME is changed to
14405 Lisp_Object. Determine the font name by actually loading a font
14406 by the specified pattern. Set LFACE_FONT (lface) to the specified
14407 pattern. Even if a font is not found, don't try alternatives.
14408 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
14409 (set_font_frame_param): If `font' is specified in lface, use it.
14410 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
14411 (lface_same_font_attributes_p): Likewise.
14412 (make_realized_face): Arguent changed. Caller changed. Set
14413 face->ascii_face to face itself.
14414 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
14415 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
14416 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
14417 (free_realized_multibyte_face): New function.
14418 (lookup_face, lookup_named_face, lookup_derived_face): Argument
14419 changed. Caller changed.
14420 (try_font_list): Argument type changed.
14421 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
14422 (choose_face_font): Argument changed. Handle fontset properly.
14423 (choose_face_fontset_font): Function removed.
14424 (realize_default_face, realize_named_face): Don't remove the
14425 former face here.
14426 (realize_face): Argument changed. Caller changed. Remove face
52283633 14427 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
14428 (realize_x_face): Argument changed. Caller changed. For a
14429 multibyte character, share fontset with base_face. For a single
52283633 14430 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
14431 (realize_tty_face): Argument changed. Caller changed.
14432 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
14433 (face_at_buffer_position): Don't check multibyte_p for returning
14434 DEFAULT_FACE_ID.
14435 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
14436 FACE_SUITABLE_FOR_CHARSET_P.
14437 (syms_of_xfaces): Remove code for Qx_charset_registry and
14438 Vface_default_registry.
14439
6c4bfdc0
KH
14440 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
14441 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
14442 (x_per_char_metric): Don't try FONT->default_char. Even if
14443 pcm->width is zero, glyph bits may exist.
14444 (x_encode_char): Always initialize char2b->byte1.
14445 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 14446 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
14447 (x_append_glyph): Set glyph->glyph_not_available_p.
14448 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14449 it->charset. Handle the case that per char metric is not
14450 available. If it->multibyte_p is zero and it->c is a multibyte
14451 character, convert it to a unibyte character.
14452 (struct glyph_string): Delete member `charset'.
14453 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14454 the case that per char metric is not available correctly.
14455 (x_fill_glyph_string): Handle the case that the specific glyph is
14456 not available correctly.
14457 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14458 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14459 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14460 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14461 fontset. Don't call FS_LOAD_FONT.
14462
14463 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
14464 (x_create_tip_frame): Likewise.
14465 (Fx_close_connection): Free full_name of font_info.
14466
14467 * fns.c (optimize_sub_char_table): New function.
14468 (Foptimize_char_table): New function.
14469 (syms_of_fns): Defsubr Soptimize_char_table.
14470
b33dd3b0
GM
144712000-03-20 Gerd Moellmann <gerd@gnu.org>
14472
14473 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
14474 only if buffer is displayed in some window.
14475
14476 * xdisp.c (handle_single_display_prop): Initialize local `value'.
14477 (try_window_reusing_current_matrix): Don't call scroll run
14478 function if run's current and desired position are the same;
14479 this prevents cursor flickering.
14480
4e8a9132
SM
144812000-03-19 Stefan Monnier <monnier@cs.yale.edu>
14482
14483 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
14484
14485 * regex.c (RE_STRING_CHAR): New macro.
14486 (GET_CHAR_AFER_2): Remove.
14487 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
14488 (enum re_opcode_t): Remove on_failure_jump_exclusive.
14489 (print_partial_compiled_pattern, re_compile_fastmap)
14490 (re_match_2_internal): Remove on_failure_jump_exclusive.
14491 (regex_compile): Turn optimizable P+ loops into PP*, so that the
14492 optimization only need to work for * (ie. can use of_keep_string_jump).
14493 Remove the special case for .*\n since it is now covered by the general
14494 optimization.
14495 (re_search_2): Don't bother with `room'.
14496 (skip_one_char): New function.
14497 (skip_noops): Simplify since `memory' is not needed any more.
14498 (mutually_exclusive_p): Restructure slightly to use `switch' and
14499 add handling for "all" remaining cases.
14500 (re_match_2_internal): Change on_failure_jump_smart to use
14501 on_failure_keep_string_jump (and redirect the end-of-loop jump)
14502 rather than on_failure_jump_exclusive.
14503
2136fdd4
GM
145042000-03-19 Gerd Moellmann <gerd@gnu.org>
14505
14506 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
14507 number of bits per RGB because it's everywhere used as the depth
14508 of the visual.
14509
14510 * term.c (calculate_costs): Remove code dealing with X frames.
14511
18e21ce8 145122000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
14513
14514 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
14515
d7b511c4
GM
145162000-03-18 Gerd Moellmann <gerd@gnu.org>
14517
14518 * lread.c (read_integer): Unread the last char not consumed.
14519
16b5d424
GM
145202000-03-17 Gerd Moellmann <gerd@gnu.org>
14521
14522 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 14523 which are in the process of being deleted.
16b5d424 14524
1fa28578
GM
145252000-03-16 Gerd Moellmann <gerd@gnu.org>
14526
83488cce
GM
14527 * Makefile.in (mostlyclean): Add `*.core'.
14528 (clean): Add `bootstrap-emacs'.
14529
1fa28578
GM
14530 * lread.c (read_integer): New function.
14531 (read1): Support read syntax #o, #x, #b, #r.
14532
99633e97
SM
145332000-03-15 Stefan Monnier <monnier@cs.yale.edu>
14534
1fa28578
GM
14535 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
14536 make sure POINTER_TO_OFFSET gives the same value before and after
14537 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
14538 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
14539 (debug): Now only active if > 0 rather than if != 0.
14540 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
14541 (print_partial_compiled_pattern): Add missing `succeed' case. Use
14542 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
14543 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
14544 (store_op1, store_op2, insert_op1, insert_op2)
14545 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
14546 (group_in_compile_stack): Move to after its arg's types are
14547 declared and add a prototype.
99633e97 14548 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 14549 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 14550 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
14551 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
14552 indentation of the greedy-op and shy-group code.
99633e97
SM
14553 (at_(beg|end)line_loc_p): Fix argument's types.
14554 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
14555 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
14556 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
14557 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
14558 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
14559 QUIT unconditionally.
99633e97 14560
699238d9
GM
145612000-03-15 Gerd Moellmann <gerd@gnu.org>
14562
14563 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
14564 a sole completion.
14565
14566 * process.c (send_process): Add a hint that the function
14567 can call Lisp code to its comment.
14568
14569 * lread.c (load_dangerous_libraries): New variable.
14570 (Vbytecomp_version_regexp): New variable.
14571 (safe_to_load_p): New function.
14572 (Fload): Handle files not compiled with Emacs specially.
14573 (syms_of_lread): New Lisp variable load-dangerous-libraries.
14574
34e23e5a
GM
145752000-03-14 Gerd Moellmann <gerd@gnu.org>
14576
9c763cca
GM
14577 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
14578
14579 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
14580 support functions only if HAVE_X11R6_XIM is defined.
14581 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
14582
14583 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
14584
14585 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 14586 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
14587 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
14588
14589 * config.in (HAVE_X_I18N): Moved here from xterm.h.
14590 (HAVE_X11R6_XIM): Define.
14591
14592 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
14593
34e23e5a
GM
14594 * xterm.c (x_term_init): Add support for X resource `synchronous'.
14595 If set, call XSynchronize.
14596
66f0296e
SM
145972000-03-13 Stefan Monnier <monnier@cs.yale.edu>
14598
34e23e5a
GM
14599 * regex.c: Declare a new type `re_char' used throughout the code
14600 for the string char type. It's `const unsigned char' to match the
14601 rest of Emacs. Consistently make sure all pointers to strings use
52283633 14602 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 14603 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
14604 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
14605 code duplication.
66f0296e
SM
14606
14607 * charset.h (GET_CHAR_AFTER_2): Remove.
14608 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
14609
854a025c
KR
146102000-03-12 Ken Raeburn <raeburn@gnu.org>
14611
14612 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
14613 variable before the invocation of YMF_PASS_LDFLAGS, in case both
14614 of them try to use backquotes.
14615
b9d2c7e2
DL
146162000-03-12 Dave Love <fx@gnu.org>
14617
14618 * unexelf.c: Restore changes of 1999-10-19.
14619 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
14620 fix its type and alignment; copy it from current process.
14621
5e5dff44
GM
146222000-03-12 Gerd Moellmann <gerd@gnu.org>
14623
9b2f3c38
GM
14624 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
14625 has been found. Fix bug not computing timer's predecessor.
14626
427ec082 14627 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
14628 file name.
14629
e1cff360
GM
14630 * window.c (Fsave_window_excursion): Doc fix.
14631
52283633 14632 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 14633
e411ce4b
EZ
146342000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
14635
14636 * msdos.c (vga_installed): New function, code moved from
14637 dos_set_window_size.
14638 (Qbar, Qcursor_type, outside_cursor): New variables.
14639 (syms_of_msdos): Intern and staticpro them.
14640 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
14641 shape used outside Emacs when called for the first time.
14642 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
14643 cursor shape used outside Emacs.
14644 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
14645 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
14646 type has changed.
14647 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
14648 parameters specify the cursor. Make qreverse a global
14649 variable (renamed to Qreverse).
14650
80460654
GM
146512000-03-09 Gerd Moellmann <gerd@gnu.org>
14652
14653 * fns.c (Fy_or_n_p): Cancel busy-cursor.
14654
95cd4c40
SM
146552000-03-08 Stefan Monnier <monnier@cs.yale.edu>
14656
14657 This is a big redesign of failure-stack and register handling, prompted
14658 by bugs revealed when trying to add shy-groups. Overall, what happened
14659 is that loops are now structured a little differently, groups can be
14660 shy and the code is a little simpler.
14661
14662 * regex.h: Update the copyright.
14663 (RE_SHY_GROUPS): New value.
14664 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
14665 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
14666
80460654
GM
14667 * regex.c (enum re_opcode_t): Remove jump_past_alt,
14668 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
14669 on_failure_jump_(exclusive, loop and smart). Also fix the comment
14670 for (start|stop)_memory since they now only take one argument (the
14671 second has becomes unnecessary).
52283633 14672 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
14673 (print_compiled_pattern): Use %ld to printf long ints and flush to
14674 make debugging a little easier.
95cd4c40
SM
14675 (union fail_stack_elt): Make the integer unsigned.
14676 (struct fail_stack_type): Add a `frame' element.
14677 (INIT_FAIL_STACK): Init `frame' as well.
14678 (POP_PATTERN_OP): New macro for re_compile_fastmap.
14679 (DEBUG_PUSH, DEBUG_POP): Remove.
14680 (NUM_REG_ITEMS): Remove.
14681 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
14682 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
14683 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 14684 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
14685 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
14686 New macros.
80460654
GM
14687 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
14688 address pushed is not the destination of the jump but the source
14689 of it instead.
95cd4c40
SM
14690 (NUM_FAILURE_ITEMS): Remove.
14691 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
14692 registers before the actual failure point). Don't hardcode any
14693 meaning for str==NULL anymore.
95cd4c40 14694 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
14695 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
14696 Remove.
95cd4c40
SM
14697 (REG_UNSET_VALUE): Use NULL (why not?).
14698 (compile_range): Remove declaration since it doesn't exist.
14699 (struct compile_stack_elt_t): Remove inner_group_offset.
14700 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14701 (regex_grow_registers): Remove dead code.
14702 (FIXUP_ALT_JUMP): New macro.
80460654
GM
14703 (regex_compile): Add shy-groups Change loops to use
14704 on_failure_jump_smart&jump instead of
14705 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14706 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14707 variable to me). Use `jump' instead of `jump_past_alt' and don't
14708 bother with push_dummy_failure in alternatives since it is now
14709 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14710 emacs' for (re)allocating the stack.
14711 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14712 from loop when bufp->can_be_null rather than jumping to `done'.
14713 Avoid jumping backwards so as to ensure termination. Use
14714 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14715 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 14716 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
14717 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14718 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
14719 (lowest_active_reg, highest_active_reg)
14720 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
14721 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14722 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14723 variables. Push register (in `start_memory') on the stack rather
14724 than storing it in old_reg(start|end). Remove the cycle detection
14725 from `stop_memory', replaced by the use of on_failure_jump_loop
14726 for greedy loops. Add code for the new on_failure_jump_<foo>.
14727 Remove ad-hoc code in `on_failure_jump' to push more registers in
14728 the case of a loop. Take out code from `maybe_pop_jump' into
14729 separate functions and adapt it to the semantics of
14730 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14731 and push_dummy_failure. Remove dummy_failure handling and
14732 handling of `failures to jump to on_failure_jump' (this last one
14733 was already dead code, it seems).
14734 (group_match_null_string_p, alt_match_null_string_p)
14735 (common_op_match_null_string_p): Remove.
95cd4c40 14736
7397acc4
DL
147372000-03-08 Dave Love <fx@gnu.org>
14738
14739 * config.in: Don't depend on __STDC__ for volatile.
14740 Add POINTER_TYPE, PTR, PROTOTYPES.
14741
14742 * hftctl.c, strftime.c: Use PROTOTYPES.
14743 * eval.c (find_handler_clause): Likewise.
14744
14745 * mem-limits.h: Use POINTER_TYPE.
14746
14747 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14748 (memory_warnings): Declare using POINTER_TYPE.
14749
5e91ff9e
GM
147502000-03-08 Gerd Moellmann <gerd@gnu.org>
14751
feab4fba
GM
14752 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14753
52283633 14754 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 14755
5e91ff9e
GM
14756 * xfns.c: Remove obsolete code in #if 0.
14757 (Fx_focus_frame): New function.
14758
a735b7e1
KH
147592000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14760
14761 * coding.c (coding_category_name): Add coding-category-utf-8,
14762 coding-category-utf-16-be, coding-category-utf-16-le.
14763 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14764 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14765 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14766 (detect_coding_utf_8): New function.
14767 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14768 UTF_16_LOW_SURROGATE_P): New macros.
14769 (detect_coding_utf_16): New function
14770 (detect_coding_mask): When priorities are specified, skip any
14771 categories that have `nil' coding-system. Fix bug of returning
14772 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14773 returns a mask not set in PRIORITIES.
14774 (detect_eol_type_in_2_octet_form): New function.
14775 (detect_eol): selects detect_eol_type_XXX to call according to
14776 cooding->category_idx.
14777 (detect_coding_system): Remove `nil' coding-system in the result.
14778 (Fupdate_coding_systems_internal): Update all coding-categories.
14779
52283633
SM
14780 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14781 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14782 New macros.
14783 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14784 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14785 (CODING_CATEGORY_IDX_UTF_16_LE)
14786 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14787 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14788 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14789 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14790
9994cc69
GM
147912000-03-07 Gerd Moellmann <gerd@gnu.org>
14792
e9b4e5ff
GM
14793 * doc.c (Fdocumentation_property): If value is not a string,
14794 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14795
f7daf1e1
GM
14796 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14797 close the display with XtCloseDisplay. This caused a bus error
14798 on OpenWindows.
14799
9994cc69
GM
14800 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14801 complete but not unique.
14802
4336c705
GM
148032000-03-06 Gerd Moellmann <gerd@gnu.org>
14804
18bb0684
GM
14805 * process.c (send_process): Remove local variable `procname' that
14806 might become invalid when a GC happens. Instead, access the
14807 process name slot directly.
14808
4336c705
GM
14809 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14810 orig_height if set.
14811
14812 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14813 orig_height if set.
14814
515d0d0e
EZ
148152000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14816
14817 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14818 glyph matrices have been freed.
14819
100b3cbb
GM
148202000-03-05 Gerd Moellmann <gerd@gnu.org>
14821
50df5e5a 14822 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14823 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14824
14825 * xfns.c (QCdata): Moved to xdisp.c.
14826
14827 * xdisp.c (QCdata): Moved here from xfns.c.
14828 (syms_of_xdisp): Initialize QCdata.
14829
14830 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14831
14832 * window.c (coordinates_in_window): Use
14833 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14834 FRAME_INTERNAL_BORDER_WIDTH.
14835
100b3cbb 14836 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14837 it is obviously invalid.
100b3cbb
GM
14838
14839 * xterm.c (x_term_init): Create a colormap if not using the
14840 default visual.
14841
14842 * xterm.h (select_visual): Change prototype.
14843
14844 * xfns.c (select_visual): Rewritten. Recognize user-specified
14845 visual classes.
14846 (visual_classes): New variable.
14847
64d739c4
GM
148482000-03-04 Gerd Moellmann <gerd@gnu.org>
14849
14850 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14851 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14852 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14853 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14854 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14855 XtNcolormap resources.
14856 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14857 (Fx_create_frame): Initialize color members of x_output structure.
14858 (xpm_load): Pass colormap to XPM lib.
14859
14860 * xfaces.c (x_free_colors): Access colormap of frame using
14861 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14862 when default colormap is used.
14863
14864 * xterm.c (x_term_init): Set Colormap member of x_display_info
14865 structure. Copy colormap if resource `privateColormap' is
14866 specified (PseudoColor only).
14867 (x_setup_relief_color): Access colormap of frame using
14868 FRAME_X_COLORMAP.
14869
14870 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14871 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14872
c3cee013
JR
148732000-03-04 Jason Rumney <jasonr@gnu.org>
14874
14875 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14876 other non-platform-specific equivalents.
64d739c4 14877 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14878 specific functions and macros as their w32 equivalents where
14879 non-platform-specifics are not available.
14880 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14881 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14882 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14883 (frame_update_line_height): Use macros to access f->output_data.
14884 (defined_color): Remove FIXME comments; fixed.
14885 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14886 into #ifdef blocks. Add WINDOWSNT blocks.
14887 (Fx_list_fonts): Use macros for accessing font data.
14888 (set_lface_from_font_name): Different default fonts for X and
14889 WINDOWSNT.
14890 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14891 scalable for backward compatibility.
64d739c4 14892 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14893 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14894
64d739c4 14895 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14896 syms_of_w32faces.
14897
14898 * makefile.nt (w32faces.obj): Remove.
14899 (xfaces.obj): Add.
14900
807cc41c
JR
149012000-03-03 Jason Rumney <jasonr@gnu.org>
14902
14903 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14904 correct parameters.
14905
0007072a
KR
149062000-03-03 Ken Raeburn <raeburn@gnu.org>
14907
14908 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14909 standard ELF definitions here if the system header does not.
14910
71a6ba55
GM
149112000-03-03 Gerd Moellmann <gerd@gnu.org>
14912
14913 * xterm.c (PER_CHAR_METRIC): Removed.
14914 (x_per_char_metric_1, x_default_char): New functions.
14915 (x_per_char_metric): If font's default char is invalid, return
14916 metrics of a suitably chosen usable default char.
14917 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14918 char, replace occurrences of unprintable chars with a suitably
14919 chosen usable default char.
71a6ba55 14920
900fa1f1
GM
149212000-03-02 Gerd Moellmann <gerd@gnu.org>
14922
42f55fe0
GM
14923 * xterm.c (note_mouse_highlight): Return quickly if frame's
14924 glyph matrices have been freed.
14925
14926 * dispnew.c (free_glyphs): Block input while freeing matrices.
14927
900fa1f1
GM
14928 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14929
52283633
SM
14930 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14931 Use x_free_colors.
900fa1f1
GM
14932
14933 * dispextern.h (x_free_colors): Add prototype.
14934
14935 * xfaces.c (x_free_colors): New function.
14936 (unload_color, free_face_colors): Use it.
14937
2f950292
EZ
149382000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14939
14940 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14941
14942 * window.c [MSDOS]: Include msdos.h.
14943
54d04320
DL
149442000-03-02 Dave Love <fx@gnu.org>
14945
14946 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14947
14948 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14949 set C_OPTIMIZE_SWITCH for gcc.
14950
0ba93ac4
KH
149512000-03-02 Kenichi Handa <handa@etl.go.jp>
14952
14953 * coding.c (coding_save_composition): Be sure to allocate
14954 composition data area in coding even if there's no composition in
14955 the current run.
14956
a2bc11d4
JR
149572000-03-01 Jason Rumney <jasonr@gnu.org>
14958
14959 * w32term.c: Equivalent changes to those made to xterm.c on
14960 2000-02-25 and 2000-02-24.
14961
14962 * w32fns.c: Equivalent changes to those made to xfns.c on
14963 2000-02-25 and 2000-02-21.
14964
14965 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14966 correct line-end convention is followed.
14967
14968 * w32menu.c [HAVE_BOXES]: Remove #undef.
14969 (single_keymap_panes): Remove code for simulating checkmarks.
14970 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14971 Remove code for drawing simulated checkmarks.
14972 (w32_menu_show): make unibyte help string correctly.
14973 (add_menu_item): draw standard Windows checkmarks. Draw radio
14974 buttons as radio buttons if possible.
14975
72d19d75
GM
149762000-03-01 Gerd Moellmann <gerd@gnu.org>
14977
2df636f4
GM
14978 * sysdep.c (start_of_text): Don't define this function for NetBSD
14979 with ELF.
14980
427ec082 14981 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14982 Don't define.
14983 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14984 (LINKER): Don't undef if __NetBSD__ is defined.
14985
14986 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14987
14988 * fileio.c [__NetBSD__]: Define `unix'.
14989
72d19d75
GM
14990 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14991
ed4d0512
GM
149922000-02-29 Gerd Moellmann <gerd@gnu.org>
14993
50b1039f
GM
14994 * atimer.c (start_atimer): Don't abort when timers are stopped.
14995 (append_atimer_lists): New function.
14996 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14997 arbitrary lists of stopped and running atimers.
14998
ed4d0512
GM
14999 * atimer.c (cancel_atimer): Handle canceling an atimer when
15000 some timers are stopped.
15001
15002 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
15003 after canceling it.
15004
15005 * fns.c (maybe_resize_hash_table): Handle case of new size
15006 coming out as being the same as old size.
15007
387023ee
JR
150082000-02-27 Jason Rumney <jasonr@gnu.org>
15009
15010 * makefile.nt: Add atimer.h to dependencies.
15011 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
15012 * w32console.c: Only disable window system features for dispextern.h
15013 (initialize_w32_display): Build a display info for the console.
15014 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
15015 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
15016 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
15017 as 2 button mice.
15018 * w32gui.h (struct W32FontStruct): Revert last change after change
15019 to xdisp.c.
15020 * w32menu.c (single_submenu): Set up help string.
15021 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
15022 (w32_dialog_show): Set up help string.
15023 * w32term.c (w32_display_info_for_display): Remove unused function.
15024 (w32_draw_bitmap): Use pre-built bitmaps.
15025 (w32_initialize_display_info): New function to initialize parts of
15026 display info that are common to both GUI and console frames.
15027 (w32_term_init): Use w32_initialize_display_info. Do not set
15028 Vw32_num_mouse_buttons here, as it is not called for console
15029 frames. Build bitmaps for indicating truncated lines etc.
15030 (x_delete_display): Destroy pre-built bitmaps.
15031 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
15032 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
15033
4516715a
DL
150342000-02-27 Dave Love <fx@gnu.org>
15035
15036 * lisp.h: Add a bunch of prototypes.
15037
171ca836
KH
150382000-02-26 Kenichi Handa <handa@etl.go.jp>
15039
15040 * keyboard.c (read_char): Set `usec' correctly.
15041
4013921d
KH
150422000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15043
15044 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
15045 `lambda', set reg[RRR] to the map index.
15046 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
15047 reg[RRR] to 0. Otherwise, set it to -1.
15048
9244a058
GM
150492000-02-25 Gerd Moellmann <gerd@gnu.org>
15050
2df636f4 15051 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 15052
18e21ce8 150532000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 15054
f43d79c1
GM
15055 * fileio.c (Ffile_symlink_p): If result starts with a `/'
15056 and contains a `:', prepend `/:'.
15057
15058 * window.c (select_window_1): If selected_window is nil,
15059 don't "swap out" the buffer's point.
15060 (Fset_window_configuration): Set selected_window to nil
15061 before calling Fselect_window.
15062 (unshow_buffer): Don't set point in buffer from window's point
15063 if another more recently selected window also shows the buffer.
15064
bed0c171
GM
150652000-02-25 Gerd Moellmann <gerd@gnu.org>
15066
449c3c52
GM
15067 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
15068
f5b58615
GM
15069 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
15070 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
15071 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
15072 New variables.
f5b58615
GM
15073 (DEFAULT_BUSY_CURSOR_DELAY): New define.
15074 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
15075 (hide_busy_cursor): New functions.
15076 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
15077
15078 * minibuf.c (read_minibuf): Cancel busy-cursor.
15079
15080 * keyboard.c (command_loop_1): Call start_busy_cursor before
15081 Fcommand_execute and cancel_busy_cursor after it.
15082 (timer_check): Remove busy-cursor code.
15083 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
15084 cursor timer.
15085
15086 * process.c (wait_reading_process_input): Remove busy-cursor code.
15087
15088 * eval.c (Fsignal): Call cancel_busy_cursor instead of
15089 Fx_hide_busy_cursor.
15090
15091 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
15092 Remove prototyoes.
15093 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
15094
15095 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
15096
15097 * xterm.c (XTread_socket): Remove busy-cursor code.
15098
4eb8436f
GM
15099 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
15100 (build_frame_matrix_from_leaf_window): Put code handling
15101 glyph row's not being a slice of a frame row in #if 0.
15102 (sync_window_with_frame_matrix_rows): New function.
15103 (frame_row_to_window): New function.
15104 (mirror_line_dance): Handle copies between windows.
15105
3cb65b0e
GM
15106 * lread.c (Fload): Use `xfree' instead of `free'.
15107 (init_obarray): Use `xmalloc' instead of `malloc'.
15108
bed0c171
GM
15109 * window.c (Fset_window_buffer): Set WINDOW to the window
15110 after decoding.
2add4349
GM
15111 (coordinates_in_window): Take frame's internal border width
15112 into account.
bed0c171 15113
42088c12
GM
151142000-02-24 Gerd Moellmann <gerd@gnu.org>
15115
15116 * xterm.c (x_display_and_set_cursor): Display cursor of
15117 non-selected windows depending on the setting of
15118 cursor_in_non_selected_windows.
15119
15120 * xdisp.c (cursor_in_non_selected_windows): New variable.
15121 (syms_of_xdisp): DEFVAR_BOOL it.
15122
d1e103b2
GM
151232000-02-23 Gerd Moellmann <gerd@gnu.org>
15124
723e779c
GM
15125 * data.c (Fstring_to_number): If number is greater than what
15126 fits into an integer, return a float.
15127
d1e103b2
GM
15128 * eval.c (specbind): Remove references to
15129 keyword_symbols_constant_flag.
15130
15131 * data.c (keyword_symbols_constant_flag): Removed.
15132 (Fmakunbound, set_internal, syms_of_data): Remove references to
15133 keyword_symbols_constant_flag.
15134
15135 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
15136
214f877f
KH
151372000-02-23 Kenichi Handa <handa@etl.go.jp>
15138
15139 * syntax.c (multibyte_syntax_as_symbol): New variable.
15140 (syms_of_syntax): Declare it as a Lisp variable.
15141 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
15142 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
15143 nonzero, treat all multibyte characters as symbol.
52283633 15144 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 15145
130adcb7
EZ
151462000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15147
3cb65b0e 15148 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 15149 a deleted frame.
130adcb7 15150
17cbbf95
GM
151512000-02-21 Gerd Moellmann <gerd@gnu.org>
15152
15153 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
15154
15155 * xfns.c (x_window_to_frame, x_any_window_to_frame)
15156 (x_non_menubar_window_to_frame): Check the busy-cursor window.
15157
beb0bc36
DL
151582000-02-21 Dave Love <fx@gnu.org>
15159
15160 * frame.c (Vmouse_position_function): New variable.
15161 (Fmouse_position): Use it.
15162 (syms_of_frame): Install it.
15163
15164 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
15165
1d92afcd
GM
151662000-02-20 Gerd Moellmann <gerd@gnu.org>
15167
15168 * fileio.c (Finsert_file_contents): Unbind the binding of
15169 standard-output done by temp_output_buffer_setup.
329eed9f
GM
15170
15171 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
15172 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
15173 (specbind, unbind_to): Handle most common case of non-constant
15174 symbol with trivial value specially.
15175
15176 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
15177
18e21ce8 151782000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
15179
15180 * data.c (Fmake_variable_buffer_local): Doc fix.
15181 Init found_for_buffer to 0.
15182 (Fmake_variable_frame_local): If the variable has already
15183 been buffer-local, set the check_frame field.
15184
1d4311c3
EZ
151852000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
15186
15187 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15188 produced for CODING_MODE_LAST_BLOCK requires.
15189
2dc95ddd
DL
151902000-02-18 Dave Love <fx@gnu.org>
15191
15192 * keyboard.c (echo_keystrokes): Remove declaration.
15193 (Vecho_keystrokes) New variable.
15194 (read_char, record_menu_key, read_key_sequence): Use it to allow
15195 use of float value.
15196 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15197
15198 * lread.c: Undef feature selection macros before defining.
15199
f0930f35
GM
152002000-02-18 Gerd Moellmann <gerd@gnu.org>
15201
15202 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15203 for symbols other than the symbol in question.
15204
e3d4de90
DL
152052000-02-17 Dave Love <fx@gnu.org>
15206
15207 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15208
0b378936
GM
152092000-02-17 Gerd Moellmann <gerd@gnu.org>
15210
d621caf7
GM
15211 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15212
0b378936
GM
15213 * alloc.c (enum mem_type): Compile unconditionally.
15214
3b451f74
EZ
152152000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15216
15217 * xfaces.c (tty_defined_color): Don't return faulire indication
15218 for unspecified-fg and unspecified-bg pseudo-colors.
15219
10689a01
GM
152202000-02-17 Gerd Moellmann <gerd@gnu.org>
15221
1216f5e4
GM
15222 * alloc.c (mark_object): Don't mark symbol names in pure space.
15223 (gc_sweep): Don't unmark symbol names in pure space.
15224
15225 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15226 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15227 [GC_MARK_STACK]: New defines.
427ec082 15228 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
15229 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15230
15231 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15232
15233 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15234 allocate_buffer instead of xmalloc.
15235
15236 * alloc.c (toplevel): Include setjmp.h.
15237 (PURE_POINTER_P): New define.
15238 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15239 (Vdead) [GC_MARK_STACK]: New variable.
15240 (lisp_malloc): Add parameter TYPE, call mem_insert if
15241 GC_MARK_STACK is defined.
15242 (allocate_buffer): New function.
427ec082 15243 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
15244 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15245 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15246 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15247 (MEM_NIL) [GC_MARK_STACK]: New define.
15248 (struct mem_node) [GC_MARK_STACK]: New structure.
15249 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15250 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15251 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15252 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15253 (mark_stack) [GC_MARK_STACK]: New functions.
15254 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15255 (clear_marks): Removed.
15256 (gc_sweep): Set free conses' car, free floats' type, free
15257 symbols' function to Vdead. Use lisp_free to free buffers.
15258 (init_alloc_once): Initialize Vdead.
15259 (survives_gc_p): Return non-zero for pure objects.
15260
15261 * alloc.c: Add comments throughout the file.
15262
2503c8b1
GM
15263 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15264 that unblocks alarms.
15265
8389e1e2
GM
15266 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15267 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15268 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15269
10689a01 15270 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 15271
bfc17d18
KH
152722000-02-17 Kenichi Handa <handa@etl.go.jp>
15273
4a09dee0
KH
15274 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15275 avoid infinite error signaling. Allocate sufficient memory for
15276 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 15277
2b927d02
SM
152782000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15279
15280 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15281 depends on the previous behavior.
15282
b49cb764
GM
152832000-02-16 Gerd Moellmann <gerd@gnu.org>
15284
15285 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15286
99e95407
GM
152872000-02-15 Gerd Moellmann <gerd@gnu.org>
15288
15289 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15290
15291 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 15292 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
15293 write(2).
15294
6ffd3cf7
RS
152952000-02-15 Richard M. Stallman <rms@gnu.org>
15296
15297 * data.c (set_internal): Don't make variable buffer-local
15298 if within a let-binding for the same buffer.
15299 (let_shadows_buffer_binding_p): New function.
15300
15301 * eval.c (specbind): For buffer-local value,
15302 record the current buffer also.
15303 (unbind_to): Cope with that change.
15304
cad53475
GM
153052000-02-15 Gerd Moellmann <gerd@gnu.org>
15306
15307 * window.c (Fsave_window_excursion): Doc fix.
15308
1aa963c8
SM
153092000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15310
15311 * syntax.c (back_comment): Make sure we only consider comment-starters
15312 of the relevant style and return -1 in case of a failure to find the
15313 beginning of the comment.
15314 (Fforward_comment): If back_comment fails, go back to the position just
15315 after the comment-end.
15316 (scan_lists): Add comment describing a very minor bug.
15317
b9b84fd3
SM
153182000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15319
15320 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15321 `completion-regexp-list' in the docstring.
15322
3a28db80
DL
153232000-02-14 Dave Love <fx@gnu.org>
15324
15325 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15326
fb4a568d
SM
153272000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15328
15329 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15330 to Emacs' syntax. Also fix the comment about set/not-set meanings
15331 since Emacs syntax is not the value 0 any more.
15332 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15333 since it's now part of RE_SYNTAX_EMACS.
15334
1063ebb5
DL
153352000-02-12 Dave Love <fx@gnu.org>
15336
52283633 15337 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 15338
fb07a302
GM
153392000-02-12 Gerd Moellmann <gerd@gnu.org>
15340
15341 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15342
aaf2320c
DL
153432000-02-12 Dave Love <fx@gnu.org>
15344
15345 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
15346
15347 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
15348 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
15349 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
15350
15351 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
15352
15353 * s/nextstep.h: Don't define HAVE_ALLOCA.
15354
15355 * config.in: Add vfork bits.
15356
eedf8bde
GM
153572000-02-12 Gerd Moellmann <gerd@gnu.org>
15358
15359 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
15360 unwind function to undo the effect of stopping atimers.
15361
52283633 15362 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
15363
15364 * atimer.c (stopped_atimers): New variable.
15365 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
15366 New functions.
15367
15368 * atimer.h (stop_other_atimers, run_all_atimers)
15369 (unwind_stop_other_atimers): Add function prototypes.
427ec082 15370
eedf8bde
GM
15371 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
15372
8476c2f8
KR
153732000-02-11 Ken Raeburn <raeburn@gnu.org>
15374
15375 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
15376 library may depend on jpeg.
15377 (atimer.o): Depends on atimer.c.
15378
0e85e4a3
KH
153792000-02-11 Kenichi Handa <handa@etl.go.jp>
15380
15381 * insdel.c (del_range_1): Call update_compositions.
15382 (del_range_both): Call update_compositions just once..
15383
97fa0cc8
DL
153842000-02-10 Dave Love <fx@gnu.org>
15385
15386 * xfns.c (create_frame_xic): Fix initialization of automatic
15387 aggregates for pcc.
15388
25566a3c
KH
153892000-02-09 Kenichi Handa <handa@etl.go.jp>
15390
15391 * ccl.c (CCL_MAKE_CHAR): New macro.
15392 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
15393 registers by CCL_MAKE_CHAR before calling translate_char.
15394 <CCL_TranslateCharacterConstTbl> Likewise.
15395
69da54ba
DL
153962000-02-08 Dave Love <fx@gnu.org>
15397
15398 * lread.c (__EXTENSIONS__): Define.
15399
f7136ee8
GM
154002000-02-08 Gerd Moellmann <gerd@gnu.org>
15401
15402 * puresize.h (BASE_PURESIZE): Increase to 650000.
15403
7768790b
EZ
154042000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15405
15406 * msdos.c (XMenuActivate): Turn off the cursor after displaying
15407 the help message.
15408
38fd211b
EZ
154092000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15410
15411 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
15412 md, mh, mb, mr, and me to the fake termcap entry.
15413
66e4690f
KR
154142000-02-06 Ken Raeburn <raeburn@gnu.org>
15415
15416 * sound.c (sound_cleanup): Don't call device close routine if the
15417 function pointer is null.
15418
a75dfea0
AI
154192000-02-06 Andrew Innes <andrewi@gnu.org>
15420
15421 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
15422 around image definitions and prototypes.
15423 (gamma_correct) [WINDOWSNT]: New prototype.
15424
15425 * w32term.c (x_make_frame_visible): Replace call to
15426 input_poll_signal with poll_for_input.
15427
15428 * window.c [WINDOWSNT]: Include w32term.h.
15429
15430 * xdisp.c [WINDOWSNT]: Include w32term.h.
15431
15432 * makefile.nt: Add dependencies on w32gui.h.
15433 (OBJ1): Include atimer.obj.
15434 ($(BLD)\atimer.obj): New dependency rule.
15435
15436 * w32.c (sigmask): New function (does nothing).
15437 (sigunblock): Ditto.
15438
15439 * frame.c [WINDOWSNT]: Include w32term.h.
15440
15441 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
15442
15443 * lread.c (syms_of_lread): Fix literal newlines.
15444
15445 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
15446 the string constant limit (2048 bytes) in MSVC.
15447 (main): Ditto.
15448
59ddecde
GM
154492000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
15450
52283633 15451 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
15452 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
15453 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
15454 dispatch the event.
15455
07590973
DL
154562000-02-04 Dave Love <fx@gnu.org>
15457
15458 * fileio.c: Remove some unused vars.
15459 (_GNU_SOURCE): Define (for euidaccess).
15460
15461 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
15462
15463 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
15464 gcpro1, gcpro2.
15465 (read_minibuf): Deal with allow_props correctly.
15466
649351f9
EZ
154672000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
15468
15469 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
15470
66e4690f 154712000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
15472
15473 * search.c (compile_pattern): If a cache entry has a nil regexp,
15474 fill in that entry instead of clobbering a previously cached
15475 string regexp.
15476
66e4690f 154772000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
15478
15479 * puresize.h (BASE_PURESIZE): Increase to 610000.
15480
d240a249
GM
154812000-02-02 Gerd Moellmann <gerd@gnu.org>
15482
15483 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
15484 can GC.
15485
ca91fb26
KH
154862000-02-02 Kenichi Handa <handa@etl.go.jp>
15487
25660570
KH
15488 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
15489 instead of incrementing ic directly.
15490 <CCL_WriteExprConst> Likewise.
15491 <ccl_set_expr>: Set ic to jump_address.
15492
ca91fb26
KH
15493 * fileio.c (e_write): Fix the handling of
15494 CODING_FINISH_INSUFFICIENT_SRC.
15495
2ede9689
DL
154962000-02-01 Dave Love <fx@gnu.org>
15497
15498 * editfns.c (Fpropertize): Doc fix.
15499
15500 * process.c (Fstart_process): Doc fix.
15501
15502 * eval.c: Fix various doc strings not to duplicate information
15503 from help-manyarg-func-alist.
15504
52283633 15505 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
15506
15507 * doc.c (Vhelp_manyarg_func_alist): New variable.
15508 (Fdocumentation): Use it.
15509 (syms_of_doc): Define it.
15510
b6680a0e
GM
155112000-01-31 Gerd Moellmann <gerd@gnu.org>
15512
2cb750ba
GM
15513 * xterm.c (xim_open_dpy): Remove unused local variable.
15514
52283633 15515 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
15516
15517 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
15518 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
15519
b6680a0e
GM
15520 * fns.c (sweep_weak_table): New function.
15521 (sweep_weak_hash_tables): Use it. Keep on marking until there
15522 is no more change.
15523
994c5afe
GM
155242000-01-30 Gerd Moellmann <gerd@gnu.org>
15525
15526 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
15527 that XTread_socket does not crash by trying to call XNoOp on a
15528 closed display.
427ec082 15529
f00276e3
JR
155302000-01-30 Jason Rumney <jasonr@gnu.org>
15531
15532 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15533 Change selected_frame to SELECTED_FRAME ().
15534 (w32_console_mouse_position): Remove #ifndef MULE from around
15535 `insist' parameter.
15536
15537 * makefile.nt: Remove dosfns.obj.
15538
15539 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
15540
15541 * w32fns.c (w32_defined_color): Check for valid frame before
15542 applying gamma correction. Eliminate dependency on frame elsewhere.
15543 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
15544 (w32_to_x_font): Use resx and resy not height_in and width_in.
15545 (x_to_w32_font): Doc fix.
15546 (xlfd_strip_height): New function to strip and return font height.
15547 (w32_font_match): Compare height separately from rest of xlfd
15548 spec, using xlfd_strip_height.
15549
15550 * w32term.c (w32_term_init): Swap resx and height_in, resy and
15551 width_in. Use w32_defined_color in place of defined_color.
15552
15553 * w32faces.c: Merge more of DOS and X specifics in preparation for
15554 merge with xfaces.c.
15555 (defined_color): Remove FIXME comment.
15556 (tty_color_name): Provide w32-specific function.
15557 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
15558
15559 * w32console.c (turn_on_face, turn_off_face): Removed.
15560 (w32_face_attributes): New function.
15561 (Global_variables): Reduce scope where possible.
15562 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
15563 fill attribute.
15564 (hl_mode): Don't modify text attributes.
15565 (write_glyphs): Don't do anything if len <= 0. Use
15566 w32_face_attributes to get attributes for drawing. Write
15567 terminating codes using char_attr_normal.
15568 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
15569 (update_begin, update_end): Likewise.
15570 (vga_stdcolor_name): New function.
15571 (initialize_w32_display): Remove char_attr_reverse and char_attr.
15572 (Fset_screen_color): Remove char_attr_reverse.
15573
b08e8bb2
GM
155742000-01-29 Gerd Moellmann <gerd@gnu.org>
15575
15576 * xfns.c (xic_set_preeditarea): Take window parameter and
15577 window-relative pixel-positions.
15578
15579 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
15580 is its frame's selected window.
15581 (xim_instantiate_callback): Likewise.
15582
15583 * xfns.c (x_create_im): Removed.
15584 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
15585 (supported_xim_styles): Renamed from supported_styles.
15586 (best_xim_style): Renamed from best_style.
15587 (create_frame_xic): Renamed from xic_create_frame.
15588 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 15589
b08e8bb2
GM
155902000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
15591
15592 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
15593 our frames, call XFilterEvent with 2nd parameter `None'.
15594 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
15595 returning XBufferOverflow.
52283633 15596 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
15597 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
15598 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
15599 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
15600 (xim_initialize, xim_close)
15601 [HAVE_X_I18N && HAVE_X11R6]: New functions.
15602 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
15603 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
15604 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
15605
15606 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
15607 and `xim_styles'.
15608 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
15609 `xic_style' and `xic_xfs'.
15610 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
15611 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
15612 (FRAME_XIM): Removed.
15613
15614 * xfns.c (supported_styles): New variable.
15615 (DEFAULT_STYLE, DEFAULT_FONT): New macros
15616 (xic_create_xfontset, best_style, xic_create_frame)
15617 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
15618 (xic_set_xfontset): New functions.
15619
142e109c
DL
156202000-01-28 Dave Love <fx@gnu.org>
15621
15622 * s/irix6-5.h: Revert last change after change to irix5-0.h.
15623
15624 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
15625
b02786f9
GM
156262000-01-28 Gerd Moellmann <gerd@gnu.org>
15627
d060bc9f
GM
15628 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
15629 for *scratch* if it already existed.
15630
b02786f9
GM
15631 * emacs.c (USAGE): New macro.
15632 (main): Use it to display usage information.
15633
2c52d7e4
EZ
156342000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15635
15636 Support for the menu-help feature:
15637
52283633 15638 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
15639
15640 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
15641 part of the line to the termscript file.
15642 (IT_clear_to_end): Clear the entire line, not just its beginning.
15643 (menu_help_message, prev_menu_help_message): New variables.
15644 (IT_menu_make_room): Make room for the help_text member.
15645 (IT_menu_display): New argument disp_help; all callers changed.
15646 If disp_help is non-zero, store the help text of the active menu
15647 item in menu_help_message.
15648 (XMenuAddPane): Initialize the help_text member to NULL.
15649 (XMenuAddSelection): New argument help_text. Store it in the
15650 XMenu structure.
15651 (XMenuActivate): New argument help_callback. If the value of
15652 menu_help_message has changed since the last time, display the
15653 menu help message text while waiting for the mouse to move. Clear
15654 the echo area before exiting.
15655 (XMenuDestroy): Free the help_text member.
15656
ffe0bcd1
GM
156572000-01-27 Gerd Moellmann <gerd@gnu.org>
15658
15659 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
15660 XMenuAddSelection. Pass help callback to XMenuActivate.
15661 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
15662
50dbd23f
EZ
156632000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15664
15665 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
15666 and EMACS_SET_USECS.
15667
f5941bf8
GM
156682000-01-26 Dave Love <fx@gnu.org>
15669
6c67ddee
DL
15670 * editfns.c (Fchar_after, Fchar_before): Doc fix.
15671
f5941bf8
GM
15672 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
15673 an error may be signalled.
15674
9e49c990
GM
156752000-01-26 Gerd Moellmann <gerd@gnu.org>
15676
fc3cb460
GM
15677 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
15678 LD_SWITCH_SYSTEM inherited from irix5-0.h.
15679
9e49c990
GM
15680 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
15681
d0c037d8
GM
156822000-01-25 Gerd Moellmann <gerd@gnu.org>
15683
15684 * charset.c (Fstring): If there is a multibyte char among
15685 the args, always return a multibyte string.
15686
e12489f9
GM
156872000-01-25 Gerd Moellmann <gerd@gnu.org>
15688
15689 * sysdep.c (sys_select): Turn atimers off and on instead of
15690 recording and restoring old alarm handler
15691
15692 * process.c (toplevel): Include atimer.h.
15693 (create_process_1): Rewritten.
15694 (create_process): Use atimers instead of alarm.
15695 (wait_reading_process_input) [hpux]: Turn atimers off instead
15696 of turning off SIGALRM.
15697 (wait_reading_process_input): Turn off atimers instead off
15698 calling stop_polling.
15699
15700 * emacs.c (main): Call init_atimer.
15701
15702 * keyboard.c (toplevel): Include systime.h and atimer.h.
15703 (polling_for_input): Removed because unused.
15704 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15705 (poll_timer): New variable.
15706 (poll_for_input, poll_for_input_1): New functions.
15707 (start_polling, stop_polling): Rewritten.
15708
15709 * keyboard.h (polling_for_input): Removed.
427ec082 15710
e12489f9
GM
15711 * atimer.h, atimer.c: New files.
15712
15713 * Makefile.in (obj): Add atimer.o.
15714 (atimer.o): New target.
15715
15716 * blockinput.h (pending_atimers): Add extern declaration.
15717 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15718
15719 * lisp.h (popup_activated_flag): Add extern declaration.
15720
15721 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 15722 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
15723 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15724
15725 * xterm.c (toplevel): Include atimer.h.
15726 (toolkit_scroll_bar_interaction): New variable.
15727 (Fxt_process_timeouts): Removed.
15728 (x_process_timeouts): New function.
15729 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15730 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15731 (x_make_frame_visible): Call poll_for_input_1 instead of
15732 input_poll_signal. Don't call alarm.
15733 (x_initialize): Install timer calling x_process_timeouts.
427ec082 15734
1e5279b9
DL
157352000-01-24 Dave Love <fx@gnu.org>
15736
6c67ddee 15737 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
15738 Don't use -cckr -- apparently not now necessary.
15739
edf6aeb8
EZ
157402000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15741
15742 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15743 screen boundary.
15744
9badad41
JR
157452000-01-23 Jason Rumney <jasonr@gnu.org>
15746
15747 * w32fns.c (w32_defined_color): Apply gamma correction before
15748 trying to map to the palette.
15749 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15750 to w32_clear_rect.
15751
15752 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15753 here. Callers changed to always pass real device context.
15754 (w32_draw_bitmap): Likewise.
15755 (w32_get_glyph_overhangs): Likewise.
52283633 15756 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
15757 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15758 pfnSetScrollInfo and SetScrollRange.
15759 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15760 back into MULE characters after decoding them.
15761 (x_get_glyph_face_and_encoding): Likewise.
15762 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15763 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15764 (x_produce_glyphs): Calculate per char metrics for a character
15765 that we know exists in default font when font_not_found_p is true.
15766
63bd786b
JR
157672000-01-22 Jason Rumney <jasonr@gnu.org>
15768
15769 * makefile.nt (intervals.obj, composite.obj): New modules.
15770 (composite.h): Added as dependency where appropriate.
15771
15772 * w32gui.h (XGCValue): New struct for emulating X GCs.
15773
15774 * w32term.h (XCharStruct): New struct for emulating X.
15775
15776 * w32console.c (turn_on_face, turn_off_face): New functions.
15777 (change_line_highlight): New prototype for new redisplay.
15778 (write_glyphs): Support multibyte text. Support faces.
15779
52283633 15780 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15781
15782 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15783 throughout. struct frame * in place of FRAME_PTR.
15784 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15785 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15786 (w32_get_arg): Renamed from x_get_arg.
15787 (Fx_file_dialog): New function.
15788 (w32_list_fonts): Check cache before asking system.
15789 (Vw32_enable_synthesized_fonts): New variable.
15790 (Vw32_enable_italics): Obsolete, removed.
15791
15792 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15793 Use SELECTED_FRAME macro.
15794
15795 * w32menu.c: Add skeleton support for help strings on menus.
15796 (add_menu_item): Native checkbox and radio support added, but not
15797 yet enabled due to bugs.
15798 (push_menu_item): Add parameters type, selection and help.
15799 Callers updated.
15800 Formatting changes to reduce unnecessary diffs with xmenu.c.
15801
15802 * w32select.c (Fw32_set_clipboard_data): Update call to
15803 find_charset_in_str.
15804
15805 * w32term.c: Complete rewrite for new redisplay based on new
15806 xterm.c with necessary sections merged back in from old w32term.c.
15807
6ffd3cf7 158082000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15809
15810 * data.c (set_internal): Further fix in same criterion.
15811
6ffd3cf7 158122000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15813
15814 * data.c (set_internal): Fix the criteria for whether
15815 to swap out the old cached binding.
15816
60af03f1
DL
158172000-01-19 Dave Love <fx@gnu.org>
15818
15819 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15820
f9be074f
KH
158212000-01-18 Kenichi Handa <handa@etl.go.jp>
15822
15823 * regex.c (re_compile_fastmap): While checking a range table for
15824 `charset', skip flag bits for a character class correctly.
15825
52b8dbf9
GM
158262000-01-17 Gerd Moellmann <gerd@gnu.org>
15827
d36100c9
GM
15828 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15829
52283633 15830 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15831
15832 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15833 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15834
15835 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15836 MENU_ITEMS_ITEM_.*.
15837 (MENU_ITEMS_ITEM_HELP): New enumerator.
15838 (push_menu_item): Add parameter HELP. Record help in menu_items.
15839 (single_menu_item, single_submenu, list_of_items): Call
15840 push_menu_item with new parameter.
15841 (single_submenu): Set help string in widget value.
15842 (menu_highlight_callback): New function.
15843 (set_frame_menubar): Call lw_create_widget with new
15844 parameter list.
15845 (xmenu_show, xdialog_show): Ditto.
15846
3139018f
GM
158472000-01-13 Gerd Moellmann <gerd@gnu.org>
15848
15849 * sound.c (Fplay_sound): Improve doc string.
15850
83c8f461
RS
158512000-01-11 Richard M. Stallman <rms@gnu.org>
15852
15853 * lisp.h (set_internal): Enter the new arg.
15854
15855 * eval.c (specbind): Record buffer-local variables specially,
15856 indicating which buffer's binding was saved.
15857 (unbind_to): Restore buffer-local variables specially
15858 in the proper buffer.
15859
15860 * data.c (set_internal): New arg BUF.
427ec082 15861
83c8f461
RS
15862 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15863 * data.c (Fset): Pass new arg to set_internal.
15864 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15865
1fab1775
GM
158662000-01-11 Gerd Moellmann <gerd@gnu.org>
15867
52283633 15868 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15869
83c8f461 158702000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15871
15872 * minibuf.c (Ftry_completion): Doc fix.
15873
7a85e4df
GM
158742000-01-11 Gerd Moellmann <gerd@gnu.org>
15875
15876 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15877 vector, too.
15878
a970dae4
AS
158792000-01-11 Andreas Schwab <schwab@suse.de>
15880
15881 * coding.c (code_convert_region): Initialize total_skip.
15882
c65d14ee
DL
158832000-01-08 Dave Love <fx@gnu.org>
15884
15885 * eval.c (Fuser_variable_p): Check customizability too.
15886
834938d2
GM
158872000-01-07 Gerd Moellmann <gerd@gnu.org>
15888
15889 * minibuf.c (Fcompleting_read): Doc fix.
15890
e0303cd6
GM
158912000-01-05 Gerd Moellmann <gerd@gnu.org>
15892
8a26744b
GM
15893 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15894 -L /usr/local/lib.
15895
e0303cd6
GM
15896 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15897 Check that input style is supported before trying to create an
15898 IC for it.
15899 (x_window): Call x_create_im.
427ec082 15900
2e471eb5
GM
159012000-01-04 Gerd Moellmann <gerd@gnu.org>
15902
560a7bd2
GM
15903 * xfns.c (current_gif_memory_src): New variable.
15904 (gif_load): Record the address of the current memory source
15905 in current_gif_memory_src.
15906 (gif_read_from_memory): Use current_gif_memory_src.
15907
f9ee84a3
GM
15908 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15909 macros statement form.
15910
d1299cde
GM
15911 * sound.c (struct sound): Renamed from struct sound_file.
15912 (struct sound): Add members `data' and `header_size'.
15913 (enum sound_attr): Add SOUND_DATA.
15914 (current_sound, current_sound_device): Variables renamed from
15915 sound_file and sound_device.
15916 (parse_sound): Parse :data.
15917 (parse_sound): Handle sound data in strings.
15918 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15919 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15920 needed header size.
15921 (wav_play, au_play): Play sounds from string data.
15922
2e471eb5
GM
15923 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15924
15925 * lisp.h: Add prototype for allocate_string_data.
15926
52283633 15927 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15928
15929 * alloc.c (mark_buffer): Remove code in #if 0.
15930 (gc_sweep): Ditto.
15931 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15932 (strings_consed): New variable.
15933 (allocate_string): Set it.
15934 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15935 (Fmemory_use_counts): Return strings_consed. Use Flist.
15936
15937 * alloc.c: General cleanup in comments etc. Remove conditional
15938 compilation for `standalone'.
15939
15940 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15941
15942 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15943 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15944 (DONT_COPY_FLAG): Removed.
15945 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15946 (struct sdata, struct sblock): New
15947 (struct string_block): Rewritten.
15948 (STRINGS_IN_STRING_BLOCK): New macro.
15949 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15950 (large_sblocks, string_blocks, string_free_list): New variables.
15951 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15952 (init_strings): Rewritten.
15953 (allocate_string, allocate_string_data, compact_small_strings)
15954 (free_large_strings, sweep_strings): New functions.
15955 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15956 (struct string_block_head, current_string_block)
15957 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15958 (STRING_PAD): Removed.
15959 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15960 (Fgarbage_collect): Don't set mark bit in large strings.
15961 (mark_object): Mark strings differently. Mark symbol names
15962 differently.
15963 (survives_gc_p): Test marked strings differently.
427ec082 15964 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15965 symbol names.
15966 (compact_strings): Removed.
15967
42608ba8
EZ
159682000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15969
15970 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15971 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15972
e0a09e1a
KH
159732000-01-04 Kenichi Handa <handa@etl.go.jp>
15974
dd9f0750 15975 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15976 in a non-empty buffer.
dd9f0750 15977
3c0f3b15 15978 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15979
44cd3ae5
GM
159802000-01-03 Gerd Moellmann <gerd@gnu.org>
15981
15982 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15983 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15984
15985 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15986
c182a70f
EZ
159872000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15988
15989 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15990 need to test for MSDOS frames.
15991
24480d5b
EZ
159922000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15993
15994 * dosfns.c (unspecified_colors): Remove.
15995 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15996 unspecified_bg.
15997 (msdos_stdcolor_name): Return strings for unspecified fore- and
15998 back-ground colors.
15999
16000 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 16001 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
16002 (tty_color_name): Return Lisp strings for unspecified fore- and
16003 back-ground colors.
16004 (Finternal_set_lisp_face_attribute): Remove the special treatment
16005 for Qunspecified_{f,b}g.
52283633 16006 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 16007
047f434a
GM
160082000-01-03 Gerd Moellmann <gerd@gnu.org>
16009
16010 * xdisp.c (reseat_at_next_visible_line_start): Position before
16011 newline only if ending up on a newline.
16012 (next_element_from_ellipsis): Return success. Handle case of
52283633 16013 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
16014 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
16015 returns 0.
16016
d684c676
EZ
160172000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16018
16019 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
16020 (Fcolor_supported_p): Renamed from face-color-supported-p.
16021
5fe1d139
EZ
160222000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16023
16024 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
16025 list of colors renamed to tty-defined-color-alist.
16026 (tty_color_name): Pass the frame to tty-color-by-index.
16027 (realize_tty_face): tty-color-alist is now a function which
16028 accepts the frame as argument.
16029
52283633 16030 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 16031
816be8b8
EZ
160322000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16033
16034 * term.c (insert_glyphs): Pass glyph, not &glyph, to
16035 encode_terminal_code.
16036
b635321e
EZ
160372000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16038
16039 * dispnew.c (mode_line_string): Support termcap frames as well.
16040
9b784e96
GM
160412000-01-01 Gerd Moellmann <gerd@gnu.org>
16042
27189709
GM
16043 * syntax.c (Fforward_word): Undo previous change.
16044
16045 * editfns.c (Fconstrain_to_field): Don't constrain if
16046 inhibit-field-text-motion is non-nil.
16047 (Fline_beginning_position): Undo previous change.
16048 (Fline_end_position): Ditto.
16049
16050 * syntax.c (Fforward_word): Notice field boundaries only if
16051 inhibit-field-text-motion is nil.
16052
16053 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
16054
16055 * editfns.c (Vinhibit_field_text_motion): New variable.
16056 (inhibit-field-text-motion): New DEFVAR_LISP.
16057 (Fline_beginning_position, Fline_end_position): Notice field
16058 boundaries only if inhibit-field-text-motion is nil.
16059
45158a91
GM
16060 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
16061 All calls adjusted.
16062 (x_build_heuristic_mask): Likewise.
16063 (xbm_load_image_from_file): Change error output.
16064 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
16065 (gif_load, gs_load, x_kill_gs_process): Ditto.
16066
9b784e96
GM
16067 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
16068 color indices when accessing raster pixels.
63cec32f
GM
16069 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
16070 one of :file or :data.
16071 (enum pbm_keyword_index): Add PBM_DATA.
16072 (pbm_format): Add :data.
16073 (pbm_image_p): Allow either :file or :data.
16074 (pbm_read_file): New function.
16075 (pbm_scan_number): Rewritten to read from string.
16076 (pbm_load): Support :data.
9b784e96 16077
2cb085db 16078See ChangeLog.8 for earlier changes.
6922b018
KH
16079
16080;; Local Variables:
49b3bd82 16081;; coding: iso-2022-7bit
6922b018 16082;; End:
2a34a036
GM
16083
16084 Copyright (C) 2001 Free Software Foundation, Inc.
16085 Copying and distribution of this file, with or without modification,
16086 are permitted provided the copyright notice and this notice are preserved.