Change defvar_int def and vars to use EMACS_INT instead of just int.
[bpt/emacs.git] / src / ChangeLog
1 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
2
3 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
4 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
5 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
6 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
7 and variables to use EMACS_INT instead of just int.
8
9 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
10
11 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
12 environment, pass it down with corrected value.
13
14 2002-03-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
15
16 * lread.c (read_filtered_event): Do not call start_hourglass
17 before returning.
18
19 2002-03-04 Juanma Barranquero <lektu@terra.es>
20
21 * w32term.c (x_display_and_set_cursor): Fix typo.
22
23 2002-03-03 Richard M. Stallman <rms@gnu.org>
24
25 * fileio.c (Fmake_temp_name): Doc fix.
26
27 2002-03-03 Gary Wong <gtw@gnu.org>
28
29 * termcap.c [!emacs]: Replace ospeed for building standalone
30 libtermcap, for binary compatibility.
31
32 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
33
34 2002-03-03 Richard M. Stallman <rms@gnu.org>
35
36 * xrdb.c (file_p): Rename arg `path' to `filename'.
37
38 * abbrev.c (Fexpand_abbrev): Increment plist as use count
39 only if it is an integer.
40
41 * xfns.c (png_load): Set screen_gamma based on f->gamma.
42 If png_get_sRGB gives an answer, call png_set_gamma
43 using the default image gamma value.
44
45 * lread.c (read1): When reading from a file, default string to
46 multibyte only if it has some multibyte characters.
47
48 * print.c (print_object): Output multibyte chars 128...255
49 using \x even if ! print_escape_multibyte.
50
51 * xdisp.c (display_mode_element): Move the places where
52 bytepos, charpos, this, and lisp_string are set.
53 Use lisp_string to set bytepos.
54
55 * xdisp.c (redisplay_internal):
56 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
57
58 * xdisp.c (display_mode_element): Merge properties specified with
59 :propertize onto those that come with the string.
60
61 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
62
63 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
64 automatic-hscrolling. Users changed.
65 <hscroll-margin>: Renamed from automatic-hscroll-margin.
66 Users changed.
67 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
68
69 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
70
71 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
72
73 2002-03-02 Kim F. Storm <storm@cua.dk>
74
75 * window.c (Fminibuffer_selected_window): New function.
76 (syms_of_window): Defsubr it.
77
78 2002-03-01 Kim F. Storm <storm@cua.dk>
79
80 * window.h (struct window): New member phys_cursor_width.
81
82 * window.c (make_window, replace_window): Init phys_cursor_width.
83
84 * xterm.c (x_display_and_set_cursor): Blink box cursor using
85 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
86
87 * w32term.c (x_display_and_set_cursor): Blink box cursor using
88 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
89
90 * lisp.h (GCPRO6): New macro.
91
92 * process.c (Fopen_network_stream): Use GCPRO6.
93
94 2002-03-01 Kim F. Storm <storm@cua.dk>
95
96 * process.c (Qconnect, Qfailed): New variables.
97 (syms_of_process): Intern and staticpro them.
98 (Fprocess_status): Document connect and failed return values.
99 [NON_BLOCKING_CONNECT]: New conditional.
100 (connect_wait_mask, num_pending_connects): New variables.
101 (status_message): Convert Qfailed status.
102 (Fopen_network_stream): Added support for non-blocking connect.
103 New optional args: filter, sentinel, non_blocking. Doc updated.
104 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
105 (deactivate_process): Handle pending non-blocking connect.
106 (wait_reading_process_input): Poll for status of non-blocking
107 connects. Exec sentinel directly when connect succeeds.
108 (status_notify): Don't read process output if not yet connected.
109
110 2002-02-28 Kim F. Storm <storm@cua.dk>
111
112 * window.c: (minibuf_selected_window): Renamed from
113 Vminibuf_selected_window. Users changed.
114 (syms_of_window): Staticpro it.
115
116 2002-02-26 Kim F. Storm <storm@cua.dk>
117
118 The following changes add a new Vminibuf_selected_window variable
119 which is similar to Vminibuf_scroll_window, but which is only set
120 on entry to the minibuffer (from a non-minibuffer window):
121
122 * window.c: (Vminibuf_selected_window): New variable.
123 (struct save_window_data): New member minibuf_selected_window.
124 (Fset_window_configuration): Restore Vminibuf_selected_window.
125 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
126 Set minibuf_scroll_window member to nil if minibuf_level is 0.
127 (compare_window_configurations): Compare minibuf_selected_window.
128
129 * window.h: (Vminibuf_selected_window): Declare extern.
130
131 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
132 entry to minibuffer or on entry from a non-minibuffer window.
133
134 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
135 Vminibuf_selected_window instead of Vminibuf_scroll_window.
136
137 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
138 instead of Vminibuf_scroll_window when deciding in which window
139 the region should be highlighted. Consequently, the region remains
140 highlighteded even when a completion buffer is also displayed.
141
142 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
143
144 * fileio.c (Fsubstitute_in_file_name): Fix the change from
145 2002-02-08.
146
147 * xselect.c (Qcompound_text_with_extensions): Renamed from
148 Qcompound_text_no_extensions.
149 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
150
151 2002-02-26 Juanma Barranquero <lektu@terra.es>
152
153 * w32proc.c (syms_of_ntproc): Doc fix.
154
155 2002-02-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
156
157 * intervals.h: Include "dispextern.h" unconditionally.
158
159 2002-02-24 Jason Rumney <jasonr@gnu.org>
160
161 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
162 and disp-table.elc.
163 (lisp): Add emacs-lisp/backquote.elc.
164
165 2002-02-24 Kim F. Storm <storm@cua.dk>
166
167 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
168 The validation of the event type was too strict as it didn't
169 allow string events; buffer names are used in bindings for
170 menu-bar-select-buffer (see `menu-bar-update-buffers').
171
172 2002-02-23 Kim F. Storm <storm@cua.dk>
173
174 The following changes rework my patch of 2002-02-06 which
175 added command remapping by entering the commands directly into
176 the keymaps. Now, command remapping uses an explicit `remap'
177 prefix in the keymaps, i.e. [remap COMMAND].
178
179 * keymap.c (Qremap, remap_command_vector): New variables.
180 (is_command_symbol): Removed function.
181 (Fdefine_key): No longer accept a symbol for KEY.
182 Added validation of [remap COMMAND] argument for KEY.
183 The DEF is no longer required to be a symbol when remapping a command.
184 (Fremap_command): New function to remap command through keymaps.
185 (Flookup_key): Perform command remapping initiated by
186 Fremap_command directly for speed.
187 (Fkey_binding): Use Fremap_command for command remapping.
188 (where_is_internal): Handle new command remapping representation.
189 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
190 staticpro them. Defsubr Fremap_command.
191
192 * keymap.h (Fremap_command): Declare extern.
193 (is_command_symbol): Remove extern.
194
195 * keyboard.c (command_loop_1): Use Fremap_command for command
196 remapping; now try command remapping for all symbols.
197
198 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
199
200 * coding.h (run_pre_post_conversion_on_str): Add prototype.
201
202 2002-02-23 Jason Rumney <jasonr@gnu.org>
203
204 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
205 on the string before encoding it.
206 (Fw32_get_clipboard_data): Run post-read-conversion on the string
207 after decoding it.
208
209 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
210
211 2002-02-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
212
213 * w32term.c (enter_timestamp): Remove unused static variable to
214 prevent warning.
215
216 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
217
218 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
219
220 * w16select.c (Fw16_get_clipboard_data): Fix last change.
221
222 * xselect.c (selection_data_to_lisp_data): Fix last change.
223
224 2002-02-22 Jason Rumney <jasonr@gnu.org>
225
226 * w32term.h (struct w32_output): New member menu_command_in_progress.
227
228 * w32menu.c (menubar_selection_callback): Free the menu and
229 clear the menu_command_in_progress flag.
230
231 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
232 (menu_free_timer): New variable.
233 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
234 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
235 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
236 menu command is in progress.
237 <WM_COMMAND>: Set the menu_command_in_progress flag.
238 Kill any menu_free_timer that is running.
239
240 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
241 Call ExtTextOutA rather than ExtTextOut.
242
243 2002-02-22 Eli Zaretskii <eliz@gnu.org>
244
245 * puresize.h (BASE_PURESIZE): Increase to 755000.
246
247 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
248
249 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
250 on the string before encoding it.
251 (Fw16_get_clipboard_data): Run post-read-conversion on the string
252 after decoding it.
253
254 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
255
256 Support for ICCCM Extended Segments in X selections:
257
258 * xselect.c <Qcompound_text_no_extensions>: New variable.
259 (syms_of_xselect): Intern and staticpro it.
260 (selection_data_to_lisp_data): Run post-read-conversion on decoded
261 selection text.
262 (lisp_data_to_selection_data): If next-selection-coding-system is
263 compound-text-no-extensions, set the type of selection to be
264 compound-text.
265
266 * xterm.h (x_encode_text): Update prototype.
267
268 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
269 callers changed. If SELECTIONP is non-zero, run the
270 pre-write-conversion function before encoding the selection text.
271
272 2002-02-21 Kim F. Storm <storm@cua.dk>
273
274 * frame.c (syms_of_frame): Change mouse-highlight default to t.
275
276 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
277 Correct composing of language-change event.
278
279 2002-02-20 Kim F. Storm <storm@cua.dk>
280
281 * keyboard.c (menu_bar_items): Don't include keymap or local-map
282 bindings at PT when building menu (the menu is not updated often
283 enough for this to work reliable).
284 (tool_bar_items): Likewise.
285 (current_active_maps): Removed unused (and buggy) function.
286
287 2002-02-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
288
289 * xfns.c (gif_load): Use correct width and height for GIF images.
290
291 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
292
293 * floatfns.c (Fatan): Accept an optional second arg and call
294 atan2 if passed 2 args.
295
296 2002-02-18 Jason Rumney <jasonr@gnu.org>
297
298 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
299
300 2002-02-17 Jason Rumney <jasonr@gnu.org>
301
302 * w32term.c (x_autoselect_window_p): New variable.
303 (syms_of_w32term): DEFVAR_BOOL and initialize it.
304 (note_mouse_movement): Use it.
305
306 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
307
308 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
309
310 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
311 New variables.
312 (syms_of_w32fns): Intern and staticpro them.
313 (x_frame_parms) <"fullscreen">: New parameter.
314 (x_fullscreen_move, x_set_fullscreen): New functions.
315 (x_set_frame_parameters): Support Qfullscreen.
316 (x_real_positions): Save x/y_pixels_diff frame params.
317 (x_figure_window_size): Support full-screen frames.
318 (Fx_create_frame): Default the fullscreen parameter.
319
320 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
321 (x_fullscreen_adjust): New functions.
322 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
323 fullscreen. Call x_check_fullscreen_move, and set the
324 want_fullscreen member of output_data.w32
325 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
326
327 * w32term.h: New enum for FULLSCREEN_* constants.
328 (struct w32_output): New members want_fullscreen, x_pixels_diff,
329 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
330 (x-fullscreen-adjust): New prototype.
331
332 2002-02-17 Kim F. Storm <storm@cua.dk>
333
334 * frame.c: (Vmouse_highlight): New variable.
335 (syms_of_frame): DEFVAR_LISP it.
336
337 * frame.h: (Vmouse_highlight): Declare extern.
338
339 * xterm.h (struct x_display_info): Add mouse_face_hidden.
340
341 * xterm.c (disable_mouse_highlight): Removed variable.
342 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
343 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
344 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
345 and on after keyboard input.
346 (x_term_init): Initialize mouse_face_hidden.
347
348 * msdos.h (struct display_info): Add mouse_face_hidden.
349
350 * msdos.c (disable_mouse_highlight): Removed variable.
351 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
352 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
353 (internal_terminal_init): Initialize mouse_face_hidden.
354 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
355 and on after keyboard input.
356
357 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
358
359 * w32term.c (disable_mouse_highlight): Removed variable.
360 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
361 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
362 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
363 and on after keyboard input.
364 (w32_initialize_display_info): Initialize mouse_face_hidden.
365
366 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
367
368 * msdos.c (last_mouse_window): New variable.
369 (dos_rawgetc): Fix last change--if the mouse is in the same window
370 as recorded in last_mouse_window, don't select this window.
371
372 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
373
374 * msdos.c (x_autoselect_window_p): New variable.
375 (syms_of_msdos): Defvar it.
376 (dos_rawgetc): If x_autoselect_window_p is set, select the window
377 in which the last mouse movement occured, unless it is already
378 selected.
379
380 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
381 New variables.
382 (syms_of_xdisp): DEVFAR them.
383 (hscroll_window_tree): Use automatic_hscroll_margin and
384 Vautomatic_hscroll_step to compute the amount of window scrolling.
385
386 2002-02-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
387
388 * xterm.c (x-autoselect-window): New variable.
389 (note_mouse_movement): Use it.
390
391 * keyboard.c: Do not include "systime.h" twice.
392
393 2002-02-15 Andreas Schwab <schwab@suse.de>
394
395 * puresize.h (BASE_PURESIZE): Increase to 9/5.
396
397 * alloc.c (NSTATICS): Increase to 1280.
398
399 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
400
401 * alloc.c (NSTATICS): Bump to 1026.
402
403 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
404 (Vx_super_keysym): New variables.
405 (syms_of_xterm): DEFVAR_LISP them.
406 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
407 variables to determine which keys to use for the various modifiers.
408
409 2002-02-13 Kim F. Storm <storm@cua.dk>
410
411 * window.c: (Vmode_line_in_non_selected_windows): Removed.
412 (mode_line_in_non_selected_windows): New variable.
413 (syms_of_window): DEFVAR_BOOL it.
414
415 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
416 Use mode_line_in_non_selected_windows.
417 (mode_line_in_non_selected_windows): Declare extern.
418 (Vmode_line_in_non_selected_windows): Removed extern.
419
420 2002-02-13 Richard M. Stallman <rms@gnu.org>
421
422 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
423 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
424 (Fclear_this_command_keys): Doc fixes.
425
426 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
427 (update_face_from_frame_parameter): Increment face_change_count
428 and windows_or_buffers_changed to force redisplay using changed faces.
429
430 * xdisp.c (QCpropertize): New variable.
431 (mode_line_proptrans_alist): New variable.
432 (display_mode_element): New arg PROPS; all calls changed.
433 Implement this, for strings.
434 Handle literal output of strings by sharing the
435 main-line code for strings, using local var `literal'.
436 Handle :propertize feature.
437 (syms_of_xdisp): Initialze and staticpro QCpropertize and
438 mode_line_proptrans_alist.
439
440 2002-02-11 Kim F. Storm <storm@cua.dk>
441
442 * window.c: (Vmode_line_in_non_selected_windows): New variable.
443 (syms_of_window): DEFVAR_LISP it.
444
445 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
446 (CURRENT_MODE_LINE_FACE_ID): Use it.
447 (Vmode_line_in_non_selected_windows): Declare extern.
448
449 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
450 to get mode line face.
451
452 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
453
454 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
455 variables; cus-start.el doesn't need them anymore.
456
457 2002-02-09 Kim F. Storm <storm@cua.dk>
458
459 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
460 reduction. This fixes a display problem where stray newlines were
461 inserted in the window (corrected by C-l). Clarified code (IMHO).
462
463 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
464
465 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
466
467 * xdisp.c (display_mode_lines): Fix last change.
468
469 2002-02-09 Jason Rumney <jasonr@gnu.org>
470
471 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
472 match each other.
473 (w32_load_system_font): Prevent Cleartype fonts from loading.
474 (Fx_show_tip): Ensure tip frames are above other topmost windows.
475
476 2002-02-09 Kim F. Storm <storm@cua.dk>
477
478 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
479 (CURRENT_MODE_LINE_HEIGHT): Use it.
480 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
481
482 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
483 (pos_visible_p, handle_face_prop): Likewise.
484 (display_mode_lines): Likewise, but for the real selected window.
485 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
486
487 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
488 in non-selected windows.
489 (realize_basic_faces): Realize it.
490 (syms_of_term): Intern and staticpro it.
491
492 2002-02-08 Kim F. Storm <storm@cua.dk>
493
494 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
495 Changed mail addresses to emacs-devel@gnu.org.
496
497 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
498
499 * fileio.c (Fsubstitute_in_file_name): If the file name includes
500 ~user, and there's no such user, don't discard everything before ~user.
501
502 * floatfns.c (Fround): Doc fix.
503
504 2002-02-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
505
506 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
507
508 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
509
510 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
511
512 2002-02-07 Kim F. Storm <storm@cua.dk>
513
514 * keymap.c (where_is_internal): Only check whether definition is
515 remapped if it fulfills is_command_symbol.
516
517 2002-02-07 Andreas Schwab <schwab@suse.de>
518
519 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
520
521 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
522
523 2002-02-06 Kim F. Storm <storm@cua.dk>
524
525 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
526 defining command remapping. Doc updated.
527 (Flookup_key): Remap command through keymap if KEY is a symbol.
528 (is_command_symbol): New function.
529 (Fkey_binding): Use it. New optional argument NO-REMAP.
530 Doc updated. Callers changed. Perform command remapping via
531 recursive call unless that arg is non-nil.
532 (where_is_internal): New argument no_remap. Callers changed.
533 Call recursively to find original key bindings for a remapped
534 comand unless that arg is non-nil.
535 (Fwhere_is_internal): New optional argument NO-REMAP.
536 Doc updated. Callers changed. Pass arg to where_is_internal.
537
538 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
539 (is_command_symbol): Added prototype.
540
541 * keyboard.c (Vthis_original_command): New variable.
542 (syms_of_keyboard): DEFVAR_LISP it.
543 (command_loop_1): Set it, and perform command remapping.
544
545 2002-02-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
546
547 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
548
549 2002-02-06 Jason Rumney <jasonr@gnu.org>
550
551 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
552
553 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
554
555 * charset.c (get_charset_id): Use if-else instead of ?:.
556
557 2002-02-06 Richard M. Stallman <rms@gnu.org>
558
559 * filelock.c (S_ISLNK): Define if not defined.
560
561 2002-02-03 Richard M. Stallman <rms@gnu.org>
562
563 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
564
565 * lread.c (read1): Redesign strategy for force_multibyte and
566 force_singlebyte. Now is_multibyte records whether read_buffer
567 is multibyte. Encountering any multibyte character makes it so.
568
569 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
570
571 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
572 with the same sequence, map that sequence to f10 rather than f0.
573
574 2002-02-03 Andreas Schwab <schwab@suse.de>
575
576 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
577 latter never being defined on GNU/Linux.
578
579 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
580
581 * xfaces.c (realize_default_face): Don't set the weight and slant
582 of the default face to Qnormal, unless these attributes are
583 unspecified.
584
585 2002-02-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
586
587 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
588 Call cancel_hourglass unconditionally.
589
590 * eval.c (Fsignal): Remove duplicated declaration of
591 the variable `display_hourglass_p'.
592
593 2002-01-31 Richard M. Stallman <rms@gnu.org>
594
595 * editfns.c (region_limit): Nicer error message.
596
597 * coding.c (decode_composition_emacs_mule):
598 Give up if NCOMPONENT gets too large to index `component'.
599
600 * callint.c (check_mark): New arg to specify clearer error message.
601 Callers changed.
602
603 2002-01-27 Richard M. Stallman <rms@gnu.org>
604
605 * minibuf.c (Fcompleting_read): Doc fix.
606
607 2002-01-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
608
609 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
610 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
611 Fix doc-strings.
612
613 2002-01-26 Richard M. Stallman <rms@gnu.org>
614
615 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
616
617 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
618 and scroll_up_aggressively.
619
620 2002-01-26 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
621
622 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
623
624 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
625
626 * textprop.c (Fnext_property_change, Fnext_single_property_change)
627 (Fprevious_property_change, Fprevious_single_property_change):
628 Stay within the narrowed-buffer boundaries.
629
630 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
631
632 * term.c (Ftty_display_color_cells): New function.
633 (syms_of_term): Defsubr it.
634 (Ftty_display_color_cells, Ftty_display_color_p): Change the
635 argument name to DISPLAY. Doc fix.
636
637 * dispextern.h: Add prototype for set_tty_color_mode and
638 tty_setup_colors.
639
640 2002-01-24 Jason Rumney <jasonr@gnu.org>
641
642 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
643 If region left to draw is not what was expected, mark the frame as
644 garbaged.
645
646 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
647 Combine the regions returned by BeginPaint and GetUpdateRect.
648
649 2002-01-23 Jason Rumney <jasonr@gnu.org>
650
651 * w32term.c (x_update_window_begin): Only hide caret if
652 w32_use_visible_system_caret is set.
653 (x_update_window_end): Only show caret if
654 w32_use_visible_system_caret is set.
655 (syms_of_w32term): Handle SystemParametersInfo call failing.
656
657 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
658
659 2002-01-22 Richard M. Stallman <rms@gnu.org>
660
661 * unexelf.c (unexec): Define n so as to cause compilation error
662 for the code where people have often written n instead of nn.
663
664 * .gdbinit (hookpost-run): Defined.
665
666 2002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
667
668 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
669
670 2002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
671
672 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
673 if fullscreen is being set.
674
675 2002-01-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
676
677 * minibuf.c (Fminibuffer_contents)
678 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
679 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
680
681 2002-01-21 Richard M. Stallman <rms@gnu.org>
682
683 * window.c (check_frame_size): Fix minimum height calculation.
684
685 2002-01-20 Ken Raeburn <raeburn@gnu.org>
686
687 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
688 height before comparison.
689 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
690
691 2002-01-20 Jason Rumney <jasonr@gnu.org>
692
693 * w32term.c (w32_system_caret_width): Remove.
694 (w32_use_visible_system_caret): New user flag.
695 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
696 Windows reports a screen reader running.
697 (x_update_window_begin): Hide the system caret.
698 (x_update_window_end): Show the system caret.
699 (x_display_and_set_cursor): Don't draw a cursor when
700 w32_use_visible_system_caret is set. Do not adjust width.
701
702 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
703 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
704 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
705 the user requests it. Use system default width when creating.
706 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
707
708 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
709 New window messages.
710
711 2002-01-20 Richard M. Stallman <rms@gnu.org>
712
713 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
714
715 2002-01-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
716
717 * doprnt.c (doprnt1): Fix typos in error call.
718
719 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
720
721 * unexelf.c (unexec) [__sgi]: Support the .got sections.
722
723 2002-01-20 Jason Rumney <jasonr@gnu.org>
724
725 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
726 that Windows returns. If a double check fails, try to guess how
727 ExtTextOut is going to act.
728
729 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
730 in place of stricmp.
731 (w32_list_synthesized_fonts): Removed.
732 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
733 (struct enumfont_t): New element; list.
734 (enum_font_cb2): List all style and charset variations of a font.
735 (Fw32_select_font): New optional argument; include_proportional.
736 Exclude vertical fonts. Exclude proportional fonts unless
737 include_proportional is non-nil.
738 (w32_enable_synthesized_fonts): Change to a boolean.
739 (Fw32_send_sys_command): Doc fix.
740
741 2002-01-19 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
742
743 * dispnew.c (update_frame): Move the variable `tem' to the block
744 where it is used.
745
746 2002-01-19 Jason Rumney <jasonr@gnu.org>
747
748 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
749 call to face-set-after-frame-default.
750
751 2002-01-18 Richard M. Stallman <rms@gnu.org>
752
753 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
754 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
755
756 2002-01-17 Richard M. Stallman <rms@gnu.org>
757
758 * window.c (enlarge_window): When exceeding size of parent,
759 directly delete all the siblings instead of trying to resize it.
760
761 2002-01-17 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
762
763 * term.c (set_tty_color_mode): Remove unused variable `tem'.
764
765 2002-01-16 Henrik Enberg <henrik@enberg.org>
766
767 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
768
769 2002-01-16 Kim F. Storm <storm@cua.dk>
770
771 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
772 is invisible. This can happen if cursor is on top line of a
773 window, and we switch to a buffer with a header line.
774
775 * w32term.c (x_erase_phys_cursor): Ditto.
776
777 2002-01-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
778
779 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
780 `dont_resize' only when used.
781
782 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
783
784 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
785
786 * xdisp.c (display_mode_element): When computing charpos, depend
787 on multibyteness of elt, not the text in field.
788
789 2002-01-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
790
791 * buffer.c (Fkill_all_local_variables):
792 Increment `update_mode_lines' only once.
793
794 2002-01-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
795
796 * lisp.h (adjust_after_replace_noundo)
797 (Fupdate_coding_systems_internal): Add prototypes.
798
799 * sound.c (Fplay_sound): Initialize header_size also for :data case.
800
801 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
802
803 Support for the --color command-line argument and tty-color-mode
804 frame parameter:
805
806 * term.c (tty_default_color_capabilities, tty_setup_colors)
807 (set_tty_color_mode): New functions.
808 (term_init): Call tty_default_color_capabilities.
809 (Qtty_color_mode_alist): New variable.
810 (syms_of_term): Intern and staticpro it.
811
812 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
813 frames.
814 (do_switch_frame): For termcap frames, switch the tty
815 color mode as specified by the frame's parameters.
816 (Qtty_color_mode): New variable.
817 (syms_of_frame): Intern and staticpro it.
818
819 * emacs.c (USAGE2): Add the --color option.
820 (standard_args): Ditto.
821
822 2002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
823
824 * xterm.h (struct x_output): New members want_fullscreen,
825 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
826 y_pixels_outer_diff.
827 New enum for FULLSCREEN_* constants.
828 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
829 is NULL.
830 (x_fullscreen_adjust): Add prototype.
831
832 * emacs.c (USAGE2): Add the new full-screen arguments.
833 (standard_args): Ditto.
834
835 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
836 New variables.
837 (syms_of_xfns): Intern and staticpro them.
838 (x_frame_parms) <"fullscreen">: New parameter.
839 (x_fullscreen_move, x_set_fullscreen): New functions.
840 (x_set_frame_parameters): Support for Qfullscreen.
841 (x_real_positions): More accurate computation of the frame position.
842 (x_figure_window_size): Support full-screen frames.
843 (Fx_create_frame): Default the fullscreen parameter.
844
845 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
846 (XTread_socket) <Expose>: Call x_check_fullscreen.
847 <ConfigureNotify>: Don't resize to fullscreen.
848 Call x_check_fullscreen_move, and set the want_fullscreen member of
849 output_data.x.
850
851 2002-01-13 Jason Rumney <jasonr@gnu.org>
852
853 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
854 for mice with more than 3 buttons.
855
856 * w32term.c (parse_button): New parameter xbutton. Callers changed.
857 (w32_read_socket): Handle new "XBUTTON" messages.
858
859 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
860 (syms_of_w32fns): DEFVAR_BOOL it.
861 (w32_wnd_proc): Handle new "XBUTTON" messages.
862
863 2002-01-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
864
865 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
866
867 2002-01-13 Andreas Schwab <schwab@suse.de>
868
869 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
870
871 2002-01-12 Andreas Schwab <schwab@suse.de>
872
873 * .gdbinit (xbuffer): Remove address operator since data is now a
874 pointer.
875
876 2002-01-11 Richard M. Stallman <rms@gnu.org>
877
878 * insdel.c (adjust_after_replace_noundo): New function.
879
880 * coding.c (code_convert_region): Don't copy old text if undo disabled.
881
882 2002-01-09 Jason Rumney <jasonr@gnu.org>
883
884 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
885 when checking for multiple frames.
886
887 2002-01-08 Richard M. Stallman <rms@gnu.org>
888
889 * window.c (delete_window): Rewrite the code for changing the
890 selected window to handle the case where WINDOW is not a leaf.
891
892 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
893
894 * process.c (send_process): Set src_multibyte to 1 after the call
895 top setup_coding_system, not before the call.
896
897 2002-01-07 Jason Rumney <jasonr@gnu.org>
898
899 * xmenu.c (set_frame_menubar, xmenu_show):
900 (xdialog_show): Initialize wv->help to Qnil.
901
902 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
903 (w32_dialog_show): Initialize wv->help to Qnil.
904
905 2002-01-06 Jason Rumney <jasonr@gnu.org>
906
907 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
908
909 * w32menu.c (w32_menu_display_help): Revert last change.
910
911 * xmenu.c (menu_highlight_callback): Revert last change.
912
913 2002-01-06 Andreas Schwab <schwab@suse.de>
914
915 * insdel.c (make_gap_larger): Make sure buffer size does not
916 overflow range of int.
917
918 2002-01-05 Jason Rumney <jasonr@gnu.org>
919
920 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
921 OVERLAPS_P.
922
923 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
924
925 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
926 to the left or to the right of the pointer, put it against
927 the left screen edge.
928 (x_frame_parms): Add missing braces around initializer.
929
930 * w32term.c (x_setup_relief_colors): Don't compute an image's
931 background color if it doesn't have a Pixmap.
932 (notice_overwritten_cursor): Don't depend on
933 output_cursor and updated_area. Compare pixel coordinates with
934 window's cursor pixel coordinates.
935 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
936 Call notice_overwritten_cursor with new arg list.
937 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
938 unconditionally.
939 (x_draw_image_relief): Use predefined macro instead of
940 constant when the value of `tool_bar_button_relief' is negative.
941
942 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
943
944 2002-01-04 Richard M. Stallman <rms@gnu.org>
945
946 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
947
948 2002-01-03 Richard M. Stallman <rms@gnu.org>
949
950 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
951 (Fkey_binding): Try the `keymap' property map first.
952 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
953 minor mode bindings.
954
955 2002-01-03 Kim F. Storm <storm@cua.dk>
956
957 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
958
959 2002-01-02 Richard M. Stallman <rms@gnu.org>
960
961 * keyboard.c (read_key_sequence): Handle the keymap property
962 before minor mode maps.
963
964 * editfns.c (Fformat): Update thissize from field_width
965 based on the actual width, in the string case.
966
967 2002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
968
969 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
970 when used as truth value to prevent gcc warnings.
971
972 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
973 * w32proc.c: Include <config.h>.
974
975 2002-01-01 Andreas Schwab <schwab@suse.de>
976
977 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
978 not EMACS_INT, to make them compatible with DEFVAR_INT.
979 * lisp.h (max_specpdl_size): Adjust declaration.
980
981 2002-01-01 Richard M. Stallman <rms@gnu.org>
982
983 * print.c (print_object): Test print_escape_nonascii only for
984 unibyte strings.
985 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
986 when outputting to a multibyte buffer.
987
988 2001-12-29 Richard M. Stallman <rms@gnu.org>
989
990 * print.c (print_object): In multibyte string, use hex escapes.
991 Use octal only for unibyte strings.
992 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
993
994 * lread.c (read_escape): New arg BYTEREP for reporting whether
995 escape forces unibyte or multibyte.
996 (read1): When reading a string, take note of that info.
997
998 2001-12-29 Ken Raeburn <raeburn@gnu.org>
999
1000 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
1001 comparison to test lisp value returned by Fget.
1002
1003 2001-12-29 Richard M. Stallman <rms@gnu.org>
1004
1005 * lisp.h (max_specpdl_size): Add declaration.
1006
1007 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
1008
1009 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
1010 Handle modifier bits. Correct typo in error message.
1011
1012 2001-12-28 Richard M. Stallman <rms@gnu.org>
1013
1014 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
1015 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
1016 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1017 Update calls to Fdefine_abbrev.
1018 (write_abbrev): Update for changed data format.
1019 Don't list "system" abbrevs.
1020 (Fexpand_abbrev): Update use count with new data format.
1021 (describe_abbrev): Update for changed data format.
1022 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
1023
1024 * config.in (HAVE_MBSINIT): Add #undef.
1025
1026 * strftime.c (mbsinit): Define as no-op if not available.
1027
1028 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
1029 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
1030
1031 * keymap.c (Flookup_key): Error message if key has wrong data type.
1032 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
1033 (exclude_key): New variable.
1034
1035 2001-12-28 Gerd Moellmann <gerd@gnu.org>
1036
1037 * xterm.c (x_setup_relief_colors): Don't compute an image's
1038 background color if it doesn't have a Pixmap.
1039
1040 * xterm.c (notice_overwritten_cursor): Don't depend on
1041 output_cursor and updated_area. Compare pixel coordinates with
1042 window's cursor pixel coordinates.
1043 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1044 Call notice_overwritten_cursor with new arg list.
1045 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1046 unconditionally.
1047
1048 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
1049 height of the cursor line to the amount to scroll.
1050
1051 2001-12-27 Richard M. Stallman <rms@gnu.org>
1052
1053 * intervals.c (set_point_both): The position after an invisible,
1054 intangible character is not an acceptable stopping point.
1055
1056 2001-12-27 Ken Raeburn <raeburn@gnu.org>
1057
1058 * window.c (enlarge_window): In new preserve_before code, convert
1059 CURBEG from lisp object to integer before doing arithmetic.
1060
1061 2001-12-27 Richard M. Stallman <rms@gnu.org>
1062
1063 * bytecode.c (Fbyte_code): Undo previous change.
1064
1065 2001-12-26 Kim F. Storm <storm@cua.dk>
1066
1067 * keyboard.c (record_char): Ignore duplicate help-echo events only
1068 separated by mouse-movement. When tracking mouse, only record
1069 first and last mouse-movement event in same window.
1070 Don't record mouse-movement events in keyboard macros.
1071
1072 2001-12-25 Richard M. Stallman <rms@gnu.org>
1073
1074 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
1075 (Fenlarge_window): New arg PRESERVE_BEFORE.
1076
1077 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
1078 instead of Fstring_as_unibyte.
1079
1080 2001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1081
1082 The following changes remove mocklisp support:
1083
1084 * mocklisp.h, mocklisp.c: Files removed.
1085
1086 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
1087 `Qmocklisp' and `Qmocklisp_arguments'.
1088 Remove prototype of syms_of_mocklisp.
1089
1090 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
1091
1092 * callint.c: Do not include mocklisp.h.
1093 (Fcall_interactively): Do not test for mocklisp case.
1094
1095 * eval.c: Remove variables `Qmocklisp_arguments',
1096 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
1097 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
1098 Do not test for mocklisp case.
1099 (Fwhile): Remove unused variable `tem'.
1100 (syms_of_eval): Remove variable `moclisp-arguments'.
1101
1102 * data.c (wrong_type_argument): Remove mocklisp case.
1103
1104 * doc.c (Fdocumentation): Remove mocklisp case.
1105
1106 * emacs.c (main): Do not call syms_of_mocklisp.
1107
1108 2001-12-21 Richard M. Stallman <rms@gnu.org>
1109
1110 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
1111 to the left or to the right of the pointer, put it against
1112 the left screen edge.
1113
1114 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
1115
1116 * Makefile.in (distclean): Remove .gdbinit if we are building
1117 outside the source tree.
1118
1119 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1120
1121 * w32.c (emacs_root_dir): New function.
1122
1123 * msdos.c (emacs_root_dir): New function.
1124
1125 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
1126 of the current drive as the fallback for default_directory.
1127
1128 * dired.c (file_name_completion): Run the elements of
1129 completion-ignored-extensions through ENCODE_FILE.
1130
1131 * lisp.h (scmp): Remove prototype, since it's now a static
1132 function private to dired.c.
1133
1134 2001-12-18 Richard M. Stallman <rms@gnu.org>
1135
1136 * dired.c (scmp): Function moved from minibuf.c.
1137 Delete multibyte handling--used only on encoded strings.
1138
1139 * minibuf.c (scmp): Function moved to dired.c.
1140
1141 * fns.c (merge): Add QUIT call.
1142
1143 2001-12-18 Dave Love <fx@gnu.org>
1144
1145 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
1146 language/georgian.el.
1147
1148 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1149
1150 * Makefile.in (lisp, shortlisp): Synchronize with changes to
1151 lisp/Makefile.in:DONTCOMPILE.
1152
1153 2001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1154
1155 * xdisp.c (window_box_height): Do not return negative values.
1156 From Gerd Moellmann <gerd@gnu.org>.
1157
1158 * keyboard.c (head_table): Add missing braces around initializer.
1159
1160 * term.c (keys): Likewise.
1161
1162 * xfns.c (x_frame_parms, visual_classes): Likewise.
1163
1164 2001-12-17 Sam Steingold <sds@gnu.org>
1165
1166 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
1167 patch (COMPOSING_P, not COMPOSING).
1168
1169 2001-12-17 Richard M. Stallman <rms@gnu.org>
1170
1171 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
1172
1173 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
1174 before calling decode_coding.
1175
1176 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
1177
1178 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
1179 instead of only for COMPOSITION_DISABLED.
1180
1181 2001-12-16 Richard M. Stallman <rms@gnu.org>
1182
1183 * alloc.c (pure_alloc): After overflow, allocate just a small block.
1184
1185 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
1186
1187 * buffer.h (struct buffer): New field `display_error_modiff'.
1188 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
1189
1190 * window.c (Frecenter): Clear display_error_modiff field.
1191
1192 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
1193 Call redisplay_window, but not if display_error_modiff field says no.
1194 (redisplay_window_error): New function.
1195 (displayed_buffer): New variable.
1196 (redisplay_internal, redisplay_windows): Call the new functions
1197 instead of redisplay_window directly.
1198
1199 2001-12-15 Richard M. Stallman <rms@gnu.org>
1200
1201 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1202
1203 2001-12-14 Andrew Innes <andrewi@gnu.org>
1204
1205 * makefile.w32-in (EMACSLOADPATH): Define.
1206 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
1207 (bootstrap-temacs): Remove dependency on bootstrap-clean.
1208
1209 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
1210
1211 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
1212 parameter have a numeric value all the time.
1213
1214 * w32fns.c (x_report_frame_params): Likewise.
1215
1216 2001-12-12 Richard M. Stallman <rms@gnu.org>
1217
1218 * fileio.c (Fwrite_region): Doc fix.
1219
1220 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
1221 (redisplay_internal): Call clear_image_cache only for window terminals.
1222
1223 2001-12-12 Gerd Moellmann <gerd@gnu.org>
1224
1225 * xdisp.c (move_it_vertically_backward): Change heuristic
1226 for the case that we didn't move far enough initially.
1227
1228 * window.c (Frecenter): Simplify computation in the case of window
1229 system frames and ARG < 0; use window_box_height.
1230
1231 2001-12-11 Richard M. Stallman <rms@gnu.org>
1232
1233 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
1234 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
1235
1236 2001-12-11 Andrew Innes <andrewi@gnu.org>
1237
1238 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
1239 arg is negative.
1240
1241 2001-12-11 Richard M. Stallman <rms@gnu.org>
1242
1243 * m/hp800.h: Split the __hpux conditional into the parts
1244 that are right for GNU/Linux too and the parts that are not.
1245 Use the former if GNU_LINUX.
1246 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
1247
1248 * s/gnu-linux.h (GNU_LINUX): Defined.
1249
1250 2001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1251
1252 * macros.c, msdos.c, w16select.c: Change doc-string comments to
1253 `new style' [w/`doc:' keyword].
1254
1255 2001-12-10 Jason Rumney <jasonr@gnu.org>
1256
1257 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
1258 before using.
1259
1260 2001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1261
1262 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
1263 keyword].
1264
1265 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
1266
1267 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
1268
1269 * s/hpux10.h (srand48): Don't undefine.
1270
1271 2001-12-09 Jason Rumney <jasonr@gnu.org>
1272
1273 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
1274 Add comment to explain where the struct came from.
1275 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
1276 (add_menu_item): Process pop-up menus first to avoid memory leak.
1277 (add_menu_item, w32_menu_display_help): Use `help' field as
1278 Lisp_Object.
1279 (w32_free_submenu_strings): Only free owner-drawn strings.
1280
1281 2001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1282
1283 * COPYING: Moved back.
1284
1285 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
1286 Add parentheses around && within ||.
1287
1288 * indent.c (compute_motion): Likewise.
1289
1290 * intervals.c (merge_properties_sticky): Likewise.
1291
1292 * coding.c (setup_coding_system, shrink_encoding_region)
1293 (Fdecode_sjis_char): Likewise.
1294
1295 2001-12-07 Andreas Schwab <schwab@suse.de>
1296
1297 * xdisp.c (display_mode_element): Don't read past end of string if
1298 it ends with '%'.
1299
1300 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
1301 can hold.
1302
1303 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
1304 from most_positive_fixnum and most_negative_fixnum, resp., and
1305 type changed to Lisp_Object.
1306 (syms_of_data): DEFVAR_LISP them.
1307
1308 2001-12-07 Richard M. Stallman <rms@gnu.org>
1309
1310 * callproc.c (init_callproc): Set Vdata_directory based on the source
1311 location whenever Emacs was run uninstalled.
1312
1313 2001-12-06 Paul Eggert <eggert@twinsun.com>
1314
1315 * config.in (HAVE_WORKING_VFORK): New #undefs.
1316 * process.c (create_process):
1317 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
1318 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
1319 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
1320 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
1321 * m/intel386.h (HAVE_VFORK): Likewise.
1322 * m/mips-siemens.h (HAVE_VFORK): Likewise.
1323 * m/mips.h (HAVE_VFORK): Likewise.
1324 * s/freebsd.h (vfork): Remove #define.
1325 * s/lynxos.h (HAVE_VFORK): Remove #undef.
1326 * s/usg5-4-2.h: Fix comment about vfork.
1327
1328 2001-12-06 Richard M. Stallman <rms@gnu.org>
1329
1330 * s/hpux10.h (random): Add undef.
1331 (HAVE_RANDOM): Define it just once.
1332
1333 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
1334
1335 * eval.c: Undo last change: the standard syntax is not wanted.
1336
1337 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
1338
1339 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
1340 scroll bars of the frame before deleting the frame itself. If the
1341 frame has a widget, delete the frame with XtDestroyWidget, and do
1342 not call XDestroyWindow before that.
1343
1344 2001-12-06 Kim F. Storm <storm@cua.dk>
1345
1346 * xfns.c (x_report_frame_params): Return actual fringe widths.
1347
1348 * w32fns.c (x_report_frame_params): Return actual fringe widths.
1349
1350 2001-12-05 Andrew Innes <andrewi@gnu.org>
1351
1352 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
1353 excessively large.
1354
1355 * insdel.c (make_gap_larger): New function.
1356 (make_gap_smaller): New function.
1357 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
1358 make_gap_smaller if arg is negative.
1359
1360 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
1361
1362 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
1363 Pass a dummy argument when calling interrupt_signal.
1364 (parse_menu_item): Mark disabled items before checking for empty def.
1365 (read_char_minibuf_menu_prompt): Make safety more visible.
1366 (read_key_sequence): Add a `first_unbound' variable.
1367 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
1368 unbound prefix as soon as we can detect it.
1369
1370 * doc.c (Fsnarf_documentation): Add prototype.
1371 (get_doc_string): Handle negative arguments.
1372 (Fdocumentation): Use AREF and ASIZE.
1373 Move the calls to get_doc_string to a single place.
1374 Don't confuse an interactive-spec for a docstring reference.
1375 (Fdocumentation_property): Take advantage of the fact that
1376 get_doc_string now ignores the sign of the docstring position.
1377
1378 * eval.c: Use standard syntax for usage in docstrings.
1379
1380 2001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1381
1382 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
1383
1384 2001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1385
1386 * xterm.c (x_draw_image_relief): Use predefined macro instead of
1387 constant when the value of `tool_bar_button_relief' is negative.
1388
1389 2001-12-02 Richard M. Stallman <rms@gnu.org>
1390
1391 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
1392 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
1393
1394 * fileio.c (read_non_regular): Delete Fsignal call.
1395
1396 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
1397
1398 * lisp.h (run_hook_list_with_args): Undo last change.
1399
1400 2001-12-01 Gerd Moellmann <gerd@gnu.org>
1401
1402 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
1403
1404 2001-12-01 Jason Rumney <jasonr@gnu.org>
1405
1406 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1407
1408 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1409 [!WM_MOUSELEAVE]: Define.
1410
1411 * w32menu.c (current_popup_menu, get_menu_item_info):
1412 (set_menu_item_info): New vars.
1413 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1414 (w32_menu_show): Set current_popup_menu.
1415 (add_menu_item): Allocate new strings for owner-drawn menu items
1416 and help strings.
1417 Use owner-draw for disabled menu items again.
1418 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1419 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1420
1421 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1422 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1423 <WM_EXITMENULOOP>: Free menu strings.
1424 <WM_MOUSELEAVE>: Stop tracking mouse.
1425 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1426
1427 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1428 and mouse face.
1429
1430 2001-12-01 Kim F. Storm <storm@cua.dk>
1431
1432 The following changes add left-fringe and right-fringe
1433 frame parameters to adjust fringe widths, or remove one or
1434 both fringes.
1435
1436 * frame.h (struct frame): Remove trunc_area_pixel_width and
1437 trunc_area_cols fields.
1438 (Qleft_fringe, Qright_fringe): Declare.
1439 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1440
1441 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1442 (syms_of_frame): Initialize them.
1443
1444 * window.c (coordinates_in_window): Handle separate left and right
1445 fringe widths.
1446
1447 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1448 and fringe_cols fields.
1449 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1450 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1451 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1452 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1453 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1454 (x_compute_fringe_widths): Add prototype.
1455
1456 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1457 fill fringe evenly with small dashes.
1458 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1459 clip the new ZV bitmap to avoid jitter between rows.
1460 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1461 background. Don't draw fringe bitmaps if fringe width is zero.
1462 (x_compute_fringe_widths): New function.
1463 (x_new_font, x_set_window_size_1): Use it.
1464
1465 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
1466 (x_set_frame_parameters): Process `font' parameter before other
1467 parameters as fringe widths depend on it.
1468 (x_set_fringe_width): New function.
1469 (x_figure_window_size): Use x_compute_fringe_widths.
1470 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1471 parameters.
1472
1473 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1474 (EmacsFrameSetCharSize): Ditto.
1475
1476 * w32term.h: Merged changes from xterm.h.
1477 * w32term.c: Merged changes from xterm.c.
1478 * w32fns.c: Merged changes from xfns.c.
1479
1480 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
1482 * COPYING: Removed.
1483
1484 2001-11-29 Dave Love <fx@gnu.org>
1485
1486 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1487 extra extra slot.
1488 (detect_coding_mask): Fix call of detect_coding_iso2022.
1489
1490 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1491
1492 * fileio.c (file-name-coding-system)
1493 (default-file-name-coding-system): Doc fix (links to referenced
1494 variables added).
1495
1496 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1497
1498 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1499 Add dummy uses of gcproN variables.
1500
1501 * category.c (describe_category, describe_category_1)
1502 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
1503 (syms_of_category): Don't defsubr Sdescribe_categories.
1504
1505 2001-11-28 Richard M. Stallman <rms@gnu.org>
1506
1507 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1508
1509 * Makefile.in (lispdir): New variable, referring to build dir.
1510 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1511
1512 2001-11-28 Andrew Innes <andrewi@gnu.org>
1513
1514 * w32menu.c (w32_menu_display_help): Actually add the new argument
1515 OWNER.
1516
1517 2001-11-28 Jason Rumney <jasonr@gnu.org>
1518
1519 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1520 menu items. From David Ponce <dponce@wanadoo.fr>.
1521 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1522 conditionally.
1523 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1524 help event in the owner frame's keyboard buffer.
1525
1526 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1527 (Fx_show_tip): Don't subtract last width from row width.
1528
1529 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1530 (w32_read_socket): Use EQ to compare frames.
1531
1532 2001-11-28 Gerd Moellmann <gerd@gnu.org>
1533
1534 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1535 OVERLAPS_P.
1536
1537 2001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1538
1539 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1540 `gcpro3' and `gcpro4'.
1541
1542 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1543
1544 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1545
1546 * ccl.c: Use AREF and ASIZE.
1547
1548 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1549
1550 * lisp.h (run_hook_list_with_args): Remove.
1551 (LIST_END_P): Fix call to wrong_type_argument.
1552 (make_fixnum_or_float): Use EMACS_INT rather than int.
1553
1554 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1555
1556 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1557 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1558
1559 * eval.c: Use AREF and ASIZE.
1560 (Ffetch_bytecode): Add the file name to the error message.
1561
1562 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
1563 which match the end of the file-name.
1564 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
1565 is not a valid env var, but leave it as is instead.
1566
1567 * keymap.c (access_keymap): Handle t bindings like nil bindings.
1568 Make nil bindings in char-tables transparent.
1569 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
1570
1571 2001-11-26 Richard M. Stallman <rms@gnu.org>
1572
1573 * textprop.c (set_text_properties_1): Allow START, END in either order.
1574 Do nothing if range is empty.
1575
1576 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
1577
1578 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
1579 (clean): Not here.
1580
1581 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1582
1583 * textprop.c (set_text_properties_1): Clearly mark that the
1584 interval should not be empty.
1585
1586 * intervals.c (graft_intervals_into_buffer):
1587 Don't call set_text_properties_1 on an empty interval.
1588
1589 2001-11-25 Richard M. Stallman <rms@gnu.org>
1590
1591 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
1592
1593 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
1594 don't lose the data in it.
1595
1596 2001-11-25 Juanma Barranquero <lektu@terra.es>
1597
1598 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
1599
1600 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
1601
1602 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
1603
1604 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1605
1606 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
1607
1608 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
1609
1610 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
1611 Niemitalo <kon@iki.fi>.
1612
1613 2001-11-25 Jason Rumney <jasonr@gnu.org>
1614
1615 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
1616
1617 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
1618 (Fx_show_tip): Block input during frame creation.
1619 (Fx_show_tip, Fx_hide_tip): Enable.
1620
1621 2001-11-24 Richard M. Stallman <rms@gnu.org>
1622
1623 * lread.c (Fload): Detect recursive load error for more than 3
1624 nestings of the same file.
1625 (Vrecursive_load_depth_limit): Variable deleted.
1626 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
1627
1628 2001-11-24 Jason Rumney <jasonr@gnu.org>
1629
1630 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
1631 mouse position if either left or top is not specified.
1632
1633 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
1634 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
1635 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
1636 (my_create_tip_window): Assign tip_window.
1637 (x_create_tip_frame): Use same defaults as X.
1638 (compute_tip_xy): Remove unused variable. Use full screen width.
1639 (Fx_show_tip): Do not double height. Call ShowWindow directly.
1640
1641 * w32term.c (x_after_update_window_line): Doc fix.
1642 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
1643 frames.
1644 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
1645
1646 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
1647 for all Windowed systems.
1648
1649 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1650
1651 * msdos.c (IT_clear_screen): If the frame's faces are not yet
1652 realized, use the initial screen colors to clear the screen.
1653
1654 2001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1655
1656 * textprop.c (Fset_text_properties): Remove unused variables
1657 `unchanged', `prev_changed', `s' and `len'.
1658
1659 * search.c (Freplace_match): Remove unused variable `inslen'.
1660
1661 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
1662
1663 2001-11-22 Jason Rumney <jasonr@gnu.org>
1664
1665 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
1666 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
1667 (my_create_tip_window): New function.
1668 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
1669 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
1670
1671 2001-11-20 Jason Rumney <jasonr@gnu.org>
1672
1673 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
1674 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
1675
1676 * w32fns.c (Vw32_system_coding_system): Remove.
1677 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
1678
1679 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
1680
1681 * fileio.c (Fwrite_region): Move choose_write_coding_system to
1682 after build_annotations.
1683
1684 * syntax.c (describe_syntax): Add dummy arg.
1685 (describe_syntax_1): Update call to describe_vector.
1686
1687 * category.c (describe_category): Add dummy arg.
1688 (describe_category_1): Update call to describe_vector.
1689
1690 * keymap.c (Fdescribe_vector): Add `describer' parameter.
1691 (describe_command, describe_translation): Add dummy second param.
1692 (describe_map): Call elt_describer with two arguments.
1693 (describe_vector_princ): Add `fun' parameter.
1694 Call it instead of the hardcoded `princ'.
1695 (describe_vector): Add arg `args'.
1696 Pass it as a new second argument to elt_describer.
1697
1698 * keymap.h (describe_vector): Update prototype.
1699
1700 * frame.c: Don't include keymap.h any more.
1701 (keys_of_frame): Remove.
1702
1703 * lisp.h (keys_of_frame): Remove declaration.
1704
1705 * emacs.c (main): Don't call `keys_of_frame' any more.
1706
1707 2001-11-14 Andreas Schwab <schwab@suse.de>
1708
1709 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
1710 if defined, 0 otherwise.
1711 (MAP_FAILED): Define if not defined and use it to test mmap failure.
1712 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
1713
1714 2001-11-19 Richard M. Stallman <rms@gnu.org>
1715
1716 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
1717
1718 2001-11-18 Jason Rumney <jasonr@gnu.org>
1719
1720 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
1721 (x_draw_bar_cursor): If the background color of the glyph under
1722 the cursor equals the frame's cursor color, use the glyph's
1723 foreground color for drawing the bar cursor.
1724 (x_after_update_window_line): Clear internal border in different
1725 circumstances.
1726 (w32_set_vertical_scroll_bar): Check for width and height > 0.
1727 (w32_draw_relief_rect): Correct relief by 1 pixel.
1728 (x_set_glyph_string_background_width):
1729 Set extends_to_end_of_line_p if the row's fill_line_p is set and
1730 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
1731 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
1732 if cursor_in_non_selected_windows is false.
1733 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
1734 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
1735 Notice if cursor gets overwritten.
1736 (notice_overwritten_cursor): Renamed from
1737 note_overwritten_text_cursor. Rewritten to take glyph widths
1738 into account, and to take X positions as parameters.
1739 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1740 around call to x_draw_glyphs.
1741 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1742 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1743 color to use for image glyph reliefs.
1744 (x_draw_image_relief): Accept zero tool_bar_button_relief.
1745 (glyph_rect): Remove unused variable `area'.
1746
1747 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
1748 some items.
1749 (x_set_internal_border_width): Set frame garbaged when window
1750 doesn't exist yet.
1751 (Fx_create_frame): Accept zero tool_bar_button_relief.
1752 (x_clear_image_1, four_corners_best, image_background)
1753 (image_background_transparent): New functions.
1754 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1755 (gs_format): Add `:background' entry.
1756 (lookup_image): Set IMG's background color if specified.
1757 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1758 when appropriate.
1759 (x_clear_image_1): Reset `background_valid' and
1760 `background_transparent_valid' fields.
1761 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1762 calculating it here. Set IMG's background_transparent field.
1763 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1764 (enum png_keyword_index): Add PNG_BACKGROUND.
1765 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1766 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1767 (enum gif_keyword_index): Add GIF_BACKGROUND.
1768 (enum gs_keyword_index): Add GS_BACKGROUND.
1769 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1770 Pre-calculate image background color where necessary.
1771 (x_create_x_image_and_pixmap, xbm_load, gs_load):
1772 Use display info's n_cbits entry for screen depth.
1773 (Fx_show_tip): Remove unused variables `buffer', `top',
1774 `left', `max_width' and `max_height'.
1775
1776 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
1777
1778 2001-11-18 Gerd Moellmann <gerd@gnu.org>
1779
1780 * puresize.h (BASE_PURESIZE): Increase to 750000.
1781
1782 2001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1783
1784 * frame.c (Fframe_live_p): Doc fix.
1785
1786 2001-11-18 Richard M. Stallman <rms@gnu.org>
1787
1788 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
1789 (message_dolog_marker3): New static variables hold three markers.
1790 (syms_of_xdisp): Initialize and staticpro them.
1791 (message_dolog): Use message_dolog_marker1..3 instead of
1792 allocating markers each time. Unchain them when done.
1793
1794 2001-11-17 Richard M. Stallman <rms@gnu.org>
1795
1796 * doc.c (Fsnarf_documentation): Doc fix.
1797
1798 2001-11-17 Andreas Schwab <schwab@suse.de>
1799
1800 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
1801
1802 2001-11-17 Richard M. Stallman <rms@gnu.org>
1803
1804 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
1805
1806 2001-11-17 Jason Rumney <jasonr@gnu.org>
1807
1808 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
1809
1810 2001-11-17 Gerd Moellmann <gerd@gnu.org>
1811
1812 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
1813 with invalid position.
1814
1815 2001-11-16 Richard M. Stallman <rms@gnu.org>
1816
1817 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
1818
1819 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
1820 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
1821 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
1822
1823 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
1824
1825 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1826
1827 * fileio.c (build_annotations): Split off the tail.
1828 (build_annotations_2): New fun. Extracted from build_annotations.
1829 (Fwrite_region): Split the call to build_annotations into two
1830 calls to build_annotations and build_annotations_2.
1831
1832 2001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1833
1834 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
1835 clear_waiting_for_input with argument.
1836
1837 * xterm.h (x_update_cursor): Remove duplicated prototype.
1838
1839 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
1840
1841 * xterm.c (waiting_for_input): Remove unnecessary declaration.
1842
1843 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
1844
1845 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1846
1847 * fileio.c (choose_write_coding_system): New fun, extracted
1848 from Fwrite_region.
1849 (Fwrite_region): Use it.
1850
1851 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
1852 (funcall_lambda, run_hook_with_args): Make static and add prototype.
1853 (ml_apply, find_handler_clause): Add prototype.
1854
1855 2001-11-16 Eli Zaretskii <eliz@gnu.org>
1856
1857 * config.in: Add #undef HAVE_COFF_H.
1858
1859 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
1860 Required for ISC 4.1.
1861
1862 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
1863
1864 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
1865 Andrew Wiseman <a.wiseman@btclick.com>.
1866
1867 2001-11-16 Kim F. Storm <storm@cua.dk>
1868
1869 The following changes are made to clean up the various internal
1870 references to the fringes to actually use the term `fringe' for
1871 them. Previously, they were called `flags areas', `bitmap areas',
1872 `left/right side of windows', or implicitly as `flags' or
1873 `bitmaps':
1874
1875 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
1876 Comments fixed. Use renamed symbols.
1877
1878 * dispnew.c: Comment fix. Use renamed symbols.
1879
1880 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
1881 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
1882 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
1883
1884 * msdos.c: Comment fix.
1885
1886 * w32fns.c: Use renamed symbols.
1887
1888 * w32term.c: Comment fixes. Use renamed symbols.
1889 (fringe_bitmap_type): Renamed from bitmap_type.
1890 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1891 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
1892 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1893
1894 * w32term.h: Comment fixes. Use renamed symbols.
1895 (fringes_extra): Renamed from flags_areas_extra.
1896 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1897 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1898 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1899 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
1900 (FRAME_X_LEFT_FRINGE_WIDTH):
1901 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1902 (FRAME_X_RIGHT_FRINGE_WIDTH):
1903 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1904
1905 * widget.c: Use renamed symbols.
1906
1907 * window.c: Comment fixes. Use renamed symbols.
1908 (coordinates-in-window-p): Doc fix.
1909
1910 * xdisp.c: Comment fixes. Use renamed symbols.
1911
1912 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
1913
1914 * xfns.c: Use renamed symbols.
1915
1916 * xterm.c: Comment fixes. Use renamed symbols.
1917 (fringe_bitmap_type): Renamed from bitmap_type.
1918 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1919 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1920 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1921
1922 * xterm.h: Comment fixes. Use renamed symbols.
1923 (fringes_extra): Renamed from flags_areas_extra.
1924 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1925 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1926 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1927 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
1928 (FRAME_X_LEFT_FRINGE_WIDTH):
1929 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1930 (FRAME_X_RIGHT_FRINGE_WIDTH):
1931 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1932
1933 2001-11-15 Jason Rumney <jasonr@gnu.org>
1934
1935 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1936 work for most menu items. From David Ponce
1937 <david.ponce@wanadoo.fr>.
1938
1939 2001-11-15 Gerd Moellmann <gerd@gnu.org>
1940
1941 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1942 Some x_set_* function expect to be called even if old and new
1943 value are equal.
1944
1945 * xdisp.c (build_desired_tool_bar_string): Accept zero
1946 tool_bar_button_relief.
1947
1948 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1949
1950 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
1951
1952 * xterm.c (x_draw_bar_cursor): If the background color of the
1953 glyph under the cursor equals the frame's cursor color, use
1954 the glyph's foreground color for drawing the bar cursor.
1955
1956 * dispnew.c (direct_output_forward_char): Fix character/byte
1957 position comparison.
1958
1959 2001-11-15 Miles Bader <miles@gnu.org>
1960
1961 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1962 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1963 Update arguments to find_field.
1964 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1965 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1966 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1967 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1968
1969 2001-11-14 Richard M. Stallman <rms@gnu.org>
1970
1971 * editfns.c (Fpropertize): Allow call with 1 arg.
1972
1973 * dispextern.h (image_background, image_background_transparent):
1974 Conditionalize on HAVE_X_WINDOWS.
1975
1976 2001-11-13 Richard M. Stallman <rms@gnu.org>
1977
1978 * print.c (Fprin1_to_string): Doc fix.
1979
1980 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1981
1982 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1983
1984 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1985
1986 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1987
1988 * eval.c (syms_of_eval): Doc fix.
1989
1990 * coding.c (syms_of_coding): Doc fix.
1991
1992 * doc.c (Fsnarf_documentation): Doc fix.
1993
1994 * dispnew.c (syms_of_display): Doc fix.
1995
1996 * category.c (Fget_unused_category): Doc fix.
1997
1998 * buffer.c (syms_of_buffer): Doc fixes.
1999
2000 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
2001
2002 * print.c (prin1, print): Doc fix.
2003
2004 2001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2005
2006 * fontset.h: Remove declarations of variables
2007 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
2008
2009 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
2010 `Vclip_large_size_font'.
2011
2012 2001-11-13 Jason Rumney <jasonr@gnu.org>
2013
2014 * w32fns.c: Doc fix.
2015
2016 2001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2017
2018 * xfaces.c (Fface_attributes_as_vector): Doc fix.
2019
2020 * w32fns.c (Fx_synchronize): Reindent.
2021
2022 * fns.c: Doc fix.
2023
2024 * emacs.c: Doc fix.
2025
2026 * coding.c: Doc fix.
2027
2028 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
2029 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
2030 `new style' [w/`doc:' keyword].
2031
2032 * xmenu.c (x-popup-menu): Reindent.
2033 (x-popup-dialog): Likewise.
2034
2035 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
2036
2037 * xdisp.c (Fdump_tool_bar_row): Reindent.
2038
2039 * minibuf.c (Fminibuffer_complete_word): Reindent.
2040 (Fminibuffer_complete_and_exit): Likewise.
2041 (Fminibuffer_completion_help): Likewise.
2042 (Fminibuffer_message): Likewise.
2043
2044 * fns.c (Freverse): Reindent.
2045
2046 * eval.c (Fif): Reindent.
2047 (Fand): Likewise.
2048
2049 * editfns.c (Fuser_real_login_name): Reindent.
2050 (Finsert_buffer_substring): Likewise.
2051 (Fcompare_buffer_substrings): Likewise.
2052 (Fsubst_char_in_region): Likewise.
2053
2054 * dispnew.c (Fsit_for): Reindent.
2055 (Fframe_or_buffer_changed_p): Likewise.
2056 (Finternal_show_cursor_p): Likewise.
2057 (syms_of_display): Likewise.
2058
2059 * alloc.c (Flist): Reindent.
2060 (Fvector): Likewise.
2061
2062 2001-11-12 Richard M. Stallman <rms@gnu.org>
2063
2064 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
2065 LeaveNotify events. Only FocusIn and FocusOut do that now.
2066 (x_display_and_set_cursor): Do display hollow cursors in active
2067 minibuffer windows when they are not selected.
2068
2069 2001-11-12 Jason Rumney <jasonr@gnu.org>
2070
2071 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
2072 * w32term.c: Change doc-string comments to `new style'.
2073 [w/`doc:' keyword]. Doc fixes.
2074
2075 * w32fns.c: Don't define max.
2076 (Fx_open_connection): Only execute once.
2077
2078 2001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2079
2080 * ccl.c: Change macros to use do-while block instead of if-else.
2081 Use braces to follow GNU Coding Standards.
2082
2083 2001-11-11 Richard M. Stallman <rms@gnu.org>
2084
2085 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
2086
2087 * lread.c (read_escape): Use end_of_file_error for reporting eof.
2088
2089 * insdel.c (replace_range): Use adjust_markers_for_replace
2090 instead of adjust_markers_for_delete and adjust_markers_for_insert.
2091
2092 * intervals.h: Declare set_text_properties and set_text_properties_1.
2093
2094 * textprop.c (set_text_properties_1): New subroutine
2095 broken out of set_text_properties.
2096 (set_text_properties): Use set_text_properties_1.
2097
2098 * intervals.c (graft_intervals_into_buffer):
2099 Use set_text_properties_1 to clear out properties.
2100
2101 * search.c (Freplace_match): Use replace_range to insert
2102 and delete. Don't request property inheritance from
2103 surrounding text.
2104
2105 2001-11-10 Jason Rumney <jasonr@gnu.org>
2106
2107 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
2108 vertical fonts. Allow them if face name is explicitly specified.
2109 Do not give up if we find a font that cannot be converted to an xlfd.
2110
2111 2001-11-10 Gerd Moellmann <gerd@gnu.org>
2112
2113 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
2114 instead of malloc/free.
2115
2116 2001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2117
2118 * xfaces.c (merge_face_vectors): Use braces to follow GNU
2119 Coding Standards.
2120 (Finternal_set_lisp_face_attribute): Likewise.
2121
2122 * buffer.c (Fbury_buffer): Likewise.
2123
2124 * indent.c (current_column_1): Remove unused variable `prev_col'.
2125
2126 * coding.c (encode_coding): Use precomputed value of `src'.
2127 (encode_coding): Remove unused variable `src_end'.
2128 (code_convert_region): Remove unused variables `count'.
2129
2130 2001-11-07 Jason Rumney <jasonr@gnu.org>
2131
2132 * w32term.c (x_display_and_set_cursor): Do not move system caret
2133 if cursor_glyph is NULL.
2134
2135 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2136
2137 * keymap.c (access_keymap): Fix compilation error.
2138
2139 2001-11-07 Miles Bader <miles@gnu.org>
2140
2141 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
2142
2143 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2144
2145 * intervals.c (graft_intervals_into_buffer):
2146 Remove #ifdef'd-out code.
2147 (graft_intervals_into_buffer): Remove unused variable `middle'.
2148
2149 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
2150 code (eval-current-buffer).
2151 Change doc-string comments to `new style' [w/`doc:' keyword].
2152
2153 2001-11-06 Richard M. Stallman <rms@gnu.org>
2154
2155 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
2156
2157 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
2158
2159 * lread.c (read1): Fix behavior with nested backquoting.
2160
2161 * keyboard.c (make_lispy_event): Check integerness and fix
2162 Lisp_Object/int mixup.
2163
2164 2001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2165
2166 * fns.c (copy_hash_table): Remove unused variable `v'.
2167
2168 * fontset.c (fontset_font_pattern): Remove unused variable
2169 `family_registry'.
2170
2171 * indent.c (current_column_1): Remove unused variable `prev_col'.
2172
2173 2001-11-05 Richard M. Stallman <rms@gnu.org>
2174
2175 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
2176
2177 * buffer.c (Fkill_buffer): Don't delete auto save file
2178 if buffer is modified.
2179
2180 2001-11-05 Andrew Innes <andrewi@gnu.org>
2181
2182 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
2183 CHECK_NUMBER_CDR.
2184
2185 2001-11-05 Richard M. Stallman <rms@gnu.org>
2186
2187 * unexelf.c (unexec): Minor changes; clean up comments.
2188
2189 2001-11-05 Sam Steingold <sds@gnu.org>
2190
2191 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
2192
2193 2001-11-05 Andreas Schwab <schwab@suse.de>
2194
2195 * sound.c (sound_perror): Save errno from being clobbered.
2196
2197 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
2198
2199 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
2200 the program image directly.
2201
2202 2001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2203
2204 * buffer.h (Fbuffer_local_value): Add prototype.
2205
2206 2001-11-04 Richard M. Stallman <rms@gnu.org>
2207
2208 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
2209 and CHECK_BUFFER.
2210
2211 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
2212 (record_char): Likewise.
2213
2214 * keyboard.c (make_lispy_event): Don't insist a drag event must
2215 move to a different buffer position. Instead, check for moving at
2216 least double_click_fuzz.
2217
2218 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
2219
2220 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
2221
2222 * indent.c (current_column_1, Fmove_to_column): Separate the code
2223 for display-table glyphs from the code buffer text, to fix
2224 bugs in the former.
2225
2226 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
2227
2228 * buffer.c (Fbuffer_local_value): New function.
2229 (syms_of_buffer): Defsubr it.
2230
2231 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
2232 value of `cursor-in-non-selected-windows'.
2233
2234 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
2235 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
2236 (syms_of_xdisp): Initialize it.
2237
2238 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2239
2240 * xfns.c (Fx_create_frame): Doc fix.
2241
2242 * coding.c: Change doc-string comments to `new style' [w/`doc:'
2243 keyword].
2244
2245 * eval.c (top_level_value, top_level_set): Remove commented and
2246 #ifdef'd-out code.
2247 (Fdefvar): Fix usage in doc-string.
2248
2249 2001-11-03 Richard M. Stallman <rms@gnu.org>
2250
2251 * xfns.c: Include unistd.h, if it exists.
2252
2253 * editfns.c: Move the include of ctype.h after unistd.h.
2254
2255 * gmalloc.c: Test BROKEN_PROTOTYPES.
2256
2257 2001-11-03 Ken Raeburn <raeburn@gnu.org>
2258
2259 * lisp.h (CHECK_STRING_CAR): New macro.
2260 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
2261 treating XCAR and XCDR as lvalues.
2262 (openp): Use CHECK_STRING_CAR.
2263 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
2264
2265 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2266
2267 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
2268 (SIGMASKTYPE): Define.
2269
2270 * syssignal.h (sigunblock): Don't define if already defined.
2271
2272 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2273
2274 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
2275 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
2276 Fix typos in comments.
2277
2278 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
2279 and #ifdef'd-out code.
2280 Fix and reindent comments.
2281
2282 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
2283
2284 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
2285 argument `i' in macros.
2286
2287 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
2288 `i' in macros.
2289
2290 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
2291 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
2292 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
2293 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
2294 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
2295 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
2296 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
2297 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
2298 in macros.
2299
2300 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
2301 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
2302 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
2303 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
2304 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
2305 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
2306 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
2307 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
2308 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
2309 (remove unused second argument).
2310
2311 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
2312
2313 * syntax.c (describe_syntax): New wrapper.
2314 (Finternal_describe_syntax_value): Rename from describe_syntax.
2315 Don't insert space at front and \n at the end.
2316 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
2317
2318 * regex.c (re_wctype): Try to fix some warnings.
2319 (regcomp, regexec): Don't forget the __restrict.
2320
2321 2001-11-02 Richard M. Stallman <rms@gnu.org>
2322
2323 * textprop.c (Fget_char_property): Doc fix.
2324
2325 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2326
2327 * process.c (Fstart_process): Add usage to doc-string.
2328
2329 * data.c (Fsetq_default): Ditto.
2330
2331 * callint.c (Finteractive): Ditto.
2332
2333 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
2334
2335 * macros.c: Don't include keymap.h any more.
2336
2337 2001-11-01 Richard M. Stallman <rms@gnu.org>
2338
2339 * data.c (Fmake_local_variable): Doc fix.
2340
2341 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
2342 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
2343
2344 * keymap.c (Fdescribe_buffer_bindings): Print character property
2345 bindings along with or instead of the buffer local map.
2346 Make the overriding maps override what they should.
2347
2348 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2349
2350 * window.c (grow_mini_window): Fix typo in comment.
2351
2352 2001-11-01 Gerd Moellmann <gerd@gnu.org>
2353
2354 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
2355 (XTset_vertical_scroll_bar): Likewise.
2356
2357 * xfns.c (x_build_heuristic_mask): Use four_corners_best
2358 instead of IMAGE_BACKGROUND.
2359
2360 * xfns.c (four_corners_best): Reindent.
2361
2362 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
2363 Handle :box so that it is possible to specify sexprs.
2364
2365 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2366
2367 * xfaces.c (Finternal_merge_in_global_face): Reindent.
2368 (Fface_font): Ditto.
2369 (Finternal_set_alternative_font_registry_alist): Ditto.
2370 (Ftty_suppress_bold_inverse_default_colors): Ditto.
2371
2372 * xfns.c (x-get-resource): Reindent.
2373
2374 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2375
2376 * s/hpux11.h: New file.
2377
2378 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2379
2380 * emacs.c (USAGE1): Show command line option --no-window-system
2381 instead of --no-windows in usage.
2382 (standard_args): Rename --no-windows to --no-window-system.
2383 (bug_reporting_address): Follow Emacs coding conventions.
2384
2385 * eval.c (Fcommandp): Doc fix.
2386 Change doc-string comments to `new style' [w/`doc:' keyword].
2387
2388 * frame.c (Fframe_live_p): Doc fix.
2389
2390 * buffer.c (selective-display-ellipses): Doc fix.
2391
2392 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2393
2394 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
2395
2396 * xfaces.c (realize_x_face): If C is not a single-byte character,
2397 set the face's colors_copied_bitwise_p instead of the defaulted_p
2398 members which have a different meaning.
2399 (free_face_colors): Do nothing for a face whose colors have been
2400 copied bitwise.
2401
2402 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
2403
2404 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2405
2406 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2407 [w/`doc:' keyword].
2408
2409 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2410
2411 * fns.c (require_unwind): Return Lisp_Object.
2412
2413 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2414
2415 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2416 (last-input-char): Revert doc-string to be the same as the
2417 doc-string of `last-input-event'.
2418
2419 * xdisp.c: Fix typos in comments.
2420
2421 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2422
2423 * window.c (grow_mini_window): Handle case that the root
2424 window is already smaller than the nominal mininum height.
2425
2426 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2427
2428 * emacs.c (main): Don't call keys_of_macros any more.
2429
2430 * lisp.h (keys_of_macros): Remove.
2431
2432 * macros.c (keys_of_macros): Remove.
2433
2434 * xfaces.c (Fface_attribute_relative_p): Declare args.
2435
2436 2001-10-30 Jason Rumney <jasonr@gnu.org>
2437
2438 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2439 (enum_font_cb2): Ignore fonts with vertical orientation.
2440
2441 2001-10-30 Richard M. Stallman <rms@gnu.org>
2442
2443 * keyboard.c (Finput_pending_p): Doc fix.
2444
2445 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2446
2447 * xterm.c (x_after_update_window_line): Don't run the code
2448 clearing in borders for rows whose visible height is 0.
2449
2450 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2451 resized_p flag is set. If not set, use the much less flickering
2452 method previously used.
2453
2454 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2455
2456 * frame.h (struct frame) <resized_p>: New member.
2457
2458 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2459 as large as the number of bytes to convert.
2460
2461 * lread.c (to_multibyte): New function.
2462 (read1): Use it.
2463
2464 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2465
2466 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2467
2468 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2469
2470 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
2471 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2472 if the row's fill_line_p is set and drawing the last glyph with
2473 DRAW_IMAGE_{RAISED,SUNKEN}.
2474
2475 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2476
2477 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2478
2479 * xmenu.c: Include coding.h and charset.h.
2480 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2481 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2482 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2483 Explicitly set wv->help. Use `TRUE' rather than `True'.
2484 (menu_help_callback): Use empty_string.
2485
2486 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2487 (Fx_popup_dialog): Explicitly init f.
2488 (w32_menu_display_help): Use empty_string.
2489
2490 2001-10-29 Richard M. Stallman <rms@gnu.org>
2491
2492 * fns.c (Frequire): Detect recursive try to require the same
2493 feature 3 or more levels deep, and get error.
2494 (require_unwind): New subroutine.
2495 (require_nesting_list): New variable.
2496 (syms_of_fns): Init and staticpro it.
2497
2498 * print.c (print_object): Clarify indication of insertion type.
2499
2500 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2501
2502 * coding.c (syms_of_coding): Document that locale-coding-system is
2503 used for decoding input on X.
2504
2505 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2506
2507 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2508
2509 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2510 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2511
2512 2001-10-29 Gerd Moellmann <gerd@gnu.org>
2513
2514 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2515 use NO_CURSOR if cursor_in_non_selected_windows is false.
2516
2517 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2518 the slant attribute if FRAME is t.
2519
2520 * xfns.c (x_set_internal_border_width): Set frame garbaged
2521 when X window doesn't exist yet.
2522
2523 * xterm.c (x_after_update_window_line): Clear internal border
2524 in different circumstances.
2525
2526 * xterm.c (XTread_socket) <KeyPress>: Don't use
2527 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2528 <handa@etl.go.jp>.
2529
2530 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2531
2532 * m/ibms390.h: New file. From Adam Thornton
2533 <athornton@sinenomine.net>.
2534
2535 2001-10-28 Gerd Moellmann <gerd@gnu.org>
2536
2537 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
2538
2539 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2540 a loop counter.
2541
2542 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2543
2544 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2545
2546 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2547 keyword].
2548 Fix typos in comments.
2549
2550 * emacs.c (bug_reporting_address): New function.
2551 Use it when displaying usage message.
2552
2553 * minibuf.c (read_minibuf): Remove unused external declaration of
2554 variable `Qread_only'.
2555
2556 * keymap.c (access_keymap): Remove unused variable `charset'.
2557
2558 2001-10-28 Miles Bader <miles@gnu.org>
2559
2560 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2561 Remove #ifdef'd-out code.
2562 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
2563 (syms_of_xfaces): Initialize them.
2564
2565 2001-10-27 Jason Rumney <jasonr@gnu.org>
2566
2567 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
2568 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
2569 position using the system caret.
2570
2571 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
2572 (w32_system_caret_height, w32_system_caret_x)
2573 (w32_system_caret_y): New variables for tracking system caret.
2574 (w32_initialize): Initialize them.
2575 (x_display_and_set_cursor): Make system caret follow the active cursor.
2576
2577 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
2578 New messages types.
2579
2580 * w32term.c (note_mouse_highlight): Clear old help_echo.
2581
2582 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2583
2584 * xterm.c: Fix typo in a comment.
2585
2586 * emacs.c: Fix typos in comments.
2587 Remove unnecessary spaces.
2588 Change doc-string comments to `new style' [w/`doc:' keyword].
2589 (USAGE2): Fix typos in usage string.
2590
2591 * xterm.c: Fix typo in a comment.
2592
2593 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
2594 emacs.c.
2595
2596 2001-10-27 Gerd Moellmann <gerd@gnu.org>
2597
2598 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
2599 instead of 1/2 line_height in the heuristic for skipping
2600 farther backward when target_y was not reached.
2601
2602 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
2603 Display errno only if non-zero.
2604 (sound_warning): New function.
2605 (vox_configure): Don't treat failing to set sample rate as error.
2606 (various places): Improve error messages.
2607
2608 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
2609
2610 * fileio.c (Faccess_file): Run the argument filename through
2611 Fexpand_file_name, before using it.
2612
2613 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
2614 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
2615
2616 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2617
2618 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
2619
2620 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2621 Fix clearing in the case of scroll bars on the right.
2622
2623 2001-10-26 Juanma Barranquero <lektu@terra.es>
2624
2625 * w32gui.h (XImage): Add a dummy typedef.
2626
2627 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2628
2629 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
2630
2631 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
2632
2633 * frame.c (Fframe_parameter): Fix last change.
2634
2635 * fileio.c: Revert last change (which removed old commented-out
2636 version of expand-file-name). Add a comment that explains why
2637 this old version should not be removed.
2638
2639 2001-10-25 Gerd Moellmann <gerd@gnu.org>
2640
2641 * frame.c (Fframe_parameter): Fix a bug whereby some
2642 ``artificial'' frame parameters, like `minibuffer' were not
2643 obtained by calling Fframe_parameters.
2644
2645 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
2646 cursor differently.
2647
2648 * xdisp.c (move_it_vertically_backward): Compute line height
2649 differently. Add heuristic to try to be more compatible to 20.x.
2650
2651 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
2652
2653 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
2654
2655 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
2656 boolean.
2657
2658 2001-10-25 Miles Bader <miles@gnu.org>
2659
2660 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
2661 BG is a pointer to a structure, not a structure.
2662 (gif_format, png_format): Add missing commas.
2663
2664 2001-10-24 Richard M. Stallman <rms@gnu.org>
2665
2666 * xfaces.c (Fface_attributes_as_vector): New function.
2667 (syms_of_xfaces): Defsubr it.
2668
2669 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2670
2671 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
2672 variable `area'.
2673
2674 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2675
2676 * search.c (scan_newline): Remove unused variable `selective_display'.
2677
2678 2001-10-25 Miles Bader <miles@gnu.org>
2679
2680 * dispextern.h (struct image): Add `background',
2681 `background_valid', and `background_transparent' fields.
2682 (image_background, image_background_transparent): New declarations.
2683 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
2684 * xfns.c (image_background, image_background_transparent)
2685 (four_corners_best): New functions.
2686 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2687 (gs_format): Add `:background' entry.
2688 (lookup_image): Set IMG's background color if specified.
2689 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2690 when appropriate.
2691 (x_clear_image_1): Reset `background_valid' and
2692 `background_transparent_valid' fields.
2693 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2694 calculating it here. Set IMG's background_transparent field.
2695 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2696 (enum png_keyword_index): Add PNG_BACKGROUND.
2697 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2698 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2699 (enum gif_keyword_index): Add GIF_BACKGROUND.
2700 (enum gs_keyword_index): Add GS_BACKGROUND.
2701 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2702 Pre-calculate image background color where necessary.
2703 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2704 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2705 color to use for image glyph reliefs.
2706
2707 2001-10-24 Gerd Moellmann <gerd@gnu.org>
2708
2709 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
2710 in full-width rows.
2711
2712 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2713 Fix clearing of area not covered by scroll bar.
2714
2715 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2716
2717 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
2718 and `real_start'.
2719 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2720 (glyph_rect): Remove unused variable `area'.
2721
2722 2001-10-24 Gerd Moellmann <gerd@gnu.org>
2723
2724 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
2725
2726 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
2727 (row_containing_pos): Take additional argument DY.
2728 Treat rows ending in middle of char differently.
2729 (display_line): Handle tabs on window systems differently.
2730
2731 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
2732 with additional argument.
2733
2734 * dispextern.h (row_containing_pos): Adjust prototype.
2735
2736 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
2737 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
2738 (try_window_id, try_window_reusing_current_matrix)
2739 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
2740 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
2741
2742 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2743
2744 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
2745 gnuemacs).
2746 (HAVE_BOXES): Fix typo in comment.
2747 (push_menu_pane): Fix typo in comment.
2748
2749 * xdisp.c: (display_prop_string_p): Remove unused local declaration
2750 of `Qwhen'.
2751 (single_display_prop_string_p): Remove unused local declarations
2752 of `Qwhen' and `Qmargin'.
2753 (string_buffer_position): Remove unused variable `around'.
2754 (store_frame_title): Remove unused variable `width'.
2755
2756 * window.c: Don't define max.
2757 (coordinates_in_window): Remove unused variable `uy'.
2758
2759 * widget.c: Don't define max.
2760
2761 * process.c: Don't define max.
2762 (create_process): Remove unused variable `buffer'.
2763
2764 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2765
2766 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
2767
2768 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
2769
2770 * xfaces.c (Finternal_set_lisp_face_attribute)
2771 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
2772 frame is on a windowed display.
2773
2774 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2775
2776 * dispnew.c (sync_window_with_frame_matrix_rows):
2777 Fix handling of windows which aren't full-width, fix handling
2778 of marginal areas.
2779
2780 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
2781
2782 2001-10-23 Andreas Schwab <schwab@suse.de>
2783
2784 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
2785 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
2786
2787 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2788
2789 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
2790 REAL_END. Notice if cursor gets overwritten.
2791 (notice_overwritten_cursor): Take X positions as parameters.
2792 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2793 around call to x_draw_glyphs.
2794
2795 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2796
2797 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
2798 instead of C) and usage.
2799
2800 * editfns.c (char-to-string): Fix argument names (use CHAR instead
2801 of C) and usage.
2802
2803 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
2804 `left', `max_width' and `max_height'.
2805
2806 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2807
2808 * xdisp.c (display_line): For a tab continued to the next line,
2809 set row's ends_in_middle_of_char_p.
2810
2811 2001-10-22 Gerd Moellmann <gerd@gnu.org>
2812
2813 * xdisp.c (display_line): Fix computation of continuation lines
2814 width for TABs.
2815
2816 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2817
2818 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
2819 `Qlaplace'.
2820
2821 * fileio.c: Remove unused code.
2822
2823 2001-10-22 Miles Bader <miles@gnu.org>
2824
2825 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
2826 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
2827 Remove `DOC_STRINGS_IN_COMMENTS' cases.
2828
2829 2001-10-21 Jason Rumney <jasonr@gnu.org>
2830
2831 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
2832
2833 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2834
2835 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
2836 (Finsert_string): Avoid the multi-line string literals warning.
2837
2838 2001-10-22 Miles Bader <miles@gnu.org>
2839
2840 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
2841 (Fdocumentation): Don't use it.
2842 (syms_of_doc): Don't initialize it.
2843
2844 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
2845 * print.c (Fwith_output_to_temp_buffer): Likewise.
2846 * window.c (Fsave_window_excursion): Likewise.
2847 * editfns.c (Fsave_excursion, Fsave_current_buffer)
2848 (Fsave_restriction): Likewise.
2849 * eval.c (Frun_hooks, Frun_hook_with_args)
2850 (Frun_hook_with_args_until_failure)
2851 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
2852 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
2853 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
2854 (Funwind_protect, Fcondition_case): Likewise.
2855 * coding.c (Ffind_operation_coding_system): Likewise.
2856 * keyboard.c (Ftrack_mouse): Likewise.
2857
2858 2001-10-21 Miles Bader <miles@gnu.org>
2859
2860 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
2861 (Fmake_hash_table): Add usage: string to doc string.
2862 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
2863 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
2864 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
2865 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
2866 (Fml_prefix_argument_loop): Likewise.
2867
2868 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2869
2870 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
2871
2872 * sysdep.c (init_sys_modes): Change doc-string comments to `new
2873 style' [w/`doc:' keyword].
2874
2875 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
2876 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
2877 comments to `new style' [w/`doc:' keyword].
2878
2879 2001-10-21 Jason Rumney <jasonr@gnu.org>
2880
2881 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
2882
2883 * w32term.c (remember_mouse_glyph): New function.
2884 (w32_mouse_position): Use it.
2885 (note_mouse_movement): If the mouse moved off the glyph, remember
2886 its new position.
2887
2888 * w32term.h (struct w32_output): Correct spelling of x_compatible.
2889 (w32_display_info): Add mouse_face_overlay.
2890
2891 * w32term.c (notice_overwritten_cursor): Renamed from
2892 note_overwritten_text_cursor. Rewritten to take glyph widths into
2893 account.
2894 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2895 (fast_find_string_pos): New function.
2896 (fast_find_position): Return the correct vpos. Add parameter
2897 STOP. In the final row, stop before glyphs having STOP as object.
2898 Don't consider glyphs that are not from a buffer.
2899 (fast_find_position) [0]: Add a presumably more correct version
2900 for after 21.1.
2901 (expose_window_tree, expose_frame): Don't compute intersections here.
2902 (expose_window): Do it here instead.
2903 (expose_window_tree, expose_window, expose_line): Return 1 when
2904 overwriting mouse-face.
2905 (expose_window): If W is the window currently being updated, mark
2906 the frame garbaged.
2907 (expose_frame): If mouse-face was overwritten, redo it.
2908 (x_use_underline_position_properties): New variable.
2909 (syms_of_xterm): DEFVAR_BOOL it.
2910 (x_draw_glyph_string): Add comment to use it in future.
2911 (x_draw_glyph_string): Restore clipping after drawing box.
2912 Fix a computation of the underline position.
2913 (w32_get_glyph_string_clip_rect): Minor cleanup.
2914 (x_fill_stretch_glyph_string): Remove an assertion.
2915 (x_produce_glyphs): Don't convert multibyte characters
2916 to unibyte characters in unibyte buffers.
2917 (cursor_in_mouse_face_p): New function.
2918 (x_draw_stretch_glyph_string): Use it to choose a different GC
2919 when drawing a cursor within highlighted text. Don't draw
2920 background again if it has already been drawn.
2921 (x_draw_glyph_string_box): Don't draw a full-width
2922 box just because the glyph row's full_width_p flag is set.
2923 (x_draw_glyphs): Fix computation of rightmost x for
2924 full-width rows.
2925 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2926 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2927 change bottom shadow accordingly. Some cleanup.
2928 (x_update_window_end): Handle overwritten mouse face
2929 also for tool bar windows.
2930 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2931 DRAW is DRAW_IMAGE_RAISED.
2932 (clear_mouse_face): Return 1 if text with mouse face was
2933 actually redrawn. Make the function static. Reset
2934 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2935 optimize away highlighting if we pass over that same overlay again.
2936 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2937 to detect a case where we have to highlight a different region
2938 despite not having left the currently highlighted region.
2939 Set mouse_face_overlay in the x_display_info. Avoid changing the
2940 mouse pointer shape when show_mouse_face has already done it, or
2941 there is no need. Handle mouse-face and help-echo in strings.
2942 (glyph_rect): New function.
2943 (w32_mouse_position): Use it to raise the threshold for mouse
2944 movement event generation.
2945 (w32_initialize_display_info): Initialize the x_display_info's
2946 mouse_face_overlay.
2947 (w32_set_vertical_scroll_bar): Don't clear a zero height
2948 or width area.
2949 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2950 a widget to zero height.
2951
2952 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
2953 Protect unibyte strings created by replacing their multibyte
2954 equivalents in menu_items.
2955 (w32_menu_show): Don't overwrite an item's name with its key
2956 description in case the description is a multibyte string.
2957 (single_submenu): Some cleanup.
2958
2959 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2960 (postprocess_image): New function.
2961 (lookup_image): Call it for all image types except PostScript.
2962 (x_kill_gs_process): Call postprocess_image.
2963 (tiff_error_handler, tiff_warning_handler): New functions.
2964 (tiff_load): Install them as handlers.
2965 (x_kill_gs_process): Recognize if someone has cleared the image
2966 cache under us.
2967 (valid_image_p): Protect better against invalid image
2968 specifications. Previous code could signal an error.
2969 (Fx_hide_tip, Fshow_tip): Doc fix.
2970 (Fv_max_tooltip_size): New variable.
2971 (syns_of_xfns): DEFVAR_LISP it.
2972 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2973 window buffer to *tip* right after creating the frame. Set frame's
2974 window_width. Use a maximum tooltip size specified by
2975 Vx_max_tooltip_size, if that has valid contents.
2976 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2977 Make sure the tooltip is completely visible.
2978 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2979 (Fx_create_frame): Adjust the frame's height for presence
2980 of the tool bar before calling x_figure_window_size.
2981 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2982 when the window gets smaller.
2983 (x_set_foreground_color): Set frame's cursor_pixel.
2984 (x_set_foreground_color, x_set_background_color): Cleaned up.
2985 (x_set_font): Handle case of x_new_fontset returning the same name
2986 as before, although there was a change in fontsets.
2987
2988 2001-10-21 Miles Bader <miles@gnu.org>
2989
2990 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
2991 (Flogxor): Add usage: string to doc string.
2992 * charset.c (Fstring): Likewise.
2993 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2994 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2995
2996 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2997
2998 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2999
3000 * alloc.c: Reindent DEFUNs with doc: keywords.
3001
3002 * abbrev.c (Finsert_abbrev_table_description): Reindent.
3003
3004 * frame.c: Change doc-string comments to `new style' [w/`doc:'
3005 keyword].
3006
3007 2001-10-20 Gerd Moellmann <gerd@gnu.org>
3008
3009 * (Version 21.1 released.)
3010
3011 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3012
3013 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
3014
3015 * xdisp.c (invisible_text_between_p): Put prototype inside #if
3016 0 because unused.
3017
3018 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
3019 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
3020 Change doc-string comments to `new style' [w/`doc:' keyword].
3021
3022 2001-10-20 Miles Bader <miles@gnu.org>
3023
3024 The following changes remove the glyph_row `inverse_p' field,
3025 which is never set anymore, due to other changes:
3026
3027 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
3028 (reassert_line_highlight, change_line_highlight): Declarations removed.
3029 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
3030 (line_hash_code, row_equal_p, fake_current_matrices)
3031 (build_frame_matrix_from_leaf_window, update_frame_line)
3032 (update_frame_line, update_frame_line, update_frame_line):
3033 Don't use `inverse_p' field.
3034 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
3035 change_line_highlight_hook.
3036 (XTreassert_line_highlight, x_change_line_highlight):
3037 Functions removed.
3038 (x_fix_overlapping_area, x_write_glyphs, expose_area)
3039 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3040 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
3041 `inverse_p' field.
3042 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
3043 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
3044 (w32_reassert_line_highlight, x_change_line_highlight):
3045 Functions removed.
3046 * w32console.c (reassert_line_highlight, change_line_highlight):
3047 Functions removed.
3048 (initialize_w32_display): Don't set reassert_line_highlight_hook
3049 or change_line_highlight_hook.
3050 (hl_mode): Function removed.
3051 (reset_terminal_modes, set_terminal_modes, update_begin)
3052 (update_end, w32_face_attributes, initialize_w32_display):
3053 (clear_frame, ins_del_lines): Don't call it.
3054 * termhooks.h (reassert_line_highlight_hook)
3055 (change_line_highlight_hook): Declarations removed.
3056 * term.c (reassert_line_highlight_hook)
3057 (change_line_highlight_hook): Variables removed.
3058 (reassert_line_highlight, change_line_highlight): Functions removed.
3059 * msdos.c (IT_reassert_line_highlight)
3060 (IT_change_line_highlight): Functions removed.
3061 (internal_terminal_init): Don't set reassert_line_highlight_hook
3062 or change_line_highlight_hook.
3063 (highlight): Variable removed.
3064 (IT_set_face, IT_update_begin, IT_update_end)
3065 (IT_set_terminal_modes): Don't set or use it.
3066
3067 The following changes remove inverse-video support for terminals
3068 that use a `magic cookie' standout mode. Due to changes in the
3069 way mode-lines are displayed, such support no longer works
3070 anyway, and it's probable that almost no one uses such terminals
3071 anymore:
3072
3073 * term.c (standout_requested): Variable removed.
3074 (update_end, highlight_if_desired): Don't use it.
3075 (chars_wasted, copybuf): Variables removed.
3076 (write_standout_marker): Function removed.
3077 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
3078 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
3079 Don't use `chars_wasted' or `copybuf'.
3080 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
3081 Set `costs_set' to true.
3082 (cursor_to, clear_end_of_line): Test `costs_set' instead of
3083 `chars_wasted'.
3084 (clear_end_of_line): Function removed.
3085 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
3086 (clear_to_end): Call `clear_end_of_line' instead of
3087 `clear_end_of_line_raw'.
3088 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
3089 (term_init): Don't set them.
3090 Turn off any standout/underline modes that require magic cookies.
3091 (ins_del_lines, highlight_if_desired, background_highlight)
3092 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
3093 Remove special processing for magic-cookie standout modes.
3094 (turn_off_face, turn_on_face): Remove special processing for
3095 underline magic-cookie glitch.
3096
3097 2001-10-19 Richard M. Stallman <rms@gnu.org>
3098
3099 * eval.c (syms_of_eval): Doc fixes.
3100
3101 2001-10-19 Gerd Moellmann <gerd@gnu.org>
3102
3103 * xdisp.c (redisplay_internal): Don't clear echo area if the
3104 mini-window is selected.
3105
3106 2001-10-19 Miles Bader <miles@gnu.org>
3107
3108 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
3109 doesn't take precedence if the affected property's value is nil.
3110
3111 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
3112
3113 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
3114 with fields and suggest using `forward-line' to avoid them.
3115 * editfns.c (Fline_beginning_position, Fline_end_position):
3116 Clarify documentation.
3117
3118 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
3119
3120 * keymap.c (current_minor_maps): `override' only shadows its
3121 correspondent in minor-mode-map-alist, not the whole tail.
3122
3123 2001-10-18 Andrew Innes <andrewi@gnu.org>
3124
3125 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
3126 optimization. The fontp->encoding array was not being initialized
3127 correctly when compiled with optimizations by MSVC.
3128
3129 2001-10-18 Gerd Moellmann <gerd@gnu.org>
3130
3131 * xdisp.c (display_line): Indicate empty lines in active mini-window.
3132
3133 2001-10-17 Andrew Innes <andrewi@gnu.org>
3134
3135 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
3136
3137 * w32fns.c (w32_load_system_font): Cache codepage for font, in
3138 font_info.charset field.
3139
3140 * w32term.c (w32_encode_char): Get cached codepage from font_info,
3141 rather than working it out by calling w32_codepage_for_font for
3142 every glyph.
3143
3144 2001-10-17 Andrew Innes <andrewi@gnu.org>
3145
3146 * w32term.c (w32_read_socket): Determine clipping rectangle for
3147 the entire frame, including areas covered by scrollbars and the
3148 menubar. This avoids internal arguments about whether a frame is
3149 fully obscured or not.
3150
3151 2001-10-17 Gerd Moellmann <gerd@gnu.org>
3152
3153 * xdisp.c (try_window_id): Undo last change. Give up if
3154 window ends in strings.
3155
3156 * xdisp.c (try_window_id): Don't display lines after the window
3157 end if the rest of the window after the window end was already blank.
3158
3159 * xdisp.c (try_window_id): Remove code that was only there
3160 for the release of 21.1.
3161
3162 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
3163
3164 2001-10-17 Miles Bader <miles@gnu.org>
3165
3166 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
3167 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
3168 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
3169 Change doc-string comments to `new style' [w/`doc:' keyword].
3170 (DOC_STRINGS_IN_COMMENTS): Macro removed.
3171 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
3172 out make-docfile.
3173
3174 2001-10-16 Miles Bader <miles@gnu.org>
3175
3176 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
3177
3178 2001-10-16 Gerd Moellmann <gerd@gnu.org>
3179
3180 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
3181 *scratch*.
3182
3183 2001-10-16 Ken Raeburn <raeburn@gnu.org>
3184
3185 Avoid the assumption that car and cdr slots of cons cells are
3186 addressable lvalues; this allows for easier experimentation with
3187 other lisp implementations that may not permit such accesses for
3188 various reasons. Not quite complete -- buffer.c still needs some
3189 work, and w32/mac files need rechecking -- so compile-time
3190 enforcement is left disabled for now.
3191
3192 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
3193 gcc with a union-based Lisp object rep. Redefine as no-op for now.
3194 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
3195 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
3196 (XSETCAR, XSETCDR): New macros.
3197 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
3198 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
3199 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
3200 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
3201 XSETCDR.
3202 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
3203 * buffer.c (record_buffer, Fbury_buffer)
3204 (swap_out_buffer_local_variables, recenter_overlay_lists)
3205 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
3206 fields of a cons cell respectively.
3207 * callint.c (quotify_args, Fcall_interactively): Likewise.
3208 * ccl.c (Fregister_code_conversion_map): Likewise.
3209 * coding.c (detect_coding_system): Likewise.
3210 * composite.c (get_composition_id, make_composition_value_copy):
3211 Likewise.
3212 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
3213 (swap_in_symval_forwarding, set_internal, Fset_default)
3214 (Fmake_variable_buffer_local, Fmake_local_variable)
3215 (Fmake_variable_frame_local): Likewise.
3216 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
3217 * keymap.c (Fset_keymap_parent, store_in_keymap)
3218 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
3219 * minibuf.c (get_minibuffer): Likewise.
3220 * search.c (Fmatch_data): Likewise.
3221 * textprop.c (extend_property_ranges): Likewise.
3222 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
3223 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
3224 Likewise.
3225 * w32term.c (x_delete_display): Likewise.
3226 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
3227 Likewise.
3228 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
3229 * doc.c (store_function_docstring): Use XSETCARFASTINT.
3230 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
3231 (Fread_file_name): Use XSETCAR.
3232 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
3233 CHECK_NUMBER_CDR.
3234 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
3235 * frame.c (Fmake_terminal_frame): Use XSETCDR.
3236 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
3237 CHECK_NUMBER_CDR.
3238 * keyboard.c (read_char): Alter list traversal to avoid taking the
3239 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
3240 (parse_menu_item): Use XSETCAR and XSETCDR.
3241 (reach_char_x_menu_prompt): Use XSETCAR.
3242 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
3243 (Fcommand_execute): Use XSETCDR.
3244 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
3245 (openp): Change list traversal to avoid using XCAR as lvalue.
3246 (read_list): Use XSETCDR.
3247 * process.c (wait_reading_process_input): Change wait_for_cell
3248 handling to avoid taking addresses of cons cell slots.
3249 * xselect.c (x_own_selection, x_handle_selection_clear)
3250 (x_clear_frame_selections): Use XSETCDR.
3251 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
3252 (x_handle_property_notify, x_get_foreign_selection)
3253 (x_handle_selection_notify): Use XSETCAR.
3254
3255 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3256
3257 * buffer.c: Put doc strings in comments.
3258
3259 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
3260
3261 2001-10-15 Sam Steingold <sds@gnu.org>
3262
3263 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
3264
3265 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3266
3267 * process.c (process-inherit-coding-system-flag)
3268 (get-buffer-process): Do not confuse make-docfile with doc strings
3269 in comment.
3270
3271 * editfns.c (Fchar_to_string): Make doc string consistent with
3272 arguments. Put doc strings in comments.
3273
3274 * abbrev.c, minibuf.c: Put doc strings in comments.
3275
3276 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3277
3278 * window.c (window_loop): Don't check for Fother_buffer returning nil.
3279
3280 * window.c (select_window_1): Unfreeze window start. Remove a
3281 doubled test for WINDOW being live.
3282
3283 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3284
3285 * fns.c (Fmapconcat): Fix typo in a doc string.
3286
3287 * dispnew.c (Fsleep_for): Fix typo in a doc string.
3288
3289 2001-10-15 Gerd Moellmann <gerd@gnu.org>
3290
3291 * xterm.c (x_draw_glyph_string): Restore clipping after
3292 drawing box.
3293
3294 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3295
3296 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
3297
3298 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
3299
3300 * indent.c (skip_invisible): Use new retval of
3301 TEXT_PROP_MEANS_INVISIBLE.
3302
3303 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
3304 If a parent is reached and noinherit is set, exit immediately.
3305 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
3306
3307 * s/ms-w32.h (EXEC_SUFFIXES):
3308 * s/msdos.h (EXEC_SUFFIXES):
3309 * process.h (EXEC_SUFFIXES): Remove.
3310
3311 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
3312 (decode_suffixes): Remove.
3313
3314 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
3315 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
3316 (invisible_ellipsis_p): Remove.
3317
3318 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
3319 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
3320 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
3321 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
3322 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
3323
3324 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3325
3326 * lisp.h (Ftop_level): Add prototype.
3327
3328 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
3329 (XTread_socket): Improve style of comments to follow other
3330 comments.
3331
3332 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
3333 is already prototyped in included lisp.h).
3334
3335 * frame.c (Fset_mouse_position): Improve style of comment to
3336 follow other comments.
3337 (Fset_mouse_pixel_position): Improve style of comment to follow
3338 other comments.
3339 (Fmake_frame_visible): Doc fix and typo in comment.
3340 (Fmake_frame_invisible): Doc fix and typo in comment.
3341 (Ficonify_frame): Fix typo in comment.
3342
3343 2001-10-14 Gerd Moellmann <gerd@gnu.org>
3344
3345 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
3346 * term.c, alloc.c: Put doc strings in comments.
3347
3348 2001-10-13 Gerd Moellmann <gerd@gnu.org>
3349
3350 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
3351 Provide definitions for doc strings in comments.
3352
3353 * fns.c: Put doc strings in comments.
3354
3355 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
3356
3357 * dired.c (file_name_completion): Ignore a candidate directory if
3358 it matches an element in completion-ignored-extensions that ends
3359 in a slash.
3360 (syms_of_dired) <completion-ignored-extensions>: Mention the above
3361 feature in the doc string.
3362 (Ffile_name_completion): Ditto.
3363
3364 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
3365
3366 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
3367
3368 * xfns.c (syms_of_xfns): Update calls to Fprovide.
3369
3370 * lisp.h (Fprovide): Update prototype.
3371 (Ffeaturep, invisible_p): Remove.
3372
3373 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
3374 (DOLIST, LOOP_PROPVAL): New macros.
3375 (invisible_p, invisible_ellipsis_p): Use them.
3376 (invisible_noellipsis_p): New function.
3377 (syms_of_xdisp): Use empty_string.
3378
3379 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
3380
3381 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
3382 (syms_of_lread) <Vafter_load_alist>: Update docstring.
3383
3384 * print.c (Fwith_output_to_temp_buffer): Align with
3385 internal_with_output_to_temp_buffer.
3386 (print_preprocess): Use traverse_intervals_noorder.
3387 (print_object): Update call to traverse_intervals.
3388
3389 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
3390 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
3391
3392 * intervals.c (traverse_intervals_noorder): New function.
3393 (search_for_interval, count_intervals): Use it.
3394 (traverse_intervals): Use less stack space and drop `depth' arg.
3395
3396 * fns.c (Ffeaturep): Add new `subfeature' arg.
3397 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
3398 (Qsubfeatures): New var.
3399 (syms_of_fns): Initialize it.
3400
3401 * keymap.c (Fkey_description): Use empty_string.
3402 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
3403 (syms_of_keymap): Setup inheritance between maps.
3404 Don't export Sdescribe_bindings_internal any more.
3405
3406 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3407
3408 2001-10-12 Gerd Moellmann <gerd@gnu.org>
3409
3410 * xterm.c (notice_overwritten_cursor): Renamed from
3411 note_overwritten_text_cursor. Rewritten to take glyph widths into
3412 account.
3413
3414 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3415
3416 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3417 multi-line strings without a trailing "\n\".
3418
3419 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3420
3421 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3422 defined.
3423
3424 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3425
3426 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3427
3428 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3429 * w32proc.c (sys_spawnve):
3430 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3431 * w32.c (check_windows_init_file):
3432 * sound.c (Fplay_sound):
3433 * emacs.c (init_cmdargs):
3434 * process.c (Fstart_process): Update calls to openp.
3435
3436 * callproc.c (Vexec_suffixes): New var.
3437 (Fcall_process): Update call to openp.
3438 (decode_suffixes): New function.
3439 (syms_of_callproc): Init exec-suffixes.
3440
3441 * lread.c (Vload_suffixes, default_suffixes): New vars.
3442 (openp): Take a lisp list of suffixes.
3443 Check for file-name-handlers even if the file was absolute already.
3444 (syms_of_lread): Declare load-suffixes.
3445 (Fload): Fix up call to openp.
3446 Don't bother checking for file-name-handler at the very beginning.
3447
3448 * keymap.h (Fcopy_keymap): Don't export.
3449
3450 * lisp.h (empty_string): Declare.
3451 (Vload_suffixes, Vexec_suffixes): Declare.
3452 (openp): Update prototype.
3453
3454 * emacs.c (empty_string): New var.
3455 (syms_of_emacs): Initialize it.
3456
3457 * search.c (wordify): Use it.
3458
3459 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3460 selected window if it's not displayed there. Handle the case
3461 when the window is dedicated.
3462 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3463
3464 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3465
3466 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3467 Remove left_ok and right_ok.
3468 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3469 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3470 new meaning of b_property.
3471
3472 * syntax.c (update_syntax_table): Simplify.
3473 (Fforward_comment): Don't skip quoted chars when going backward.
3474
3475 2001-10-11 Gerd Moellmann <gerd@gnu.org>
3476
3477 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3478 in case I is of some unsigned type, in which case
3479 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3480 comparison becomes bogus.
3481
3482 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3483 (Fuser_full_name): Fix bug treating a float as a fixnum.
3484
3485 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3486
3487 * lisp.h (make_fixnum_or_float): New macro.
3488
3489 * lisp.h (circular_list_error): Add prototype.
3490
3491 * data.c (Qcircular_list): New variable.
3492 (circular_list_error): New function.
3493 (syms_of_data): Initialize it Qcircular_list.
3494
3495 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3496
3497 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3498 * casefiddle.c, buffer.c: Include keymap.h.
3499
3500 2001-10-10 Gerd Moellmann <gerd@gnu.org>
3501
3502 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3503 options. From Dave Love <d.love@dl.ac.uk>.
3504
3505 2001-10-09 Gerd Moellmann <gerd@gnu.org>
3506
3507 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3508 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3509
3510 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3511 unsigned char.
3512 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3513
3514 2001-10-08 Andrew Innes <andrewi@gnu.org>
3515
3516 * lisp.h [max]: Undef min and max before redefining them.
3517
3518 * w32gui.h: Do not undef min and max.
3519
3520 * w32heap.h: Do not undef min and max.
3521
3522 * s/ms-w32.h: Do not undef min and max.
3523
3524 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3525
3526 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3527
3528 2001-10-08 Sam Steingold <sds@gnu.org>
3529
3530 * keymap.c (current-active-maps): Quote newlines (compilation error).
3531
3532 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3533
3534 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3535 bindings.elc, since otherwise doc strings in bindings.el get wrong
3536 offsets in etc/DOC.
3537
3538 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3539
3540 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3541
3542 * keyboard.h (map_prompt): Remove.
3543
3544 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
3545 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
3546
3547 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3548
3549 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3550
3551 * keyboard.c (map_prompt): Remove.
3552 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3553 Use Fkeymap_prompt.
3554
3555 * keymap.h: New file. Extracted from lisp.h.
3556
3557 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3558 (accessible_keymaps_1): New function.
3559 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3560 (Fwhere_is_internal): Use Fcurrent_active_maps.
3561 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3562 Insert in current buffer rather than standard-output.
3563 Don't call `help-mode'. Export to elisp.
3564 (describe_buffer_bindings): New wrapper.
3565 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
3566 and Sdescribe_buffer_bindings.
3567
3568 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3569
3570 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3571 Remove code setting signal handler.
3572
3573 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
3574 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
3575
3576 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3577
3578 * keyboard.c: Don't define min/max.
3579
3580 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3581
3582 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
3583 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
3584 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
3585 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
3586 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
3587 Don't define min/max.
3588
3589 * lisp.h (min, max): New macros.
3590
3591 * puresize.h (BASE_PURESIZE): Increase to 725000.
3592
3593 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3594
3595 * xfaces.c (free_frame_menubar): Add prototype.
3596
3597 * lisp.h (init_window): Add prototype.
3598
3599 * editfns.c: Include ctype.h.
3600
3601 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
3602 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
3603 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
3604 variable `sb'.
3605
3606 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
3607 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
3608 `popup_activated_flag' and `title'.
3609
3610 * doc.c (Fdocumentation_property): Fix typo in a doc string.
3611
3612 * emacs.c (main): Remove extra `;'.
3613
3614 * atimer.h (struct atimer): Fix typos in a comment.
3615
3616 * atimer.c: Fix typo.
3617
3618 * Makefile.in: Fix typo.
3619
3620 * README: Remove obsolete part mentioning removed VMS file.
3621
3622 2001-10-07 Miles Bader <miles@gnu.org>
3623
3624 * Makefile.in (lisp, shortlisp): Add `button.elc'.
3625
3626 2001-10-07 Ken Raeburn <raeburn@gnu.org>
3627
3628 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
3629 Lisp_Object.
3630
3631 * lisp.h (Ffield_end): Declare.
3632
3633 2001-10-07 Gerd Moellmann <gerd@gnu.org>
3634
3635 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
3636
3637 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
3638
3639 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
3640
3641 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
3642
3643 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
3644 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
3645
3646 * alloc.c (inhibit_garbage_collection): Simplify.
3647 (Fmemory_use_counts): Ditto.
3648
3649 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
3650 (syms_of_data): DEFVAR_INT most-positive-fixnum and
3651 most-negative-fixnum.
3652
3653 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
3654 (FIXNUM_OVERFLOW_P): New macros.
3655
3656 2001-10-06 Miles Bader <miles@gnu.org>
3657
3658 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
3659 scroll_bar_bottom_shadow_pixel fields.
3660 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
3661 for the shadows, and tell the toolkit about them if we succeed.
3662 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
3663 Free scroll-bar shadow colors.
3664 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
3665 Free scroll-bar shadow colors when the background color changes.
3666 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
3667 Initialize scroll-bar shadow-color fields.
3668
3669 2001-10-05 Gerd Moellmann <gerd@gnu.org>
3670
3671 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
3672
3673 2001-10-05 Miles Bader <miles@gnu.org>
3674
3675 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
3676 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
3677 New functions (were in simple.el).
3678 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3679 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
3680 (syms_of_minibuf): Initialize them.
3681
3682 2001-10-05 Gerd Moellmann <gerd@gnu.org>
3683
3684 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
3685 (tiff_load): Install them as error and warning handler.
3686
3687 2001-10-04 Andrew Innes <andrewi@gnu.org>
3688
3689 * w32fns.c (x_to_w32_color): Fix argument to alloca.
3690 (w32_load_system_font): Don't believe what GetLanguageFontInfo
3691 says; query codepage info directly to determine if font is double byte.
3692 (x_to_w32_charset): Handle private format for unknown charsets.
3693 Handle wildcards in charset spec, by ignoring them.
3694 (w32_codepage_for_font): Fix argument to alloca. Don't remove
3695 "*-" prefix from charset.
3696 (x_to_w32_font): Enlarge remainder array for safety. Specifically
3697 handle the truncated font spec form constructed by font_list_1, so
3698 that we correctly identify the charset fields. Don't remove "*-"
3699 prefix from charset.
3700 (w32_list_synthesized_fonts): Fix argument to alloca.
3701
3702 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
3703
3704 * window.h (MINI_WINDOW_P): Use NILP.
3705
3706 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
3707
3708 * termhooks.h (struct input_event): Use proper type for `kind'.
3709
3710 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3711
3712 This handles unknown keysyms better than before. For example,
3713 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
3714 Emacs formerly completely ignored F5. With the change, it derives
3715 a key symbol from the name of the X keysym, `ccaron' in this case.
3716 Reported by Martin Buchholz.
3717
3718 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
3719 unknown keysyms.
3720
3721 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
3722 that EVENT->code isn't a function key, use the keysym's name.
3723
3724 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3725
3726 FOREACH is a macro that should make it easier to loop over Lisp
3727 lists with checks for cycles and proper lists.
3728
3729 * lisp.h (LIST_END_P, FOREACH): New macros.
3730
3731 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3732
3733 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
3734 called for a lost connection. Prevent dumping core in this case.
3735 Instead print the X error, and exit. On user request.
3736
3737 * xterm.c (error_msg): New variable.
3738 (x_fatal_error_signal): New function.
3739 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
3740 as fatal_error_signal_hook around the call to XtCloseDisplay.
3741
3742 * emacs.c (fatal_error_signal_hook): New variable.
3743 (fatal_error_signal): Call that function.
3744
3745 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3746
3747 With this, Emacs prints how much pure storage it will
3748 approximately need in case pure storage overflows while dumping.
3749
3750 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
3751 New variables.
3752 (init_alloc_once): Initialize new variables.
3753 (PURE_POINTER_P): Use new variables.
3754 (pure_alloc): If pure storage overflows, allocate from the heap.
3755 (check_pure_size): New function.
3756 (Fgarbage_collect): Don't GC if pure storage has overflowed.
3757
3758 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
3759 (check_pure_size): Add prototype.
3760
3761 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
3762
3763 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3764
3765 This adds a post-gc-hook that's run with GC inhibited.
3766 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
3767
3768 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
3769 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
3770 (Fgarbage_collect): Run post-gc-hook.
3771
3772 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3773
3774 This adds `defvaralias' and `indirect-variable'. Changes not
3775 directly related to this feature are there to gain the same
3776 performance again as before variable aliases.
3777
3778 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
3779 code to get and set symbol values, to take defvaralias into account.
3780
3781 (Note: the new `constant' bit-flag in symbols would make it
3782 possible to define arbitrary read-only variables, e.g. with
3783 `defconst'.)
3784
3785 Documentation is in lispref/variables.texi. Added to NEWS.
3786
3787 * lisp.h (enum symbol_interned): New enumeration.
3788 (struct Lisp_Symbol): Remove member `obarray', add
3789 `indirect_variable', `constant', and `interned'.
3790 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
3791 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
3792 (indirect_variable): Add prototype.
3793
3794 * print.c (print_preprocess, print_object): Test internedness of
3795 symbols differently.
3796
3797 * lread.c (Fintern, Funintern): Set symbol's interned and constant
3798 bit-fields.
3799 (init_obarray): Likewise for t and nil.
3800
3801 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3802 (Fdefvaralias): New function.
3803 (specbind): Simplify the test if symbol is a constant.
3804 (syms_of_eval): Defsubr Fdefvaralias.
3805
3806 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3807 (Qcyclic_variable_indirection): New variable.
3808 (Fkeywordp): Check for internedness differently.
3809 (Fmakunbound): Simplify the test if symbol is a constant.
3810 (indirect_variable, Findirect_variable): New functions.
3811 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
3812 aliased symbol.
3813 (let_shadows_buffer_binding_p): Check for variable aliases.
3814 (set_internal): Simplify the test if SYMBOL is a constant.
3815 If SYMBOL has a buffer-local value and is an alias, use the aliased
3816 symbol instead.
3817 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
3818 Sindirect_variable.
3819
3820 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
3821 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
3822 set directly.
3823
3824 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
3825
3826 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
3827 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
3828 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
3829
3830 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3831
3832 * Branch for 21.1.
3833
3834 2001-10-03 Miles Bader <miles@gnu.org>
3835
3836 * callproc.c (syms_of_callproc): Explicitly state in the
3837 documentation for `process-environment' that earlier entries take
3838 precedence over later ones.
3839
3840 2001-10-02 Miles Bader <miles@gnu.org>
3841
3842 * textprop.c (Fnext_char_property_change)
3843 (Fprevious_char_property_change): Remove reference to non-existant
3844 argument OBJECT from doc-string.
3845
3846 2001-10-01 Gerd Moellmann <gerd@gnu.org>
3847
3848 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
3849 (try_window_id): Skip back over lines ending in a newline from a
3850 string.
3851
3852 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
3853 New bit flag
3854
3855 2001-10-01 Richard M. Stallman <rms@gnu.org>
3856
3857 * search.c (Freplace_match): Doc fix.
3858
3859 2001-09-28 Andrew Innes <andrewi@gnu.org>
3860
3861 * w32menu.c (set_frame_menubar): Take into account that
3862 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3863 <raeburn@gnu.org>.
3864
3865 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
3866
3867 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
3868
3869 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3870
3871 * s/gnu-linux.h: Fix a typo in comment.
3872
3873 2001-09-28 Andreas Schwab <schwab@suse.de>
3874
3875 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
3876 nocombreloc, in case -z combreloc is the default.
3877
3878 2001-09-28 Gerd Moellmann <gerd@gnu.org>
3879
3880 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
3881 really going on here.
3882
3883 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
3884
3885 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
3886
3887 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
3888
3889 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
3890 utf-8, menu-bar, and latin-N.
3891 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
3892 unconditionally now.
3893 (lisp): Add latin-N, since they are preloaded.
3894
3895 2001-09-27 Gerd Moellmann <gerd@gnu.org>
3896
3897 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
3898 to the left. Some cleanup.
3899
3900 * xdisp.c (display_mode_element): One more case where a string's
3901 multibyteness should be used for display.
3902
3903 2001-09-26 Gerd Moellmann <gerd@gnu.org>
3904
3905 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
3906 reading at EOF.
3907
3908 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
3909 of the only temporarily set echoing flag for deciding when
3910 the cancel echoing.
3911
3912 * keyboard.c (echo_kboard): Make externally visible.
3913
3914 * lisp.h (echo_kboard): Declare extern.
3915
3916 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
3917 fonts_changed_p if we need larger matrices due to vscrolling.
3918 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
3919 this round of redisplay if make_cursor_line_fully_visible fails.
3920 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
3921 (try_cursor_movement, try_scrolling): Use them instead of integers.
3922
3923 * dispextern.h (required_matrix_width, required_matrix_height):
3924 Add prototypes.
3925
3926 * dispnew.c (required_matrix_width, required_matrix_height):
3927 New functions.
3928 (allocate_matrices_for_window_redisplay)
3929 (allocate_matrices_for_frame_redisplay: Use them.
3930 Remove parameters CH_DIM.
3931
3932 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3933 and selected_window to the frame of the window whose mode-lines
3934 are displayed, and to the window itself.
3935 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
3936 here.
3937
3938 2001-09-25 Gerd Moellmann <gerd@gnu.org>
3939
3940 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3941 the image cache under us.
3942
3943 * xdisp.c (display_mode_element): If the mode element is a symbol
3944 with a string value, use that string's multibyteness for displaying.
3945
3946 * keyboard.c (read_char): Don't clear a message for a switch-frame
3947 event. From Stefan Monnier <monnier@cs.yale.edu>.
3948
3949 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3950 version for after 21.1.
3951
3952 * xdisp.c (row_containing_pos): Make externally visible.
3953
3954 * dispextern.h (row_containing_pos): Add prototype.
3955
3956 * process.c (send_process): Disable composition if from_byte < 0.
3957 From Kenichi Handa <handa@etl.go.jp>.
3958
3959 2001-09-24 Gerd Moellmann <gerd@gnu.org>
3960
3961 * xterm.c (refreshicon): Function removed.
3962
3963 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3964
3965 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3966
3967 * xterm.c (toplevel): Remove includes in #if 0.
3968
3969 * process.c (sigchld_handler) [LINUX]: Don't return from
3970 the signal handler at the end of the loop.
3971
3972 2001-09-21 Gerd Moellmann <gerd@gnu.org>
3973
3974 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3975 Terminate only if kill returns -1, and errno is ESRCH.
3976
3977 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
3978
3979 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3980
3981 2001-09-20 Gerd Moellmann <gerd@gnu.org>
3982
3983 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3984 since this function can be called during GC.
3985
3986 * callproc.c (Fcall_process): Handle errors from pipe(2).
3987 (child_setup): Delete code in #ifdef vipc.
3988
3989 2001-09-19 Gerd Moellmann <gerd@gnu.org>
3990
3991 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3992 (display_mode_element): Display the string from decode_mode_spec
3993 depending on its multibyteness.
3994
3995 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3996
3997 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3998
3999 2001-09-18 Gerd Moellmann <gerd@gnu.org>
4000
4001 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
4002 recursive_edit_unwind.
4003 (recursive_edit_unwind): Set kboard state according to
4004 SINGLE-KBOARD.
4005
4006 * buffer.c (modify_overlay): Don't do nothing if START == END;
4007 This can still be a modification, for example when an overlay has
4008 a before-string or after-string.
4009 (Fdelete_overlay): Prevent redisplay optimizations when deleting
4010 an overlay with before-string or after-string.
4011
4012 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
4013 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
4014
4015 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
4016 first_unchanged_at_end_row is in front of
4017 last_unchanged_at_beg_row. This code should be removed after the
4018 release of 21.1.
4019
4020 2001-09-17 Gerd Moellmann <gerd@gnu.org>
4021
4022 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
4023 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
4024
4025 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
4026 versions >= 2.95.
4027
4028 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
4029
4030 * dired.c (Ffile_attributes): Doc fix.
4031
4032 2001-09-14 Gerd Moellmann <gerd@gnu.org>
4033
4034 * fileio.c (Ffile_symlink_p): Fix last change.
4035
4036 * filelock.c (current_lock_owner): Fix last change.
4037
4038 2001-09-13 Gerd Moellmann <gerd@gnu.org>
4039
4040 * filelock.c (current_lock_owner): If readlink returns ERANGE,
4041 take that to mean that the buffer is too small.
4042
4043 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
4044 that to mean that the buffer is too small.
4045
4046 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
4047 current buffer's multibyteness when discarding the iterator's
4048 stack.
4049
4050 * xfns.c (Fx_window_property): Handle case that property gets
4051 deleted between the two calls to XGetWindowProperty.
4052
4053 2001-09-11 Gerd Moellmann <gerd@gnu.org>
4054
4055 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
4056
4057 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
4058 in addition to read-only.
4059
4060 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
4061 to t in addition to read-only.
4062
4063 * lisp.h (Qinhibit_modification_hooks): Declare.
4064
4065 * insdel.c (Qinhibit_modification_hooks): New variable.
4066 (syms_of_insdel): Initialize and staticpro it.
4067
4068 * textprop.c (verify_interval_modification): Don't run
4069 modification-hooks if inhibit_modification_hooks.
4070
4071 * dispnew.c (set_window_cursor_after_update): Fix code
4072 finding glyph row containing cursor when cursor_in_echo_area
4073 is >= 0.
4074
4075 * xdisp.c (init_from_display_pos): Put some code in #if 0.
4076 (add_to_log): Use bcopy instead of strcpy.
4077 (init_from_display_pos): Use an explicit loop over bytes in
4078 overlay strings instead of calling index.
4079
4080 2001-09-10 Gerd Moellmann <gerd@gnu.org>
4081
4082 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
4083
4084 * dispnew.c (direct_output_for_insert): Don't change IT's
4085 stop_charpos to something in front of its current position.
4086
4087 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
4088 `format'.
4089
4090 2001-09-10 Richard M. Stallman <rms@gnu.org>
4091
4092 * frame.c (Fmouse_position): Doc fix.
4093
4094 2001-09-07 Gerd Moellmann <gerd@gnu.org>
4095
4096 * xdisp.c (init_from_display_pos): Don't compare the result
4097 of calling index with NULL.
4098
4099 2001-09-06 Gerd Moellmann <gerd@gnu.org>
4100
4101 * xfns.c (x_set_background_color): Don't change the colors
4102 of the X window of scroll bar widgets.
4103
4104 2001-09-05 Andrew Innes <andrewi@gnu.org>
4105
4106 * w32fns.c (w32_createwindow): Undo last change.
4107
4108 2001-09-05 Gerd Moellmann <gerd@gnu.org>
4109
4110 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
4111
4112 * xdisp.c (string_buffer_position): Use *single_char_property*
4113 functions instead of the *single_property* functions.
4114
4115 2001-09-04 Andrew Innes <andrewi@gnu.org>
4116
4117 * w32term.c (w32_read_socket): Add more information to debugging
4118 output.
4119
4120 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
4121 from Emacs frames, so that calls to GetClipBox in w32term.c
4122 correctly report when part of a frame is visible (including
4123 scrollbars, etc). This prevents repeated redrawing of frames when
4124 only a scrollbar is visible.
4125 (w32_wnd_proc): Add more frame information to debugging output.
4126
4127 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
4128
4129 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
4130
4131 2001-09-03 Gerd Moellmann <gerd@gnu.org>
4132
4133 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
4134 help-echo for a string which doesn't have help-echo itself, use
4135 get-char-property to obtain the help-echo from the string's buffer
4136 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
4137 have mouse-face, look ``under'' the string for mouse-face from an
4138 overlay.
4139 (fast_find_position): Add parameter STOP. In the final row, stop
4140 before glyphs having STOP as object. Don't consider glyphs that
4141 are not from a buffer.
4142
4143 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
4144
4145 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
4146
4147 * fns.c (Fmd5): Doc fix.
4148
4149 2001-08-31 Gerd Moellmann <gerd@gnu.org>
4150
4151 * composite.c (update_compositions): Do nothing if
4152 inhibit-modification-hooks is set.
4153
4154 2001-08-30 Gerd Moellmann <gerd@gnu.org>
4155
4156 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
4157 and check_message_stack if terminating abnormally. We want
4158 glyph matrices etc. in a core dump.
4159
4160 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
4161 (syms_of_xdisp): Initialize them.
4162 (handle_single_display_prop): Don't change point, bind `object',
4163 `position', and `buffer-position' instead to the object having the
4164 `display' property, position in the object and position in the buffer.
4165
4166 * fileio.c (Finsert_file_contents): Don't change the multibyteness
4167 of the buffer if REPLACE is non-nil.
4168
4169 2001-08-29 Gerd Moellmann <gerd@gnu.org>
4170
4171 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
4172
4173 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
4174
4175 * w32term.c (x_set_glyph_string_background_width)
4176 (show_mouse_face): Track the last changes in xterm.c.
4177
4178 2001-08-28 Gerd Moellmann <gerd@gnu.org>
4179
4180 * xterm.c (x_set_glyph_string_background_width): Set the glyph
4181 string's background width so that multi-line mouse-face is drawn
4182 to the right edge of the window.
4183 (show_mouse_face): Set the row's mouse_face_p flag after drawing
4184 glyphs.
4185
4186 * dispnew.c (direct_output_for_insert): Set updated_area
4187 before inserting/writing glyphs.
4188
4189 * xdisp.c (display_mode_element): Use string_byte_to_char to
4190 determine character positions in strings, use chars_in_text
4191 instead of strwidth.
4192 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
4193 a matrix as parameter; this is easier to use from GDB.
4194
4195 2001-08-28 Miles Bader <miles@gnu.org>
4196
4197 * textprop.c (Fprevious_single_char_property_change)
4198 (Fnext_single_char_property_change): Doc fixes.
4199
4200 2001-08-27 Gerd Moellmann <gerd@gnu.org>
4201
4202 * fileio.c (Finsert_file_contents): Allocate, restore, and
4203 free composition data in the case of REPLACE not being nil.
4204
4205 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
4206 there exist overlay strings with newlines at POS.
4207 (text_outside_line_unchanged_p): Return 0 if changes start at
4208 START and overlays exist at START. Likewise for END.
4209 (try_window_id): Give up if init_to_row_end returns 0.
4210
4211 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
4212 unconditionally.
4213
4214 2001-08-24 Gerd Moellmann <gerd@gnu.org>
4215
4216 * keymap.c (access_keymap): Return the cdr of the binding of
4217 a generic character instead of its definition (KEY . BINDING).
4218
4219 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
4220 to 0 also in the REPLACE case.
4221
4222 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
4223
4224 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
4225 open to determine whether file is readable (as for DOS_NT).
4226
4227 2001-08-23 Gerd Moellmann <gerd@gnu.org>
4228
4229 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
4230 coding.type is coding_type_no_conversion or coding_type_raw_text,
4231 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
4232 non-nil instead of just setting enable_multibyte_characters in the
4233 buffer to nil.
4234
4235 2001-08-22 Gerd Moellmann <gerd@gnu.org>
4236
4237 * dispextern.h (struct face_cache): Add member
4238 menu_face_changed_p.
4239
4240 * xfaces.c (menu_face_changed_default): New variable.
4241 (menu_face_changed_count): Variable removed.
4242 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
4243 the menu_face_changed_default flag, otherwise set the FRAME's
4244 menu_face_changed_p flag if the `menu' face has been changed.
4245 Prevent calling set_font_frame_param if FRAME is t.
4246 (make_face_cache): Initialize cache's menu_face_changed_p
4247 from menu_face_changed_default.
4248 (realize_basic_faces): Look into the frame's face cache to
4249 determine if the menu appearance needs updating.
4250
4251 * keymap.c (access_keymap): Fix last change to not consider
4252 IDX when it has modifiers.
4253
4254 2001-08-21 Gerd Moellmann <gerd@gnu.org>
4255
4256 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
4257 . BINDING) exists, where GENERIC-CHAR is the generic character of
4258 the charset of IDX, return BINDING unless there exists a binding
4259 for IDX itself.
4260
4261 2001-08-16 Gerd Moellmann <gerd@gnu.org>
4262
4263 * xrdb.c (SYSV): Don't define on Solaris 2.
4264 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4265
4266 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
4267 of the screen line, not text line, containing IT's current position.
4268
4269 2001-08-15 Gerd Moellmann <gerd@gnu.org>
4270
4271 * window.c (window_scroll_pixel_based): Don't recenter if
4272 PT is partially visible in the window.
4273
4274 * xterm.c (expose_window_tree, expose_window, expose_line):
4275 Return 1 when overwriting mouse-face.
4276 (expose_frame): If mouse-face was overwritten, redo it.
4277
4278 * xfaces.c (x_update_menu_appearance): Don't call
4279 set_frame_menubar, let the next redisplay do it.
4280
4281 2001-08-14 Andrew Innes <andrewi@gnu.org>
4282
4283 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4284 drawing glyph string.
4285
4286 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
4287
4288 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
4289 running HI-UX/MPP.
4290
4291 2001-08-14 Gerd Moellmann <gerd@gnu.org>
4292
4293 * xfaces.c (x_update_menu_appearance): Save and restore value of
4294 interrupt_input_blocked.
4295
4296 2001-08-13 Gerd Moellmann <gerd@gnu.org>
4297
4298 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
4299 a line start, move back to the line start.
4300
4301 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
4302 exactly when a mini-buffer is active.
4303
4304 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
4305 in units of 1/8 character on non window-system frames.
4306 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4307
4308 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4309
4310 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
4311 a doc string.
4312
4313 2001-08-09 Gerd Moellmann <gerd@gnu.org>
4314
4315 * keyboard.c (Vpre_help_message): New variable.
4316 (syms_of_keyboard): Initialize and staticpro it.
4317 (show_help_echo): Record current message before displaying a
4318 help-echo, and restore that message when clearing the help.
4319
4320 * xfns.c (x_create_im): Remove prototype.
4321
4322 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
4323
4324 * dispnew.c (adjust_glyph_matrix): Undo last change.
4325
4326 2001-08-08 Gerd Moellmann <gerd@gnu.org>
4327
4328 * dispnew.c (adjust_glyph_matrix): In the optimization for
4329 windows whose height has changed, disable partially visible lines.
4330
4331 2001-08-07 Gerd Moellmann <gerd@gnu.org>
4332
4333 * window.c (Frecenter): If ARG < 0, and on a window system
4334 frame, count in some empty lines when we can't move -ARG lines down.
4335
4336 * xdisp.c (start_display): Don't try to determine the continuation
4337 lines width if lines are truncated. It's superfluous and leads to
4338 incorrect results if POS is not visible in the window after
4339 reseating the iterator at the previous line start.
4340
4341 2001-08-06 Gerd Moellmann <gerd@gnu.org>
4342
4343 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
4344
4345 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
4346
4347 * alloc.c (init_stack): Remove declaration.
4348
4349 2001-08-03 Gerd Moellmann <gerd@gnu.org>
4350
4351 * keyboard.c (read_key_sequence): Check that key is an integer
4352 before comparing it with quit_char.
4353 (add_command_key): Use larger_vector.
4354 (read_char_x_menu_prompt): Instead of converting symbol and
4355 integer events into conses (EVENT . nil), use (EVENT . disabled)
4356 which cannot be confused with valid events.
4357 (read_char): When reading from Vunread_command_events, check for
4358 events of the form (EVENT . disabled) instead of
4359 (EVENT . nil).
4360
4361 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
4362 a float, determine the max height from the frame's height.
4363
4364 2001-08-02 Gerd Moellmann <gerd@gnu.org>
4365
4366 * xdisp.c (redisplay_internal): Take message_cleared_p into
4367 account only if minibuf_level == 0.
4368
4369 2001-08-01 Gerd Moellmann <gerd@gnu.org>
4370
4371 * xdisp.c (redisplay_internal): Add a check for the last
4372 displayed message.
4373
4374 * xdisp.c (message_cleared_p): New variable.
4375 (clear_message): Set message_cleared_p when clearing the current
4376 message.
4377 (redisplay_internal): Look at message_cleared_p to capture
4378 the case that the echo area should be cleared.
4379
4380 * keyboard.c (command_loop_1): Fix spelling of
4381 resize_echo_area_exactly.
4382
4383 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
4384
4385 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
4386
4387 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
4388 current matrix when the window gets smaller.
4389
4390 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
4391
4392 * print.c (strout): Cast the character passed to insert_char to
4393 unsigned char, to avoid sign extension when it is promoted to int.
4394
4395 2001-07-31 Gerd Moellmann <gerd@gnu.org>
4396
4397 * fileio.c (Finsert_file_contents): Don't treat a return value
4398 of 0 from emacs_read as an IO error.
4399
4400 2001-07-30 Gerd Moellmann <gerd@gnu.org>
4401
4402 * keyboard.c (abs): New macro.
4403 (double_click_fuzz): New variable.
4404 (make_lispy_event): Use it to determine what makes a double-click.
4405 (syms_of_keyboard): DEFVAR_INT it.
4406
4407 * xmenu.c (set_frame_menubar): Take into account that
4408 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4409 <raeburn@gnu.org>.
4410
4411 2001-07-27 Gerd Moellmann <gerd@gnu.org>
4412
4413 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4414
4415 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4416 of row's visible height.
4417
4418 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
4419 deal with the first overlay string having an image `display' property.
4420 (try_window_reusing_current_matrix, compute_line_metrics):
4421 Fix computation of row's visible height for the case that part of the
4422 row is invisible above and part of the row is at the same time
4423 invisible below the window.
4424
4425 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4426
4427 * xfns.c (x-show-tip): Doc fix.
4428
4429 * xfns.c (Vx_max_tooltip_size): New variable.
4430 (syms_of_xfns): DEFVAR_LISP it.
4431 (Fx_show_tip): Set frame's window_width to the width of the
4432 window. Use a maximum tooltip size specified by
4433 Vx_max_tooltip_size, if that has valid contents.
4434 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
4435
4436 2001-07-26 Andrew Innes <andrewi@gnu.org>
4437
4438 * w32term.c (x_display_list): New variable.
4439 (w32_term_init): Set it.
4440
4441 * w32term.h (x_display_list): New extern.
4442
4443 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4444
4445 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
4446 is non-nil, instead of when redisplaying_p is non-zero.
4447 See comment there.
4448 (mark_window_display_accurate_1): Add an assertion.
4449
4450 2001-07-25 Gerd Moellmann <gerd@gnu.org>
4451
4452 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4453
4454 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4455 events so that we get a chance of processing expose events.
4456
4457 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4458
4459 2001-07-24 Gerd Moellmann <gerd@gnu.org>
4460
4461 * xfns.c (valid_image_p): Protect better against invalid image
4462 specifications. Previous code could signal an error.
4463
4464 2001-07-23 Gerd Moellmann <gerd@gnu.org>
4465
4466 * indent.c (current_column): Fix column computation in the
4467 presence of display table entries.
4468 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4469
4470 * dispnew.c (adjust_glyph_matrix): In the optimization for
4471 windows whose height has changed, use the new window height
4472 to compute which rows to invalidate.
4473
4474 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4475 (MAX_10_EXP): New macro.
4476 (Fformat): Use it.
4477
4478 * coding.c (code_convert_region): Handle the multibyte case if
4479 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4480
4481 2001-07-20 Gerd Moellmann <gerd@gnu.org>
4482
4483 * dispextern.h (struct face): Change type of `stipple' to
4484 int; it's an ID.
4485
4486 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4487
4488 2001-07-19 Gerd Moellmann <gerd@gnu.org>
4489
4490 * dispnew.c (update_window): Don't set the cursor at the end
4491 of the update if display update has been paused.
4492
4493 * composite.h (syms_of_composite): Renamed from syms_of_composition.
4494
4495 2001-07-18 Ken Raeburn <raeburn@gnu.org>
4496
4497 * fns.c (Fset_char_table_default): Check that a charset is defined
4498 before checking its dimension.
4499
4500 2001-07-17 Ken Raeburn <raeburn@gnu.org>
4501
4502 * coding.c (setup_coding_system): Don't do any designation based
4503 on reg_bits if charset is not yet defined.
4504
4505 * lisp.h (XVECTOR): Verify correct object type before returning a
4506 pointer, using eassert.
4507
4508 2001-07-17 Gerd Moellmann <gerd@gnu.org>
4509
4510 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4511 Increase to 4096 because of paste problems reported on GNU/Linux.
4512
4513 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4514
4515 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4516
4517 2001-07-16 Gerd Moellmann <gerd@gnu.org>
4518
4519 * fileio.c (unwind_read): Function removed.
4520 (read_non_regular, read_non_regular_quit): New functions.
4521 (Finsert_file_contents): When reading from non-regular files,
4522 arrange to catch a `quit' and terminate the loop. Rearrange
4523 code so that a `quit' when reading from a regular file doesn't
4524 insert text in the buffer.
4525
4526 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4527 Clear faces afterwards.
4528 (clear_font_table): Take a x_display_info parameter. Don't free
4529 fonts being the default font of any frame on the given display.
4530
4531 2001-07-13 Gerd Moellmann <gerd@gnu.org>
4532
4533 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4534 instead of CHAR_STRING which can signal an error.
4535
4536 * charset.c (char_to_string_1): Extracted from char_to_string.
4537 Return -1 instead of signaling an error.
4538 (char_to_string): Use it.
4539
4540 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4541
4542 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4543
4544 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4545 is t, don't try to append anything to it.
4546
4547 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4548
4549 * dired.c (file_name_completion): Pass dp->d_name to
4550 Fstring_match, not elt, which is always nil here.
4551
4552 2001-07-12 Gerd Moellmann <gerd@gnu.org>
4553
4554 * xselect.c (x_decline_selection_request): Handle errors
4555 caused by receivers that have vanished.
4556
4557 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4558 ignoring events on foreign windows in #if 0. Always dispatch
4559 the event after checking it with x_handle_property_notify.
4560
4561 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
4562 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
4563 TRACE macros to facilitate debugging. Add additional trace statements.
4564 (toplevel): Add prototypes for file-local functions.
4565 (x_atom_to_symbol): Remove DPYINFO parameter.
4566
4567 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
4568
4569 * w32menu.c (menubar_selection_callback, w32_menu_show):
4570 Initialize `entry' to nil.
4571 (w32_dialog_show): Remove unused `save_wv' variable.
4572 (name_is_separator): Recognize "--:foo" and "--foo-bar".
4573
4574 2001-07-11 Gerd Moellmann <gerd@gnu.org>
4575
4576 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
4577
4578 * fileio.c (unwind_read): Print a message when discarding inserted
4579 text or switching the buffer to unibyte. Change parameter.
4580 (Finsert_file_contents): Don't pass VISIT to unwind_read.
4581
4582 * fileio.c (unwind_read): New function.
4583 (Finsert_file_contents): Record it as unwind-function for
4584 the case that reading is interrupted by C-g.
4585
4586 2001-07-10 Gerd Moellmann <gerd@gnu.org>
4587
4588 * dispnew.c (update_window): Don't skip the header-line
4589 update when scrolling_window returns 0.
4590
4591 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
4592
4593 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
4594 for the case that x_decode_color signals an error.
4595
4596 * xdisp.c (add_to_log): Do nothing if called asynchronously.
4597
4598 2001-07-09 Gerd Moellmann <gerd@gnu.org>
4599
4600 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
4601 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
4602 around ioctls.
4603
4604 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
4605
4606 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
4607 doc string line for dos-timezone-offset.
4608
4609 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
4610 inline assembly, to avoid compiler warnings.
4611 (syms_of_msdos): Add \n\ at the end of a line in the doc string
4612 line for dos-unsupported-char-glyph.
4613
4614 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
4615
4616 2001-07-05 Gerd Moellmann <gerd@gnu.org>
4617
4618 * sound.c: Include Emacs' header files with #include "...".
4619
4620 * eval.c (specbind): Additionally record the buffer that was
4621 current when a buffer-local or frame-local variable was bound.
4622
4623 2001-07-04 Gerd Moellmann <gerd@gnu.org>
4624
4625 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
4626 to unibyte characters in unibyte buffers.
4627
4628 2001-07-03 Gerd Moellmann <gerd@gnu.org>
4629
4630 * eval.c (specbind): If SYMBOL has a frame-local binding, record
4631 the frame on the binding stack. Change format of entries for
4632 local bindings on the binding stack to '(SYMBOL . WHERE)'.
4633 (unbind_to): Handle unbinding a frame-local variable.
4634
4635 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
4636 glyphs and truncation glyphs at the end of a row from its pixel width.
4637 (dump_glyph_row): Print row's continuation_lines_width.
4638 (try_window_id): Take the shortcut if ZV is visible in the
4639 window, but there are actually no changes at ZV.
4640
4641 2001-07-02 Gerd Moellmann <gerd@gnu.org>
4642
4643 * xterm.h (x_free_dpy_colors): Add prototype.
4644
4645 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
4646 right number of arguments.
4647
4648 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
4649 ($(lwlibdir)TAGS): New target.
4650 (TAGS): Fix dependency list.
4651
4652 * xterm.c (x_list_fonts): Make sure XFreeFont is called
4653 with input blocked.
4654
4655 2001-06-30 Gerd Moellmann <gerd@gnu.org>
4656
4657 * emacs.c (main): Remove extern declaration for sys_nerr, which
4658 isn't used and causes a compilation error with GCC 3.0 on
4659 FreeBSD 4.3.
4660
4661 2001-06-27 Gerd Moellmann <gerd@gnu.org>
4662
4663 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
4664 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
4665 (toplevel): Include <signal.h> and syssignal.h.
4666
4667 * sound.c (vox_configure, vox_close): Turn off atimers
4668 around ioctls.
4669
4670 2001-06-26 Gerd Moellmann <gerd@gnu.org>
4671
4672 * keyboard.c (read_char) <non_reread>: Record the previous idle
4673 start time before calling timer_stop_idle.
4674 (read_char) <reread_first>: After processing a help-echo event,
4675 restore the previous idle start time.
4676
4677 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
4678 the start of invisible text.
4679 (setup_for_ellipsis): New function.
4680 (next_overlay_string): After all overlay strings have been
4681 processed, display an ellipsis if necessary.
4682 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
4683 (push_it): Initialize display_ellipsis_p on the iterator's stack.
4684
4685 * dispextern.h (struct iterator_stack_entry): Add member
4686 display_ellipsis_p.
4687
4688 2001-06-25 Gerd Moellmann <gerd@gnu.org>
4689
4690 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
4691 on the value of the wait-for-wm frame parameter.
4692
4693 * xterm.h (struct x_output): Add member wait_for_wm.
4694
4695 * xfns.c (Qwait_for_wm): New variable.
4696 (x_frame_parms): Add entry for `wait-for-wm".
4697 (x_set_wait_for_wm): New function.
4698 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
4699 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
4700
4701 * xdisp.c (try_window_id) <all changes below window end>: Don't
4702 take this shortcut if ZV is visible in the window.
4703 (try_window_id): When checking for window start being in changed
4704 text, don't check that the buffer's size has changed.
4705
4706 2001-06-23 Richard M. Stallman <rms@gnu.org>
4707
4708 * minibuf.c (Fcompleting_read): Doc fix.
4709
4710 2001-06-19 Gerd Moellmann <gerd@gnu.org>
4711
4712 * composite.c (Ffind_composition_internal): Accept ZV
4713 and a string's end position as POS.
4714
4715 2001-06-18 Gerd Moellmann <gerd@gnu.org>
4716
4717 * composite.c (Ffind_composition_internal): Check POS
4718 for validity.
4719
4720 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4721
4722 * editfns.c (Fmessage_box): If the frame is not under a window
4723 system, output the message in the echo area.
4724
4725 2001-06-14 Richard M. Stallman <rms@gnu.org>
4726
4727 * xdisp.c (try_window_id): When EOB is visible, don't treat
4728 insertion at EOB as if it were "off the bottom of the screen."
4729
4730 2001-06-11 Andrew Innes <andrewi@gnu.org>
4731
4732 * w32proc.c (create_child): Add new parameter is_gui_app.
4733 (w32_executable_type): Add new parameter is_gui_app.
4734 (sys_spawnve): Use it.
4735 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
4736 SIGQUIT. This matches better how the signals are interpreted by
4737 MSVC compiled programs.
4738 (syms_of_ntproc): Update docstring.
4739
4740 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
4741
4742 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
4743 well otherwise note_mouse_highlight might optimize away highlighting
4744 if we pass over that same overlay again.
4745
4746 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
4747
4748 * lread.c (Fload): Document that the argument is run via
4749 substitute-in-file-name.
4750
4751 2001-05-31 Gerd Moellmann <gerd@gnu.org>
4752
4753 * Makefile.in (bootstrap-doc): New target.
4754 (bootstrap-emacs): Depend on it.
4755
4756 * fileio.c (Fdo_auto_save): Don't try to create the directory of
4757 auto-save-list-file-name when shutting down Emacs, because
4758 creating the directory might signal an error, and leaves
4759 Emacs in a strange state.
4760
4761 * term.c: (tty_cursor_hidden): New variable.
4762 (update_begin): Don't call tty_hide_cursor. Clean up.
4763 (update_end, set_terminal_window, set_scroll_region): Clean up.
4764 (ring_bell, reset_terminal_modes): Clean up.
4765 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
4766 on tty_cursor_hidden.
4767 (write_glyphs): Call tty_hide_cursor.
4768
4769 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
4770
4771 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
4772
4773 2001-05-30 Gerd Moellmann <gerd@gnu.org>
4774
4775 * xfns.c (enum image_value_type): New enumerator
4776 IMAGE_STRING_OR_NIL_VALUE.
4777 (parse_image_spec): Handle it.
4778 (xbm_format, pbm_format): Use it for :foreground and :background.
4779 (xbm_load, pbm_load): Check for nil color names.
4780
4781 * xterm.c (note_mouse_highlight): If an overlapping overlay
4782 exists, but we find that we highlight the same overlay as before,
4783 don't do the highlighting again.
4784
4785 2001-05-29 Gerd Moellmann <gerd@gnu.org>
4786
4787 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
4788 Protect unibyte strings created by replacing their multibyte
4789 equivalents in menu_items.
4790
4791 * keymap.c (Fsingle_key_description): NUL-terminate the string
4792 buffer before calling build_string.
4793
4794 * callproc.c (Fcall_process): Deal with decode_coding returning
4795 CODING_FINISH_INCONSISTENT_EOL.
4796
4797 2001-05-28 Gerd Moellmann <gerd@gnu.org>
4798
4799 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
4800 an item's name with its key description in case the description
4801 is a multibyte string.
4802
4803 * keymap.c (Fsingle_key_description): Create a multibyte string
4804 only if necessary.
4805
4806 * macros.c (Fstart_kbd_macro): Doc fix.
4807
4808 * xterm.c (cursor_in_mouse_face_p): New function.
4809 (x_draw_stretch_glyph_string): Use it to choose a different GC
4810 when drawing a cursor within highlighted text.
4811
4812 * editfns.c (char_property_eq): Put in #if 0.
4813
4814 * indent.c (string_display_width): Put in #if 0.
4815
4816 * lread.c (Fload): Remove unused label.
4817
4818 * termcap.c (speeds): Put in #if 0.
4819
4820 2001-05-18 Gerd Moellmann <gerd@gnu.org>
4821
4822 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
4823
4824 * xfaces.c (xlfd_point_size): Don't divide pixel size from
4825 transformation matrix by 10.
4826
4827 2001-05-16 Gerd Moellmann <gerd@gnu.org>
4828
4829 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
4830 only if it's equal to the former foreground pixel color.
4831 (x_set_foreground_color, x_set_background_color)
4832 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
4833
4834 2001-05-16 Dave Love <fx@gnu.org>
4835
4836 * insdel.c (signal_before_change, signal_after_change): Consider a
4837 local change hook which changes the buffer.
4838
4839 * process.c (read_process_output): Don't call signal_after_change
4840 and update_compositions after insert_from_string_before_markers.
4841
4842 2001-05-16 Gerd Moellmann <gerd@gnu.org>
4843
4844 * xfaces.c (split_font_name): Use the right field when
4845 checking for `[...]' syntax.
4846
4847 * buffer.c (copy_overlays): New function.
4848 (clone_per_buffer_values): Use it.
4849
4850 * buffer.h (OVERLAY_PLIST): New macro.
4851
4852 * keymap.c (Fsingle_key_description): Replace a build_string with
4853 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
4854
4855 * fontset.c (Ffontset_info): Check that face is non-null
4856 before accessing its fields.
4857
4858 2001-05-15 Gerd Moellmann <gerd@gnu.org>
4859
4860 * keyboard.c (read_key_sequence): Prevent generating a fake
4861 prefix key twice.
4862
4863 * xfaces.c (split_font_name): Handle `[...]' for the right
4864 font name fields.
4865
4866 * ccl.c (ccl_driver): Don't copy remaining bytes in case
4867 of CCL_STAT_INVALID_CMD.
4868
4869 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
4870
4871 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
4872 in <var> has no default value yet.
4873
4874 * xfaces.c (try_alternative_families): First try the FAMILY.
4875 And if nothing is found in the end, try again with scalable fonts.
4876 (try_font_list): Let try_alternative_families do a bit more of
4877 the work. Only use FAMILY if it is not nil.
4878 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
4879
4880 2001-05-14 Gerd Moellmann <gerd@gnu.org>
4881
4882 * xterm.c (note_mouse_highlight): Avoid changing the mouse
4883 pointer shape when show_mouse_face has already done it.
4884
4885 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
4886 full-width rows.
4887
4888 * xfaces.c (split_font_name): Make sure to leave the loop
4889 with the right value of `i'.
4890
4891 * xfaces.c (split_font_name): Handle matrix transformations
4892 in the pixel and point size fields of XLFD font names.
4893 (xlfd_point_size): Likewise.
4894
4895 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
4896
4897 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
4898 (x_to_w32_font): Add prototype.
4899
4900 * regex.c (malloc, realloc, free) [emacs]: Undefine before
4901 redefining, to avoid compiler warnings.
4902
4903 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
4904
4905 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
4906 (w32_get_bdf_glyph): Cast between unsigned char and char when
4907 passing arguments to subroutines, to shut up compiler warnings.
4908 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
4909 GET_HEX_VAL.
4910
4911 * xfaces.c: Include keyboard.h before frame.h, not after it.
4912
4913 * widget.c: Include keyboard.h before frame.h.
4914
4915 * w32term.h (struct image, struct face): Forward declaration, to
4916 avoid compiler warnings.
4917
4918 2001-05-11 Gerd Moellmann <gerd@gnu.org>
4919
4920 * keyboard.c (read_key_sequence): Don't modify events when
4921 generating fake prefix keys (mode-line, scroll-bar, ...) since
4922 this prevents proper processing of such events when pushed back
4923 into unread-command-events.
4924
4925 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4926 actually redrawn. Make the function static.
4927 (note_mouse_highlight): Fix a case where the mouse cursor
4928 was changed back to the text cursor.
4929
4930 * xterm.h (clear_mouse_face): Remove prototype.
4931
4932 * xdisp.c (try_window_id): Fix the fix and set the right
4933 window_end_vpos.
4934
4935 * xdisp.c (try_window_id): Fix computation of window end in the
4936 case that lines were deleted at the end of the window. Add some
4937 more debug_method_adds.
4938
4939 * xfaces.c (try_alternative_families): New function.
4940 (try_font_list): Use it. If ATTRS specifies a family, check
4941 fonts from that family first.
4942 (choose_face_font): Remove code setting the family part of
4943 the pattern to nil.
4944
4945 2001-05-10 Gerd Moellmann <gerd@gnu.org>
4946
4947 * xdisp.c (try_window_id): Fix case of all changes before
4948 the window start.
4949
4950 * xdisp.c (try_window_id): Add some xasserts.
4951
4952 2001-05-09 Gerd Moellmann <gerd@gnu.org>
4953
4954 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4955
4956 2001-05-09 Dave Love <fx@gnu.org>
4957
4958 * xdisp.c (GIVE_UP): Fix for K&R C.
4959
4960 2001-05-09 Gerd Moellmann <gerd@gnu.org>
4961
4962 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4963
4964 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4965 back to the text cursor shape without need.
4966
4967 2001-05-07 Gerd Moellmann <gerd@gnu.org>
4968
4969 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4970
4971 * dispextern.h (inverse_video): Declare extern.
4972
4973 * keyboard.c (delete_kboard): Handle the case that selected_frame
4974 has been deleted in the course of x_connection_closed.
4975
4976 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4977
4978 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4979 Fix the change from 2001-04-30.
4980
4981 2001-05-03 Gerd Moellmann <gerd@gnu.org>
4982
4983 * xfns.c (file_dialog_unmap_cb): New function.
4984 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4985 where a dialog is closed via the window manager.
4986
4987 * xdisp.c (try_window_id): Cases of changes all in front of
4988 the window start or all below the window end mostly rewritten.
4989 (redisplay_window): Move the tests if try_window_id is
4990 applicable to try_window_id.
4991 (GIVE_UP): New macro.
4992
4993 2001-05-02 Gerd Moellmann <gerd@gnu.org>
4994
4995 * xterm.c (expose_window): Return int. If W is the window
4996 currently being updated, mark the frame garbaged.
4997 Fix computation of rows intersecting the exposed rectangle.
4998 (expose_window_tree): Stop when expose_window returns 0.
4999
5000 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
5001 again if it has already been drawn.
5002
5003 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
5004
5005 * syntax.c (update_syntax_table): Check that oldi has the same
5006 properties as old_prop before deciding not to invalidate.
5007
5008 2001-04-30 Gerd Moellmann <gerd@gnu.org>
5009
5010 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
5011 read-only text that is so because of text properties.
5012
5013 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
5014 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
5015 windows that are components of a Lucid menu bar.
5016
5017 2001-04-27 Gerd Moellmann <gerd@gnu.org>
5018
5019 * term.c (turn_on_face): Fix reverse video handling on terminals
5020 that don't support colors.
5021
5022 2001-04-26 Gerd Moellmann <gerd@gnu.org>
5023
5024 * editfns.c (save_excursion_restore): Don't use XBUFFER on
5025 a non-buffer.
5026
5027 2001-04-25 Gerd Moellmann <gerd@gnu.org>
5028
5029 * term.c (toggle_highlight): New function.
5030 (turn_on_face): Change handling of reverse video.
5031
5032 * process.c (wait_reading_process_input):
5033 Call record_asynch_buffer_change only if a timer really changed buffers.
5034
5035 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
5036 of the number of overlays to check.
5037
5038 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
5039
5040 * xdisp.c (try_window_id): Fix a case where window_end_pos
5041 and window_end_bytepos were not adjusted.
5042
5043 2001-04-23 Gerd Moellmann <gerd@gnu.org>
5044
5045 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
5046 zero instead of -1.
5047
5048 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
5049
5050 * process.c (wait_reading_process_input) [!subprocesses]:
5051 Don't reference waiting_for_user_input_p, it's not defined in the
5052 branch without async subprocesses support.
5053
5054 2001-04-19 Gerd Moellmann <gerd@gnu.org>
5055
5056 * keyboard.c (delete_kboard): Prevent a dangling reference
5057 from current_kboard to KB, which is freed.
5058
5059 * process.c (wait_reading_process_input):
5060 Call record_asynch_buffer_change after running timers, to make
5061 read_key_sequence aware of buffer changes from under it.
5062
5063 2001-04-18 Gerd Moellmann <gerd@gnu.org>
5064
5065 * xfaces.c (Qscalable_fonts_allowed): New variable.
5066 (realizing_basic_faces_p): Removed.
5067 (x_face_list_fonts): Special handling for realizing_basic_faces_p
5068 removed.
5069 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
5070 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
5071 for scalable-fonts-allowed to t.
5072
5073 * fileio.c (Finsert_file_contents): If the file size returned from
5074 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
5075 read from files on a procfs whose contents are generated dynamically.
5076
5077 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
5078
5079 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
5080 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
5081 (__memalign_hook): Make the two prototypes consistent.
5082
5083 2001-04-17 Gerd Moellmann <gerd@gnu.org>
5084
5085 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
5086 matrix of mini-windows.
5087
5088 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
5089
5090 * intervals.c (find_interval): Don't rebalance during signal handling.
5091
5092 2001-04-11 Gerd Moellmann <gerd@gnu.org>
5093
5094 * fns.c: Include blockinput.h.
5095
5096 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
5097
5098 2001-04-10 Gerd Moellmann <gerd@gnu.org>
5099
5100 * fns.c (Fcompare_strings): Fix return values.
5101
5102 * window.c (window_scroll): Change the meaning of N to mean
5103 N screen-fulls or N lines.
5104 (window_scroll_pixel_based, window_scroll_line_based)
5105 (scroll_command, Fscroll_other_window): Change accordingly.
5106
5107 * window.c (window_scroll_pixel_based, Frecenter):
5108 Call window_box_height instead of using it.last_visible_y for the
5109 height of the window.
5110
5111 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
5112 instead of using it.last_visible_y for the height of the window.
5113
5114 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
5115 From Dan Holmsand <dan@eyebee.com>.
5116
5117 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
5118 able to write to hidden and system files. From Dan Holmsand
5119 <dan@eyebee.com>.
5120
5121 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
5122 Holmsand <dan@eyebee.com>.
5123
5124 2001-04-09 Gerd Moellmann <gerd@gnu.org>
5125
5126 * fns.c (Fplist_get, Fplist_put): Add QUITs.
5127
5128 * window.c (window_internal_height): Return 1 less if the
5129 window has a header line.
5130
5131 * xdisp.c (try_window_id): When scrolling on a terminal, take
5132 the change of window_internal_height into account.
5133
5134 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
5135
5136 * gmalloc.c (align): If the argument SIZE would overflow
5137 __malloc_ptrdiff_t, fail right away.
5138
5139 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5140
5141 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
5142 Make sure the tooltip is completely visible.
5143 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
5144
5145 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
5146
5147 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
5148
5149 2001-04-06 Dave Love <fx@gnu.org>
5150
5151 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
5152 Fix test of `from'.
5153
5154 2001-04-06 Gerd Moellmann <gerd@gnu.org>
5155
5156 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
5157
5158 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
5159
5160 2001-04-05 Gerd Moellmann <gerd@gnu.org>
5161
5162 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
5163
5164 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
5165
5166 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
5167 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
5168
5169 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
5170 shell widget's position only if it is non-null.
5171
5172 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
5173 Set f->output_data.x->widget to null after destroying it.
5174
5175 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
5176 FILENAME to bring it in synch with the documentation.
5177
5178 * xfaces.c (realizing_basic_faces_p): Renamed from
5179 realize_default_face_p.
5180 (realize_basic_faces): Set/clear realizing_basic_faces_p.
5181 (realize_default_face): Don't set the flag.
5182
5183 2001-04-04 Gerd Moellmann <gerd@gnu.org>
5184
5185 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
5186
5187 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
5188
5189 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
5190 the buffer that was used for echoing.
5191
5192 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
5193 (first_font_matching): Removed unused function.
5194 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
5195 (may_use_scalable_font_p): Remove parameter FONT; rename
5196 parameter NAME to FONT.
5197 (x_face_list_fonts): Fix missing bounds check.
5198 (realizing_default_face_p): New variable.
5199 (realize_default_face): Set and clear that flag.
5200 (x_face_list_fonts): When called during the realization of the
5201 default face, and no matching fonts are found when ignoring
5202 scalable fonts and fonts matching a regexp from
5203 face-ignored-fonts, try without ignoring fonts.
5204
5205 2001-04-03 Gerd Moellmann <gerd@gnu.org>
5206
5207 * xfns.c (postprocess_image): New function.
5208 (lookup_image): Call it for all image types except PostScript.
5209 (x_kill_gs_process): Call postprocess_image.
5210
5211 * xterm.c (x_use_underline_position_properties): New variable.
5212 (x_draw_glyph_string): Use it.
5213 (syms_of_xterm): DEFVAR_BOOL it.
5214
5215 2001-04-02 Gerd Moellmann <gerd@gnu.org>
5216
5217 * xterm.c (x_alloc_nearest_color_1): New function.
5218 (x_alloc_nearest_color): Use it.
5219 (x_color_cells): Take a Display as argument, instead of a frame.
5220 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
5221 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
5222 (x_initialize): Register cvt_string_to_pixel as resource converter
5223 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
5224
5225 2001-03-30 Gerd Moellmann <gerd@gnu.org>
5226
5227 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
5228 (set_iterator_to_next): If a string from a display property ends,
5229 consider the case that this might also be the end of an
5230 overlay string having the display property.
5231
5232 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
5233
5234 * xdisp.c (reseat_to_string): Undo last change.
5235
5236 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
5237 matrix of a window when the header line changes, when
5238 new rows are allocated, or when the width changes.
5239
5240 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
5241
5242 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
5243
5244 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
5245
5246 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
5247 deprecated.
5248
5249 2001-03-29 Gerd Moellmann <gerd@gnu.org>
5250
5251 * data.c (Fsubr_interactive_form): New function.
5252 (syms_of_data): Defsubr it.
5253
5254 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
5255 (live_float_p, live_misc_p): Return 1 only if the offset of the
5256 pointer in its block is >= 0.
5257
5258 2001-03-28 Paul Eggert <eggert@twinsun.com>
5259
5260 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
5261 microseconds calcuation. Avoid double-rounding problem.
5262 In doc string, warn that the result is approximate.
5263
5264 2001-03-28 Gerd Moellmann <gerd@gnu.org>
5265
5266 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
5267 bind `inhibit-eval-during-redisplay' to t.
5268
5269 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
5270
5271 * xdisp.c (inhibit_eval_during_redisplay)
5272 (Qinhibit_eval_during_redisplay): New variables.
5273 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
5274 don't eval, return nil instead.
5275 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
5276 Initialize Qinhibit_eval_during_redisplay.
5277
5278 * xdisp.c (reseat_to_string): If STRING is multibyte, set
5279 the iterator's multibyte_p flag.
5280
5281 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
5282 instead of setting it to zero; it's incremented for each frame
5283 where the menu face is changed.
5284
5285 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
5286 change bottom shadow accordingly.
5287
5288 * xterm.c (expose_window_tree, expose_frame): Don't compute
5289 intersections here.
5290 (expose_window): Do it here instead.
5291 (x_draw_glyph_string): Fix a computation of the underline position.
5292
5293 * bytecode.c (BYTE_CODE_QUIT): New macro.
5294 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
5295
5296 2001-03-27 Gerd Moellmann <gerd@gnu.org>
5297
5298 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
5299 Give up if matrix starts in an ellipsis.
5300 (init_from_display_pos): Do nothing if POS doesn't specify
5301 a dpvec_index but the iterator has such a position.
5302
5303 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
5304
5305 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
5306 x/y position is (0, 0) after destroying the menu bar, restore
5307 its original position.
5308
5309 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
5310 (init_from_display_pos): Use it.
5311 (try_window_reusing_current_matrix): Don't use cursor_row_p.
5312
5313 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5314
5315 * xdisp.c (try_window_id): Undo last change.
5316
5317 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
5318
5319 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
5320
5321 * buffer.c (syms_of_buffer): Doc fix.
5322
5323 2001-03-26 Gerd Moellmann <gerd@gnu.org>
5324
5325 * xfaces.c (x_update_menu_appearance): Use local variable
5326 popup_path for setting font resources.
5327
5328 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
5329
5330 * frame.c (Fframe_list): Don't reference tip_frame if
5331 HAVE_WINDOW_SYSTEM is not defined.
5332
5333 * emacs.c (main): Update the copyright year. From Werner LEMBERG
5334 <wl@gnu.org>.
5335
5336 2001-03-25 Gerd Moellmann <gerd@gnu.org>
5337
5338 * xdisp.c (init_from_display_pos): Test invisible property
5339 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
5340
5341 * xdisp.c (redisplay_internal) <update one window>: Make sure
5342 last_arrow_position and last_arrow_string are set.
5343
5344 * frame.c (Fframe_list): Don't return a tooltip frame.
5345
5346 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5347
5348 * xdisp.c (mark_window_display_accurate_1): New function,
5349 extracted from mark_window_display_accurate.
5350 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
5351 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
5352 (mark_window_display_accurate): Use it.
5353 (redisplay_internal): Use it for the selected window.
5354 (redisplay_internal): Avoid duplicate mark_window_display_accurate
5355 for the selected frame.
5356
5357 * xdisp.c Use make_number, for readability.
5358 (try_window_id): Disable rows below the window end.
5359 (try_window_reusing_current_matrix): Use cursor_row_p.
5360 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
5361 of rows.
5362 (init_from_display_pos): If POS specifies a position in a display
5363 vector, maybe get the iterator set up for that ellipsis.
5364
5365 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
5366
5367 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
5368
5369 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
5370
5371 2001-03-23 Gerd Moellmann <gerd@gnu.org>
5372
5373 * xfaces.c (x_update_menu_appearance): Use a different path
5374 for Lucid popup menus.
5375
5376 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
5377
5378 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
5379
5380 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
5381 (string_buffer_position): Use `make_number'.
5382
5383 2001-03-22 Gerd Moellmann <gerd@gnu.org>
5384
5385 * xfaces.c (x_update_menu_appearance): Renamed from
5386 x_set_menu_face_resources. Use different resources for popups.
5387
5388 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
5389 (GC_CHECK_STRING_BYTES): Don't define.
5390
5391 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
5392 Removed, together with subroutines.
5393 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
5394 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
5395
5396 * dispextern.h (x_set_menu_resources_from_menu_face):
5397 Remove prototype.
5398
5399 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
5400 Remove calls to x_set_menu_resources_from_menu_face.
5401
5402 * xfaces.c (xm_set_menu_resources_from_menu_face):
5403 Remove #ifndef LESSTIF_VERSION.
5404
5405 * xmenu.c: Include widget.h.
5406 (single_submenu): Return int. Some cleanup.
5407 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5408
5409 2001-03-21 Gerd Moellmann <gerd@gnu.org>
5410
5411 * xterm.c (x_update_window_end): Handle overwritten mouse face
5412 also for tool bar windows.
5413 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5414 DRAW is DRAW_IMAGE_RAISED.
5415
5416 2001-03-20 Gerd Moellmann <gerd@gnu.org>
5417
5418 * print.c (syms_of_print): Doc fixes.
5419
5420 * fns.c (Fmd5): Doc fix.
5421
5422 2001-03-19 Gerd Moellmann <gerd@gnu.org>
5423
5424 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5425 Clear area of the frame not occupied by the scroll bar.
5426
5427 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5428 tip frame's root window buffer to *tip* right after creating
5429 the frame.
5430
5431 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5432 is an integer don't have to be for space characters.
5433
5434 2001-03-16 Gerd Moellmann <gerd@gnu.org>
5435
5436 * indent.c (current_column, current_column_1, Fmove_to_column)
5437 (compute_motion): Handle characters from display vectors differently.
5438
5439 2001-03-15 Kenichi Handa <handa@etl.go.jp>
5440
5441 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5442 drawing glyph string.
5443
5444 2001-03-15 Gerd Moellmann <gerd@gnu.org>
5445
5446 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5447 (command_loop_1): Undo last change.
5448
5449 * xterm.c (fast_find_position): Return the correct vpos.
5450
5451 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
5452 non-null, set a per-buffer value in BUF instead of the current buffer.
5453 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5454 Call store_symval_forwarding with BUF null.
5455 (set_internal): Call store_symval_forwarding with the BUF
5456 parameter passed to set_internal. Formerly, the value was always
5457 set in the current buffer; the buffer recorded in specbind for
5458 this case wasn't used.
5459 (arith_driver): Reindent.
5460
5461 * buffer.c (swap_out_buffer_local_variables):
5462 Call store_symval_forwarding with BUF null.
5463
5464 * lisp.h (store_symval_forwarding): Change prototype.
5465
5466 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5467
5468 2001-03-14 Gerd Moellmann <gerd@gnu.org>
5469
5470 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5471 FOR_DELETION. Avoid resizing the mini-window of the selected
5472 frame if FOR_DELETION is set.
5473 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5474 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5475 signature.
5476
5477 * window.c (Fset_window_configuration): Change call to
5478 do_switch_frame to new format.
5479
5480 * keyboard.c (quit_throw_to_read_char): Change call to
5481 do_switch_frame to new format.
5482
5483 * lisp.h (do_switch_frame): Change prototype.
5484
5485 * frame.c (Fframe_parameters): In the `buffer-list' frame
5486 parameter, store the buffer list of FRAME, not the list of the
5487 selected frame.
5488
5489 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5490 box just because the glyph row's full_width_p flag is set.
5491
5492 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5493
5494 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5495 skip the padding blanks inserted in extend_face_to_end_of_line,
5496 before checking for trailing whitespace.
5497
5498 2001-03-13 Gerd Moellmann <gerd@gnu.org>
5499
5500 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
5501 Remove special handling for LessTif/Motif.
5502 (toplevel): Don't include Xm/Xm.h.
5503
5504 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5505 Remove workaround code for LessTif; it doesn't work anymore.
5506
5507 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
5508 Xm/ScrollBarP.h.
5509
5510 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5511 Don't access private scroll bar data; it's no longer necessary with
5512 contemporary LessTif.
5513
5514 * xfaces.c (xm_set_menu_resources_from_menu_face):
5515 Change #if 0 to #ifndef LESSTIF_VERSION.
5516
5517 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5518 removing button grabs.
5519
5520 2001-03-13 Kenichi Handa <handa@etl.go.jp>
5521
5522 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5523 and clip-large-size-font as obsolete.
5524
5525 * lread.c (read_multibyte): Check the validity of multibyte
5526 sequence. If invalid, return the first byte.
5527
5528 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5529
5530 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5531 before running the command; timer functions or process
5532 filters may have set it.
5533
5534 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5535
5536 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5537 Doc fix.
5538
5539 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5540
5541 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5542 to sprintf.
5543
5544 2001-03-09 Gerd Moellmann <gerd@gnu.org>
5545
5546 * dispextern.h (string_buffer_position): Add prototype.
5547
5548 * xdisp.c (string_buffer_position, display_prop_string_p)
5549 (single_display_prop_string_p): New functions.
5550
5551 * xterm.c (note_mouse_highlight): If there's no help-echo on
5552 a string, look at the buffer text ``under'' it.
5553
5554 * keyboard.c (make_lispy_event): Add string info to the event,
5555 analogous to what's done on mode lines.
5556 (read_key_sequence): For a click on a string, consider `local-map'
5557 and `keymap' of that string.
5558
5559 * keyboard.c (make_lispy_event, make_lispy_movement):
5560 Adjust calls to buffer_posn_from_coords to new format.
5561
5562 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
5563
5564 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
5565 POS; return void.
5566
5567 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
5568 flags argument to emacs_open; it seems to conflict with O_EXCL.
5569
5570 2001-03-09 Kenichi Handa <handa@etl.go.jp>
5571
5572 * composite.h (struct composition): Change types of members;
5573 glyph_len to unsigned, width to unsigned short.
5574
5575 2001-03-08 Andrew Innes <andrewi@gnu.org>
5576
5577 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
5578 menu titles.
5579
5580 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5581
5582 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
5583 instead of nil.
5584
5585 * xterm.c (note_mouse_highlight): Handle mouse-face and
5586 help-echo in strings.
5587 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
5588 (fast_find_string_pos): New function.
5589
5590 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
5591 (display_string): Call face_at_string_position with new parameter.
5592
5593 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
5594 Handle `mouse-face'.
5595
5596 * dispextern.h (face_at_string_position): Change prototype.
5597
5598 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
5599
5600 * keyboard.c (make_lispy_event): Avoid generating drag events
5601 if the mouse hasn't actually moved to another buffer position.
5602
5603 2001-03-08 Dave Love <fx@gnu.org>
5604
5605 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
5606
5607 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5608
5609 * process.c (Fset_process_window_size): Fix a typo.
5610
5611 2001-03-08 Kenichi Handa <handa@etl.go.jp>
5612
5613 * coding.c (detect_coding_sjis): Do more rigid check.
5614 (detect_coding_big5): Likewise.
5615 (decode_coding_sjis_big5): Likewise.
5616 (Fdetect_coding_region): Call detect_coding_system with tailing
5617 anchor byte `\0' for more rigid detection.
5618 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
5619 (Fdetect_coding_string): Likewise.
5620
5621 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
5622
5623 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
5624 a string before extracting its data.
5625
5626 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5627
5628 * window.c (Frecenter): Rewrite code handling negative values
5629 of ARG on graphical frames.
5630
5631 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
5632
5633 * window.c (displayed_window_lines): If W->start is outside the
5634 accessible portion of the buffer, call start_display with BEGV or
5635 ZV instead of W->start.
5636
5637 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5638
5639 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
5640
5641 * process.c (Fset_process_filter): Don't crash if the input
5642 file descriptor of PROCESS is closed.
5643 (Fset_process_window_size): Likewise.
5644
5645 2001-03-06 Kenichi Handa <handa@etl.go.jp>
5646
5647 * xterm.c (XTflash): Make the timeout of select shorter, and call
5648 select repeatedly until the desired time expires.
5649
5650 2001-03-06 Gerd Moellmann <gerd@gnu.org>
5651
5652 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
5653
5654 * xfns.c (Fx_create_frame): Clear Vwindow_list.
5655
5656 * lisp.h (Vwindow_list): Declare extern.
5657
5658 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
5659
5660 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
5661
5662 2001-03-06 Gerd Moellmann <gerd@gnu.org>
5663
5664 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
5665 to detect a case where we have to highlight a different region
5666 despite not having left the currently highlighted region.
5667 Set mouse_face_overlay in the x_display_info.
5668 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
5669
5670 * xterm.h (struct x_display_info): Add mouse_face_overlay.
5671
5672 * buffer.c (mouse_face_overlay_overlaps): New function.
5673
5674 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
5675 (Qmouse_face): Declare extern.
5676
5677 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
5678 if face_change_count is non-zero.
5679
5680 2001-03-06 Kenichi Handa <handa@etl.go.jp>
5681
5682 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
5683 that the source is unibyte.
5684
5685 2001-03-05 Dave Love <fx@gnu.org>
5686
5687 * xterm.c (XTmouse_position): Fix typo.
5688
5689 2001-03-05 Gerd Moellmann <gerd@gnu.org>
5690
5691 * minibuf.c (read_minibuf): Clean up the binding stack if
5692 called noninteractively.
5693
5694 2001-03-05 Kenichi Handa <handa@etl.go.jp>
5695
5696 * coding.c (syms_of_coding): Docstring modified.
5697
5698 2001-03-05 Kenichi Handa <handa@etl.go.jp>
5699
5700 * charset.c (char_to_string): If a single byte char has modifier
5701 bits that can't be reflected to the character code, ignore them
5702 instead of signaling an error.
5703
5704 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
5705
5706 * s/msdos.h: Update copyright notice.
5707
5708 * dosfns.h: Update copyright notice.
5709
5710 * dosfns.c: Update copyright notice.
5711
5712 * msdos.c: Update copyright notice.
5713
5714 2001-03-02 Gerd Moellmann <gerd@gnu.org>
5715
5716 * xterm.c (glyph_rect): New function.
5717 (XTmouse_position): Use it to raise the threshold for mouse
5718 movement event generation.
5719
5720 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
5721
5722 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
5723 specifies (reverse . t), reverse the initial screen colors.
5724 (IT_set_frame_parameters): If the property is foreground-color,
5725 but we are reversing the colors, set bg_set, not fg_set.
5726 Likewise for setting background-color and reversing: set fg_set.
5727 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
5728 in effect.
5729
5730 * xfaces.c (Finternal_set_lisp_face_attribute)
5731 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
5732 parameters alist.
5733
5734 2001-03-02 Gerd Moellmann <gerd@gnu.org>
5735
5736 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
5737 to a single slash in the middle of file names.
5738
5739 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
5740 Accept only alphanumeric time zone names.
5741
5742 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
5743 or width area.
5744 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
5745 a widget to zero height.
5746
5747 2001-03-01 Gerd Moellmann <gerd@gnu.org>
5748
5749 * window.c (Fwindow_end): Call move_it_past_eol only if
5750 ending up on a partially visible line.
5751
5752 2001-03-01 Dave Love <fx@gnu.org>
5753
5754 * ccl.c (Fccl_execute): Doc fix.
5755
5756 2001-03-01 Gerd Moellmann <gerd@gnu.org>
5757
5758 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
5759 of the tool bar before calling x_figure_window_size.
5760
5761 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
5762 NULL after destroying it, otherwise XTread_socket can access a
5763 destroyed widget when input is unblocked.
5764
5765 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
5766
5767 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
5768 same name as before, although there was a change in fontsets.
5769
5770 2001-02-28 Ken Raeburn <raeburn@gnu.org>
5771
5772 * lisp.h (Fframe_parameter): Declare.
5773
5774 * window.c (set_window_buffer): Field vscroll is an int, not a
5775 Lisp_Object.
5776
5777 2001-02-28 Gerd Moellmann <gerd@gnu.org>
5778
5779 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
5780 NULL instead.
5781
5782 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
5783 NULL instead.
5784
5785 * alloc.c (toplevel): Include process.h.
5786 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
5787 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
5788 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
5789 (allocate_vector, allocate_hash_table, allocate_window)
5790 (allocate_frame, allocate_process, allocate_other_vector):
5791 New functions.
5792 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
5793 (mark_maybe_pointer): New function.
5794 (mark_memory): Also mark Lisp data to which only pointers
5795 remain and not Lisp_Objects.
5796 (min_heap_address, max_heap_address): New variables.
5797 (mem_find): Return MEM_NIL if START is below min_heap_address or
5798 above max_heap_address.
5799 (mem_insert): Compute min_heap_address and max_heap_address.
5800
5801 * process.c (make_process): Use allocate_process.
5802
5803 * frame.c (make_frame): Use allocate_frame.
5804
5805 * window.c (make_window, make_dummy_parent): Use allocate_window.
5806 (Fcurrent_window_configuration): Use allocate_other_vector.
5807
5808 * lisp.h (allocate_vectorlike): Remove prototype.
5809 (allocate_vector, allocate_other_vector, allocate_frame)
5810 (allocate_window, allocate_process, allocate_hash_table):
5811 Add prototypes.
5812
5813 * fns.c (Fdelete, larger_vector): Use allocate_vector.
5814 (make_hash_table, copy_hash_table): Use allocate_hash_table.
5815
5816 2001-02-27 Kenichi Handa <handa@etl.go.jp>
5817
5818 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
5819 treat the produced bytes as a valid multibyte sequence.
5820
5821 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
5822 (ccl_driver) <CCL_WriteMultibyteChar2>:
5823 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
5824 <ccl_finish>: Set ccl->eight_bit_control properly.
5825
5826 * ccl.h (struct ccl_program): New member eight_bit_control.
5827
5828 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
5829
5830 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
5831 accessible_keymaps_char_table.
5832 (accessible_keymaps_char_table): Obey `is_metized'.
5833 (where_is_internal, Fwhere_is_internal): Don't confuse int and
5834 Lisp_Object.
5835
5836 2001-02-26 Gerd Moellmann <gerd@gnu.org>
5837
5838 * dispnew.c: Check HAVE_TERM_H before including term.h.
5839
5840 2001-02-24 Andrew Innes <andrewi@gnu.org>
5841
5842 * makefile.w32-in: Update copyright notice.
5843
5844 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
5845
5846 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
5847
5848 2001-02-24 Kenichi Handa <handa@etl.go.jp>
5849
5850 * Makefile.in (lisp): Add international/utf-8.elc.
5851
5852 * fontset.c (Fnew_fontset): Fix handling of the case that an
5853 element of FONTLIST is a cons of family and registry.
5854
5855 2001-02-23 Jason Rumney <jasonr@gnu.org>
5856
5857 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
5858 to height unconditionally.
5859
5860 * w32term.c (x_set_glyph_string_background_width): Extend the
5861 background face to the end of the drawing area in the text area, only.
5862 (x_insert_glyphs): Call window_box_left to obtain the left
5863 x-coordinate of the area to shift.
5864
5865 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
5866 safe_run_hooks.
5867
5868 2001-02-22 Andrew Innes <andrewi@gnu.org>
5869
5870 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
5871 ($(BLD)\dispnew.obj):
5872 ($(BLD)\editfns.obj):
5873 ($(BLD)\fileio.obj):
5874 ($(BLD)\filelock.obj):
5875 ($(BLD)\keyboard.obj):
5876 ($(BLD)\w32proc.obj):
5877 ($(BLD)\process.obj):
5878 ($(BLD)\sysdep.obj): Ditto.
5879
5880 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
5881 header files.
5882 ($(BLD)/dispnew.$(O)):
5883 ($(BLD)/editfns.$(O)):
5884 ($(BLD)/fileio.$(O)):
5885 ($(BLD)/filelock.$(O)):
5886 ($(BLD)/keyboard.$(O)):
5887 ($(BLD)/w32proc.$(O)):
5888 ($(BLD)/process.$(O)):
5889 ($(BLD)/sysdep.$(O)): Ditto.
5890
5891 2001-02-22 Gerd Moellmann <gerd@gnu.org>
5892
5893 * xdisp.c (forward_to_next_line_start): When taking the shortcut
5894 at the start of the function, check that the \n in it->c is
5895 from the iterator's current position.
5896
5897 * xdisp.c (handle_single_display_prop): Add parameter
5898 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
5899 properties which replace the display of text with something else.
5900 (handle_display_prop): Call handle_single_display_prop with
5901 additional argument saying if we already replaced text display
5902 with something else. Use AREF.
5903 (with_echo_area_buffer_unwind_data, display_menu_bar)
5904 (decode_mode_spec_coding): Use AREF and ASIZE.
5905
5906 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
5907 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
5908 * vmstime.h: Files removed.
5909
5910 * unexencap.c, unexfx2800.c: Files removed.
5911
5912 * dispnew.c (direct_output_for_insert): Give up if we are showing
5913 a message or just cleared the message because we might need to
5914 resize the echo area window or display an empty echo area.
5915
5916 2001-02-21 Gerd Moellmann <gerd@gnu.org>
5917
5918 * xdisp.c (redisplay_internal): Do the
5919 mark_window_display_accurate after all windows have been
5920 redisplayed because this call resets flags in buffers which are
5921 needed for proper redisplay.
5922
5923 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5924 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
5925 the old names.
5926
5927 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5928 busy_window to hourglass_window, busy_p to hourglass_p.
5929
5930 * msdos.h (struct x_output): Rename busy_window to
5931 hourglass_window, busy_p to hourglass_p.
5932
5933 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5934 busy_window to hourglass_window, busy_p to hourglass_p.
5935
5936 * xfns.c: Rename everything containing *busy_cursor* and similar
5937 to *hourglass*.
5938 (syms_of_w32fns): Rename x-busy-pointer-shape to
5939 x-hourglass-pointer-shape, display-busy-cursor to
5940 display-hourglass, busy-cursor-delay to hourglass-delay.
5941
5942 * w32fns.c: Rename everything containing *busy_cursor* and similar
5943 to *hourglass*.
5944 (syms_of_w32fns): Rename x-busy-pointer-shape to
5945 x-hourglass-pointer-shape, display-busy-cursor to
5946 display-hourglass, busy-cursor-delay to hourglass-delay.
5947
5948 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5949 of its busy_p flag.
5950
5951 * dispextern.h (start_hourglass, cancel_hourglass)
5952 (display_hourglass_p): Renamed from *busy_cursor*.
5953
5954 2001-02-20 Gerd Moellmann <gerd@gnu.org>
5955
5956 * keyboard.c (read_char): When an event from unread-command-events
5957 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5958
5959 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5960 equal to the current buffer.
5961
5962 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5963 nil, otherwise we're left with truncate_lines t when a message
5964 is printed with message-truncate-lines bound to t.
5965
5966 2001-02-19 Gerd Moellmann <gerd@gnu.org>
5967
5968 * window.c (Fmove_to_window_line): Undo last change.
5969 (displayed_window_lines): Call line_bottom_y to determine
5970 the line's bottom position.
5971
5972 * dispextern.h (line_bottom_y): Add prototype.
5973
5974 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
5975 (pos_visible_p): Use it.
5976
5977 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5978 set redisplaying_p to 0 here instead of in Frecursive_edit.
5979 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5980 set redisplaying_p.
5981
5982 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
5983 New variables.
5984 (syms_of_xdisp): Initialize new variables.
5985 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5986 Specbind `inhibit-menubar-update' when updating the menu bar.
5987
5988 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5989 safe_run_hooks.
5990
5991 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5992 safe_run_hooks.
5993
5994 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5995 is null.
5996
5997 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5998 to the start of the file.
5999
6000 2001-02-16 Gerd Moellmann <gerd@gnu.org>
6001
6002 * window.c (set_window_buffer): Fix last change.
6003
6004 * window.c (set_window_buffer): Set window's vscroll to 0.
6005
6006 * window.c (coordinates_in_window): Increase width of area
6007 where the vertical line can be dragged.
6008
6009 * xterm.c (x_set_glyph_string_background_width): Extend the
6010 background face to the end of the drawing area in the text
6011 area, only.
6012
6013 * xdisp.c (handle_single_display_prop): Set iterator's position
6014 to where the `display' property starts, like for images.
6015 (dump_glyph): New function.
6016 (dump_glyph_row): Use it. Dump info about marginal areas.
6017
6018 * dispnew.c (direct_output_for_insert): Recognize more cases where
6019 glyphs can be written instead of being inserted.
6020
6021 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
6022 the left x-coordinate of the area to shift.
6023
6024 * dired.c (directory_files_internal): Set result list to nil
6025 before retrying.
6026
6027 2001-02-15 Kenichi Handa <handa@etl.go.jp>
6028
6029 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
6030 invalid multibyte sequence, treat *SRC as a character of
6031 eight-bit-graphic.
6032
6033 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
6034
6035 * textprop.c (Fset_text_properties): Doc fix.
6036
6037 2001-02-15 Gerd Moellmann <gerd@gnu.org>
6038
6039 * dispnew.c (update_text_area): Undo change of 2001-01-12.
6040
6041 2001-02-14 Dave Love <fx@gnu.org>
6042
6043 * coding.c: Doc and message fixes.
6044
6045 2001-02-14 Andrew Innes <andrewi@gnu.org>
6046
6047 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
6048 Emacs frame above the screen size.
6049
6050 2001-02-14 Gerd Moellmann <gerd@gnu.org>
6051
6052 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
6053
6054 2001-02-13 Gerd Moellmann <gerd@gnu.org>
6055
6056 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
6057 case that TO ends up beyond ZV after running before-change-functions.
6058
6059 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
6060 the selected window if it is showing the buffer in question.
6061
6062 * dired.c (directory_files_internal): Initialize errno.
6063 (toplevel): Include errno.h.
6064
6065 2001-02-13 Kenichi Handa <handa@etl.go.jp>
6066
6067 * xfaces.c (best_matching_font): New parameter width_ratio.
6068 Multiply avgwidth by width_ratio.
6069 (choose_face_font): Call best_matching_font with width_ratio
6070 calculated from the column width of C.
6071
6072 2001-02-12 Andrew Innes <andrewi@gnu.org>
6073
6074 The following changes are to draw box lines inside characters area
6075 if line-width is negative.
6076
6077 * w32term.c (x_produce_image_glyph): Pay attention to the case that
6078 face->box_line_width is negative.
6079 (x_produce_stretch_glyph): Likewise.
6080 (x_produce_glyphs): Likewise.
6081 (x_estimate_mode_line_height): Likewise.
6082 (x_draw_glyph_string_background): Likewise.
6083 (x_draw_glyph_string_foreground): Likewise.
6084 (x_draw_composite_glyph_string_foreground): Likewise.
6085 (x_draw_glyph_string_box): Likewise.
6086 (x_draw_image_foreground): Likewise.
6087 (x_draw_image_relief): Likewise.
6088 (x_draw_image_foreground_1): Likewise.
6089 (x_draw_image_glyph_string): Likewise.
6090
6091 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6092
6093 The following changes are to draw box lines inside characters area
6094 if line-width is negative.
6095
6096 * xterm.c (x_produce_image_glyph): Pay attention to the case that
6097 face->box_line_width is negative.
6098 (x_produce_stretch_glyph): Likewise.
6099 (x_produce_glyphs): Likewise.
6100 (x_estimate_mode_line_height): Likewise.
6101 (x_draw_glyph_string_background): Likewise.
6102 (x_draw_glyph_string_foreground): Likewise.
6103 (x_draw_composite_glyph_string_foreground): Likewise.
6104 (x_draw_glyph_string_box): Likewise.
6105 (x_draw_image_foreground): Likewise.
6106 (x_draw_image_relief): Likewise.
6107 (x_draw_image_foreground_1): Likewise.
6108 (x_draw_image_glyph_string): Likewise.
6109
6110 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
6111 and :line-width can be negative.
6112 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
6113
6114 2001-02-09 Jason Rumney <jasonr@gnu.org>
6115
6116 * w32term.c (w32_encode_char): Treat eight bit graphic and control
6117 characters the same as ASCII and latin-1.
6118 (x_display_and_set_cursor): Check for the focus frame's selected
6119 window instead of selected_window.
6120 (x_after_update_window_line): Don't clear if frame's internal
6121 border width is zero.
6122 (x_new_font): Don't change a tooltip's size.
6123 (w32_initialize): Set char_ins_del_ok to 1.
6124
6125 * w32fns.c (Fx_show_tip): Fix calls to make_number.
6126 (x_set_font): If font hasn't changed, avoid recomputing
6127 faces and other things.
6128 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
6129 (Fx_create_frame): Add the tool bar height to the frame height.
6130 (x_create_tip_frame): Prevent changing the tooltip's
6131 background color by specifying a color for the default font
6132 in .Xdefaults.
6133 (Qcancel_timer): New variable.
6134 (syms_of_w32fns): Initialize and staticpro it.
6135 (Fx_hide_tip, Fx_show_tip): Use it.
6136 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6137 the timer.
6138 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
6139
6140 * w32.c (init_environment): Duplicate local string before putenv.
6141
6142 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
6143
6144 * charset.c (Fstring): A typo.
6145
6146 2001-02-09 Kenichi Handa <handa@etl.go.jp>
6147
6148 * charset.c (Fstring): If all arguments are less than 256, return
6149 a unibyte string.
6150
6151 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
6152 return a unibyte string.
6153
6154 * coding.c (code_convert_region): After detecting a coding, if
6155 nothing found, set coding->composing to COMPOSITION_NO.
6156 (decode_coding_string): Likewise.
6157
6158 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
6159
6160 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
6161 to avoid overflow.
6162
6163 2001-02-07 Kenichi Handa <handa@etl.go.jp>
6164
6165 * charset.c (parse_str_to_multibyte): New function.
6166
6167 * charset.h (parse_str_to_multibyte): Extern it.
6168
6169 * print.c (print_string): If we are going to print a unibyte
6170 string into a multibyte buffer, convert the string to multibyte by
6171 str_to_multibyte.
6172
6173 2001-02-06 Andrew Innes <andrewi@gnu.org>
6174
6175 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
6176 been created. It seems we can get sent window messages such as
6177 WM_ERASEBKGND before we properly update a frame.
6178
6179 2001-02-06 Gerd Moellmann <gerd@gnu.org>
6180
6181 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
6182 Avoid some unnecessary cursor positioning.
6183
6184 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6185
6186 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
6187 (LFACE_AVGWIDTH): New macro.
6188 (LFACEP): Use AREF.
6189 (check_lface_attrs): Check LFACE_AVGWIDTH.
6190 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6191 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
6192 (merge_face_vectors): Check LFACE_AVGWIDTH.
6193 (Finternal_make_lisp_face): Use AREF.
6194 (xm_set_menu_resources_from_menu_face)
6195 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
6196 (Finternal_lisp_face_empty_p): Use AREF.
6197 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
6198 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
6199 Compare average widths..
6200 (best_matching_font): Arrange for comparing average widths.
6201
6202 * dispextern.h (enum lface_attribute_index):
6203 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
6204
6205 2001-02-05 Dave Love <fx@gnu.org>
6206
6207 * puresize.h: Revert last change following loadup.el change.
6208
6209 2001-02-05 Andrew Innes <andrewi@gnu.org>
6210
6211 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
6212 invocation of temacs, to work with Windows 2000.
6213 (bootstrap-emacs): Ditto.
6214
6215 2001-02-05 Gerd Moellmann <gerd@gnu.org>
6216
6217 * xterm.c (x_display_and_set_cursor): Check for the focus
6218 frame's selected window instead of selected_window.
6219
6220 * xdisp.c (try_scrolling): If point is in the line below the
6221 window, make sure to move the iterator at least a canonical
6222 char height down.
6223
6224 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
6225
6226 2001-02-05 Kenichi Handa <handa@etl.go.jp>
6227
6228 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
6229 If invalid, execute CCL_INVALID_CMD.
6230 (ccl_driver): If the CCL program is terminated because of
6231 CCL_STAT_INVALID_CMD, copy the remaining source data to the
6232 destination instead of throwing them away.
6233
6234 2001-02-02 Gerd Moellmann <gerd@gnu.org>
6235
6236 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
6237 faces and other things.
6238
6239 * xdisp.c (get_next_display_element): Fix case of empty
6240 display table entry.
6241
6242 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
6243
6244 * editfns.c (Fconstrain_to_field): Doc fix.
6245
6246 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
6247 into `thoroughly', to make it consistent with the doc string.
6248
6249 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
6250
6251 2001-02-01 Gerd Moellmann <gerd@gnu.org>
6252
6253 * search.c (search_buffer): Call set_search_regs with a byte
6254 position, not a character position.
6255
6256 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
6257 minibuffer-only,
6258
6259 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
6260
6261 * frame.c (Fmodify_frame_parameters): Doc fix.
6262
6263 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6264
6265 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
6266 identifier which is not reserved by Standard C.
6267
6268 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
6269
6270 * window.c (enum window_part): New enumeration.
6271 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
6272 Qright_bitmap_area.
6273 (coordinates_in_window): Return an enumerator from enum
6274 window_part. Fix handling of right scroll bar.
6275 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
6276 `right-fringe' instead of `left-bitmap-area' and
6277 `right-bitmap-area'. Use enumerators from enum window_part
6278 instead of hard-coded integers.
6279 (check_window_containing, window_from_coordinates):
6280 Use enumerators from enum window_part instead of hard-coded integers.
6281 (syms_of_window): Replace Qleft_bitmap_area and
6282 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
6283
6284 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
6285
6286 * editfns.c (Fformat_time_string): Doc fix.
6287
6288 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
6289
6290 * keymap.c (Fwhere_is_internal): Use the first valid binding
6291 if no ascii binding is found (when firstonly is t).
6292
6293 2001-01-31 Gerd Moellmann <gerd@gnu.org>
6294
6295 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
6296 instead of Finteractive_p.
6297
6298 * lisp.h (interactive_p): Add prototype.
6299
6300 * eval.c (interactive_p): New function.
6301 (Finteractive_p): Use it.
6302
6303 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
6304
6305 2001-01-31 Dave Love <fx@gnu.org>
6306
6307 * .gdbinit (hook-run): Define to run xreload.
6308
6309 * textprop.c (Fset_text_properties): Fix newline in doc string.
6310
6311 2001-01-30 Gerd Moellmann <gerd@gnu.org>
6312
6313 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
6314 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
6315
6316 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
6317 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
6318 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
6319
6320 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
6321 height.
6322
6323 2001-01-30 Dave Love <fx@gnu.org>
6324
6325 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
6326 AFTER_POTENTIAL_GC.
6327
6328 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6329
6330 * bytecode.c (Fbyte_code) <Bcurrent_column>:
6331 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
6332
6333 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
6334
6335 * textprop.c (Fset_text_properties): Doc fix.
6336
6337 2001-01-29 Gerd Moellmann <gerd@gnu.org>
6338
6339 * xdisp.c (forward_to_next_line_start): Remove xassert.
6340
6341 2001-01-29 Jason Rumney <jasonr@gnu.org>
6342
6343 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
6344 returning without releasing it.
6345
6346 2001-01-29 Kenichi Handa <handa@etl.go.jp>
6347
6348 * w32fns.c (w32_font_match): Allocate three more bytes to regex
6349 for '^', '$', and '\0'.
6350
6351 2001-01-28 Andrew Choi <akochoi@i-cable.com>
6352
6353 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
6354 regex for '^', '$', and '\0'.
6355
6356 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
6357 only if current_sblock has been initialized.
6358
6359 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
6360 terminal frame even if it is the only visible frame.
6361
6362 2001-01-28 Kenichi Handa <handa@etl.go.jp>
6363
6364 * fontset.c (font_family_registry): Even if FONTNAME conform to
6365 XLFD, if it specifies other fields than family and registry,
6366 return FONTANME. New argument FORCE if nonzero cancel that feature.
6367 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
6368 a signle byte character. Don't set FAMILY part to nil here.
6369 It is handled by the caller choose_face_font.
6370 (Fnew_fontset): Call font_family_registry with FORCE 0.
6371 (Fset_fontset_font): Likewise.
6372
6373 2001-01-27 Gerd Moellmann <gerd@gnu.org>
6374
6375 * xdisp.c (display_line): Don't treat a newline as fitting
6376 on the line.
6377
6378 2001-01-26 Gerd Moellmann <gerd@gnu.org>
6379
6380 * window.c (size_window): Set the window's orig_top to nil when
6381 changing heights, so that a future shrink_mini_window won't
6382 restore a bogus height.
6383
6384 * frame.c (do_switch_frame): If selected frame has a mini-window,
6385 resize that to exact size.
6386
6387 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
6388
6389 * xdisp.c (display_line): Simplify check for glyphs fitting
6390 entirely in the line.
6391
6392 * xfns.c (xic_style): New variable.
6393 (create_frame_xic): Move static variable to global scope for
6394 the case that `static' gets defined away.
6395
6396 2001-01-26 Kenichi Handa <handa@etl.go.jp>
6397
6398 * coding.c (decode_coding): Set a flag for inhibiting
6399 inconsistent eol.
6400 (code_convert_region): Always set saved_coding_symbol.
6401 (decode_coding_string): Likewise. Update coding->symbol when we
6402 encounter a inconsistent eol by the same way as code_convert_region.
6403
6404 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6405
6406 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6407 XClearArea.
6408
6409 * xterm.c (x_after_update_window_line): Don't clear if frame's
6410 internal border width is zero.
6411 (x_clear_area): New function.
6412 (x_after_update_window_line, x_clear_end_of_line)
6413 (x_scroll_bar_create, x_scroll_bar_set_handle)
6414 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6415 instead of XClearArea.
6416
6417 * xterm.h (x_clear_area): Add prototype.
6418
6419 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6420 which doesn't seem necessary anymore with Lesstif 0.92.
6421
6422 2001-01-25 Dave Love <fx@gnu.org>
6423
6424 * puresize.h (BASE_PURESIZE): Up to 720000.
6425
6426 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6427
6428 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6429
6430 * xdisp.c (echo_area_display): Don't call redisplay_internal
6431 when Emacs is shutting down. We can't run hooks etc. that
6432 would be necessary to do a redisplay.
6433
6434 * lread.c (read_integer): Use type EMACS_INT instead of int.
6435
6436 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6437
6438 * ccl.c (ccl_driver): Fix last change.
6439
6440 2001-01-25 Kenichi Handa <handa@etl.go.jp>
6441
6442 * ccl.h (sturct ccl_program): New member suppress_error.
6443
6444 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
6445 insert error message to the output.
6446 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6447
6448 * coding.h (struct coding_system): New member suppress_error.
6449
6450 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6451 (Fset_terminal_coding_system_internal): Set the member
6452 suppress_error to 1.
6453 (Fset_safe_terminal_coding_system_internal): Likewise.
6454
6455 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6456
6457 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6458 as if it was a `charset'.
6459
6460 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6461
6462 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6463 value in where_is_cache; the next lookup in the cache returns
6464 something bogus if we do.
6465
6466 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6467
6468 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6469 if HAVE_WINDOW_SYSTEM isn't defined.
6470
6471 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6472
6473 * fns.c (sweep_weak_table): Fix code taking items out of
6474 the hash collision chain. Some cleanup.
6475
6476 * xterm.c (x_new_font): Don't change a tooltip's size.
6477
6478 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6479 background color by specifying a color for the default font
6480 in .Xdefaults.
6481
6482 2001-01-24 Kenichi Handa <handa@etl.go.jp>
6483
6484 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6485 a workaround for SunOS 4's cc.
6486 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6487 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6488 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6489 statement.
6490
6491 2001-01-23 Gerd Moellmann <gerd@gnu.org>
6492
6493 * xterm.c (x_set_window_size_1): New function extracted from
6494 x_set_window_size.
6495 (x_set_window_size): Use it.
6496 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6497 doesn't have a widget, like tooltips.
6498
6499 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6500
6501 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
6502
6503 2001-01-23 Kenichi Handa <handa@etl.go.jp>
6504
6505 * fns.c (Fset_char_table_default): Fix to make sub char-table
6506 correctly.
6507
6508 2001-01-22 Gerd Moellmann <gerd@gnu.org>
6509
6510 * xdisp.c (build_desired_tool_bar_string): Make sure we have
6511 a desired tool bar string, even if there are no tool bar items.
6512
6513 * xdisp.c (Ftool_bar_lines_needed): New function.
6514 (syms_of_xdisp): Defsubr it.
6515
6516 * editfns.c (Fformat): Don't extend text properties from arguments
6517 to padding chars in the result.
6518
6519 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6520
6521 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6522
6523 2001-01-20 Andrew Innes <andrewi@gnu.org>
6524
6525 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
6526 (w32_initialize): Don't set term hooks that aren't actually needed
6527 in windowed mode.
6528
6529 * xfaces.c (realize_default_face):
6530 (realize_face):
6531 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6532
6533 * xdisp.c (handle_single_display_prop): Remove references to
6534 FRAME_W32_CONSOLE_P.
6535
6536 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
6537
6538 * frame.h (output_method): Remove output_w32_console method.
6539 (FRAME_W32_CONSOLE_P): Remove macro.
6540
6541 * frame.c (Qw32_console): Remove variable.
6542 (Fframep): Remove references to it.
6543 (syms_of_frame): Ditto.
6544 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6545
6546 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6547 redefinition.
6548
6549 2001-01-20 Kenichi Handa <handa@etl.go.jp>
6550
6551 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6552
6553 2001-01-19 Andrew Innes <andrewi@gnu.org>
6554
6555 * w32.c (init_environment): Add a version-independent site-lisp
6556 directory to EMACSLOADPATH, after the version dependent one.
6557
6558 2001-01-19 Gerd Moellmann <gerd@gnu.org>
6559
6560 * editfns.c (Fbuffer_substring): Doc fix.
6561
6562 * xdisp.c (message_dolog, message2, message2_nolog):
6563 Rename parameter LEN to NBYTES.
6564
6565 2001-01-19 Kenichi Handa <handa@etl.go.jp>
6566
6567 * charset.c (strwidth): Use c_string_width.
6568 (c_string_width): New function.
6569 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
6570 Caller changed.
6571
6572 * charset.h (c_string_width, lisp_string_width): Extern them.
6573
6574 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
6575
6576 * indent.c (check_composition): Check validity of composition.
6577
6578 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
6579 characters by calling c_string_width.
6580 (x_consider_frame_title): Get byte length of frame tile string
6581 correctly.
6582 (display_mode_element): Pay attention to width of non-ASCII
6583 characters by calling strwidth.
6584
6585 2001-01-18 Gerd Moellmann <gerd@gnu.org>
6586
6587 * xfns.c (Qcancel_timer): New variable.
6588 (syms_of_xfns): Initialize and staticpro it.
6589 (Fx_hide_tip, Fx_show_tip): Use it.
6590 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6591 the timer.
6592 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
6593
6594 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
6595
6596 * window.h (WINDOW_LIVE_P): New macro.
6597
6598 * window.c (window_size_fixed): New variable.
6599 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
6600 the doc string.
6601
6602 * eval.c (specbind): If binding a per-buffer variable which
6603 doesn't have a buffer-local value in the current buffer, change
6604 the global value by changing the value of the symbol bound in all
6605 buffers not having their own value, to make it consistent with
6606 what happens with other buffer-local variables.
6607
6608 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
6609
6610 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
6611 when searching for a newline.
6612
6613 2001-01-18 Kenichi Handa <handa@etl.go.jp>
6614
6615 * xdisp.c (display_string): Fix previous change.
6616
6617 2001-01-18 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
6620 GLYPH_DEBUG is defined.
6621 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
6622 true for images with `:ascent 100'.
6623 (x_set_mouse_face_gc): If the last used mouse face has gone in the
6624 meantime, use face MOUSE_FACE_ID.
6625 If first glyph isn't a character glyph, use the ASCII NUL
6626 character to determine the face.
6627 (expose_area): Do not treat left margin specially.
6628 (note_mode_line_highlight): If no local_map, check global keymap.
6629 (note_mouse_highlight): Initialize overlay.
6630 (clear_mouse_face): Don't return if tip_frame is non-nil.
6631 (show_scroll_bars): Remove unused function.
6632 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
6633 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
6634 Clip to row.
6635 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
6636 (x_free_frame_resources): Unload relief colors.
6637
6638 2001-01-17 Gerd Moellmann <gerd@gnu.org>
6639
6640 * xdisp.c (forward_to_next_line_start): Avoid calling
6641 get_next_display_element when the newline is already found.
6642 This may change the iterator's position, when its current position is
6643 equal to the iterator's stop_charpos.
6644
6645 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
6646 zero, use this method only at the end of a line.
6647
6648 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
6649 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
6650 if SCALABLE_FONTS_P is set.
6651
6652 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
6653 so that scalable fonts are included.
6654
6655 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
6656 In the cache, use a key containing the information if scalable
6657 fonts are included.
6658 (x_load_font): Adapt to change of keys in the font cache.
6659
6660 2001-01-17 Kim F. Storm <storm@filanet.dk>
6661
6662 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
6663 XListFonts to take advantage of font caching.
6664
6665 * xterm.c (x_list_fonts): Ensure caching font information when
6666 called for a null frame, which is the case frequently when Emacs
6667 starts.
6668
6669 2001-01-17 Gerd Moellmann <gerd@gnu.org>
6670
6671 * xfns.c (QCconversion): Replaces QCalgorithm.
6672
6673 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
6674
6675 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
6676 of :algorithm.
6677
6678 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
6679 not everything could be displayed.
6680
6681 * line.h, x-list-font.c: Files removed because unused.
6682
6683 2001-01-17 Andrew Innes <andrewi@gnu.org>
6684
6685 * dired.c (directory_files_internal): Convert result from readdir
6686 to a unibyte string initially, to avoid possible misinterpretation
6687 of some bytes as the internal form of Emacs characters.
6688
6689 2001-01-17 Kenichi Handa <handa@etl.go.jp>
6690
6691 * fns.c (concat): Be sure to avoid putting the same `composition'
6692 property on the adjacent regions.
6693
6694 2001-01-16 Gerd Moellmann <gerd@gnu.org>
6695
6696 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
6697 (Fscroll_right, Fscroll_left): Set it here instead, if called
6698 interactively.
6699
6700 * buffer.c (Fset_buffer_modified_p): Set buffer's
6701 prevent_redisplay_optimizations_p flag.
6702
6703 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
6704 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
6705 with additional arg.
6706
6707 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
6708 Change prototype.
6709
6710 * xdisp.c (redisplay_preserve_echo_area): Add parameter
6711 FROM_WHERE, for debugging.
6712
6713 2001-01-16 Kenichi Handa <handa@etl.go.jp>
6714
6715 * ccl.c (Fregister_ccl_program): Handle the return value of
6716 resolve_symbol_ccl_program correctly.
6717 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
6718
6719 2001-01-15 Gerd Moellmann <gerd@gnu.org>
6720
6721 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
6722 has gone in the meantime, use face MOUSE_FACE_ID.
6723
6724 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
6725 If x_display_info_for_display returns null, don't try to close
6726 the display; we didn't open it.
6727
6728 * dispnew.c (save_or_restore_current_matrices): Function removed.
6729 (save_current_matrix, restore_current_matrix): New functions.
6730 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
6731 restore the frame's current matrix. Due to the glyph pointer
6732 setup done in adjust_glyph_matrix, there is no easy way to make
6733 saving the current matrix in the desired matrix generally correct,
6734 so don't try it.
6735
6736 2001-01-15 Kenichi Handa <handa@etl.go.jp>
6737
6738 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
6739 truncation glyphs.
6740 (display_line): Optimize for wide characters.
6741 (display_string): Don't try to display a multi-column character
6742 partially. On ttys, produce more than one truncation glyph for
6743 multi-column characters that don't fit on the line.
6744
6745 2001-01-13 Kenichi Handa <handa@etl.go.jp>
6746
6747 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
6748 Define it instead of WORDS_BIGENDIAN. Caller changed.
6749
6750 2001-01-13 Jason Rumney <jasonr@gnu.org>
6751
6752 * w32fns.c (Fimage_size, image_ascent, lookup_image)
6753 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
6754 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6755 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
6756
6757 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
6758 (x_draw_image_relief, x_draw_image_foreground_1)
6759 (x_draw_image_glyph_string): Adapt to change of image margins.
6760
6761 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
6762 variables.
6763
6764 * w32bdf.c (search_file_line, get_cached_font_char)
6765 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
6766
6767 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
6768
6769 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
6770 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
6771 (Fw32_send_sys_command): Remove unused variables.
6772 (w32_msg_pump): Add parentheses.
6773
6774 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
6775 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
6776 Add parentheses.
6777
6778 2001-01-12 Gerd Moellmann <gerd@gnu.org>
6779
6780 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
6781 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
6782 being a pair of margins.
6783 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
6784 to DEFVAR_LISP. Extend doc.
6785
6786 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
6787 margins.
6788 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
6789 pair of integers `(X . Y)', use X for the horizontal and Y for the
6790 vertical margin.
6791 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
6792 (parse_image_spec): Check it.
6793 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6794 (tiff_format, gif_format, gs_format):
6795 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
6796
6797 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6798 (x_draw_image_relief, x_draw_image_foreground_1)
6799 (x_draw_image_glyph_string): Adapt to the change of image margins.
6800
6801 * dispextern.h (struct image): Replace member `margin' with
6802 `hmargin' and `vmargin'.
6803
6804 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
6805 and GLYPHS.
6806
6807 * dispnew.c (update_text_area): Put code which decrements the
6808 stop position when the row's face extends to the end of the
6809 line in #if 0.
6810
6811 * xfns.c (x_set_mouse_color): Fix color allocation.
6812
6813 * keyboard.c: Call get_local_map with new argument list.
6814
6815 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
6816
6817 * intervals.h (enum map_property): Removed.
6818 (get_local_map): Change prototype.
6819
6820 * keymap.c: Call get_local_map with new argument list.
6821 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
6822
6823 2001-01-11 Gerd Moellmann <gerd@gnu.org>
6824
6825 * xdisp.c (build_desired_tool_bar_string): Correct the computation
6826 of the size needed for the tool bar string. For the last image,
6827 use a `display' property that reaches to the end of the string.
6828
6829 * xselect.c (selection_request_dpyinfo): New variable.
6830 (x_handle_selection_request): Set it.
6831 (x_selection_request_lisp_error): Don't call
6832 x_decline_selection_request if selection request's display has
6833 been closed.
6834
6835 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
6836 Do the unregister_colors before calling XFreeColors.
6837
6838 2001-01-10 Dave Love <fx@gnu.org>
6839
6840 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
6841 ${SOME_MACHINE_LISP}, not ${lisp}.
6842
6843 2001-01-10 Gerd Moellmann <gerd@gnu.org>
6844
6845 * xdisp.c (display_line): On ttys, produce more than one truncation
6846 glyph for multi-column characters that don't fit on the line.
6847
6848 * xselect.c (x_reply_selection_request): Add a comment.
6849
6850 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
6851 XkbGetNames instead of XkbGetKeyboard.
6852
6853 2001-01-10 Dave Love <fx@gnu.org>
6854
6855 * sysdep.c (random): Revert the declaration.
6856
6857 2001-01-09 Gerd Moellmann <gerd@gnu.org>
6858
6859 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
6860 Call function string_bytes.
6861 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
6862
6863 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
6864 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
6865 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
6866 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
6867 the current sblock.
6868 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
6869 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
6870 after sweeping strings, and at the end.
6871 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
6872
6873 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
6874 ensure that pop_message is called.
6875
6876 * keyboard.c (Fexecute_extended_command): Use a
6877 record_unwind_protect to ensure that pop_message is called.
6878
6879 * lisp.h (push_message_unwind): Add prototype.
6880
6881 * xdisp.c (push_message_unwind): New function.
6882
6883 * fileio.c (do_auto_save_unwind): Do the pop_message here
6884 instead of in Fdo_auto_save.
6885 (Fdo_auto_save): Don't call pop_message.
6886
6887 2001-01-08 Ken Raeburn <raeburn@gnu.org>
6888
6889 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
6890 in inner block.
6891
6892 2001-01-08 Gerd Moellmann <gerd@gnu.org>
6893
6894 * window.c (window_scroll_pixel_based): Adjust glyph matrices
6895 when increasing window's vscroll.
6896
6897 * macros.c (Qkbd_macro_termination_hook): New variable.
6898 (syms_of_macros): Initialize and staticpro it.
6899 (pop_kbd_macro): Run kbd-macro-termination-hook.
6900
6901 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
6902
6903 2001-01-07 Dave Love <fx@gnu.org>
6904
6905 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
6906 arglist, for documentation's sake.
6907
6908 2001-01-06 Andrew Innes <andrewi@gnu.org>
6909
6910 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
6911 of *.pdb.
6912
6913 2001-01-05 Andrew Innes <andrewi@gnu.org>
6914
6915 * term.c (update_end): Don't check updating_frame; for some reason
6916 this can be 0 sometimes, such as after dismissing a popup menu,
6917 and isn't necessary given the explicit frame argument.
6918
6919 2001-01-05 Gerd Moellmann <gerd@gnu.org>
6920
6921 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6922 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6923
6924 2001-01-04 Gerd Moellmann <gerd@gnu.org>
6925
6926 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
6927
6928 * xfns.c (x_create_tip_frame): Preserve the value of
6929 face_change_count around the creation of the tip frame.
6930
6931 * xfns.c (last_show_tip_args): New variable.
6932 (compute_tip_xy): New function.
6933 (Fx_show_tip): Reuse an existing tip frame, if possible.
6934 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6935
6936 2001-01-04 Dave Love <fx@gnu.org>
6937
6938 * editfns.c (Fformat): Doc fix.
6939
6940 * systime.h (set_file_times): Prototype.
6941
6942 * widget.h (EmacsFrameSetCharSize_): Prototype.
6943
6944 * sysdep.c (random, srandom): Declare explicitly.
6945
6946 * dispextern.h (move_it_vertically_backward): Declare.
6947
6948 2001-01-04 Gerd Moellmann <gerd@gnu.org>
6949
6950 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6951 like in Fx_create_frame.
6952
6953 * xfaces.c (set_font_frame_param): Don't do anything for
6954 non-graphical frames.
6955
6956 * window.c (Fdelete_other_windows): Set window's window_end_valid
6957 to nil when changing the window's start. Don't change the
6958 window's start when its top position hasn't changed. If we do,
6959 this will set the window's optional_new_start, which act's like a
6960 force_start during redisplay with C-x 1 M-> under particular
6961 circumstances (see report from Per Starback to emacs-pretest-bug
6962 from 2000-12-13.).
6963
6964 2001-01-03 Gerd Moellmann <gerd@gnu.org>
6965
6966 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6967 short cut at the start of the function. Add an assertion.
6968 (reseat_at_next_visible_line_start): Add an assertion.
6969
6970 * window.c (Frecenter): When changing the window start, set the
6971 window's window_end_valid to nil.
6972 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6973
6974 * dispextern.h (move_it_past_eol): Add prototype.
6975
6976 * xdisp.c (move_it_past_eol): New function.
6977
6978 * window.c (Fwindow_end): Doc fix.
6979
6980 2001-01-03 Dave Love <fx@gnu.org>
6981
6982 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
6983
6984 2001-01-03 Gerd Moellmann <gerd@gnu.org>
6985
6986 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6987 the enabled_p flag of the glyph row at window_end_vpos to 0.
6988 (handle_single_display_prop): Fix last change.
6989
6990 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6991
6992 * window.c (Frecenter): Doc fix.
6993
6994 2001-01-02 Andrew Innes <andrewi@gnu.org>
6995
6996 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6997
6998 * frame.h (output_method): Add output_w32_console method.
6999 (FRAME_W32_CONSOLE_P): New macro.
7000
7001 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
7002 use output_w32_console method.
7003 (Qw32_console): New Lisp_Object.
7004 (Fframep): Return it.
7005 (syms_of_frame): Init it.
7006 (Fframe_parameters): Report w32console as font for w32_console frames.
7007
7008 * xfaces.c (realize_default_face): Set face foreground and
7009 background to unspecified for w32_console frames.
7010 (realize_face): Realize face cache for w32_console frames.
7011 (realize_tty_face): Accept w32_console frames.
7012
7013 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
7014 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
7015 necessary, even if running interactively.
7016
7017 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
7018 w32_console frames.
7019
7020 * w32term.c (x_update_begin):
7021 (x_update_end):
7022 (x_clear_frame):
7023 (x_ins_del_lines):
7024 (x_change_line_highlight):
7025 (x_delete_glyphs):
7026 (w32_ring_bell):
7027 (x_update_begin):
7028 (x_update_end):
7029 (w32_reassert_line_highlight):
7030 (w32_frame_rehighlight):
7031 (w32_frame_raise_lower): Do nothing if not w32 frame.
7032
7033 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
7034
7035 * w32fns.c (Fx_display_color_cells): Determine correct value, when
7036 system doesn't tell us directly.
7037 (Fx_display_visual_class): Implement properly.
7038
7039 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7040
7041 * window.c (Frecenter): Handle centering in graphical frames
7042 specially. Centering on the basis of line counts doesn't work
7043 reliably with variable-height lines.
7044
7045 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7046
7047 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
7048 and al[].
7049
7050 * composite.c (run_composition_function): Remove unused var `val'.
7051 (update_compositions): Remove unused variable `hook'.
7052
7053 * intervals.c (get_local_map): Remove unused variable `tem'.
7054
7055 * doprnt.c (doprnt1): Remove unused variable `size'.
7056
7057 * fns.c (Flength): Remove unused variable `tail'.
7058 (Fdelete): Remove unused variable `size'.
7059
7060 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
7061 and `gcpro2'.
7062
7063 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
7064
7065 * data.c (find_symbol_value): Remove extra 3rd argument in the
7066 call to swap_in_symval_forwarding.
7067
7068 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
7069
7070 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
7071 (trivial_regexp_p): Remove unused variable `c'.
7072 (boyer_moore): Remove unused variable `k'.
7073
7074 * indent.c (current_column): Remove unused variable `stopchar'.
7075 (Fcompute_motion): Remove unused variable `contin'.
7076
7077 * casefiddle.c (casify_object): Remove unused variable `tolen'.
7078
7079 * dired.c (directory_files_internal): Fix a typo in a comment.
7080 Remove an unused variable `handler'.
7081 (file_name_completion): Remove unused function-scope variable `dp'.
7082 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
7083 on BSD4_2.
7084
7085 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
7086
7087 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
7088 and `buf'.
7089 (Fmarker_insertion_type): Remove unused variable `buf'.
7090
7091 * insdel.c (make_gap): Remove unused variable `result'.
7092
7093 * keyboard.c (record_char): Remove unused function-scope var `help'.
7094 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
7095 (menu_bar_items): Remove unused function-scope variable `tem'.
7096
7097 * fontset.c (fontset_ref): Remove unused variable `i'.
7098 (fontset_set): Remove unused variables `j' and `tmp'.
7099 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
7100 (make_fontset_for_ascii_face): Remove unused variable `name'.
7101 (fs_load_font): Remove unused variable `font_idx'.
7102 (fs_query_fontset): Remove unused function-local variable `fontset'.
7103 (list_fontsets): Remove unused variable `tail'.
7104 (Fnew_fontset): Remove unused variables `family' and `registry'.
7105 (accumulate_font_info): Remove unused variable `tmp'.
7106 (Ffontset_font): Remove unused variable `id'.
7107 (syms_of_fontset): Remove unused variable `i'.
7108
7109 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
7110 to x_term_init.
7111 (lookup_image): Remove unused variable `file'.
7112 (xbm_load): Remove unused variables `bitmap_data', `height', and
7113 `width'. Remove function-local variable `i', leave the
7114 block-local one.
7115 (gif_load): Remove unused variable `inc'.
7116
7117 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
7118 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
7119 leave only the one in the inner block.
7120
7121 * xfaces.c (face_fontset, realize_default_face): Remove unused
7122 variable `fontset'.
7123 (face_at_buffer_position): Remove unused variable `multibyte_p'.
7124
7125 * term.c (encode_terminal_code): Remove unused variable `c'.
7126
7127 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
7128 char *' instead of `char *'.
7129
7130 * category.c (Fcategory_docstring): Remove unused variable `doc'.
7131 (Fget_unused_category): Remove unused variable `docstring_vector'.
7132 (Fchar_category_set): Remove unused variables `val', `charset',
7133 `c1' and `c2'.
7134
7135 * coding.c (detect_coding_iso2022, setup_coding_system):
7136 Remove unused variable `i'.
7137 (detect_coding_mask): Remove unused variable `idx'.
7138 (detect_coding): Remove unused variable `i'.
7139 (ccl_coding_driver): Remove unused variable `result'.
7140 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
7141 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
7142 (encode_coding_string): Remove unused variables `gcpro1' and
7143 `saved_coding_symbol'.
7144 (Ffind_coding_systems_region_internal): Remove function-local
7145 variable args[], leave only the block-local one.
7146 (code_convert_region1): Remove unused variable `len'.
7147
7148 * charset.c (char_printable_p): Remove unused variable `chars'.
7149 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
7150 (str_to_multibyte): Remove unused variable `c'.
7151
7152 * window.c (size_window): Remove block-local variable `min_size'.
7153
7154 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
7155 `header_line_height'.
7156 (append_space, extend_face_to_end_of_line): Declare `saved_what'
7157 enum display_element_type.
7158
7159 2001-01-02 Gerd Moellmann <gerd@gnu.org>
7160
7161 * xterm.c (x_connection_closed): Catch X errors around all
7162 statements that call X. Save away the error message in a local copy.
7163
7164 * xterm.c (x_connection_closed): Set handling_signal to 0 at
7165 the start.
7166
7167 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
7168 in or at the start of invisible text.
7169
7170 * dispnew.c (update_window): Don't check_current_matrix_flags.
7171
7172 2001-01-01 Jason Rumney <jasonr@gnu.org>
7173
7174 * w32fns.c (x_figure_window_size): Do not allow new_height and
7175 new_width of frame to override specified values.
7176
7177 2000-12-30 Kenichi Handa <handa@etl.go.jp>
7178
7179 * composite.c (find_composition): Fix a code for searching backward.
7180
7181 2000-12-29 Gerd Moellmann <gerd@gnu.org>
7182
7183 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
7184 (update_window) [GLYPH_DEBUG]: Call it.
7185 (scrolling_window): Prevent including current rows which are below
7186 what's displayed in the window.
7187
7188 * xdisp.c (try_window_reusing_current_matrix)
7189 <new start <= old start>: Disable rows in the current matrix
7190 which are below the window after scrolling.
7191
7192 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
7193 is zero. It's not worth the complexity.
7194 (invisible_text_between_p): Put in #if 0 because unused.
7195
7196 2000-12-28 Gerd Moellmann <gerd@gnu.org>
7197
7198 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
7199 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
7200
7201 * keyboard.c (echo_char): If C is an integer, always call
7202 push_key_description. Former code could signal an invalid
7203 character error.
7204
7205 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
7206 If set, print multibyte text.
7207 (Fsingle_key_description): Call push_key_description with
7208 FORCE_MULTIBYTE set.
7209 (describe_buffer_bindings): Likewise.
7210
7211 * lisp.h (push_key_description): Add prototype.
7212
7213 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
7214 around the call to redisplay_internal.
7215
7216 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7217
7218 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
7219
7220 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7221
7222 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
7223 (ccl_driver): New local variable `extra_bytes'.
7224
7225 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
7226
7227 * coding.c (setup_coding_system):
7228 Initialize coding->spec.ccl.eight_bit_carryover.
7229 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
7230
7231 2000-12-28 Kenichi Handa <handa@etl.go.jp>
7232
7233 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
7234 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
7235 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
7236 (decode_composition_emacs_mule): New function.
7237 (decode_coding_emacs_mule): Decode composition sequence by calling
7238 decode_composition_emacs_mule.
7239 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
7240 (encode_coding_emacs_mule): Changed from macro to function.
7241 If a text contains compositions, encode them correctly.
7242 (setup_coding_system): Set coding->commong_flags for emacs-mule so
7243 that decoding and encoding are required.
7244
7245 2000-12-27 Gerd Moellmann <gerd@gnu.org>
7246
7247 * xfaces.c (PT_PER_INCH): New macro.
7248 (xlfd_point_size): Compute real point size from font's pixel size.
7249 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
7250 instead of 72.
7251
7252 * .gdbinit: Comment out the line pointing to the Lesstif source
7253 directory.
7254
7255 * window.c (Frecenter): Use displayed_window_lines instead
7256 of window_internal_height.
7257
7258 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7259 instead of x-toolkit-scroll-bars-p.
7260 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7261
7262 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
7263 instead of x-toolkit-scroll-bars-p.
7264 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
7265
7266 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
7267 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
7268 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
7269 New variables.
7270 (add_window_display_history, add_frame_display_history)
7271 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
7272 (build_frame_matrix_from_leaf_window): Remove unused code.
7273 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
7274 redisplay history.
7275 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
7276 (update_window) [GLYPH_DEBUG]: Likewise.
7277 (syms_of_display): Defsubr dump-redisplay-history.
7278
7279 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7280
7281 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
7282 the end of the prompt. Set echo_after_prompt to the offset
7283 of echoptr in echobuf.
7284
7285 * xdisp.c (init_from_display_pos): Pop until the iterator's
7286 stack is empty; there may be frames for stretch or images
7287 on the stack.
7288
7289 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
7290 (save_or_restore_current_matrix): New function for the same
7291 purpose, but more efficient.
7292 (adjust_frame_glyphs_for_frame_redisplay): Use it.
7293
7294 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
7295
7296 * xdisp.c (syms_of_xdisp): Fix last change.
7297
7298 2000-12-23 Gerd Moellmann <gerd@gnu.org>
7299
7300 * xdisp.c (syms_of_xdisp): Doc fix.
7301
7302 * xdisp.c (redisplay_window): Remove label restore_buffers;
7303 use finish_scroll_bars instead to make sure that scroll bars
7304 are redeemed. If we don't do this, flickering can result from
7305 scroll bars being destroyed and recreated.
7306
7307 2000-12-22 Jason Rumney <jasonr@gnu.org>
7308
7309 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
7310 in the wrong colors when the foreground is not black.
7311 (expose_window): Don't redraw the window that's currently being
7312 updated.
7313
7314 2000-12-22 Gerd Moellmann <gerd@gnu.org>
7315
7316 * window.c (size_window): When setting the window's too_small_ok
7317 flag, compare old size with minimum size depending on WIDTH_P,
7318 don't compare with window_min_width.
7319
7320 * window.c (delete_window): Simplify somewhat.
7321 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
7322 freeing window matrices. The flag windows_or_buffers_changed is
7323 set, so the next redisplay will consider all windows; this should
7324 suffice.
7325
7326 2000-12-22 Kenichi Handa <handa@etl.go.jp>
7327
7328 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
7329
7330 * ccl.h (struct ccl_program): New member cr_consumed.
7331
7332 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
7333 (CCL_READ_CHAR): Handle EOL conversion here.
7334 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
7335
7336 2000-12-21 Gerd Moellmann <gerd@gnu.org>
7337
7338 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
7339
7340 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
7341 otherwise tabs of different size compare equal.
7342
7343 * callint.c (Fcall_interactively): Prevent a compiler warning.
7344
7345 * print.c (print_unwind): Return nil.
7346 (PRINTDECLARE): Initialize all local variables.
7347 (print_preprocess): Add a default case.
7348
7349 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
7350
7351 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
7352
7353 * window.c (delete_window, Fsplit_window)
7354 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
7355
7356 * dispextern.h (ensure_frame_matrix): Function declaration removed.
7357
7358 * dispnew.c (ensure_frame_matrix): Removed.
7359 (save_frame_matrix, restore_frame_matrix): New functions.
7360 (adjust_frame_glyphs_for_frame_redisplay): Use them.
7361
7362 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
7363 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
7364
7365 2000-12-21 Andrew Innes <andrewi@gnu.org>
7366
7367 * w32term.c (x_update_begin): Regenerate the palette here, rather
7368 than for each window.
7369
7370 * w32xfns.c (select_palette): Avoid calling SelectPalette if
7371 palette is NULL, since this corrupts memory! Also get
7372 display_info reference from frame.
7373
7374 2000-12-21 Jason Rumney <jasonr@gnu.org>
7375
7376 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
7377
7378 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
7379 to avoid returning without releasing it.
7380
7381 2000-12-21 Kenichi Handa <handa@etl.go.jp>
7382
7383 * keymap.c (push_key_description): Don't convert eight-bit-control
7384 and eight-bit-graphic to multibyte character.
7385
7386 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
7387 generic character and CODE1 is nil, return the smallest character
7388 in CHARSET.
7389
7390 2000-12-20 Dave Love <fx@gnu.org>
7391
7392 * s/osf5-0.h (NSIG): Don't redefine.
7393
7394 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
7395
7396 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
7397 excluding menu-bar and tool-bar.
7398 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
7399 (menu_item_p): Remove.
7400 (where_is_internal_1): Don't ignore menu-items.
7401
7402 2000-12-20 Gerd Moellmann <gerd@gnu.org>
7403
7404 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
7405 into account.
7406
7407 * window.c (make_window): Initialize window's min_hscroll.
7408 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7409 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7410 to zero.
7411 (struct saved_window): New member min_hscroll.
7412 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7413 (Fset_window_configuration): Set window's min_hscroll.
7414 (save_window_save): Save window's min_hscroll.
7415 (compare_window_configurations): Compare min_hscroll values.
7416
7417 * window.h (struct window): New member min_hscroll.
7418
7419 * keyboard.c (echo_prompt): Prevent a compiler warning.
7420
7421 * xdisp.c (try_cursor_movement): Fix last change. The real
7422 condition is that PT is at the end of the row, and should
7423 be displayed at the start of the next row.
7424
7425 * xdisp.c (try_cursor_movement): If we end on a partially
7426 visible line, end we already decided to scroll, return -1.
7427
7428 * dispextern.h (ensure_frame_matrix): Add prototype.
7429
7430 * window.c (delete_window, Fsplit_window)
7431 (Fset_window_configuration): Call ensure_frame_matrix.
7432
7433 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7434 New functions.
7435 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7436 completed, call fake_current_matrices instead of marking frame
7437 garbaged.
7438
7439 2000-12-20 Jason Rumney <jasonr@gnu.org>
7440
7441 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7442
7443 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7444
7445 * fns.c (Frequire): Doc fix.
7446
7447 2000-12-19 Gerd Moellmann <gerd@gnu.org>
7448
7449 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
7450
7451 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7452 currently displaying a message.
7453
7454 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7455 xterm.h.
7456 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7457
7458 2000-12-18 Andrew Innes <andrewi@gnu.org>
7459
7460 * w32.c (w32_strerror): New function.
7461
7462 * w32.h (w32_strerror): New extern.
7463
7464 * w32fns.c (Fw32_shell_execute): Use it.
7465
7466 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7467
7468 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7469
7470 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7471
7472 * msdos.c (IT_set_face): Obey inverse_video.
7473
7474 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7475
7476 * dired.c (directory_files_internal): Always return decoded filenames.
7477
7478 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7479
7480 * xterm.c (x_connection_closed): Prevent being called recursively
7481 because of an error condition in XtCloseDisplay.
7482
7483 * xdisp.c (init_iterator): If noninteractive, and the frame's
7484 face cache is null, make one.
7485
7486 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
7487
7488 * process.c (wait_reading_process_input): Check for pending
7489 input when running timers.
7490
7491 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7492
7493 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
7494
7495 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7496
7497 * process.c (read_process_output): Don't run a filter if the code
7498 decoder produces nothing but carryover.
7499
7500 2000-12-17 Andrew Innes <andrewi@gnu.org>
7501
7502 * w32.c (sys_rename): Only check errno against EEXIST, and not
7503 EACCES, when determining whether rename failed because the target
7504 exists. This was resulting in indefinite looping on Windows 9x if
7505 the source file was locked by another process.
7506
7507 * w32fns.c (Ffile_system_info): New function.
7508 (syms_of_w32fns): Defsubr it.
7509
7510 2000-12-17 Gerd Moellmann <gerd@gnu.org>
7511
7512 * window.c (coordinates_in_window): Fix computation for
7513 position on vertical line between mode lines.
7514
7515 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7516 Don't alter tip_frame or tip_window.
7517 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7518 was deleted.
7519
7520 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7521 Don't alter tip_frame or tip_window.
7522 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7523 was deleted.
7524
7525 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7526
7527 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7528 be consistent with the doc string. Reported by NAKAJIMA Mikio
7529 <minakaji@osaka.email.ne.jp>.
7530
7531 2000-12-16 Kenichi Handa <handa@etl.go.jp>
7532
7533 * xfaces.c (Vface_ignored_fonts): New variable.
7534 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7535 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7536
7537 2000-12-15 Gerd Moellmann <gerd@gnu.org>
7538
7539 * dispnew.c (update_window): Detect pending input every nth line
7540 updated, i.e. do it depending on real work done, and not on the
7541 vpos of the line.
7542
7543 * xterm.c (expose_window): Don't redraw the window that's
7544 currently being updated.
7545
7546 * window.c (Fset_window_point): Remove test for
7547 cursor_in_non_selected_windows.
7548
7549 * lread.c (read1): Recognize end of file after `\\'.
7550
7551 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7552 not unwind_create_frame.
7553
7554 2000-12-15 Dave Love <fx@gnu.org>
7555
7556 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7557 bcopy & al.
7558
7559 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7560
7561 2000-12-15 Kenichi Handa <handa@etl.go.jp>
7562
7563 * coding.c (setup_coding_system): Clear all members of the struct
7564 coding_system at first.
7565 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
7566 argument.
7567 (code_convert_region): Don't override coding->src_multibyte and
7568 coding->dst_multibyte.
7569
7570 * fns.c (Fmd5): Docstring improved.
7571
7572 2000-12-15 Miles Bader <miles@gnu.org>
7573
7574 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
7575 are actually marked as mode-lines; otherwise use
7576 estimate_mode_line_height.
7577
7578 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7579
7580 * editfns.c (Fformat): Prevent a buffer overrun when the format
7581 specifies a precision.
7582
7583 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
7584
7585 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
7586 argument is outside the range [2..3].
7587
7588 2000-12-14 Andrew Innes <andrewi@gnu.org>
7589
7590 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
7591 nothing to do. Bind inhibit-quit.
7592 (tip_frame): Make it a Lisp_Object.
7593 (x_create_tip_frame): Set tip_frame after it has been added to
7594 Vframe_list.
7595 (Fx_show_tip): Don't set tip_frame here.
7596 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
7597 (unwind_create_frame, unwind_create_tip_frame): New functions.
7598 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7599 while a frame is only partially constructed.
7600
7601 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7602 (x_free_frame_resources): New function.
7603 (x_destroy_window): Use it.
7604
7605 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7606
7607 * xfns.c (Fx_backspace_delete_keys_p): New function.
7608 (syms_of_xfns): Defsubr it.
7609
7610 * config.in (HAVE_XKBGETKEYBOARD): Add.
7611
7612 2000-12-14 Kenichi Handa <handa@etl.go.jp>
7613
7614 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
7615 Always store string in multibyte representation in echobuf.
7616 (echo_char): Always store string in multibyte representation in
7617 echobuf.
7618 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
7619 (read_key_sequence): Adjusted for the change of echo_prompt.
7620
7621 * fns.c (Fmd5): Docstring improved.
7622
7623 * lisp.h (detect_coding_system): Prototype adjusted.
7624
7625 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
7626 (detect_coding_emacs_mule, detect_coding_iso2022,)
7627 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
7628 (detect_coding_utf_16, detect_coding_ccl): Make them static.
7629 New argument MULTIBYTEP. Callers changed.
7630 (detect_coding_mask, detect_coding_system): New argument
7631 MULTIBYTEP. Callers changed.
7632 (decode_coding_string): Set coding->src_multibyte and
7633 coding->dst_multibyte before calling detect_coding and detect_eol.
7634 Update them after some coding system is detected.
7635
7636 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
7637
7638 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
7639
7640 * keyboard.c (menu_bar_items, tool_bar_items):
7641 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
7642
7643 2000-12-13 Gerd Moellmann <gerd@gnu.org>
7644
7645 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
7646 New variables.
7647 (unwind_create_frame, unwind_create_tip_frame): New functions.
7648 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7649 while a frame is only partially constructed.
7650
7651 * xterm.h (x_free_frame_resources): Declare.
7652
7653 * xterm.c (x_free_frame_resources): New function.
7654 (x_destroy_window): Use it.
7655
7656 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
7657 don't interrupt the update for pending input initially, i.e.
7658 update at least some lines.
7659
7660 * keyboard.c (do_mouse_tracking): Make externally visible.
7661
7662 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
7663
7664 * xfns.c (gray_bitmap_bits): Declare `char *'.
7665
7666 2000-12-12 Gerd Moellmann <gerd@gnu.org>
7667
7668 * xdisp.c (display_tool_bar_line): Make sure that tool bar
7669 lines start with a relief line.
7670
7671 2000-12-12 Dave Love <fx@gnu.org>
7672
7673 * window.c (Fdisplay_buffer): Doc fix.
7674 (Fwindow_list): Remove unused var.
7675
7676 * buffer.h (mmap_set_vars): Declare.
7677
7678 * window.h (Fset_window_point): Declare.
7679
7680 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
7681
7682 * msdos.c (fast_find_position): Don't overstep the last window row.
7683 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
7684 variable `area'. When looking for a row under (X,Y), give up if some
7685 of the previous rows is not enabled.
7686
7687 2000-12-12 Gerd Moellmann <gerd@gnu.org>
7688
7689 * window.c (Fset_window_point): If displaying cursors in windows
7690 other than the selected window, make sure redisplay updates
7691 other windows to show the new value of point in the window.
7692
7693 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
7694
7695 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
7696 the buffer is the sole visible buffer when in the mini-buffer.
7697
7698 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
7699 Bind `inhibit-read-only' to t.
7700 (unwind_with_echo_area_buffer): Use AREF.
7701
7702 * xfns.c (Fx_hide_tip): Simplified.
7703
7704 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
7705 instead of `1'.
7706
7707 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
7708
7709 2000-12-11 Gerd Moellmann <gerd@gnu.org>
7710
7711 * xfns.c (Fx_hide_tip): Fix last change.
7712
7713 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
7714 nothing to do. Bind inhibit-quit.
7715 (tip_frame): Make it a Lisp_Object.
7716 (x_create_tip_frame): Set tip_frame after it has been added to
7717 Vframe_list.
7718 (Fx_show_tip): Don't set tip_frame here.
7719
7720 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7721
7722 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
7723 Lisp_Object.
7724
7725 * dispextern.h: Change external declaration of tip_frame.
7726
7727 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
7728 return an empty string.
7729
7730 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
7731 of the window's update_mode_line flag, since the former is set by
7732 force-mode-line-update, not the latter. This makes
7733 column-number-mode slightly faster.
7734
7735 * xdisp.c (try_window_id) <all changes above window start>:
7736 Set the cursor.
7737
7738 2000-12-11 Paul Eggert <eggert@twinsun.com>
7739
7740 * config.in (HAVE_FTELLO): Remove.
7741 (HAVE_FSEEKO): Add.
7742 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
7743 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
7744 HAVE_FTELLO.
7745 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
7746 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
7747
7748 2000-12-11 Miles Bader <miles@gnu.org>
7749
7750 * window.c (displayed_window_lines): Don't round up when
7751 converting empty space at bottom to lines.
7752 Handle non-newline-terminated final lines properly.
7753 (Fwindow_text_height): New function (used to be in lisp).
7754 (syms_of_window): Initialize it.
7755
7756 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
7757
7758 * syntax.c (scan_lists): Check that the right quote char has the
7759 right Sstring syntax when jumping over strings.
7760 (init_syntax_once): Use Smax rather than 13.
7761
7762 2000-12-09 Miles Bader <miles@gnu.org>
7763
7764 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
7765 with PARTIALLY, inverting the sense.
7766 (window_scroll_pixel_based): Scroll partially visible lines into
7767 place if we hit the beginning or end of the buffer.
7768 (displayed_window_lines): Don't include partially visible lines.
7769 (Fmove_to_window_line): Skip past any partially visible first line.
7770
7771 2000-12-08 Gerd Moellmann <gerd@gnu.org>
7772
7773 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
7774
7775 * tparam.c (tparam1): Change the way buffers are reallocated to be
7776 portable and less obfuscated.
7777
7778 * termcap.c (tgetent): Change the way buffers are reallocated to
7779 be portable and less obfuscated.
7780
7781 * macros.c (store_kbd_macro_char): Change the way buffers are
7782 reallocated to be portable and less obfuscated.
7783
7784 * lread.c (read1): Change the way buffers are reallocated to be
7785 portable and less obfuscated.
7786
7787 * doc.c (Fsubstitute_command_keys): Change the way buffers
7788 are reallocated so that it is portable.
7789
7790 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
7791
7792 * dosfns.c (Ffile_system_info): New function.
7793 (syms_of_dosfns): Defsubr it.
7794
7795 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
7796
7797 * alloc.c (gc_sweep): Add comment.
7798
7799 2000-12-07 Gerd Moellmann <gerd@gnu.org>
7800
7801 * sound.c (vox_configure): Change order of ioctls.
7802 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
7803 Ignore errors when changing volume.
7804 (vox_close): Don't reset the device.
7805
7806 * process.c (read_process_output): Make sure the process marker's
7807 position is valid when the process buffer is changed in
7808 after-change functions. W3 does that.
7809
7810 * xfns.c (x_free_gcs): New function.
7811
7812 * xterm.h (x_free_gcs): Add prototype.
7813
7814 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
7815 freeing GCs here.
7816
7817 * xterm.c (x_destroy_window): Call x_free_gcs so that
7818 resources of non-toolkit X windows will be freed.
7819
7820 2000-12-07 Andrew Innes <andrewi@gnu.org>
7821
7822 * w32fns.c (xlfd_charset_of_font): Fix last change.
7823
7824 2000-12-06 Dave Love <fx@gnu.org>
7825
7826 * md5.h (__P): Don't define -- it comes from config.h.
7827
7828 * strftime.c: Change some #if foo to #ifdef foo.
7829
7830 2000-12-06 Andrew Innes <andrewi@gnu.org>
7831
7832 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
7833
7834 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
7835 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
7836 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
7837
7838 2000-12-06 Gerd Moellmann <gerd@gnu.org>
7839
7840 * alloc.c (gc_sweep): Prevent symbols read during loadup
7841 from being freed.
7842
7843 * xdisp.c (underlying_face_id): New function.
7844 (handle_face_prop, face_before_or_after_it_pos): Use it
7845 to determine the face ``under'' a string. Let strings inherit
7846 the face of the buffer under them.
7847
7848 * xfaces.c (face_at_string_position): Update function comment.
7849
7850 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
7851 matrix if the window's left position has changed; we need to
7852 redraw it in this case.
7853
7854 * dispextern.h (struct glyph_matrix): Add member window_left_x.
7855
7856 * window.c (coordinates_in_window): Check mouse on mode-line or
7857 header-line first.
7858
7859 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
7860 advertized by the function documentation.
7861
7862 * window.c (syms_of_window): Doc fix.
7863
7864 * sound.c (vox_configure): Set volume for left and right channel.
7865 (sound_cleanup): Return nil.
7866
7867 * xdisp.c (move_it_by_lines): Fix paren typo.
7868
7869 * xterm.c (x_load_font): Don't use the font's max_bounds for
7870 computing the height of the font. If max_bounds' ascent or
7871 descent are greater than the font's ascent or descent, this means
7872 glyphs overlap, which should be handled now by redisplay.
7873
7874 * window.c (Veven_window_heights): New variable.
7875 (syms_of_window): DEFVAR_LISP it.
7876 (Fdisplay_buffer): Check Veven_window_heights before evening the
7877 window heights.
7878
7879 2000-12-06 Miles Bader <miles@gnu.org>
7880
7881 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
7882 update `default-frame-alist' instead of setting no frame parameters.
7883
7884 2000-12-06 Kenichi Handa <handa@etl.go.jp>
7885
7886 * composite.c (update_compositions): Fix typo (use the correct
7887 variable).
7888
7889 2000-12-05 Jason Rumney <jasonr@gnu.org>
7890
7891 * md5.h: Remove underscores from function declarations.
7892 (__attribute__, __alignof__) [!__GNUC__]: Define.
7893
7894 * md5.c: Delay include of md5.h until after namespace cleaning.
7895
7896 * makefile.w32-in (fns.o): Depend on md5.h
7897 (md5.o): New target.
7898 (sunfns.o): Remove.
7899
7900 * makefile.nt: Likewise.
7901
7902 2000-12-05 Jason Rumney <jasonr@altavista.net>
7903
7904 * w32term.c (expose_area): Complete last change.
7905
7906 2000-12-05 Ken Raeburn <raeburn@gnu.org>
7907
7908 * minibuf.c: Include intervals.h.
7909
7910 2000-12-05 Jason Rumney <jasonr@gnu.org>
7911
7912 * w32term.c (x_produce_glyphs): If a font for a component of
7913 a composition is not found, use 1 pixel dot ascent and 0 dot
7914 descent value to avoid displaying terribly tall empty boxes.
7915 (expose_area): Pass x-coordinate relative to the exposed
7916 area to x_draw_glyphs instead of a window-relative coordinate.
7917
7918 2000-12-05 Gerd Moellmann <gerd@gnu.org>
7919
7920 * xdisp.c (next_element_from_ellipsis): Save face before selective
7921 display in saved_face_id, and set face_before_selective_p.
7922 (reseat_1): Reset face_before_selective_p.
7923 (append_space, extend_face_to_end_of_line): If iterator's
7924 face_before_selective_p is set, use the face from saved_face_id.
7925 (extend_face_to_end_of_line): For tty frames, make sure to
7926 use the right face id when producing spaces at the end of
7927 the line.
7928
7929 * dispextern.h (struct it): Add face_before_selective_p.
7930
7931 * keyboard.c (record_char): Don't record identical help-echo
7932 events in recent_keys.
7933
7934 * xterm.c [USE_X_TOOLKIT]: Close the display.
7935 (xim_close_dpy): Handle case that the display has been closed.
7936
7937 * xterm.c (x_destroy_window): Reset the frame's X window after
7938 destroying it.
7939
7940 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7941 variable window_width.
7942 (line_draw_cost): Fix code skipping over spaces at the end of the
7943 line when must_write_spaces is not set.
7944 (scrolling_window): Fix code inserting runs in list of all runs.
7945
7946 2000-12-05 Kenichi Handa <handa@etl.go.jp>
7947
7948 * coding.c (setup_coding_system): Be sure to initialize
7949 coding->category_idx.
7950
7951 2000-12-04 Gerd Moellmann <gerd@gnu.org>
7952
7953 * xterm.c (PER_CHAR_METRIC): Removed because not used.
7954
7955 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7956 area to x_draw_glyphs instead of a window-relative coordinate.
7957
7958 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7959 error in the message.
7960
7961 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7962 timer after having read a key. It's not good for code reading
7963 several keys in a loop, like an input method.
7964
7965 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7966 record undo information for format-decode.
7967
7968 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7969 current buffer is read-only, not if it isn't.
7970
7971 * keyboard.c (record_char): Record `help-echo' input events
7972 in recent_keys only if they display some help. Don't record
7973 `help-echo' events as macro char.
7974
7975 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7976
7977 * editfns.c (save_excursion_restore): Don't move point
7978 in another window if it is showing the wrong buffer.
7979 Avoid the call to Fwindow_live_p, for speed.
7980
7981 2000-12-04 Kenichi Handa <handa@etl.go.jp>
7982
7983 * xfaces.c (struct font_name): New member registry_priority.
7984 (split_font_name): Initialize the above member to zero.
7985 (concat_font_list): New function.
7986 (font_list): Include fonts of all alternative registries.
7987 (FONT_POINT_SIZE_QUANTUM): New macro.
7988 (better_font_p): Ignore point size difference less than
7989 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7990
7991 * xterm.c (x_produce_glyphs): If a font for a component of
7992 a composition is not found, use 1 pixel dot ascent and 0 dot
7993 descent value to avoid displaying terribly tall empty boxes.
7994
7995 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7996
7997 2000-12-03 Ken Raeburn <raeburn@gnu.org>
7998
7999 * coding.h (code_convert_string1): Declare.
8000
8001 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
8002
8003 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
8004
8005 2000-12-02 Jason Rumney <jasonr@gnu.org>
8006
8007 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
8008 correctly for single byte character case.
8009 (w32_per_char_metric): Do not try to make any assumptions about
8010 the metrics of BDF fonts.
8011 (x_estimate_mode_line_height): If `mode-line' face
8012 hasn't a font, use that of the frame, as drawing glyphs does.
8013 (note_mouse_highlight): Change the cursor shape on the vertical
8014 border between windows [not enabled].
8015
8016 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
8017
8018 * w32fns.c (Fx_create_frame): Reintroduce the call to
8019 face-set-after-frame-defaults.
8020 (Vx_window_horizontal_drag_shape): New variable.
8021 (syms_of_xfns): DEFVAR_LISP it.
8022 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
8023 enabled].
8024
8025 2000-12-02 Simon Josefsson <simon@josefsson.org>
8026
8027 * fns.c (Fmd5): Use a different logic to decide the coding system
8028 to use.
8029
8030 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
8031
8032 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
8033
8034 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
8035
8036 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8037
8038 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
8039 height for YNegative.
8040 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
8041 height; also see comment there.
8042
8043 * window.c (coordinates_in_window): Handle computations for
8044 positions on the vertical bar and fringes differently for
8045 window-system frames. Consider some pixels near the vertical bar
8046 as on the bar if the frame doesn't have vertical scroll bars.
8047 Associate positions between mode or header lines with the
8048 right window, the left one.
8049
8050 2000-12-01 Jason Rumney <jasonr@gnu.org>
8051
8052 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
8053
8054 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
8055 invalid frame.
8056
8057 2000-12-01 Gerd Moellmann <gerd@gnu.org>
8058
8059 * window.c (struct saved_window): Add members orig_top and orig_height.
8060 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
8061 (save_window_save, Fset_window_configuration): Save/restore
8062 window's orig_top and orig_height.
8063
8064 2000-12-01 Jason Rumney <jasonr@gnu.org>
8065
8066 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
8067
8068 * w32fns.c (x_set_cursor_color): Fix last change.
8069
8070 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8071
8072 * xdisp.c (echo_area_display): If cursor is in the echo area, make
8073 sure that the next redisplay displays the minibuffer, so that
8074 the cursor will be replaced with what the minibuffer wants.
8075
8076 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
8077 #ifndef instead of using #if.
8078 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
8079 USE_TOOLKIT_SCROLL_BARS is defined.
8080
8081 2000-11-30 Jason Rumney <jasonr@gnu.org>
8082
8083 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
8084 x_display_cursor.
8085
8086 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8087
8088 * fns.c (Fmd5): Doc fix.
8089
8090 2000-11-30 Simon Josefsson <simon@josefsson.org>
8091
8092 * fns.c (Fmd5): New function.
8093 (syms_of_fns): Defsubr md5.
8094
8095 * Makefile.in (obj): Add md5.o
8096
8097 2000-11-30 Gerd Moellmann <gerd@gnu.org>
8098
8099 * md5.h, md5.c: New files, taken from glibc.
8100
8101 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
8102
8103 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
8104 hasn't a font, use that of the frame, as drawing glyphs does.
8105
8106 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
8107
8108 * eval.c (Frun_hooks): Allow 0 arguments.
8109
8110 2000-11-29 Gerd Moellmann <gerd@gnu.org>
8111
8112 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
8113 is over the menu bar widget, say it's not on the frame.
8114
8115 * xfns.c (Fx_create_frame): Reintroduce the call to
8116 face-set-after-frame-defaults.
8117
8118 * eval.c (Fsignal): Reset handling_signal.
8119
8120 2000-11-28 Jason Rumney <jasonr@gnu.org>
8121
8122 * w32menu.c (add_menu_item): Reset menu item text when changing
8123 type to radio button.
8124
8125 2000-11-28 Gerd Moellmann <gerd@gnu.org>
8126
8127 * xselect.c: Update copyright.
8128
8129 * window.c (coordinates_in_window): If on a mode or header line,
8130 but sufficiently close to its start, return ``on vertical
8131 border''. This gives us a way to drag windows horizontally when
8132 using toolkit scroll bars.
8133
8134 * xterm.c (note_mouse_highlight): Change the cursor shape
8135 on the vertical border between windows.
8136
8137 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
8138
8139 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
8140 (syms_of_xfns): DEFVAR_LISP it.
8141 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
8142
8143 * textprop.c (text_read_only): New function.
8144 (verify_interval_modification): Use it instead of signaling
8145 `text-read-only'. This makes it easier to catch this error
8146 with a breakpoint.:
8147
8148 * xdisp.c (forward_to_next_line_start): Check for newlines,
8149 not end of line, which includes CR.
8150
8151 2000-11-28 Kenichi Handa <handa@etl.go.jp>
8152
8153 * coding.c (Ffind_coding_systems_region_internal): Be sure to
8154 include no-conversion.
8155
8156 2000-11-27 Jason Rumney <jasonr@gnu.org>
8157
8158 * w32fns.c (w32_load_system_font): Always mark font as double byte
8159 if codepage is unicode.
8160
8161 2000-11-27 Gerd Moellmann <gerd@gnu.org>
8162
8163 * xdisp.c (forward_to_next_line_start): If already on a newline,
8164 just consume it to avoid unintended skipping over invisible text below.
8165
8166 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
8167 `vertical-line', `mode-line' and `header-line' events.
8168
8169 * xdisp.c (try_window_id): Avoid starting to display in the middle
8170 of a character, a TAB for instance. This is easier than to set
8171 up the iterator exactly, and it's not a frequent case, so the
8172 additional effort wouldn't really pay off.
8173
8174 2000-11-26 Andrew Choi <akochoi@i-cable.com>
8175
8176 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
8177 init_window_once.
8178
8179 2000-11-25 Jason Rumney <jasonr@gnu.org>
8180
8181 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
8182 Args to window_from_coordinates should be pixel coordinates.
8183
8184 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
8185 redisplay handles them properly.
8186
8187 2000-11-25 Miles Bader <miles@gnu.org>
8188
8189 * indent.c (compute_motion): Keep pos_byte in sync with pos.
8190
8191 2000-11-24 Jason Rumney <jasonr@gnu.org>
8192
8193 * w32.c (init_environment): Set LANG environment variable based on
8194 locale settings, if not set.
8195
8196 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
8197 making tool bar smaller. When clearing the frame, also
8198 clear current matrices. Clear frame when tool bar disappears.
8199 Don't use more lines for the tool-bar than is available.
8200 (x_change_window_heights): New function.
8201
8202 2000-11-24 Gerd Moellmann <gerd@gnu.org>
8203
8204 * xdisp.c (init_from_display_pos): If POS says we're already after
8205 an overlay string ending at POS, make sure to pop the iterator
8206 because it will be in front of that overlay string. When POS is
8207 ZV, we've thereby also ``processed'' overlay strings at ZV.
8208
8209 * xfaces.c (lface_from_face_name): Function comment fix.
8210
8211 2000-11-24 Miles Bader <miles@gnu.org>
8212
8213 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
8214 apply `mode-line-inverse-video' -- zero means force display using
8215 the default face, non-zero means display using the specialized face.
8216 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
8217
8218 2000-11-23 Kenichi Handa <handa@etl.go.jp>
8219
8220 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
8221 hard coded `4'.
8222
8223 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8224
8225 * coding.c (decode_coding_emacs_mule): Fix the case of
8226 CODING_EOL_LF, which used uninitialized value of c.
8227
8228 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
8229
8230 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
8231
8232 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8233
8234 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
8235 buffer object.
8236
8237 * frame.h (struct frame): Replace desired_tool_bar_items,
8238 current_tool_bar_items, n_desired_tool_bar_items,
8239 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
8240
8241 * frame.c (make_frame): Change initialization of tool bar
8242 items accordingly.
8243
8244 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
8245 Change references to members deleted from struct frame to use the
8246 new ones.
8247
8248 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
8249 references to members deleted from struct frame to use the new ones.
8250
8251 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
8252
8253 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
8254
8255 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
8256 (note_tool_bar_highlight): Change references to members deleted
8257 from struct frame to use the new ones.
8258
8259 2000-11-23 Miles Bader <miles@gnu.org>
8260
8261 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
8262 the face's inverse-video attribute, rather than overriding it.
8263
8264 2000-11-22 Gerd Moellmann <gerd@gnu.org>
8265
8266 * xfns.c (x_set_tool_bar_lines): Clear internal border when
8267 making tool bar smaller.
8268
8269 2000-11-22 Dave Love <fx@gnu.org>
8270
8271 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
8272
8273 2000-11-22 Miles Bader <miles@gnu.org>
8274
8275 * keyboard.c (Vminibuffer_message_timeout): New variable.
8276 (command_loop_1): Use it to determine message timeout.
8277 (syms_of_keyboard): Initialize it.
8278
8279 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
8280
8281 2000-11-22 Kenichi Handa <handa@etl.go.jp>
8282
8283 * sysdep.c: Move the code for declaring h_errno after #include
8284 <netdb.h>.
8285
8286 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8287
8288 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
8289 the menu bar when the tooltip is unmapped.
8290
8291 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
8292 sole visible buffer when we're currently in the mini-buffer, and
8293 give up if so.
8294
8295 2000-11-21 Jason Rumney <jasonr@gnu.org>
8296
8297 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
8298 put on the clipboard.
8299 (Fw32_get_clipboard_data): Compare data on clipboard with saved
8300 copy of what Emacs last put there. If they are the same, do not
8301 use the clipboard copy to avoid losing data due to coding conversions.
8302
8303 2000-11-22 Miles Bader <miles@gnu.org>
8304
8305 * minibuf.c (Vminibuffer_prompt_properties): New variable.
8306 (syms_of_minibuf): Initialize it.
8307 (read_minibuf): Add properties from Vminibuffer_prompt_properties
8308 to prompt, don't make read-only.
8309
8310 2000-11-21 Gerd Moellmann <gerd@gnu.org>
8311
8312 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
8313 Add BEFORE/AFTER_POTENTIAL_GC.
8314
8315 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
8316
8317 * buffer.c (mmap_free_1): Avoid a compiler warning.
8318
8319 * term.c, cm.c: Don't try to include termcap.h; see comment there.
8320
8321 2000-11-21 Kenichi Handa <handa@etl.go.jp>
8322
8323 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
8324 ... #endif scope.
8325
8326 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8327
8328 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
8329 screen supports it.
8330
8331 * s/gnu-linux.h: Don't use `#cpu'.
8332
8333 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
8334 not defined in mman.h.
8335
8336 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
8337 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
8338 and store an index in the XClientMessageEvent. Storing a
8339 Lisp_Object or pointer can fail on a 64 bit system, since X only
8340 transfers 32 bits.
8341 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
8342
8343 2000-11-20 Dave Love <fx@gnu.org>
8344
8345 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
8346
8347 2000-11-20 Gerd Moellmann <gerd@gnu.org>
8348
8349 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
8350
8351 2000-11-20 Kenichi Handa <handa@etl.go.jp>
8352
8353 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
8354 by WIDTH.
8355
8356 * alloc.c (make_string): Fix previous change. Be sure to make
8357 unibyte string correctly.
8358
8359 2000-11-19 Gerd Moellmann <gerd@gnu.org>
8360
8361 * window.c (Fwindow_list): Change parameter list to be XEmacs
8362 compatible.
8363 (window_list_1): New function.
8364 (window_loop): Use it instead of Fwindow_list.
8365
8366 * sysdep.c (emacs_ospeed): New variable.
8367 (toplevel): Don't declare ospeed extern.
8368 (init_baud_rate): Use emacs_ospeed instead of ospeed.
8369
8370 * termcap.c (ospeed): Remove.
8371 (tputs) [!emacs]: Remove unused code.
8372 (tgetent): Avoid a compiler warning.
8373
8374 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
8375 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
8376 SCROLL_BAR_X_WIDGET with additional argument DPY.
8377
8378 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
8379 removed.
8380 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
8381 Take the X display as additional argument.
8382 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
8383 `Widget' is a pointer type that's not easily stored in Lisp_Object
8384 form in a portable way.
8385
8386 * dispnew.c (update_text_area): Fix last change.
8387
8388 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8389
8390 * xdisp.c: Use BINDING_STACK_SIZE throughout.
8391
8392 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
8393 clear current matrices.
8394
8395 * buffer.c (mmap_enlarge): Don't print a message on stderr
8396 if mapping new memory at the end of the existing region fails.
8397
8398 * dispnew.c (update_text_area): Don't skip over equal glyphs
8399 when the last current glyph overlaps the glyph to its right.
8400
8401 2000-11-18 Miles Bader <miles@gnu.org>
8402
8403 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
8404 lines that *end* with "..." too (that's the most common case!).
8405
8406 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8407
8408 * xdisp.c (resize_mini_window): Temporarily change to the
8409 mini-window's buffer if necessary.
8410
8411 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8412 the tooltip obscures less text under it.
8413
8414 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8415
8416 * puresize.h (BASE_PURESIZE): Increase to 700000.
8417
8418 2000-11-18 Jason Rumney <jasonr@gnu.org>
8419
8420 * w32term.c (w32_draw_bitmap): Use face to set colors.
8421
8422 2000-11-17 Dave Love <fx@gnu.org>
8423
8424 * lread.c (Fload): Fix #ifdef for pcc.
8425
8426 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8427
8428 * xdisp.c (pos_visible_p): Compute the default character height
8429 differently.
8430
8431 2000-11-16 Gerd Moellmann <gerd@gnu.org>
8432
8433 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
8434 knowing the line's height; use the default font's height in that case.
8435
8436 * xfaces.c (weight_table): Add `demi' with the same meaning as
8437 `demibold'.
8438
8439 2000-11-16 Kenichi Handa <handa@etl.go.jp>
8440
8441 * dispnew.c (null_row): New global static variable.
8442 (clear_glyph_row): Delete local static variable null_row.
8443
8444 2000-11-15 Jason Rumney <jasonr@gnu.org>
8445
8446 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8447 (w32_alloc_lighter_color): Use new brightness calculations from
8448 xterm.c. Scale delta to be in the range expected by W32.
8449 (w32_draw_relief_rect): Use frame relief colors.
8450
8451 2000-11-15 Gerd Moellmann <gerd@gnu.org>
8452
8453 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8454 (Qinhibit_default_face_x_resources): New variable.
8455 (syms_of_frame): Initialize it.
8456 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8457
8458 * xdisp.c (pos_visible_p): Improve function comment.
8459
8460 * lisp.h (BINDING_STACK_SIZE): New macro.
8461
8462 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8463 reading the directory if readdir returns null and errno is EAGAIN
8464 or EINTR.
8465
8466 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8467
8468 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8469 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8470 Set amount_to_scroll to max of dx and scroll_step so that
8471 scroll-conservatively doesn't defeat scroll-step>1.
8472 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8473 scroll-conservatively for line-at-a-time scrolling.
8474
8475 2000-11-14 Gerd Moellmann <gerd@gnu.org>
8476
8477 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8478 extra argument.
8479
8480 * xdisp.c (current_mode_line_height, current_header_line_height):
8481 New variables.
8482 (init_xdisp): Initialize them.
8483 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8484 and use exact mode line heights if it is set.
8485
8486 * lisp.h (pos_visible_p): Change prototype.
8487
8488 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8489 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8490 and current_header_line_height first.
8491 (current_mode_line_height, current_header_line_height):
8492 Declare extern.
8493
8494 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8495
8496 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8497 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8498 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8499
8500 2000-11-14 Miles Bader <miles@gnu.org>
8501
8502 * xterm.c (x_alloc_lighter_color): Include an additive component
8503 too for dark colors, because FACTOR isn't enough.
8504 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8505 New macros.
8506
8507 2000-11-13 Gerd Moellmann <gerd@gnu.org>
8508
8509 * keyboard.c (show_help_echo): Call message3_nolog with number of
8510 bytes in the help string as 2nd parameter, instead of the number
8511 of characters.
8512
8513 2000-11-13 Miles Bader <miles@gnu.org>
8514
8515 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8516 (Fload): Use new openp return protocol.
8517 Don't try to use Vload_source_file_function to load .elc files.
8518 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8519 openp return protocol.
8520 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8521
8522 2000-11-11 Kenichi Handa <handa@etl.go.jp>
8523
8524 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8525
8526 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8527 Defined these macros.
8528 (NLIST_STRUCT): Avoid re-defining it.
8529
8530 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8531 -I/usr/contrib/X11R6/include.
8532 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8533
8534 2000-11-10 Jason Rumney <jasonr@gnu.org>
8535
8536 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8537
8538 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8539 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8540
8541 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8542 (Qw32_charset_vietnamese): New symbol.
8543 (xlfd_charset_of_font): New function.
8544 (w32_load_system_font): Use it.
8545 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8546 when Vw32_charset_info_alist is nil to ensure default face always
8547 has font. Use Fcar and Fcdr for safety.
8548 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8549 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8550 pseudo-codepages for special cases.
8551 (w32_to_x_font): New parameter to allow charset portion to be
8552 specified where there is many to one mapping. Callers changed.
8553 (w32_list_fonts): Avoid listing fonts that won't display.
8554
8555 2000-11-10 Gerd Moellmann <gerd@gnu.org>
8556
8557 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8558 (font_list_1): Renamed from font_list.
8559 (font_list): New function, trying alternative registries from
8560 Vface_alternative_font_registry_alist.
8561 (Finternal_set_alternative_font_registry_alist): New function.
8562 (syms_of_xfaces): Initialize and Staticpro
8563 Vface_alternative_font_registry_alist.
8564 Defsubr Finternal_set_alternative_font_registry_alist.
8565
8566 2000-11-09 Ken Raeburn <raeburn@gnu.org>
8567
8568 * lisp.h (Flooking_at): Declare.
8569
8570 2000-11-09 Gerd Moellmann <gerd@gnu.org>
8571
8572 * dired.c (directory_files_internal): Fix a braino.
8573
8574 * dired.c (directory_files_internal): Add missing GCPRO's.
8575 Some cleanup.
8576
8577 2000-11-08 Gerd Moellmann <gerd@gnu.org>
8578
8579 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
8580 (resize_mini_window): Return quickly if Vresize_mini_window is
8581 nil. Don't return if Vmax_mini_window_height is nil.
8582
8583 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
8584 (syms_of_xdisp): Initialize them.
8585 (resize_mini_window): Act according to the setting of
8586 Vresize_mini_window.
8587 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
8588
8589 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
8590 scroll bar widget after configuring it, so that it will appear at
8591 the right position from the start.
8592 (XTredeem_scroll_bar): Cleaned up.
8593
8594 2000-11-08 Kenichi Handa <handa@etl.go.jp>
8595
8596 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
8597 font is taller than the frame line, we don't have to bias the
8598 division by two.
8599
8600 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
8601
8602 2000-11-07 Dave Love <fx@gnu.org>
8603
8604 * config.in (HAVE_MKSTEMP): Add.
8605
8606 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
8607
8608 2000-11-07 Gerd Moellmann <gerd@gnu.org>
8609
8610 * window.c (Fset_window_configuration): Don't try to preserve
8611 point in the current buffer, if that buffer is displayed in more
8612 than one window.
8613
8614 * xfaces.c (lookup_named_face): If default face isn't realized,
8615 try to realize it. Return -1 if not successful.
8616 (Fx_list_fonts): Handle case that face cannot be determined.
8617 (Fface_font): Likewise.
8618
8619 2000-11-06 Gerd Moellmann <gerd@gnu.org>
8620
8621 * window.c (displayed_window_lines): Detect partially
8622 visible lines at the bottom correctly.
8623
8624 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
8625
8626 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
8627 when ensuring we don't do visit in indirect buffer.
8628
8629 2000-11-06 Kenichi Handa <handa@etl.go.jp>
8630
8631 * composite.h (compose_chars_in_text): Add prototype.
8632
8633 * composite.c (Vcomposition_function_table): New variable.
8634 (Qcomposition_function_table): New variable.
8635 (run_composition_function): Call
8636 Vcompose_chars_after_function with three arguments.
8637 (compose_chars_in_text): New function.
8638 (syms_of_composite): Modified the doc-string of
8639 Vcompose_chars_after_function. Declare composition-function-table
8640 as a lisp variable, and initialize it.
8641
8642 * xfns.c (x_encode_text): Suppress producing escape sequences for
8643 composition.
8644
8645 * xselect.c: Include composite.h.
8646 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
8647
8648 2000-11-05 Andrew Innes <andrewi@gnu.org>
8649
8650 * w32term.c (x_produce_glyphs): Fix typo in enum name.
8651
8652 * sysdep.c (read_input_waiting): Remove extraneous argument to
8653 read_socket_hook.
8654
8655 * w32fns.c (Fx_server_version): Include w32_build_number in the
8656 return list.
8657
8658 * w32heap.c (w32_build_number): New variable.
8659 (cache_system_info): Set it.
8660
8661 * w32heap.h (w32_build_number): Add extern.
8662
8663 * emacs.c (syms_of_emacs): Update docstring for
8664 system-configuration, to reflect the actual usage on MS-Windows.
8665
8666 2000-10-31 Gerd Moellmann <gerd@gnu.org>
8667
8668 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
8669 process idle timers while waiting for another event.
8670
8671 * dispnew.c (update_frame_line): Handle case where spaces in
8672 the default face are colored.
8673
8674 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
8675 window height hasn't changed.
8676
8677 2000-10-31 Jason Rumney <jasonr@gnu.org>
8678
8679 * w32term.c (x_produce_glyphs): Handle composite characters.
8680 (x_draw_glyph_string_foreground)
8681 (x_draw_composite_glyph_string_foreground): Restore old font.
8682
8683 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
8684
8685 * minibuf.c (read_minibuf): Reset the undo history just before
8686 starting the recursive-edit.
8687
8688 2000-10-30 Gerd Moellmann <gerd@gnu.org>
8689
8690 * xfaces.c (menu_face_change_count): New variable.
8691 (Finternal_set_lisp_face_attribute): Increment it for changes
8692 of the `menu' face.
8693 (realize_basic_faces): Reflect changes in the `menu' faces
8694 in menu bars.
8695
8696 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
8697 dy obtained from the iterator's y-position after moving from
8698 scroll_margin_pos to PT; see comment there.
8699
8700 * xdisp.c (safe_eval_handler): Call add_to_log.
8701
8702 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
8703 is not a symbol or string.
8704
8705 * xdisp.c (echo_area_display): Don't perform a display update from
8706 inside redisplay. The update will happen anyway at the end of
8707 redisplay, and it can confuse redisplay (GC messages while
8708 redisplaying, for instance.)
8709
8710 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
8711
8712 * xrdb.c (x_load_resources): Use the class name in the defaults.
8713
8714 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
8715 (regex_compile): Catch bogus \(\1\).
8716
8717 2000-10-30 Gerd Moellmann <gerd@gnu.org>
8718
8719 * xterm.c (x_alloc_nearest_color): Fix last change to compare
8720 RGB values.
8721
8722 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
8723 we have a color cache, check that the cached color equals the
8724 allocated color. If not, clear the color cache.
8725
8726 * window.c (displayed_window_lines): Change buffers if necessary.
8727 Fix computation of displayed lines.
8728
8729 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
8730 update_menu_bindings to DEFVAR_BOOL.
8731
8732 2000-10-30 Kenichi Handa <handa@etl.go.jp>
8733
8734 * search.c (Fset_match_data): Be sure to make search_regs always sane.
8735
8736 * puresize.h (BASE_PURESIZE): Increase to 680000.
8737
8738 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
8739
8740 2000-10-29 Jason Rumney <jasonr@gnu.org>
8741
8742 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
8743
8744 * w32term.c (w32_bdf_per_char_metric): Negate descent.
8745 (w32_cache_char_metrics): Handle possibility that 'x' does not
8746 exist in a BDF font.
8747 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
8748
8749 * w32bdf.h (bdffont): Add nchars.
8750
8751 * w32bdf.c (set_bdf_font_info): Set it.
8752 (w32_BDF_TextOut): Swap byte order of double byte characters.
8753 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
8754
8755 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
8756
8757 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
8758 don't override the colors in frame's param_alist, unless they are
8759 unspecified.
8760
8761 * term.c (reassert_line_highlight): If inverse_video is non-zero,
8762 reverse the effect of the highlight flag.
8763
8764 2000-10-27 Ken Raeburn <raeburn@gnu.org>
8765
8766 * window.h (Fwindow_live_p): Declare.
8767
8768 * undo.c (record_delete): Check that last_undo_buffer is really a
8769 buffer before applying XBUFFER to it.
8770
8771 * keymap.c (where_is_internal): Pass lisp object, not integer, to
8772 Faref.
8773
8774 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8775
8776 * lisp.h (KEYMAPP): New macro.
8777 (get_keymap): Remove.
8778 (get_keymap_1): Rename get_keymap.
8779
8780 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
8781
8782 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
8783
8784 * xmenu.c (single_submenu): Use KEYMAPP.
8785 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8786 Use KEYMAPP rather than Fkeymapp.
8787
8788 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
8789
8790 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
8791 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8792 Use KEYMAPP rather than Fkeymapp.
8793 (single_submenu): Use KEYMAPP.
8794 (w32_menu_show, w32_dialog_show): Use TRUE.
8795
8796 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
8797
8798 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
8799 (Fkeymapp): Use KEYMAPP.
8800 (get_keymap): Rename from get_keymap_1. Remove old def.
8801 Return t when autoload=0 and error=0 and the keymap needs autoloading.
8802 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
8803 (Fminor_mode_key_binding): Don't raise an error if the binding
8804 is not a keymap.
8805 (Fuse_global_map, Fuse_local_map): Allow autoloading.
8806 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
8807
8808 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
8809 Allow Vspecial_event_map to be autoloaded.
8810 (menu_bar_items): Fetch the keymap rather than using keymapp.
8811 (menu_bar_one_keymap): No need to follow func-indirect any more.
8812 (parse_menu_item): get_keymap_1 -> get_keymap.
8813 (tool_bar_items): Fetch the keymap rather than using keymapp.
8814 (read_key_sequence): Use KEYMAPP.
8815
8816 * intervals.c (get_local_map): Use get_keymap rather than following
8817 function-indirections explicitly.
8818
8819 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
8820
8821 2000-10-27 Jason Rumney <jasonr@gnu.org>
8822
8823 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
8824 point, as Windows has oversized fonts.
8825
8826 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
8827
8828 2000-10-27 Gerd Moellmann <gerd@gnu.org>
8829
8830 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
8831 (freehook, reallochook): Handle null pointer arguments.
8832 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
8833
8834 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8835
8836 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
8837 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
8838 Giving in to popular pressure to shut up the compiler with casts.
8839
8840 2000-10-27 Gerd Moellmann <gerd@gnu.org>
8841
8842 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
8843 signed value, and use a default value computed from the font's
8844 maximum descent.
8845
8846 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
8847
8848 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
8849 that specify a negative underline position can still use underlines.
8850
8851 * window.c (Fpos_visible_in_window_p): Make POS default to
8852 WINDOW's point, not the current buffer's point.
8853
8854 2000-10-26 Dave Love <fx@gnu.org>
8855
8856 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
8857 when it's necessary.
8858
8859 2000-10-26 Gerd Moellmann <gerd@gnu.org>
8860
8861 * window.c (size_window): Compute size difference from sum of old
8862 child window sizes instead of from parent's size.
8863
8864 * xdisp.c (pos_visible_p): Change current buffer if necessary.
8865 Handle obscured lines at the top of the window.
8866
8867 * frame.c (Fdelete_frame): Doc fix. Move running the hook
8868 down after the last error condition check.
8869
8870 * frame.c (Fdelete_frame): Run delete-frame-hook.
8871
8872 2000-10-26 Kenichi Handa <handa@etl.go.jp>
8873
8874 * coding.c (decode_coding): Fix previous change (check also
8875 CODING_MODE_LAST_BLOCK).
8876
8877 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8878
8879 * regex.c: More `unsigned char' -> `re_char' changes.
8880 Also change several `int' into `re_wchar_t'.
8881 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
8882 (PUSH_FAILURE_POINTER): Don't cast any more.
8883 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
8884 We want GCC to complain, since this piece of code makes
8885 re_match non-reentrant, which *should* be fixed.
8886 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
8887 (EXTEND_BUFFER): Use RETALLOC.
8888 (SET_LIST_BIT): Don't cast.
8889 (re_wchar_t): New type.
8890 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
8891 that those two functions will always properly return.
8892 (IMMEDIATE_QUIT_CHECK): Cast to void.
8893 (analyse_first): Use recursion rather than an explicit stack.
8894 (re_compile_fastmap): Can't fail anymore.
8895 (re_search_2): Don't check re_compile_fastmap for failure.
8896 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
8897 Now also sets the new value (passed in a new argument).
8898 (re_match_2_internal): Use it.
8899 Also, use a new var `reg' of type size_t when looping through regs
8900 rather than reuse the inappropriate `mcnt'.
8901
8902 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
8903 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
8904 (where_is_internal): Renamed from Fwhere_is_internal.
8905 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
8906 (Fwhere_is_internal): New function wrapping where_is_internal.
8907 (where_is_internal_1): Handle the case where we're filling the cache.
8908 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
8909
8910 2000-10-25 Miles Bader <miles@gnu.org>
8911
8912 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
8913
8914 2000-10-25 Gerd Moellmann <gerd@gnu.org>
8915
8916 * window.c (pos_fully_visible_p): Removed.
8917 (Fpos_visible_in_window_p): Use pos_visible_p to determine
8918 if position is visible and/or fully visible.
8919
8920 * lisp.h (pos_visible_p): Add prototype.
8921
8922 * xdisp.c (pos_visible_p): New function.
8923
8924 2000-10-25 Kenichi Handa <handa@etl.go.jp>
8925
8926 * process.c (send_process): If OBJECT is t, it means that the data
8927 is from C string, but we should encode it. Before calling
8928 setup_raw_text_coding_system, be sure to flush out data by the
8929 previous coding system.
8930
8931 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8932
8933 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8934 assignment of startpos to prev when startpos == pos.
8935
8936 * editfns.c (find_field): Set the field stickiness correctly from
8937 overlay fields. Use renamed `text_property_stickiness'.
8938 (text_property_stickiness): Renamed from `char_property_stickiness'.
8939 Only check text properties, not overlays.
8940 * textprop.c (get_char_property_and_overlay): New function.
8941 (Fget_char_property): Use it.
8942 * intervals.h (get_char_property_and_overlay): Add declaration.
8943
8944 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8945
8946 * keymap.c: Use AREF, ASET and ASIZE macros.
8947 (Fmake_sparse_keymap): Docstring fix.
8948 (synkey): Remove.
8949 (shadow_lookup): Move up.
8950 Handle the case where lookup-key returns an integer.
8951 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8952 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8953 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8954 Simplify/rewrite the keymap-finding code.
8955 Add check for command shadowing, using shadow_lookup.
8956
8957 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8958
8959 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8960 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8961 a symbol.
8962
8963 2000-10-24 Andrew Innes <andrewi@gnu.org>
8964
8965 * dired.c (directory_files_internal_unwind): New function.
8966 (directory_files_internal): Use it to ensure closedir is called
8967 even if expand-file-name or file-attributes throw, eg. because of
8968 a user interrupt. Also enable immediate_quit while calling
8969 re_search, so that matching can be interrupted as well.
8970
8971 2000-10-24 Andrew Innes <andrewi@gnu.org>
8972
8973 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8974 NT-Emacs only.
8975 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8976 so that re_search functions only quit when callers expect them to.
8977
8978 2000-10-24 Kenichi Handa <handa@etl.go.jp>
8979
8980 * regex.c (regex_compile): Change the way of handling a range from
8981 a char less than 256 to a char not less than 256.
8982
8983 2000-10-24 Gerd Moellmann <gerd@gnu.org>
8984
8985 * window.c (size_window): Prevent setting window's width or
8986 height to a negative value (esp. with XSETFASTINT).
8987
8988 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8989 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8990 (protect_malloc_state) [GC_MALLOC_CHECK &&
8991 GC_PROTECT_MALLOC_STATE]: New function.
8992 (PROTECT_MALLOC_STATE): New macro.
8993 (__malloc_initialize, morecore, _malloc_internal)
8994 (_free_internal) _realloc_internal): Use it to make _heapinfo
8995 read-only outside of gmalloc.
8996
8997 * keymap.c: Update copyright.
8998
8999 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
9000 a symbol.
9001
9002 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
9003
9004 * filelock.c (unlock_all_files): Use unlock_file to expand each
9005 buffer's file_truename before trying remove its lock file.
9006
9007 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
9008
9009 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
9010 or CRLF, decode EOLs.
9011
9012 2000-10-24 Kenichi Handa <handa@etl.go.jp>
9013
9014 * window.c (Fdisplay_buffer): Fix doc.
9015
9016 2000-10-23 Jason Rumney <jasonr@gnu.org>
9017
9018 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
9019 ASCII font of default fontset on Windows.
9020
9021 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
9022 xterm.c comment below).
9023
9024 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
9025
9026 2000-10-23 Gerd Moellmann <gerd@gnu.org>
9027
9028 * xterm.c (x_connection_closed): Reset handling_signal.
9029
9030 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
9031
9032 2000-10-23 Miles Bader <miles@gnu.org>
9033
9034 * window.c (window_scroll_pixel_based, window_scroll_line_based):
9035 Pass nil for FULLY argument to Fpos_visible_in_window_p to
9036 maintain old behavior.
9037 * minibuf.c (Fminibuffer_complete): Likewise.
9038
9039 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
9040
9041 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
9042 that when a font can't be exactly centered, it errs up rather than
9043 down.
9044
9045 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
9046
9047 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
9048
9049 2000-10-23 Andrew Choi <akochoi@i-cable.com>
9050
9051 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
9052
9053 * dispnew.c [macintosh]: Include macterm.h.
9054 (init_display) [macintosh]: Initialization for window system.
9055
9056 * emacs.c (main) [macintosh]: Call syms_of_textprop,
9057 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
9058 syms_of_search, x_term_init, and init_keyboard before calling
9059 init_window_once. Also, call syms_of_xmenu.
9060
9061 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
9062 default fontset to Monaco.
9063
9064 * frame.c [macintosh]: Include macterm.h. Remove declarations of
9065 NewMacWindow and DisposeMacWindow.
9066 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
9067 instead of calling NewMacWindow and setting fields of
9068 f->output_data.mac directly. Call init_frame_faces.
9069 (Fdelete_frame) [macintosh]: Remove unused code.
9070 (Fmodify_frame_parameters) [macintosh]: Call
9071 x_set_frame_parameters instead of mac_set_frame_parameters.
9072
9073 * frame.h [macintosh]: Define menu_bar_lines field in struct
9074 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
9075
9076 * keyboard.c [macintosh]: Include macterm.h.
9077 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
9078 and menu_bar_activate_event type events as for X and NT.
9079 (make_lispy_event) [macintosh]: Construct lisp events of type
9080 MENU_BAR_EVENT as for X and NT.
9081
9082 * sysdep.c [macintosh]: Remove declaration for sys_signal.
9083 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
9084 (sys_subshell) [macintosh]: Remove definition entirely.
9085 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
9086 Vwindow_system_version here. Remove initialization of
9087 Vx_bitmap_file_path.
9088 (read_input_waiting): Correct the number of parameters passed to
9089 read_socket_hook.
9090 Move all Macintosh functions to mac/mac.c.
9091
9092 * term.c [macintosh]: Include macterm.h.
9093
9094 * window.c [macintosh]: Include macterm.h.
9095
9096 * xdisp.c [macintosh]: Include macterm.h. Declare
9097 set_frame_menubar and pending_menu_activation.
9098 (echo_area_display) [macintosh]: Do not return if terminal frame
9099 is the selected frame.
9100 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
9101 Allow only the selected frame to set menu bar.
9102 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
9103 calling FRAME_EXTERNAL_MENU_BAR (f).
9104 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
9105
9106 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
9107 and check_x. Declare XCreateGC. Define x_create_gc and
9108 x_free_gc. Initialize font_sort_order.
9109 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
9110 but call x_list_fonts instead of w32_list_fonts.
9111 (Finternal_face_x_get_resource) [macintosh]: Do not call
9112 display_x_get_resource.
9113 (prepare_face_for_display) [macintosh]: Set xgcv.font.
9114 (realize_x_face) [macintosh]: Load the font if it is specified in
9115 ATTRS.
9116 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
9117
9118 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
9119
9120 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
9121 is nil: since we go to the end of submap anyway, we'd end up
9122 setting nil to nil.
9123 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
9124 doesn't obey autoload.
9125
9126 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9127
9128 * msdos.c (dos_set_window_size): Update screen dimension variables.
9129
9130 2000-10-21 Jason Rumney <jasonr@gnu.org>
9131
9132 * w32term.c (w32_cache_char_metrics): Double check that font is
9133 really fixed pitch before trusting tmPitchAndFamily.
9134
9135 2000-10-21 Andrew Innes <andrewi@gnu.org>
9136
9137 * w32gui.h (w32_char_font_type): Move enum from w32term.c
9138
9139 * w32term.h: Extern decl for w32_cache_char_metrics.
9140
9141 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
9142
9143 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
9144 (w32_unload_font): Free per_char array if present.
9145
9146 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
9147 cached information in emulated XFontStruct to handle common cases
9148 quickly. Do not allocate XCharStruct for return.
9149 (w32_native_per_char_metric): New function.
9150 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
9151 allocating one.
9152 (x_produce_glyphs): Don't get an HDC. Change calls to
9153 w32_per_char_metric to match arg change above. Remove calls to
9154 free results.
9155 (w32_get_glyph_overhangs): Ditto.
9156 (w32_cache_char_metrics): New function.
9157
9158 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
9159 ($(BLD)/casefiddle.$(O)): Remove compile command.
9160 ($(BLD)/gmalloc.$(O)): Remove compile command.
9161 ($(BLD)/dispnew.obj):
9162 ($(BLD)/keyboard.obj):
9163 ($(BLD)/w32inevt.obj):
9164 ($(BLD)/w32bdf.obj):
9165 ($(BLD)/alloc.obj):
9166 ($(BLD)/buffer.obj):
9167 ($(BLD)/editfns.obj):
9168 ($(BLD)/emacs.obj):
9169 ($(BLD)/fileio.obj):
9170 ($(BLD)/fns.obj):
9171 ($(BLD)/indent.obj):
9172 ($(BLD)/insdel.obj):
9173 ($(BLD)/intervals.obj):
9174 ($(BLD)/minibuf.obj):
9175 ($(BLD)/print.obj):
9176 ($(BLD)/scroll.obj):
9177 ($(BLD)/sysdep.obj):
9178 ($(BLD)/textprop.obj):
9179 ($(BLD)/widget.obj):
9180 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
9181 ($(BLD)/term.obj): Add dependency on dispextern.h.
9182
9183 * makefile.nt ($(BLD)\dispnew.obj):
9184 ($(BLD)\keyboard.obj):
9185 ($(BLD)\w32inevt.obj):
9186 ($(BLD)\w32bdf.obj):
9187 ($(BLD)\alloc.obj):
9188 ($(BLD)\buffer.obj):
9189 ($(BLD)\editfns.obj):
9190 ($(BLD)\emacs.obj):
9191 ($(BLD)\fileio.obj):
9192 ($(BLD)\fns.obj):
9193 ($(BLD)\indent.obj):
9194 ($(BLD)\insdel.obj):
9195 ($(BLD)\intervals.obj):
9196 ($(BLD)\minibuf.obj):
9197 ($(BLD)\print.obj):
9198 ($(BLD)\scroll.obj):
9199 ($(BLD)\sysdep.obj):
9200 ($(BLD)\textprop.obj):
9201 ($(BLD)\widget.obj):
9202 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
9203 ($(BLD)\term.obj): Add dependency on dispextern.h
9204
9205 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9206
9207 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
9208 with an additional argument of Qt.
9209
9210 2000-10-21 Miles Bader <miles@gnu.org>
9211
9212 * window.c (pos_fully_visible_in_window_p): New function.
9213 (Fpos_visible_in_window_p): Add FULLY argument.
9214 Use pos_fully_visible_in_window_p.
9215 (window_scroll_pixel_based, window_scroll_line_based): Update
9216 calls to Fpos_visible_in_window_p.
9217 * lisp.h (Fpos_visible_in_window_p): Update prototype
9218
9219 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9220
9221 * alloc.c (toplevel): Conditionalize compilation of mem_*
9222 functions differently.
9223
9224 2000-10-20 Jason Rumney <jasonr@gnu.org>
9225
9226 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
9227 mem_init where it used to be. mem_z etc not defined otherwise.
9228
9229 2000-10-20 Gerd Moellmann <gerd@gnu.org>
9230
9231 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
9232 GC_MALLOC_CHECK.
9233 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
9234 structure definition and related variabled to the top of the file.
9235 Include this code when GC_MALLOC_CHECK is defined.
9236 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
9237 register/unregister allocated region.
9238 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
9239 which isn't allocated.
9240 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
9241 something which is already in use.
9242 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
9243 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
9244 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
9245 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
9246
9247 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
9248 _malloc_internal instead of malloc.
9249 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
9250 of free.
9251
9252 2000-10-20 Andrew Innes <andrewi@gnu.org>
9253
9254 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
9255 Windows.
9256 (my_strftime) <macro>: Don't use macro arg list when redefining as
9257 _strftime_copytm.
9258 (my_strftime) <function>: Supply 0 as ut argument.
9259
9260 2000-10-19 Jason Rumney <jasonr@altavista.net>
9261
9262 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
9263 including dispextern.h, as it stops faces from working.
9264
9265 * w32fns.c (Fx_create_frame): Don't bother calling
9266 face-set-after-frame-default since the caller does it for us
9267 anyway. Clean up calls to x_get_arg to be consistent with X.
9268
9269 * w32term.c (x_produce_glyphs): Handle
9270 unibyte_display_via_language_environment correctly.
9271 (w32_draw_box_rect): Fix the calculation of width and height.
9272
9273 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
9274 as it has stopped working.
9275 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
9276 menu-bar.
9277
9278 2000-10-19 Gerd Moellmann <gerd@gnu.org>
9279
9280 * eval.c (skip_debugger): Prevent a compiler warning.
9281 (Fcondition_case): Likewise.
9282 (Fbacktrace_frame): Use a null interactive spec.
9283
9284 2000-10-19 Kenichi Handa <handa@etl.go.jp>
9285
9286 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
9287
9288 2000-10-18 Gerd Moellmann <gerd@gnu.org>
9289
9290 * strftime.c: Sync with glibc, file version 1.78.
9291 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
9292 should no longer be used according to ISO 8601.
9293
9294 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
9295 no map for meta_prefix_char, don't try to use it as a keymap.
9296 Instead, if T_OK is non-zero, look up a default binding, if any,
9297 otherwise, if T_OK is zero, return nil.
9298
9299 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
9300 (x_to_xcolors, png_load): Use x_query_color.
9301
9302 * xterm.c (x_color_cells, x_query_colors, x_query_color):
9303 New functions.
9304 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
9305 which can be slow.
9306 (x_copy_color, x_alloc_lighter_color): Likewise.
9307
9308 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
9309 (x_query_color, x_query_colors): Add prototype.
9310
9311 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
9312 check_string_bytes only if not noninteractive, increase count to 50.
9313
9314 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
9315
9316 * insdel.c (adjust_markers_for_delete): Handle before-insertion
9317 markers correctly.
9318
9319 2000-10-17 Gerd Moellmann <gerd@gnu.org>
9320
9321 * alloc.c (pure_bytes_used): Renamed from pureptr.
9322 (ALIGN): New macro.
9323 (pure_alloc): New function.
9324 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
9325 Use it.
9326 (Fpurecopy): Use PURE_POINTER_P.
9327
9328 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
9329 PT has moved backward.
9330
9331 * xdisp.c (cursor_row_p): Take continued lines into account.
9332
9333 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
9334 string's size_byte.
9335 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
9336 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
9337 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
9338 string allocated.
9339
9340 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
9341 of selective display off while searching for the next line start.
9342
9343 2000-10-17 Kenichi Handa <handa@etl.go.jp>
9344
9345 * Makefile.in (term.o): Depend on dispextern.h.
9346
9347 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
9348
9349 * keymap.c (keymap_memberp): Ensure that nil is not a member.
9350
9351 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9352
9353 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
9354 the iterator at the beginning, so that they can be set later on,
9355 for instance in reseat_at_next_visible_line_start, without being
9356 overwritten.
9357
9358 * xfns.c (pbm_format): Add :foreground and :background keywords.
9359 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
9360 (xbm_load): Recognize foreground and background color specifications.
9361
9362 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
9363
9364 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
9365
9366 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
9367
9368 * msdos.c (IT_set_face): Compare highlighted face with the default
9369 face, and invert colors if these faces' colors are identical.
9370 (Fmsdos_remember_default_colors): Don't swap foreground and
9371 background colors in initial_colors[].
9372 (IT_set_frame_parameters): Don't swap frame's foreground and
9373 background pixels. If ALIST includes "(reverse . t)", swap
9374 foreground-color and background-color properties in frame's
9375 param_alist. If the original frame's param_alist doesn't specify
9376 the colors, store unspecified-fg and unspecified-bg, reversed if
9377 required.
9378
9379 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
9380 the colors are unspecified and reversed, reverse fore- and back-
9381 ground in the returned value.
9382 (Fframe_parameter): Ditto.
9383
9384 2000-10-16 Gerd Moellmann <gerd@gnu.org>
9385
9386 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
9387 get_last_unchanged_at_beg_row.
9388 (find_first_unchanged_at_end_row): Renamed from
9389 get_first_unchanged_at_end_row.
9390 (find_first_unchanged_at_end_row): Convert assertions to
9391 unconditional tests which abort. When looking for a row in
9392 unchanged text, don't go further back than first_text_row.
9393
9394 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
9395 Don't add in the last line's height when deciding if the new
9396 position is below the scroll margin.
9397
9398 2000-10-16 Miles Bader <miles@gnu.org>
9399
9400 * editfns.c (Fconstrain_to_field): Check carefully for field
9401 boundaries if either OLD_POS or NEW_POS has a non-nil field
9402 property, even if they're the same.
9403
9404 2000-10-16 Kenichi Handa <handa@etl.go.jp>
9405
9406 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9407 height for XFillRectangle.
9408
9409 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9410
9411 * syntax.c (Fstring_to_syntax): New function extracted from
9412 Fmodify_syntax_entry.
9413 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9414 (skip_chars, Fforward_comment): Remove unused variables.
9415 (syms_of_syntax): Add defsubr for string-to-syntax.
9416 (describe_syntax): Add code for comment and string fences.
9417
9418 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9419
9420 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9421 Do the meta->esc mapping. Call get_keyelt before returning.
9422 Start scanning from the second element (the first is always `keymap')
9423 to make it easier to detect when we reach a parent map.
9424 Handle the case of inheriting from a symbol whose function is a map.
9425 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9426 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9427 (get_keyelt, Flookup_key): Update call to access_keymap.
9428 Remove the meta->esc mappings.
9429 (define_as_prefix): Delete old disabled code.
9430 (menu_item_p): New function.
9431 (where_is_internal_1): Skip over the few remaining menu items.
9432 * lisp.h (access_keymap): Update prototype.
9433 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9434 Update call to access_keymap.
9435 (follow_key, read_key_sequence): Update calls to access_keymap.
9436 Remove the meta->esc mappings.
9437
9438 2000-10-13 Gerd Moellmann <gerd@gnu.org>
9439
9440 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9441 with additional argument.
9442
9443 * xdisp.c (cursor_row_p): New function.
9444 (try_cursor_movement, display_line): Use it.
9445
9446 * xdisp.c (append_space): Also save/restore iterator's current
9447 character and its length.
9448
9449 * xdisp.c (init_from_display_pos): Add an assertion.
9450 (handle_stop): Don't set iterator's add_overlay_start.
9451 (handle_invisible_prop): Likewise.
9452 (load_overlay_strings): If text under an overlay is invisible,
9453 take both before- and after-strings into account when the iterator
9454 is positioned either at the start or at the end of the overlay.
9455 (forward_to_next_line_start): Rewritten.
9456 (reseat_at_next_visible_line_start): Rewritten.
9457 (set_iterator_to_next): Add parameter RESEAT_P.
9458
9459 * dispextern.h (struct it): Remove member add_overlay_start.
9460 (set_iterator_to_next): Change prototype.
9461
9462 2000-10-13 Kenichi Handa <handa@etl.go.jp>
9463
9464 * coding.c (code_convert_region): Be sure to initialize
9465 coding->category_idx.
9466 (decode_coding_string): Set coding->src_multibyte and
9467 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9468 (encode_coding_string): Set coding->src_multibyte and
9469 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
9470
9471 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9472
9473 * xfns.c (Fx_create_frame): Don't bother calling
9474 face-set-after-frame-default since the caller does it for us anyway.
9475
9476 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9477
9478 * window.c (coordinates_in_window): Fix detection of vertical line
9479 on character terminals.
9480
9481 2000-10-12 Gerd Moellmann <gerd@gnu.org>
9482
9483 * editfns.c (save_excursion_save): Additionally record the
9484 selected window.
9485 (save_excursion_restore): If buffer was visible in a window, and a
9486 different window was selected, and the old selected window is
9487 still live, restore point in that window.
9488
9489 2000-10-12 Kenichi Handa <handa@etl.go.jp>
9490
9491 * xterm.c (x_produce_glyphs): Handle
9492 unibyte_display_via_language_environment correctly.
9493
9494 * regex.c (regex_compile): Change the way of handling a range from
9495 unibyte char to multibyte char.
9496
9497 * syntax.c (skip_chars): Change the way of handling a range from
9498 unibyte char to multibyte char.
9499
9500 * process.c (read_process_output): Cancel previous change.
9501
9502 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9503
9504 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9505
9506 * charset.c (Ffind_charset_string): Doc fix.
9507 (Ffind_charset_region): Doc fix.
9508
9509 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
9510
9511 * process.c (read_process_output): Fix previous change. Adjust
9512 multibyteness of text to insert in a buffer by
9513 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
9514
9515 2000-10-10 Andreas Schwab <schwab@suse.de>
9516
9517 * alloc.c (mark_object): Remove all workarounds installed on
9518 1993-08-08.
9519
9520 2000-10-10 Kenichi Handa <handa@etl.go.jp>
9521
9522 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
9523 (base64_encode_1): Make it work for a text of multibyte form.
9524 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9525 case. Don't call str_to_multibyte because base64_decode_1
9526 produces correct multibyte form for eight-bit codes.
9527 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
9528 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9529 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9530 codes.
9531
9532 * charset.h (CHAR_STRING): Optimized for single byte characters.
9533
9534 2000-10-09 Andreas Schwab <schwab@suse.de>
9535
9536 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9537 -1 after socket is closed, to fall through to error processing.
9538
9539 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9540
9541 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
9542 variables. If ALIST includes foreground-color or
9543 background-color, change also the colors of the default face for
9544 this frame.
9545
9546 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9547
9548 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9549 them extern (they are defined on xfaces.c).
9550 (syms_of_msdos): Don't intern and don't staticpro
9551 Qbackground_color and Qforeground_color.
9552
9553 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9554
9555 * frame.c (Fframe_parameter): For non-windowed frames, if
9556 f->param_alist says foreground or background color is unspecified,
9557 call tty_color_name to return the color name computed from the
9558 frame's current colors.
9559
9560 2000-10-06 Dave Love <fx@gnu.org>
9561
9562 * terminfo.c (ospeed): Don't declare.
9563
9564 * sysdep.c: Don't include string.h.
9565 (h_errno): Declare conditional also on TRY_AGAIN.
9566
9567 * charset.c (Ffind_charset_string): Doc fix.
9568
9569 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
9570 (Fbase64_decode_region, Fbase64_decode_string): More explicit
9571 error messages.
9572
9573 2000-10-05 Dave Love <fx@gnu.org>
9574
9575 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
9576 position like menu-bar.
9577
9578 2000-10-05 Gerd Moellmann <gerd@gnu.org>
9579
9580 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
9581
9582 * xdisp.c (handle_single_display_prop): Use safe_call1.
9583 (safe_call): Renamed from call_function.
9584 (safe_call1): New function.
9585 (handle_fontified_prop): Use safe_call1 instead of call1.
9586 (safe_eval): Renamed from eval_form.
9587 (safe_eval_handler): Renamed from eval_handler.
9588 (handle_single_display_prop, display_mode_element): Use safe_eval
9589 instead of eval_form.
9590
9591 * xfaces.c (merge_face_heights): Use safe_call instead of
9592 call_function.
9593
9594 * keyboard.c (show_help_echo): Use safe_call instead of
9595 call_function; use safe_eval instead of eval_form.
9596
9597 * lisp.h (safe_call): Renamed from call_function.
9598 (safe_eval): Renamed from eval_form.
9599 (safe_call1): Add prototype.
9600
9601 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
9602
9603 * xfns.c (image_ascent): Rearrange ascent calculation for the
9604 has-a-font case.
9605
9606 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
9607
9608 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
9609 (where_is_internal_1): Don't bother ignoring menu-items any more.
9610
9611 2000-10-04 Gerd Moellmann <gerd@gnu.org>
9612
9613 * keyboard.c (update_menu_bindings): New variable.
9614 (parse_menu_item): Use AREF. If update_menu_bindings
9615 is 0, don't update menu bindings.
9616 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
9617
9618 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
9619
9620 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
9621 to `mark_object'.
9622
9623 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
9624
9625 * syntax.c (forw_comment): Match nestedness of ender/starter.
9626 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
9627 (prev_char_comstart_first): Remove.
9628 (back_comment): Check two-char comment markers more carefully
9629 to better handle overlapping cases like *//* or /* */* */ ...
9630 Match nestedness of ender/starter.
9631
9632 2000-10-02 Dave Love <fx@gnu.org>
9633
9634 * config.in (HAVE_GAI_STRERROR): Add undef.
9635
9636 * process.c (Fopen_network_stream): Use it.
9637
9638 * m/alpha.h (NO_REMAP): Don't define.
9639
9640 2000-10-02 Gerd Moellmann <gerd@gnu.org>
9641
9642 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
9643 return with a string converted to an integer or vice versa when
9644 Vmocklisp_arguments is t.
9645 (Fsignal): Likewise. The function can return for `quit'.
9646 (struct gcpro): Declare member `var' to point to a volatile
9647 Lisp_Object.
9648
9649 * eval.c (error): Prevent compiler warning.
9650
9651 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
9652
9653 * keymap.c (keymap_memberp): New function.
9654 (Fset_keymap_parent): Use it.
9655 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
9656 Use keymap_memberp to avoid creating cycles.
9657 (access_keymap): Use KEYMAPP.
9658
9659 2000-09-30 Gerd Moellmann <gerd@gnu.org>
9660
9661 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
9662 gai_strerror. Make sure xerrno is set if connect fails. Improve
9663 error recovery.
9664
9665 2000-09-29 Jason Rumney <jasonr@gnu.org>
9666
9667 * w32term.c (w32_char_font_type, w32_encode_char)
9668 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
9669 (w32_bdf_per_char_metric): New function.
9670 (w32_per_char_metric): Use it.
9671 (x_draw_glyph_string_background): Always draw background for BDF
9672 glyphs.
9673
9674 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
9675 GDI object which is a scarce resource.
9676
9677 * w32bdf.c (search_file_line): Fix skipping of whitespace.
9678 (get_quoted_string): Fix limit on memchr search.
9679 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
9680 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
9681 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
9682 (get_cached_font_char, cache_char_offset): Use macro
9683 BDF_CODEPOINT_RANGE_COVER_P.
9684 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
9685 (clear_cached_bitmap_slots): New function.
9686 (GET_HEX_VALUE): G-Z, g-z are not hex.
9687 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
9688 (get_bitmap_with_cache): Use new cache implementation.
9689 (create_offscreen_bitmap): New function.
9690 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
9691
9692 * w32term.c (x_produce_glyphs): If the distance from the current
9693 position to the next tab stop is less than a canonical character
9694 width, use the tab stop after that.
9695 (x_draw_glyphs): Handle case START and END are out of bounds more
9696 carefully.
9697 (x_clear_mouse_face): Block/unblock input.
9698 (x_display_and_set_cursor): Don't show a hollow box cursor for
9699 buffers whose cursor_type is nil.
9700
9701 2000-09-29 Gerd Moellmann <gerd@gnu.org>
9702
9703 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
9704
9705 * dispextern.h (updating_frame): Declare extern.
9706
9707 2000-09-29 Andreas Schwab <schwab@suse.de>
9708
9709 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
9710
9711 2000-09-29 Gerd Moellmann <gerd@gnu.org>
9712
9713 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
9714 use its function definition.
9715 (tool_bar_items): Likewise.
9716
9717 * lisp.h (fatal): Declare NO_RETURN.
9718
9719 2000-09-29 Kenichi Handa <handa@etl.go.jp>
9720
9721 * keymap.c: Remove the line "#undef NULL".
9722
9723 2000-09-28 Gerd Moellmann <gerd@gnu.org>
9724
9725 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
9726
9727 2000-09-28 Dave Love <fx@gnu.org>
9728
9729 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
9730
9731 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
9732
9733 * .gdbinit (xreload): Note its need on GNU/Linux.
9734
9735 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
9736 r_alloc, r_alloc_free.
9737
9738 2000-09-28 Kenichi Handa <handa@etl.go.jp>
9739
9740 * syntax.c (skip_chars): Handle negation correctly.
9741
9742 2000-09-27 Gerd Moellmann <gerd@gnu.org>
9743
9744 * xfaces.c (realize_default_face): Call set_lface_from_font_name
9745 with non-zero FORCE_P argument.
9746
9747 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
9748 Add assertions.
9749
9750 * xdisp.c (window_box_height): Add an assertion.
9751
9752 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
9753 tool-bar than is available.
9754 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
9755
9756 2000-09-27 Dave Love <fx@gnu.org>
9757
9758 * s/irix6-5.h: Now works 64-bit. Tidied.
9759
9760 2000-09-26 Gerd Moellmann <gerd@gnu.org>
9761
9762 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
9763 instead of BITS_PER_INT.
9764 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
9765 EMACS_UINT, respectively.
9766 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
9767
9768 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
9769
9770 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
9771
9772 * window.c (freeze_window_starts): Construct last argument for
9773 foreach_window differently.
9774
9775 * xfns.c (x_decode_color): Don't return a Lisp_Object.
9776
9777 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
9778 EMACS_UINT instead of `int' and `unsigned int'.
9779 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
9780
9781 * frame.h (struct frame): Make the `nothing' member of union
9782 output_data an EMACS_INT.
9783
9784 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
9785 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
9786 size in the sdata structure.
9787 (SDATA_NBYTES, SDATA_DATA): New macros.
9788 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
9789 differently for the different layout of the sdata structure.
9790 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
9791 in sdata.
9792 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
9793 Check that size recorded in the string size and size recorded in
9794 the sdata structure agree.
9795
9796 2000-09-25 Dave Love <fx@gnu.org>
9797
9798 * buffer.c: Include stdio.h.
9799
9800 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
9801
9802 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
9803
9804 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
9805 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
9806 (__malloc_extra_blocks): Declare as __malloc_size_t.
9807
9808 2000-09-25 Gerd Moellmann <gerd@gnu.org>
9809
9810 * alloc.c (mark_image): Use GC_NILP instead of NILP.
9811
9812 * keyboard.c (show_help_echo): Set help_echo_showing_p.
9813 (read_char): If help-echo is showing, preserve the echo area
9814 when redisplaying.
9815
9816 * xdisp.c (help_echo_showing_p): New variable.
9817 (set_message): Reset it to 0.
9818 (init_xdisp): Initialize help_echo_showing_p.
9819
9820 * dispextern.h (help_echo_showing_p): Declare extern.
9821
9822 * config.in: Fix typo in __GNUC_MINOR__.
9823
9824 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
9825
9826 * s/freebsd.h (POSIX_SIGNALS): Define.
9827
9828 * xterm.c (x_clear_mouse_face): Block/unblock input.
9829
9830 2000-09-24 Dave Love <fx@gnu.org>
9831
9832 * fns.c (base64_encode_1): Fix last change.
9833
9834 2000-09-22 Gerd Moellmann <gerd@gnu.org>
9835
9836 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
9837
9838 * xdisp.c (try_window_reusing_current_matrix): More fixes
9839 for the case window has a header-line.
9840
9841 2000-09-22 Dave Love <fx@gnu.org>
9842
9843 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
9844 a doc string.
9845
9846 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
9847
9848 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
9849
9850 2000-09-21 Gerd Moellmann <gerd@gnu.org>
9851
9852 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
9853 for GCC >= 2.5.
9854
9855 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
9856 Declare NO_RETURN.
9857
9858 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
9859 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
9860 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
9861 warnings.
9862
9863 * marker.c (byte_char_debug_check): Return void.
9864
9865 * xfns.c (Fx_create_frame): Set default frame parameter value
9866 for tool-bar-lines to 1.
9867
9868 * dispnew.c (scrolling_window): Compare y-positions of rows
9869 equal at the start. Some simplification.
9870
9871 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
9872 reused rows' y-position in the case window has a header-line, and
9873 new window start is greater than old window start.
9874
9875 * process.c (process_sent_to): New variable.
9876 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
9877 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
9878 Declare more parameters volatile.
9879
9880 * lread.c (Vrecursive_load_depth_limit): New variable.
9881 (Fload): Check recursive loads whose recursion depth exceeds
9882 Vrecursive_load_depth_limit.
9883 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
9884
9885 2000-09-20 Gerd Moellmann <gerd@gnu.org>
9886
9887 * fileio.c (Fread_file_name): Doc fix.
9888
9889 * editfns.c (Fmessage_or_box): Doc fix.
9890
9891 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
9892
9893 * xfns.c (xbm_scan): Allow C-style comments.
9894
9895 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
9896 symbols are specified, add color translations to the cache.
9897 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
9898 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
9899 xpm_cache_color.
9900 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
9901 structures to xpm_init_color_cache.
9902
9903 2000-09-19 Gerd Moellmann <gerd@gnu.org>
9904
9905 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
9906
9907 2000-09-19 Andrew Innes <andrewi@gnu.org>
9908
9909 * makefile.nt (bootstrap-emacs): Don't change directory.
9910
9911 2000-09-19 Kenichi Handa <handa@etl.go.jp>
9912
9913 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
9914
9915 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
9916 If output buffer is too small, signal an appropriated error.
9917
9918 2000-09-18 Dave Love <fx@gnu.org>
9919
9920 * keyboard.c (menu_bar_items, tool_bar_items)
9921 (current_active_maps): Remove redundant get_local_map call.
9922
9923 2000-09-18 Gerd Moellmann <gerd@gnu.org>
9924
9925 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9926 cursor for buffers whose cursor_type is nil.
9927
9928 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9929 a feature to implement that is already implemented.
9930 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9931 warnings.
9932
9933 * xfns.c (x_clear_image_1): New function.
9934 (x_clear_image): Use it.
9935 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
9936
9937 * dispnew.c (update_window): Move test for invisible lines
9938 at the top to update_window_line.
9939 (update_window_line): Handle invisible lines here.
9940
9941 * xfns.c (clear_image_cache): Clear current matrices of all
9942 frames sharing an image cache. Block input while freeing
9943 images. Fix timestamp comparison.
9944 (x_clear_image): Also free the mask.
9945
9946 * xfns.c (lookup_image): Block input while loading the image so
9947 that we won't get interrupted in a state where the image isn't yet
9948 set up completely.
9949 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9950 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9951 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
9952 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
9953
9954 2000-09-16 Gerd Moellmann <gerd@gnu.org>
9955
9956 * dispnew.c (update_window): Make sure to make desired rows
9957 current even if they are completely invisible at the top
9958 of a window.
9959
9960 2000-09-15 Gerd Moellmann <gerd@gnu.org>
9961
9962 * xfns.c (lookup_image): Build mask before applying an algorithm.
9963 Recognize algorithm `disabled'.
9964 (cross_disabled_images): New variable.
9965 (COLOR_INTENSITY): New macro.
9966 (x_detect_edges): Use COLOR_INTENSITY.
9967 (x_disable_image): New function.
9968 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9969
9970 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9971 disabled state, don't apply an image transformation algorithm if
9972 the user specified an image for the disabled state. Use
9973 `:algorithm disabled' for creating a disabled item's image if the
9974 user hasn't specified an image.
9975
9976 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9977 allocation functions with the XPM lib.
9978 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9979 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9980 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9981 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
9982 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
9983 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9984 functions, if possible, because these handle color allocation
9985 failure more gracefully.
9986 (Fimage_mask_p): New function.
9987
9988 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9989 (Qedge_detection, Qheuristic): New symbols.
9990 (syms_of_xfns): Initialize new symbols.
9991 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9992 `algorithm (edge-detection ...)'.
9993 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9994 (tiff_format, gif_format, gs_format): Add `:mask'.
9995 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9996 (GIF_MASK, GS_MASK): New enumerators.
9997 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9998 (emboss_matrix, laplace_matrix): New variables.
9999 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
10000 (x_edge_detection): New functions.
10001 (x_laplace): Rewritten in terms of x_detect_edges.
10002 (x_build_heuristic_mask): If image has a mask, free it.
10003
10004 2000-09-14 Andrew Innes <andrewi@gnu.org>
10005
10006 * makefile.w32-in: Revert to Unix line endings.
10007
10008 2000-09-14 Andrew Innes <andrewi@gnu.org>
10009
10010 * makefile.w32-in: Standardize indentation somewhat.
10011 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
10012 cater for differences between shells.
10013
10014 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
10015
10016 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10017
10018 * xterm.c (x_produce_glyphs): If the distance from the current
10019 position to the next tab stop is less than a canonical character
10020 width, use the tab stop after that.
10021
10022 2000-09-14 Dave Love <fx@gnu.org>
10023
10024 * buffer.c (alloc_buffer_text): Fix xmalloc call.
10025
10026 2000-09-14 Gerd Moellmann <gerd@gnu.org>
10027
10028 * xdisp.c (handle_fontified_prop): While running fontification
10029 functions, bind `fontification-functions' and
10030 `after-change-functions' to nil.
10031
10032 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
10033 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
10034
10035 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
10036
10037 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
10038 USE_MMAP_FOR_BUFFERS.
10039
10040 * insdel.c (make_gap): Use enlarge_buffer_text.
10041
10042 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
10043 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
10044 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
10045 from former r_alloc_* functions in ralloc.c.
10046 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
10047 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
10048 (mmap_init) [REL_ALLOC_MMAP]: New function.
10049 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
10050 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
10051 BUFFER_FREE.
10052
10053 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
10054 (enlarge_buffer_text): Add prototype.
10055
10056 * ralloc.c: Remove everything having to do with the use of mmap.
10057
10058 2000-09-13 Gerd Moellmann <gerd@gnu.org>
10059
10060 * sound.c (Fplay_sound): Doc fix.
10061
10062 * keyboard.c: Avoid some more compiler warnings.
10063 (parse_tool_bar_item): Ignore cached key bindings.
10064
10065 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
10066 and allocation of Lisp data.
10067
10068 2000-09-12 Gerd Moellmann <gerd@gnu.org>
10069
10070 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
10071 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
10072 defaults first.
10073
10074 * lread.c (Fload): Put code checking for recursive loads in #if 0.
10075
10076 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
10077
10078 * ccl.c: Comment fixed.
10079 (MAX_MAP_SET_LEVEL): Increased to 30.
10080 (PUSH_MAPPING_STACK): Enclose with do-while block.
10081 (POP_MAPPING_STACK): Likewise.
10082 (stack_idx_of_map_multiple): New variable.
10083 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
10084 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
10085 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
10086 (ccl_driver) <CCL_MapSingle>: Likewise.
10087 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
10088 with the case where looking up process reaches to the end of
10089 map-set, and call CCL programs as the above change.
10090
10091 2000-09-11 Gerd Moellmann <gerd@gnu.org>
10092
10093 * xfns.c (png_load, jpeg_load): Declare some variables volatile
10094 that might be clobbered by longjmp.
10095 (check_x_display_info, x_decode_color, create_frame_xic)
10096 (Fx_display_backing_store, Fx_display_visual_class)
10097 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
10098
10099 * lread.c (init_lread): Set Vloads_in_progress to nil.
10100 (Fload): Show list of recursively loaded files, when signaling an
10101 error.
10102
10103 * lread.c (Vloads_in_progress): New variable.
10104 (record_load_unwind): New function.
10105 (Fload): Check for recursive loads.
10106 (syms_of_lread): Initialize Vloads_in_progress.
10107 (read_integer, read1): Avoid some compiler warnings.
10108
10109 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
10110 compiler warnings.
10111
10112 2000-09-11 Miles Bader <miles@gnu.org>
10113
10114 * editfns.c (Fbuffer_string): Doc fix.
10115
10116 2000-09-10 Gerd Moellmann <gerd@gnu.org>
10117
10118 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
10119
10120 2000-09-09 Ken Raeburn <raeburn@gnu.org>
10121
10122 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
10123 whether to include other header files.
10124
10125 2000-09-09 Gerd Moellmann <gerd@gnu.org>
10126
10127 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
10128 by Fmemq as a boolean.
10129
10130 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
10131
10132 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
10133
10134 2000-09-08 Gerd Moellmann <gerd@gnu.org>
10135
10136 * ralloc.c (mmap_fd): Remove initializer which can make it
10137 read-only in a dumped Emacs.
10138 (mmap_fd_1): New variable.
10139 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
10140 restore it from there.
10141 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
10142 unconditionally so that mmap_fd can be initialized there.
10143 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
10144 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
10145 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
10146
10147 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
10148
10149 * xdisp.c (dump_glyph_row): Fix printf format string.
10150 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
10151
10152 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
10153
10154 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
10155 inheritance.
10156
10157 * xdisp.c (try_window_id): When trying to locate cursor in
10158 unchanged rows at the top, handle the case that we can't find it.
10159
10160 * xterm.c (x_draw_glyphs): Handle case START and END are out
10161 of bounds more carefully.
10162
10163 2000-09-08 Dave Love <fx@gnu.org>
10164
10165 * s/sol2.h (REL_ALLOC_MMAP): Define.
10166 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
10167
10168 * ralloc.c: Don't include string.h (redundant).
10169 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
10170 [!MAP_ANON]: Include fcntl.h.
10171 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
10172 (r_alloc, r_re_alloc, r_alloc_free)
10173 (mmap_enlarge, mmap_set_vars): Use it.
10174 (r_alloc_init_fd): New function.
10175 (__morecore) [SYSTEM_MALLOC]: Don't declare.
10176 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
10177 malloc type.
10178
10179 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
10180 Remove vm-limit.o.
10181
10182 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
10183 change to __NetBSD__.
10184
10185 2000-09-08 Kenichi Handa <handa@etl.go.jp>
10186
10187 * search.c (compile_pattern): Check the multibyteness of cached
10188 string and PATTERN.
10189
10190 2000-09-08 Miles Bader <miles@gnu.org>
10191
10192 * xfaces.c (default_face_vector): Function removed.
10193 (Finternal_merge_in_global_face): Restore old global/local
10194 attribute override order. Use inline loop instead of calling
10195 default_face_vector.
10196
10197 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10198
10199 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
10200 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
10201 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
10202 where necessary, in case POINTER_TYPE is `void'.
10203
10204 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
10205
10206 * frame.c (make_terminal_frame): Initialize frame foreground and
10207 background colors to unspecified, for the initial instance of an
10208 MSDOS frame.
10209
10210 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10211
10212 * ralloc.c (mmap_find): Fix overlap computation.
10213 (mmap_enlarge): Compute nbytes before trying to find an
10214 overlapping region.
10215
10216 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
10217 instead of `!='.
10218
10219 * lread.c (syms_of_lread): Change value of regexp
10220 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
10221
10222 * xmenu.c (xdialog_show): When looking up the selection in
10223 menu_items, take `quote' boundaries into account; this corresponds
10224 to a nil ITEM in x-popup-dialog.
10225
10226 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10227
10228 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
10229 not 0x81.
10230 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
10231
10232 * coding.c (encode_coding_sjis_big5): Use translation table for
10233 encoding, not decoding. Fix the handling of latin-jisx0201.
10234 Check for the charset katakana-jisx0201 too.
10235 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
10236 (detect_coding_sjis): Check the byte sequence more rigidly.
10237
10238 2000-09-07 Gerd Moellmann <gerd@gnu.org>
10239
10240 * xfaces.c (Vparam_value_alist): New variable.
10241 (syms_of_xfaces): Initialize it.
10242 (Finternal_set_lisp_face_attribute): Avoid more consing.
10243
10244 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
10245 specially.
10246 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
10247 (Qbackground_mode): New variable.
10248 (syms_of_frame_1): Initialize Qbackground_mode.
10249
10250 * lisp.h (Qdisplay): Declare extern.
10251
10252 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
10253 change face on all frames, and change the default for new frames.
10254
10255 2000-09-07 Dave Love <fx@gnu.org>
10256
10257 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
10258
10259 2000-09-07 Kenichi Handa <handa@etl.go.jp>
10260
10261 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
10262
10263 * charset.c: Include composite.h
10264 (lisp_string_width): New function.
10265 (Fstring_width): Call lisp_string_width instead of strwidth.
10266
10267 * Makefile.in (charset.o): Depends on composite.h.
10268
10269 * process.c (read_process_output): Before inserting the decoded
10270 text in the buffer, adjust the multibyteness.
10271
10272 2000-09-06 Gerd Moellmann <gerd@gnu.org>
10273
10274 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
10275 buffer's text buffer is null, map new memory.
10276
10277 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
10278 POINTER_TYPE and size_t.
10279 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
10280 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
10281 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
10282 [REL_ALLOC_MMAP]: New macros.
10283 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
10284 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
10285 [REL_ALLOC_MMAP]: New functions.
10286
10287 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
10288 before and after unexec.
10289
10290 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
10291 text buffers if necessary.
10292
10293 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
10294 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
10295 in prototypes.
10296
10297 * config.in (HAVE_MMAP): Add #undef.
10298
10299 2000-09-05 Gerd Moellmann <gerd@gnu.org>
10300
10301 * frame.c (Qdisplay_type): New variable.
10302 (syms_of_frame_1): Initialize it.
10303 (Fframe_parameter): New function that avoids consing.
10304 (syms_of_frame): Defsubr it.
10305
10306 * buffer.c (Fother_buffer): Consider buffers as invisible when
10307 they are displayed in a window on an invisible frame.
10308
10309 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
10310 get-largest-window always return nil.
10311
10312 2000-09-04 Gerd Moellmann <gerd@gnu.org>
10313
10314 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
10315 variable; recognize Emacs 19 elc files.
10316
10317 2000-09-04 Miles Bader <miles@gnu.org>
10318
10319 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
10320 before initially popping up the menu, so the menu doesn't flash
10321 when the face settings are significantly different from the defaults.
10322
10323 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
10324
10325 * regex.c (WIDE_CHAR_SUPPORT): New macro.
10326 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
10327 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
10328 (BIT_UNIBYTE): Remove.
10329 (re_match_2_internal): Delete corresponding code and streamline the
10330 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
10331 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
10332 (re_wctype_t): New type.
10333 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
10334 (regex_compile): Use them and fix handling of overly long char classes.
10335
10336 2000-09-03 Andrew Innes <andrewi@gnu.org>
10337
10338 * makefile.w32-in: Change to DOS line endings.
10339
10340 * s/ms-w32.h (ORDINARY_LINK): New define.
10341
10342 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
10343 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
10344
10345 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
10346 (distclean): Delete them here instead.
10347
10348 * w32proc.c (compare_env): Convert to uppercase for comparison,
10349 not lowercase, to match how the native Windows shell works.
10350
10351 2000-09-03 Jason Rumney <jasonr@gnu.org>
10352
10353 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
10354 CVS changes the line-ends when checking in/out on DOS/Windows.
10355
10356 * makefile.nt (emacs): Do not change directory to run temacs, as
10357 the load-path is set relative to current directory.
10358
10359 2000-09-03 Miles Bader <miles@gnu.org>
10360
10361 * xterm.c (x_alloc_lighter_color_for_widget): New function.
10362
10363 2000-09-02 Gerd Moellmann <gerd@gnu.org>
10364
10365 * xdisp.c (redisplay_mode_lines): New function.
10366 (display_mode_lines): Return number of mode lines displayed.
10367 (echo_area_display): Use redisplay_mode_lines to draw garbaged
10368 mode lines. Don't temporarily bind redisplay-dont-pause to t.
10369
10370 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
10371 string.h and strings.h.
10372 (index) [HAVE_INDEX]: Add prototype.
10373
10374 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
10375 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
10376
10377 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
10378 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10379
10380 2000-09-01 Gerd Moellmann <gerd@gnu.org>
10381
10382 * lread.c (read1): Accept `?' as symbol constituent, for
10383 compatiblity with XEmacs.
10384
10385 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
10386
10387 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
10388 (struct re_pattern_buffer): Remove newline_anchor.
10389 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
10390 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
10391 (re_max_failures, fail_stack): Use size_t rather than unsigned.
10392 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
10393 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
10394 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
10395 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
10396 Get rid of references to newline_anchor.
10397 (regcomp): Allocate and precompute a fastmap.
10398
10399 2000-08-31 Gerd Moellmann <gerd@gnu.org>
10400
10401 * lread.c (openp): GCPRO local variable `filename'.
10402
10403 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
10404
10405 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10406
10407 * regex.c: Merge some changes from GNU libc. Add prototypes.
10408 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10409 Use memcmp and memcpy instead of bcopy and bcmp.
10410 (init_syntax_once): Use ISALNUM.
10411 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10412 (REG_UNSET_VALUE): Remove. Use NULL instead.
10413 (REG_UNSET, re_match_2_internal): Use NULL.
10414 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10415 New macros.
10416 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10417 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10418 (regex_compile): In handle_interval, return an error rather than try to
10419 unfetch the interval if we can't find the closing brace.
10420 Obey the RE_NO_GNU_OPS syntax bit.
10421 (TOLOWER): New macro.
10422 (regcomp): Use it.
10423 (regexec): Allocate regs.start and regs.end as one block.
10424
10425 2000-08-30 Gerd Moellmann <gerd@gnu.org>
10426
10427 * xdisp.c (echo_area_display): Check display_completed instead
10428 of calling detect_input_pending.
10429
10430 * dispnew.c (update_frame): Only set display_completed here; move
10431 the update_begin and update_end calls here from update_frame_1.
10432 (update_frame_1): Don't set display_completed here, don't call
10433 update_begin/update_end.
10434
10435 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10436 instead of store_frame_param.
10437
10438 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10439
10440 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10441 desired window matrix hasn't been displayed, use the current row
10442 instead. Make sure that only those frame rows are updated for
10443 which there exists a corresponding enabled desired row.
10444
10445 2000-08-29 Miles Bader <miles@gnu.org>
10446
10447 * xfaces.c (default_face_vector): New function.
10448 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10449
10450 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10451
10452 * lread.c (openp): Prevent temporary string passed to
10453 Ffile_readable_p from being garbage collected.
10454
10455 2000-08-28 Dave Love <fx@gnu.org>
10456
10457 * keymap.c (store_in_keymap): Add `static' to declaration.
10458
10459 2000-08-28 Gerd Moellmann <gerd@gnu.org>
10460
10461 * emacs.c, callint.c, doc.c, editfns.c
10462 (toplevel) [HAVE_STRING_H]: Include string.h.
10463 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10464 (index): Remove prototypes which might conflict with non-standard
10465 definitions of index/strchr.
10466
10467 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10468 (rindex): Define only if !HAVE_RINDEX.
10469
10470 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10471
10472 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10473
10474 2000-08-28 Miles Bader <miles@gnu.org>
10475
10476 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10477 made inconsistent by a font-related attribute in FROM.
10478 (merge_face_inheritance): Add function comment.
10479
10480 2000-08-28 Kenichi Handa <handa@etl.go.jp>
10481
10482 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10483 the 4th arg (PREV_EVENT) Qt to suppress input method.
10484
10485 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10486
10487 * regex.c: Indent cpp directives and remove parens after `defined'.
10488 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10489 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10490 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10491 (re_compile_pattern): Use size_t for length.
10492 (init_syntax_once): Move to a better place.
10493 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10494 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10495
10496 * syntax.c (back_comment): Detect cases where a comment-starter is
10497 actually inside another comment as in: /* a // b */ c // d \n.
10498 Make it clear that `comstart_pos' is unused for nested comments.
10499
10500 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10501 (KEYMAPP): New macro.
10502 (Fkeymap_parent, Fset_keymap_parent): Use it.
10503 (fix_submap_inheritance): Mark it static.
10504 (define_as_prefix, describe_buffer_bindings, describe_command)
10505 (describe_translation, describe_map): Complete prototypes.
10506
10507 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10508
10509 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10510 to better match the key-lookup behavior.
10511
10512 2000-08-27 Gerd Moellmann <gerd@gnu.org>
10513
10514 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10515 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10516
10517 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10518
10519 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10520 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10521 (xterm.o): Depend on coding.h
10522
10523 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10524
10525 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10526 the corresponding '#endif'.
10527
10528 2000-08-26 Miles Bader <miles@gnu.org>
10529
10530 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10531 * xfaces.c (QCinherit): New variable.
10532 (syms_of_xfaces): Initialize it.
10533 (LFACE_INHERIT): New macro.
10534 (Finternal_get_lisp_face_attribute)
10535 (merge_face_vector_with_property)
10536 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10537 (check_lface_attrs): Allow new types of face height. Check
10538 inherit attribute.
10539 (CYCLE_CHECK): New macro.
10540 (merge_face_inheritance): New function.
10541 (merge_face_vectors): Merge inherited faces too. Add F and
10542 CYCLE_CHECK arguments.
10543 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10544 (lookup_named_face, lookup_derived_face, realize_named_face)
10545 (face_at_string_position, face_at_buffer_position): Supply
10546 new F and CYCLE_CHECK arguments to merge_face_vectors.
10547 (merge_face_heights): New function.
10548 (merge_face_vectors, merge_face_vector_with_property)
10549 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10550 handle relative face heights.
10551 (lface_same_font_attributes_p): Compare heights using EQ.
10552
10553 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10554
10555 * charset.c (char_to_string): Check the character validity.
10556 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
10557
10558 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10559
10560 * regex.c (PUSH_FAILURE_COUNT): New macro.
10561 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10562 Handle popping of a register's or a counter's data.
10563 (POP_FAILURE_POINT): Use the new name.
10564 (re_match_2_internal): Push counter data on the stack for succeed_n,
10565 jump_n and set_number_at and remove misleading dead code in succeed_n.
10566
10567 2000-08-25 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xdisp.c (redisplay_internal): If considering all windows on all
10570 frames, update the display for each frame as soon as possible,
10571 instead of first building all desired matrices for all frames, and
10572 then updating them all.
10573 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
10574
10575 2000-08-24 Gerd Moellmann <gerd@gnu.org>
10576
10577 * bytecode.c (mark_byte_stack): Add a comment.
10578
10579 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
10580 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
10581 a graphical frame.
10582
10583 2000-08-24 Kenichi Handa <handa@etl.go.jp>
10584
10585 * minibuf.c (do_completion): Always use compare-string, not
10586 string-equal because the latter doesn't pay attention to
10587 multibyteness of strings.
10588
10589 * process.c (create_process): Don't setup raw-text coding here.
10590 (Fopen_network_stream): Don't set coding->src_multibyte and
10591 coding->dst_multibyte here.
10592 (read_process_output): For process filter, return unibyte string
10593 if default-enable-multibyte-characters is nil.
10594 (send_process): If OBJECT is multibyte text, be sure to encoded it
10595 by the specified coding system for the process. Otherwise, setup
10596 raw-text coding.
10597 (init_process): Don't initialize default-process-coding-system here.
10598
10599 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
10600
10601 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
10602 <scroll-down-aggressively>: Likewise.
10603
10604 2000-08-23 Kenichi Handa <handa@etl.go.jp>
10605
10606 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
10607 zero. Set coding->produced_char correctly.
10608
10609 2000-08-22 Andrew Innes <andrewi@gnu.org>
10610
10611 * makefile.w32-in: New file.
10612
10613 * unexw32.c (unexec): Ignore old_name, and use the actual location
10614 of the current executable instead. Base new_name on this.
10615
10616 * w32proc.c (create_child): Remove reference to security
10617 descriptor, which isn't needed and doesn't compile with mingw32.
10618
10619 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10620 up dllimport attributes.
10621 (x_update_window_end): Update prototype.
10622
10623 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
10624 extern, which screws up dllimport attributes.
10625
10626 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10627 up dllimport attributes.
10628
10629 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
10630 screws up dllimport attributes.
10631
10632 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10633 up dllimport attributes.
10634 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
10635 screws up dllimport attributes.
10636
10637 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10638 up dllimport attributes.
10639
10640 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
10641 screws up dllimport attributes.
10642
10643 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
10644 screws up dllimport attributes.
10645
10646 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10647 up dllimport attributes.
10648
10649 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
10650 unnecessary extern, which screws up dllimport attributes.
10651 (main): Ditto.
10652
10653 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10654 up dllimport attributes.
10655
10656 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
10657 unnecessary extern, which screws up dllimport attributes.
10658
10659 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
10660 screws up dllimport attributes.
10661
10662 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10663 up dllimport attributes.
10664
10665 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
10666
10667 * w32bdf.c (search_file_line):
10668 (set_bdf_font_info):
10669 (seek_char):
10670 (w32_get_bdf_glyph):
10671 (w32_BDF_to_x_font): Fix compile warnings.
10672
10673 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
10674
10675 * w32select.c: Include keyboard.h before frame.h.
10676
10677 * w32fns.c (max): Define macro.
10678 (JOHAB_CHARSET): Define if not known.
10679 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
10680 (Fx_show_tip): Synch with X version.
10681
10682 * w32xfns.c: Include keyboard.h before frame.h.
10683
10684 * w32fns.c: Include keyboard.h before frame.h.
10685
10686 * w32term.c: Include keyboard.h before frame.h.
10687
10688 * fontset.c: Include keyboard.h before frame.h.
10689
10690 * w32inevt.c: Include keyboard.h before frame.h.
10691 (MOUSE_MOVED): Define if not known.
10692
10693 * minibuf.c: Include keyboard.h before frame.h.
10694
10695 * keyboard.c: Include keyboard.h before frame.h.
10696
10697 * indent.c: Include keyboard.h before frame.h.
10698
10699 * dispnew.c: Include keyboard.h before frame.h.
10700
10701 * buffer.c: Include keyboard.h before frame.h.
10702
10703 * alloc.c: Include keyboard.h before frame.h.
10704
10705 * print.c: Include keyboard.h before frame.h.
10706
10707 * process.c: Include keyboard.h before frame.h.
10708
10709 * scroll.c: Include keyboard.h before frame.h.
10710
10711 * sysdep.c: Include keyboard.h before frame.h.
10712
10713 * term.c: Include keyboard.h before frame.h.
10714
10715 * window.c: Include keyboard.h before frame.h.
10716
10717 * xdisp.c: Include keyboard.h before frame.h.
10718 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
10719
10720 * frame.c: Include keyboard.h before frame.h.
10721
10722 * w32heap.h: Undefine min, max.
10723
10724 * w32gui.h: Undefine min, max.
10725
10726 * unexw32.c: Change PUCHAR to PCHAR.
10727 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
10728 (relocate_offset):
10729 (get_section_info):
10730 (copy_executable_and_dump_data): Remove unnecessary static defs.
10731 (copy_executable_and_dump_data): Fix compile warnings.
10732
10733 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
10734
10735 * w32console.c (min): Define macro.
10736 (clear_frame, write_glyphs): Fix compile warning.
10737
10738 * w32proc.c (compare_env):
10739 (find_child_console): Fix compile warning.
10740
10741 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
10742 sys_errlist instead of _sys_errlist.
10743 (get_emacs_configuration_options): New function.
10744
10745 * s/ms-w32.h (sys_nerr): Provide default definition.
10746 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
10747 name with _ prepended.
10748 (NSIG): Define if not known.
10749 (get_emacs_configuration): Provide extern declaration.
10750 (get_emacs_configuration_options): Provide extern declaration.
10751 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
10752
10753 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
10754 (map_w32_filename):
10755 (read_unc_volume): Fix compile warning.
10756
10757 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
10758 definitions from being used.
10759
10760 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
10761
10762 * w32.c (unc_volume_file_attributes):
10763 (open_unc_volume): Make arg const.
10764
10765 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
10766 (read_input_waiting): Remove excess parameter.
10767
10768 * w32.c (init_environment): Call _access.
10769 (check_windows_init_file): Call _close.
10770 (init_user_info): Call _putenv.
10771 (init_environment): Call _putenv and _strdup.
10772 (init_ntproc): Reset volume info cache on startup.
10773
10774 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
10775 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
10776 cannot override the CRT malloc.
10777
10778 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
10779 (LINK_FLAGS): Append to original value of LINK_FLAGS.
10780
10781 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
10782 unless we are linking with a static CRT.
10783 (RVA_TO_PTR): Cast result to unsigned char*.
10784
10785 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
10786 (add_volume_info): Use xstrdup.
10787
10788 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
10789
10790 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
10791 (do_completion, Fminibuffer_complete_word): Use it.
10792 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
10793 var so it can take non-boolean values.
10794
10795 2000-08-21 Gerd Moellmann <gerd@gnu.org>
10796
10797 * editfns.c (find_field): Formatting changes.
10798 (toplevel): Some old-style function forward declarations
10799 changed to prototypes, some new protypes added, some functions
10800 made static.
10801
10802 * lisp.h (set_time_zone_rule): Add prototype.
10803 (use_dialog_box): External declaration.
10804
10805 * keyboard.c (gen_help_event): Add parameter SIZE.
10806 (kbd_buffer_events_waiting): Slightly rewritten.
10807 (clear_event): New function.
10808 (kbd_buffer_get_event): Use it, and clear the input_events of
10809 HELP_EVENTs.
10810 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
10811 don't fill the newly created array with nils.
10812 (toplevel): Convert some old-style function forward declarations
10813 to prototypes.
10814
10815 * keyboard.h (gen_help_event): Change prototype.
10816
10817 * xterm.c (XTread_socket): Change calls to gen_help_event.
10818
10819 * w32term.c (w32_read_socket): Change calls to gen_help_event.
10820
10821 * eval.c (Fmacroexpand): Doc fix.
10822
10823 2000-08-20 Jason Rumney <jasonr@gnu.org>
10824
10825 * w32term.h (x_display_info_for_display): Remove as this function
10826 does not exist on W32.
10827
10828 * w32term.c (help_echo_window): New variable.
10829 (syms_of_w32term): staticpro it.
10830 (note_mode_line_highlight): Set it.
10831 (XTextExtents16): Removed as there is no equivalent on W32.
10832 (x_compute_glyph_string_overhangs): Incomplete body removed, as
10833 the X way of doing this will not work for W32.
10834 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
10835 (x_draw_image_foreground): Avoid drawing outside of the clip area
10836 when image doesn't have a mask.
10837 (note_mouse_highlight): Process overlays in the right order of
10838 priority. Set help_echo_window.
10839 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
10840 because that's more visible for large images.
10841
10842 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
10843 name to single_keymap_panes.
10844 (w32_menu_show): Set wv->title when dealing with titles.
10845 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
10846
10847 2000-08-21 Miles Bader <miles@gnu.org>
10848
10849 * minibuf.c (do_completion): Try again if we rewrite the input
10850 string, but no completion was done, so that any completion message
10851 will be correct.
10852
10853 2000-08-20 Gerd Moellmann <gerd@gnu.org>
10854
10855 * xfaces.c (lface_equal_p): Compare strings differently.
10856 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
10857 (realize_tty_face): Use them.
10858 (syms_of_xfaces): Initialize new variables.
10859 (map_tty_color): New function, extracted from realize_tty_face.
10860 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
10861 foreground or background color, store the new color name in the
10862 realized face; previous code trying to do this had no effect.
10863 (realize_tty_face): Use map_tty_color.
10864 (Fclear_face_cache): Set face_change_count and ensure thorough
10865 redisplay.
10866
10867 2000-08-19 Gerd Moellmann <gerd@gnu.org>
10868
10869 * undo.c (record_first_change, record_marker_adjustment): Don't
10870 use XBUFFER on last_undo_buffer which might not be a buffer.
10871
10872 2000-08-18 Kenichi Handa <handa@etl.go.jp>
10873
10874 * coding.c (decode_coding_string): Set members consumed,
10875 consumed_char, produced, produced_char of *coding correctly. If
10876 decode_coding doesn't consume any byte, don't try anymore.
10877 (encode_coding_string): Likewise.
10878
10879 2000-08-18 Gerd Moellmann <gerd@gnu.org>
10880
10881 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
10882 conditional have void type, for Standard C compilers.
10883
10884 * xdisp.c (redisplay_internal): Compare windows for equality with
10885 EQ, instead of applying XWINDOW to something that might not
10886 be a window.
10887
10888 2000-08-18 Kenichi Handa <handa@etl.go.jp>
10889
10890 * fontset.c (Finternal_char_font): Search only the selected frame
10891 for a window of the current buffer.
10892
10893 2000-08-18 Gerd Moellmann <gerd@gnu.org>
10894
10895 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
10896 Lisp_Objects.
10897
10898 * keyboard.c (kbd_buffer_get_event): Handle the case that the
10899 second half of a HELP_EVENT is found at the start of kbd_buffer.
10900
10901 2000-08-18 Miles Bader <miles@gnu.org>
10902
10903 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
10904
10905 * editfns.c (save_restriction_save): Rewrite to use markers.
10906 (save_restriction_restore): Rewrite to understand new form of data
10907 saved by save_restriction_save.
10908 (Fsave_restriction): Remove cautionary note in doc-string.
10909
10910 2000-08-17 Gerd Moellmann <gerd@gnu.org>
10911
10912 * fileio.c (build_annotations): Add a comment explaining the
10913 return value of format-annotate-function. Replace a spurious call
10914 to Flength with a CONSP test. Call format-annotate-function with
10915 a fifth arg specifying how many times the function is been called
10916 in a row, to let it choose temporary buffers appropriately.
10917
10918 2000-08-17 Dave Love <fx@gnu.org>
10919
10920 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10921 declare make_temp_name twice.
10922
10923 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
10924 (unreadpure): Give it an arg.
10925
10926 * unexalpha.c: Prototype fatal_unexec, mark_x,
10927 update_dynamic_symbols. Declare unexec as void.
10928
10929 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10930 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10931
10932 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
10933 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
10934
10935 * alloca.c: Use #error.
10936 [POINTER_TYPE]: Use it.
10937
10938 * eval.c (Fdefvar): Doc fix.
10939
10940 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10941 INITIALIZE_INTERVAL.
10942
10943 * buffer.h: Avoid DECLARE_INTERVALS.
10944
10945 * config.in: Add size_t.
10946
10947 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10948
10949 * w16select.c (set_clipboard_data): If there's not enough memory
10950 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10951 expects. In case of other failures, return 3.
10952 (system_error_msg): New error message.
10953 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10954 system_error_msg.
10955
10956 2000-08-16 Gerd Moellmann <gerd@gnu.org>
10957
10958 * term.c (write_glyphs): Also turn off inverse video after turning
10959 off other appearances in case TS_exit_attribute_mode is not equal
10960 to TS_end_standout_mode.
10961 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10962 with the same face.
10963 (turn_off_face): Reset standout_mode only if
10964 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10965 is equal to TS_end_standout_mode.
10966
10967 2000-08-16 Kenichi Handa <handa@etl.go.jp>
10968
10969 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10970 sequence at the end of the source block.
10971
10972 * ccl.c (Fccl_program_p): Docstring modified.
10973 (Fccl_execute): Likewise.
10974 (Fccl_execute_on_string): Likewise.
10975
10976 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10977
10978 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10979
10980 2000-08-16 Kenichi Handa <handa@etl.go.jp>
10981
10982 The following changes are mainly to fix bugs of
10983 encode/decode-coding-string failing if encoding/decoding return
10984 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10985 variable conversion_buffer.
10986
10987 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10988 decrement dst_end to avoid buffer overflow in the later call of
10989 string_as_multibyte
10990
10991 * coding.h (conversion_buffer_size, conversion_buffer)
10992 (get_conversion_buffer): Extern deleted.
10993
10994 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10995 (conversion_buffer, conversion_buffer_size): Variables deleted.
10996 (get_conversion_buffer): Function deleted.
10997 (struct conversion_buffer): New structure.
10998 (MAX_ALLOCA): New macro.
10999 (allocate_conversion_buffer): New macro.
11000 (extend_conversion_buffer, free_conversion_buffer): New functions.
11001 (ccl_coding_driver): Set coding->result.
11002 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
11003 this is the last block of source.
11004 (encode_coding): Likewise. Handle the source block as the last
11005 one only when the whole source text is consumed.
11006 (decode_coding_string): Handle the case that the output buffer is
11007 too small to decode the whole source text. Use
11008 allocate_conversion_buffer, extend_conversion_buffer and
11009 free_conversion_buffer, not get_conversion_buffer.
11010 (encode_coding_string): Likewise.
11011 (init_coding): Function deleted.
11012 (init_coding_once): Delete code to initialize conversion_buffer_size.
11013
11014 * emacs.c (main): Don't call init_coding.
11015
11016 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
11017
11018 * term.c (write_glyphs): Use a locally declared conversion_buffer.
11019 (insert_glyphs): Likewise.
11020
11021 * w32console.c (write_glyphs): Use a locally declared
11022 conversion_buffer.
11023
11024 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
11025
11026 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
11027 member of display_info is NULL.
11028
11029 2000-08-15 Gerd Moellmann <gerd@gnu.org>
11030
11031 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
11032
11033 * term.c (turn_off_face): Reset standout_mode when resetting
11034 appearances with capability `me'.
11035 (write_glyphs): Switch on inverse video before each face change.
11036
11037 2000-08-14 Dave Love <fx@gnu.org>
11038
11039 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
11040 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
11041 (lisp_free): Declare and make static.
11042
11043 * window.c: Fix embedded comment.
11044 (syms_of_window): Fix doc string.
11045
11046 2000-08-14 Gerd Moellmann <gerd@gnu.org>
11047
11048 * keymap.c (push_key_description): If C without modifiers is < 32,
11049 make sure to print `C-' before `M-', like in the manual.
11050
11051 2000-08-11 Gerd Moellmann <gerd@gnu.org>
11052
11053 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
11054 since they aren't relocated anymore.
11055 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
11056
11057 * xdisp.c (try_cursor_movement): Fix handling of cursor in
11058 partially visible line which is smaller than the window's height.
11059
11060 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11061
11062 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
11063 the multibyte form of eight-bit-control characters.
11064 (Fccl_execute_on_string): Initialize ccl->multibyte.
11065
11066 * ccl.h (struct ccl_program): New member multibyte.
11067
11068 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
11069
11070 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11071
11072 * regex.c (regex_compile) <normal_char>: Pay attention to
11073 multibyteness.
11074 (analyse_first) <exactn>: Setup fastmap correctly for
11075 eight-bit-control characters.
11076
11077 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11078
11079 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
11080
11081 * keyboard.c (make_lispy_event): Handle the new event type
11082 multibyte_char_keystroke.
11083
11084 * xterm.c: Include coding.h.
11085 (XTread_socket): Work around a bug of XmbLookupString. If the
11086 input is from XIM, decode it according to the current locale. In
11087 that case, generate multibyte_char_keystroke events.
11088
11089 2000-08-11 Kenichi Handa <handa@etl.go.jp>
11090
11091 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
11092 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
11093
11094 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11095
11096 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
11097 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
11098 (move_it_in_display_line_to): Record iterator's ascent and descent
11099 before producing glyphs, and restore them when we know the glyph
11100 doesn't fit on the line.
11101 (move_it_to): Restructured so that it's easier to debug. If
11102 moving to a vpos, and not moving to an x or character position,
11103 stop as soon as the specified vpos is reached; don't move further
11104 into that line because that might change the computed line height.
11105 (try_cursor_movement): New function, extracted from the cursor
11106 movement branch of redisplay_window. If ending on a partially
11107 visible line, don't try to scroll if the cursor line is taller
11108 than the window.
11109 (redisplay_window): Use try_cursor_movement.
11110
11111 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
11112 because that function doesn't cope with variable-height lines.
11113
11114 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
11115 box cursor because that's better visible for large images.
11116
11117 2000-08-10 Miles Bader <miles@gnu.org>
11118
11119 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
11120
11121 2000-08-10 Gerd Moellmann <gerd@gnu.org>
11122
11123 * xdisp.c (Vmessages_buffer_name): New variable.
11124 (message_dolog): Use it.
11125 (syms_of_xdisp): Initialize it.
11126
11127 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
11128
11129 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
11130 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
11131 redundant now that keyboard.h is included.
11132
11133 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
11134
11135 * keyboard.c (kbd_buffer_events_waiting): New function.
11136
11137 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
11138
11139 * msdos.c: Include keyboard.h.
11140 (XMenuActivate): Empty no_event events from the event buffer. If
11141 no events are left after that, call clear_input_pending.
11142 (mouse_clear_clicks): New function, code moved from mouse_init.
11143 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
11144 mouse driver to ``forget'' any past clicks.
11145
11146 * Makefile.in (msdos.o): Depend on keyboard.h.
11147
11148 2000-08-09 Gerd Moellmann <gerd@gnu.org>
11149
11150 * lisp.h (input_pending): External declaration.
11151
11152 * dispextern.h (Qredisplay_dont_pause): Declare extern.
11153
11154 * xdisp.c (echo_area_display): Display thoroughly if input is
11155 pending. Bind redisplay-dont-pause to t during the redisplay.
11156 in case input is pending.
11157
11158 * dispnew.c (Qredisplay_dont_pause): New variable.
11159 (syms_of_display): Initialize and staticpro it.
11160 (update_frame_1): Don't interrupt the display for pending input if
11161 redisplay_dont_pause is set.
11162
11163 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
11164
11165 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11166
11167 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
11168
11169 * callproc.c (Fcall_process): Terminate the unwind-protect around
11170 the post-read-conversion of coding system.
11171
11172 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
11173 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
11174 * buffer.h (overlays_at): Update prototype.
11175 * xdisp.c (next_overlay_change): Update call to overlays_at.
11176 * xfaces.c (face_at_buffer_position): Likewise.
11177 * textprop.c (Fget_char_property): Likewise.
11178 * xterm.c (note_mouse_highlight): Likewise.
11179
11180 * minibuf.c (do_completion): Don't consider a simple change of
11181 case as `completion'.
11182
11183 2000-08-08 Ken Raeburn <raeburn@gnu.org>
11184
11185 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
11186 * undo.c (record_delete): Make sure last_point_position_buffer is
11187 a buffer before comparing pointers.
11188
11189 * coding.h (decode_coding_string): Declare.
11190
11191 * intervals.h (Fprevious_single_char_property_change): Declare.
11192
11193 * textprop.c (Fprevious_single_char_property_change): Don't do
11194 arithmetic directly on lisp objects.
11195
11196 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
11197
11198 * keyboard.h (menu_item_eval_property): Declare.
11199
11200 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
11201 reuse as buffer name, instead of recreating (and discarding) every
11202 time a message is logged.
11203 (with_echo_area_buffer): Make callback arg A2 a lisp object.
11204 (current_message_1, truncate_message_1, set_message_1)
11205 (display_echo_area_1, resize_mini_window_1): Signatures changed.
11206 (current_message, truncate_echo_area, display_echo_area)
11207 (resize_echo_area_axactly): Changed calls.
11208
11209 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
11210 Lisp object.
11211 (Ffind_coding_systems_region_internal): First argument to Fappend
11212 must be an integer, not a Lisp object.
11213
11214 2000-08-08 Kenichi Handa <handa@etl.go.jp>
11215
11216 * charset.c (Fchar_width): Doc fix.
11217
11218 2000-08-08 Gerd Moellmann <gerd@gnu.org>
11219
11220 * charset.c (Fstring_width): Doc fix.
11221
11222 2000-08-07 Gerd Moellmann <gerd@gnu.org>
11223
11224 * xdisp.c (start_display): When starting display on a continuation
11225 line, clear ascent and descent members of the iterator structure;
11226 the height of the continued line does not affect the height of the
11227 continuation line.
11228 (make_cursor_line_fully_visible): Do nothing if cursor is on a
11229 line taller than the window.
11230 (redisplay_window) <forced window start>: Handle case that the
11231 middle of the window is not found in any row.
11232 (dump_glyph_row): Show more information.
11233 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
11234 first text line in a glyph matrix.
11235
11236 * xterm.c (x_draw_image_foreground): Avoid drawing outside
11237 of the clip area when image doesn't have a mask.
11238
11239 * fns.c (sweep_weak_table): Fix survival conditions for
11240 key-or-value and key-and-value weakness.
11241
11242 * .gdbinit (xhashtable): New command.
11243
11244 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
11245 tables out of the list of all weak hash tables.
11246
11247 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
11248 a new buffer is created, make sure echo_area_buffer[] references
11249 the new buffer.
11250
11251 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
11252
11253 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
11254 the doc string.
11255
11256 2000-08-07 Kenichi Handa <handa@etl.go.jp>
11257
11258 * syntax.c (skip_chars): Fix previous change. Make the handling
11259 of unibyte string consistent with that of regex search.
11260
11261 2000-08-05 Gerd Moellmann <gerd@gnu.org>
11262
11263 * xmenu.c (popup_get_selection): Use xfree instead of free.
11264
11265 * fileio.c (Finsert_file_contents): Use xfree instead of free.
11266
11267 * editfns.c (Ftranspose_regions): Use xfree instead of free.
11268
11269 * callproc.c (child_setup): Use xfree instead of free.
11270
11271 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
11272 instead of malloc.
11273 (run_mac_command, closedir): Use `xfree' instead of `free'.
11274
11275 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
11276
11277 * eval.c (error): Use xfree instead of free.
11278
11279 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
11280
11281 * fns.c: Replace `illegal' with `invalid'.
11282 (Fmake_hash_table, make_hash_table): Allow table size of 0.
11283
11284 2000-08-05 Kenichi Handa <handa@etl.go.jp>
11285
11286 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
11287 conversion.
11288
11289 2000-08-04 Noah Friedman <friedman@splode.com>
11290
11291 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
11292 docstring.
11293
11294 2000-08-04 Gerd Moellmann <gerd@gnu.org>
11295
11296 * syntax.c (skip_chars): Fix typo in error message.
11297
11298 2000-08-04 Andreas Schwab <schwab@suse.de>
11299
11300 * m/ia64.h: Moved from s/ia64.h.
11301
11302 2000-08-04 Kenichi Handa <handa@etl.go.jp>
11303
11304 * process.c (read_process_output): Big simplification. Handle
11305 composition and post-read-conversion of coding system correctly.
11306 (send_process): Handle composition correctly.
11307
11308 * callproc.c (Fcall_process): Handle post-read-conversion of
11309 coding system if any.
11310
11311 * coding.c (decode_coding_iso2022): More strict check for handling
11312 single shifting.
11313 (coding_restore_composition): Pay attention to the case that
11314 cmp_data is not set properly (because of invalid code in the
11315 source text).
11316 (run_pre_post_conversion_on_str): Include text properties in the
11317 resulting string.
11318 (decode_coding_string): Set members of coding correctly.
11319
11320 2000-08-03 Gerd Moellmann <gerd@gnu.org>
11321
11322 * s/ia64.h: New file.
11323
11324 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
11325 Use NULL instead of 0 at the end of variable argument list of
11326 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
11327 sizeof (int) < sizeof (void *).
11328
11329 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
11330 of variable argument lists of XtVaGetValues and XtVaSetValues.
11331
11332 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
11333 variable argument lists of XtVaGetValues and XtVaSetValues.
11334
11335 2000-08-02 Gerd Moellmann <gerd@gnu.org>
11336
11337 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
11338 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
11339
11340 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
11341 prototype.
11342
11343 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
11344 in call to Fsingle_key_description.
11345
11346 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
11347 Callers changed.
11348
11349 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
11350
11351 * window.c (display_buffer_reuse_frames): New variable.
11352 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
11353 frames displaying BUFFER.
11354 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
11355
11356 2000-08-01 Miles Bader <miles@gnu.org>
11357
11358 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
11359 when to constrain NEW_POS (they were pretty screwed up before).
11360
11361 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
11362
11363 * msdos.c (run_msdos_command): Save and restore the master
11364 environment, for the case that child_setup signals an error.
11365 When mirroring slashes in DOS shell commands, don't fail when
11366 argv[2] has embedded blanks.
11367 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
11368 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
11369 (dos_ttraw): Call mouse_setup_buttons.
11370
11371 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
11372 using alloca; free it after run_msdos_command returns.
11373
11374 2000-07-27 Dave Love <fx@gnu.org>
11375
11376 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
11377 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
11378
11379 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
11380
11381 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
11382
11383 * editfns.c (lisp_time_argument): Fix last change.
11384
11385 2000-07-27 Gerd Moellmann <gerd@gnu.org>
11386
11387 * fns.c (Fdelete): Make it work on vectors and strings in addition
11388 to lists.
11389
11390 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
11391 (syms_of_fns): Initialize new variables.
11392 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
11393 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
11394 weakness, with t meaning the same as `key-and-value'.
11395
11396 2000-07-27 Kenichi Handa <handa@etl.go.jp>
11397
11398 * coding.h (struct coding_system): Member safe_charset deleted.
11399
11400 * coding.c (Qsafe_charsets): This variable deleted.
11401 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
11402 New variables.
11403 (coding_safe_chars): New function.
11404 (CODING_SAFE_CHAR_P): New macro.
11405 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
11406 checking safe_charsets member of the coding system. Caller changed.
11407 (detect_coding_iso2022): New local variable safe_chars.
11408 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11409 safe_charsets member of the coding system.
11410 (decode_coding_iso2022): New local variable safe_chars.
11411 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11412 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11413 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11414 (ENCODE_UNSAFE_CHARACTER): New macro.
11415 (encode_coding_iso2022): New local variable safe_chars. Check
11416 unsafe chars.
11417 (setup_coding_system): Delete the code to initialize
11418 coding->safe_charses
11419 (intersection, find_safe_codings): New functions.
11420 (Ffind_coding_systems_region_internal): New function.
11421 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11422 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11423 variable and initialize it.
11424
11425 * fns.c (char_table_ref_and_index): New function.
11426
11427 * lisp.h (char_table_ref_and_index): Add prototype.
11428
11429 2000-07-26 Sam Steingold <sds@gnu.org>
11430
11431 * editfns.c (lisp_time_argument): Added third argument `usec'.
11432 (Ffloat_time): New built-in Lisp function.
11433
11434 2000-07-26 Gerd Moellmann <gerd@gnu.org>
11435
11436 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11437 for the character code.
11438
11439 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11440 GNU/Linux.
11441
11442 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11443 if called for a popup menu.
11444 (xmenu_show): Store help string in widget values.
11445
11446 2000-07-26 Dave Love <fx@gnu.org>
11447
11448 * syswait.h: Move some definitions.
11449 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11450 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11451 perspicuous definitions.
11452 (WTERMSIG): Fix bit pattern used.
11453
11454 2000-07-26 Kenichi Handa <handa@etl.go.jp>
11455
11456 * print.c (print_object): If vector printing is truncated, print
11457 "..." to indicate it as well as the case of list printing.
11458
11459 2000-07-25 Gerd Moellmann <gerd@gnu.org>
11460
11461 * xdisp.c (next_element_from_display_vector): Improve comments.
11462
11463 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11464 for the character code, and the rest for the face id as in 20.x.
11465 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11466
11467 * window.c (window_display_table): Cleaned up.
11468
11469 * syntax.c (Fforward_word): Add last arg nil in call of
11470 Fconstrain_to_field.
11471
11472 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11473
11474 * fileio.c (Frename_file) [DOS_NT]: If the file names are
11475 identical but for the letter-case, don't call
11476 barf_or_query_if_file_exists.
11477
11478 2000-07-25 Miles Bader <miles@gnu.org>
11479
11480 * editfns.c (find_field): Honor special `boundary' fields.
11481 (Qboundary): New variables.
11482 (syms_of_editfns): Initialize Qboundary.
11483 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11484 Use scan_buffer instead of find_before_next_newline, because it
11485 allows us to detect the boundary case where there's a newline at
11486 the search limit.
11487 * lisp.h (Fconstrain_to_field): Update external declaration.
11488
11489 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11490
11491 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11492 if that is nil.
11493
11494 2000-07-24 Dave Love <fx@gnu.org>
11495
11496 * s/sunos4-0.h, s/sol2.h:
11497 (LIBS_TERMCAP): Move from m/sparc.h.
11498
11499 * m/sparc.h (TERMINFO): Moved to system files (probably only
11500 relevant for sunos4 judging by its vintage).
11501 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11502 __arch64__.
11503
11504 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11505
11506 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11507 name to single_keymap_panes.
11508
11509 2000-07-24 Andreas Schwab <schwab@suse.de>
11510
11511 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11512
11513 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11514
11515 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11516 parameters instead of using int parameters. Expect FN to accept
11517 EMACS_INT parameters.
11518 (display_echo_area, resize_echo_area_axactly, current_message)
11519 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11520 with new argument list.
11521 (resize_mini_window_1): New callback function.
11522 (current_message_1, truncate_message_1, set_message_1): Change
11523 parameter lists to the new format expected by with_echo_area_buffer.
11524
11525 2000-07-24 Kenichi Handa <handa@etl.go.jp>
11526
11527 * fontset.c (fontset_ref): Remove INLINE declaration.
11528 (fontset_ref_via_base): Likewise.
11529 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11530 to downcase.
11531
11532 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11533
11534 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11535 correct order of priority. If help echo was found in an overlay,
11536 use that overlay as the object in which the help echo was found.
11537
11538 2000-07-22 Miles Bader <miles@gnu.org>
11539
11540 * textprop.c (Fprevious_single_char_property_change): The initial
11541 property value should be from the position preceding POSITION, not
11542 following it.
11543
11544 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11545
11546 * coding.c (syms_of_coding): Doc fix for
11547 inhibit-iso-escape-detection.
11548
11549 2000-07-21 Gerd Moellmann <gerd@gnu.org>
11550
11551 * xterm.c (note_mouse_highlight): Process overlays in the right
11552 order of priority.
11553
11554 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11555
11556 * xterm.c (note_mouse_highlight): If help-echo was found in an
11557 overlay, use that overlay as the object in which the help was found.
11558
11559 * window.c (foreach_window_1): Fix typo reversing an if-condition.
11560
11561 * window.c (foreach_window): Instead of a fake variable argument
11562 list, take one USER_DATA argument.
11563 (foreach_window_1): Likewise, and call callback functions with two
11564 args, the window and USER_DATA.
11565 (struct check_window_data): New struct.
11566 (check_window_containing): Use it.
11567 (window_from_coordinates): Set up a struct check_window_data for
11568 foreach_window.
11569 (add_window_to_list, freeze_window_start): Change parameters
11570 according to new calling convention.
11571
11572 * window.h (foreach_window): Change prototype.
11573
11574 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
11575
11576 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
11577
11578 * xmenu.c (menu_help_callback): Call show_help_echo with
11579 additional arguments OBJECT and POS.
11580
11581 2000-07-21 Kenichi Handa <handa@etl.go.jp>
11582
11583 * data.c (Faset): Allow storing any multibyte character in a
11584 string. Convert unibyte string to multibyte if necessary.
11585
11586 * xfns.c (x_encode_text): New function.
11587 (x_set_name): Use x_encode_text.
11588 (x_set_title): Likewise.
11589
11590 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
11591
11592 * xterm.h (x_encode_text): Add prototype.
11593
11594 2000-07-20 Dave Love <fx@gnu.org>
11595
11596 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
11597 xfree, not free.
11598
11599 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
11600
11601 * msdos.c (help_echo_window): New variable.
11602 (syms_of_msdos): Initialize and staticpro it.
11603 (IT_note_mode_line_highlight): Set help_echo_window.
11604 (IT_note_mouse_highlight): Ditto.
11605 (dos_rawgetc): Store help_echo_window in the second event produced
11606 for HELP_EVENTs.
11607
11608 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
11609 Record the object that generated the help echo and the position of
11610 that object in help_echo_object and help_echo_pos. Record that
11611 some glyphs in a row are displayed in mouse-face.
11612 (IT_update_begin): Don't clear mouse highlight unless one of the
11613 enabled glyph rows is marked as being displayed in mouse-face.
11614 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
11615 and position recorded in help_echo_object and help_echo_pos to the
11616 event queue.
11617 (IT_menu_display): Accept a new argument PN: the pane number of
11618 the current menu pane. Record the pane number and the item
11619 number of the item which has associated help string.
11620 (XMenuActivate): Update the prototype for help_callback in
11621 function declaration. Call IT_menu_display with the current menu
11622 pane number as an additional argument. Call help_callback with
11623 two additional arguments: the pane number and the item number of
11624 the menu item associated with the help text.
11625 (help_echo_object, help_echo_pos): New variables.
11626 (syms_of_msdos): Initialize them and staticpro help_echo_object.
11627
11628 * msdos.h (XMenuActivate): Update prototype.
11629
11630 2000-07-19 Gerd Moellmann <gerd@gnu.org>
11631
11632 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
11633 Add some more prototypes.
11634
11635 * xterm.c, xterm.h: Add some more prototypes.
11636
11637 * lisp.h (Fnext_single_char_property_change): Add prototype.
11638
11639 * dispnew.c (direct_output_for_insert): Remove confusing
11640 outer local variable mouse_face_overwritten_p.
11641 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
11642
11643 * alloc.c (allocate_string_data): Don't copy old string contents.
11644
11645 2000-07-19 Kenichi Handa <handa@etl.go.jp>
11646
11647 * coding.c (code_convert_region): Delete text properties before
11648 shrinking the conversion region.
11649
11650 2000-07-18 Gerd Moellmann <gerd@gnu.org>
11651
11652 * dispnew.c (update_text_area): Write the whole row if it
11653 has mouse-face in it.
11654
11655 * xfaces.c (face-alternative-font-family-alist): Remove
11656 DEFVAR_LISP; staticpro instead.
11657
11658 * xmenu.c (menu_help_callback): Call show_help_echo with
11659 new arguments.
11660
11661 * keyboard.c (show_help_echo): Add parameter WINDOW.
11662 (read_char): Call show_help_echo with window extracted from Lisp
11663 help event.
11664 (gen_help_event): Add parameter WINDOW.
11665
11666 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
11667
11668 * xterm.c (help_echo_window): New variable.
11669 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
11670 (XTread_socket): Pass help_echo_window to gen_help_event.
11671 (syms_of_xterm): Initialize and staticpro help_echo_window.
11672
11673 2000-07-18 Dave Love <fx@gnu.org>
11674
11675 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
11676
11677 2000-07-18 Gerd Moellmann <gerd@gnu.org>
11678
11679 * alloc.c (allocate_string_data): If string had already data
11680 assigned, copy old contents to new string data.
11681
11682 * coding.c (syms_of_coding): Fix typo in spelling of variable
11683 `inhibit-iso-escape-detection'.
11684
11685 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
11686
11687 * Makefile.in: Add dependencies on dispextern.h.
11688 (alloca.o): Don't define malloc and define EMACS_FREE instead of
11689 `free'; both can conflict with system header files.
11690
11691 2000-07-18 Kenichi Handa <handa@etl.go.jp>
11692
11693 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
11694 undefined.
11695
11696 2000-07-18 Dave Love <fx@gnu.org>
11697
11698 * window.c (Fwindow_list): Declare arg `window'.
11699
11700 2000-07-18 Kenichi Handa <handa@etl.go.jp>
11701
11702 * coding.c (setup_coding_system): Don't override the explicitly
11703 specified designations.
11704
11705 2000-07-15 Miles Bader <miles@gnu.org>
11706
11707 * editfns.c (char_property_eq, char_property_stickiness): Renamed
11708 from `text_property_eq' and `text_property_stickiness', respectively.
11709 (find_field, Fconstrain_to_field, char_property_eq)
11710 (char_property_stickiness): Changed to call char-property functions
11711 instead of text-property-only ones.
11712
11713 * textprop.c (Fnext_single_char_property_change): Made a subr (was
11714 `next_single_char_property_change'). Do more error checking, and
11715 cleanup limit behavior.
11716 (Fprevious_single_char_property_change): New function.
11717 (syms_of_textprop): Initialize new subrs.
11718
11719 * xdisp.c (display_prop_end, invisible_text_between_p):
11720 Call Fnext_single_char_property_change instead of
11721 next_single_char_property_change.
11722
11723 2000-07-15 Jason Rumney <jasonr@gnu.org>
11724
11725 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
11726 after menu is finished with.
11727 (add_menu_item): Only consider wv->title as a menu title.
11728 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
11729
11730 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
11731 null title.
11732 (FONT_REGEXP): Remove unused macro, and its sub-components.
11733 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
11734
11735 * w32term.c (help_echo_object, help_echo_pos): New variables.
11736 (note_mode_line_highlight): Store additional information about the
11737 help-echo in help_echo_object and help_echo_pos. Check both
11738 `local-map' and `keymap' properties for changing the cursor
11739 (note_mouse_highlight): Store additional information about the
11740 help-echo in help_echo_object and help_echo_pos.
11741 (note_tool_bar_highlight): Set help_echo_object to nil and
11742 help_echo_pos to -1.
11743 (w32_read_socket): Use gen_help_event instead of filling
11744 input_events manually.
11745 (syms_of_w32term): Staticpro help_echo_object.
11746 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
11747 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
11748 (x_clear_mouse_face): New function.
11749 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
11750 (x_update_window_begin): No need to turn off the mouse
11751 highlight here.
11752 (show_mouse_face): Set the mouse_face_p flag of glyph rows
11753 depending on whether they contain glyphs highlighted in mouse-face.
11754 (x_fill_stretch_glyph_string): Consume runs of stretch
11755 glyphs instead of a single one.
11756 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11757 with new argument list.
11758 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11759 (x_append_glyph, x_append_composite_glyph)
11760 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11761 changes in struct glyph starting 1999-12-27. See comments for
11762 xterm.c on 2000-07-05.
11763
11764 2000-07-14 Sam Steingold <sds@gnu.org>
11765
11766 * xfaces.c (realize_x_face): Fix the last patch:
11767 check `default_face' before dereferencing.
11768
11769 2000-07-14 Dave Love <fx@gnu.org>
11770
11771 * syntax.c (back_comment): Add null default in switch (for pcc).
11772
11773 2000-07-14 Kenichi Handa <handa@etl.go.jp>
11774
11775 * xfaces.c (realize_x_face): Make fontset using the base of the
11776 default_face's fontset, not using the default fontset.
11777
11778 * coding.c (inhibit_iso_escape_detection): New variable.
11779 (syms_of_coding): Make it a Lisp variable.
11780 (detect_coding_iso2022): If inhibit_iso_escape_detection is
11781 nonzero, ignore ISO2022's escape sequence.
11782
11783 2000-07-14 Gerd Moellmann <gerd@gnu.org>
11784
11785 * alloca.c (malloc) [emacs]: Define as xmalloc.
11786
11787 * xfns.c (Fx_show_tip): If frame parameters contain a position,
11788 use that instead of the mouse position. Add parameters DX and DY.
11789
11790 * dispextern.h (Fx_show_tip): Adjust number of parameters
11791 in prototype.
11792
11793 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
11794 if HELP is a function, call it with OBJECT and POS as parameters
11795 to get the help to display.
11796 (gen_help_event, kbd_buffer_store_help_event): New functions.
11797 (kbd_buffer_get_event): Construct the Lisp help-event differently.
11798 (read_char): Call show_help_echo with new parameters.
11799
11800 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
11801 Add prototypes.
11802
11803 * xterm.c (help_echo_object, help_echo_pos): New variables.
11804 (note_mode_line_highlight): Store additional information about the
11805 help-echo in help_echo_object and help_echo_pos. Check both
11806 `local-map' and `keymap' properties for changing the cursor
11807 (note_mouse_highlight): Store additional information about the
11808 help-echo in help_echo_object and help_echo_pos.
11809 (note_tool_bar_highlight): Set help_echo_object to nil and
11810 help_echo_pos to -1.
11811 (XTread_socket): Use gen_help_event instead of filling
11812 input_events manually.
11813 (syms_of_xterm): Staticpro help_echo_object.
11814
11815 * xmenu.c (menu_highlight_callback): Use
11816 kbd_buffer_store_help_event instead of setting up and input_event
11817 structure manually.
11818
11819 * xdisp.c (eval_form): GCPRO argument sexpr.
11820 (call_function): New function.
11821 (handle_single_display_prop): Use call_function and FUNCTIONP
11822 instead of checking whether if font_height is a symbol and
11823 using eval_form.
11824
11825 * eval.c (internal_condition_case_2): New function.
11826
11827 * lisp.h (FUNCTIONP): New macro.
11828 (internal_condition_case_2, call_function): Add prototypes.
11829
11830 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
11831 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
11832 Always set `arg' member of input_events.
11833 (construct_menu_click): Unused function removed.
11834
11835 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
11836
11837 * w32term.c (construct_mouse_click, construct_mouse_wheel)
11838 (construct_drag_n_drop, x_scroll_bar_handle_click)
11839 (w32_read_socket): Always set `arg' member of input_events.
11840
11841 * keyboard.c (show_help_echo): Use eval_form. Add comment.
11842
11843 * lisp.h (eval_form): Add prototype.
11844
11845 * xdisp.c (eval_form): Make it externally visible.
11846
11847 2000-07-13 Gerd Moellmann <gerd@gnu.org>
11848
11849 * xterm.c (x_handle_tool_bar_click): Store the frame in the
11850 frame_or_window slot of TOOL_BAR_EVENT input events instead of
11851 consing. For prefix events, store the frame in the `arg' slot of
11852 the event, otherwise store the key there.
11853 (XTread_socket): Instead of consing, use the frame_or_window slot
11854 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
11855
11856 * xmenu.c (menu_highlight_callback): Store help string in the
11857 `arg' member of the input event; don't cons.
11858 (menubar_selection_callback): Use the `arg' slot of input events
11859 to queue additional information, instead of consing.
11860
11861 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
11862
11863 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
11864 TOOL_BAR_EVENTs.
11865 (w32_read_socket): Adapt to changes in HELP_EVENTs.
11866
11867 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
11868 input events to queue additional information, instead of consing.
11869
11870 * keyboard.c (kbd_buffer_gcpro): Renamed from
11871 kbd_buffer_frame_or_window. Now used for all Lisp objects
11872 referenced from the input queue.
11873 (kbd_buffer_store_event): Always use structure assignment for
11874 copying input events. Record all Lisp objects referenced from
11875 events in kbd_buffer_gcpro.
11876 (kbd_buffer_get_event): Construct Lisp `help-echo' events
11877 differently from input events. Test for prefix menu_bar_events
11878 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
11879 event in kbd_buffer_gcpro to nil.
11880 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
11881 frame_or_window is equal to its arg member as prefix events.
11882 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
11883 used by an input event to nil.
11884 (init_keyboard): Use two times the size of the input queue
11885 for kbd_buffer_gcpro.
11886 (syms_of_keyboard): Likewise.
11887
11888 * emacs.c (handle_USR2_signal, handle_USR1_signal):
11889 Use USER_SIGNAL_EVENT.
11890
11891 * termhooks.h (struct input_event): Add member `arg'.
11892 (MENU_BAR_EVENT): Renamed from menu_bar_event.
11893 (USER_SIGNAL_EVENT): Renamed from user_signal.
11894
11895 * xfaces.c (ASET): Remove definition.
11896
11897 * lisp.h (AREF, ASET, ASIZE): New macros.
11898
11899 * fontset.c (AREF, ASIZE): Remove definitions.
11900
11901 * fns.c (AREF): Remove definition.
11902
11903 * composite.c (AREF): Remove definition.
11904
11905 2000-07-12 Gerd Moellmann <gerd@gnu.org>
11906
11907 * dispnew.c (redraw_overlapped_rows): Add missing local.
11908 (scrolling_window): Remove debug code.
11909
11910 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
11911 Before scrolling, turn off a mouse-highlight in the window
11912 being scrolled.
11913
11914 * xterm.c (x_update_window_end): Add parameter
11915 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
11916 redisplay in XTframe_up_to_date.
11917 (x_clear_mouse_face): New function.
11918 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
11919
11920 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11921 current glyph row.
11922 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11923 it when any row is written to that contains glyphs highlighted in
11924 mouse-face.
11925 (update_window): Call the window update end hook with new
11926 parameter MOUSE_FACE_OVERWRITTEN_P.
11927 (direct_output_for_insert): Give up if row contains mouse-face.
11928
11929 * dispextern.h (struct redisplay_interface): Add parameter
11930 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11931 (clear_mouse_face): New function pointer member.
11932
11933 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11934
11935 * syntax.c (back_comment): Use one switch rather than a few `if's.
11936 Obey open_paren_in_column_0_is_defun_start.
11937 When reverting to the `slow' method, try to nicely handle the case
11938 of nested comments by checking that the comment-starter we found
11939 does indeed match the comment-ender.
11940 (scan_sexps_forward, scan_sexps_forward):
11941 Ignore excessive opening parenthesis rather than throwing an error.
11942
11943 2000-07-11 Gerd Moellmann <gerd@gnu.org>
11944
11945 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11946 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11947
11948 * dispnew.c (direct_output_forward_char): Give up if currently
11949 displaying a message instead of the minibuffer contents.
11950
11951 * xterm.c (x_update_window_begin): No need to turn off the mouse
11952 highlight here.
11953 (show_mouse_face): Set the mouse_face_p flag of glyph rows
11954 depending on whether they contain glyphs highlighted in mouse-face.
11955
11956 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11957 compare the mouse_face_p flags of both rows.
11958
11959 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11960
11961 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11962
11963 * keyboard.c (show_help_echo): Accept additional parameter
11964 ok_to_overwrite_keystroke_echo.
11965 (read_char): Call show_help_echo with a zero
11966 ok_to_overwrite_keystroke_echo argument.
11967 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
11968 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11969 ok_to_overwrite_keystroke_echo argument.
11970 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11971 non-zero ok_to_overwrite_keystroke_echo argument.
11972
11973 2000-07-10 Gerd Moellmann <gerd@gnu.org>
11974
11975 * xdisp.c (try_window_id): If changes are all below what is
11976 displayed in the window, and point is in the window, we still
11977 might have to find point on the display.
11978
11979 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11980 glyphs instead of a single one.
11981 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11982 with new argument list.
11983 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11984
11985 * keymap.c (get_keymap_1): Add comment that this function can GC.
11986 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11987 comment that functions can GC.
11988 (Fset_keymap_parent): GCPRO arg KEYMAP.
11989
11990 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11991
11992 * msdos.c (XMenuActivate): After exiting the menu, restore the
11993 echo area message and erase it.
11994
11995 2000-07-10 Kenichi Handa <handa@etl.go.jp>
11996
11997 * fontset.c (Ffontset_info): Make the return value more compatible
11998 with that of Emacs 20.
11999
12000 2000-07-07 Gerd Moellmann <gerd@gnu.org>
12001
12002 * eval.c (Fsignal): Handle case that backtrace_list is null.
12003
12004 2000-07-07 Kenichi Handa <handa@etl.go.jp>
12005
12006 * ccl.c (Fccl_execute): Typo fixed.
12007
12008 2000-07-06 Gerd Moellmann <gerd@gnu.org>
12009
12010 * window.c (window_loop): Add missing gcpro1 local variable.
12011
12012 * window.c (Fwindow_list): Reverse list at the end.
12013 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
12014 means allow windows on OWINDOW's frame, only.
12015 (window_loop): Simplified; use Fwindow_list.
12016
12017 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
12018
12019 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12020
12021 * xterm.c (XTread_socket): Increment handling_signal at the start,
12022 decrement it at the end.
12023
12024 * eval.c (handling_signal): New variable.
12025 (Fsignal): Abort if handling_signal is non-zero.
12026
12027 * lisp.h (handling_signal): External declaration.
12028
12029 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
12030
12031 2000-07-05 Ken Raeburn <raeburn@gnu.org>
12032
12033 Sound support for NetBSD through "Linux emulation" support:
12034 * config.in (HAVE_SOUNDCARD_H): Undef.
12035 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
12036 * Makefile.in (LIBSOUND): New variable.
12037 (LIBES): Include it.
12038 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
12039 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
12040 (vox_open): Use DEFAULT_SOUND_DEVICE.
12041 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
12042
12043 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12044
12045 * print.c (print_error_message): If Vsignaling_function is set,
12046 show it in *Messages*.
12047
12048 * lisp.h (Vsignaling_function): External declaration.
12049
12050 * eval.c (Vsignaling_function): New variable.
12051 (Fsignal): Compute it.
12052 (syms_of_eval): Staticpro it.
12053
12054 2000-07-05 Dave Love <fx@gnu.org>
12055
12056 * syswait.h: Use the autoconf recommended approach. Old code
12057 #if'd out in case we need to revert.
12058
12059 * config.in (HAVE_SYS_WAIT_H): Added.
12060
12061 2000-07-05 Andrew Innes <andrewi@gnu.org>
12062
12063 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
12064 when non-NULL instead of __morecore, to take account of buffer
12065 memory. This also solves a problem with spurious memory warnings
12066 on Windows.
12067
12068 * ralloc.c: Make real_morecore non-static.
12069
12070 * eval.c (internal_condition_case): Comment out abort if
12071 interrupt_input_blocked is not zero.
12072
12073 * makefile.nt: Add support for `bootstrap' and related targets.
12074 Include minimal debug info in emacs.exe in release build.
12075 Remove all dependencies on lisp.h, and fixup some others.
12076
12077 * w32.c (init_environment): Install code from 20.7 for providing
12078 default values for environment variables, based on the
12079 executable's own location.
12080 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
12081 (sys_socket): Install socket inheritance bug fix from 20.7.
12082
12083 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
12084 here via blockinput.h).
12085
12086 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
12087
12088 * w32menu.c (w32_menu_display_help):
12089 * xmenu.c (menu_help_callback): Use show_help_echo.
12090
12091 * keyboard.h (show_help_echo): Declare.
12092
12093 * keyboard.c (show_help_echo): New function, extracted from read_char.
12094 Feval its `msg' argument if it's a cons cell.
12095 (read_char): Use it.
12096 (follow_key): Pass `autoload' to get_keyelt.
12097
12098 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
12099 (note_tool_bar_highlight, XTread_socket):
12100 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
12101 (dos_rawgetc):
12102 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
12103 (note_tool_bar_highlight, w32_read_socket):
12104 Do not gratuitously ignore non-string `help-echo' properties.
12105
12106 2000-07-05 Gerd Moellmann <gerd@gnu.org>
12107
12108 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
12109
12110 * window.c (delete_all_subwindows): Reset Vwindow_list.
12111
12112 * xterm.c (x_append_glyph, x_append_composite_glyph)
12113 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
12114 changes in struct glyph starting 1999-12-27. Some bit-fields of
12115 struct glyph were not set, which made glyphs unequal when compared
12116 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
12117 effects were the result. This also depended on the contents of
12118 memory returned by xmalloc. If flickering happens again, activate
12119 the code in clear_glyph_row that's in #if 0. If the flickering is
12120 gone with that, chances are that it is caused by something similar.
12121
12122 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
12123
12124 * dispextern.h: Add some comments.
12125
12126 * window.c (add_window_to_list): Add parameter LIST.
12127 (window_list): Order list so that, for each frame, windows are
12128 in canonical order, and so that frames appear in the list in
12129 the order given by Vframe_list.
12130 (next_window): Reverse the handling of NEXT_P.
12131
12132 2000-07-04 Gerd Moellmann <gerd@gnu.org>
12133
12134 * window.c (Vwindow_list): New variable.
12135 (make_window, delete_window): Set Vwindow_list to nil.
12136 (check_window_containing): New function.
12137 (window_from_coordinates): Rewritten.
12138 (add_window_to_list, window_list, candidate_window_p)
12139 (decode_next_window_args, next_window): New functions.
12140 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
12141 (Fwindow_list): New function.
12142 (Fother_window): Cleaned up.
12143 (foreach_window): Add a longer "variable argument list". Let
12144 callback function return 0 to indicate that cycling over windows
12145 should stop.
12146 (foreach_window_1): Likewise.
12147 (freeze_window_start): Return int.
12148 (init_window): New function.
12149 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
12150
12151 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
12152 input_event with bzero.
12153 (main): Call init_window.
12154
12155 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
12156 a menu filter.
12157
12158 2000-07-04 Kenichi Handa <handa@etl.go.jp>
12159
12160 * composite.h (make_composition_value_copy): Extern it.
12161
12162 * composite.c (make_composition_value_copy): New function.
12163
12164 * editfns.c (Fformat): While copying text properties, make each
12165 composition property value a copy.
12166
12167 * fns.c (concat): While copying text properties, make each
12168 composition property value a copy.
12169
12170 2000-07-03 Gerd Moellmann <gerd@gnu.org>
12171
12172 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
12173
12174 * fns.c (sweep_weak_table): Mark only objects that are not
12175 marked already.
12176
12177 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
12178 include those frames as candidates which have their focus
12179 redirected to the minibuffer frame.
12180
12181 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
12182
12183 * fns.c (Fputhash): Return `value' rather than nil.
12184
12185 2000-06-30 Gerd Moellmann <gerd@gnu.org>
12186
12187 * frame.c (next_frame): Don't check focus redirection in case
12188 MINIBUF is a window. Doing so excludes frames using MINIBUF
12189 unless their focus is redirected, which contradicts the
12190 specification of next-frame, and leads to infinite loops in
12191 certain situations when cycling through windows with next-window.
12192
12193 2000-06-30 Kenichi Handa <handa@etl.go.jp>
12194
12195 * coding.c (code_convert_region): Even if the length of text is
12196 zero, try to convert it if coding->type is coding_type_ccl.
12197 (decode_coding_string, encode_coding_string): Likewise.
12198
12199 2000-06-28 Gerd Moellmann <gerd@gnu.org>
12200
12201 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
12202 the display if windows_or_buffers_changed.
12203
12204 * dispnew.c (struct row_entry): New structure.
12205 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
12206 (row_table_size, old_lines, new_lines, old_lines_size)
12207 (new_lines_size, run_pool, runs_size, runs): New variables.
12208 (add_row_entry): New function.
12209 (scrolling_window): Use data structures allocated with xmalloc and
12210 held in global variables, instead of allocating them with alloca and
12211 holding them in local variables. Use a larger hash table whose
12212 size depends on glyph matrix sizes. Don't use bzero to clear the
12213 hash table; instead, clear used slots only.
12214
12215 * fns.c (next_almost_prime): Make it externally visible.
12216
12217 * lisp.h (next_almost_prime): Add prototype.
12218
12219 * s/isc4-0.h (sigunblock): Define.
12220
12221 * s/sco5.h (sigunblock): Define.
12222
12223 2000-06-27 Dave Love <fx@gnu.org>
12224
12225 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
12226 (moved to osf5-0.h).
12227 [!NOT_C_CODE]: Protect string.h stuff.
12228
12229 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
12230 (sys_siglist, NSIG): Definitions moved here from osf1.h.
12231
12232 2000-06-27 Gerd Moellmann <gerd@gnu.org>
12233
12234 * xdisp.c (resize_mini_window): Subtract the extra line spacing
12235 below the last line from the needed window height.
12236
12237 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
12238
12239 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
12240 (Fwidget_get): Use it.
12241 (syms_of_fns): Defsubr it.
12242
12243 2000-06-26 Gerd Moellmann <gerd@gnu.org>
12244
12245 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
12246 display info for XIM.
12247 (xim_open_dpy): Likewise.
12248 (xim_close_dpy): Don't free the display info's XIM.
12249
12250 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
12251
12252 * config.in (USE_XIM): New define.
12253
12254 * keymap.c (get_keyelt): For menu-items containing a `:filter
12255 FILTER', apply FILTER to the menu-item's definition to get the
12256 real definition to use.
12257
12258 * lisp.h (QCfilter): External declaration.
12259
12260 * xfns.c (Fimage_size): New function.
12261 (syms_of_xfns): Defsubr it.
12262
12263 2000-06-26 Andreas Schwab <schwab@suse.de>
12264
12265 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
12266 Fstring_as_unibyte.
12267
12268 2000-06-25 Dave Love <fx@gnu.org>
12269
12270 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
12271
12272 * Makefile.in (blockinput.h): Depend on atimer.h.
12273 (atimer.h): Depend on systime.h.
12274
12275 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
12276
12277 * atimer.h: Protect against multiple inclusion. Include systime.h.
12278
12279 * lisp.h (swap_in_global_binding): Declare.
12280
12281 2000-06-24 Ken Raeburn <raeburn@gnu.org>
12282
12283 * process.c (Fopen_network_stream): Turn off atimers for duration
12284 of call to connect. (Patch from Gerd.)
12285
12286 2000-06-23 Dave Love <fx@gnu.org>
12287
12288 * ralloc.c: Maybe include unistd.h
12289
12290 * emacs.c (setgrp): Undefine before defining.
12291 (malloc_warning, set_time_zone_rule, index): Prototype.
12292
12293 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
12294 HAVE_STRUCT_TIMEZONE.
12295
12296 * s/osf1.h: Move string.h hack here from alpha.h and make it
12297 conditional.
12298 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
12299 _XOPEN_SOURCE.
12300 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
12301 (SOCKLEN_TYPE): Don't define.
12302
12303 * m/alpha.h: Remove string.h hack.
12304
12305 * s/osf5-0.h: New file.
12306
12307 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
12308 include time.h, done by systime.h.
12309 [__FreeBSD__]: Remove redundant includes.
12310
12311 * callproc.c (setpgrp): Undefine before defining.
12312 (delete_temp_file): Return Qnil to avoid warning.
12313
12314 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
12315
12316 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
12317 HAVE_X_WINDOWS.
12318
12319 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
12320
12321 * composite.h (compose_text): Declare.
12322
12323 * xterm.c: Don't include sys/types.h unconditionally. Don't
12324 protect its inclusion with !USG (following xmenu.c).
12325
12326 2000-06-23 Gerd Moellmann <gerd@gnu.org>
12327
12328 * xfns.c (x_create_tip_frame): Initialize frame's colors like
12329 in x_create_frame.
12330
12331 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
12332
12333 * coding.c (decode_eol_post_ccl): Special handling for undecided
12334 and inconsistent EOL types.
12335
12336 2000-06-22 Gerd Moellmann <gerd@gnu.org>
12337
12338 * xrdb.c (x_load_resources): Add default resource for scroll bar's
12339 trough color and main window's background color.
12340
12341 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
12342
12343 * xterm.h (Xt_app_con): External declaration.
12344
12345 * widget.c (EmacsFrameRealize): Fix typo.
12346
12347 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
12348
12349 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
12350 (handle_invisible_prop): Record the start of invisible text in
12351 it->add_overlay_start.
12352 (struct overlay_entry): Add member `overlay'.
12353 (handle_overlay_change): Simplify.
12354 (next_overlay_string): After having processed overlay strings at the
12355 end of the buffer, record that fact in
12356 it->overlay_strings_at_end_processed_p.
12357 (compare_overlay_entries): If before- and after-strings come
12358 from the same overlay, let before-strings come first.
12359 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
12360 (load_overlay_strings): Take it->add_overlay_start into account
12361 when adding overlay strings.
12362
12363 * dispextern.h (struct it): Add member add_overlay_start.
12364
12365 2000-06-22 Dave Love <fx@gnu.org>
12366
12367 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
12368
12369 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
12370
12371 2000-06-22 Kenichi Handa <handa@etl.go.jp>
12372
12373 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
12374 is greater than 0.
12375
12376 2000-06-21 Dave Love <fx@gnu.org>
12377
12378 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
12379
12380 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
12381
12382 * syntax.c (back_comment): Simplify string-parity counting (with
12383 the added benefit of handling multiple string-styles as long as
12384 they are not intertwined).
12385 Jump to the slow code as soon as a comment starter is found in
12386 a "string_lossage" position. Fixes the case: " /* " /* " */.
12387
12388 2000-06-21 Dave Love <fx@gnu.org>
12389
12390 * Makefile.in: Use GETLOADAVG_LIBS.
12391
12392 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
12393 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
12394
12395 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12396
12397 * syntax.c (describe_syntax): Recognize the `n'estable bit.
12398 (Fforward_comment, scan_lists):
12399 Check the comstyle of single-char comment-starters.
12400 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
12401 we're just at the beginning of the comment (f.ex with (*) ... (*)).
12402 Check the comstyle of single-char comment-starters.
12403 Clarify control-flow around the Scomment case.
12404
12405 2000-06-20 Dave Love <fx@gnu.org>
12406
12407 * fns.c (make_hash_table, maybe_resize_hash_table):
12408 Cast arg of next_almost_prime.
12409
12410 * tparam.c [emacs]: Include lisp.h.
12411
12412 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12413 and unistd.h.
12414
12415 2000-06-20 Gerd Moellmann <gerd@gnu.org>
12416
12417 * keyboard.c (adjust_point_for_property): Check if display
12418 property should be treated as intangible by looking at its value.
12419
12420 * xdisp.c (single_display_prop_intangible_p)
12421 (display_prop_intangible_p): New functions.
12422
12423 * dispextern.h (display_prop_intangible_p): Add prototype.
12424
12425 * xdisp.c (dump_glyph_row): Show type of glyph->object.
12426
12427 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12428 argument to sigprocmask.
12429
12430 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12431 argument to sigprocmask.
12432
12433 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12434 sigprocmask_set, and pass a pointer to it to sigprocmask.
12435
12436 * sysdep.c (sigprocmask_set): New variable.
12437
12438 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12439 report_file_error.
12440
12441 2000-06-20 Sam Steingold <sds@gnu.org>
12442
12443 * xrdb.c: Don't declare xmalloc, xrealloc.
12444
12445 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12446
12447 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12448 (re_comp): Cast gettext return value to avoid complaints when
12449 !HAVE_LIBINTL.
12450
12451 2000-06-20 Dave Love <fx@gnu.org>
12452
12453 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
12454
12455 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
12456
12457 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
12458
12459 * m/alpha.h: Don't declare xmalloc, xrealloc.
12460
12461 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12462
12463 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12464
12465 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12466
12467 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12468 HAVE_GETWD.
12469
12470 * keyboard.h (poll_for_input_1): Declare.
12471
12472 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12473
12474 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12475
12476 * doprnt.c: Don't declare xmalloc, xrealloc.
12477
12478 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12479 (getenv, ctime, getwd): Removed.
12480 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12481
12482 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12483 x_set_tool_bar_lines.
12484
12485 * config.in: Add HAVE_GETWD. Move some definitions above
12486 machine/system includes.
12487
12488 2000-06-20 Kenichi Handa <handa@etl.go.jp>
12489
12490 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12491
12492 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12493 contain information about ENCODING.
12494
12495 * fontset.c (FONTSET_ASCII): Use the first element of char table
12496 for an ASCII font, not defalt slot.
12497 (fontset_ref_via_base): If FONTSET doesn't contain information for
12498 C, try the default fontset.
12499 (make_fontset): Don't copy the default fontset.
12500 (fontset_font_pattern): Likewise.
12501 (accumulate_font_info): If ELT is nil, use the corresponding
12502 element in the default fontset.
12503
12504 2000-06-19 Dave Love <fx@gnu.org>
12505
12506 * syntax.c (Fparse_partial_sexp): Doc fix.
12507
12508 * regex.h: Test PROTOTYPES as well as __STDC__.
12509
12510 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12511 errno, strerror. Put text after #endif in comment.
12512
12513 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
12514
12515 * xterm.c (x_frame_of_widget): Likewise.
12516
12517 2000-06-19 Gerd Moellmann <gerd@gnu.org>
12518
12519 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12520 to Vfundamental_mode_abbrev_table.
12521
12522 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12523 bogus objects are marked. This slows down GC by ~80 percent, but
12524 it might be worth trying when debugging GC-related problems.
12525 This feature requires conservative stack marking to be enabled.
12526
12527 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12528 returns XLookupChars, reset `modifiers' to zero.
12529
12530 2000-06-19 Dave Love <fx@gnu.org>
12531
12532 * mktime.c: Unprotoized.
12533
12534 2000-06-19 Richard Stallman <rms@gnu.org>
12535
12536 * data.c (set_internal): If variable is frame-local,
12537 store the new value immediately into the frame parameter alist.
12538
12539 2000-06-19 Ken Raeburn <raeburn@gnu.org>
12540
12541 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12542 in the custom handler pointer.
12543
12544 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12545 value, or checks for CHAR_META can fail when Lisp_Object is a
12546 union type.
12547 * keymap.c (get_keyelt): Likewise.
12548
12549 2000-06-19 Kenichi Handa <handa@etl.go.jp>
12550
12551 * ccl.h (struct ccl_program): New member eol_type.
12552 (struct ccl_spec): New member cr_carryover.
12553
12554 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12555 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12556
12557 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12558 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12559 (decode_eol_post_ccl): New function.
12560 (decode_coding): Don't detect EOL format here for CCL based coding
12561 systems.
12562 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
12563 decode_eol_post_ccl after running the CCL program.
12564 (code_convert_region): Don't detect EOL format here for CCL based
12565 coding systems.
12566 (decode_coding_string): Likewise.
12567
12568 2000-06-18 Ken Raeburn <raeburn@gnu.org>
12569
12570 * charset.c (update_charset_table): Use XINT on "iso_final_char"
12571 when treating it as an integer.
12572
12573 * coding.h (encode_coding_string): Declare.
12574
12575 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
12576 it as an integer.
12577
12578 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
12579 "xkeymap" to avoid shadowing the "enum map_type" value that needs
12580 to be passed to get_local_map.
12581
12582 * sound.c (Fplay_sound): Don't call make_number on
12583 Frun_hook_with_args count argument.
12584
12585 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
12586 for lisp objects in X event structure data field, when lisp
12587 objects are represented with unions.
12588 (x_scroll_bar_to_input_event): Ditto.
12589
12590 2000-06-16 Ken Raeburn <raeburn@gnu.org>
12591
12592 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
12593 termination of string. Fix sense of test whether
12594 Vline_number_display_limit is an integer.
12595
12596 2000-06-16 Gerd Moellmann <gerd@gnu.org>
12597
12598 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
12599 only if HAVE_X_WINDOWS.
12600
12601 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
12602 of titles.
12603
12604 * dispnew.c (update_frame_1): Handle case that cursor vpos is
12605 out of bounds.
12606
12607 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
12608
12609 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
12610 of its headers.
12611
12612 2000-06-15 Kenichi Handa <handa@etl.go.jp>
12613
12614 * coding.c (decode_coding_emacs_mule): Always set src_base at the
12615 start of the while loop.
12616
12617 2000-06-15 Gerd Moellmann <gerd@gnu.org>
12618
12619 * atimer.c (alarm_signal_handler): Add forward declaration.
12620
12621 * data.c (set_internal): Remove debug code.
12622
12623 2000-06-14 Gerd Moellmann <gerd@gnu.org>
12624
12625 * Makefile.in (bootstrap-temacs): Add `-I../src'.
12626
12627 * unexec.c (toplevel) [COFF]: Include coff.h.
12628
12629 * s/lynxos.h: New file.
12630
12631 * keymap.c (Fsingle_key_description): Enclose function key and
12632 event symbol names in angle brackets.
12633
12634 * xdisp.c (setup_echo_area_for_printing): Call
12635 message_log_maybe_newline if message_buf_print is not set.
12636
12637 * print.c (printchar, strout): Don't check message_buf_print
12638 before calling setup_echo_area_for_printing because that
12639 function does something useful even when message_buf_print is
12640 already set.
12641
12642 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
12643 New variables.
12644 (ensure_echo_area_buffers): Initialize echo buffer's
12645 truncate lines setting to nil.
12646 (with_echo_area_buffer): Don't set the echo buffer's truncate
12647 lines setting here.
12648 (set_message_1): Set it here instead, based on the value
12649 of message_truncate_lines.
12650 (resize_mini_window): Handle case that lines are truncated.
12651 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
12652 DEFVAR_BOOL message-truncate-lines.
12653
12654 * keyboard.c (read_char): Bind message-truncate-lines to t
12655 while displaying a help-echo.
12656
12657 * lisp.h (Qmessage_truncate_lines): External declaration.
12658
12659 2000-06-13 Gerd Moellmann <gerd@gnu.org>
12660
12661 * xdisp.c (Vline_number_display_limit): Renamed from
12662 line_number_display_limit.
12663 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
12664 Extend documentation string. Initialize
12665 Vline_number_display_limit to nil meaning no limit.
12666 (decode_mode_spec): Use Vline_number_display_limit with its new
12667 meaning.
12668
12669 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
12670
12671 2000-06-13 Richard Stallman <rms@gnu.org>
12672
12673 * frame.c (Fmodify_frame_parameters): Doc fix.
12674
12675 * xfns.c (x_set_frame_parameters): Comment fix.
12676
12677 * frame.c (store_frame_param): Call swap_in_global_binding if the
12678 variable's current binding was chosen based on this frame.
12679
12680 * data.c (swap_in_global_binding): New function.
12681
12682 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12683
12684 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
12685 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
12686
12687 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12688
12689 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
12690
12691 2000-06-12 Jason Rumney <jasonr@gnu.org>
12692
12693 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
12694
12695 * w32.h (EMACS_W32_H): Renamed from _NT_H_
12696
12697 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
12698
12699 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
12700
12701 2000-06-12 Gerd Moellmann <gerd@gnu.org>
12702
12703 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
12704 (syms_of_xfaces): Defsubr Sdump_colors.
12705 (x_free_colors): Don't treat b&w specially on default visual.
12706 (x_free_dpy_colors): New function.
12707 (free_face_colors): Don't check visual class; it's done
12708 in x_free_colors.
12709
12710 * xterm.c (x_frame_of_widget): New function.
12711 (x_alloc_nearest_color_for_widget): Use it.
12712 (x_copy_dpy_color): New function.
12713 (x_destroy_window): Free various colors.
12714
12715 2000-06-12 Kenichi Handa <handa@etl.go.jp>
12716
12717 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
12718
12719 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
12720
12721 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
12722
12723 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
12724
12725 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
12726
12727 2000-06-11 Dave Love <fx@gnu.org>
12728
12729 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
12730
12731 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
12732
12733 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
12734
12735 2000-06-11 Gerd Moellmann <gerd@gnu.org>
12736
12737 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
12738 to `XEvent *'.
12739
12740 2000-06-10 Kenichi Handa <handa@etl.go.jp>
12741
12742 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
12743 (regex_compile): Fix the code for handling the case of single byte
12744 char and multibyte char being mixed in a range within [...].
12745
12746 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
12747 and dst_multibyte members of coding.
12748
12749 * charset.c (update_charset_table): Update the table
12750 bytes_by_char_head.
12751 (init_charset_once): Initialize elements of bytes_by_char_head to
12752 1 except for leading codes for private charases.
12753
12754 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
12755 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
12756
12757 2000-06-09 Ken Raeburn <raeburn@gnu.org>
12758
12759 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
12760 access the data it doesn't point to.
12761
12762 2000-06-08 Gerd Moellmann <gerd@gnu.org>
12763
12764 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
12765 will be translated to a switch-frame event when reading the
12766 event queue. This is necessary because Emacs otherwise won't
12767 perform a switch-frame to a new frame until some other event, for
12768 example a keystroke event, forces it to do so. This has various
12769 effects, one visible being that the cursor of a frame created with
12770 C-x 5 2 or switched to with a window manager key binding like
12771 A-TAB stays hollow because selected_window isn't on the newly
12772 focused frame until the switch-frame is performed.
12773
12774 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
12775 generating a switch-frame event if necessary.
12776
12777 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
12778
12779 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
12780 it's an integer.
12781
12782 2000-06-08 Kenichi Handa <handa@etl.go.jp>
12783
12784 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
12785
12786 2000-06-07 Gerd Moellmann <gerd@gnu.org>
12787
12788 * window.c (displayed_window_lines): Take empty lines at
12789 the bottom of a window into account.
12790
12791 * window.c (displayed_window_lines): New function.
12792 (Fmove_to_window_line): Use displayed_window_lines to determine
12793 the number of lines to move, instead of using the window's height.
12794
12795 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
12796 to stop reading, even if the form read sets point to a different
12797 value when evaluated.
12798
12799 * xdisp.c (display_line): Fix code deciding in which line to
12800 put the cursor.
12801
12802 2000-06-07 Kenichi Handa <handa@etl.go.jp>
12803
12804 * fileio.c (e_write): Free composition data if stored in
12805 coding->cmp_data.
12806
12807 2000-06-06 Gerd Moellmann <gerd@gnu.org>
12808
12809 * xdisp.c (display_line): Set row's and iterator's
12810 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
12811 Set cursor even if row ends in the middle of a character.
12812 (dump_glyph_row): Print values of new flags.
12813 (redisplay_window) <cursor movement in unchanged window>: When
12814 point has been moved forward, and PT is at the end of the cursor
12815 row, don't place the cursor in the next row if the cursor row ends
12816 in the middle of a character or at ZV.
12817
12818 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
12819 (struct glyph_row): Add starts_in_middle_of_char_p and
12820 ends_in_middle_of_char_p.
12821 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
12822 ends_in_middle_of_char_p flag.
12823 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
12824
12825 * term.c (append_glyph): Revert change of 2000-06-06.
12826
12827 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
12828 padding glyph not fitting on line as whole character not
12829 fitting on line.
12830
12831 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
12832 this isn't true for images with `:ascent 100'.
12833
12834 2000-06-06 Kenichi Handa <handa@etl.go.jp>
12835
12836 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
12837 as modified if it is originally unmodified.
12838
12839 * term.c (encode_terminal_code): Change the way to check if
12840 terminal coding does any conversion.
12841 (append_glyph): Set glyph->pixel_width correctly.
12842
12843 * xdisp.c (display_line): While checking line continuation, pay
12844 attention to a padding glyph.
12845
12846 2000-06-05 Gerd Moellmann <gerd@gnu.org>
12847
12848 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
12849
12850 2000-06-05 Dave Love <fx@gnu.org>
12851
12852 * xdisp.c: Include fontset.h.
12853
12854 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
12855
12856 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12857
12858 * dispnew.c: Conditionally include term.h.
12859
12860 * coding.h: Declare code_convert_string_norecord.
12861
12862 * frame.h (struct frame): Use volatile unconditionally.
12863
12864 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
12865
12866 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
12867
12868 * systime.h: Protect against multiple inclusion.
12869 (timezone) [USG5_4]: Define as time_t.
12870
12871 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12872 (Foptimize_char_table, make_temp_name): Declare.
12873
12874 * Makefile.in (xdisp.o): Depend on fontset.h.
12875
12876 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12877
12878 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12879 (Foptimize_char_table, make_temp_name): Declare.
12880
12881 * s/irix4-0.h:
12882 * s/irix5-0.h:
12883 * s/netbsd.h: Don't define autoconfiscated MATHERR.
12884
12885 2000-06-02 Dave Love <fx@gnu.org>
12886
12887 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
12888
12889 2000-06-02 Gerd Moellmann <gerd@gnu.org>
12890
12891 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
12892 result face, set flags in that face indicating that colors may not
12893 be freed.
12894
12895 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
12896 glyph, use the ASCII NUL character to determine the face.
12897
12898 2000-06-02 Dave Love <fx@gnu.org>
12899
12900 * sysdep.c: Conditionally include stdlib.h, unistd.h.
12901 (VFORK_RETURN_TYPE): Remove.
12902
12903 * config.in: Add NO_MATHERR.
12904
12905 2000-06-01 Dave Love <fx@gnu.org>
12906
12907 * cmds.c (internal_self_insert): Don't check
12908 Vbefore_change_function, Vafter_change_function.
12909
12910 * insdel.c (signal_before_change, signal_after_change): Likewise.
12911
12912 * buffer.c (Vbefore_change_function, Vafter_change_function):
12913 Variables and their initializations deleted.
12914
12915 * callint.c (Fcall_interactively): Doc fix.
12916
12917 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
12918
12919 2000-05-31 Dave Love <fx@gnu.org>
12920
12921 * textprop.c: Revert last change -- duplicated.
12922
12923 2000-05-31 Gerd Moellmann <gerd@gnu.org>
12924
12925 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12926 in #if 0.
12927
12928 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12929
12930 2000-05-31 Jason Rumney <jasonr@gnu.org>
12931
12932 * search.c (Fre_search_forward, Fre_search_backward)
12933 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12934
12935 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12936
12937 2000-05-30 Jason Rumney <jasonr@gnu.org>
12938
12939 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12940 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12941
12942 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
12943
12944 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12945 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12946 expand a nil default_filename.
12947
12948 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12949 pointer to glyph_to_pixel_coords, not a frame.
12950
12951 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12952 coding.h to dependencies.
12953
12954 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12955
12956 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12957 window pointer to be consistent with w32term.c and xterm.c.
12958
12959 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12960 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12961 (Qline_spacing, Qcenter): New variables.
12962 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12963 (x_set_line_spacing): New function.
12964 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
12965 (x_specified_cursor_type): New function.
12966 (x_set_cursor_type): Use it.
12967 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12968 and icon strings.
12969 (validate_x_resource_name, x_get_resource_string): Measure lengths
12970 of external strings in bytes.
12971 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12972 GetTextExtentPoint32 with NULL title.
12973 (Fx_create_frame): Initialize Qline_spacing.
12974 (w32_load_system_font): Initialize font->double_byte_p.
12975 (x_to_w32_charset): Use Vw32_charset_info_alist.
12976 (Image, busy cursor, tooltip functions): Merged changes from
12977 xfns.c. Not yet functional on Windows.
12978
12979 * w32gui.h (W32FontStruct): Add double_byte_p member.
12980
12981 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12982 (emacs_button_translation): Use it.
12983 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12984 in `mask' to be set.
12985
12986 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12987 menu strings.
12988
12989 * w32term.c: Format and doc changes to bring closer to xterm.c.
12990 (w32_char_font_type): New enum.
12991 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12992 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12993 (w32_encode_char): New function.
12994 (x_encode_char): Removed.
12995 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12996 x_encode_char and w32_font_is_double_byte.
12997 (x_produce_image_glyph): Use image_ascent.
12998 (x_produce_glyphs): Use new version of w32_per_char_metric and
12999 handle NULL return value. Allow extra line spacing.
13000 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
13001 (w32_get_glyph_overhangs): Remove unicode_p param. Use
13002 w32_font_type member of glyph instead.
13003 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
13004 (fast_find_position): Make sure not to consider rows not visible
13005 in the window.
13006 (w32_read_socket) [WM_MENUSELECT]: Cannot call
13007 w32_menu_display_help with input blocked, as it can abort.
13008 (x_display_and_set_cursor): Choose cursor depending
13009 on buffer-local value of cursor_type.
13010 (x_draw_bar_cursor): Add parameter WIDTH.
13011
13012 * w32term.h (CP_DEFAULT): Define.
13013 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
13014
13015 2000-05-30 Gerd Moellmann <gerd@gnu.org>
13016
13017 * search.c (Fre_search_forward, Fre_search_backward)
13018 (Fposix_search_backward, Fposix_search_forward): Doc fix.
13019
13020 2000-05-30 Kenichi Handa <handa@etl.go.jp>
13021
13022 * coding.c (detect_coding_iso2022): Fix code for checking
13023 CODING_CATEGORY_MASK_ISO_8_2.
13024
13025 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
13026
13027 * regex.c (PREFETCH_NOLIMIT): New function.
13028 (re_match_2_internal): Use it and adjust the end_match_2 logic.
13029
13030 2000-05-29 Gerd Moellmann <gerd@gnu.org>
13031
13032 * syntax.c (find_defun_start): Move test for
13033 open_paren_in_column_0_is_defun_start outside of the loop.
13034
13035 * xdisp.c (redisplay_window): Really switch buffers when
13036 displaying mode lines, and temporarily set selected_frame to the
13037 frame of the window that's redisplayed.
13038
13039 * xfaces.c (free_realized_faces): Block/unblock input.
13040 (free_realized_multibyte_face): Ditto.
13041
13042 2000-05-29 Dave Love <fx@gnu.org>
13043
13044 * textprop.c (Qkeymap): New variable.
13045 (syms_of_textprop): Intern it.
13046
13047 * keymap.c: Include intervals.h.
13048 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
13049
13050 * Makefile.in (keymap.o): Depend on intervals.h.
13051
13052 * keyboard.c (menu_bar_items, tool_bar_items)
13053 (Fexecute_extended_command): Deal with `keymap' property.
13054 (read_key_sequence): Track map from `keymap' property as well as
13055 `local_map'.
13056
13057 * intervals.c (get_local_map): Extra arg to allow looking for
13058 `keymap' too.
13059
13060 * intervals.h (map_property): New enum.
13061 (get_local_map): Extra arg using it.
13062 (Qkeymap): Declare.
13063
13064 * lisp.h (get_local_map): Don't declare here.
13065
13066 2000-05-29 Kenichi Handa <handa@etl.go.jp>
13067
13068 * Makefile.in (callproc.o): Depend on composite.h.
13069
13070 * callproc.c: Include composite.h.
13071 (Fcall_process): Handle composition correctly.
13072
13073 * coding.h (coding_allocate_composition_data): Extern it.
13074 (coding_restore_composition): Likewise.
13075
13076 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
13077 yet allocated, finish decoding with result
13078 CODING_FINISH_INSUFFICIENT_CMP.
13079 (coding_allocate_composition_data): Make it non-static.
13080 (coding_restore_composition): Likewise.
13081
13082 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
13083
13084 * charset.c (syms_of_charset): Revert last change.
13085
13086 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13087
13088 * term.c (produce_glyphs): Treat characters from the eight-bit-*
13089 charsets as unibyte, with 1-column screen width. Sent by Kenichi
13090 Handa.
13091
13092 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
13093
13094 * charset.c (syms_of_charset): Set width of character sets
13095 eight-bit-control and eight-bit-graphic to 1 column.
13096
13097 2000-05-26 Gerd Moellmann <gerd@gnu.org>
13098
13099 * config.in (HAVE_SPEED_T): New define.
13100
13101 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
13102 `extern speed_t'.
13103
13104 2000-05-26 Dave Love <fx@gnu.org>
13105
13106 * coding.c (shrink_decoding_region): Initialize eol_conversion.
13107
13108 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
13109 (Fsubr_arity): New function.
13110 (syms_of_data): Install them.
13111
13112 2000-05-26 Kenichi Handa <handa@etl.go.jp>
13113
13114 * charset.c (init_charset_once): Set the table bytes_by_char_head
13115 correctly.
13116
13117 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
13118 the default fontset to what Emacs uses by default.
13119 (check_registry_encoding): This function deleted.
13120 (Fset_fontset_font): Remove the adhoc condition for the default
13121 fontset. Allow cons in FONTNAME.
13122
13123 * fns.c (map_char_table): Ignore char-table entries for
13124 charsets eight-bit-control and eight-bit-graphic.
13125
13126 2000-05-25 Ken Raeburn <raeburn@gnu.org>
13127
13128 * emacs.c (main): Initialize keyboard syms before initializing
13129 window code, so face names are available.
13130
13131 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
13132
13133 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
13134 of an anchor at the beginning of a shy-group.
13135
13136 2000-05-25 Gerd Moellmann <gerd@gnu.org>
13137
13138 * xdisp.c (handle_invisible_prop): Don't try to skip over
13139 invisible text if end of text is already reached.
13140
13141 2000-05-25 Dave Love <fx@gnu.org>
13142
13143 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
13144
13145 * coding.c (encode_eol): Add null statement after label.
13146
13147 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
13148
13149 * w16select.c (Fw16_set_clipboard_data): Fix the change from
13150 2000-05-20.
13151
13152 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13153
13154 * ccl.c (ccl_driver): Fix previous change.
13155
13156 2000-05-25 Kenichi Handa <handa@etl.go.jp>
13157
13158 * coding.c (run_pre_post_conversion_on_str): Set point to the
13159 beginning of buffer before calling coding->post_read_conversion.
13160 (decode_coding_string): Give correct args to
13161 run_pre_post_conversion_on_str.
13162 (encode_coding_string): Likewise.
13163
13164 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
13165 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
13166 eight-bit-graphic correctly.
13167
13168 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
13169
13170 * fileio.c (Finsert_file_contents): Even if a file is not found,
13171 execute codes for setting up coding system. Call
13172 after-insert-file-functions unconditionally.
13173
13174 2000-05-24 Gerd Moellmann <gerd@gnu.org>
13175
13176 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
13177 BSD_PGRPS are not defined.
13178
13179 2000-05-24 Kenichi Handa <handa@etl.go.jp>
13180
13181 * charset.c (update_charset_table): Accept nil in LONG_NAME and
13182 DESCRIPTION.
13183 (syms_of_charset): Avoid building same strings.
13184
13185 2000-05-23 Gerd Moellmann <gerd@gnu.org>
13186
13187 * lread.c (Fload): Add a comment about the meaning of
13188 Vuser_init_file being t.
13189
13190 * puresize.h (BASE_PURESIZE): Increase to 675000.
13191
13192 * s/gnu-linux.h (setpgrp): Don't define it here because this
13193 prevents compilation on GNU/Linux systems with glib 2.2.
13194
13195 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
13196 as setpgid.
13197
13198 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
13199
13200 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
13201 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
13202 version.
13203 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
13204
13205 2000-05-23 Kenichi Handa <handa@etl.go.jp>
13206
13207 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13208
13209 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
13210
13211 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
13212
13213 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
13214
13215 2000-05-22 Kenichi Handa <handa@etl.go.jp>
13216
13217 * keyboard.c (read_char): Allow character codes 128..255 to be
13218 handled by input-method-function.
13219
13220 * insdel.c (adjust_markers_for_replace): Fix previous change.
13221 (adjust_after_replace): If PREV_TEXT is nil, call
13222 adjust_markers_for_insert, not adjust_markers_for_replace.
13223
13224 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
13225
13226 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
13227 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
13228 [HAVE_GRANDPT]: Define.
13229 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
13230
13231 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
13232 like SYSV_PTYS.
13233
13234 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
13235
13236 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
13237
13238 2000-05-20 Kenichi Handa <handa@etl.go.jp>
13239
13240 The following changes are to handle 8-bit characters in a
13241 multibyte buffer/string without facing with byte combining
13242 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
13243 eight-bit-graphic (for 0xA0..0xFF) are introduced.
13244
13245 * Makefile.in (fns.o): Depend on charset.h.
13246
13247 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
13248 convert it to unibyte.
13249 (make_string): Use parse_str_as_multibyte, not chars_in_text.
13250
13251 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
13252 apparent char boundary.
13253 (Fset_buffer_multibyte): Convert 8-bit characters in the range
13254 0x80..0x9F to/from multibyte form.
13255
13256 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
13257 to unibyte.
13258
13259 * callproc.c (Fcall_process): Always encode an argument string if
13260 it is multibyte. Setup src_multibyte and dst_multibyte members of
13261 process_coding properly.
13262
13263 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
13264 SPLIT_NON_ASCII_CHAR.
13265
13266 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
13267 as is.
13268 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
13269
13270 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
13271 (SPLIT_CHARACTER_SEQ): This macro deleted.
13272 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
13273 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
13274 and eight-bit-graphic.
13275 (char_to_string): Likewise. Signal an error for too large
13276 character code.
13277 (char_printable_p): Return 0 for 8-bit characters.
13278 (update_charset_table): Update iso_charset_table only when a final
13279 character is non-negative.
13280 (find_charset_in_text): Renamed from find_charset_in_str.
13281 Arguments and return value changed. Callers changed.
13282 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
13283 be -1 if CHARSET is used only internally.
13284 (Fmake_char_internal): Handle new charsets; eight-bit-control and
13285 eight-bit-graphic.
13286 (Fcharset_after): Simplified.
13287 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
13288 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
13289 (multibyte_chars_in_text): Simplified by assuming there's no
13290 invalid multibyte sequence.
13291 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13292 (str_as_unibyte): New functions.
13293 (Fstring): Simpified by assuming that byte combining never happens.
13294 (init_charset_once): Initialization for
13295 LEADING_CODE_8_BIT_CONTROL.
13296 (syms_of_charset): Intern and staticpro Qeight_bit_control and
13297 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
13298 eight-bit-control and eight-bit-graphic.
13299
13300 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
13301 (CHARSET_8_BIT_GRAPHIC): New macros.
13302 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
13303 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
13304 (CHARSET_REVERSE_CHARSET): Likewise.
13305 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
13306 eight-bit-graphic.
13307 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
13308 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
13309 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
13310 encounter an invalid multibyte sequence.
13311 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
13312 sequence is always valid.
13313 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
13314 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
13315 (CHAR_STRING): For 8-bit characters, call char_to_string.
13316 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
13317 multibyte sequence is always valid.
13318 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
13319 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
13320 (str_as_unibyte): Extern them.
13321 (BCOPY_SHORT): Fix a bug.
13322 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
13323 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
13324 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
13325 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
13326
13327 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
13328 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
13329 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
13330 (EMIT_BYTES): New macros.
13331 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
13332 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
13333 macros deleted.
13334 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
13335 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
13336 check the validity of multibyte sequence.
13337 (decode_coding_emacs_mule): New function.
13338 (encode_coding_emacs_mule): New macro.
13339 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
13340 the source.
13341 (DECODE_ISO_CHARACTER): Just return a character code.
13342 (DECODE_COMPOSITION_START): Set coding->result instead of result.
13343 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
13344 EMIT_CHAR to produced decoded characters. Exit the loop only by
13345 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
13346 block here.
13347 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
13348 only position codes for an invalid character.
13349 (encode_designation_at_bol): Return new destination pointer. 5th
13350 arg DSTP is changed to DST.
13351 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
13352 from the source by ONE_MORE_CHAR. Don't handle the case of last
13353 block here.
13354 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
13355 macros deleted.
13356 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
13357 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
13358 TWO_MORE_BYTES to fetch a byte from the source.
13359 (encode_eol): Pay attention to coding->src_multibyte.
13360 (detect_coding, detect_eol): Preserve members src_multibyte and
13361 dst_multibyte.
13362 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
13363 (encoding_buffer_size): Set magnification to 3 for all coding
13364 systems that require encoding.
13365 (ccl_coding_driver): For decoding, be sure that the result is
13366 valid multibyte sequence.
13367 (decode_coding): Initialize coding->errors and coding->result.
13368 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
13369 and raw-text, always call decode_eol. Handle the case of last
13370 block here. If not coding->dst_multibyte, convert the resulting
13371 sequence to unibyte.
13372 (encode_coding): Initialize coding->errors and coding->result.
13373 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
13374 and raw-text, always call encode_eol. Handle the case of last
13375 block here.
13376 (shrink_decoding_region, shrink_encoding_region): Detect cases
13377 that we can't skip data more rigidly.
13378 (code_convert_region): Setup src_multibyte and dst_multibyte
13379 members of coding. For decoding, if the buffer is multibyte,
13380 convert the source sequence to unibyte in advance. For encoding,
13381 if the buffer is multibyte, convert the resulting sequence to
13382 multibyte afterward.
13383 (run_pre_post_conversion_on_str): New function.
13384 (code_convert_string): Deleted and divided into the following two.
13385 (decode_coding_string, encode_coding_string): New functions.
13386 (code_convert_string1, code_convert_string_norecord): Call one of
13387 above.
13388 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
13389 MAKE_NON_ASCII_CHAR.
13390 (Fset_terminal_coding_system_internal)
13391 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
13392 and dst_multibyte members.
13393 (init_coding_once): Initialize iso_code_class with new enum
13394 ISO_control_0 and ISO_control_1.
13395
13396 * coding.h (enum iso_code_class_type): Member ISO_control_code is
13397 devided into ISO_control_0 and ISO_control_1.
13398 (struct coding_system): New members src_multibyte, dst_multibyte,
13399 errors, and result. Delete member fake_multibyte.
13400 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
13401 nonzero.
13402 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
13403 nonzero.
13404
13405 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13406 (Faset): Likewise.
13407
13408 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13409 multibyte form.
13410 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13411 combining occurs.
13412 (Ftranspose_region): Delete codes for handling byte combining.
13413
13414 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13415 dst_multibyte members of coding. On handling REPLACE on unibyte
13416 buffer, convert the result of decode_coding to unibyte. On
13417 inserting into a mutibyte buffer, always call code_convert_region.
13418 (e_write): Setup coding->src_multibyte according to the
13419 multibyteness of the source (buffer or string).
13420
13421 * fns.c (concat): Handle 8-bit characters correctly.
13422 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13423 unibyte in the result.
13424 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13425 valid multibyte form in the result.
13426 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13427 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13428 return -1, signal an error.
13429 (base64_encode_1): New arg MULTIBYTE. Get each character by
13430 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13431 character is found, return -1.
13432 (Fbase64_decode_region): Delete codes for handling byte-combining.
13433 Treat each decoded byte as a unibyte character.
13434 (Fbase64_decode_string): Return unibyte string.
13435 (Fcompare_strings, concat, string_byte_to_char): Use
13436 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13437 FETCH_STRING_CHAR_ADVANCE.
13438 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13439 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13440
13441 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13442 SPLIT_NON_ASCII_CHAR.
13443 (fontset_ref_via_base, fontset_set): Likewise
13444
13445 * insdel.c (adjust_markers_for_record_delete): Deleted.
13446 (adjust_markers_for_insert): Argument changed. Caller changed.
13447 (adjust_markers_for_replace): Likewise.
13448 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13449 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
13450 (copy_text): Delete unused local varialbe c_save. For converting
13451 to multibyte, be sure to make all 8-bit characters in valid
13452 multibyte form.
13453 (count_size_as_multibyte): Handle 8-bit characters correctly.
13454 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13455 (adjust_after_replace, replace_range, del_range_2)
13456 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
13457 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13458 (adjust_after_replace, replace_range, del_range_2) Delete codes for
13459 handling byte combining.
13460 (adjust_before_replace): Deleted.
13461
13462 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13463 SPLIT_NON_ASCII_CHAR.
13464 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13465 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13466 (Fkey_description): Likewise.
13467
13468 * lread.c (read1): On reading multibyte string, be sure to make
13469 all 8-bit chararacters in valid multibyte form.
13470 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13471
13472 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13473 unconditionally.
13474
13475 * process.c (Fstart_process): GCPRO current_dir before calling
13476 Ffind_operation_coding_system. Encode arguments here.
13477 (create_process): Don't encode arguments here. Setup
13478 src_multibyte and dst_multibyte members of struct coding.
13479 (read_process_output): Setup src_multibyte and dst_multibyte
13480 members of struct coding. If the output is to multibyte buffer,
13481 always decode the output of the process. Adjust the
13482 representation of 8-bit characters to the multibyteness of the output.
13483 (send_process): Setup coding->src_multibyte according to the
13484 multibyteness of the source.
13485
13486 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13487 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13488 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13489
13490 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
13491
13492 * w16select.c (Fw16_set_clipboard_data): Setup members
13493 src_multibyte and dst_multibyte of coding. Adjusted for the
13494 change for find_charset_in_str.
13495 (Fw16_get_clipboard_data): Likewise.
13496
13497 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13498 dst_multibyte of coding.
13499 (x_to_w32_font): Likewise.
13500
13501 * w32select.c (Fw32_set_clipboard_data): Setup members
13502 src_multibyte and dst_multibyte of coding. Adjusted for the
13503 change for find_charset_in_str.
13504 (Fw32_get_clipboard_data): Likewise.
13505
13506 * xdisp.c (get_next_display_element): Handle 8-bit characters
13507 correctly.
13508 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13509 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13510
13511 * xselect.c (selection_data_to_lisp_data): Setup members
13512 src_multibyte and dst_multibyte of coding. Adjusted for the
13513 change for find_charset_in_str.
13514 (lisp_data_to_selection_data): Likewise.
13515
13516 2000-05-19 Gerd Moellmann <gerd@gnu.org>
13517
13518 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
13519
13520 * dispextern.h (Vimage_types): Add extern declaration.
13521
13522 * xdisp.c (Vimage_types): Moved here from xfns.c.
13523 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13524
13525 * xfns.c (Vimages_types): Moved to xdisp.c.
13526 (syms_of_xfns): Move `image-types' to xdisp.c.
13527
13528 * w32fns.c (Vimage_types): Removed.
13529 (syms_of_w32fns): Remove `image-types'.
13530
13531 2000-05-18 Kenichi Handa <handa@etl.go.jp>
13532
13533 * fns.c (map_char_table): Pay attention to character number of
13534 charset. Check the validity of charset at the first level. For
13535 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13536 the default value.
13537
13538 * fontset.c: Include "buffer.h".
13539 (fs_load_font): If the face has fontset, record the face ID in
13540 that fontset.
13541 (Finternal_char_font): New function.
13542 (accumulate_font_info): New function.
13543 (Ffontset_info): Rewritten for the new fontset implementation.
13544 (syms_of_fontset): Register Vdefault_fontset in the first element
13545 of Vfontset_table. Include Vdefault_fontset in
13546 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13547 function.
13548
13549 2000-05-16 Dave Love <fx@gnu.org>
13550
13551 * m/iris5d.h: Deleted -- unused.
13552
13553 2000-05-16 Gerd Moellmann <gerd@gnu.org>
13554
13555 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13556 `invalid' instead of `illegal'.
13557
13558 * indent.c (Fmove_to_column): When ending within a tab, insert
13559 spaces first so that markers at the end of the tab get adjusted.
13560
13561 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13562 buffer list that wasn't selected in that frame.
13563
13564 * filelock.c (get_boot_time): To obtain an 8 char file name, which
13565 is needed on mescaline, use a 2 char prefix, and call
13566 make_temp_name with second arg non-zero.
13567
13568 * fileio.c (make_temp_name): New function, extracted from
13569 Fmake_temp_name.
13570 (Fmake_temp_name): Use it.
13571
13572 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13573
13574 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
13575
13576 2000-05-15 Gerd Moellmann <gerd@gnu.org>
13577
13578 * Makefile.in (lisp): Add env.elc.
13579
13580 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
13581
13582 2000-05-12 Gerd Moellmann <gerd@gnu.org>
13583
13584 * search.c (Freplace_match): Handle case of `\N' in the
13585 replacement when there's no group N.
13586
13587 2000-05-11 Gerd Moellmann <gerd@gnu.org>
13588
13589 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
13590 of the message to message_dolog.
13591
13592 * keyboard.c (read_char): Don't clear current message for help
13593 events; let the code handling help events handle this. Change
13594 code detecting help events that should be ignored.
13595
13596 * xdisp.c (handle_single_display_prop): Don't try to set PT if
13597 we're interating over a string.
13598
13599 2000-05-09 Dave Love <fx@gnu.org>
13600
13601 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
13602 that offset before writing. Move gcpro region past call of
13603 Ffile_regular_p.
13604
13605 2000-05-04 Dave Love <fx@gnu.org>
13606
13607 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
13608
13609 2000-05-04 Gerd Moellmann <gerd@gnu.org>
13610
13611 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
13612 of inserted characters when BUF equals the current buffer, and PT
13613 is in front of or equal to FROM.
13614
13615 2000-05-03 Gerd Moellmann <gerd@gnu.org>
13616
13617 * xdisp.c (handle_single_display_prop): If display property value
13618 is invalid, or something not supported on the frame, restore
13619 iterator's position to what it was initially. Make sure to return
13620 0 for invalid and unsupported property values.
13621
13622 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
13623 that x_per_char_metric returns null.
13624
13625 2000-05-02 Gerd Moellmann <gerd@gnu.org>
13626
13627 * xterm.h (struct face): Add forward declaration.
13628 (struct image): Ditto.
13629 (image_ascent): Add prototype.
13630
13631 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
13632 (x_draw_image_relief, x_draw_image_foreground_1): Call function
13633 image_ascent instead of using IMAGE_ASCENT.
13634
13635 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
13636 (IMAGE_ASCENT): Removed.
13637
13638 * xfns.c (Qcenter): New variable.
13639 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
13640 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
13641 (image_ascent): New function.
13642 (lookup_image): Recognize `:ascent center'.
13643 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
13644 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
13645 (xbm_load): Don't set image's ascent here.
13646 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
13647 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
13648 check ascent values here.
13649 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
13650 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
13651 (syms_of_xfns): Initialize Qcenter.
13652
13653 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
13654 to the limits, increase the limits.
13655
13656 2000-05-01 Kenichi Handa <handa@etl.go.jp>
13657
13658 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
13659 Check Vfont_encoding_alist against the full name of the opened font.
13660
13661 2000-04-28 Gerd Moellmann <gerd@gnu.org>
13662
13663 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
13664 taller than the window.
13665
13666 2000-04-28 Kenichi Handa <handa@etl.go.jp>
13667
13668 * xfaces.c (realize_x_face): Fix the argument of the second
13669 xassert. BASE_FACE may not be a face for ASCII.
13670
13671 2000-04-27 Gerd Moellmann <gerd@gnu.org>
13672
13673 * print.c (print_object): Treat print-length < 0 as nil.
13674
13675 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
13676
13677 * s/freebsd.h (TERMCAP_OBJ): Removed.
13678 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
13679
13680 * lread.c (read1): Don't treat period followed by certain
13681 characters as symbol start.
13682
13683 * xfns.c (slurp_file): New function.
13684 (xbm_image_p): Handle case of in-memory XBM files.
13685 (xbm_scan): Rewritten to work on memory buffers instead of files.
13686 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
13687 Work on memory buffers instead of files. If DATA is null test
13688 if buffer looks like an in-memory XBM file.
13689 (xbm_load_image): Renamed from xbm_load_image_file. Work on
13690 memory buffers instead of files.
13691 (xbm_file_p): New function.
13692 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
13693
13694 * lread.c (end_of_file_error): New function.
13695 (read1): Call it instead of signaling `end-of-file' directly.
13696
13697 * print.c (print_error_message): Print data of `end-of-file'
13698 with Fprinc instead of Fprin1.
13699
13700 2000-04-26 Ken Raeburn <raeburn@gnu.org>
13701
13702 * window.c (freeze_window_start): Check that minibuffer scroll
13703 window isn't nil before extracting the window structure pointer
13704 from it.
13705
13706 * undo.c (record_delete): If we hit the end of the undo list, stop
13707 picking elements apart.
13708
13709 2000-04-26 Gerd Moellmann <gerd@gnu.org>
13710
13711 * xdisp.c (display_line): If lines are continued, restore
13712 iterator's ascent/descent information to the values before the
13713 first glyph not fitting on the line.
13714
13715 2000-04-25 Gerd Moellmann <gerd@gnu.org>
13716
13717 * xdisp.c (try_window_id) <all changes above window start>: Adjust
13718 positions in glyph matrix. Don't compute new window end positions.
13719
13720 * dispnew.c (increment_matrix_positions): Renamed from
13721 increment_glyph_matrix_buffer_positions.
13722 (increment_row_positions): Renamed from
13723 increment_glyph_row_buffer_positions.
13724
13725 * dispextern.h: Change names of renamed functions from dispnew.c
13726 in prototypes.
13727
13728 2000-04-24 Gerd Moellmann <gerd@gnu.org>
13729
13730 * fileio.c (Fdo_auto_save): Create directories for auto-save
13731 list file if necessary.
13732
13733 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
13734 from buffer or frame.
13735 (automatic_hscrolling_p): New variable.
13736 (hscroll_windows): Scroll windows horizontally only if automatic
13737 hscrolling is allowed.
13738 (syms_of_xdisp): New variable `automatic-hscrolling'.
13739
13740 * frame.h (struct frame): Add member extra_line_spacing.
13741
13742 * xfns.c (x_set_line_spacing): New function.
13743 (Fx_create_frame): Set line spacing from resources.
13744 (Qline_spacing): New variable.
13745 (syms_of_xfns): Initialize Qline_spacing.
13746
13747 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
13748
13749 * buffer.c (init_buffer_once): Handle extra_line_spacing.
13750 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
13751 (reset_buffer): Don't initialize extra2 and extra3. Initialize
13752 extra_line_spacing from default value.
13753 (init_buffer_once): Initialize default value of extra_line_spacing.
13754
13755 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
13756 and extra3.
13757
13758 * xterm.c (x_produce_glyphs): Remove reference to struct it's
13759 prompt_width. Add extra line spacing.
13760
13761 * term.c (produce_glyphs): Remove reference to struct it's
13762 prompt_width.
13763
13764 * dispextern.h (struct it): Remove member prompt_width, add
13765 extra_line_spacing.
13766
13767 2000-04-22 Gerd Moellmann <gerd@gnu.org>
13768
13769 * dispnew.c (update_frame_line): When writing a whole line, make
13770 sure cursor is in the right row afterwards, otherwise a use of
13771 capability `ch' in cmgoto might leave the cursor in the row below.
13772
13773 2000-04-21 Gerd Moellmann <gerd@gnu.org>
13774
13775 * lisp.h (struct Lisp_Buffer_Cons): Remove.
13776
13777 * keyboard.c (timer_check): Fix typo in comment.
13778
13779 2000-04-21 Kenichi Handa <handa@etl.go.jp>
13780
13781 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
13782 name change: ch -> character.
13783
13784 2000-04-20 Gerd Moellmann <gerd@gnu.org>
13785
13786 * keyboard.c (echo_message_buffer): New variable.
13787 (echo_now): Set echo_message_buffer to the echo area buffer used
13788 to display the echo.
13789 (cancel_echoing): Reset echo_message_buffer to nil.
13790 (read_char): Code rewritten that handles canceling an echo or
13791 echoing a dash, respectively.
13792
13793 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
13794 directory doesn't exist.
13795
13796 2000-04-19 Dave Love <fx@gnu.org>
13797
13798 * fns.c (syms_of_fns): Defsubr mapc.
13799 (concat): Don't allow numeric args.
13800 (Fconcat): Doc change.
13801
13802 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
13803
13804 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
13805 instead define end_match(1|2) more carefully.
13806 Use GET_CHAR_BEFORE_2 for `begline'.
13807
13808 2000-04-19 Gerd Moellmann <gerd@gnu.org>
13809
13810 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
13811 on 64-bit systems where NULL is defined as `0'.
13812
13813 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
13814 the `variable argument list' to make it work on Alpha.
13815
13816 * m/alpha.h (_LP64) [!_LP64]: Define.
13817 (ORDINARY_LINK): Define for NetBSD.
13818
13819 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
13820
13821 2000-04-19 Dave Love <fx@gnu.org>
13822
13823 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
13824 change.
13825
13826 * Makefile.in (LIBS): Don't use.
13827 (GETLOADAVG_OBJ): Define again.
13828 (otherobj): Add GETLOADAVG_OBJ.
13829
13830 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
13831
13832 2000-04-18 Gerd Moellmann <gerd@gnu.org>
13833
13834 * lread.c (read_filtered_event): Cancel and start busy cursor.
13835
13836 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
13837 that the per-character metrics may be null.
13838
13839 2000-04-17 Gerd Moellmann <gerd@gnu.org>
13840
13841 * buffer.c (clone_per_buffer_values): New function.
13842 (Fmake_indirect_buffer): Add optional argument CLONE. Call
13843 clone_per_buffer_values if CLONE is not nil.
13844
13845 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
13846
13847 2000-04-16 Dave Love <fx@gnu.org>
13848
13849 * Makefile.in: Remove obsolete localcpp stuff.
13850 (GETLOADAVG_OBJ): Don't define.
13851 (obj): Move LIBOBJS...
13852 (otherobj): ... to here.
13853 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
13854 whitespace-only lines after the continuation (Irix).
13855
13856 2000-04-14 Gerd Moellmann <gerd@gnu.org>
13857
13858 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
13859
13860 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
13861
13862 2000-04-14 Dave Love <fx@gnu.org>
13863
13864 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
13865 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
13866 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
13867 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
13868 NLIST_STRUCT.
13869
13870 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
13871 autoconfiscated HAVE_GETLOADAVG.
13872
13873 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
13874 BROKEN_MKTIME.
13875
13876 2000-04-14 Gerd Moellmann <gerd@gnu.org>
13877
13878 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
13879 (fill_in_lock_file_name): Avoid existing files that aren't links.
13880
13881 2000-04-14 Dave Love <fx@gnu.org>
13882
13883 * Makefile.in (LIBS, LIBOBJS): New variable.
13884 (INTERVAL_SRC): Convert to make variable.
13885 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
13886 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
13887 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
13888 add LIBOBJS.
13889 (SOME_MACHINE_OBJECTS): Remove interval stuff.
13890 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
13891 (shortlisp): Add facemenu, float-sup, frame.
13892 (SOME_MACHINE_LISP): Remove them from here.
13893 (LIBES): Change unused LDLIBS to autoconf LIBS.
13894
13895 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
13896
13897 2000-04-14 Kenichi Handa <handa@etl.go.jp>
13898
13899 * composite.c (update_compositions): If FROM and TO are not in a
13900 valid range, do nothing.
13901
13902 2000-04-13 Gerd Moellmann <gerd@gnu.org>
13903
13904 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
13905
13906 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
13907
13908 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
13909 as TERMCAP_OBJ.
13910
13911 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
13912
13913 * fileio.c (a_write): Remove redundant semi-colons.
13914 (e_write): Return -1 if failed to write all the data.
13915 This fixes the changes made at 1999-12-15.
13916
13917 2000-04-12 Dave Love <fx@gnu.org>
13918
13919 * fns.c (mapcar1): Test for null vals to support mapc.
13920 (Fmapc): New function.
13921
13922 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13923
13924 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13925 (IT_frame_up_to_date): Support the buffer local value of
13926 cursor-type, if defined.
13927
13928 2000-04-10 Dave Love <fx@gnu.org>
13929
13930 * editfns.c (preceding-char, following-char): Doc fix.
13931
13932 2000-04-10 Ken Raeburn <raeburn@gnu.org>
13933
13934 * Makefile.in (temacs): Revert 2000-03-12 change.
13935
13936 2000-04-10 Jason Rumney <jasonr@gnu.org>
13937
13938 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13939
13940 2000-04-10 Gerd Moellmann <gerd@gnu.org>
13941
13942 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13943 area buffer, if it's not set up yet.
13944
13945 * indent.c (compute_motion): Set immediate_quit.
13946
13947 2000-04-09 Gerd Moellmann <gerd@gnu.org>
13948
13949 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
13950 (realize_tty_face): Suppress boldness if colors are the inverse of
13951 the default colors, and tty_suppress_bold_inverse_default_colors_p
13952 is set.
13953 (Ftty_suppress_bold_inverse_default_colors): New function.
13954 (syms_of_xfaces): Defsubr it.
13955
13956 * buffer.c (Frestore_buffer_modified_p): New function.
13957 (syms_of_buffer): Defsubr it.
13958
13959 2000-04-08 Ken Raeburn <raeburn@gnu.org>
13960
13961 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13962 charset id (int) argument, not a charset (Lisp_Object).
13963
13964 * coding.h (code_convert_string): Declare.
13965 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13966 object, as the fourth argument to code_convert_string.
13967
13968 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
13969 (Fset_fontset_font): Use EQ to compare lisp objects.
13970
13971 2000-04-05 Ken Raeburn <raeburn@gnu.org>
13972
13973 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13974 a pointer that looks like a lisp object.
13975 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13976 zero, instead see whether it's an integer object, since they can't
13977 have intervals.
13978 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13979
13980 * dispnew.c (allocate_matrices_for_frame_redisplay)
13981 (direct_output_forward_char): Use X(U)INT and make_number as needed
13982 to convert between (unsigned) int values and lisp integers.
13983 * keyboard.c (read_key_sequence): Likewise.
13984 * lread.c (substitute_object_recurse): Likewise.
13985 * fns.c (concat, hash_lookup, hash_remove): Likewise.
13986 * minibuf.c (do_completion, Fminibuffer_complete_word)
13987 (Fminibuffer_completion_help): Likewise.
13988 * term.c (produce_special_glyphs): Likewise.
13989
13990 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13991 * print.c (print_preprocess, print_object): Likewise.
13992
13993 * search.c (compile_pattern): Use NILP when checking for nil.
13994
13995 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13996 __OPTIMIZE__]: Provide a GNU C macro version that handles
13997 lisp-object unions.
13998 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13999 field, to better cope with ENABLE_CHECKING and calls that modify a
14000 Lisp_Object using its old value.
14001
14002 2000-04-04 Gerd Moellmann <gerd@gnu.org>
14003
14004 * window.c (compare_window_configurations): Signal an error
14005 if parameters C1 or C2 aren't window configurations.
14006
14007 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
14008 AFTER_POTENTIAL_GC calls around calls to functions that can
14009 signal an error and thus invoke the debugger.
14010
14011 2000-04-03 Gerd Moellmann <gerd@gnu.org>
14012
14013 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
14014 an error if decoding fails.
14015
14016 * keyboard.c (lispy_mouse_names): Variable removed.
14017 (Vlispy_mouse_stem): New variable.
14018 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
14019 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
14020 for any mouse button number. Increase size of mouse_syms and
14021 button_down_location as needed. Call modify_event_symbol with
14022 different arguments.
14023 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
14024 Call modify_event_symbol with different arguments.
14025 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
14026 for any button number. Call modify_event_symbol with different
14027 arguments.
14028 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
14029 Accept a string for NAME_ALIST_OR_STEM.
14030
14031 * lisp.h (larger_vector): Add prototype.
14032
14033 * fns.c (larger_vector): Make externally visible.
14034
14035 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
14036
14037 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
14038
14039 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
14040 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
14041 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
14042 we are between str1 and str2.
14043 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
14044 (PATFETCH): Use `TRANSLATE'.
14045 (PATFETCH_RAW): Fetch multibyte char if applicable.
14046 (PATUNFETCH): Remove.
14047 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
14048 When writing a char, write it directly into the pattern buffer rather
14049 than going needlessly through a temp char-array.
14050 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
14051 multibyte magic and remove the useless `#ifdef emacs'.
14052 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
14053 buffer.
14054
14055 * regex.h (struct re_pattern_buffer): Make field `multibyte'
14056 conditional on `emacs'.
14057
14058 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
14059
14060 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14061
14062 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
14063 non-union-type versions of XMARK and friends here, because XMARK
14064 and friends won't work on an integer field if NO_UNION_TYPE is not
14065 defined.
14066 (make_number): Define as a function if it's not defined as a macro.
14067
14068 * composite.c (run_composite_function): Use NILP when checking for nil.
14069 (syms_of_composite): Delete local var NARGS, pass an int as first
14070 argument to Fmake_hash_table.
14071
14072 * editfns.c (text_property_stickiness): Use NILP to test
14073 Lisp_Object boolean value.
14074 (Fmessage_or_box): Don't use NILP to test int variable.
14075 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
14076 problems reading from and changing the same lisp value in an
14077 XSETSTRING call.
14078
14079 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14080
14081 * term.c (TN_no_color_video): New variable.
14082 (term_init): Intitialize TN_no_color_video.
14083 (enum no_color_bit): New enumeration.
14084 (MAY_USE_WITH_COLORS_P): New macro.
14085 (turn_on_face): Use it to determine if attributes may be used
14086 combined with colors.
14087
14088 2000-04-01 Ken Raeburn <raeburn@gnu.org>
14089
14090 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
14091 with int lvalues via casts; instead, just yield lisp object lvalues.
14092 (enlarge_window): Variable sizep now points to Lisp_Object. Use
14093 proper accessor macros.
14094 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
14095 (grow_mini_window): Fix typo getting int value of root->height.
14096
14097 * xdisp.c (compute_string_pos): Fix order of arguments to
14098 string_pos_nchars_ahead.
14099 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
14100 count arg to variable-arg routines like Frun_hook_with_args and
14101 Fformat.
14102 (back_to_previous_visible_line_start)
14103 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
14104 fixed-arg routines like Fget_char_property and Fmake_string.
14105 (reconsider_clip_changes): Use XINT when comparing integer lisp
14106 objects, or passing them as int arguments.
14107 (mark_window_display_accurate, insert_left_trunc_glyphs)
14108 (append_space, extend_face_to_end_of_line): Use make_number when
14109 storing or passing integer values as lisp objects.
14110 (set_cursor_from_row, highlight_trailing_whitespace): Use
14111 INTEGERP, not implicit test against zero, for glyph object.
14112 (try_window_id): Don't use make_number when we want an int value.
14113
14114 * xfaces.c (xlfd_symbolic_value): Make last argument a
14115 Lisp_Object, to be consistent with callers.
14116 (Fbitmap_spec_p): Use XINT to get numeric value of height.
14117 (lface_hash): Apply XFASTINT to lisp values before folding in.
14118
14119 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
14120 fill in window width and height. Pass an int, not a lisp object,
14121 as first arg to Finsert.
14122
14123 2000-04-01 Gerd Moellmann <gerd@gnu.org>
14124
14125 * xfaces.c (realize_basic_faces): Block input while realizing
14126 the faces.
14127
14128 * keyboard.c (lispy_mouse_names): Add additional mouse names.
14129
14130 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
14131
14132 2000-03-31 Gerd Moellmann <gerd@gnu.org>
14133
14134 * xterm.c (x_produce_glyphs): When displaying unibyte text
14135 or ASCII, handle case that per-char metric is null.
14136
14137 2000-03-30 Ken Raeburn <raeburn@gnu.org>
14138
14139 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
14140
14141 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
14142 (XSUBR, XBUFFER): Verify correct object type before returning
14143 pointer, using eassert.
14144 * frame.h (XFRAME): Likewise.
14145
14146 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
14147 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
14148 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
14149 * data.c (set_internal): Likewise.
14150 * dispextern.h (WINDOW_WANTS_MODELINE_P)
14151 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
14152 * fileio.c (auto_save_1): Likewise.
14153 * insdel.c (check_markers): Likewise.
14154 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
14155 * undo.c (record_insert): Likewise.
14156 * vmsproc.c (child_sig): Likewise.
14157 * window.c (unshow_buffer, window_loop): Likewise.
14158 * xterm.c (x_erase_phys_cursor): Likewise.
14159
14160 2000-03-30 Gerd Moellmann <gerd@gnu.org>
14161
14162 * xfns.c (free_image_cache): Free the cache structure itself
14163 last, after all its members have been freed.
14164
14165 * lisp.h (xstrdup): Add prototype.
14166
14167 * alloc.c (xstrdup): Moved here from xfaces.c.
14168 (allocating_for_lisp): Variable removed.
14169 (lisp_malloc): Block input around the calls to malloc and mem_insert.
14170
14171 * xfaces.c (realize_tty_face): Use find_symbol_value instead
14172 of Fsymbol_value.
14173 (xstrdup): Moved to alloc.c.
14174
14175 2000-03-29 Ken Raeburn <raeburn@gnu.org>
14176
14177 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
14178
14179 * emacs.c (main): Fix sense of no-loadup test.
14180
14181 * config.in (ENABLE_CHECKING): Undef.
14182
14183 * lisp.h (struct interval): Replace "parent" field with a union of
14184 interval pointer and Lisp_Object; add new bitfield to use as
14185 discriminant. Change other flag fields to bitfields.
14186 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
14187 is defined and the supplied test fails, print a message and abort.
14188 (eassert): New macro. Use CHECK to provide an assert-like facility.
14189
14190 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
14191 pointers; abort if the value looks like a lisp object.
14192 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
14193 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
14194 Modify for new interval parent definition.
14195
14196 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
14197 (UNMARK_BALANCE_INTERVALS): Update references that need an
14198 addressable lisp object in the interval structure.
14199 (die): New function.
14200 (suppress_checking): New variable.
14201
14202 * intervals.c (interval_start_pos): Just return 0 if there's no
14203 parent object.
14204
14205 2000-03-29 Gerd Moellmann <gerd@gnu.org>
14206
14207 * lread.c (read1): Accept `.' (period) as symbol start like in CL
14208 and earlier Emacs versions.
14209
14210 * keyboard.c (Ftop_level): Cancel busy-cursor.
14211
14212 * eval.c (call_debugger): Cancel busy-cursor.
14213
14214 2000-03-29 Kenichi Handa <handa@etl.go.jp>
14215
14216 * search.c (Freplace_match): Adjust multibyteness of the current
14217 buffer and NEWTEXT. Free allocated memory before signaling an error.
14218
14219 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
14220
14221 * regex.c (analyse_first): New function obtained by ripping out most
14222 of re_compile_fastmap and generalizing it a little bit so that it
14223 can also just return whether a given (sub)pattern can match the empty
14224 string or not.
14225 (regex_compile): Use `analyse_first' to decide whether the loop-check
14226 needs to be done or not for *, +, *? and +? (the loop check is costly
14227 for non-greedy repetition).
14228 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
14229
14230 2000-03-28 Dave Love <fx@gnu.org>
14231
14232 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
14233
14234 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
14235
14236 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
14237
14238 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
14239 an expression.
14240 (enum re_opcode_t): Update description of succeed_n.
14241 (PATFETCH): Always define.
14242 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
14243 operators, char classes, shy-groups and intervals).
14244 Optimize special cases of intervals so as to only use succeed_n and
14245 jump_n when really needed.
14246 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
14247 that we don't have to handle the special cases any more.
14248 Simplify on_failure_jump handling as well.
14249
14250 2000-03-28 Jason Rumney <jasonr@gnu.org>
14251
14252 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
14253
14254 2000-03-27 Gerd Moellmann <gerd@gnu.org>
14255
14256 * s/freebsd.h (GC_SETJMP_WORKS): Define.
14257
14258 * s/msdos.h (GC_SETJMP_WORKS): Define.
14259
14260 * alloc.c (mark_maybe_object): New function.
14261 (mark_memory): Use it.
14262 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
14263 (setjmp_tested_p, longjmp_done): New variables.
14264 (test_setjmp): New function.
14265 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
14266 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
14267
14268 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
14269 to DEC_TEXT_POS and INC_TEXT_POS.
14270
14271 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
14272 with parameter MULTIBYTE_P.
14273
14274 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
14275
14276 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
14277 buffers because it looks for multibyte character byte sequences
14278 which don't exist in unibyte text.
14279
14280 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
14281
14282 * xfaces.c (register_color, unregister_color, unregister_colors)
14283 [DEBUG_X_COLORS]: New functions.
14284 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
14285
14286 * xfns.c (x_set_cursor_color): Get color reference counts right.
14287
14288 * xterm.c (x_copy_color): New function.
14289 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
14290
14291 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
14292 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
14293 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
14294 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
14295 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
14296 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
14297 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
14298 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
14299 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
14300 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
14301
14302 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
14303 names for handling per-buffer variables.
14304
14305 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
14306 instead of MAX_BUFFER_LOCAL_VARS.
14307 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
14308
14309 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
14310
14311 * xfns.c (x_specified_cursor_type): New function.
14312 (x_set_cursor_type): Use it.
14313
14314 * buffer.h (struct buffer): Add cursor_type.
14315
14316 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
14317
14318 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
14319 (print_partial_compiled_pattern, re_compile_fastmap):
14320 Handle new opcode.
14321 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
14322 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
14323 executing it as well as when popping it off the stack to find infinite
14324 loops in non-greedy repetition operators.
14325
14326 2000-03-26 Gerd Moellmann <gerd@gnu.org>
14327
14328 * doc.c (Qfunction_documentation): New variable.
14329 (syms_of_doc): Initialize Qfunction_documentation.
14330 (Fdocumentation): If FUNCTION is a symbol with non-nil
14331 `function-documentation' property, return a documentation derived
14332 from that.
14333
14334 * buffer.c (syms_of_buffer): Add default-cursor-type.
14335 (init_buffer_once): Don't let cursor_type have a local value
14336 in every buffer.
14337
14338 * xterm.c (x_display_and_set_cursor): Choose cursor depending
14339 on buffer-local value of cursor_type.
14340 (x_draw_bar_cursor): Add parameter WIDTH.
14341
14342 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
14343 (init_buffer_once): Set default cursor_type value to t.
14344 Mark cursor_type as local everywhere.
14345 (syms_of_buffer): New per-buffer variable cursor-type.
14346
14347 * buffer.h (struct buffer): Remove member local_var_flags,
14348 add local_flags.
14349 (MAX_BUFFER_LOCAL_VARS): New macro.
14350 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
14351 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
14352 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
14353 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
14354
14355 * print.c (print_object): Use new macros for per-buffer variables.
14356
14357 * category.c (Fset_category_table): Use new macros for per-buffer
14358 variables.
14359
14360 * buffer.c (buffer_permanent_local_flags): Make a char array.
14361 (max_buffer_local_idx): New variable.
14362 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
14363 for new handling of per-buffer variables.
14364 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
14365 (init_buffer_once): Initialize per-buffer vars differently.
14366 Set max_buffer_local_idx.
14367
14368 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
14369 variables.
14370
14371 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
14372
14373 * data.c (do_symval_forwarding, store_symval_forwarding)
14374 (find_symbol_value, set_internal, default_value, Fset_default)
14375 (Fkill_local_variable, Flocal_variable_p): Use new macros for
14376 per-buffer variables.
14377
14378 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
14379
14380 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14381
14382 * xterm.c (x_term_init): Unblock input around call1 of
14383 Qvendor_specific_keysyms.
14384
14385 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
14386 (find_defun_start): Consider an open parenthesis in column 0
14387 a defun start only if open_paren_in_column_0_is_defun_start is set.
14388 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
14389
14390 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
14391
14392 * eval.c (Fautoload): Add entry in load-history (if after dump).
14393 * lread.c (load-history): Update docstring.
14394
14395 2000-03-24 Gerd Moellmann <gerd@gnu.org>
14396
14397 * indent.c (Fvertical_motion): Always use the current buffer.
14398 Temporarily change the window's buffer, if necessary.
14399
14400 2000-03-23 Gerd Moellmann <gerd@gnu.org>
14401
14402 * xterm.c (fast_find_position): Make sure not to consider rows
14403 not visible in the window.
14404
14405 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14406
14407 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14408 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14409
14410 2000-03-22 Jason Rumney <jasonr@gnu.org>
14411
14412 * w32menu.c (single_submenu): Set help string to NULL if none.
14413 (w32_menu_show): Set help string correctly.
14414 (add-menu-item): Set help string in MIIM_DATA for menu item.
14415 Load SetMenuItemInfoA explicitly.
14416 (w32_menu_display_help): New function.
14417
14418 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14419 (QCdata): Moved to xdisp.c.
14420
14421 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14422 (Vw32_charset_to_codepage_alist): Removed.
14423 (Vw32_charset_info_alist): New variable.
14424 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14425 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14426 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
14427 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14428 with TODO comment.
14429 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14430 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14431 Define Vw32_charset_info_alist and w32_charset symbols.
14432
14433 2000-03-22 Jason Rumney <jasonr@gnu.org>
14434
14435 * makefile.nt (w32bdf.obj): Update dependencies.
14436
14437 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14438
14439 * w32fns.c: Include fontset.h after dispextern.h.
14440 (Fx_create_frame): Do not create fontset.
14441 (w32_load_system_font): Doc fix.
14442 (Fx_close_connection): Free full_name if it is not shared.
14443
14444 * w32term.c: Include fontset.h after dispextern.h.
14445 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14446 Callers updated.
14447 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14448 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14449 (w32_font_is_double_byte): New function, needs body.
14450 (x_append_glyph): Set glyph->glyph_not_available_p.
14451 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14452 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14453 character, convert it to a unibyte character.
14454 (struct glyph_string): Delete member `charset'.
14455 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14456 calculating it is found.
14457 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14458 the case that per char metric is not available correctly.
14459 (x_fill_glyph_string): Handle the case that the specific glyph is
14460 not available correctly.
14461 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14462 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14463 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14464 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14465 fontset. Don't call FS_LOAD_FONT.
14466
14467 2000-03-22 Ken Raeburn <raeburn@gnu.org>
14468
14469 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14470 (INT_LISPLIKE): New macro.
14471 (NULL_INTERVAL_P): Use it.
14472 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14473 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14474 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
14475
14476 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14477 explicit references to "parent" field of struct interval and
14478 associated unclean type conversions.
14479 * intervals.c (create_root_interval, root_interval, rotate_right)
14480 (rotate_left, balance_possible_root_interval, split_interval_right)
14481 (split_interval_left, interval_start_pos, find_interval)
14482 (next_interval, previous_interval, update_interval)
14483 (adjust_intervals_for_insertion, delete_node, delete_interval)
14484 (adjust_intervals_for_deletion, merge_interval_right)
14485 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14486 (copy_intervals_to_string): Likewise.
14487 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14488 Likewise.
14489 * syntax.c (update_syntax_table): Likewise.
14490
14491 * intervals.c (reproduce_tree_obj): New function, like
14492 reproduce_tree but takes a Lisp_Object for the parent. Declare
14493 with prototype.
14494 (graft_intervals_into_buffer): Use it when appropriate.
14495 (reproduce_tree): Declare with prototype.
14496 (balance_possible_root_interval): Check that the parent is a lisp
14497 object before trying to examine its type.
14498
14499 2000-03-22 Gerd Moellmann <gerd@gnu.org>
14500
14501 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14502 as strings only if both are known to be strings.
14503
14504 * s/openbsd.h (LIBS_TERMCAP): Undef.
14505
14506 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14507
14508 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14509 definitions for non-Emacs compilation.
14510 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14511 outside of `#ifdef emacs'.
14512 (print_partial_compiled_pattern): Update.
14513 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14514 (re_compile_fastmap): Merge handling of charset and charset_not (for
14515 emacs and non-emacs compilation as well).
14516 Similarly for (not)categoryspec and (not)syntaxspec.
14517 Don't use the fastmap when reaching `anychar' since the added
14518 complexity is not justified.
14519 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14520 and (not)syntaxspec. Merge (not)categoryspec.
14521
14522 2000-03-22 Kenichi Handa <handa@etl.go.jp>
14523
14524 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14525 (FACE_FOR_CHAR): Define them differently for the configuration of
14526 --without-x.
14527
14528 2000-03-21 Dave Love <fx@gnu.org>
14529
14530 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14531 doc string.
14532
14533 2000-03-21 Gerd Moellmann <gerd@gnu.org>
14534
14535 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14536 (lface_fully_specified_p): Don't check contents of
14537 LFACE_FONT_INDEX because that attribute is optional.
14538 (realize_x_face): Remove now unwarranted xassert.
14539
14540 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
14541
14542 The following changes are to make font selection based on
14543 characters, not charset. In addition, they recover fontset
14544 facilities while utilizing the new font selection mechanism.
14545
14546 * Makefile.in (fontset.o): Depend on dispextern.h.
14547
14548 * alloc.c (mark_face_cache): Don't mark face->registry.
14549
14550 * dispextern.h (struct glyph): New member glyph_not_available_p.
14551 Use 22 bits for face_id.
14552 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14553 (struct face): Delete member registry, new member ascii_face.
14554 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14555 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14556 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
14557 (struct it): Delete member charset, new member glyph_not_available_p.
14558
14559 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14560 (struct fontset_info, struct fontset_data): Structs removed.
14561 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14562 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
14563 (fs_load_font, fs_query_fontset): Adjusted for new argument.
14564 (fs_free_face_fontset, fontset_font_pattern)
14565 (face_suitable_for_char_p, face_for_char)
14566 (make_fontset_for_ascii_face): Extern them.
14567 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
14568 (FS_LOAD_FACE_FONT): New macro.
14569
14570 * fontset.c: All codes rewritten or adjusted for the change of
14571 fontset implementation. Now fontset is represented by char table.
14572 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
14573 Variables removed.
14574 (my_strcasecmp): Function removed.
14575 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
14576 (AREF, ASIZE): New macros.
14577 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
14578 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
14579 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
14580 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
14581 (fontset_id_valid_p, font_family_registry, fontset_name)
14582 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
14583 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
14584 New functions.
14585 (fs_load_font): New arg FACE. Caller changed.
14586 (fs_query_fontset): Argument changed. Caller changed.
14587 (Fquery_fontset): call fs_query_fontset.
14588 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
14589 Functions removed.
14590 (clear_fontset_elements, check_registry_encoding)
14591 (check_fontset_name): New functions.
14592 (syms_of_fontset): Set char-table-extra-slots property of fontset
14593 to 3. Staticpro and initialize Vfontset_table and
14594 Vdefault_fontset. Defsubr fontset_font and fontset_list.
14595
14596 * frame.h (struct frame): Member `fontset_data' removed.
14597 (FRAME_FONTSET_DATA): Macro removed.
14598
14599 * frame.c (make_frame): Don't allocate f->fontset_data.
14600 (Fdelete_frame): Don't free f->fontset_data.
14601
14602 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
14603
14604 * xdisp.c (charset_at_position): Function removed.
14605 (init_iterator): Don't set member charset of struct `it'.
14606 (handle_face_prop, reseat_to_string, set_iterator_to_next)
14607 (next_element_from_display_vector, insert_left_trunc_glyphs):
14608 Likewise.
14609 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
14610 FACE_FOR_CHARSET.
14611 (get_next_display_element, append_space)
14612 (extend_face_to_end_of_line): Likewise.
14613
14614 * xfaces.c (Qx_charset_registry, Vface_default_registry):
14615 Variables removed.
14616 (clear_font_table, frame_update_line_height, load_face_font):
14617 Adjusted for the change of fontset implementation.
14618 (load_face_fontset_font): Function removed.
14619 (pixel_point_size): New function.
14620 (font_list): Argument type changed. Caller changed.
14621 (LFACE_FONT): New macro.
14622 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
14623 (set_lface_from_font_name): Type of arg FONTNAME is changed to
14624 Lisp_Object. Determine the font name by actually loading a font
14625 by the specified pattern. Set LFACE_FONT (lface) to the specified
14626 pattern. Even if a font is not found, don't try alternatives.
14627 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
14628 (set_font_frame_param): If `font' is specified in lface, use it.
14629 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
14630 (lface_same_font_attributes_p): Likewise.
14631 (make_realized_face): Arguent changed. Caller changed. Set
14632 face->ascii_face to face itself.
14633 (free_realized_face): Free face->fontset if face is for ASCII.
14634 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
14635 (deduce_unibyte_registry, x_charset_registry): Functions removed.
14636 (free_realized_multibyte_face): New function.
14637 (lookup_face, lookup_named_face, lookup_derived_face): Argument
14638 changed. Caller changed.
14639 (try_font_list): Argument type changed.
14640 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
14641 (choose_face_font): Argument changed. Handle fontset properly.
14642 (choose_face_fontset_font): Function removed.
14643 (realize_default_face, realize_named_face): Don't remove the
14644 former face here.
14645 (realize_face): Argument changed. Caller changed. Remove face
14646 with the arg former_face_id in advance. Load font for the new face.
14647 (realize_x_face): Argument changed. Caller changed. For a
14648 multibyte character, share fontset with base_face. For a single
14649 byte character, make a new realized fontset. Don't load a font here.
14650 (realize_tty_face): Argument changed. Caller changed.
14651 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
14652 (face_at_buffer_position): Don't check multibyte_p for returning
14653 DEFAULT_FACE_ID.
14654 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
14655 FACE_SUITABLE_FOR_CHARSET_P.
14656 (syms_of_xfaces): Remove code for Qx_charset_registry and
14657 Vface_default_registry.
14658
14659 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
14660 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
14661 (x_per_char_metric): Don't try FONT->default_char. Even if
14662 pcm->width is zero, glyph bits may exist.
14663 (x_encode_char): Always initialize char2b->byte1.
14664 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
14665 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
14666 (x_append_glyph): Set glyph->glyph_not_available_p.
14667 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14668 it->charset. Handle the case that per char metric is not
14669 available. If it->multibyte_p is zero and it->c is a multibyte
14670 character, convert it to a unibyte character.
14671 (struct glyph_string): Delete member `charset'.
14672 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14673 the case that per char metric is not available correctly.
14674 (x_fill_glyph_string): Handle the case that the specific glyph is
14675 not available correctly.
14676 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14677 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14678 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14679 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14680 fontset. Don't call FS_LOAD_FONT.
14681
14682 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
14683 (x_create_tip_frame): Likewise.
14684 (Fx_close_connection): Free full_name of font_info.
14685
14686 * fns.c (optimize_sub_char_table): New function.
14687 (Foptimize_char_table): New function.
14688 (syms_of_fns): Defsubr Soptimize_char_table.
14689
14690 2000-03-20 Gerd Moellmann <gerd@gnu.org>
14691
14692 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
14693 only if buffer is displayed in some window.
14694
14695 * xdisp.c (handle_single_display_prop): Initialize local `value'.
14696 (try_window_reusing_current_matrix): Don't call scroll run
14697 function if run's current and desired position are the same;
14698 this prevents cursor flickering.
14699
14700 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
14701
14702 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
14703
14704 * regex.c (RE_STRING_CHAR): New macro.
14705 (GET_CHAR_AFER_2): Remove.
14706 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
14707 (enum re_opcode_t): Remove on_failure_jump_exclusive.
14708 (print_partial_compiled_pattern, re_compile_fastmap)
14709 (re_match_2_internal): Remove on_failure_jump_exclusive.
14710 (regex_compile): Turn optimizable P+ loops into PP*, so that the
14711 optimization only need to work for * (ie. can use of_keep_string_jump).
14712 Remove the special case for .*\n since it is now covered by the general
14713 optimization.
14714 (re_search_2): Don't bother with `room'.
14715 (skip_one_char): New function.
14716 (skip_noops): Simplify since `memory' is not needed any more.
14717 (mutually_exclusive_p): Restructure slightly to use `switch' and
14718 add handling for "all" remaining cases.
14719 (re_match_2_internal): Change on_failure_jump_smart to use
14720 on_failure_keep_string_jump (and redirect the end-of-loop jump)
14721 rather than on_failure_jump_exclusive.
14722
14723 2000-03-19 Gerd Moellmann <gerd@gnu.org>
14724
14725 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
14726 number of bits per RGB because it's everywhere used as the depth
14727 of the visual.
14728
14729 * term.c (calculate_costs): Remove code dealing with X frames.
14730
14731 2000-03-19 Richard M. Stallman <rms@gnu.org>
14732
14733 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
14734
14735 2000-03-18 Gerd Moellmann <gerd@gnu.org>
14736
14737 * lread.c (read_integer): Unread the last char not consumed.
14738
14739 2000-03-17 Gerd Moellmann <gerd@gnu.org>
14740
14741 * xterm.c (x_update_window_cursor): Don't update in frames
14742 which are in the process of being deleted.
14743
14744 2000-03-16 Gerd Moellmann <gerd@gnu.org>
14745
14746 * Makefile.in (mostlyclean): Add `*.core'.
14747 (clean): Add `bootstrap-emacs'.
14748
14749 * lread.c (read_integer): New function.
14750 (read1): Support read syntax #o, #x, #b, #r.
14751
14752 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
14753
14754 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
14755 make sure POINTER_TO_OFFSET gives the same value before and after
14756 PREFETCH. Use `dfail' to guarantee "atomic" matching.
14757 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
14758 (debug): Now only active if > 0 rather than if != 0.
14759 (DEBUG_*): Update for the new meaning of `debug'.
14760 (print_partial_compiled_pattern): Add missing `succeed' case. Use
14761 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
14762 in `succeed_n', `jump_n' and `set_number_at'.
14763 (store_op1, store_op2, insert_op1, insert_op2)
14764 (at_begline_loc_p, at_endline_loc_p): Add prototype.
14765 (group_in_compile_stack): Move to after its arg's types are
14766 declared and add a prototype.
14767 (PATFETCH): Define in terms of PATFETCH_RAW.
14768 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
14769 (QUIT): Redefine as a nop except for NTemacs.
14770 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
14771 indentation of the greedy-op and shy-group code.
14772 (at_(beg|end)line_loc_p): Fix argument's types.
14773 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
14774 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
14775 (MATCHING_IN_FIRST_STRING): Remove.
14776 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
14777 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
14778 QUIT unconditionally.
14779
14780 2000-03-15 Gerd Moellmann <gerd@gnu.org>
14781
14782 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
14783 a sole completion.
14784
14785 * process.c (send_process): Add a hint that the function
14786 can call Lisp code to its comment.
14787
14788 * lread.c (load_dangerous_libraries): New variable.
14789 (Vbytecomp_version_regexp): New variable.
14790 (safe_to_load_p): New function.
14791 (Fload): Handle files not compiled with Emacs specially.
14792 (syms_of_lread): New Lisp variable load-dangerous-libraries.
14793
14794 2000-03-14 Gerd Moellmann <gerd@gnu.org>
14795
14796 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
14797
14798 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
14799 support functions only if HAVE_X11R6_XIM is defined.
14800 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
14801
14802 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
14803
14804 * xfns.c (X_I18N_INHIBITED): Don't define.
14805 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
14806 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
14807
14808 * config.in (HAVE_X_I18N): Moved here from xterm.h.
14809 (HAVE_X11R6_XIM): Define.
14810
14811 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
14812
14813 * xterm.c (x_term_init): Add support for X resource `synchronous'.
14814 If set, call XSynchronize.
14815
14816 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
14817
14818 * regex.c: Declare a new type `re_char' used throughout the code
14819 for the string char type. It's `const unsigned char' to match the
14820 rest of Emacs. Consistently make sure all pointers to strings use
14821 it and make sure all pointers into the pattern use `unsigned char'.
14822 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
14823 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
14824 code duplication.
14825
14826 * charset.h (GET_CHAR_AFTER_2): Remove.
14827 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
14828
14829 2000-03-12 Ken Raeburn <raeburn@gnu.org>
14830
14831 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
14832 variable before the invocation of YMF_PASS_LDFLAGS, in case both
14833 of them try to use backquotes.
14834
14835 2000-03-12 Dave Love <fx@gnu.org>
14836
14837 * unexelf.c: Restore changes of 1999-10-19.
14838 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
14839 fix its type and alignment; copy it from current process.
14840
14841 2000-03-12 Gerd Moellmann <gerd@gnu.org>
14842
14843 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
14844 has been found. Fix bug not computing timer's predecessor.
14845
14846 * fileio.c (Fread_file_name): Handle case that DIR contains a
14847 file name.
14848
14849 * window.c (Fsave_window_excursion): Doc fix.
14850
14851 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
14852
14853 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
14854
14855 * msdos.c (vga_installed): New function, code moved from
14856 dos_set_window_size.
14857 (Qbar, Qcursor_type, outside_cursor): New variables.
14858 (syms_of_msdos): Intern and staticpro them.
14859 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
14860 shape used outside Emacs when called for the first time.
14861 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
14862 cursor shape used outside Emacs.
14863 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
14864 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
14865 type has changed.
14866 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
14867 parameters specify the cursor. Make qreverse a global
14868 variable (renamed to Qreverse).
14869
14870 2000-03-09 Gerd Moellmann <gerd@gnu.org>
14871
14872 * fns.c (Fy_or_n_p): Cancel busy-cursor.
14873
14874 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
14875
14876 This is a big redesign of failure-stack and register handling, prompted
14877 by bugs revealed when trying to add shy-groups. Overall, what happened
14878 is that loops are now structured a little differently, groups can be
14879 shy and the code is a little simpler.
14880
14881 * regex.h: Update the copyright.
14882 (RE_SHY_GROUPS): New value.
14883 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
14884 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
14885
14886 * regex.c (enum re_opcode_t): Remove jump_past_alt,
14887 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
14888 on_failure_jump_(exclusive, loop and smart). Also fix the comment
14889 for (start|stop)_memory since they now only take one argument (the
14890 second has becomes unnecessary).
14891 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
14892 (print_compiled_pattern): Use %ld to printf long ints and flush to
14893 make debugging a little easier.
14894 (union fail_stack_elt): Make the integer unsigned.
14895 (struct fail_stack_type): Add a `frame' element.
14896 (INIT_FAIL_STACK): Init `frame' as well.
14897 (POP_PATTERN_OP): New macro for re_compile_fastmap.
14898 (DEBUG_PUSH, DEBUG_POP): Remove.
14899 (NUM_REG_ITEMS): Remove.
14900 (NUM_NONREG_ITEMS): Adjust.
14901 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
14902 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
14903 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
14904 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
14905 New macros.
14906 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
14907 address pushed is not the destination of the jump but the source
14908 of it instead.
14909 (NUM_FAILURE_ITEMS): Remove.
14910 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
14911 registers before the actual failure point). Don't hardcode any
14912 meaning for str==NULL anymore.
14913 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
14914 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
14915 Remove.
14916 (REG_UNSET_VALUE): Use NULL (why not?).
14917 (compile_range): Remove declaration since it doesn't exist.
14918 (struct compile_stack_elt_t): Remove inner_group_offset.
14919 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14920 (regex_grow_registers): Remove dead code.
14921 (FIXUP_ALT_JUMP): New macro.
14922 (regex_compile): Add shy-groups Change loops to use
14923 on_failure_jump_smart&jump instead of
14924 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14925 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14926 variable to me). Use `jump' instead of `jump_past_alt' and don't
14927 bother with push_dummy_failure in alternatives since it is now
14928 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14929 emacs' for (re)allocating the stack.
14930 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14931 from loop when bufp->can_be_null rather than jumping to `done'.
14932 Avoid jumping backwards so as to ensure termination. Use
14933 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14934 backreferences. Remove dead code in handling of `anychar'.
14935 (skip_noops, mutually_exclusive_p): New functions taken from the
14936 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14937 improve mutually_exclusive_p to handle ".+\n".
14938 (lowest_active_reg, highest_active_reg)
14939 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
14940 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14941 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14942 variables. Push register (in `start_memory') on the stack rather
14943 than storing it in old_reg(start|end). Remove the cycle detection
14944 from `stop_memory', replaced by the use of on_failure_jump_loop
14945 for greedy loops. Add code for the new on_failure_jump_<foo>.
14946 Remove ad-hoc code in `on_failure_jump' to push more registers in
14947 the case of a loop. Take out code from `maybe_pop_jump' into
14948 separate functions and adapt it to the semantics of
14949 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14950 and push_dummy_failure. Remove dummy_failure handling and
14951 handling of `failures to jump to on_failure_jump' (this last one
14952 was already dead code, it seems).
14953 (group_match_null_string_p, alt_match_null_string_p)
14954 (common_op_match_null_string_p): Remove.
14955
14956 2000-03-08 Dave Love <fx@gnu.org>
14957
14958 * config.in: Don't depend on __STDC__ for volatile.
14959 Add POINTER_TYPE, PTR, PROTOTYPES.
14960
14961 * hftctl.c, strftime.c: Use PROTOTYPES.
14962 * eval.c (find_handler_clause): Likewise.
14963
14964 * mem-limits.h: Use POINTER_TYPE.
14965
14966 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14967 (memory_warnings): Declare using POINTER_TYPE.
14968
14969 2000-03-08 Gerd Moellmann <gerd@gnu.org>
14970
14971 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14972
14973 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
14974
14975 * xfns.c: Remove obsolete code in #if 0.
14976 (Fx_focus_frame): New function.
14977
14978 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14979
14980 * coding.c (coding_category_name): Add coding-category-utf-8,
14981 coding-category-utf-16-be, coding-category-utf-16-le.
14982 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14983 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14984 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14985 (detect_coding_utf_8): New function.
14986 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14987 UTF_16_LOW_SURROGATE_P): New macros.
14988 (detect_coding_utf_16): New function
14989 (detect_coding_mask): When priorities are specified, skip any
14990 categories that have `nil' coding-system. Fix bug of returning
14991 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14992 returns a mask not set in PRIORITIES.
14993 (detect_eol_type_in_2_octet_form): New function.
14994 (detect_eol): selects detect_eol_type_XXX to call according to
14995 cooding->category_idx.
14996 (detect_coding_system): Remove `nil' coding-system in the result.
14997 (Fupdate_coding_systems_internal): Update all coding-categories.
14998
14999 * coding.h (CODING_CATEGORY_IDX_UTF_8)
15000 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
15001 New macros.
15002 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
15003 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
15004 (CODING_CATEGORY_IDX_UTF_16_LE)
15005 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
15006 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
15007 (CODING_CATEGORY_MASK_ANY): Include the above macros.
15008 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
15009
15010 2000-03-07 Gerd Moellmann <gerd@gnu.org>
15011
15012 * doc.c (Fdocumentation_property): If value is not a string,
15013 and doesn't refer to etc/DOC, evaluate it to obtain a string.
15014
15015 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
15016 close the display with XtCloseDisplay. This caused a bus error
15017 on OpenWindows.
15018
15019 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
15020 complete but not unique.
15021
15022 2000-03-06 Gerd Moellmann <gerd@gnu.org>
15023
15024 * process.c (send_process): Remove local variable `procname' that
15025 might become invalid when a GC happens. Instead, access the
15026 process name slot directly.
15027
15028 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
15029 orig_height if set.
15030
15031 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
15032 orig_height if set.
15033
15034 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
15035
15036 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
15037 glyph matrices have been freed.
15038
15039 2000-03-05 Gerd Moellmann <gerd@gnu.org>
15040
15041 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
15042 (bootstrap-temacs): Set LC_ALL to C like for temacs.
15043
15044 * xfns.c (QCdata): Moved to xdisp.c.
15045
15046 * xdisp.c (QCdata): Moved here from xfns.c.
15047 (syms_of_xdisp): Initialize QCdata.
15048
15049 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
15050
15051 * window.c (coordinates_in_window): Use
15052 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
15053 FRAME_INTERNAL_BORDER_WIDTH.
15054
15055 * xdisp.c (try_window_id): Recompute unchanged information if
15056 it is obviously invalid.
15057
15058 * xterm.c (x_term_init): Create a colormap if not using the
15059 default visual.
15060
15061 * xterm.h (select_visual): Change prototype.
15062
15063 * xfns.c (select_visual): Rewritten. Recognize user-specified
15064 visual classes.
15065 (visual_classes): New variable.
15066
15067 2000-03-04 Gerd Moellmann <gerd@gnu.org>
15068
15069 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
15070 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
15071 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
15072 (x_decode_color): Don't handle allocation of white and black specially.
15073 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
15074 XtNcolormap resources.
15075 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
15076 (Fx_create_frame): Initialize color members of x_output structure.
15077 (xpm_load): Pass colormap to XPM lib.
15078
15079 * xfaces.c (x_free_colors): Access colormap of frame using
15080 FRAME_X_COLORMAP. Be paranoid about freeing black and white
15081 when default colormap is used.
15082
15083 * xterm.c (x_term_init): Set Colormap member of x_display_info
15084 structure. Copy colormap if resource `privateColormap' is
15085 specified (PseudoColor only).
15086 (x_setup_relief_color): Access colormap of frame using
15087 FRAME_X_COLORMAP.
15088
15089 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
15090 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
15091
15092 2000-03-04 Jason Rumney <jasonr@gnu.org>
15093
15094 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
15095 other non-platform-specific equivalents.
15096 [WINDOWSNT]: Include w32term.h, fontset.h and define X
15097 specific functions and macros as their w32 equivalents where
15098 non-platform-specifics are not available.
15099 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
15100 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
15101 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
15102 (frame_update_line_height): Use macros to access f->output_data.
15103 (defined_color): Remove FIXME comments; fixed.
15104 (x_face_list_fonts, prepare_face_for_display): Put X specifics
15105 into #ifdef blocks. Add WINDOWSNT blocks.
15106 (Fx_list_fonts): Use macros for accessing font data.
15107 (set_lface_from_font_name): Different default fonts for X and
15108 WINDOWSNT.
15109 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
15110 scalable for backward compatibility.
15111 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
15112 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
15113
15114 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
15115 syms_of_w32faces.
15116
15117 * makefile.nt (w32faces.obj): Remove.
15118 (xfaces.obj): Add.
15119
15120 2000-03-03 Jason Rumney <jasonr@gnu.org>
15121
15122 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
15123 correct parameters.
15124
15125 2000-03-03 Ken Raeburn <raeburn@gnu.org>
15126
15127 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
15128 standard ELF definitions here if the system header does not.
15129
15130 2000-03-03 Gerd Moellmann <gerd@gnu.org>
15131
15132 * xterm.c (PER_CHAR_METRIC): Removed.
15133 (x_per_char_metric_1, x_default_char): New functions.
15134 (x_per_char_metric): If font's default char is invalid, return
15135 metrics of a suitably chosen usable default char.
15136 (x_draw_glyph_string_foreground): If font has an invalid default
15137 char, replace occurrences of unprintable chars with a suitably
15138 chosen usable default char.
15139
15140 2000-03-02 Gerd Moellmann <gerd@gnu.org>
15141
15142 * xterm.c (note_mouse_highlight): Return quickly if frame's
15143 glyph matrices have been freed.
15144
15145 * dispnew.c (free_glyphs): Block input while freeing matrices.
15146
15147 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
15148
15149 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
15150 Use x_free_colors.
15151
15152 * dispextern.h (x_free_colors): Add prototype.
15153
15154 * xfaces.c (x_free_colors): New function.
15155 (unload_color, free_face_colors): Use it.
15156
15157 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15158
15159 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
15160
15161 * window.c [MSDOS]: Include msdos.h.
15162
15163 2000-03-02 Dave Love <fx@gnu.org>
15164
15165 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
15166
15167 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
15168 set C_OPTIMIZE_SWITCH for gcc.
15169
15170 2000-03-02 Kenichi Handa <handa@etl.go.jp>
15171
15172 * coding.c (coding_save_composition): Be sure to allocate
15173 composition data area in coding even if there's no composition in
15174 the current run.
15175
15176 2000-03-01 Jason Rumney <jasonr@gnu.org>
15177
15178 * w32term.c: Equivalent changes to those made to xterm.c on
15179 2000-02-25 and 2000-02-24.
15180
15181 * w32fns.c: Equivalent changes to those made to xfns.c on
15182 2000-02-25 and 2000-02-21.
15183
15184 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
15185 correct line-end convention is followed.
15186
15187 * w32menu.c [HAVE_BOXES]: Remove #undef.
15188 (single_keymap_panes): Remove code for simulating checkmarks.
15189 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
15190 Remove code for drawing simulated checkmarks.
15191 (w32_menu_show): make unibyte help string correctly.
15192 (add_menu_item): draw standard Windows checkmarks. Draw radio
15193 buttons as radio buttons if possible.
15194
15195 2000-03-01 Gerd Moellmann <gerd@gnu.org>
15196
15197 * sysdep.c (start_of_text): Don't define this function for NetBSD
15198 with ELF.
15199
15200 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
15201 Don't define.
15202 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
15203 (LINKER): Don't undef if __NetBSD__ is defined.
15204
15205 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
15206
15207 * fileio.c [__NetBSD__]: Define `unix'.
15208
15209 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
15210
15211 2000-02-29 Gerd Moellmann <gerd@gnu.org>
15212
15213 * atimer.c (start_atimer): Don't abort when timers are stopped.
15214 (append_atimer_lists): New function.
15215 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
15216 arbitrary lists of stopped and running atimers.
15217
15218 * atimer.c (cancel_atimer): Handle canceling an atimer when
15219 some timers are stopped.
15220
15221 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
15222 after canceling it.
15223
15224 * fns.c (maybe_resize_hash_table): Handle case of new size
15225 coming out as being the same as old size.
15226
15227 2000-02-27 Jason Rumney <jasonr@gnu.org>
15228
15229 * makefile.nt: Add atimer.h to dependencies.
15230 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
15231 * w32console.c: Only disable window system features for dispextern.h
15232 (initialize_w32_display): Build a display info for the console.
15233 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
15234 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
15235 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
15236 as 2 button mice.
15237 * w32gui.h (struct W32FontStruct): Revert last change after change
15238 to xdisp.c.
15239 * w32menu.c (single_submenu): Set up help string.
15240 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
15241 (w32_dialog_show): Set up help string.
15242 * w32term.c (w32_display_info_for_display): Remove unused function.
15243 (w32_draw_bitmap): Use pre-built bitmaps.
15244 (w32_initialize_display_info): New function to initialize parts of
15245 display info that are common to both GUI and console frames.
15246 (w32_term_init): Use w32_initialize_display_info. Do not set
15247 Vw32_num_mouse_buttons here, as it is not called for console
15248 frames. Build bitmaps for indicating truncated lines etc.
15249 (x_delete_display): Destroy pre-built bitmaps.
15250 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
15251 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
15252
15253 2000-02-27 Dave Love <fx@gnu.org>
15254
15255 * lisp.h: Add a bunch of prototypes.
15256
15257 2000-02-26 Kenichi Handa <handa@etl.go.jp>
15258
15259 * keyboard.c (read_char): Set `usec' correctly.
15260
15261 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
15262
15263 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
15264 `lambda', set reg[RRR] to the map index.
15265 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
15266 reg[RRR] to 0. Otherwise, set it to -1.
15267
15268 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15269
15270 * emacs.c (main): Remove code snippet commented out with `//'.
15271
15272 2000-02-25 Richard M. Stallman <rms@gnu.org>
15273
15274 * fileio.c (Ffile_symlink_p): If result starts with a `/'
15275 and contains a `:', prepend `/:'.
15276
15277 * window.c (select_window_1): If selected_window is nil,
15278 don't "swap out" the buffer's point.
15279 (Fset_window_configuration): Set selected_window to nil
15280 before calling Fselect_window.
15281 (unshow_buffer): Don't set point in buffer from window's point
15282 if another more recently selected window also shows the buffer.
15283
15284 2000-02-25 Gerd Moellmann <gerd@gnu.org>
15285
15286 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
15287
15288 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
15289 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
15290 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
15291 New variables.
15292 (DEFAULT_BUSY_CURSOR_DELAY): New define.
15293 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
15294 (hide_busy_cursor): New functions.
15295 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
15296
15297 * minibuf.c (read_minibuf): Cancel busy-cursor.
15298
15299 * keyboard.c (command_loop_1): Call start_busy_cursor before
15300 Fcommand_execute and cancel_busy_cursor after it.
15301 (timer_check): Remove busy-cursor code.
15302 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
15303 cursor timer.
15304
15305 * process.c (wait_reading_process_input): Remove busy-cursor code.
15306
15307 * eval.c (Fsignal): Call cancel_busy_cursor instead of
15308 Fx_hide_busy_cursor.
15309
15310 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
15311 Remove prototyoes.
15312 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
15313
15314 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
15315
15316 * xterm.c (XTread_socket): Remove busy-cursor code.
15317
15318 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
15319 (build_frame_matrix_from_leaf_window): Put code handling
15320 glyph row's not being a slice of a frame row in #if 0.
15321 (sync_window_with_frame_matrix_rows): New function.
15322 (frame_row_to_window): New function.
15323 (mirror_line_dance): Handle copies between windows.
15324
15325 * lread.c (Fload): Use `xfree' instead of `free'.
15326 (init_obarray): Use `xmalloc' instead of `malloc'.
15327
15328 * window.c (Fset_window_buffer): Set WINDOW to the window
15329 after decoding.
15330 (coordinates_in_window): Take frame's internal border width
15331 into account.
15332
15333 2000-02-24 Gerd Moellmann <gerd@gnu.org>
15334
15335 * xterm.c (x_display_and_set_cursor): Display cursor of
15336 non-selected windows depending on the setting of
15337 cursor_in_non_selected_windows.
15338
15339 * xdisp.c (cursor_in_non_selected_windows): New variable.
15340 (syms_of_xdisp): DEFVAR_BOOL it.
15341
15342 2000-02-23 Gerd Moellmann <gerd@gnu.org>
15343
15344 * data.c (Fstring_to_number): If number is greater than what
15345 fits into an integer, return a float.
15346
15347 * eval.c (specbind): Remove references to
15348 keyword_symbols_constant_flag.
15349
15350 * data.c (keyword_symbols_constant_flag): Removed.
15351 (Fmakunbound, set_internal, syms_of_data): Remove references to
15352 keyword_symbols_constant_flag.
15353
15354 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
15355
15356 2000-02-23 Kenichi Handa <handa@etl.go.jp>
15357
15358 * syntax.c (multibyte_syntax_as_symbol): New variable.
15359 (syms_of_syntax): Declare it as a Lisp variable.
15360 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
15361 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
15362 nonzero, treat all multibyte characters as symbol.
15363 (init_syntax_once): Give syntax `word' to all multibyte characters.
15364
15365 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15366
15367 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
15368 a deleted frame.
15369
15370 2000-02-21 Gerd Moellmann <gerd@gnu.org>
15371
15372 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
15373
15374 * xfns.c (x_window_to_frame, x_any_window_to_frame)
15375 (x_non_menubar_window_to_frame): Check the busy-cursor window.
15376
15377 2000-02-21 Dave Love <fx@gnu.org>
15378
15379 * frame.c (Vmouse_position_function): New variable.
15380 (Fmouse_position): Use it.
15381 (syms_of_frame): Install it.
15382
15383 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
15384
15385 2000-02-20 Gerd Moellmann <gerd@gnu.org>
15386
15387 * fileio.c (Finsert_file_contents): Unbind the binding of
15388 standard-output done by temp_output_buffer_setup.
15389
15390 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
15391 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
15392 (specbind, unbind_to): Handle most common case of non-constant
15393 symbol with trivial value specially.
15394
15395 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
15396
15397 2000-02-20 Richard M. Stallman <rms@gnu.org>
15398
15399 * data.c (Fmake_variable_buffer_local): Doc fix.
15400 Init found_for_buffer to 0.
15401 (Fmake_variable_frame_local): If the variable has already
15402 been buffer-local, set the check_frame field.
15403
15404 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
15405
15406 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15407 produced for CODING_MODE_LAST_BLOCK requires.
15408
15409 2000-02-18 Dave Love <fx@gnu.org>
15410
15411 * keyboard.c (echo_keystrokes): Remove declaration.
15412 (Vecho_keystrokes) New variable.
15413 (read_char, record_menu_key, read_key_sequence): Use it to allow
15414 use of float value.
15415 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15416
15417 * lread.c: Undef feature selection macros before defining.
15418
15419 2000-02-18 Gerd Moellmann <gerd@gnu.org>
15420
15421 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15422 for symbols other than the symbol in question.
15423
15424 2000-02-17 Dave Love <fx@gnu.org>
15425
15426 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15427
15428 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15429
15430 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15431
15432 * alloc.c (enum mem_type): Compile unconditionally.
15433
15434 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15435
15436 * xfaces.c (tty_defined_color): Don't return faulire indication
15437 for unspecified-fg and unspecified-bg pseudo-colors.
15438
15439 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15440
15441 * alloc.c (mark_object): Don't mark symbol names in pure space.
15442 (gc_sweep): Don't unmark symbol names in pure space.
15443
15444 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15445 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15446 [GC_MARK_STACK]: New defines.
15447 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
15448 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15449
15450 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15451
15452 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15453 allocate_buffer instead of xmalloc.
15454
15455 * alloc.c (toplevel): Include setjmp.h.
15456 (PURE_POINTER_P): New define.
15457 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15458 (Vdead) [GC_MARK_STACK]: New variable.
15459 (lisp_malloc): Add parameter TYPE, call mem_insert if
15460 GC_MARK_STACK is defined.
15461 (allocate_buffer): New function.
15462 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
15463 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15464 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15465 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15466 (MEM_NIL) [GC_MARK_STACK]: New define.
15467 (struct mem_node) [GC_MARK_STACK]: New structure.
15468 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15469 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15470 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15471 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15472 (mark_stack) [GC_MARK_STACK]: New functions.
15473 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15474 (clear_marks): Removed.
15475 (gc_sweep): Set free conses' car, free floats' type, free
15476 symbols' function to Vdead. Use lisp_free to free buffers.
15477 (init_alloc_once): Initialize Vdead.
15478 (survives_gc_p): Return non-zero for pure objects.
15479
15480 * alloc.c: Add comments throughout the file.
15481
15482 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15483 that unblocks alarms.
15484
15485 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15486 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15487 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15488
15489 * frame.c (make_frame): Set frame initiallly to `garbaged'.
15490
15491 2000-02-17 Kenichi Handa <handa@etl.go.jp>
15492
15493 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15494 avoid infinite error signaling. Allocate sufficient memory for
15495 eol_str in the case that eoltype is Lisp_Int.
15496
15497 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15498
15499 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15500 depends on the previous behavior.
15501
15502 2000-02-16 Gerd Moellmann <gerd@gnu.org>
15503
15504 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15505
15506 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15507
15508 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15509
15510 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
15511 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
15512 write(2).
15513
15514 2000-02-15 Richard M. Stallman <rms@gnu.org>
15515
15516 * data.c (set_internal): Don't make variable buffer-local
15517 if within a let-binding for the same buffer.
15518 (let_shadows_buffer_binding_p): New function.
15519
15520 * eval.c (specbind): For buffer-local value,
15521 record the current buffer also.
15522 (unbind_to): Cope with that change.
15523
15524 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15525
15526 * window.c (Fsave_window_excursion): Doc fix.
15527
15528 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15529
15530 * syntax.c (back_comment): Make sure we only consider comment-starters
15531 of the relevant style and return -1 in case of a failure to find the
15532 beginning of the comment.
15533 (Fforward_comment): If back_comment fails, go back to the position just
15534 after the comment-end.
15535 (scan_lists): Add comment describing a very minor bug.
15536
15537 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15538
15539 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15540 `completion-regexp-list' in the docstring.
15541
15542 2000-02-14 Dave Love <fx@gnu.org>
15543
15544 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15545
15546 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15547
15548 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15549 to Emacs' syntax. Also fix the comment about set/not-set meanings
15550 since Emacs syntax is not the value 0 any more.
15551 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15552 since it's now part of RE_SYNTAX_EMACS.
15553
15554 2000-02-12 Dave Love <fx@gnu.org>
15555
15556 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
15557
15558 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15559
15560 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15561
15562 2000-02-12 Dave Love <fx@gnu.org>
15563
15564 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
15565
15566 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
15567 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
15568 * s/hpux.h: Don't define HAVE_VFORK.
15569
15570 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
15571
15572 * s/nextstep.h: Don't define HAVE_ALLOCA.
15573
15574 * config.in: Add vfork bits.
15575
15576 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15577
15578 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
15579 unwind function to undo the effect of stopping atimers.
15580
15581 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
15582
15583 * atimer.c (stopped_atimers): New variable.
15584 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
15585 New functions.
15586
15587 * atimer.h (stop_other_atimers, run_all_atimers)
15588 (unwind_stop_other_atimers): Add function prototypes.
15589
15590 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
15591
15592 2000-02-11 Ken Raeburn <raeburn@gnu.org>
15593
15594 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
15595 library may depend on jpeg.
15596 (atimer.o): Depends on atimer.c.
15597
15598 2000-02-11 Kenichi Handa <handa@etl.go.jp>
15599
15600 * insdel.c (del_range_1): Call update_compositions.
15601 (del_range_both): Call update_compositions just once..
15602
15603 2000-02-10 Dave Love <fx@gnu.org>
15604
15605 * xfns.c (create_frame_xic): Fix initialization of automatic
15606 aggregates for pcc.
15607
15608 2000-02-09 Kenichi Handa <handa@etl.go.jp>
15609
15610 * ccl.c (CCL_MAKE_CHAR): New macro.
15611 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
15612 registers by CCL_MAKE_CHAR before calling translate_char.
15613 <CCL_TranslateCharacterConstTbl> Likewise.
15614
15615 2000-02-08 Dave Love <fx@gnu.org>
15616
15617 * lread.c (__EXTENSIONS__): Define.
15618
15619 2000-02-08 Gerd Moellmann <gerd@gnu.org>
15620
15621 * puresize.h (BASE_PURESIZE): Increase to 650000.
15622
15623 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15624
15625 * msdos.c (XMenuActivate): Turn off the cursor after displaying
15626 the help message.
15627
15628 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15629
15630 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
15631 md, mh, mb, mr, and me to the fake termcap entry.
15632
15633 2000-02-06 Ken Raeburn <raeburn@gnu.org>
15634
15635 * sound.c (sound_cleanup): Don't call device close routine if the
15636 function pointer is null.
15637
15638 2000-02-06 Andrew Innes <andrewi@gnu.org>
15639
15640 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
15641 around image definitions and prototypes.
15642 (gamma_correct) [WINDOWSNT]: New prototype.
15643
15644 * w32term.c (x_make_frame_visible): Replace call to
15645 input_poll_signal with poll_for_input.
15646
15647 * window.c [WINDOWSNT]: Include w32term.h.
15648
15649 * xdisp.c [WINDOWSNT]: Include w32term.h.
15650
15651 * makefile.nt: Add dependencies on w32gui.h.
15652 (OBJ1): Include atimer.obj.
15653 ($(BLD)\atimer.obj): New dependency rule.
15654
15655 * w32.c (sigmask): New function (does nothing).
15656 (sigunblock): Ditto.
15657
15658 * frame.c [WINDOWSNT]: Include w32term.h.
15659
15660 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
15661
15662 * lread.c (syms_of_lread): Fix literal newlines.
15663
15664 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
15665 the string constant limit (2048 bytes) in MSVC.
15666 (main): Ditto.
15667
15668 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
15669
15670 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
15671 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
15672 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
15673 dispatch the event.
15674
15675 2000-02-04 Dave Love <fx@gnu.org>
15676
15677 * fileio.c: Remove some unused vars.
15678 (_GNU_SOURCE): Define (for euidaccess).
15679
15680 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
15681
15682 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
15683 gcpro1, gcpro2.
15684 (read_minibuf): Deal with allow_props correctly.
15685
15686 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
15687
15688 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
15689
15690 2000-02-03 Ken Raeburn <raeburn@gnu.org>
15691
15692 * search.c (compile_pattern): If a cache entry has a nil regexp,
15693 fill in that entry instead of clobbering a previously cached
15694 string regexp.
15695
15696 2000-02-02 Ken Raeburn <raeburn@gnu.org>
15697
15698 * puresize.h (BASE_PURESIZE): Increase to 610000.
15699
15700 2000-02-02 Gerd Moellmann <gerd@gnu.org>
15701
15702 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
15703 can GC.
15704
15705 2000-02-02 Kenichi Handa <handa@etl.go.jp>
15706
15707 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
15708 instead of incrementing ic directly.
15709 <CCL_WriteExprConst> Likewise.
15710 <ccl_set_expr>: Set ic to jump_address.
15711
15712 * fileio.c (e_write): Fix the handling of
15713 CODING_FINISH_INSUFFICIENT_SRC.
15714
15715 2000-02-01 Dave Love <fx@gnu.org>
15716
15717 * editfns.c (Fpropertize): Doc fix.
15718
15719 * process.c (Fstart_process): Doc fix.
15720
15721 * eval.c: Fix various doc strings not to duplicate information
15722 from help-manyarg-func-alist.
15723
15724 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
15725
15726 * doc.c (Vhelp_manyarg_func_alist): New variable.
15727 (Fdocumentation): Use it.
15728 (syms_of_doc): Define it.
15729
15730 2000-01-31 Gerd Moellmann <gerd@gnu.org>
15731
15732 * xterm.c (xim_open_dpy): Remove unused local variable.
15733
15734 * emacs.c (USAGE): Use term `display options' instead of `X options'.
15735
15736 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
15737 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
15738
15739 * fns.c (sweep_weak_table): New function.
15740 (sweep_weak_hash_tables): Use it. Keep on marking until there
15741 is no more change.
15742
15743 2000-01-30 Gerd Moellmann <gerd@gnu.org>
15744
15745 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
15746 that XTread_socket does not crash by trying to call XNoOp on a
15747 closed display.
15748
15749 2000-01-30 Jason Rumney <jasonr@gnu.org>
15750
15751 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15752 Change selected_frame to SELECTED_FRAME ().
15753 (w32_console_mouse_position): Remove #ifndef MULE from around
15754 `insist' parameter.
15755
15756 * makefile.nt: Remove dosfns.obj.
15757
15758 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
15759
15760 * w32fns.c (w32_defined_color): Check for valid frame before
15761 applying gamma correction. Eliminate dependency on frame elsewhere.
15762 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
15763 (w32_to_x_font): Use resx and resy not height_in and width_in.
15764 (x_to_w32_font): Doc fix.
15765 (xlfd_strip_height): New function to strip and return font height.
15766 (w32_font_match): Compare height separately from rest of xlfd
15767 spec, using xlfd_strip_height.
15768
15769 * w32term.c (w32_term_init): Swap resx and height_in, resy and
15770 width_in. Use w32_defined_color in place of defined_color.
15771
15772 * w32faces.c: Merge more of DOS and X specifics in preparation for
15773 merge with xfaces.c.
15774 (defined_color): Remove FIXME comment.
15775 (tty_color_name): Provide w32-specific function.
15776 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
15777
15778 * w32console.c (turn_on_face, turn_off_face): Removed.
15779 (w32_face_attributes): New function.
15780 (Global_variables): Reduce scope where possible.
15781 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
15782 fill attribute.
15783 (hl_mode): Don't modify text attributes.
15784 (write_glyphs): Don't do anything if len <= 0. Use
15785 w32_face_attributes to get attributes for drawing. Write
15786 terminating codes using char_attr_normal.
15787 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
15788 (update_begin, update_end): Likewise.
15789 (vga_stdcolor_name): New function.
15790 (initialize_w32_display): Remove char_attr_reverse and char_attr.
15791 (Fset_screen_color): Remove char_attr_reverse.
15792
15793 2000-01-29 Gerd Moellmann <gerd@gnu.org>
15794
15795 * xfns.c (xic_set_preeditarea): Take window parameter and
15796 window-relative pixel-positions.
15797
15798 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
15799 is its frame's selected window.
15800 (xim_instantiate_callback): Likewise.
15801
15802 * xfns.c (x_create_im): Removed.
15803 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
15804 (supported_xim_styles): Renamed from supported_styles.
15805 (best_xim_style): Renamed from best_style.
15806 (create_frame_xic): Renamed from xic_create_frame.
15807 (free_frame_xic): Renamed from xic_destroy_frame.
15808
15809 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
15810
15811 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
15812 our frames, call XFilterEvent with 2nd parameter `None'.
15813 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
15814 returning XBufferOverflow.
15815 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
15816 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
15817 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
15818 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
15819 (xim_initialize, xim_close)
15820 [HAVE_X_I18N && HAVE_X11R6]: New functions.
15821 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
15822 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
15823 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
15824
15825 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
15826 and `xim_styles'.
15827 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
15828 `xic_style' and `xic_xfs'.
15829 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
15830 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
15831 (FRAME_XIM): Removed.
15832
15833 * xfns.c (supported_styles): New variable.
15834 (DEFAULT_STYLE, DEFAULT_FONT): New macros
15835 (xic_create_xfontset, best_style, xic_create_frame)
15836 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
15837 (xic_set_xfontset): New functions.
15838
15839 2000-01-28 Dave Love <fx@gnu.org>
15840
15841 * s/irix6-5.h: Revert last change after change to irix5-0.h.
15842
15843 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
15844
15845 2000-01-28 Gerd Moellmann <gerd@gnu.org>
15846
15847 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
15848 for *scratch* if it already existed.
15849
15850 * emacs.c (USAGE): New macro.
15851 (main): Use it to display usage information.
15852
15853 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15854
15855 Support for the menu-help feature:
15856
15857 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
15858
15859 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
15860 part of the line to the termscript file.
15861 (IT_clear_to_end): Clear the entire line, not just its beginning.
15862 (menu_help_message, prev_menu_help_message): New variables.
15863 (IT_menu_make_room): Make room for the help_text member.
15864 (IT_menu_display): New argument disp_help; all callers changed.
15865 If disp_help is non-zero, store the help text of the active menu
15866 item in menu_help_message.
15867 (XMenuAddPane): Initialize the help_text member to NULL.
15868 (XMenuAddSelection): New argument help_text. Store it in the
15869 XMenu structure.
15870 (XMenuActivate): New argument help_callback. If the value of
15871 menu_help_message has changed since the last time, display the
15872 menu help message text while waiting for the mouse to move. Clear
15873 the echo area before exiting.
15874 (XMenuDestroy): Free the help_text member.
15875
15876 2000-01-27 Gerd Moellmann <gerd@gnu.org>
15877
15878 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
15879 XMenuAddSelection. Pass help callback to XMenuActivate.
15880 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
15881
15882 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15883
15884 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
15885 and EMACS_SET_USECS.
15886
15887 2000-01-26 Dave Love <fx@gnu.org>
15888
15889 * editfns.c (Fchar_after, Fchar_before): Doc fix.
15890
15891 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
15892 an error may be signalled.
15893
15894 2000-01-26 Gerd Moellmann <gerd@gnu.org>
15895
15896 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
15897 LD_SWITCH_SYSTEM inherited from irix5-0.h.
15898
15899 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
15900
15901 2000-01-25 Gerd Moellmann <gerd@gnu.org>
15902
15903 * charset.c (Fstring): If there is a multibyte char among
15904 the args, always return a multibyte string.
15905
15906 2000-01-25 Gerd Moellmann <gerd@gnu.org>
15907
15908 * sysdep.c (sys_select): Turn atimers off and on instead of
15909 recording and restoring old alarm handler
15910
15911 * process.c (toplevel): Include atimer.h.
15912 (create_process_1): Rewritten.
15913 (create_process): Use atimers instead of alarm.
15914 (wait_reading_process_input) [hpux]: Turn atimers off instead
15915 of turning off SIGALRM.
15916 (wait_reading_process_input): Turn off atimers instead off
15917 calling stop_polling.
15918
15919 * emacs.c (main): Call init_atimer.
15920
15921 * keyboard.c (toplevel): Include systime.h and atimer.h.
15922 (polling_for_input): Removed because unused.
15923 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15924 (poll_timer): New variable.
15925 (poll_for_input, poll_for_input_1): New functions.
15926 (start_polling, stop_polling): Rewritten.
15927
15928 * keyboard.h (polling_for_input): Removed.
15929
15930 * atimer.h, atimer.c: New files.
15931
15932 * Makefile.in (obj): Add atimer.o.
15933 (atimer.o): New target.
15934
15935 * blockinput.h (pending_atimers): Add extern declaration.
15936 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15937
15938 * lisp.h (popup_activated_flag): Add extern declaration.
15939
15940 * xmenu.c (popup_activated_flag): Make externally visible.
15941 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
15942 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15943
15944 * xterm.c (toplevel): Include atimer.h.
15945 (toolkit_scroll_bar_interaction): New variable.
15946 (Fxt_process_timeouts): Removed.
15947 (x_process_timeouts): New function.
15948 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15949 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15950 (x_make_frame_visible): Call poll_for_input_1 instead of
15951 input_poll_signal. Don't call alarm.
15952 (x_initialize): Install timer calling x_process_timeouts.
15953
15954 2000-01-24 Dave Love <fx@gnu.org>
15955
15956 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
15957 Don't use -cckr -- apparently not now necessary.
15958
15959 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15960
15961 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15962 screen boundary.
15963
15964 2000-01-23 Jason Rumney <jasonr@gnu.org>
15965
15966 * w32fns.c (w32_defined_color): Apply gamma correction before
15967 trying to map to the palette.
15968 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15969 to w32_clear_rect.
15970
15971 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15972 here. Callers changed to always pass real device context.
15973 (w32_draw_bitmap): Likewise.
15974 (w32_get_glyph_overhangs): Likewise.
15975 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
15976 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15977 pfnSetScrollInfo and SetScrollRange.
15978 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15979 back into MULE characters after decoding them.
15980 (x_get_glyph_face_and_encoding): Likewise.
15981 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15982 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15983 (x_produce_glyphs): Calculate per char metrics for a character
15984 that we know exists in default font when font_not_found_p is true.
15985
15986 2000-01-22 Jason Rumney <jasonr@gnu.org>
15987
15988 * makefile.nt (intervals.obj, composite.obj): New modules.
15989 (composite.h): Added as dependency where appropriate.
15990
15991 * w32gui.h (XGCValue): New struct for emulating X GCs.
15992
15993 * w32term.h (XCharStruct): New struct for emulating X.
15994
15995 * w32console.c (turn_on_face, turn_off_face): New functions.
15996 (change_line_highlight): New prototype for new redisplay.
15997 (write_glyphs): Support multibyte text. Support faces.
15998
15999 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
16000
16001 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
16002 throughout. struct frame * in place of FRAME_PTR.
16003 Skeleton support for images, toolbars, tooltips from xfns.c.
16004 (Fx_create_frame): Use system default for default scroll bar width.
16005 (w32_get_arg): Renamed from x_get_arg.
16006 (Fx_file_dialog): New function.
16007 (w32_list_fonts): Check cache before asking system.
16008 (Vw32_enable_synthesized_fonts): New variable.
16009 (Vw32_enable_italics): Obsolete, removed.
16010
16011 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
16012 Use SELECTED_FRAME macro.
16013
16014 * w32menu.c: Add skeleton support for help strings on menus.
16015 (add_menu_item): Native checkbox and radio support added, but not
16016 yet enabled due to bugs.
16017 (push_menu_item): Add parameters type, selection and help.
16018 Callers updated.
16019 Formatting changes to reduce unnecessary diffs with xmenu.c.
16020
16021 * w32select.c (Fw32_set_clipboard_data): Update call to
16022 find_charset_in_str.
16023
16024 * w32term.c: Complete rewrite for new redisplay based on new
16025 xterm.c with necessary sections merged back in from old w32term.c.
16026
16027 2000-01-21 Richard M. Stallman <rms@gnu.org>
16028
16029 * data.c (set_internal): Further fix in same criterion.
16030
16031 2000-01-20 Richard M. Stallman <rms@gnu.org>
16032
16033 * data.c (set_internal): Fix the criteria for whether
16034 to swap out the old cached binding.
16035
16036 2000-01-19 Dave Love <fx@gnu.org>
16037
16038 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
16039
16040 2000-01-18 Kenichi Handa <handa@etl.go.jp>
16041
16042 * regex.c (re_compile_fastmap): While checking a range table for
16043 `charset', skip flag bits for a character class correctly.
16044
16045 2000-01-17 Gerd Moellmann <gerd@gnu.org>
16046
16047 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
16048
16049 * xfns.c (x_window): Call lw_create_widget with new parameter list.
16050
16051 * widget.c (EmacsFrameSetCharSize): Change size of children first
16052 because of problems with main window geometry management under Lesstif.
16053
16054 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
16055 MENU_ITEMS_ITEM_.*.
16056 (MENU_ITEMS_ITEM_HELP): New enumerator.
16057 (push_menu_item): Add parameter HELP. Record help in menu_items.
16058 (single_menu_item, single_submenu, list_of_items): Call
16059 push_menu_item with new parameter.
16060 (single_submenu): Set help string in widget value.
16061 (menu_highlight_callback): New function.
16062 (set_frame_menubar): Call lw_create_widget with new
16063 parameter list.
16064 (xmenu_show, xdialog_show): Ditto.
16065
16066 2000-01-13 Gerd Moellmann <gerd@gnu.org>
16067
16068 * sound.c (Fplay_sound): Improve doc string.
16069
16070 2000-01-11 Richard M. Stallman <rms@gnu.org>
16071
16072 * lisp.h (set_internal): Enter the new arg.
16073
16074 * eval.c (specbind): Record buffer-local variables specially,
16075 indicating which buffer's binding was saved.
16076 (unbind_to): Restore buffer-local variables specially
16077 in the proper buffer.
16078
16079 * data.c (set_internal): New arg BUF.
16080
16081 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
16082 * data.c (Fset): Pass new arg to set_internal.
16083 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
16084
16085 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16086
16087 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
16088
16089 2000-01-11 Richard M. Stallman <rms@gnu.org>
16090
16091 * minibuf.c (Ftry_completion): Doc fix.
16092
16093 2000-01-11 Gerd Moellmann <gerd@gnu.org>
16094
16095 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
16096 vector, too.
16097
16098 2000-01-11 Andreas Schwab <schwab@suse.de>
16099
16100 * coding.c (code_convert_region): Initialize total_skip.
16101
16102 2000-01-08 Dave Love <fx@gnu.org>
16103
16104 * eval.c (Fuser_variable_p): Check customizability too.
16105
16106 2000-01-07 Gerd Moellmann <gerd@gnu.org>
16107
16108 * minibuf.c (Fcompleting_read): Doc fix.
16109
16110 2000-01-05 Gerd Moellmann <gerd@gnu.org>
16111
16112 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
16113 -L /usr/local/lib.
16114
16115 * xfns.c (x_create_im): New function to set IM and IC of a frame.
16116 Check that input style is supported before trying to create an
16117 IC for it.
16118 (x_window): Call x_create_im.
16119
16120 2000-01-04 Gerd Moellmann <gerd@gnu.org>
16121
16122 * xfns.c (current_gif_memory_src): New variable.
16123 (gif_load): Record the address of the current memory source
16124 in current_gif_memory_src.
16125 (gif_read_from_memory): Use current_gif_memory_src.
16126
16127 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
16128 macros statement form.
16129
16130 * sound.c (struct sound): Renamed from struct sound_file.
16131 (struct sound): Add members `data' and `header_size'.
16132 (enum sound_attr): Add SOUND_DATA.
16133 (current_sound, current_sound_device): Variables renamed from
16134 sound_file and sound_device.
16135 (parse_sound): Parse :data.
16136 (parse_sound): Handle sound data in strings.
16137 (find_sound_type): Function renamed from find_sound_file_type.
16138 (wav_init, au_init): Fail if sound's header_size is smaller than
16139 needed header size.
16140 (wav_play, au_play): Play sounds from string data.
16141
16142 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
16143
16144 * lisp.h: Add prototype for allocate_string_data.
16145
16146 * alloc.c (Fgarbage_collect): Return number of live and free strings.
16147
16148 * alloc.c (mark_buffer): Remove code in #if 0.
16149 (gc_sweep): Ditto.
16150 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
16151 (strings_consed): New variable.
16152 (allocate_string): Set it.
16153 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
16154 (Fmemory_use_counts): Return strings_consed. Use Flist.
16155
16156 * alloc.c: General cleanup in comments etc. Remove conditional
16157 compilation for `standalone'.
16158
16159 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
16160
16161 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
16162 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
16163 (DONT_COPY_FLAG): Removed.
16164 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
16165 (struct sdata, struct sblock): New
16166 (struct string_block): Rewritten.
16167 (STRINGS_IN_STRING_BLOCK): New macro.
16168 (oldest_sblock, current_sblock, total_strings, total_free_strings)
16169 (large_sblocks, string_blocks, string_free_list): New variables.
16170 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
16171 (init_strings): Rewritten.
16172 (allocate_string, allocate_string_data, compact_small_strings)
16173 (free_large_strings, sweep_strings): New functions.
16174 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
16175 (struct string_block_head, current_string_block)
16176 (first_string_block, large_string_blocks, STRING_FULLSIZE)
16177 (STRING_PAD): Removed.
16178 (make_uninit_multibyte_string, make_pure_string): Rewritten.
16179 (Fgarbage_collect): Don't set mark bit in large strings.
16180 (mark_object): Mark strings differently. Mark symbol names
16181 differently.
16182 (survives_gc_p): Test marked strings differently.
16183 (gc_sweep): Sweep strings differently, unmark strings in
16184 symbol names.
16185 (compact_strings): Removed.
16186
16187 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
16188
16189 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
16190 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
16191
16192 2000-01-04 Kenichi Handa <handa@etl.go.jp>
16193
16194 * fileio.c (Finsert_file_contents): Signal error if visiting file
16195 in a non-empty buffer.
16196
16197 * term.c (encode_terminal_code): Fix the previous change.
16198
16199 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16200
16201 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
16202 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
16203
16204 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
16205
16206 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16207
16208 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
16209 need to test for MSDOS frames.
16210
16211 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16212
16213 * dosfns.c (unspecified_colors): Remove.
16214 (msdos_stdcolor_idx): Use global variables unspecified_fg and
16215 unspecified_bg.
16216 (msdos_stdcolor_name): Return strings for unspecified fore- and
16217 back-ground colors.
16218
16219 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
16220 (syms_of_xfaces): Remove their staticpro's.
16221 (tty_color_name): Return Lisp strings for unspecified fore- and
16222 back-ground colors.
16223 (Finternal_set_lisp_face_attribute): Remove the special treatment
16224 for Qunspecified_{f,b}g.
16225 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
16226
16227 2000-01-03 Gerd Moellmann <gerd@gnu.org>
16228
16229 * xdisp.c (reseat_at_next_visible_line_start): Position before
16230 newline only if ending up on a newline.
16231 (next_element_from_ellipsis): Return success. Handle case of
16232 displaying no ellipsis. Fix case of ellipsis defined in display table.
16233 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
16234 returns 0.
16235
16236 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
16237
16238 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
16239 (Fcolor_supported_p): Renamed from face-color-supported-p.
16240
16241 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16242
16243 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
16244 list of colors renamed to tty-defined-color-alist.
16245 (tty_color_name): Pass the frame to tty-color-by-index.
16246 (realize_tty_face): tty-color-alist is now a function which
16247 accepts the frame as argument.
16248
16249 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
16250
16251 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16252
16253 * term.c (insert_glyphs): Pass glyph, not &glyph, to
16254 encode_terminal_code.
16255
16256 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
16257
16258 * dispnew.c (mode_line_string): Support termcap frames as well.
16259
16260 2000-01-01 Gerd Moellmann <gerd@gnu.org>
16261
16262 * syntax.c (Fforward_word): Undo previous change.
16263
16264 * editfns.c (Fconstrain_to_field): Don't constrain if
16265 inhibit-field-text-motion is non-nil.
16266 (Fline_beginning_position): Undo previous change.
16267 (Fline_end_position): Ditto.
16268
16269 * syntax.c (Fforward_word): Notice field boundaries only if
16270 inhibit-field-text-motion is nil.
16271
16272 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
16273
16274 * editfns.c (Vinhibit_field_text_motion): New variable.
16275 (inhibit-field-text-motion): New DEFVAR_LISP.
16276 (Fline_beginning_position, Fline_end_position): Notice field
16277 boundaries only if inhibit-field-text-motion is nil.
16278
16279 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
16280 All calls adjusted.
16281 (x_build_heuristic_mask): Likewise.
16282 (xbm_load_image_from_file): Change error output.
16283 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
16284 (gif_load, gs_load, x_kill_gs_process): Ditto.
16285
16286 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
16287 color indices when accessing raster pixels.
16288 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
16289 one of :file or :data.
16290 (enum pbm_keyword_index): Add PBM_DATA.
16291 (pbm_format): Add :data.
16292 (pbm_image_p): Allow either :file or :data.
16293 (pbm_read_file): New function.
16294 (pbm_scan_number): Rewritten to read from string.
16295 (pbm_load): Support :data.
16296
16297 See ChangeLog.8 for earlier changes.
16298
16299 ;; Local Variables:
16300 ;; coding: iso-2022-7bit
16301 ;; End:
16302
16303 Copyright (C) 2001 Free Software Foundation, Inc.
16304 Copying and distribution of this file, with or without modification,
16305 are permitted provided the copyright notice and this notice are preserved.