]> code.delx.au - gnu-emacs/blob - src/ChangeLog
*** empty log message ***
[gnu-emacs] / src / ChangeLog
1 2002-02-13 Kim F. Storm <storm@cua.dk>
2
3 * window.c: (Vmode_line_in_non_selected_windows): Removed.
4 (mode_line_in_non_selected_windows): New variable.
5 (syms_of_window): DEFVAR_BOOL it.
6
7 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
8 mode_line_in_non_selected_windows.
9 (mode_line_in_non_selected_windows): Declare extern.
10 (Vmode_line_in_non_selected_windows): Removed extern.
11
12 2002-02-13 Richard M. Stallman <rms@gnu.org>
13
14 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
16 (Fclear_this_command_keys): Doc fixes.
17
18 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
19 (update_face_from_frame_parameter): Increment face_change_count
20 and windows_or_buffers_changed to force redisplay using changed faces.
21
22 * xdisp.c (QCpropertize): New variable.
23 (mode_line_proptrans_alist): New variable.
24 (display_mode_element): New arg PROPS; all calls changed.
25 Implement this, for strings.
26 Handle literal output of strings by sharing the
27 main-line code for strings, using local var `literal'.
28 Handle :propertize feature.
29 (syms_of_xdisp): Initialze and staticpro QCpropertize and
30 mode_line_proptrans_alist.
31
32 2002-02-11 Kim F. Storm <storm@cua.dk>
33
34 * window.c: (Vmode_line_in_non_selected_windows): New variable.
35 (syms_of_window): DEFVAR_LISP it.
36
37 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
38 (CURRENT_MODE_LINE_FACE_ID): Use it.
39 (Vmode_line_in_non_selected_windows): Declare extern.
40
41 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
42 to get mode line face.
43
44 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
45
46 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
47 variables; cus-start.el doesn't need them anymore.
48
49 2002-02-09 Kim F. Storm <storm@cua.dk>
50
51 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
52 reduction. This fixes a display problem where stray newlines were
53 inserted in the window (corrected by C-l). Clarified code (IMHO).
54
55 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
56
57 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
58
59 * xdisp.c (display_mode_lines): Fix last change.
60
61 2002-02-09 Jason Rumney <jasonr@gnu.org>
62
63 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
64 match each other.
65 (w32_load_system_font): Prevent Cleartype fonts from loading.
66 (Fx_show_tip): Ensure tip frames are above other topmost windows.
67
68 2002-02-09 Kim F. Storm <storm@cua.dk>
69
70 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
71 (CURRENT_MODE_LINE_HEIGHT): Use it.
72 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
73
74 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
75 (pos_visible_p, handle_face_prop): Likewise.
76 (display_mode_lines): Likewise, but for the real selected window.
77 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
78
79 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
80 in non-selected windows.
81 (realize_basic_faces): Realize it.
82 (syms_of_term): Intern and staticpro it.
83
84 2002-02-08 Kim F. Storm <storm@cua.dk>
85
86 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
87 Changed mail addresses to emacs-devel@gnu.org.
88
89 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
90
91 * fileio.c (Fsubstitute_in_file_name): If the file name includes
92 ~user, and there's no such user, don't discard everything before
93 ~user.
94
95 * floatfns.c (Fround): Doc fix.
96
97 2002-02-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
98
99 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
100
101 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
102
103 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
104
105 2002-02-07 Kim F. Storm <storm@cua.dk>
106
107 * keymap.c (where_is_internal): Only check whether definition is
108 remapped if it fulfills is_command_symbol.
109
110 2002-02-07 Andreas Schwab <schwab@suse.de>
111
112 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
113
114 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
115
116 2002-02-06 Kim F. Storm <storm@cua.dk>
117
118 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
119 defining command remapping. Doc updated.
120 (Flookup_key): Remap command through keymap if KEY is a symbol.
121 (is_command_symbol): New function.
122 (Fkey_binding): Use it. New optional argument NO-REMAP.
123 Doc updated. Callers changed. Perform command remapping via
124 recursive call unless that arg is non-nil.
125 (where_is_internal): New argument no_remap. Callers changed.
126 Call recursively to find original key bindings for a remapped
127 comand unless that arg is non-nil.
128 (Fwhere_is_internal): New optional argument NO-REMAP.
129 Doc updated. Callers changed. Pass arg to where_is_internal.
130
131 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
132 (is_command_symbol): Added prototype.
133
134 * keyboard.c (Vthis_original_command): New variable.
135 (syms_of_keyboard): DEFVAR_LISP it.
136 (command_loop_1): Set it, and perform command remapping.
137
138 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
139
140 * keyboard.c (recursive_edit_1): Call cancel_hourglass
141 unconditionally.
142
143 2002-02-06 Jason Rumney <jasonr@gnu.org>
144
145 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
146
147 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
148
149 * charset.c (get_charset_id): Use if-else instead of ?:.
150
151 2002-02-06 Richard M. Stallman <rms@gnu.org>
152
153 * filelock.c (S_ISLNK): Define if not defined.
154
155 2002-02-03 Richard M. Stallman <rms@gnu.org>
156
157 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
158
159 * lread.c (read1): Redesign strategy for force_multibyte and
160 force_singlebyte. Now is_multibyte records whether read_buffer
161 is multibyte. Encountering any multibyte character makes it so.
162
163 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
164
165 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
166 with the same sequence, map that sequence to f10 rather than f0.
167
168 2002-02-03 Andreas Schwab <schwab@suse.de>
169
170 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
171 latter never being defined on GNU/Linux.
172
173 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
174
175 * xfaces.c (realize_default_face): Don't set the weight and slant
176 of the default face to Qnormal, unless these attributes are
177 unspecified.
178
179 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
180
181 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
182 Call cancel_hourglass unconditionally.
183
184 * eval.c (Fsignal): Remove duplicated declaration of
185 the variable `display_hourglass_p'.
186
187 2002-01-31 Richard M. Stallman <rms@gnu.org>
188
189 * editfns.c (region_limit): Nicer error message.
190
191 * coding.c (decode_composition_emacs_mule):
192 Give up if NCOMPONENT gets too large to index `component'.
193
194 * callint.c (check_mark): New arg to specify clearer error message.
195 Callers changed.
196
197 2002-01-27 Richard M. Stallman <rms@gnu.org>
198
199 * minibuf.c (Fcompleting_read): Doc fix.
200
201 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
202
203 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
204 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
205 Fix doc-strings.
206
207 2002-01-26 Richard M. Stallman <rms@gnu.org>
208
209 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
210
211 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
212 and scroll_up_aggressively.
213
214 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
215
216 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
217
218 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
219
220 * textprop.c (Fnext_property_change, Fnext_single_property_change)
221 (Fprevious_property_change, Fprevious_single_property_change):
222 Stay within the narrowed-buffer boundaries.
223
224 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
225
226 * term.c (Ftty_display_color_cells): New function.
227 (syms_of_term): Defsubr it.
228 (Ftty_display_color_cells, Ftty_display_color_p): Change the
229 argument name to DISPLAY. Doc fix.
230
231 * dispextern.h: Add prototype for set_tty_color_mode and
232 tty_setup_colors.
233
234 2002-01-24 Jason Rumney <jasonr@gnu.org>
235
236 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
237 If region left to draw is not what was expected, mark the frame as
238 garbaged.
239
240 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
241 Combine the regions returned by BeginPaint and GetUpdateRect.
242
243 2002-01-23 Jason Rumney <jasonr@gnu.org>
244
245 * w32term.c (x_update_window_begin): Only hide caret if
246 w32_use_visible_system_caret is set.
247 (x_update_window_end): Only show caret if
248 w32_use_visible_system_caret is set.
249 (syms_of_w32term): Handle SystemParametersInfo call failing.
250
251 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
252
253 2002-01-22 Richard M. Stallman <rms@gnu.org>
254
255 * unexelf.c (unexec): Define n so as to cause compilation error
256 for the code where people have often written n instead of nn.
257
258 * .gdbinit (hookpost-run): Defined.
259
260 2002-01-22 Jan D. <Jan.Djarv@mbox200.swipnet.se>
261
262 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
263
264 2002-01-21 Jan D. <Jan.Djarv@mbox200.swipnet.se>
265
266 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
267 if fullscreen is being set.
268
269 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
270
271 * minibuf.c (Fminibuffer_contents)
272 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
273 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
274
275 2002-01-21 Richard M. Stallman <rms@gnu.org>
276
277 * window.c (check_frame_size): Fix minimum height calculation.
278
279 2002-01-20 Ken Raeburn <raeburn@gnu.org>
280
281 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
282 height before comparison.
283 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
284
285 2002-01-20 Jason Rumney <jasonr@gnu.org>
286
287 * w32term.c (w32_system_caret_width): Remove.
288 (w32_use_visible_system_caret): New user flag.
289 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
290 Windows reports a screen reader running.
291 (x_update_window_begin): Hide the system caret.
292 (x_update_window_end): Show the system caret.
293 (x_display_and_set_cursor): Don't draw a cursor when
294 w32_use_visible_system_caret is set. Do not adjust width.
295
296 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
297 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
298 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
299 the user requests it. Use system default width when creating.
300 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
301
302 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
303 New window messages.
304
305 2002-01-20 Richard M. Stallman <rms@gnu.org>
306
307 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
308
309 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
310
311 * doprnt.c (doprnt1): Fix typos in error call.
312
313 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
314
315 * unexelf.c (unexec) [__sgi]: Support the .got sections.
316
317 2002-01-20 Jason Rumney <jasonr@gnu.org>
318
319 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
320 that Windows returns. If a double check fails, try to guess how
321 ExtTextOut is going to act.
322
323 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
324 in place of stricmp.
325 (w32_list_synthesized_fonts): Removed.
326 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
327 (struct enumfont_t): New element; list.
328 (enum_font_cb2): List all style and charset variations of a font.
329 (Fw32_select_font): New optional argument; include_proportional.
330 Exclude vertical fonts. Exclude proportional fonts unless
331 include_proportional is non-nil.
332 (w32_enable_synthesized_fonts): Change to a boolean.
333 (Fw32_send_sys_command): Doc fix.
334
335 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
336
337 * dispnew.c (update_frame): Move the variable `tem' to the block
338 where it is used.
339
340 2002-01-19 Jason Rumney <jasonr@gnu.org>
341
342 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
343 call to face-set-after-frame-default.
344
345 2002-01-18 Richard M. Stallman <rms@gnu.org>
346
347 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
348 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
349
350 2002-01-17 Richard M. Stallman <rms@gnu.org>
351
352 * window.c (enlarge_window): When exceeding size of parent,
353 directly delete all the siblings instead of trying to resize it.
354
355 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
356
357 * term.c (set_tty_color_mode): Remove unused variable `tem'.
358
359 2002-01-16 Henrik Enberg <henrik@enberg.org>
360
361 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
362
363 2002-01-16 Kim F. Storm <storm@cua.dk>
364
365 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
366 is invisible. This can happen if cursor is on top line of a
367 window, and we switch to a buffer with a header line.
368
369 * w32term.c (x_erase_phys_cursor): Ditto.
370
371 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
372
373 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
374 `dont_resize' only when used.
375
376 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
377
378 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
379
380 * xdisp.c (display_mode_element): When computing charpos, depend
381 on multibyteness of elt, not the text in field.
382
383 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
384
385 * buffer.c (Fkill_all_local_variables): Increment
386 `update_mode_lines' only once.
387
388 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
389
390 * lisp.h (adjust_after_replace_noundo)
391 (Fupdate_coding_systems_internal): Add prototypes.
392
393 * sound.c (Fplay_sound): Initialize header_size also for :data case.
394
395 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
396
397 Support for the --color command-line argument and tty-color-mode
398 frame parameter:
399
400 * term.c (tty_default_color_capabilities, tty_setup_colors)
401 (set_tty_color_mode): New functions.
402 (term_init): Call tty_default_color_capabilities.
403 (Qtty_color_mode_alist): New variable.
404 (syms_of_term): Intern and staticpro it.
405
406 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
407 frames.
408 (do_switch_frame): For termcap frames, switch the tty
409 color mode as specified by the frame's parameters.
410 (Qtty_color_mode): New variable.
411 (syms_of_frame): Intern and staticpro it.
412
413 * emacs.c (USAGE2): Add the --color option.
414 (standard_args): Ditto.
415
416 2002-01-13 Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
417
418 * xterm.h (struct x_output): New members want_fullscreen,
419 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
420 y_pixels_outer_diff.
421 New enum for FULLSCREEN_* constants.
422 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
423 is NULL.
424 (x_fullscreen_adjust): Add prototype.
425
426 * emacs.c (USAGE2): Add the new full-screen arguments.
427 (standard_args): Ditto.
428
429 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
430 New variables.
431 (syms_of_xfns): Intern and staticpro them.
432 (x_frame_parms) <"fullscreen">: New parameter.
433 (x_fullscreen_move, x_set_fullscreen): New functions.
434 (x_set_frame_parameters): Support for Qfullscreen.
435 (x_real_positions): More accurate computation of the frame position.
436 (x_figure_window_size): Support full-screen frames.
437 (Fx_create_frame): Default the fullscreen parameter.
438
439 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
440 (XTread_socket) <Expose>: Call x_check_fullscreen.
441 <ConfigureNotify>: Don't resize to fullscreen.
442 Call x_check_fullscreen_move, and set the want_fullscreen member of
443 output_data.x.
444
445 2002-01-13 Jason Rumney <jasonr@gnu.org>
446
447 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
448 for mice with more than 3 buttons.
449
450 * w32term.c (parse_button): New parameter xbutton. Callers changed.
451 (w32_read_socket): Handle new "XBUTTON" messages.
452
453 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
454 (syms_of_w32fns): DEFVAR_BOOL it.
455 (w32_wnd_proc): Handle new "XBUTTON" messages.
456
457 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
458
459 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
460
461 2002-01-13 Andreas Schwab <schwab@suse.de>
462
463 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
464
465 2002-01-12 Andreas Schwab <schwab@suse.de>
466
467 * .gdbinit (xbuffer): Remove address operator since data is now a
468 pointer.
469
470 2002-01-11 Richard M. Stallman <rms@gnu.org>
471
472 * insdel.c (adjust_after_replace_noundo): New function.
473
474 * coding.c (code_convert_region): Don't copy old text if undo disabled.
475
476 2002-01-09 Jason Rumney <jasonr@gnu.org>
477
478 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
479 when checking for multiple frames.
480
481 2002-01-08 Richard M. Stallman <rms@gnu.org>
482
483 * window.c (delete_window): Rewrite the code for changing the
484 selected window to handle the case where WINDOW is not a leaf.
485
486 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
487
488 * process.c (send_process): Set src_multibyte to 1 after the call
489 top setup_coding_system, not before the call.
490
491 2002-01-07 Jason Rumney <jasonr@gnu.org>
492
493 * xmenu.c (set_frame_menubar, xmenu_show):
494 (xdialog_show): Initialize wv->help to Qnil.
495
496 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
497 (w32_dialog_show): Initialize wv->help to Qnil.
498
499 2002-01-06 Jason Rumney <jasonr@gnu.org>
500
501 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
502
503 * w32menu.c (w32_menu_display_help): Revert last change.
504
505 * xmenu.c (menu_highlight_callback): Revert last change.
506
507 2002-01-06 Andreas Schwab <schwab@suse.de>
508
509 * insdel.c (make_gap_larger): Make sure buffer size does not
510 overflow range of int.
511
512 2002-01-05 Jason Rumney <jasonr@gnu.org>
513
514 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
515 OVERLAPS_P.
516
517 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
518
519 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
520 to the left or to the right of the pointer, put it against
521 the left screen edge.
522 (x_frame_parms): Add missing braces around initializer.
523
524 * w32term.c (x_setup_relief_colors): Don't compute an image's
525 background color if it doesn't have a Pixmap.
526 (notice_overwritten_cursor): Don't depend on
527 output_cursor and updated_area. Compare pixel coordinates with
528 window's cursor pixel coordinates.
529 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
530 Call notice_overwritten_cursor with new arg list.
531 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
532 unconditionally.
533 (x_draw_image_relief): Use predefined macro instead of
534 constant when the value of `tool_bar_button_relief' is negative.
535
536 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
537
538 2002-01-04 Richard M. Stallman <rms@gnu.org>
539
540 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
541
542 2002-01-03 Richard M. Stallman <rms@gnu.org>
543
544 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
545 (Fkey_binding): Try the `keymap' property map first.
546 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
547 minor mode bindings.
548
549 2002-01-03 Kim F. Storm <storm@cua.dk>
550
551 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
552
553 2002-01-02 Richard M. Stallman <rms@gnu.org>
554
555 * keyboard.c (read_key_sequence): Handle the keymap property
556 before minor mode maps.
557
558 * editfns.c (Fformat): Update thissize from field_width
559 based on the actual width, in the string case.
560
561 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
562
563 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
564 when used as truth value to prevent gcc warnings.
565
566 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
567 * w32proc.c: Include <config.h>.
568
569 2002-01-01 Andreas Schwab <schwab@suse.de>
570
571 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
572 not EMACS_INT, to make them compatible with DEFVAR_INT.
573 * lisp.h (max_specpdl_size): Adjust declaration.
574
575 2002-01-01 Richard M. Stallman <rms@gnu.org>
576
577 * print.c (print_object): Test print_escape_nonascii only for
578 unibyte strings.
579 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
580 when outputting to a multibyte buffer.
581
582 2001-12-29 Richard M. Stallman <rms@gnu.org>
583
584 * print.c (print_object): In multibyte string, use hex escapes.
585 Use octal only for unibyte strings.
586 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
587
588 * lread.c (read_escape): New arg BYTEREP for reporting whether
589 escape forces unibyte or multibyte.
590 (read1): When reading a string, take note of that info.
591
592 2001-12-29 Ken Raeburn <raeburn@gnu.org>
593
594 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
595 comparison to test lisp value returned by Fget.
596
597 2001-12-29 Richard M. Stallman <rms@gnu.org>
598
599 * lisp.h (max_specpdl_size): Add declaration.
600
601 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
602
603 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
604 Handle modifier bits. Correct typo in error message.
605
606 2001-12-28 Richard M. Stallman <rms@gnu.org>
607
608 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
609 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
610 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
611 Update calls to Fdefine_abbrev.
612 (write_abbrev): Update for changed data format.
613 Don't list "system" abbrevs.
614 (Fexpand_abbrev): Update use count with new data format.
615 (describe_abbrev): Update for changed data format.
616 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
617
618 * config.in (HAVE_MBSINIT): Add #undef.
619
620 * strftime.c (mbsinit): Define as no-op if not available.
621
622 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
623 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
624
625 * keymap.c (Flookup_key): Error message if key has wrong data type.
626 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
627 (exclude_key): New variable.
628
629 2001-12-28 Gerd Moellmann <gerd@gnu.org>
630
631 * xterm.c (x_setup_relief_colors): Don't compute an image's
632 background color if it doesn't have a Pixmap.
633
634 * xterm.c (notice_overwritten_cursor): Don't depend on
635 output_cursor and updated_area. Compare pixel coordinates with
636 window's cursor pixel coordinates.
637 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
638 Call notice_overwritten_cursor with new arg list.
639 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
640 unconditionally.
641
642 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
643 height of the cursor line to the amount to scroll.
644
645 2001-12-27 Richard M. Stallman <rms@gnu.org>
646
647 * intervals.c (set_point_both): The position after an invisible,
648 intangible character is not an acceptable stopping point.
649
650 2001-12-27 Ken Raeburn <raeburn@gnu.org>
651
652 * window.c (enlarge_window): In new preserve_before code, convert
653 CURBEG from lisp object to integer before doing arithmetic.
654
655 2001-12-27 Richard M. Stallman <rms@gnu.org>
656
657 * bytecode.c (Fbyte_code): Undo previous change.
658
659 2001-12-26 Kim F. Storm <storm@cua.dk>
660
661 * keyboard.c (record_char): Ignore duplicate help-echo events only
662 separated by mouse-movement. When tracking mouse, only record
663 first and last mouse-movement event in same window.
664 Don't record mouse-movement events in keyboard macros.
665
666 2001-12-25 Richard M. Stallman <rms@gnu.org>
667
668 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
669 (Fenlarge_window): New arg PRESERVE_BEFORE.
670
671 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
672 instead of Fstring_as_unibyte.
673
674 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
675
676 The following changes remove mocklisp support:
677
678 * mocklisp.h, mocklisp.c: Files removed.
679
680 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
681 `Qmocklisp' and `Qmocklisp_arguments'.
682 Remove prototype of syms_of_mocklisp.
683
684 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
685
686 * callint.c: Do not include mocklisp.h.
687 (Fcall_interactively): Do not test for mocklisp case.
688
689 * eval.c: Remove variables `Qmocklisp_arguments',
690 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
691 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
692 Do not test for mocklisp case.
693 (Fwhile): Remove unused variable `tem'.
694 (syms_of_eval): Remove variable `moclisp-arguments'.
695
696 * data.c (wrong_type_argument): Remove mocklisp case.
697
698 * doc.c (Fdocumentation): Remove mocklisp case.
699
700 * emacs.c (main): Do not call syms_of_mocklisp.
701
702 2001-12-21 Richard M. Stallman <rms@gnu.org>
703
704 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
705 to the left or to the right of the pointer, put it against
706 the left screen edge.
707
708 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
709
710 * Makefile.in (distclean): Remove .gdbinit if we are building
711 outside the source tree.
712
713 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
714
715 * w32.c (emacs_root_dir): New function.
716
717 * msdos.c (emacs_root_dir): New function.
718
719 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
720 of the current drive as the fallback for default_directory.
721
722 * dired.c (file_name_completion): Run the elements of
723 completion-ignored-extensions through ENCODE_FILE.
724
725 * lisp.h (scmp): Remove prototype, since it's now a static
726 function private to dired.c.
727
728 2001-12-18 Richard M. Stallman <rms@gnu.org>
729
730 * dired.c (scmp): Function moved from minibuf.c.
731 Delete multibyte handling--used only on encoded strings.
732
733 * minibuf.c (scmp): Function moved to dired.c.
734
735 * fns.c (merge): Add QUIT call.
736
737 2001-12-18 Dave Love <fx@gnu.org>
738
739 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
740 language/georgian.el.
741
742 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
743
744 * Makefile.in (lisp, shortlisp): Synchronize with changes to
745 lisp/Makefile.in:DONTCOMPILE.
746
747 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
748
749 * xdisp.c (window_box_height): Do not return negative values.
750 From Gerd Moellmann <gerd@gnu.org>.
751
752 * keyboard.c (head_table): Add missing braces around initializer.
753
754 * term.c (keys): Likewise.
755
756 * xfns.c (x_frame_parms, visual_classes): Likewise.
757
758 2001-12-17 Sam Steingold <sds@gnu.org>
759
760 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
761 patch (COMPOSING_P, not COMPOSING).
762
763 2001-12-17 Richard M. Stallman <rms@gnu.org>
764
765 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
766
767 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
768 before calling decode_coding.
769
770 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
771
772 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
773 instead of only for COMPOSITION_DISABLED.
774
775 2001-12-16 Richard M. Stallman <rms@gnu.org>
776
777 * alloc.c (pure_alloc): After overflow, allocate just a small block.
778
779 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
780
781 * buffer.h (struct buffer): New field `display_error_modiff'.
782 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
783
784 * window.c (Frecenter): Clear display_error_modiff field.
785
786 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
787 Call redisplay_window, but not if display_error_modiff field says no.
788 (redisplay_window_error): New function.
789 (displayed_buffer): New variable.
790 (redisplay_internal, redisplay_windows): Call the new functions
791 instead of redisplay_window directly.
792
793 2001-12-15 Richard M. Stallman <rms@gnu.org>
794
795 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
796
797 2001-12-14 Andrew Innes <andrewi@gnu.org>
798
799 * makefile.w32-in (EMACSLOADPATH): Define.
800 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
801 (bootstrap-temacs): Remove dependency on bootstrap-clean.
802
803 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
804
805 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
806 parameter have a numeric value all the time.
807
808 * w32fns.c (x_report_frame_params): Likewise.
809
810 2001-12-12 Richard M. Stallman <rms@gnu.org>
811
812 * fileio.c (Fwrite_region): Doc fix.
813
814 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
815 (redisplay_internal): Call clear_image_cache only for window terminals.
816
817 2001-12-12 Gerd Moellmann <gerd@gnu.org>
818
819 * xdisp.c (move_it_vertically_backward): Change heuristic
820 for the case that we didn't move far enough initially.
821
822 * window.c (Frecenter): Simplify computation in the case of window
823 system frames and ARG < 0; use window_box_height.
824
825 2001-12-11 Richard M. Stallman <rms@gnu.org>
826
827 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
828 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
829
830 2001-12-11 Andrew Innes <andrewi@gnu.org>
831
832 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
833 arg is negative.
834
835 2001-12-11 Richard M. Stallman <rms@gnu.org>
836
837 * m/hp800.h: Split the __hpux conditional into the parts
838 that are right for GNU/Linux too and the parts that are not.
839 Use the former if GNU_LINUX.
840 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
841
842 * s/gnu-linux.h (GNU_LINUX): Defined.
843
844 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
845
846 * macros.c, msdos.c, w16select.c: Change doc-string comments to
847 `new style' [w/`doc:' keyword].
848
849 2001-12-10 Jason Rumney <jasonr@gnu.org>
850
851 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
852 before using.
853
854 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
855
856 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
857 keyword].
858
859 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
860
861 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
862
863 * s/hpux10.h (srand48): Don't undefine.
864
865 2001-12-09 Jason Rumney <jasonr@gnu.org>
866
867 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
868 Add comment to explain where the struct came from.
869 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
870 (add_menu_item): Process pop-up menus first to avoid memory leak.
871 (add_menu_item, w32_menu_display_help): Use `help' field as
872 Lisp_Object.
873 (w32_free_submenu_strings): Only free owner-drawn strings.
874
875 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
876
877 * COPYING: Moved back.
878
879 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
880 Add parentheses around && within ||.
881
882 * indent.c (compute_motion): Likewise.
883
884 * intervals.c (merge_properties_sticky): Likewise.
885
886 * coding.c (setup_coding_system, shrink_encoding_region)
887 (Fdecode_sjis_char): Likewise.
888
889 2001-12-07 Andreas Schwab <schwab@suse.de>
890
891 * xdisp.c (display_mode_element): Don't read past end of string if
892 it ends with '%'.
893
894 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
895 can hold.
896
897 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
898 from most_positive_fixnum and most_negative_fixnum, resp., and
899 type changed to Lisp_Object.
900 (syms_of_data): DEFVAR_LISP them.
901
902 2001-12-07 Richard M. Stallman <rms@gnu.org>
903
904 * callproc.c (init_callproc): Set Vdata_directory based on the source
905 location whenever Emacs was run uninstalled.
906
907 2001-12-06 Paul Eggert <eggert@twinsun.com>
908
909 * config.in (HAVE_WORKING_VFORK): New #undefs.
910 * process.c (create_process):
911 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
912 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
913 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
914 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
915 * m/intel386.h (HAVE_VFORK): Likewise.
916 * m/mips-siemens.h (HAVE_VFORK): Likewise.
917 * m/mips.h (HAVE_VFORK): Likewise.
918 * s/freebsd.h (vfork): Remove #define.
919 * s/lynxos.h (HAVE_VFORK): Remove #undef.
920 * s/usg5-4-2.h: Fix comment about vfork.
921
922 2001-12-06 Richard M. Stallman <rms@gnu.org>
923
924 * s/hpux10.h (random): Add undef.
925 (HAVE_RANDOM): Define it just once.
926
927 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
928
929 * eval.c: Undo last change: the standard syntax is not wanted.
930
931 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
932
933 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
934 scroll bars of the frame before deleting the frame itself. If the
935 frame has a widget, delete the frame with XtDestroyWidget, and do
936 not call XDestroyWindow before that.
937
938 2001-12-06 Kim F. Storm <storm@cua.dk>
939
940 * xfns.c (x_report_frame_params): Return actual fringe widths.
941
942 * w32fns.c (x_report_frame_params): Return actual fringe widths.
943
944 2001-12-05 Andrew Innes <andrewi@gnu.org>
945
946 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
947 excessively large.
948
949 * insdel.c (make_gap_larger): New function.
950 (make_gap_smaller): New function.
951 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
952 make_gap_smaller if arg is negative.
953
954 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
955
956 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
957 Pass a dummy argument when calling interrupt_signal.
958 (parse_menu_item): Mark disabled items before checking for empty def.
959 (read_char_minibuf_menu_prompt): Make safety more visible.
960 (read_key_sequence): Add a `first_unbound' variable.
961 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
962 unbound prefix as soon as we can detect it.
963
964 * doc.c (Fsnarf_documentation): Add prototype.
965 (get_doc_string): Handle negative arguments.
966 (Fdocumentation): Use AREF and ASIZE.
967 Move the calls to get_doc_string to a single place.
968 Don't confuse an interactive-spec for a docstring reference.
969 (Fdocumentation_property): Take advantage of the fact that
970 get_doc_string now ignores the sign of the docstring position.
971
972 * eval.c: Use standard syntax for usage in docstrings.
973
974 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
975
976 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
977
978 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
979
980 * xterm.c (x_draw_image_relief): Use predefined macro instead of
981 constant when the value of `tool_bar_button_relief' is negative.
982
983 2001-12-02 Richard M. Stallman <rms@gnu.org>
984
985 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
986 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
987
988 * fileio.c (read_non_regular): Delete Fsignal call.
989
990 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
991
992 * lisp.h (run_hook_list_with_args): Undo last change.
993
994 2001-12-01 Gerd Moellmann <gerd@gnu.org>
995
996 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
997
998 2001-12-01 Jason Rumney <jasonr@gnu.org>
999
1000 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
1001
1002 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
1003 [!WM_MOUSELEAVE]: Define.
1004
1005 * w32menu.c (current_popup_menu, get_menu_item_info):
1006 (set_menu_item_info): New vars.
1007 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
1008 (w32_menu_show): Set current_popup_menu.
1009 (add_menu_item): Allocate new strings for owner-drawn menu items
1010 and help strings.
1011 Use owner-draw for disabled menu items again.
1012 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
1013 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
1014
1015 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
1016 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
1017 <WM_EXITMENULOOP>: Free menu strings.
1018 <WM_MOUSELEAVE>: Stop tracking mouse.
1019 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
1020
1021 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
1022 and mouse face.
1023
1024 2001-12-01 Kim F. Storm <storm@cua.dk>
1025
1026 The following changes add left-fringe and right-fringe
1027 frame parameters to adjust fringe widths, or remove one or
1028 both fringes.
1029
1030 * frame.h (struct frame): Remove trunc_area_pixel_width and
1031 trunc_area_cols fields.
1032 (Qleft_fringe, Qright_fringe): Declare.
1033 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
1034
1035 * frame.c (Qleft_fringe, Qright_fringe): New vars.
1036 (syms_of_frame): Initialize them.
1037
1038 * window.c (coordinates_in_window): Handle separate left and right
1039 fringe widths.
1040
1041 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
1042 and fringe_cols fields.
1043 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
1044 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
1045 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
1046 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
1047 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
1048 (x_compute_fringe_widths): Add prototype.
1049
1050 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
1051 fill fringe evenly with small dashes.
1052 (x_draw_fringe_bitmap): Clear background if necessary. Align and
1053 clip the new ZV bitmap to avoid jitter between rows.
1054 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
1055 background. Don't draw fringe bitmaps if fringe width is zero.
1056 (x_compute_fringe_widths): New function.
1057 (x_new_font, x_set_window_size_1): Use it.
1058
1059 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
1060 (x_set_frame_parameters): Process `font' parameter before other
1061 parameters as fringe widths depend on it.
1062 (x_set_fringe_width): New function.
1063 (x_figure_window_size): Use x_compute_fringe_widths.
1064 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
1065 parameters.
1066
1067 * widget.c (set_frame_size): Use x_compute_fringe_widths.
1068 (EmacsFrameSetCharSize): Ditto.
1069
1070 * w32term.h: Merged changes from xterm.h.
1071 * w32term.c: Merged changes from xterm.c.
1072 * w32fns.c: Merged changes from xfns.c.
1073
1074 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1075
1076 * COPYING: Removed.
1077
1078 2001-11-29 Dave Love <fx@gnu.org>
1079
1080 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
1081 extra extra slot.
1082 (detect_coding_mask): Fix call of detect_coding_iso2022.
1083
1084 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1085
1086 * fileio.c (file-name-coding-system)
1087 (default-file-name-coding-system): Doc fix (links to referenced
1088 variables added).
1089
1090 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1091
1092 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
1093 Add dummy uses of gcproN variables.
1094
1095 * category.c (describe_category, describe_category_1)
1096 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
1097 (syms_of_category): Don't defsubr Sdescribe_categories.
1098
1099 2001-11-28 Richard M. Stallman <rms@gnu.org>
1100
1101 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
1102
1103 * Makefile.in (lispdir): New variable, referring to build dir.
1104 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
1105
1106 2001-11-28 Andrew Innes <andrewi@gnu.org>
1107
1108 * w32menu.c (w32_menu_display_help): Actually add the new argument
1109 OWNER.
1110
1111 2001-11-28 Jason Rumney <jasonr@gnu.org>
1112
1113 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
1114 menu items. From David Ponce <dponce@wanadoo.fr>.
1115 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
1116 conditionally.
1117 (w32_menu_display_help): New argument OWNER. Rewritten to store a
1118 help event in the owner frame's keyboard buffer.
1119
1120 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
1121 (Fx_show_tip): Don't subtract last width from row width.
1122
1123 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
1124 (w32_read_socket): Use EQ to compare frames.
1125
1126 2001-11-28 Gerd Moellmann <gerd@gnu.org>
1127
1128 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1129 OVERLAPS_P.
1130
1131 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1132
1133 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
1134 `gcpro3' and `gcpro4'.
1135
1136 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
1137
1138 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
1139
1140 * ccl.c: Use AREF and ASIZE.
1141
1142 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
1143
1144 * lisp.h (run_hook_list_with_args): Remove.
1145 (LIST_END_P): Fix call to wrong_type_argument.
1146 (make_fixnum_or_float): Use EMACS_INT rather than int.
1147
1148 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
1149
1150 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
1151 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
1152
1153 * eval.c: Use AREF and ASIZE.
1154 (Ffetch_bytecode): Add the file name to the error message.
1155
1156 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
1157 which match the end of the file-name.
1158 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
1159 is not a valid env var, but leave it as is instead.
1160
1161 * keymap.c (access_keymap): Handle t bindings like nil bindings.
1162 Make nil bindings in char-tables transparent.
1163 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
1164
1165 2001-11-26 Richard M. Stallman <rms@gnu.org>
1166
1167 * textprop.c (set_text_properties_1): Allow START, END in either order.
1168 Do nothing if range is empty.
1169
1170 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
1171
1172 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
1173 (clean): Not here.
1174
1175 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1176
1177 * textprop.c (set_text_properties_1): Clearly mark that the
1178 interval should not be empty.
1179
1180 * intervals.c (graft_intervals_into_buffer):
1181 Don't call set_text_properties_1 on an empty interval.
1182
1183 2001-11-25 Richard M. Stallman <rms@gnu.org>
1184
1185 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
1186
1187 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
1188 don't lose the data in it.
1189
1190 2001-11-25 Juanma Barranquero <lektu@terra.es>
1191
1192 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
1193
1194 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
1195
1196 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
1197
1198 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
1199
1200 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
1201
1202 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
1203
1204 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
1205 Niemitalo <kon@iki.fi>.
1206
1207 2001-11-25 Jason Rumney <jasonr@gnu.org>
1208
1209 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
1210
1211 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
1212 (Fx_show_tip): Block input during frame creation.
1213 (Fx_show_tip, Fx_hide_tip): Enable.
1214
1215 2001-11-24 Richard M. Stallman <rms@gnu.org>
1216
1217 * lread.c (Fload): Detect recursive load error for more than 3
1218 nestings of the same file.
1219 (Vrecursive_load_depth_limit): Variable deleted.
1220 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
1221
1222 2001-11-24 Jason Rumney <jasonr@gnu.org>
1223
1224 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
1225 mouse position if either left or top is not specified.
1226
1227 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
1228 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
1229 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
1230 (my_create_tip_window): Assign tip_window.
1231 (x_create_tip_frame): Use same defaults as X.
1232 (compute_tip_xy): Remove unused variable. Use full screen width.
1233 (Fx_show_tip): Do not double height. Call ShowWindow directly.
1234
1235 * w32term.c (x_after_update_window_line): Doc fix.
1236 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
1237 frames.
1238 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
1239
1240 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
1241 for all Windowed systems.
1242
1243 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1244
1245 * msdos.c (IT_clear_screen): If the frame's faces are not yet
1246 realized, use the initial screen colors to clear the screen.
1247
1248 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1249
1250 * textprop.c (Fset_text_properties): Remove unused variables
1251 `unchanged', `prev_changed', `s' and `len'.
1252
1253 * search.c (Freplace_match): Remove unused variable `inslen'.
1254
1255 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
1256
1257 2001-11-22 Jason Rumney <jasonr@gnu.org>
1258
1259 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
1260 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
1261 (my_create_tip_window): New function.
1262 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
1263 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
1264
1265 2001-11-20 Jason Rumney <jasonr@gnu.org>
1266
1267 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
1268 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
1269
1270 * w32fns.c (Vw32_system_coding_system): Remove.
1271 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
1272
1273 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
1274
1275 * fileio.c (Fwrite_region): Move choose_write_coding_system to
1276 after build_annotations.
1277
1278 * syntax.c (describe_syntax): Add dummy arg.
1279 (describe_syntax_1): Update call to describe_vector.
1280
1281 * category.c (describe_category): Add dummy arg.
1282 (describe_category_1): Update call to describe_vector.
1283
1284 * keymap.c (Fdescribe_vector): Add `describer' parameter.
1285 (describe_command, describe_translation): Add dummy second param.
1286 (describe_map): Call elt_describer with two arguments.
1287 (describe_vector_princ): Add `fun' parameter.
1288 Call it instead of the hardcoded `princ'.
1289 (describe_vector): Add arg `args'.
1290 Pass it as a new second argument to elt_describer.
1291
1292 * keymap.h (describe_vector): Update prototype.
1293
1294 * frame.c: Don't include keymap.h any more.
1295 (keys_of_frame): Remove.
1296
1297 * lisp.h (keys_of_frame): Remove declaration.
1298
1299 * emacs.c (main): Don't call `keys_of_frame' any more.
1300
1301 2001-11-14 Andreas Schwab <schwab@suse.de>
1302
1303 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
1304 if defined, 0 otherwise.
1305 (MAP_FAILED): Define if not defined and use it to test mmap failure.
1306 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
1307
1308 2001-11-19 Richard M. Stallman <rms@gnu.org>
1309
1310 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
1311
1312 2001-11-18 Jason Rumney <jasonr@gnu.org>
1313
1314 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
1315 (x_draw_bar_cursor): If the background color of the glyph under
1316 the cursor equals the frame's cursor color, use the glyph's
1317 foreground color for drawing the bar cursor.
1318 (x_after_update_window_line): Clear internal border in different
1319 circumstances.
1320 (w32_set_vertical_scroll_bar): Check for width and height > 0.
1321 (w32_draw_relief_rect): Correct relief by 1 pixel.
1322 (x_set_glyph_string_background_width):
1323 Set extends_to_end_of_line_p if the row's fill_line_p is set and
1324 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
1325 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
1326 if cursor_in_non_selected_windows is false.
1327 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
1328 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
1329 Notice if cursor gets overwritten.
1330 (notice_overwritten_cursor): Renamed from
1331 note_overwritten_text_cursor. Rewritten to take glyph widths
1332 into account, and to take X positions as parameters.
1333 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1334 around call to x_draw_glyphs.
1335 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1336 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1337 color to use for image glyph reliefs.
1338 (x_draw_image_relief): Accept zero tool_bar_button_relief.
1339 (glyph_rect): Remove unused variable `area'.
1340
1341 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
1342 some items.
1343 (x_set_internal_border_width): Set frame garbaged when window
1344 doesn't exist yet.
1345 (Fx_create_frame): Accept zero tool_bar_button_relief.
1346 (x_clear_image_1, four_corners_best, image_background)
1347 (image_background_transparent): New functions.
1348 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1349 (gs_format): Add `:background' entry.
1350 (lookup_image): Set IMG's background color if specified.
1351 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1352 when appropriate.
1353 (x_clear_image_1): Reset `background_valid' and
1354 `background_transparent_valid' fields.
1355 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1356 calculating it here. Set IMG's background_transparent field.
1357 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1358 (enum png_keyword_index): Add PNG_BACKGROUND.
1359 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1360 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1361 (enum gif_keyword_index): Add GIF_BACKGROUND.
1362 (enum gs_keyword_index): Add GS_BACKGROUND.
1363 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1364 Pre-calculate image background color where necessary.
1365 (x_create_x_image_and_pixmap, xbm_load, gs_load):
1366 Use display info's n_cbits entry for screen depth.
1367 (Fx_show_tip): Remove unused variables `buffer', `top',
1368 `left', `max_width' and `max_height'.
1369
1370 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
1371
1372 2001-11-18 Gerd Moellmann <gerd@gnu.org>
1373
1374 * puresize.h (BASE_PURESIZE): Increase to 750000.
1375
1376 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1377
1378 * frame.c (Fframe_live_p): Doc fix.
1379
1380 2001-11-18 Richard M. Stallman <rms@gnu.org>
1381
1382 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
1383 (message_dolog_marker3): New static variables hold three markers.
1384 (syms_of_xdisp): Initialize and staticpro them.
1385 (message_dolog): Use message_dolog_marker1..3 instead of
1386 allocating markers each time. Unchain them when done.
1387
1388 2001-11-17 Richard M. Stallman <rms@gnu.org>
1389
1390 * doc.c (Fsnarf_documentation): Doc fix.
1391
1392 2001-11-17 Andreas Schwab <schwab@suse.de>
1393
1394 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
1395
1396 2001-11-17 Richard M. Stallman <rms@gnu.org>
1397
1398 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
1399
1400 2001-11-17 Jason Rumney <jasonr@gnu.org>
1401
1402 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
1403
1404 2001-11-17 Gerd Moellmann <gerd@gnu.org>
1405
1406 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
1407 with invalid position.
1408
1409 2001-11-16 Richard M. Stallman <rms@gnu.org>
1410
1411 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
1412
1413 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
1414 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
1415 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
1416
1417 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
1418
1419 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1420
1421 * fileio.c (build_annotations): Split off the tail.
1422 (build_annotations_2): New fun. Extracted from build_annotations.
1423 (Fwrite_region): Split the call to build_annotations into two
1424 calls to build_annotations and build_annotations_2.
1425
1426 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1427
1428 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
1429 clear_waiting_for_input with argument.
1430
1431 * xterm.h (x_update_cursor): Remove duplicated prototype.
1432
1433 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
1434
1435 * xterm.c (waiting_for_input): Remove unnecessary declaration.
1436
1437 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
1438
1439 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
1440
1441 * fileio.c (choose_write_coding_system): New fun, extracted
1442 from Fwrite_region.
1443 (Fwrite_region): Use it.
1444
1445 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
1446 (funcall_lambda, run_hook_with_args): Make static and add prototype.
1447 (ml_apply, find_handler_clause): Add prototype.
1448
1449 2001-11-16 Eli Zaretskii <eliz@gnu.org>
1450
1451 * config.in: Add #undef HAVE_COFF_H.
1452
1453 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
1454 Required for ISC 4.1.
1455
1456 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
1457
1458 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
1459 Andrew Wiseman <a.wiseman@btclick.com>.
1460
1461 2001-11-16 Kim F. Storm <storm@cua.dk>
1462
1463 The following changes are made to clean up the various internal
1464 references to the fringes to actually use the term `fringe' for
1465 them. Previously, they were called `flags areas', `bitmap areas',
1466 `left/right side of windows', or implicitly as `flags' or
1467 `bitmaps':
1468
1469 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
1470 Comments fixed. Use renamed symbols.
1471
1472 * dispnew.c: Comment fix. Use renamed symbols.
1473
1474 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
1475 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
1476 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
1477
1478 * msdos.c: Comment fix.
1479
1480 * w32fns.c: Use renamed symbols.
1481
1482 * w32term.c: Comment fixes. Use renamed symbols.
1483 (fringe_bitmap_type): Renamed from bitmap_type.
1484 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1485 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
1486 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1487
1488 * w32term.h: Comment fixes. Use renamed symbols.
1489 (fringes_extra): Renamed from flags_areas_extra.
1490 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1491 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1492 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1493 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
1494 (FRAME_X_LEFT_FRINGE_WIDTH):
1495 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1496 (FRAME_X_RIGHT_FRINGE_WIDTH):
1497 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1498
1499 * widget.c: Use renamed symbols.
1500
1501 * window.c: Comment fixes. Use renamed symbols.
1502 (coordinates-in-window-p): Doc fix.
1503
1504 * xdisp.c: Comment fixes. Use renamed symbols.
1505
1506 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
1507
1508 * xfns.c: Use renamed symbols.
1509
1510 * xterm.c: Comment fixes. Use renamed symbols.
1511 (fringe_bitmap_type): Renamed from bitmap_type.
1512 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1513 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1514 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1515
1516 * xterm.h: Comment fixes. Use renamed symbols.
1517 (fringes_extra): Renamed from flags_areas_extra.
1518 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1519 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1520 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1521 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
1522 (FRAME_X_LEFT_FRINGE_WIDTH):
1523 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1524 (FRAME_X_RIGHT_FRINGE_WIDTH):
1525 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
1526
1527 2001-11-15 Jason Rumney <jasonr@gnu.org>
1528
1529 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1530 work for most menu items. From David Ponce
1531 <david.ponce@wanadoo.fr>.
1532
1533 2001-11-15 Gerd Moellmann <gerd@gnu.org>
1534
1535 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1536 Some x_set_* function expect to be called even if old and new
1537 value are equal.
1538
1539 * xdisp.c (build_desired_tool_bar_string): Accept zero
1540 tool_bar_button_relief.
1541
1542 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1543
1544 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
1545
1546 * xterm.c (x_draw_bar_cursor): If the background color of the
1547 glyph under the cursor equals the frame's cursor color, use
1548 the glyph's foreground color for drawing the bar cursor.
1549
1550 * dispnew.c (direct_output_forward_char): Fix character/byte
1551 position comparison.
1552
1553 2001-11-15 Miles Bader <miles@gnu.org>
1554
1555 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1556 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1557 Update arguments to find_field.
1558 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1559 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1560 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1561 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1562
1563 2001-11-14 Richard M. Stallman <rms@gnu.org>
1564
1565 * editfns.c (Fpropertize): Allow call with 1 arg.
1566
1567 * dispextern.h (image_background, image_background_transparent):
1568 Conditionalize on HAVE_X_WINDOWS.
1569
1570 2001-11-13 Richard M. Stallman <rms@gnu.org>
1571
1572 * print.c (Fprin1_to_string): Doc fix.
1573
1574 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1575
1576 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1577
1578 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1579
1580 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1581
1582 * eval.c (syms_of_eval): Doc fix.
1583
1584 * coding.c (syms_of_coding): Doc fix.
1585
1586 * doc.c (Fsnarf_documentation): Doc fix.
1587
1588 * dispnew.c (syms_of_display): Doc fix.
1589
1590 * category.c (Fget_unused_category): Doc fix.
1591
1592 * buffer.c (syms_of_buffer): Doc fixes.
1593
1594 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1595
1596 * print.c (prin1, print): Doc fix.
1597
1598 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1599
1600 * fontset.h: Remove declarations of variables
1601 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1602
1603 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1604 `Vclip_large_size_font'.
1605
1606 2001-11-13 Jason Rumney <jasonr@gnu.org>
1607
1608 * w32fns.c: Doc fix.
1609
1610 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1611
1612 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1613
1614 * w32fns.c (Fx_synchronize): Reindent.
1615
1616 * fns.c: Doc fix.
1617
1618 * emacs.c: Doc fix.
1619
1620 * coding.c: Doc fix.
1621
1622 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1623 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1624 `new style' [w/`doc:' keyword].
1625
1626 * xmenu.c (x-popup-menu): Reindent.
1627 (x-popup-dialog): Likewise.
1628
1629 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
1630
1631 * xdisp.c (Fdump_tool_bar_row): Reindent.
1632
1633 * minibuf.c (Fminibuffer_complete_word): Reindent.
1634 (Fminibuffer_complete_and_exit): Likewise.
1635 (Fminibuffer_completion_help): Likewise.
1636 (Fminibuffer_message): Likewise.
1637
1638 * fns.c (Freverse): Reindent.
1639
1640 * eval.c (Fif): Reindent.
1641 (Fand): Likewise.
1642
1643 * editfns.c (Fuser_real_login_name): Reindent.
1644 (Finsert_buffer_substring): Likewise.
1645 (Fcompare_buffer_substrings): Likewise.
1646 (Fsubst_char_in_region): Likewise.
1647
1648 * dispnew.c (Fsit_for): Reindent.
1649 (Fframe_or_buffer_changed_p): Likewise.
1650 (Finternal_show_cursor_p): Likewise.
1651 (syms_of_display): Likewise.
1652
1653 * alloc.c (Flist): Reindent.
1654 (Fvector): Likewise.
1655
1656 2001-11-12 Richard M. Stallman <rms@gnu.org>
1657
1658 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1659 LeaveNotify events. Only FocusIn and FocusOut do that now.
1660 (x_display_and_set_cursor): Do display hollow cursors in active
1661 minibuffer windows when they are not selected.
1662
1663 2001-11-12 Jason Rumney <jasonr@gnu.org>
1664
1665 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1666 * w32term.c: Change doc-string comments to `new style'.
1667 [w/`doc:' keyword]. Doc fixes.
1668
1669 * w32fns.c: Don't define max.
1670 (Fx_open_connection): Only execute once.
1671
1672 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1673
1674 * ccl.c: Change macros to use do-while block instead of if-else.
1675 Use braces to follow GNU Coding Standards.
1676
1677 2001-11-11 Richard M. Stallman <rms@gnu.org>
1678
1679 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1680
1681 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1682
1683 * insdel.c (replace_range): Use adjust_markers_for_replace
1684 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1685
1686 * intervals.h: Declare set_text_properties and set_text_properties_1.
1687
1688 * textprop.c (set_text_properties_1): New subroutine
1689 broken out of set_text_properties.
1690 (set_text_properties): Use set_text_properties_1.
1691
1692 * intervals.c (graft_intervals_into_buffer):
1693 Use set_text_properties_1 to clear out properties.
1694
1695 * search.c (Freplace_match): Use replace_range to insert
1696 and delete. Don't request property inheritance from
1697 surrounding text.
1698
1699 2001-11-10 Jason Rumney <jasonr@gnu.org>
1700
1701 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1702 vertical fonts. Allow them if face name is explicitly specified.
1703 Do not give up if we find a font that cannot be converted to an xlfd.
1704
1705 2001-11-10 Gerd Moellmann <gerd@gnu.org>
1706
1707 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
1708 instead of malloc/free.
1709
1710 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1711
1712 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1713 Coding Standards.
1714 (Finternal_set_lisp_face_attribute): Likewise.
1715
1716 * buffer.c (Fbury_buffer): Likewise.
1717
1718 * indent.c (current_column_1): Remove unused variable `prev_col'.
1719
1720 * coding.c (encode_coding): Use precomputed value of `src'.
1721 (encode_coding): Remove unused variable `src_end'.
1722 (code_convert_region): Remove unused variables `count'.
1723
1724 2001-11-07 Jason Rumney <jasonr@gnu.org>
1725
1726 * w32term.c (x_display_and_set_cursor): Do not move system caret
1727 if cursor_glyph is NULL.
1728
1729 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1730
1731 * keymap.c (access_keymap): Fix compilation error.
1732
1733 2001-11-07 Miles Bader <miles@gnu.org>
1734
1735 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1736
1737 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1738
1739 * intervals.c (graft_intervals_into_buffer):
1740 Remove #ifdef'd-out code.
1741 (graft_intervals_into_buffer): Remove unused variable `middle'.
1742
1743 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1744 code (eval-current-buffer).
1745 Change doc-string comments to `new style' [w/`doc:' keyword].
1746
1747 2001-11-06 Richard M. Stallman <rms@gnu.org>
1748
1749 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1750
1751 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1752
1753 * lread.c (read1): Fix behavior with nested backquoting.
1754
1755 * keyboard.c (make_lispy_event): Check integerness and fix
1756 Lisp_Object/int mixup.
1757
1758 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1759
1760 * fns.c (copy_hash_table): Remove unused variable `v'.
1761
1762 * fontset.c (fontset_font_pattern): Remove unused variable
1763 `family_registry'.
1764
1765 * indent.c (current_column_1): Remove unused variable `prev_col'.
1766
1767 2001-11-05 Richard M. Stallman <rms@gnu.org>
1768
1769 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1770
1771 * buffer.c (Fkill_buffer): Don't delete auto save file
1772 if buffer is modified.
1773
1774 2001-11-05 Andrew Innes <andrewi@gnu.org>
1775
1776 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1777 CHECK_NUMBER_CDR.
1778
1779 2001-11-05 Richard M. Stallman <rms@gnu.org>
1780
1781 * unexelf.c (unexec): Minor changes; clean up comments.
1782
1783 2001-11-05 Sam Steingold <sds@gnu.org>
1784
1785 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1786
1787 2001-11-05 Andreas Schwab <schwab@suse.de>
1788
1789 * sound.c (sound_perror): Save errno from being clobbered.
1790
1791 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
1792
1793 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1794 the program image directly.
1795
1796 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1797
1798 * buffer.h (Fbuffer_local_value): Add prototype.
1799
1800 2001-11-04 Richard M. Stallman <rms@gnu.org>
1801
1802 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1803 and CHECK_BUFFER.
1804
1805 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1806 (record_char): Likewise.
1807
1808 * keyboard.c (make_lispy_event): Don't insist a drag event must
1809 move to a different buffer position. Instead, check for moving at
1810 least double_click_fuzz.
1811
1812 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1813
1814 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1815
1816 * indent.c (current_column_1, Fmove_to_column): Separate the code
1817 for display-table glyphs from the code buffer text, to fix
1818 bugs in the former.
1819
1820 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1821
1822 * buffer.c (Fbuffer_local_value): New function.
1823 (syms_of_buffer): Defsubr it.
1824
1825 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1826 value of `cursor-in-non-selected-windows'.
1827
1828 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1829 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1830 (syms_of_xdisp): Initialize it.
1831
1832 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1833
1834 * xfns.c (Fx_create_frame): Doc fix.
1835
1836 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1837 keyword].
1838
1839 * eval.c (top_level_value, top_level_set): Remove commented and
1840 #ifdef'd-out code.
1841 (Fdefvar): Fix usage in doc-string.
1842
1843 2001-11-03 Richard M. Stallman <rms@gnu.org>
1844
1845 * xfns.c: Include unistd.h, if it exists.
1846
1847 * editfns.c: Move the include of ctype.h after unistd.h.
1848
1849 * gmalloc.c: Test BROKEN_PROTOTYPES.
1850
1851 2001-11-03 Ken Raeburn <raeburn@gnu.org>
1852
1853 * lisp.h (CHECK_STRING_CAR): New macro.
1854 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1855 treating XCAR and XCDR as lvalues.
1856 (openp): Use CHECK_STRING_CAR.
1857 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1858
1859 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1860
1861 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
1862 (SIGMASKTYPE): Define.
1863
1864 * syssignal.h (sigunblock): Don't define if already defined.
1865
1866 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1867
1868 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1869 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1870 Fix typos in comments.
1871
1872 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1873 and #ifdef'd-out code.
1874 Fix and reindent comments.
1875
1876 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
1877
1878 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1879 argument `i' in macros.
1880
1881 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1882 `i' in macros.
1883
1884 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1885 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1886 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1887 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1888 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1889 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1890 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1891 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
1892 in macros.
1893
1894 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1895 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1896 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1897 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1898 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1899 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1900 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1901 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1902 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
1903 (remove unused second argument).
1904
1905 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1906
1907 * syntax.c (describe_syntax): New wrapper.
1908 (Finternal_describe_syntax_value): Rename from describe_syntax.
1909 Don't insert space at front and \n at the end.
1910 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1911
1912 * regex.c (re_wctype): Try to fix some warnings.
1913 (regcomp, regexec): Don't forget the __restrict.
1914
1915 2001-11-02 Richard M. Stallman <rms@gnu.org>
1916
1917 * textprop.c (Fget_char_property): Doc fix.
1918
1919 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1920
1921 * process.c (Fstart_process): Add usage to doc-string.
1922
1923 * data.c (Fsetq_default): Ditto.
1924
1925 * callint.c (Finteractive): Ditto.
1926
1927 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1928
1929 * macros.c: Don't include keymap.h any more.
1930
1931 2001-11-01 Richard M. Stallman <rms@gnu.org>
1932
1933 * data.c (Fmake_local_variable): Doc fix.
1934
1935 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1936 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1937
1938 * keymap.c (Fdescribe_buffer_bindings): Print character property
1939 bindings along with or instead of the buffer local map.
1940 Make the overriding maps override what they should.
1941
1942 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1943
1944 * window.c (grow_mini_window): Fix typo in comment.
1945
1946 2001-11-01 Gerd Moellmann <gerd@gnu.org>
1947
1948 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1949 (XTset_vertical_scroll_bar): Likewise.
1950
1951 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1952 instead of IMAGE_BACKGROUND.
1953
1954 * xfns.c (four_corners_best): Reindent.
1955
1956 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
1957 Handle :box so that it is possible to specify sexprs.
1958
1959 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1960
1961 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1962 (Fface_font): Ditto.
1963 (Finternal_set_alternative_font_registry_alist): Ditto.
1964 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1965
1966 * xfns.c (x-get-resource): Reindent.
1967
1968 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1969
1970 * s/hpux11.h: New file.
1971
1972 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1973
1974 * emacs.c (USAGE1): Show command line option --no-window-system
1975 instead of --no-windows in usage.
1976 (standard_args): Rename --no-windows to --no-window-system.
1977 (bug_reporting_address): Follow Emacs coding conventions.
1978
1979 * eval.c (Fcommandp): Doc fix.
1980 Change doc-string comments to `new style' [w/`doc:' keyword].
1981
1982 * frame.c (Fframe_live_p): Doc fix.
1983
1984 * buffer.c (selective-display-ellipses): Doc fix.
1985
1986 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1987
1988 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1989
1990 * xfaces.c (realize_x_face): If C is not a single-byte character,
1991 set the face's colors_copied_bitwise_p instead of the defaulted_p
1992 members which have a different meaning.
1993 (free_face_colors): Do nothing for a face whose colors have been
1994 copied bitwise.
1995
1996 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
1997
1998 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1999
2000 * marker.c, mocklisp.c: Change doc-string comments to `new style'
2001 [w/`doc:' keyword].
2002
2003 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2004
2005 * fns.c (require_unwind): Return Lisp_Object.
2006
2007 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2008
2009 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
2010 (last-input-char): Revert doc-string to be the same as the
2011 doc-string of `last-input-event'.
2012
2013 * xdisp.c: Fix typos in comments.
2014
2015 2001-10-31 Gerd Moellmann <gerd@gnu.org>
2016
2017 * window.c (grow_mini_window): Handle case that the root
2018 window is already smaller than the nominal mininum height.
2019
2020 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
2021
2022 * emacs.c (main): Don't call keys_of_macros any more.
2023
2024 * lisp.h (keys_of_macros): Remove.
2025
2026 * macros.c (keys_of_macros): Remove.
2027
2028 * xfaces.c (Fface_attribute_relative_p): Declare args.
2029
2030 2001-10-30 Jason Rumney <jasonr@gnu.org>
2031
2032 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
2033 (enum_font_cb2): Ignore fonts with vertical orientation.
2034
2035 2001-10-30 Richard M. Stallman <rms@gnu.org>
2036
2037 * keyboard.c (Finput_pending_p): Doc fix.
2038
2039 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2040
2041 * xterm.c (x_after_update_window_line): Don't run the code
2042 clearing in borders for rows whose visible height is 0.
2043
2044 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
2045 resized_p flag is set. If not set, use the much less flickering
2046 method previously used.
2047
2048 * dispnew.c (change_frame_size_1): Set frame's resized_p.
2049
2050 * frame.h (struct frame) <resized_p>: New member.
2051
2052 * lread.c (to_multibyte): Ensure read_buffer is at least twice
2053 as large as the number of bytes to convert.
2054
2055 * lread.c (to_multibyte): New function.
2056 (read1): Use it.
2057
2058 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
2059
2060 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
2061
2062 2001-10-30 Gerd Moellmann <gerd@gnu.org>
2063
2064 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
2065 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
2066 if the row's fill_line_p is set and drawing the last glyph with
2067 DRAW_IMAGE_{RAISED,SUNKEN}.
2068
2069 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
2070
2071 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2072
2073 * xmenu.c: Include coding.h and charset.h.
2074 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
2075 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
2076 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
2077 Explicitly set wv->help. Use `TRUE' rather than `True'.
2078 (menu_help_callback): Use empty_string.
2079
2080 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
2081 (Fx_popup_dialog): Explicitly init f.
2082 (w32_menu_display_help): Use empty_string.
2083
2084 2001-10-29 Richard M. Stallman <rms@gnu.org>
2085
2086 * fns.c (Frequire): Detect recursive try to require the same
2087 feature 3 or more levels deep, and get error.
2088 (require_unwind): New subroutine.
2089 (require_nesting_list): New variable.
2090 (syms_of_fns): Init and staticpro it.
2091
2092 * print.c (print_object): Clarify indication of insertion type.
2093
2094 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
2095
2096 * coding.c (syms_of_coding): Document that locale-coding-system is
2097 used for decoding input on X.
2098
2099 * window.c (Fscroll_left, Fscroll_right): Doc fix.
2100
2101 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2102
2103 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
2104 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
2105
2106 2001-10-29 Gerd Moellmann <gerd@gnu.org>
2107
2108 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
2109 use NO_CURSOR if cursor_in_non_selected_windows is false.
2110
2111 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
2112 the slant attribute if FRAME is t.
2113
2114 * xfns.c (x_set_internal_border_width): Set frame garbaged
2115 when X window doesn't exist yet.
2116
2117 * xterm.c (x_after_update_window_line): Clear internal border
2118 in different circumstances.
2119
2120 * xterm.c (XTread_socket) <KeyPress>: Don't use
2121 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
2122 <handa@etl.go.jp>.
2123
2124 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2125
2126 * m/ibms390.h: New file. From Adam Thornton
2127 <athornton@sinenomine.net>.
2128
2129 2001-10-28 Gerd Moellmann <gerd@gnu.org>
2130
2131 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
2132
2133 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
2134 a loop counter.
2135
2136 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2137
2138 * emacs.c: Use argv[0] instead of emacs when -t was specified.
2139
2140 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
2141 keyword].
2142 Fix typos in comments.
2143
2144 * emacs.c (bug_reporting_address): New function.
2145 Use it when displaying usage message.
2146
2147 * minibuf.c (read_minibuf): Remove unused external declaration of
2148 variable `Qread_only'.
2149
2150 * keymap.c (access_keymap): Remove unused variable `charset'.
2151
2152 2001-10-28 Miles Bader <miles@gnu.org>
2153
2154 * xfaces.c (merge_face_heights): Handle TO being relative as well.
2155 Remove #ifdef'd-out code.
2156 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
2157 (syms_of_xfaces): Initialize them.
2158
2159 2001-10-27 Jason Rumney <jasonr@gnu.org>
2160
2161 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
2162 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
2163 position using the system caret.
2164
2165 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
2166 (w32_system_caret_height, w32_system_caret_x)
2167 (w32_system_caret_y): New variables for tracking system caret.
2168 (w32_initialize): Initialize them.
2169 (x_display_and_set_cursor): Make system caret follow the active cursor.
2170
2171 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
2172 New messages types.
2173
2174 * w32term.c (note_mouse_highlight): Clear old help_echo.
2175
2176 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2177
2178 * xterm.c: Fix typo in a comment.
2179
2180 * emacs.c: Fix typos in comments.
2181 Remove unnecessary spaces.
2182 Change doc-string comments to `new style' [w/`doc:' keyword].
2183 (USAGE2): Fix typos in usage string.
2184
2185 * xterm.c: Fix typo in a comment.
2186
2187 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
2188 emacs.c.
2189
2190 2001-10-27 Gerd Moellmann <gerd@gnu.org>
2191
2192 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
2193 instead of 1/2 line_height in the heuristic for skipping
2194 farther backward when target_y was not reached.
2195
2196 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
2197 Display errno only if non-zero.
2198 (sound_warning): New function.
2199 (vox_configure): Don't treat failing to set sample rate as error.
2200 (various places): Improve error messages.
2201
2202 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
2203
2204 * fileio.c (Faccess_file): Run the argument filename through
2205 Fexpand_file_name, before using it.
2206
2207 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
2208 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
2209
2210 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2211
2212 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
2213
2214 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2215 Fix clearing in the case of scroll bars on the right.
2216
2217 2001-10-26 Juanma Barranquero <lektu@terra.es>
2218
2219 * w32gui.h (XImage): Add a dummy typedef.
2220
2221 2001-10-26 Gerd Moellmann <gerd@gnu.org>
2222
2223 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
2224
2225 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
2226
2227 * frame.c (Fframe_parameter): Fix last change.
2228
2229 * fileio.c: Revert last change (which removed old commented-out
2230 version of expand-file-name). Add a comment that explains why
2231 this old version should not be removed.
2232
2233 2001-10-25 Gerd Moellmann <gerd@gnu.org>
2234
2235 * frame.c (Fframe_parameter): Fix a bug whereby some
2236 ``artificial'' frame parameters, like `minibuffer' were not
2237 obtained by calling Fframe_parameters.
2238
2239 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
2240 cursor differently.
2241
2242 * xdisp.c (move_it_vertically_backward): Compute line height
2243 differently. Add heuristic to try to be more compatible to 20.x.
2244
2245 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
2246
2247 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
2248
2249 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
2250 boolean.
2251
2252 2001-10-25 Miles Bader <miles@gnu.org>
2253
2254 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
2255 BG is a pointer to a structure, not a structure.
2256 (gif_format, png_format): Add missing commas.
2257
2258 2001-10-24 Richard M. Stallman <rms@gnu.org>
2259
2260 * xfaces.c (Fface_attributes_as_vector): New function.
2261 (syms_of_xfaces): Defsubr it.
2262
2263 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2264
2265 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
2266 variable `area'.
2267
2268 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2269
2270 * search.c (scan_newline): Remove unused variable `selective_display'.
2271
2272 2001-10-25 Miles Bader <miles@gnu.org>
2273
2274 * dispextern.h (struct image): Add `background',
2275 `background_valid', and `background_transparent' fields.
2276 (image_background, image_background_transparent): New declarations.
2277 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
2278 * xfns.c (image_background, image_background_transparent)
2279 (four_corners_best): New functions.
2280 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2281 (gs_format): Add `:background' entry.
2282 (lookup_image): Set IMG's background color if specified.
2283 (pbm_load, xbm_load_image, png_load): Set IMG's background field
2284 when appropriate.
2285 (x_clear_image_1): Reset `background_valid' and
2286 `background_transparent_valid' fields.
2287 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2288 calculating it here. Set IMG's background_transparent field.
2289 (enum xpm_keyword_index): Add XPM_BACKGROUND.
2290 (enum png_keyword_index): Add PNG_BACKGROUND.
2291 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2292 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2293 (enum gif_keyword_index): Add GIF_BACKGROUND.
2294 (enum gs_keyword_index): Add GS_BACKGROUND.
2295 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2296 Pre-calculate image background color where necessary.
2297 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2298 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2299 color to use for image glyph reliefs.
2300
2301 2001-10-24 Gerd Moellmann <gerd@gnu.org>
2302
2303 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
2304 in full-width rows.
2305
2306 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2307 Fix clearing of area not covered by scroll bar.
2308
2309 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2310
2311 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
2312 and `real_start'.
2313 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2314 (glyph_rect): Remove unused variable `area'.
2315
2316 2001-10-24 Gerd Moellmann <gerd@gnu.org>
2317
2318 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
2319
2320 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
2321 (row_containing_pos): Take additional argument DY.
2322 Treat rows ending in middle of char differently.
2323 (display_line): Handle tabs on window systems differently.
2324
2325 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
2326 with additional argument.
2327
2328 * dispextern.h (row_containing_pos): Adjust prototype.
2329
2330 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
2331 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
2332 (try_window_id, try_window_reusing_current_matrix)
2333 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
2334 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
2335
2336 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2337
2338 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
2339 gnuemacs).
2340 (HAVE_BOXES): Fix typo in comment.
2341 (push_menu_pane): Fix typo in comment.
2342
2343 * xdisp.c: (display_prop_string_p): Remove unused local declaration
2344 of `Qwhen'.
2345 (single_display_prop_string_p): Remove unused local declarations
2346 of `Qwhen' and `Qmargin'.
2347 (string_buffer_position): Remove unused variable `around'.
2348 (store_frame_title): Remove unused variable `width'.
2349
2350 * window.c: Don't define max.
2351 (coordinates_in_window): Remove unused variable `uy'.
2352
2353 * widget.c: Don't define max.
2354
2355 * process.c: Don't define max.
2356 (create_process): Remove unused variable `buffer'.
2357
2358 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2359
2360 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
2361
2362 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
2363
2364 * xfaces.c (Finternal_set_lisp_face_attribute)
2365 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
2366 frame is on a windowed display.
2367
2368 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2369
2370 * dispnew.c (sync_window_with_frame_matrix_rows):
2371 Fix handling of windows which aren't full-width, fix handling
2372 of marginal areas.
2373
2374 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
2375
2376 2001-10-23 Andreas Schwab <schwab@suse.de>
2377
2378 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
2379 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
2380
2381 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2382
2383 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
2384 REAL_END. Notice if cursor gets overwritten.
2385 (notice_overwritten_cursor): Take X positions as parameters.
2386 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2387 around call to x_draw_glyphs.
2388
2389 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2390
2391 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
2392 instead of C) and usage.
2393
2394 * editfns.c (char-to-string): Fix argument names (use CHAR instead
2395 of C) and usage.
2396
2397 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
2398 `left', `max_width' and `max_height'.
2399
2400 2001-10-23 Gerd Moellmann <gerd@gnu.org>
2401
2402 * xdisp.c (display_line): For a tab continued to the next line,
2403 set row's ends_in_middle_of_char_p.
2404
2405 2001-10-22 Gerd Moellmann <gerd@gnu.org>
2406
2407 * xdisp.c (display_line): Fix computation of continuation lines
2408 width for TABs.
2409
2410 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2411
2412 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
2413 `Qlaplace'.
2414
2415 * fileio.c: Remove unused code.
2416
2417 2001-10-22 Miles Bader <miles@gnu.org>
2418
2419 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
2420 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
2421 Remove `DOC_STRINGS_IN_COMMENTS' cases.
2422
2423 2001-10-21 Jason Rumney <jasonr@gnu.org>
2424
2425 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
2426
2427 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2428
2429 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
2430 (Finsert_string): Avoid the multi-line string literals warning.
2431
2432 2001-10-22 Miles Bader <miles@gnu.org>
2433
2434 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
2435 (Fdocumentation): Don't use it.
2436 (syms_of_doc): Don't initialize it.
2437
2438 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
2439 * print.c (Fwith_output_to_temp_buffer): Likewise.
2440 * window.c (Fsave_window_excursion): Likewise.
2441 * editfns.c (Fsave_excursion, Fsave_current_buffer)
2442 (Fsave_restriction): Likewise.
2443 * eval.c (Frun_hooks, Frun_hook_with_args)
2444 (Frun_hook_with_args_until_failure)
2445 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
2446 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
2447 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
2448 (Funwind_protect, Fcondition_case): Likewise.
2449 * coding.c (Ffind_operation_coding_system): Likewise.
2450 * keyboard.c (Ftrack_mouse): Likewise.
2451
2452 2001-10-21 Miles Bader <miles@gnu.org>
2453
2454 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
2455 (Fmake_hash_table): Add usage: string to doc string.
2456 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
2457 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
2458 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
2459 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
2460 (Fml_prefix_argument_loop): Likewise.
2461
2462 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2463
2464 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
2465
2466 * sysdep.c (init_sys_modes): Change doc-string comments to `new
2467 style' [w/`doc:' keyword].
2468
2469 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
2470 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
2471 comments to `new style' [w/`doc:' keyword].
2472
2473 2001-10-21 Jason Rumney <jasonr@gnu.org>
2474
2475 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
2476
2477 * w32term.c (remember_mouse_glyph): New function.
2478 (w32_mouse_position): Use it.
2479 (note_mouse_movement): If the mouse moved off the glyph, remember
2480 its new position.
2481
2482 * w32term.h (struct w32_output): Correct spelling of x_compatible.
2483 (w32_display_info): Add mouse_face_overlay.
2484
2485 * w32term.c (notice_overwritten_cursor): Renamed from
2486 note_overwritten_text_cursor. Rewritten to take glyph widths into
2487 account.
2488 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2489 (fast_find_string_pos): New function.
2490 (fast_find_position): Return the correct vpos. Add parameter
2491 STOP. In the final row, stop before glyphs having STOP as object.
2492 Don't consider glyphs that are not from a buffer.
2493 (fast_find_position) [0]: Add a presumably more correct version
2494 for after 21.1.
2495 (expose_window_tree, expose_frame): Don't compute intersections here.
2496 (expose_window): Do it here instead.
2497 (expose_window_tree, expose_window, expose_line): Return 1 when
2498 overwriting mouse-face.
2499 (expose_window): If W is the window currently being updated, mark
2500 the frame garbaged.
2501 (expose_frame): If mouse-face was overwritten, redo it.
2502 (x_use_underline_position_properties): New variable.
2503 (syms_of_xterm): DEFVAR_BOOL it.
2504 (x_draw_glyph_string): Add comment to use it in future.
2505 (x_draw_glyph_string): Restore clipping after drawing box.
2506 Fix a computation of the underline position.
2507 (w32_get_glyph_string_clip_rect): Minor cleanup.
2508 (x_fill_stretch_glyph_string): Remove an assertion.
2509 (x_produce_glyphs): Don't convert multibyte characters
2510 to unibyte characters in unibyte buffers.
2511 (cursor_in_mouse_face_p): New function.
2512 (x_draw_stretch_glyph_string): Use it to choose a different GC
2513 when drawing a cursor within highlighted text. Don't draw
2514 background again if it has already been drawn.
2515 (x_draw_glyph_string_box): Don't draw a full-width
2516 box just because the glyph row's full_width_p flag is set.
2517 (x_draw_glyphs): Fix computation of rightmost x for
2518 full-width rows.
2519 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2520 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2521 change bottom shadow accordingly. Some cleanup.
2522 (x_update_window_end): Handle overwritten mouse face
2523 also for tool bar windows.
2524 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2525 DRAW is DRAW_IMAGE_RAISED.
2526 (clear_mouse_face): Return 1 if text with mouse face was
2527 actually redrawn. Make the function static. Reset
2528 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2529 optimize away highlighting if we pass over that same overlay again.
2530 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2531 to detect a case where we have to highlight a different region
2532 despite not having left the currently highlighted region.
2533 Set mouse_face_overlay in the x_display_info. Avoid changing the
2534 mouse pointer shape when show_mouse_face has already done it, or
2535 there is no need. Handle mouse-face and help-echo in strings.
2536 (glyph_rect): New function.
2537 (w32_mouse_position): Use it to raise the threshold for mouse
2538 movement event generation.
2539 (w32_initialize_display_info): Initialize the x_display_info's
2540 mouse_face_overlay.
2541 (w32_set_vertical_scroll_bar): Don't clear a zero height
2542 or width area.
2543 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2544 a widget to zero height.
2545
2546 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
2547 Protect unibyte strings created by replacing their multibyte
2548 equivalents in menu_items.
2549 (w32_menu_show): Don't overwrite an item's name with its key
2550 description in case the description is a multibyte string.
2551 (single_submenu): Some cleanup.
2552
2553 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2554 (postprocess_image): New function.
2555 (lookup_image): Call it for all image types except PostScript.
2556 (x_kill_gs_process): Call postprocess_image.
2557 (tiff_error_handler, tiff_warning_handler): New functions.
2558 (tiff_load): Install them as handlers.
2559 (x_kill_gs_process): Recognize if someone has cleared the image
2560 cache under us.
2561 (valid_image_p): Protect better against invalid image
2562 specifications. Previous code could signal an error.
2563 (Fx_hide_tip, Fshow_tip): Doc fix.
2564 (Fv_max_tooltip_size): New variable.
2565 (syns_of_xfns): DEFVAR_LISP it.
2566 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2567 window buffer to *tip* right after creating the frame. Set frame's
2568 window_width. Use a maximum tooltip size specified by
2569 Vx_max_tooltip_size, if that has valid contents.
2570 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2571 Make sure the tooltip is completely visible.
2572 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2573 (Fx_create_frame): Adjust the frame's height for presence
2574 of the tool bar before calling x_figure_window_size.
2575 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2576 when the window gets smaller.
2577 (x_set_foreground_color): Set frame's cursor_pixel.
2578 (x_set_foreground_color, x_set_background_color): Cleaned up.
2579 (x_set_font): Handle case of x_new_fontset returning the same name
2580 as before, although there was a change in fontsets.
2581
2582 2001-10-21 Miles Bader <miles@gnu.org>
2583
2584 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
2585 (Flogxor): Add usage: string to doc string.
2586 * charset.c (Fstring): Likewise.
2587 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2588 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2589
2590 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2591
2592 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2593
2594 * alloc.c: Reindent DEFUNs with doc: keywords.
2595
2596 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2597
2598 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2599 keyword].
2600
2601 2001-10-20 Gerd Moellmann <gerd@gnu.org>
2602
2603 * (Version 21.1 released.)
2604
2605 2001-10-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2606
2607 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
2608
2609 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2610 0 because unused.
2611
2612 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
2613 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2614 Change doc-string comments to `new style' [w/`doc:' keyword].
2615
2616 2001-10-20 Miles Bader <miles@gnu.org>
2617
2618 The following changes remove the glyph_row `inverse_p' field,
2619 which is never set anymore, due to other changes:
2620
2621 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2622 (reassert_line_highlight, change_line_highlight): Declarations removed.
2623 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
2624 (line_hash_code, row_equal_p, fake_current_matrices)
2625 (build_frame_matrix_from_leaf_window, update_frame_line)
2626 (update_frame_line, update_frame_line, update_frame_line):
2627 Don't use `inverse_p' field.
2628 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2629 change_line_highlight_hook.
2630 (XTreassert_line_highlight, x_change_line_highlight):
2631 Functions removed.
2632 (x_fix_overlapping_area, x_write_glyphs, expose_area)
2633 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2634 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2635 `inverse_p' field.
2636 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
2637 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2638 (w32_reassert_line_highlight, x_change_line_highlight):
2639 Functions removed.
2640 * w32console.c (reassert_line_highlight, change_line_highlight):
2641 Functions removed.
2642 (initialize_w32_display): Don't set reassert_line_highlight_hook
2643 or change_line_highlight_hook.
2644 (hl_mode): Function removed.
2645 (reset_terminal_modes, set_terminal_modes, update_begin)
2646 (update_end, w32_face_attributes, initialize_w32_display):
2647 (clear_frame, ins_del_lines): Don't call it.
2648 * termhooks.h (reassert_line_highlight_hook)
2649 (change_line_highlight_hook): Declarations removed.
2650 * term.c (reassert_line_highlight_hook)
2651 (change_line_highlight_hook): Variables removed.
2652 (reassert_line_highlight, change_line_highlight): Functions removed.
2653 * msdos.c (IT_reassert_line_highlight)
2654 (IT_change_line_highlight): Functions removed.
2655 (internal_terminal_init): Don't set reassert_line_highlight_hook
2656 or change_line_highlight_hook.
2657 (highlight): Variable removed.
2658 (IT_set_face, IT_update_begin, IT_update_end)
2659 (IT_set_terminal_modes): Don't set or use it.
2660
2661 The following changes remove inverse-video support for terminals
2662 that use a `magic cookie' standout mode. Due to changes in the
2663 way mode-lines are displayed, such support no longer works
2664 anyway, and it's probable that almost no one uses such terminals
2665 anymore:
2666
2667 * term.c (standout_requested): Variable removed.
2668 (update_end, highlight_if_desired): Don't use it.
2669 (chars_wasted, copybuf): Variables removed.
2670 (write_standout_marker): Function removed.
2671 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
2672 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2673 Don't use `chars_wasted' or `copybuf'.
2674 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2675 Set `costs_set' to true.
2676 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2677 `chars_wasted'.
2678 (clear_end_of_line): Function removed.
2679 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2680 (clear_to_end): Call `clear_end_of_line' instead of
2681 `clear_end_of_line_raw'.
2682 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2683 (term_init): Don't set them.
2684 Turn off any standout/underline modes that require magic cookies.
2685 (ins_del_lines, highlight_if_desired, background_highlight)
2686 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2687 Remove special processing for magic-cookie standout modes.
2688 (turn_off_face, turn_on_face): Remove special processing for
2689 underline magic-cookie glitch.
2690
2691 2001-10-19 Richard M. Stallman <rms@gnu.org>
2692
2693 * eval.c (syms_of_eval): Doc fixes.
2694
2695 2001-10-19 Gerd Moellmann <gerd@gnu.org>
2696
2697 * xdisp.c (redisplay_internal): Don't clear echo area if the
2698 mini-window is selected.
2699
2700 2001-10-19 Miles Bader <miles@gnu.org>
2701
2702 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2703 doesn't take precedence if the affected property's value is nil.
2704
2705 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2706
2707 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2708 with fields and suggest using `forward-line' to avoid them.
2709 * editfns.c (Fline_beginning_position, Fline_end_position):
2710 Clarify documentation.
2711
2712 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2713
2714 * keymap.c (current_minor_maps): `override' only shadows its
2715 correspondent in minor-mode-map-alist, not the whole tail.
2716
2717 2001-10-18 Andrew Innes <andrewi@gnu.org>
2718
2719 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2720 optimization. The fontp->encoding array was not being initialized
2721 correctly when compiled with optimizations by MSVC.
2722
2723 2001-10-18 Gerd Moellmann <gerd@gnu.org>
2724
2725 * xdisp.c (display_line): Indicate empty lines in active mini-window.
2726
2727 2001-10-17 Andrew Innes <andrewi@gnu.org>
2728
2729 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2730
2731 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2732 font_info.charset field.
2733
2734 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2735 rather than working it out by calling w32_codepage_for_font for
2736 every glyph.
2737
2738 2001-10-17 Andrew Innes <andrewi@gnu.org>
2739
2740 * w32term.c (w32_read_socket): Determine clipping rectangle for
2741 the entire frame, including areas covered by scrollbars and the
2742 menubar. This avoids internal arguments about whether a frame is
2743 fully obscured or not.
2744
2745 2001-10-17 Gerd Moellmann <gerd@gnu.org>
2746
2747 * xdisp.c (try_window_id): Undo last change. Give up if
2748 window ends in strings.
2749
2750 * xdisp.c (try_window_id): Don't display lines after the window
2751 end if the rest of the window after the window end was already blank.
2752
2753 * xdisp.c (try_window_id): Remove code that was only there
2754 for the release of 21.1.
2755
2756 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
2757
2758 2001-10-17 Miles Bader <miles@gnu.org>
2759
2760 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2761 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2762 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2763 Change doc-string comments to `new style' [w/`doc:' keyword].
2764 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2765 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2766 out make-docfile.
2767
2768 2001-10-16 Miles Bader <miles@gnu.org>
2769
2770 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2771
2772 2001-10-16 Gerd Moellmann <gerd@gnu.org>
2773
2774 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2775 *scratch*.
2776
2777 2001-10-16 Ken Raeburn <raeburn@gnu.org>
2778
2779 Avoid the assumption that car and cdr slots of cons cells are
2780 addressable lvalues; this allows for easier experimentation with
2781 other lisp implementations that may not permit such accesses for
2782 various reasons. Not quite complete -- buffer.c still needs some
2783 work, and w32/mac files need rechecking -- so compile-time
2784 enforcement is left disabled for now.
2785
2786 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
2787 gcc with a union-based Lisp object rep. Redefine as no-op for now.
2788 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2789 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2790 (XSETCAR, XSETCDR): New macros.
2791 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2792 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2793 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2794 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2795 XSETCDR.
2796 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
2797 * buffer.c (record_buffer, Fbury_buffer)
2798 (swap_out_buffer_local_variables, recenter_overlay_lists)
2799 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
2800 fields of a cons cell respectively.
2801 * callint.c (quotify_args, Fcall_interactively): Likewise.
2802 * ccl.c (Fregister_code_conversion_map): Likewise.
2803 * coding.c (detect_coding_system): Likewise.
2804 * composite.c (get_composition_id, make_composition_value_copy):
2805 Likewise.
2806 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2807 (swap_in_symval_forwarding, set_internal, Fset_default)
2808 (Fmake_variable_buffer_local, Fmake_local_variable)
2809 (Fmake_variable_frame_local): Likewise.
2810 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
2811 * keymap.c (Fset_keymap_parent, store_in_keymap)
2812 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
2813 * minibuf.c (get_minibuffer): Likewise.
2814 * search.c (Fmatch_data): Likewise.
2815 * textprop.c (extend_property_ranges): Likewise.
2816 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
2817 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2818 Likewise.
2819 * w32term.c (x_delete_display): Likewise.
2820 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2821 Likewise.
2822 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
2823 * doc.c (store_function_docstring): Use XSETCARFASTINT.
2824 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
2825 (Fread_file_name): Use XSETCAR.
2826 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2827 CHECK_NUMBER_CDR.
2828 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2829 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2830 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2831 CHECK_NUMBER_CDR.
2832 * keyboard.c (read_char): Alter list traversal to avoid taking the
2833 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2834 (parse_menu_item): Use XSETCAR and XSETCDR.
2835 (reach_char_x_menu_prompt): Use XSETCAR.
2836 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2837 (Fcommand_execute): Use XSETCDR.
2838 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2839 (openp): Change list traversal to avoid using XCAR as lvalue.
2840 (read_list): Use XSETCDR.
2841 * process.c (wait_reading_process_input): Change wait_for_cell
2842 handling to avoid taking addresses of cons cell slots.
2843 * xselect.c (x_own_selection, x_handle_selection_clear)
2844 (x_clear_frame_selections): Use XSETCDR.
2845 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2846 (x_handle_property_notify, x_get_foreign_selection)
2847 (x_handle_selection_notify): Use XSETCAR.
2848
2849 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2850
2851 * buffer.c: Put doc strings in comments.
2852
2853 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
2854
2855 2001-10-15 Sam Steingold <sds@gnu.org>
2856
2857 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2858
2859 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2860
2861 * process.c (process-inherit-coding-system-flag)
2862 (get-buffer-process): Do not confuse make-docfile with doc strings
2863 in comment.
2864
2865 * editfns.c (Fchar_to_string): Make doc string consistent with
2866 arguments. Put doc strings in comments.
2867
2868 * abbrev.c, minibuf.c: Put doc strings in comments.
2869
2870 2001-10-15 Gerd Moellmann <gerd@gnu.org>
2871
2872 * window.c (window_loop): Don't check for Fother_buffer returning nil.
2873
2874 * window.c (select_window_1): Unfreeze window start. Remove a
2875 doubled test for WINDOW being live.
2876
2877 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2878
2879 * fns.c (Fmapconcat): Fix typo in a doc string.
2880
2881 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2882
2883 2001-10-15 Gerd Moellmann <gerd@gnu.org>
2884
2885 * xterm.c (x_draw_glyph_string): Restore clipping after
2886 drawing box.
2887
2888 2001-10-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2889
2890 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
2891
2892 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2893
2894 * indent.c (skip_invisible): Use new retval of
2895 TEXT_PROP_MEANS_INVISIBLE.
2896
2897 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2898 If a parent is reached and noinherit is set, exit immediately.
2899 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2900
2901 * s/ms-w32.h (EXEC_SUFFIXES):
2902 * s/msdos.h (EXEC_SUFFIXES):
2903 * process.h (EXEC_SUFFIXES): Remove.
2904
2905 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2906 (decode_suffixes): Remove.
2907
2908 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
2909 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2910 (invisible_ellipsis_p): Remove.
2911
2912 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2913 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2914 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
2915 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2916 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
2917
2918 2001-10-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2919
2920 * lisp.h (Ftop_level): Add prototype.
2921
2922 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2923 (XTread_socket): Improve style of comments to follow other
2924 comments.
2925
2926 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2927 is already prototyped in included lisp.h).
2928
2929 * frame.c (Fset_mouse_position): Improve style of comment to
2930 follow other comments.
2931 (Fset_mouse_pixel_position): Improve style of comment to follow
2932 other comments.
2933 (Fmake_frame_visible): Doc fix and typo in comment.
2934 (Fmake_frame_invisible): Doc fix and typo in comment.
2935 (Ficonify_frame): Fix typo in comment.
2936
2937 2001-10-14 Gerd Moellmann <gerd@gnu.org>
2938
2939 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
2940 * term.c, alloc.c: Put doc strings in comments.
2941
2942 2001-10-13 Gerd Moellmann <gerd@gnu.org>
2943
2944 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2945 Provide definitions for doc strings in comments.
2946
2947 * fns.c: Put doc strings in comments.
2948
2949 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2950
2951 * dired.c (file_name_completion): Ignore a candidate directory if
2952 it matches an element in completion-ignored-extensions that ends
2953 in a slash.
2954 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2955 feature in the doc string.
2956 (Ffile_name_completion): Ditto.
2957
2958 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2959
2960 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2961
2962 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2963
2964 * lisp.h (Fprovide): Update prototype.
2965 (Ffeaturep, invisible_p): Remove.
2966
2967 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
2968 (DOLIST, LOOP_PROPVAL): New macros.
2969 (invisible_p, invisible_ellipsis_p): Use them.
2970 (invisible_noellipsis_p): New function.
2971 (syms_of_xdisp): Use empty_string.
2972
2973 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2974
2975 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2976 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2977
2978 * print.c (Fwith_output_to_temp_buffer): Align with
2979 internal_with_output_to_temp_buffer.
2980 (print_preprocess): Use traverse_intervals_noorder.
2981 (print_object): Update call to traverse_intervals.
2982
2983 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2984 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2985
2986 * intervals.c (traverse_intervals_noorder): New function.
2987 (search_for_interval, count_intervals): Use it.
2988 (traverse_intervals): Use less stack space and drop `depth' arg.
2989
2990 * fns.c (Ffeaturep): Add new `subfeature' arg.
2991 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2992 (Qsubfeatures): New var.
2993 (syms_of_fns): Initialize it.
2994
2995 * keymap.c (Fkey_description): Use empty_string.
2996 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2997 (syms_of_keymap): Setup inheritance between maps.
2998 Don't export Sdescribe_bindings_internal any more.
2999
3000 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
3001
3002 2001-10-12 Gerd Moellmann <gerd@gnu.org>
3003
3004 * xterm.c (notice_overwritten_cursor): Renamed from
3005 note_overwritten_text_cursor. Rewritten to take glyph widths into
3006 account.
3007
3008 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3009
3010 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
3011 multi-line strings without a trailing "\n\".
3012
3013 2001-10-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3014
3015 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
3016 defined.
3017
3018 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
3019
3020 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
3021
3022 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
3023 * w32proc.c (sys_spawnve):
3024 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
3025 * w32.c (check_windows_init_file):
3026 * sound.c (Fplay_sound):
3027 * emacs.c (init_cmdargs):
3028 * process.c (Fstart_process): Update calls to openp.
3029
3030 * callproc.c (Vexec_suffixes): New var.
3031 (Fcall_process): Update call to openp.
3032 (decode_suffixes): New function.
3033 (syms_of_callproc): Init exec-suffixes.
3034
3035 * lread.c (Vload_suffixes, default_suffixes): New vars.
3036 (openp): Take a lisp list of suffixes.
3037 Check for file-name-handlers even if the file was absolute already.
3038 (syms_of_lread): Declare load-suffixes.
3039 (Fload): Fix up call to openp.
3040 Don't bother checking for file-name-handler at the very beginning.
3041
3042 * keymap.h (Fcopy_keymap): Don't export.
3043
3044 * lisp.h (empty_string): Declare.
3045 (Vload_suffixes, Vexec_suffixes): Declare.
3046 (openp): Update prototype.
3047
3048 * emacs.c (empty_string): New var.
3049 (syms_of_emacs): Initialize it.
3050
3051 * search.c (wordify): Use it.
3052
3053 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
3054 selected window if it's not displayed there. Handle the case
3055 when the window is dedicated.
3056 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
3057
3058 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
3059
3060 * syntax.h (struct gl_state_s): Change the meaning of b_property.
3061 Remove left_ok and right_ok.
3062 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
3063 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
3064 new meaning of b_property.
3065
3066 * syntax.c (update_syntax_table): Simplify.
3067 (Fforward_comment): Don't skip quoted chars when going backward.
3068
3069 2001-10-11 Gerd Moellmann <gerd@gnu.org>
3070
3071 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
3072 in case I is of some unsigned type, in which case
3073 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
3074 comparison becomes bogus.
3075
3076 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
3077 (Fuser_full_name): Fix bug treating a float as a fixnum.
3078
3079 * data.c (Fstring_to_number): Use make_fixnum_or_float.
3080
3081 * lisp.h (make_fixnum_or_float): New macro.
3082
3083 * lisp.h (circular_list_error): Add prototype.
3084
3085 * data.c (Qcircular_list): New variable.
3086 (circular_list_error): New function.
3087 (syms_of_data): Initialize it Qcircular_list.
3088
3089 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
3090
3091 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
3092 * casefiddle.c, buffer.c: Include keymap.h.
3093
3094 2001-10-10 Gerd Moellmann <gerd@gnu.org>
3095
3096 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
3097 options. From Dave Love <d.love@dl.ac.uk>.
3098
3099 2001-10-09 Gerd Moellmann <gerd@gnu.org>
3100
3101 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
3102 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3103
3104 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
3105 unsigned char.
3106 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
3107
3108 2001-10-08 Andrew Innes <andrewi@gnu.org>
3109
3110 * lisp.h [max]: Undef min and max before redefining them.
3111
3112 * w32gui.h: Do not undef min and max.
3113
3114 * w32heap.h: Do not undef min and max.
3115
3116 * s/ms-w32.h: Do not undef min and max.
3117
3118 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3119
3120 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
3121
3122 2001-10-08 Sam Steingold <sds@gnu.org>
3123
3124 * keymap.c (current-active-maps): Quote newlines (compilation error).
3125
3126 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3127
3128 * Makefile.in (lisp, shortlisp): Replace bindings.el with
3129 bindings.elc, since otherwise doc strings in bindings.el get wrong
3130 offsets in etc/DOC.
3131
3132 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
3133
3134 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
3135
3136 * keyboard.h (map_prompt): Remove.
3137
3138 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
3139 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
3140
3141 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3142
3143 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
3144
3145 * keyboard.c (map_prompt): Remove.
3146 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3147 Use Fkeymap_prompt.
3148
3149 * keymap.h: New file. Extracted from lisp.h.
3150
3151 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
3152 (accessible_keymaps_1): New function.
3153 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
3154 (Fwhere_is_internal): Use Fcurrent_active_maps.
3155 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
3156 Insert in current buffer rather than standard-output.
3157 Don't call `help-mode'. Export to elisp.
3158 (describe_buffer_bindings): New wrapper.
3159 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
3160 and Sdescribe_buffer_bindings.
3161
3162 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3163
3164 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3165 Remove code setting signal handler.
3166
3167 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
3168 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
3169
3170 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3171
3172 * keyboard.c: Don't define min/max.
3173
3174 2001-10-08 Gerd Moellmann <gerd@gnu.org>
3175
3176 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
3177 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
3178 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
3179 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
3180 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
3181 Don't define min/max.
3182
3183 * lisp.h (min, max): New macros.
3184
3185 * puresize.h (BASE_PURESIZE): Increase to 725000.
3186
3187 2001-10-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3188
3189 * xfaces.c (free_frame_menubar): Add prototype.
3190
3191 * lisp.h (init_window): Add prototype.
3192
3193 * editfns.c: Include ctype.h.
3194
3195 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
3196 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
3197 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
3198 variable `sb'.
3199
3200 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
3201 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
3202 `popup_activated_flag' and `title'.
3203
3204 * doc.c (Fdocumentation_property): Fix typo in a doc string.
3205
3206 * emacs.c (main): Remove extra `;'.
3207
3208 * atimer.h (struct atimer): Fix typos in a comment.
3209
3210 * atimer.c: Fix typo.
3211
3212 * Makefile.in: Fix typo.
3213
3214 * README: Remove obsolete part mentioning removed VMS file.
3215
3216 2001-10-07 Miles Bader <miles@gnu.org>
3217
3218 * Makefile.in (lisp, shortlisp): Add `button.elc'.
3219
3220 2001-10-07 Ken Raeburn <raeburn@gnu.org>
3221
3222 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
3223 Lisp_Object.
3224
3225 * lisp.h (Ffield_end): Declare.
3226
3227 2001-10-07 Gerd Moellmann <gerd@gnu.org>
3228
3229 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
3230
3231 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
3232
3233 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
3234
3235 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
3236
3237 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
3238 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
3239
3240 * alloc.c (inhibit_garbage_collection): Simplify.
3241 (Fmemory_use_counts): Ditto.
3242
3243 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
3244 (syms_of_data): DEFVAR_INT most-positive-fixnum and
3245 most-negative-fixnum.
3246
3247 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
3248 (FIXNUM_OVERFLOW_P): New macros.
3249
3250 2001-10-06 Miles Bader <miles@gnu.org>
3251
3252 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
3253 scroll_bar_bottom_shadow_pixel fields.
3254 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
3255 for the shadows, and tell the toolkit about them if we succeed.
3256 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
3257 Free scroll-bar shadow colors.
3258 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
3259 Free scroll-bar shadow colors when the background color changes.
3260 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
3261 Initialize scroll-bar shadow-color fields.
3262
3263 2001-10-05 Gerd Moellmann <gerd@gnu.org>
3264
3265 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
3266
3267 2001-10-05 Miles Bader <miles@gnu.org>
3268
3269 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
3270 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
3271 New functions (were in simple.el).
3272 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3273 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
3274 (syms_of_minibuf): Initialize them.
3275
3276 2001-10-05 Gerd Moellmann <gerd@gnu.org>
3277
3278 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
3279 (tiff_load): Install them as error and warning handler.
3280
3281 2001-10-04 Andrew Innes <andrewi@gnu.org>
3282
3283 * w32fns.c (x_to_w32_color): Fix argument to alloca.
3284 (w32_load_system_font): Don't believe what GetLanguageFontInfo
3285 says; query codepage info directly to determine if font is double byte.
3286 (x_to_w32_charset): Handle private format for unknown charsets.
3287 Handle wildcards in charset spec, by ignoring them.
3288 (w32_codepage_for_font): Fix argument to alloca. Don't remove
3289 "*-" prefix from charset.
3290 (x_to_w32_font): Enlarge remainder array for safety. Specifically
3291 handle the truncated font spec form constructed by font_list_1, so
3292 that we correctly identify the charset fields. Don't remove "*-"
3293 prefix from charset.
3294 (w32_list_synthesized_fonts): Fix argument to alloca.
3295
3296 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
3297
3298 * window.h (MINI_WINDOW_P): Use NILP.
3299
3300 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
3301
3302 * termhooks.h (struct input_event): Use proper type for `kind'.
3303
3304 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3305
3306 This handles unknown keysyms better than before. For example,
3307 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
3308 Emacs formerly completely ignored F5. With the change, it derives
3309 a key symbol from the name of the X keysym, `ccaron' in this case.
3310 Reported by Martin Buchholz.
3311
3312 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
3313 unknown keysyms.
3314
3315 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
3316 that EVENT->code isn't a function key, use the keysym's name.
3317
3318 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3319
3320 FOREACH is a macro that should make it easier to loop over Lisp
3321 lists with checks for cycles and proper lists.
3322
3323 * lisp.h (LIST_END_P, FOREACH): New macros.
3324
3325 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3326
3327 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
3328 called for a lost connection. Prevent dumping core in this case.
3329 Instead print the X error, and exit. On user request.
3330
3331 * xterm.c (error_msg): New variable.
3332 (x_fatal_error_signal): New function.
3333 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
3334 as fatal_error_signal_hook around the call to XtCloseDisplay.
3335
3336 * emacs.c (fatal_error_signal_hook): New variable.
3337 (fatal_error_signal): Call that function.
3338
3339 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3340
3341 With this, Emacs prints how much pure storage it will
3342 approximately need in case pure storage overflows while dumping.
3343
3344 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
3345 New variables.
3346 (init_alloc_once): Initialize new variables.
3347 (PURE_POINTER_P): Use new variables.
3348 (pure_alloc): If pure storage overflows, allocate from the heap.
3349 (check_pure_size): New function.
3350 (Fgarbage_collect): Don't GC if pure storage has overflowed.
3351
3352 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
3353 (check_pure_size): Add prototype.
3354
3355 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
3356
3357 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3358
3359 This adds a post-gc-hook that's run with GC inhibited.
3360 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
3361
3362 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
3363 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
3364 (Fgarbage_collect): Run post-gc-hook.
3365
3366 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3367
3368 This adds `defvaralias' and `indirect-variable'. Changes not
3369 directly related to this feature are there to gain the same
3370 performance again as before variable aliases.
3371
3372 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
3373 code to get and set symbol values, to take defvaralias into account.
3374
3375 (Note: the new `constant' bit-flag in symbols would make it
3376 possible to define arbitrary read-only variables, e.g. with
3377 `defconst'.)
3378
3379 Documentation is in lispref/variables.texi. Added to NEWS.
3380
3381 * lisp.h (enum symbol_interned): New enumeration.
3382 (struct Lisp_Symbol): Remove member `obarray', add
3383 `indirect_variable', `constant', and `interned'.
3384 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
3385 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
3386 (indirect_variable): Add prototype.
3387
3388 * print.c (print_preprocess, print_object): Test internedness of
3389 symbols differently.
3390
3391 * lread.c (Fintern, Funintern): Set symbol's interned and constant
3392 bit-fields.
3393 (init_obarray): Likewise for t and nil.
3394
3395 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3396 (Fdefvaralias): New function.
3397 (specbind): Simplify the test if symbol is a constant.
3398 (syms_of_eval): Defsubr Fdefvaralias.
3399
3400 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
3401 (Qcyclic_variable_indirection): New variable.
3402 (Fkeywordp): Check for internedness differently.
3403 (Fmakunbound): Simplify the test if symbol is a constant.
3404 (indirect_variable, Findirect_variable): New functions.
3405 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
3406 aliased symbol.
3407 (let_shadows_buffer_binding_p): Check for variable aliases.
3408 (set_internal): Simplify the test if SYMBOL is a constant.
3409 If SYMBOL has a buffer-local value and is an alias, use the aliased
3410 symbol instead.
3411 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
3412 Sindirect_variable.
3413
3414 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
3415 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
3416 set directly.
3417
3418 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
3419
3420 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
3421 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
3422 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
3423
3424 2001-10-04 Gerd Moellmann <gerd@gnu.org>
3425
3426 * Branch for 21.1.
3427
3428 2001-10-03 Miles Bader <miles@gnu.org>
3429
3430 * callproc.c (syms_of_callproc): Explicitly state in the
3431 documentation for `process-environment' that earlier entries take
3432 precedence over later ones.
3433
3434 2001-10-02 Miles Bader <miles@gnu.org>
3435
3436 * textprop.c (Fnext_char_property_change)
3437 (Fprevious_char_property_change): Remove reference to non-existant
3438 argument OBJECT from doc-string.
3439
3440 2001-10-01 Gerd Moellmann <gerd@gnu.org>
3441
3442 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
3443 (try_window_id): Skip back over lines ending in a newline from a
3444 string.
3445
3446 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
3447 New bit flag
3448
3449 2001-10-01 Richard M. Stallman <rms@gnu.org>
3450
3451 * search.c (Freplace_match): Doc fix.
3452
3453 2001-09-28 Andrew Innes <andrewi@gnu.org>
3454
3455 * w32menu.c (set_frame_menubar): Take into account that
3456 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3457 <raeburn@gnu.org>.
3458
3459 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
3460
3461 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
3462
3463 2001-09-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3464
3465 * s/gnu-linux.h: Fix a typo in comment.
3466
3467 2001-09-28 Andreas Schwab <schwab@suse.de>
3468
3469 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
3470 nocombreloc, in case -z combreloc is the default.
3471
3472 2001-09-28 Gerd Moellmann <gerd@gnu.org>
3473
3474 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
3475 really going on here.
3476
3477 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
3478
3479 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
3480
3481 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
3482
3483 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
3484 utf-8, menu-bar, and latin-N.
3485 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
3486 unconditionally now.
3487 (lisp): Add latin-N, since they are preloaded.
3488
3489 2001-09-27 Gerd Moellmann <gerd@gnu.org>
3490
3491 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
3492 to the left. Some cleanup.
3493
3494 * xdisp.c (display_mode_element): One more case where a string's
3495 multibyteness should be used for display.
3496
3497 2001-09-26 Gerd Moellmann <gerd@gnu.org>
3498
3499 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
3500 reading at EOF.
3501
3502 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
3503 of the only temporarily set echoing flag for deciding when
3504 the cancel echoing.
3505
3506 * keyboard.c (echo_kboard): Make externally visible.
3507
3508 * lisp.h (echo_kboard): Declare extern.
3509
3510 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
3511 fonts_changed_p if we need larger matrices due to vscrolling.
3512 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
3513 this round of redisplay if make_cursor_line_fully_visible fails.
3514 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
3515 (try_cursor_movement, try_scrolling): Use them instead of integers.
3516
3517 * dispextern.h (required_matrix_width, required_matrix_height):
3518 Add prototypes.
3519
3520 * dispnew.c (required_matrix_width, required_matrix_height):
3521 New functions.
3522 (allocate_matrices_for_window_redisplay)
3523 (allocate_matrices_for_frame_redisplay: Use them.
3524 Remove parameters CH_DIM.
3525
3526 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3527 and selected_window to the frame of the window whose mode-lines
3528 are displayed, and to the window itself.
3529 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
3530 here.
3531
3532 2001-09-25 Gerd Moellmann <gerd@gnu.org>
3533
3534 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3535 the image cache under us.
3536
3537 * xdisp.c (display_mode_element): If the mode element is a symbol
3538 with a string value, use that string's multibyteness for displaying.
3539
3540 * keyboard.c (read_char): Don't clear a message for a switch-frame
3541 event. From Stefan Monnier <monnier@cs.yale.edu>.
3542
3543 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3544 version for after 21.1.
3545
3546 * xdisp.c (row_containing_pos): Make externally visible.
3547
3548 * dispextern.h (row_containing_pos): Add prototype.
3549
3550 * process.c (send_process): Disable composition if from_byte < 0.
3551 From Kenichi Handa <handa@etl.go.jp>.
3552
3553 2001-09-24 Gerd Moellmann <gerd@gnu.org>
3554
3555 * xterm.c (refreshicon): Function removed.
3556
3557 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3558
3559 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3560
3561 * xterm.c (toplevel): Remove includes in #if 0.
3562
3563 * process.c (sigchld_handler) [LINUX]: Don't return from
3564 the signal handler at the end of the loop.
3565
3566 2001-09-21 Gerd Moellmann <gerd@gnu.org>
3567
3568 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3569 Terminate only if kill returns -1, and errno is ESRCH.
3570
3571 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
3572
3573 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3574
3575 2001-09-20 Gerd Moellmann <gerd@gnu.org>
3576
3577 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3578 since this function can be called during GC.
3579
3580 * callproc.c (Fcall_process): Handle errors from pipe(2).
3581 (child_setup): Delete code in #ifdef vipc.
3582
3583 2001-09-19 Gerd Moellmann <gerd@gnu.org>
3584
3585 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3586 (display_mode_element): Display the string from decode_mode_spec
3587 depending on its multibyteness.
3588
3589 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3590
3591 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3592
3593 2001-09-18 Gerd Moellmann <gerd@gnu.org>
3594
3595 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3596 recursive_edit_unwind.
3597 (recursive_edit_unwind): Set kboard state according to
3598 SINGLE-KBOARD.
3599
3600 * buffer.c (modify_overlay): Don't do nothing if START == END;
3601 This can still be a modification, for example when an overlay has
3602 a before-string or after-string.
3603 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3604 an overlay with before-string or after-string.
3605
3606 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3607 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3608
3609 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3610 first_unchanged_at_end_row is in front of
3611 last_unchanged_at_beg_row. This code should be removed after the
3612 release of 21.1.
3613
3614 2001-09-17 Gerd Moellmann <gerd@gnu.org>
3615
3616 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3617 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3618
3619 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3620 versions >= 2.95.
3621
3622 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3623
3624 * dired.c (Ffile_attributes): Doc fix.
3625
3626 2001-09-14 Gerd Moellmann <gerd@gnu.org>
3627
3628 * fileio.c (Ffile_symlink_p): Fix last change.
3629
3630 * filelock.c (current_lock_owner): Fix last change.
3631
3632 2001-09-13 Gerd Moellmann <gerd@gnu.org>
3633
3634 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3635 take that to mean that the buffer is too small.
3636
3637 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3638 that to mean that the buffer is too small.
3639
3640 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3641 current buffer's multibyteness when discarding the iterator's
3642 stack.
3643
3644 * xfns.c (Fx_window_property): Handle case that property gets
3645 deleted between the two calls to XGetWindowProperty.
3646
3647 2001-09-11 Gerd Moellmann <gerd@gnu.org>
3648
3649 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
3650
3651 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3652 in addition to read-only.
3653
3654 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3655 to t in addition to read-only.
3656
3657 * lisp.h (Qinhibit_modification_hooks): Declare.
3658
3659 * insdel.c (Qinhibit_modification_hooks): New variable.
3660 (syms_of_insdel): Initialize and staticpro it.
3661
3662 * textprop.c (verify_interval_modification): Don't run
3663 modification-hooks if inhibit_modification_hooks.
3664
3665 * dispnew.c (set_window_cursor_after_update): Fix code
3666 finding glyph row containing cursor when cursor_in_echo_area
3667 is >= 0.
3668
3669 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3670 (add_to_log): Use bcopy instead of strcpy.
3671 (init_from_display_pos): Use an explicit loop over bytes in
3672 overlay strings instead of calling index.
3673
3674 2001-09-10 Gerd Moellmann <gerd@gnu.org>
3675
3676 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3677
3678 * dispnew.c (direct_output_for_insert): Don't change IT's
3679 stop_charpos to something in front of its current position.
3680
3681 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3682 `format'.
3683
3684 2001-09-10 Richard M. Stallman <rms@gnu.org>
3685
3686 * frame.c (Fmouse_position): Doc fix.
3687
3688 2001-09-07 Gerd Moellmann <gerd@gnu.org>
3689
3690 * xdisp.c (init_from_display_pos): Don't compare the result
3691 of calling index with NULL.
3692
3693 2001-09-06 Gerd Moellmann <gerd@gnu.org>
3694
3695 * xfns.c (x_set_background_color): Don't change the colors
3696 of the X window of scroll bar widgets.
3697
3698 2001-09-05 Andrew Innes <andrewi@gnu.org>
3699
3700 * w32fns.c (w32_createwindow): Undo last change.
3701
3702 2001-09-05 Gerd Moellmann <gerd@gnu.org>
3703
3704 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3705
3706 * xdisp.c (string_buffer_position): Use *single_char_property*
3707 functions instead of the *single_property* functions.
3708
3709 2001-09-04 Andrew Innes <andrewi@gnu.org>
3710
3711 * w32term.c (w32_read_socket): Add more information to debugging
3712 output.
3713
3714 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3715 from Emacs frames, so that calls to GetClipBox in w32term.c
3716 correctly report when part of a frame is visible (including
3717 scrollbars, etc). This prevents repeated redrawing of frames when
3718 only a scrollbar is visible.
3719 (w32_wnd_proc): Add more frame information to debugging output.
3720
3721 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3722
3723 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3724
3725 2001-09-03 Gerd Moellmann <gerd@gnu.org>
3726
3727 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3728 help-echo for a string which doesn't have help-echo itself, use
3729 get-char-property to obtain the help-echo from the string's buffer
3730 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3731 have mouse-face, look ``under'' the string for mouse-face from an
3732 overlay.
3733 (fast_find_position): Add parameter STOP. In the final row, stop
3734 before glyphs having STOP as object. Don't consider glyphs that
3735 are not from a buffer.
3736
3737 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3738
3739 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3740
3741 * fns.c (Fmd5): Doc fix.
3742
3743 2001-08-31 Gerd Moellmann <gerd@gnu.org>
3744
3745 * composite.c (update_compositions): Do nothing if
3746 inhibit-modification-hooks is set.
3747
3748 2001-08-30 Gerd Moellmann <gerd@gnu.org>
3749
3750 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
3751 and check_message_stack if terminating abnormally. We want
3752 glyph matrices etc. in a core dump.
3753
3754 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3755 (syms_of_xdisp): Initialize them.
3756 (handle_single_display_prop): Don't change point, bind `object',
3757 `position', and `buffer-position' instead to the object having the
3758 `display' property, position in the object and position in the buffer.
3759
3760 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3761 of the buffer if REPLACE is non-nil.
3762
3763 2001-08-29 Gerd Moellmann <gerd@gnu.org>
3764
3765 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3766
3767 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3768
3769 * w32term.c (x_set_glyph_string_background_width)
3770 (show_mouse_face): Track the last changes in xterm.c.
3771
3772 2001-08-28 Gerd Moellmann <gerd@gnu.org>
3773
3774 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3775 string's background width so that multi-line mouse-face is drawn
3776 to the right edge of the window.
3777 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3778 glyphs.
3779
3780 * dispnew.c (direct_output_for_insert): Set updated_area
3781 before inserting/writing glyphs.
3782
3783 * xdisp.c (display_mode_element): Use string_byte_to_char to
3784 determine character positions in strings, use chars_in_text
3785 instead of strwidth.
3786 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3787 a matrix as parameter; this is easier to use from GDB.
3788
3789 2001-08-28 Miles Bader <miles@gnu.org>
3790
3791 * textprop.c (Fprevious_single_char_property_change)
3792 (Fnext_single_char_property_change): Doc fixes.
3793
3794 2001-08-27 Gerd Moellmann <gerd@gnu.org>
3795
3796 * fileio.c (Finsert_file_contents): Allocate, restore, and
3797 free composition data in the case of REPLACE not being nil.
3798
3799 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3800 there exist overlay strings with newlines at POS.
3801 (text_outside_line_unchanged_p): Return 0 if changes start at
3802 START and overlays exist at START. Likewise for END.
3803 (try_window_id): Give up if init_to_row_end returns 0.
3804
3805 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3806 unconditionally.
3807
3808 2001-08-24 Gerd Moellmann <gerd@gnu.org>
3809
3810 * keymap.c (access_keymap): Return the cdr of the binding of
3811 a generic character instead of its definition (KEY . BINDING).
3812
3813 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3814 to 0 also in the REPLACE case.
3815
3816 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3817
3818 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3819 open to determine whether file is readable (as for DOS_NT).
3820
3821 2001-08-23 Gerd Moellmann <gerd@gnu.org>
3822
3823 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3824 coding.type is coding_type_no_conversion or coding_type_raw_text,
3825 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3826 non-nil instead of just setting enable_multibyte_characters in the
3827 buffer to nil.
3828
3829 2001-08-22 Gerd Moellmann <gerd@gnu.org>
3830
3831 * dispextern.h (struct face_cache): Add member
3832 menu_face_changed_p.
3833
3834 * xfaces.c (menu_face_changed_default): New variable.
3835 (menu_face_changed_count): Variable removed.
3836 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3837 the menu_face_changed_default flag, otherwise set the FRAME's
3838 menu_face_changed_p flag if the `menu' face has been changed.
3839 Prevent calling set_font_frame_param if FRAME is t.
3840 (make_face_cache): Initialize cache's menu_face_changed_p
3841 from menu_face_changed_default.
3842 (realize_basic_faces): Look into the frame's face cache to
3843 determine if the menu appearance needs updating.
3844
3845 * keymap.c (access_keymap): Fix last change to not consider
3846 IDX when it has modifiers.
3847
3848 2001-08-21 Gerd Moellmann <gerd@gnu.org>
3849
3850 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3851 . BINDING) exists, where GENERIC-CHAR is the generic character of
3852 the charset of IDX, return BINDING unless there exists a binding
3853 for IDX itself.
3854
3855 2001-08-16 Gerd Moellmann <gerd@gnu.org>
3856
3857 * xrdb.c (SYSV): Don't define on Solaris 2.
3858 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3859
3860 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
3861 of the screen line, not text line, containing IT's current position.
3862
3863 2001-08-15 Gerd Moellmann <gerd@gnu.org>
3864
3865 * window.c (window_scroll_pixel_based): Don't recenter if
3866 PT is partially visible in the window.
3867
3868 * xterm.c (expose_window_tree, expose_window, expose_line):
3869 Return 1 when overwriting mouse-face.
3870 (expose_frame): If mouse-face was overwritten, redo it.
3871
3872 * xfaces.c (x_update_menu_appearance): Don't call
3873 set_frame_menubar, let the next redisplay do it.
3874
3875 2001-08-14 Andrew Innes <andrewi@gnu.org>
3876
3877 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3878 drawing glyph string.
3879
3880 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3881
3882 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3883 running HI-UX/MPP.
3884
3885 2001-08-14 Gerd Moellmann <gerd@gnu.org>
3886
3887 * xfaces.c (x_update_menu_appearance): Save and restore value of
3888 interrupt_input_blocked.
3889
3890 2001-08-13 Gerd Moellmann <gerd@gnu.org>
3891
3892 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3893 a line start, move back to the line start.
3894
3895 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3896 exactly when a mini-buffer is active.
3897
3898 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3899 in units of 1/8 character on non window-system frames.
3900 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3901
3902 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3903
3904 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3905 a doc string.
3906
3907 2001-08-09 Gerd Moellmann <gerd@gnu.org>
3908
3909 * keyboard.c (Vpre_help_message): New variable.
3910 (syms_of_keyboard): Initialize and staticpro it.
3911 (show_help_echo): Record current message before displaying a
3912 help-echo, and restore that message when clearing the help.
3913
3914 * xfns.c (x_create_im): Remove prototype.
3915
3916 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3917
3918 * dispnew.c (adjust_glyph_matrix): Undo last change.
3919
3920 2001-08-08 Gerd Moellmann <gerd@gnu.org>
3921
3922 * dispnew.c (adjust_glyph_matrix): In the optimization for
3923 windows whose height has changed, disable partially visible lines.
3924
3925 2001-08-07 Gerd Moellmann <gerd@gnu.org>
3926
3927 * window.c (Frecenter): If ARG < 0, and on a window system
3928 frame, count in some empty lines when we can't move -ARG lines down.
3929
3930 * xdisp.c (start_display): Don't try to determine the continuation
3931 lines width if lines are truncated. It's superfluous and leads to
3932 incorrect results if POS is not visible in the window after
3933 reseating the iterator at the previous line start.
3934
3935 2001-08-06 Gerd Moellmann <gerd@gnu.org>
3936
3937 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3938
3939 2001-08-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3940
3941 * alloc.c (init_stack): Remove declaration.
3942
3943 2001-08-03 Gerd Moellmann <gerd@gnu.org>
3944
3945 * keyboard.c (read_key_sequence): Check that key is an integer
3946 before comparing it with quit_char.
3947 (add_command_key): Use larger_vector.
3948 (read_char_x_menu_prompt): Instead of converting symbol and
3949 integer events into conses (EVENT . nil), use (EVENT . disabled)
3950 which cannot be confused with valid events.
3951 (read_char): When reading from Vunread_command_events, check for
3952 events of the form (EVENT . disabled) instead of
3953 (EVENT . nil).
3954
3955 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3956 a float, determine the max height from the frame's height.
3957
3958 2001-08-02 Gerd Moellmann <gerd@gnu.org>
3959
3960 * xdisp.c (redisplay_internal): Take message_cleared_p into
3961 account only if minibuf_level == 0.
3962
3963 2001-08-01 Gerd Moellmann <gerd@gnu.org>
3964
3965 * xdisp.c (redisplay_internal): Add a check for the last
3966 displayed message.
3967
3968 * xdisp.c (message_cleared_p): New variable.
3969 (clear_message): Set message_cleared_p when clearing the current
3970 message.
3971 (redisplay_internal): Look at message_cleared_p to capture
3972 the case that the echo area should be cleared.
3973
3974 * keyboard.c (command_loop_1): Fix spelling of
3975 resize_echo_area_exactly.
3976
3977 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
3978
3979 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3980
3981 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3982 current matrix when the window gets smaller.
3983
3984 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3985
3986 * print.c (strout): Cast the character passed to insert_char to
3987 unsigned char, to avoid sign extension when it is promoted to int.
3988
3989 2001-07-31 Gerd Moellmann <gerd@gnu.org>
3990
3991 * fileio.c (Finsert_file_contents): Don't treat a return value
3992 of 0 from emacs_read as an IO error.
3993
3994 2001-07-30 Gerd Moellmann <gerd@gnu.org>
3995
3996 * keyboard.c (abs): New macro.
3997 (double_click_fuzz): New variable.
3998 (make_lispy_event): Use it to determine what makes a double-click.
3999 (syms_of_keyboard): DEFVAR_INT it.
4000
4001 * xmenu.c (set_frame_menubar): Take into account that
4002 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
4003 <raeburn@gnu.org>.
4004
4005 2001-07-27 Gerd Moellmann <gerd@gnu.org>
4006
4007 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
4008
4009 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
4010 of row's visible height.
4011
4012 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
4013 deal with the first overlay string having an image `display' property.
4014 (try_window_reusing_current_matrix, compute_line_metrics):
4015 Fix computation of row's visible height for the case that part of the
4016 row is invisible above and part of the row is at the same time
4017 invisible below the window.
4018
4019 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4020
4021 * xfns.c (x-show-tip): Doc fix.
4022
4023 * xfns.c (Vx_max_tooltip_size): New variable.
4024 (syms_of_xfns): DEFVAR_LISP it.
4025 (Fx_show_tip): Set frame's window_width to the width of the
4026 window. Use a maximum tooltip size specified by
4027 Vx_max_tooltip_size, if that has valid contents.
4028 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
4029
4030 2001-07-26 Andrew Innes <andrewi@gnu.org>
4031
4032 * w32term.c (x_display_list): New variable.
4033 (w32_term_init): Set it.
4034
4035 * w32term.h (x_display_list): New extern.
4036
4037 2001-07-26 Gerd Moellmann <gerd@gnu.org>
4038
4039 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
4040 is non-nil, instead of when redisplaying_p is non-zero.
4041 See comment there.
4042 (mark_window_display_accurate_1): Add an assertion.
4043
4044 2001-07-25 Gerd Moellmann <gerd@gnu.org>
4045
4046 * dispextern.h (struct it): Increase size of ctl_chars to 16.
4047
4048 * xfns.c (Fx_file_dialog): Block/unblock input while processing
4049 events so that we get a chance of processing expose events.
4050
4051 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
4052
4053 2001-07-24 Gerd Moellmann <gerd@gnu.org>
4054
4055 * xfns.c (valid_image_p): Protect better against invalid image
4056 specifications. Previous code could signal an error.
4057
4058 2001-07-23 Gerd Moellmann <gerd@gnu.org>
4059
4060 * indent.c (current_column): Fix column computation in the
4061 presence of display table entries.
4062 (current_column_1, Fmove_to_column, compute_motion): Likewise.
4063
4064 * dispnew.c (adjust_glyph_matrix): In the optimization for
4065 windows whose height has changed, use the new window height
4066 to compute which rows to invalidate.
4067
4068 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
4069 (MAX_10_EXP): New macro.
4070 (Fformat): Use it.
4071
4072 * coding.c (code_convert_region): Handle the multibyte case if
4073 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
4074
4075 2001-07-20 Gerd Moellmann <gerd@gnu.org>
4076
4077 * dispextern.h (struct face): Change type of `stipple' to
4078 int; it's an ID.
4079
4080 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
4081
4082 2001-07-19 Gerd Moellmann <gerd@gnu.org>
4083
4084 * dispnew.c (update_window): Don't set the cursor at the end
4085 of the update if display update has been paused.
4086
4087 * composite.h (syms_of_composite): Renamed from syms_of_composition.
4088
4089 2001-07-18 Ken Raeburn <raeburn@gnu.org>
4090
4091 * fns.c (Fset_char_table_default): Check that a charset is defined
4092 before checking its dimension.
4093
4094 2001-07-17 Ken Raeburn <raeburn@gnu.org>
4095
4096 * coding.c (setup_coding_system): Don't do any designation based
4097 on reg_bits if charset is not yet defined.
4098
4099 * lisp.h (XVECTOR): Verify correct object type before returning a
4100 pointer, using eassert.
4101
4102 2001-07-17 Gerd Moellmann <gerd@gnu.org>
4103
4104 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
4105 Increase to 4096 because of paste problems reported on GNU/Linux.
4106
4107 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
4108
4109 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
4110
4111 2001-07-16 Gerd Moellmann <gerd@gnu.org>
4112
4113 * fileio.c (unwind_read): Function removed.
4114 (read_non_regular, read_non_regular_quit): New functions.
4115 (Finsert_file_contents): When reading from non-regular files,
4116 arrange to catch a `quit' and terminate the loop. Rearrange
4117 code so that a `quit' when reading from a regular file doesn't
4118 insert text in the buffer.
4119
4120 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
4121 Clear faces afterwards.
4122 (clear_font_table): Take a x_display_info parameter. Don't free
4123 fonts being the default font of any frame on the given display.
4124
4125 2001-07-13 Gerd Moellmann <gerd@gnu.org>
4126
4127 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
4128 instead of CHAR_STRING which can signal an error.
4129
4130 * charset.c (char_to_string_1): Extracted from char_to_string.
4131 Return -1 instead of signaling an error.
4132 (char_to_string): Use it.
4133
4134 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
4135
4136 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
4137
4138 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
4139 is t, don't try to append anything to it.
4140
4141 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
4142
4143 * dired.c (file_name_completion): Pass dp->d_name to
4144 Fstring_match, not elt, which is always nil here.
4145
4146 2001-07-12 Gerd Moellmann <gerd@gnu.org>
4147
4148 * xselect.c (x_decline_selection_request): Handle errors
4149 caused by receivers that have vanished.
4150
4151 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
4152 ignoring events on foreign windows in #if 0. Always dispatch
4153 the event after checking it with x_handle_property_notify.
4154
4155 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
4156 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
4157 TRACE macros to facilitate debugging. Add additional trace statements.
4158 (toplevel): Add prototypes for file-local functions.
4159 (x_atom_to_symbol): Remove DPYINFO parameter.
4160
4161 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
4162
4163 * w32menu.c (menubar_selection_callback, w32_menu_show):
4164 Initialize `entry' to nil.
4165 (w32_dialog_show): Remove unused `save_wv' variable.
4166 (name_is_separator): Recognize "--:foo" and "--foo-bar".
4167
4168 2001-07-11 Gerd Moellmann <gerd@gnu.org>
4169
4170 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
4171
4172 * fileio.c (unwind_read): Print a message when discarding inserted
4173 text or switching the buffer to unibyte. Change parameter.
4174 (Finsert_file_contents): Don't pass VISIT to unwind_read.
4175
4176 * fileio.c (unwind_read): New function.
4177 (Finsert_file_contents): Record it as unwind-function for
4178 the case that reading is interrupted by C-g.
4179
4180 2001-07-10 Gerd Moellmann <gerd@gnu.org>
4181
4182 * dispnew.c (update_window): Don't skip the header-line
4183 update when scrolling_window returns 0.
4184
4185 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
4186
4187 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
4188 for the case that x_decode_color signals an error.
4189
4190 * xdisp.c (add_to_log): Do nothing if called asynchronously.
4191
4192 2001-07-09 Gerd Moellmann <gerd@gnu.org>
4193
4194 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
4195 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
4196 around ioctls.
4197
4198 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
4199
4200 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
4201 doc string line for dos-timezone-offset.
4202
4203 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
4204 inline assembly, to avoid compiler warnings.
4205 (syms_of_msdos): Add \n\ at the end of a line in the doc string
4206 line for dos-unsupported-char-glyph.
4207
4208 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
4209
4210 2001-07-05 Gerd Moellmann <gerd@gnu.org>
4211
4212 * sound.c: Include Emacs' header files with #include "...".
4213
4214 * eval.c (specbind): Additionally record the buffer that was
4215 current when a buffer-local or frame-local variable was bound.
4216
4217 2001-07-04 Gerd Moellmann <gerd@gnu.org>
4218
4219 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
4220 to unibyte characters in unibyte buffers.
4221
4222 2001-07-03 Gerd Moellmann <gerd@gnu.org>
4223
4224 * eval.c (specbind): If SYMBOL has a frame-local binding, record
4225 the frame on the binding stack. Change format of entries for
4226 local bindings on the binding stack to '(SYMBOL . WHERE)'.
4227 (unbind_to): Handle unbinding a frame-local variable.
4228
4229 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
4230 glyphs and truncation glyphs at the end of a row from its pixel width.
4231 (dump_glyph_row): Print row's continuation_lines_width.
4232 (try_window_id): Take the shortcut if ZV is visible in the
4233 window, but there are actually no changes at ZV.
4234
4235 2001-07-02 Gerd Moellmann <gerd@gnu.org>
4236
4237 * xterm.h (x_free_dpy_colors): Add prototype.
4238
4239 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
4240 right number of arguments.
4241
4242 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
4243 ($(lwlibdir)TAGS): New target.
4244 (TAGS): Fix dependency list.
4245
4246 * xterm.c (x_list_fonts): Make sure XFreeFont is called
4247 with input blocked.
4248
4249 2001-06-30 Gerd Moellmann <gerd@gnu.org>
4250
4251 * emacs.c (main): Remove extern declaration for sys_nerr, which
4252 isn't used and causes a compilation error with GCC 3.0 on
4253 FreeBSD 4.3.
4254
4255 2001-06-27 Gerd Moellmann <gerd@gnu.org>
4256
4257 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
4258 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
4259 (toplevel): Include <signal.h> and syssignal.h.
4260
4261 * sound.c (vox_configure, vox_close): Turn off atimers
4262 around ioctls.
4263
4264 2001-06-26 Gerd Moellmann <gerd@gnu.org>
4265
4266 * keyboard.c (read_char) <non_reread>: Record the previous idle
4267 start time before calling timer_stop_idle.
4268 (read_char) <reread_first>: After processing a help-echo event,
4269 restore the previous idle start time.
4270
4271 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
4272 the start of invisible text.
4273 (setup_for_ellipsis): New function.
4274 (next_overlay_string): After all overlay strings have been
4275 processed, display an ellipsis if necessary.
4276 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
4277 (push_it): Initialize display_ellipsis_p on the iterator's stack.
4278
4279 * dispextern.h (struct iterator_stack_entry): Add member
4280 display_ellipsis_p.
4281
4282 2001-06-25 Gerd Moellmann <gerd@gnu.org>
4283
4284 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
4285 on the value of the wait-for-wm frame parameter.
4286
4287 * xterm.h (struct x_output): Add member wait_for_wm.
4288
4289 * xfns.c (Qwait_for_wm): New variable.
4290 (x_frame_parms): Add entry for `wait-for-wm".
4291 (x_set_wait_for_wm): New function.
4292 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
4293 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
4294
4295 * xdisp.c (try_window_id) <all changes below window end>: Don't
4296 take this shortcut if ZV is visible in the window.
4297 (try_window_id): When checking for window start being in changed
4298 text, don't check that the buffer's size has changed.
4299
4300 2001-06-23 Richard M. Stallman <rms@gnu.org>
4301
4302 * minibuf.c (Fcompleting_read): Doc fix.
4303
4304 2001-06-19 Gerd Moellmann <gerd@gnu.org>
4305
4306 * composite.c (Ffind_composition_internal): Accept ZV
4307 and a string's end position as POS.
4308
4309 2001-06-18 Gerd Moellmann <gerd@gnu.org>
4310
4311 * composite.c (Ffind_composition_internal): Check POS
4312 for validity.
4313
4314 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4315
4316 * editfns.c (Fmessage_box): If the frame is not under a window
4317 system, output the message in the echo area.
4318
4319 2001-06-14 Richard M. Stallman <rms@gnu.org>
4320
4321 * xdisp.c (try_window_id): When EOB is visible, don't treat
4322 insertion at EOB as if it were "off the bottom of the screen."
4323
4324 2001-06-11 Andrew Innes <andrewi@gnu.org>
4325
4326 * w32proc.c (create_child): Add new parameter is_gui_app.
4327 (w32_executable_type): Add new parameter is_gui_app.
4328 (sys_spawnve): Use it.
4329 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
4330 SIGQUIT. This matches better how the signals are interpreted by
4331 MSVC compiled programs.
4332 (syms_of_ntproc): Update docstring.
4333
4334 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
4335
4336 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
4337 well otherwise note_mouse_highlight might optimize away highlighting
4338 if we pass over that same overlay again.
4339
4340 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
4341
4342 * lread.c (Fload): Document that the argument is run via
4343 substitute-in-file-name.
4344
4345 2001-05-31 Gerd Moellmann <gerd@gnu.org>
4346
4347 * Makefile.in (bootstrap-doc): New target.
4348 (bootstrap-emacs): Depend on it.
4349
4350 * fileio.c (Fdo_auto_save): Don't try to create the directory of
4351 auto-save-list-file-name when shutting down Emacs, because
4352 creating the directory might signal an error, and leaves
4353 Emacs in a strange state.
4354
4355 * term.c: (tty_cursor_hidden): New variable.
4356 (update_begin): Don't call tty_hide_cursor. Clean up.
4357 (update_end, set_terminal_window, set_scroll_region): Clean up.
4358 (ring_bell, reset_terminal_modes): Clean up.
4359 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
4360 on tty_cursor_hidden.
4361 (write_glyphs): Call tty_hide_cursor.
4362
4363 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
4364
4365 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
4366
4367 2001-05-30 Gerd Moellmann <gerd@gnu.org>
4368
4369 * xfns.c (enum image_value_type): New enumerator
4370 IMAGE_STRING_OR_NIL_VALUE.
4371 (parse_image_spec): Handle it.
4372 (xbm_format, pbm_format): Use it for :foreground and :background.
4373 (xbm_load, pbm_load): Check for nil color names.
4374
4375 * xterm.c (note_mouse_highlight): If an overlapping overlay
4376 exists, but we find that we highlight the same overlay as before,
4377 don't do the highlighting again.
4378
4379 2001-05-29 Gerd Moellmann <gerd@gnu.org>
4380
4381 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
4382 Protect unibyte strings created by replacing their multibyte
4383 equivalents in menu_items.
4384
4385 * keymap.c (Fsingle_key_description): NUL-terminate the string
4386 buffer before calling build_string.
4387
4388 * callproc.c (Fcall_process): Deal with decode_coding returning
4389 CODING_FINISH_INCONSISTENT_EOL.
4390
4391 2001-05-28 Gerd Moellmann <gerd@gnu.org>
4392
4393 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
4394 an item's name with its key description in case the description
4395 is a multibyte string.
4396
4397 * keymap.c (Fsingle_key_description): Create a multibyte string
4398 only if necessary.
4399
4400 * macros.c (Fstart_kbd_macro): Doc fix.
4401
4402 * xterm.c (cursor_in_mouse_face_p): New function.
4403 (x_draw_stretch_glyph_string): Use it to choose a different GC
4404 when drawing a cursor within highlighted text.
4405
4406 * editfns.c (char_property_eq): Put in #if 0.
4407
4408 * indent.c (string_display_width): Put in #if 0.
4409
4410 * lread.c (Fload): Remove unused label.
4411
4412 * termcap.c (speeds): Put in #if 0.
4413
4414 2001-05-18 Gerd Moellmann <gerd@gnu.org>
4415
4416 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
4417
4418 * xfaces.c (xlfd_point_size): Don't divide pixel size from
4419 transformation matrix by 10.
4420
4421 2001-05-16 Gerd Moellmann <gerd@gnu.org>
4422
4423 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
4424 only if it's equal to the former foreground pixel color.
4425 (x_set_foreground_color, x_set_background_color)
4426 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
4427
4428 2001-05-16 Dave Love <fx@gnu.org>
4429
4430 * insdel.c (signal_before_change, signal_after_change): Consider a
4431 local change hook which changes the buffer.
4432
4433 * process.c (read_process_output): Don't call signal_after_change
4434 and update_compositions after insert_from_string_before_markers.
4435
4436 2001-05-16 Gerd Moellmann <gerd@gnu.org>
4437
4438 * xfaces.c (split_font_name): Use the right field when
4439 checking for `[...]' syntax.
4440
4441 * buffer.c (copy_overlays): New function.
4442 (clone_per_buffer_values): Use it.
4443
4444 * buffer.h (OVERLAY_PLIST): New macro.
4445
4446 * keymap.c (Fsingle_key_description): Replace a build_string with
4447 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
4448
4449 * fontset.c (Ffontset_info): Check that face is non-null
4450 before accessing its fields.
4451
4452 2001-05-15 Gerd Moellmann <gerd@gnu.org>
4453
4454 * keyboard.c (read_key_sequence): Prevent generating a fake
4455 prefix key twice.
4456
4457 * xfaces.c (split_font_name): Handle `[...]' for the right
4458 font name fields.
4459
4460 * ccl.c (ccl_driver): Don't copy remaining bytes in case
4461 of CCL_STAT_INVALID_CMD.
4462
4463 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
4464
4465 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
4466 in <var> has no default value yet.
4467
4468 * xfaces.c (try_alternative_families): First try the FAMILY.
4469 And if nothing is found in the end, try again with scalable fonts.
4470 (try_font_list): Let try_alternative_families do a bit more of
4471 the work. Only use FAMILY if it is not nil.
4472 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
4473
4474 2001-05-14 Gerd Moellmann <gerd@gnu.org>
4475
4476 * xterm.c (note_mouse_highlight): Avoid changing the mouse
4477 pointer shape when show_mouse_face has already done it.
4478
4479 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
4480 full-width rows.
4481
4482 * xfaces.c (split_font_name): Make sure to leave the loop
4483 with the right value of `i'.
4484
4485 * xfaces.c (split_font_name): Handle matrix transformations
4486 in the pixel and point size fields of XLFD font names.
4487 (xlfd_point_size): Likewise.
4488
4489 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
4490
4491 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
4492 (x_to_w32_font): Add prototype.
4493
4494 * regex.c (malloc, realloc, free) [emacs]: Undefine before
4495 redefining, to avoid compiler warnings.
4496
4497 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
4498
4499 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
4500 (w32_get_bdf_glyph): Cast between unsigned char and char when
4501 passing arguments to subroutines, to shut up compiler warnings.
4502 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
4503 GET_HEX_VAL.
4504
4505 * xfaces.c: Include keyboard.h before frame.h, not after it.
4506
4507 * widget.c: Include keyboard.h before frame.h.
4508
4509 * w32term.h (struct image, struct face): Forward declaration, to
4510 avoid compiler warnings.
4511
4512 2001-05-11 Gerd Moellmann <gerd@gnu.org>
4513
4514 * keyboard.c (read_key_sequence): Don't modify events when
4515 generating fake prefix keys (mode-line, scroll-bar, ...) since
4516 this prevents proper processing of such events when pushed back
4517 into unread-command-events.
4518
4519 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4520 actually redrawn. Make the function static.
4521 (note_mouse_highlight): Fix a case where the mouse cursor
4522 was changed back to the text cursor.
4523
4524 * xterm.h (clear_mouse_face): Remove prototype.
4525
4526 * xdisp.c (try_window_id): Fix the fix and set the right
4527 window_end_vpos.
4528
4529 * xdisp.c (try_window_id): Fix computation of window end in the
4530 case that lines were deleted at the end of the window. Add some
4531 more debug_method_adds.
4532
4533 * xfaces.c (try_alternative_families): New function.
4534 (try_font_list): Use it. If ATTRS specifies a family, check
4535 fonts from that family first.
4536 (choose_face_font): Remove code setting the family part of
4537 the pattern to nil.
4538
4539 2001-05-10 Gerd Moellmann <gerd@gnu.org>
4540
4541 * xdisp.c (try_window_id): Fix case of all changes before
4542 the window start.
4543
4544 * xdisp.c (try_window_id): Add some xasserts.
4545
4546 2001-05-09 Gerd Moellmann <gerd@gnu.org>
4547
4548 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4549
4550 2001-05-09 Dave Love <fx@gnu.org>
4551
4552 * xdisp.c (GIVE_UP): Fix for K&R C.
4553
4554 2001-05-09 Gerd Moellmann <gerd@gnu.org>
4555
4556 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4557
4558 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4559 back to the text cursor shape without need.
4560
4561 2001-05-07 Gerd Moellmann <gerd@gnu.org>
4562
4563 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4564
4565 * dispextern.h (inverse_video): Declare extern.
4566
4567 * keyboard.c (delete_kboard): Handle the case that selected_frame
4568 has been deleted in the course of x_connection_closed.
4569
4570 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4571
4572 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4573 Fix the change from 2001-04-30.
4574
4575 2001-05-03 Gerd Moellmann <gerd@gnu.org>
4576
4577 * xfns.c (file_dialog_unmap_cb): New function.
4578 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4579 where a dialog is closed via the window manager.
4580
4581 * xdisp.c (try_window_id): Cases of changes all in front of
4582 the window start or all below the window end mostly rewritten.
4583 (redisplay_window): Move the tests if try_window_id is
4584 applicable to try_window_id.
4585 (GIVE_UP): New macro.
4586
4587 2001-05-02 Gerd Moellmann <gerd@gnu.org>
4588
4589 * xterm.c (expose_window): Return int. If W is the window
4590 currently being updated, mark the frame garbaged.
4591 Fix computation of rows intersecting the exposed rectangle.
4592 (expose_window_tree): Stop when expose_window returns 0.
4593
4594 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4595 again if it has already been drawn.
4596
4597 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4598
4599 * syntax.c (update_syntax_table): Check that oldi has the same
4600 properties as old_prop before deciding not to invalidate.
4601
4602 2001-04-30 Gerd Moellmann <gerd@gnu.org>
4603
4604 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4605 read-only text that is so because of text properties.
4606
4607 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
4608 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
4609 windows that are components of a Lucid menu bar.
4610
4611 2001-04-27 Gerd Moellmann <gerd@gnu.org>
4612
4613 * term.c (turn_on_face): Fix reverse video handling on terminals
4614 that don't support colors.
4615
4616 2001-04-26 Gerd Moellmann <gerd@gnu.org>
4617
4618 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4619 a non-buffer.
4620
4621 2001-04-25 Gerd Moellmann <gerd@gnu.org>
4622
4623 * term.c (toggle_highlight): New function.
4624 (turn_on_face): Change handling of reverse video.
4625
4626 * process.c (wait_reading_process_input):
4627 Call record_asynch_buffer_change only if a timer really changed buffers.
4628
4629 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4630 of the number of overlays to check.
4631
4632 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4633
4634 * xdisp.c (try_window_id): Fix a case where window_end_pos
4635 and window_end_bytepos were not adjusted.
4636
4637 2001-04-23 Gerd Moellmann <gerd@gnu.org>
4638
4639 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4640 zero instead of -1.
4641
4642 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4643
4644 * process.c (wait_reading_process_input) [!subprocesses]:
4645 Don't reference waiting_for_user_input_p, it's not defined in the
4646 branch without async subprocesses support.
4647
4648 2001-04-19 Gerd Moellmann <gerd@gnu.org>
4649
4650 * keyboard.c (delete_kboard): Prevent a dangling reference
4651 from current_kboard to KB, which is freed.
4652
4653 * process.c (wait_reading_process_input):
4654 Call record_asynch_buffer_change after running timers, to make
4655 read_key_sequence aware of buffer changes from under it.
4656
4657 2001-04-18 Gerd Moellmann <gerd@gnu.org>
4658
4659 * xfaces.c (Qscalable_fonts_allowed): New variable.
4660 (realizing_basic_faces_p): Removed.
4661 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4662 removed.
4663 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
4664 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4665 for scalable-fonts-allowed to t.
4666
4667 * fileio.c (Finsert_file_contents): If the file size returned from
4668 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
4669 read from files on a procfs whose contents are generated dynamically.
4670
4671 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4672
4673 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4674 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4675 (__memalign_hook): Make the two prototypes consistent.
4676
4677 2001-04-17 Gerd Moellmann <gerd@gnu.org>
4678
4679 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4680 matrix of mini-windows.
4681
4682 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4683
4684 * intervals.c (find_interval): Don't rebalance during signal handling.
4685
4686 2001-04-11 Gerd Moellmann <gerd@gnu.org>
4687
4688 * fns.c: Include blockinput.h.
4689
4690 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4691
4692 2001-04-10 Gerd Moellmann <gerd@gnu.org>
4693
4694 * fns.c (Fcompare_strings): Fix return values.
4695
4696 * window.c (window_scroll): Change the meaning of N to mean
4697 N screen-fulls or N lines.
4698 (window_scroll_pixel_based, window_scroll_line_based)
4699 (scroll_command, Fscroll_other_window): Change accordingly.
4700
4701 * window.c (window_scroll_pixel_based, Frecenter):
4702 Call window_box_height instead of using it.last_visible_y for the
4703 height of the window.
4704
4705 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4706 instead of using it.last_visible_y for the height of the window.
4707
4708 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
4709 From Dan Holmsand <dan@eyebee.com>.
4710
4711 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
4712 able to write to hidden and system files. From Dan Holmsand
4713 <dan@eyebee.com>.
4714
4715 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4716 Holmsand <dan@eyebee.com>.
4717
4718 2001-04-09 Gerd Moellmann <gerd@gnu.org>
4719
4720 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4721
4722 * window.c (window_internal_height): Return 1 less if the
4723 window has a header line.
4724
4725 * xdisp.c (try_window_id): When scrolling on a terminal, take
4726 the change of window_internal_height into account.
4727
4728 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4729
4730 * gmalloc.c (align): If the argument SIZE would overflow
4731 __malloc_ptrdiff_t, fail right away.
4732
4733 2001-04-06 Gerd Moellmann <gerd@gnu.org>
4734
4735 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4736 Make sure the tooltip is completely visible.
4737 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4738
4739 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4740
4741 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4742
4743 2001-04-06 Dave Love <fx@gnu.org>
4744
4745 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4746 Fix test of `from'.
4747
4748 2001-04-06 Gerd Moellmann <gerd@gnu.org>
4749
4750 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
4751
4752 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4753
4754 2001-04-05 Gerd Moellmann <gerd@gnu.org>
4755
4756 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4757
4758 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
4759
4760 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4761 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4762
4763 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4764 shell widget's position only if it is non-null.
4765
4766 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4767 Set f->output_data.x->widget to null after destroying it.
4768
4769 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4770 FILENAME to bring it in synch with the documentation.
4771
4772 * xfaces.c (realizing_basic_faces_p): Renamed from
4773 realize_default_face_p.
4774 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4775 (realize_default_face): Don't set the flag.
4776
4777 2001-04-04 Gerd Moellmann <gerd@gnu.org>
4778
4779 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4780
4781 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4782
4783 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4784 the buffer that was used for echoing.
4785
4786 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4787 (first_font_matching): Removed unused function.
4788 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4789 (may_use_scalable_font_p): Remove parameter FONT; rename
4790 parameter NAME to FONT.
4791 (x_face_list_fonts): Fix missing bounds check.
4792 (realizing_default_face_p): New variable.
4793 (realize_default_face): Set and clear that flag.
4794 (x_face_list_fonts): When called during the realization of the
4795 default face, and no matching fonts are found when ignoring
4796 scalable fonts and fonts matching a regexp from
4797 face-ignored-fonts, try without ignoring fonts.
4798
4799 2001-04-03 Gerd Moellmann <gerd@gnu.org>
4800
4801 * xfns.c (postprocess_image): New function.
4802 (lookup_image): Call it for all image types except PostScript.
4803 (x_kill_gs_process): Call postprocess_image.
4804
4805 * xterm.c (x_use_underline_position_properties): New variable.
4806 (x_draw_glyph_string): Use it.
4807 (syms_of_xterm): DEFVAR_BOOL it.
4808
4809 2001-04-02 Gerd Moellmann <gerd@gnu.org>
4810
4811 * xterm.c (x_alloc_nearest_color_1): New function.
4812 (x_alloc_nearest_color): Use it.
4813 (x_color_cells): Take a Display as argument, instead of a frame.
4814 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4815 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4816 (x_initialize): Register cvt_string_to_pixel as resource converter
4817 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4818
4819 2001-03-30 Gerd Moellmann <gerd@gnu.org>
4820
4821 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4822 (set_iterator_to_next): If a string from a display property ends,
4823 consider the case that this might also be the end of an
4824 overlay string having the display property.
4825
4826 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
4827
4828 * xdisp.c (reseat_to_string): Undo last change.
4829
4830 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4831 matrix of a window when the header line changes, when
4832 new rows are allocated, or when the width changes.
4833
4834 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4835
4836 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
4837
4838 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4839
4840 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4841 deprecated.
4842
4843 2001-03-29 Gerd Moellmann <gerd@gnu.org>
4844
4845 * data.c (Fsubr_interactive_form): New function.
4846 (syms_of_data): Defsubr it.
4847
4848 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4849 (live_float_p, live_misc_p): Return 1 only if the offset of the
4850 pointer in its block is >= 0.
4851
4852 2001-03-28 Paul Eggert <eggert@twinsun.com>
4853
4854 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4855 microseconds calcuation. Avoid double-rounding problem.
4856 In doc string, warn that the result is approximate.
4857
4858 2001-03-28 Gerd Moellmann <gerd@gnu.org>
4859
4860 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4861 bind `inhibit-eval-during-redisplay' to t.
4862
4863 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4864
4865 * xdisp.c (inhibit_eval_during_redisplay)
4866 (Qinhibit_eval_during_redisplay): New variables.
4867 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4868 don't eval, return nil instead.
4869 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4870 Initialize Qinhibit_eval_during_redisplay.
4871
4872 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4873 the iterator's multibyte_p flag.
4874
4875 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4876 instead of setting it to zero; it's incremented for each frame
4877 where the menu face is changed.
4878
4879 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4880 change bottom shadow accordingly.
4881
4882 * xterm.c (expose_window_tree, expose_frame): Don't compute
4883 intersections here.
4884 (expose_window): Do it here instead.
4885 (x_draw_glyph_string): Fix a computation of the underline position.
4886
4887 * bytecode.c (BYTE_CODE_QUIT): New macro.
4888 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4889
4890 2001-03-27 Gerd Moellmann <gerd@gnu.org>
4891
4892 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4893 Give up if matrix starts in an ellipsis.
4894 (init_from_display_pos): Do nothing if POS doesn't specify
4895 a dpvec_index but the iterator has such a position.
4896
4897 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4898
4899 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4900 x/y position is (0, 0) after destroying the menu bar, restore
4901 its original position.
4902
4903 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4904 (init_from_display_pos): Use it.
4905 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4906
4907 2001-03-26 Gerd Moellmann <gerd@gnu.org>
4908
4909 * xdisp.c (try_window_id): Undo last change.
4910
4911 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4912
4913 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4914
4915 * buffer.c (syms_of_buffer): Doc fix.
4916
4917 2001-03-26 Gerd Moellmann <gerd@gnu.org>
4918
4919 * xfaces.c (x_update_menu_appearance): Use local variable
4920 popup_path for setting font resources.
4921
4922 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4923
4924 * frame.c (Fframe_list): Don't reference tip_frame if
4925 HAVE_WINDOW_SYSTEM is not defined.
4926
4927 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4928 <wl@gnu.org>.
4929
4930 2001-03-25 Gerd Moellmann <gerd@gnu.org>
4931
4932 * xdisp.c (init_from_display_pos): Test invisible property
4933 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
4934
4935 * xdisp.c (redisplay_internal) <update one window>: Make sure
4936 last_arrow_position and last_arrow_string are set.
4937
4938 * frame.c (Fframe_list): Don't return a tooltip frame.
4939
4940 2001-03-23 Gerd Moellmann <gerd@gnu.org>
4941
4942 * xdisp.c (mark_window_display_accurate_1): New function,
4943 extracted from mark_window_display_accurate.
4944 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
4945 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4946 (mark_window_display_accurate): Use it.
4947 (redisplay_internal): Use it for the selected window.
4948 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4949 for the selected frame.
4950
4951 * xdisp.c Use make_number, for readability.
4952 (try_window_id): Disable rows below the window end.
4953 (try_window_reusing_current_matrix): Use cursor_row_p.
4954 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4955 of rows.
4956 (init_from_display_pos): If POS specifies a position in a display
4957 vector, maybe get the iterator set up for that ellipsis.
4958
4959 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4960
4961 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4962
4963 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4964
4965 2001-03-23 Gerd Moellmann <gerd@gnu.org>
4966
4967 * xfaces.c (x_update_menu_appearance): Use a different path
4968 for Lucid popup menus.
4969
4970 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4971
4972 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4973
4974 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4975 (string_buffer_position): Use `make_number'.
4976
4977 2001-03-22 Gerd Moellmann <gerd@gnu.org>
4978
4979 * xfaces.c (x_update_menu_appearance): Renamed from
4980 x_set_menu_face_resources. Use different resources for popups.
4981
4982 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4983 (GC_CHECK_STRING_BYTES): Don't define.
4984
4985 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4986 Removed, together with subroutines.
4987 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
4988 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
4989
4990 * dispextern.h (x_set_menu_resources_from_menu_face):
4991 Remove prototype.
4992
4993 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
4994 Remove calls to x_set_menu_resources_from_menu_face.
4995
4996 * xfaces.c (xm_set_menu_resources_from_menu_face):
4997 Remove #ifndef LESSTIF_VERSION.
4998
4999 * xmenu.c: Include widget.h.
5000 (single_submenu): Return int. Some cleanup.
5001 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
5002
5003 2001-03-21 Gerd Moellmann <gerd@gnu.org>
5004
5005 * xterm.c (x_update_window_end): Handle overwritten mouse face
5006 also for tool bar windows.
5007 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
5008 DRAW is DRAW_IMAGE_RAISED.
5009
5010 2001-03-20 Gerd Moellmann <gerd@gnu.org>
5011
5012 * print.c (syms_of_print): Doc fixes.
5013
5014 * fns.c (Fmd5): Doc fix.
5015
5016 2001-03-19 Gerd Moellmann <gerd@gnu.org>
5017
5018 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
5019 Clear area of the frame not occupied by the scroll bar.
5020
5021 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
5022 tip frame's root window buffer to *tip* right after creating
5023 the frame.
5024
5025 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
5026 is an integer don't have to be for space characters.
5027
5028 2001-03-16 Gerd Moellmann <gerd@gnu.org>
5029
5030 * indent.c (current_column, current_column_1, Fmove_to_column)
5031 (compute_motion): Handle characters from display vectors differently.
5032
5033 2001-03-15 Kenichi Handa <handa@etl.go.jp>
5034
5035 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
5036 drawing glyph string.
5037
5038 2001-03-15 Gerd Moellmann <gerd@gnu.org>
5039
5040 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
5041 (command_loop_1): Undo last change.
5042
5043 * xterm.c (fast_find_position): Return the correct vpos.
5044
5045 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
5046 non-null, set a per-buffer value in BUF instead of the current buffer.
5047 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
5048 Call store_symval_forwarding with BUF null.
5049 (set_internal): Call store_symval_forwarding with the BUF
5050 parameter passed to set_internal. Formerly, the value was always
5051 set in the current buffer; the buffer recorded in specbind for
5052 this case wasn't used.
5053 (arith_driver): Reindent.
5054
5055 * buffer.c (swap_out_buffer_local_variables):
5056 Call store_symval_forwarding with BUF null.
5057
5058 * lisp.h (store_symval_forwarding): Change prototype.
5059
5060 * eval.c (specbind): Call store_symval_forwarding with BUF null.
5061
5062 2001-03-14 Gerd Moellmann <gerd@gnu.org>
5063
5064 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
5065 FOR_DELETION. Avoid resizing the mini-window of the selected
5066 frame if FOR_DELETION is set.
5067 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
5068 (Fmake_frame_invisible): Change calls to do_switch_frame for new
5069 signature.
5070
5071 * window.c (Fset_window_configuration): Change call to
5072 do_switch_frame to new format.
5073
5074 * keyboard.c (quit_throw_to_read_char): Change call to
5075 do_switch_frame to new format.
5076
5077 * lisp.h (do_switch_frame): Change prototype.
5078
5079 * frame.c (Fframe_parameters): In the `buffer-list' frame
5080 parameter, store the buffer list of FRAME, not the list of the
5081 selected frame.
5082
5083 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
5084 box just because the glyph row's full_width_p flag is set.
5085
5086 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
5087
5088 * xdisp.c (highlight_trailing_whitespace): On character terminals,
5089 skip the padding blanks inserted in extend_face_to_end_of_line,
5090 before checking for trailing whitespace.
5091
5092 2001-03-13 Gerd Moellmann <gerd@gnu.org>
5093
5094 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
5095 Remove special handling for LessTif/Motif.
5096 (toplevel): Don't include Xm/Xm.h.
5097
5098 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
5099 Remove workaround code for LessTif; it doesn't work anymore.
5100
5101 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
5102 Xm/ScrollBarP.h.
5103
5104 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
5105 Don't access private scroll bar data; it's no longer necessary with
5106 contemporary LessTif.
5107
5108 * xfaces.c (xm_set_menu_resources_from_menu_face):
5109 Change #if 0 to #ifndef LESSTIF_VERSION.
5110
5111 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
5112 removing button grabs.
5113
5114 2001-03-13 Kenichi Handa <handa@etl.go.jp>
5115
5116 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
5117 and clip-large-size-font as obsolete.
5118
5119 * lread.c (read_multibyte): Check the validity of multibyte
5120 sequence. If invalid, return the first byte.
5121
5122 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5123
5124 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
5125 before running the command; timer functions or process
5126 filters may have set it.
5127
5128 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
5129
5130 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
5131 Doc fix.
5132
5133 2001-03-12 Gerd Moellmann <gerd@gnu.org>
5134
5135 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
5136 to sprintf.
5137
5138 2001-03-09 Gerd Moellmann <gerd@gnu.org>
5139
5140 * dispextern.h (string_buffer_position): Add prototype.
5141
5142 * xdisp.c (string_buffer_position, display_prop_string_p)
5143 (single_display_prop_string_p): New functions.
5144
5145 * xterm.c (note_mouse_highlight): If there's no help-echo on
5146 a string, look at the buffer text ``under'' it.
5147
5148 * keyboard.c (make_lispy_event): Add string info to the event,
5149 analogous to what's done on mode lines.
5150 (read_key_sequence): For a click on a string, consider `local-map'
5151 and `keymap' of that string.
5152
5153 * keyboard.c (make_lispy_event, make_lispy_movement):
5154 Adjust calls to buffer_posn_from_coords to new format.
5155
5156 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
5157
5158 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
5159 POS; return void.
5160
5161 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
5162 flags argument to emacs_open; it seems to conflict with O_EXCL.
5163
5164 2001-03-09 Kenichi Handa <handa@etl.go.jp>
5165
5166 * composite.h (struct composition): Change types of members;
5167 glyph_len to unsigned, width to unsigned short.
5168
5169 2001-03-08 Andrew Innes <andrewi@gnu.org>
5170
5171 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
5172 menu titles.
5173
5174 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5175
5176 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
5177 instead of nil.
5178
5179 * xterm.c (note_mouse_highlight): Handle mouse-face and
5180 help-echo in strings.
5181 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
5182 (fast_find_string_pos): New function.
5183
5184 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
5185 (display_string): Call face_at_string_position with new parameter.
5186
5187 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
5188 Handle `mouse-face'.
5189
5190 * dispextern.h (face_at_string_position): Change prototype.
5191
5192 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
5193
5194 * keyboard.c (make_lispy_event): Avoid generating drag events
5195 if the mouse hasn't actually moved to another buffer position.
5196
5197 2001-03-08 Dave Love <fx@gnu.org>
5198
5199 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
5200
5201 2001-03-08 Gerd Moellmann <gerd@gnu.org>
5202
5203 * process.c (Fset_process_window_size): Fix a typo.
5204
5205 2001-03-08 Kenichi Handa <handa@etl.go.jp>
5206
5207 * coding.c (detect_coding_sjis): Do more rigid check.
5208 (detect_coding_big5): Likewise.
5209 (decode_coding_sjis_big5): Likewise.
5210 (Fdetect_coding_region): Call detect_coding_system with tailing
5211 anchor byte `\0' for more rigid detection.
5212 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
5213 (Fdetect_coding_string): Likewise.
5214
5215 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
5216
5217 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
5218 a string before extracting its data.
5219
5220 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5221
5222 * window.c (Frecenter): Rewrite code handling negative values
5223 of ARG on graphical frames.
5224
5225 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
5226
5227 * window.c (displayed_window_lines): If W->start is outside the
5228 accessible portion of the buffer, call start_display with BEGV or
5229 ZV instead of W->start.
5230
5231 2001-03-07 Gerd Moellmann <gerd@gnu.org>
5232
5233 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
5234
5235 * process.c (Fset_process_filter): Don't crash if the input
5236 file descriptor of PROCESS is closed.
5237 (Fset_process_window_size): Likewise.
5238
5239 2001-03-06 Kenichi Handa <handa@etl.go.jp>
5240
5241 * xterm.c (XTflash): Make the timeout of select shorter, and call
5242 select repeatedly until the desired time expires.
5243
5244 2001-03-06 Gerd Moellmann <gerd@gnu.org>
5245
5246 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
5247
5248 * xfns.c (Fx_create_frame): Clear Vwindow_list.
5249
5250 * lisp.h (Vwindow_list): Declare extern.
5251
5252 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
5253
5254 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
5255
5256 2001-03-06 Gerd Moellmann <gerd@gnu.org>
5257
5258 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
5259 to detect a case where we have to highlight a different region
5260 despite not having left the currently highlighted region.
5261 Set mouse_face_overlay in the x_display_info.
5262 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
5263
5264 * xterm.h (struct x_display_info): Add mouse_face_overlay.
5265
5266 * buffer.c (mouse_face_overlay_overlaps): New function.
5267
5268 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
5269 (Qmouse_face): Declare extern.
5270
5271 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
5272 if face_change_count is non-zero.
5273
5274 2001-03-06 Kenichi Handa <handa@etl.go.jp>
5275
5276 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
5277 that the source is unibyte.
5278
5279 2001-03-05 Dave Love <fx@gnu.org>
5280
5281 * xterm.c (XTmouse_position): Fix typo.
5282
5283 2001-03-05 Gerd Moellmann <gerd@gnu.org>
5284
5285 * minibuf.c (read_minibuf): Clean up the binding stack if
5286 called noninteractively.
5287
5288 2001-03-05 Kenichi Handa <handa@etl.go.jp>
5289
5290 * coding.c (syms_of_coding): Docstring modified.
5291
5292 2001-03-05 Kenichi Handa <handa@etl.go.jp>
5293
5294 * charset.c (char_to_string): If a single byte char has modifier
5295 bits that can't be reflected to the character code, ignore them
5296 instead of signaling an error.
5297
5298 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
5299
5300 * s/msdos.h: Update copyright notice.
5301
5302 * dosfns.h: Update copyright notice.
5303
5304 * dosfns.c: Update copyright notice.
5305
5306 * msdos.c: Update copyright notice.
5307
5308 2001-03-02 Gerd Moellmann <gerd@gnu.org>
5309
5310 * xterm.c (glyph_rect): New function.
5311 (XTmouse_position): Use it to raise the threshold for mouse
5312 movement event generation.
5313
5314 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
5315
5316 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
5317 specifies (reverse . t), reverse the initial screen colors.
5318 (IT_set_frame_parameters): If the property is foreground-color,
5319 but we are reversing the colors, set bg_set, not fg_set.
5320 Likewise for setting background-color and reversing: set fg_set.
5321 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
5322 in effect.
5323
5324 * xfaces.c (Finternal_set_lisp_face_attribute)
5325 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
5326 parameters alist.
5327
5328 2001-03-02 Gerd Moellmann <gerd@gnu.org>
5329
5330 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
5331 to a single slash in the middle of file names.
5332
5333 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
5334 Accept only alphanumeric time zone names.
5335
5336 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
5337 or width area.
5338 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
5339 a widget to zero height.
5340
5341 2001-03-01 Gerd Moellmann <gerd@gnu.org>
5342
5343 * window.c (Fwindow_end): Call move_it_past_eol only if
5344 ending up on a partially visible line.
5345
5346 2001-03-01 Dave Love <fx@gnu.org>
5347
5348 * ccl.c (Fccl_execute): Doc fix.
5349
5350 2001-03-01 Gerd Moellmann <gerd@gnu.org>
5351
5352 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
5353 of the tool bar before calling x_figure_window_size.
5354
5355 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
5356 NULL after destroying it, otherwise XTread_socket can access a
5357 destroyed widget when input is unblocked.
5358
5359 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
5360
5361 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
5362 same name as before, although there was a change in fontsets.
5363
5364 2001-02-28 Ken Raeburn <raeburn@gnu.org>
5365
5366 * lisp.h (Fframe_parameter): Declare.
5367
5368 * window.c (set_window_buffer): Field vscroll is an int, not a
5369 Lisp_Object.
5370
5371 2001-02-28 Gerd Moellmann <gerd@gnu.org>
5372
5373 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
5374 NULL instead.
5375
5376 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
5377 NULL instead.
5378
5379 * alloc.c (toplevel): Include process.h.
5380 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
5381 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
5382 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
5383 (allocate_vector, allocate_hash_table, allocate_window)
5384 (allocate_frame, allocate_process, allocate_other_vector):
5385 New functions.
5386 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
5387 (mark_maybe_pointer): New function.
5388 (mark_memory): Also mark Lisp data to which only pointers
5389 remain and not Lisp_Objects.
5390 (min_heap_address, max_heap_address): New variables.
5391 (mem_find): Return MEM_NIL if START is below min_heap_address or
5392 above max_heap_address.
5393 (mem_insert): Compute min_heap_address and max_heap_address.
5394
5395 * process.c (make_process): Use allocate_process.
5396
5397 * frame.c (make_frame): Use allocate_frame.
5398
5399 * window.c (make_window, make_dummy_parent): Use allocate_window.
5400 (Fcurrent_window_configuration): Use allocate_other_vector.
5401
5402 * lisp.h (allocate_vectorlike): Remove prototype.
5403 (allocate_vector, allocate_other_vector, allocate_frame)
5404 (allocate_window, allocate_process, allocate_hash_table):
5405 Add prototypes.
5406
5407 * fns.c (Fdelete, larger_vector): Use allocate_vector.
5408 (make_hash_table, copy_hash_table): Use allocate_hash_table.
5409
5410 2001-02-27 Kenichi Handa <handa@etl.go.jp>
5411
5412 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
5413 treat the produced bytes as a valid multibyte sequence.
5414
5415 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
5416 (ccl_driver) <CCL_WriteMultibyteChar2>:
5417 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
5418 <ccl_finish>: Set ccl->eight_bit_control properly.
5419
5420 * ccl.h (struct ccl_program): New member eight_bit_control.
5421
5422 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
5423
5424 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
5425 accessible_keymaps_char_table.
5426 (accessible_keymaps_char_table): Obey `is_metized'.
5427 (where_is_internal, Fwhere_is_internal): Don't confuse int and
5428 Lisp_Object.
5429
5430 2001-02-26 Gerd Moellmann <gerd@gnu.org>
5431
5432 * dispnew.c: Check HAVE_TERM_H before including term.h.
5433
5434 2001-02-24 Andrew Innes <andrewi@gnu.org>
5435
5436 * makefile.w32-in: Update copyright notice.
5437
5438 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
5439
5440 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
5441
5442 2001-02-24 Kenichi Handa <handa@etl.go.jp>
5443
5444 * Makefile.in (lisp): Add international/utf-8.elc.
5445
5446 * fontset.c (Fnew_fontset): Fix handling of the case that an
5447 element of FONTLIST is a cons of family and registry.
5448
5449 2001-02-23 Jason Rumney <jasonr@gnu.org>
5450
5451 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
5452 to height unconditionally.
5453
5454 * w32term.c (x_set_glyph_string_background_width): Extend the
5455 background face to the end of the drawing area in the text area, only.
5456 (x_insert_glyphs): Call window_box_left to obtain the left
5457 x-coordinate of the area to shift.
5458
5459 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
5460 safe_run_hooks.
5461
5462 2001-02-22 Andrew Innes <andrewi@gnu.org>
5463
5464 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
5465 ($(BLD)\dispnew.obj):
5466 ($(BLD)\editfns.obj):
5467 ($(BLD)\fileio.obj):
5468 ($(BLD)\filelock.obj):
5469 ($(BLD)\keyboard.obj):
5470 ($(BLD)\w32proc.obj):
5471 ($(BLD)\process.obj):
5472 ($(BLD)\sysdep.obj): Ditto.
5473
5474 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
5475 header files.
5476 ($(BLD)/dispnew.$(O)):
5477 ($(BLD)/editfns.$(O)):
5478 ($(BLD)/fileio.$(O)):
5479 ($(BLD)/filelock.$(O)):
5480 ($(BLD)/keyboard.$(O)):
5481 ($(BLD)/w32proc.$(O)):
5482 ($(BLD)/process.$(O)):
5483 ($(BLD)/sysdep.$(O)): Ditto.
5484
5485 2001-02-22 Gerd Moellmann <gerd@gnu.org>
5486
5487 * xdisp.c (forward_to_next_line_start): When taking the shortcut
5488 at the start of the function, check that the \n in it->c is
5489 from the iterator's current position.
5490
5491 * xdisp.c (handle_single_display_prop): Add parameter
5492 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
5493 properties which replace the display of text with something else.
5494 (handle_display_prop): Call handle_single_display_prop with
5495 additional argument saying if we already replaced text display
5496 with something else. Use AREF.
5497 (with_echo_area_buffer_unwind_data, display_menu_bar)
5498 (decode_mode_spec_coding): Use AREF and ASIZE.
5499
5500 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
5501 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
5502 * vmstime.h: Files removed.
5503
5504 * unexencap.c, unexfx2800.c: Files removed.
5505
5506 * dispnew.c (direct_output_for_insert): Give up if we are showing
5507 a message or just cleared the message because we might need to
5508 resize the echo area window or display an empty echo area.
5509
5510 2001-02-21 Gerd Moellmann <gerd@gnu.org>
5511
5512 * xdisp.c (redisplay_internal): Do the
5513 mark_window_display_accurate after all windows have been
5514 redisplayed because this call resets flags in buffers which are
5515 needed for proper redisplay.
5516
5517 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5518 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
5519 the old names.
5520
5521 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5522 busy_window to hourglass_window, busy_p to hourglass_p.
5523
5524 * msdos.h (struct x_output): Rename busy_window to
5525 hourglass_window, busy_p to hourglass_p.
5526
5527 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5528 busy_window to hourglass_window, busy_p to hourglass_p.
5529
5530 * xfns.c: Rename everything containing *busy_cursor* and similar
5531 to *hourglass*.
5532 (syms_of_w32fns): Rename x-busy-pointer-shape to
5533 x-hourglass-pointer-shape, display-busy-cursor to
5534 display-hourglass, busy-cursor-delay to hourglass-delay.
5535
5536 * w32fns.c: Rename everything containing *busy_cursor* and similar
5537 to *hourglass*.
5538 (syms_of_w32fns): Rename x-busy-pointer-shape to
5539 x-hourglass-pointer-shape, display-busy-cursor to
5540 display-hourglass, busy-cursor-delay to hourglass-delay.
5541
5542 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5543 of its busy_p flag.
5544
5545 * dispextern.h (start_hourglass, cancel_hourglass)
5546 (display_hourglass_p): Renamed from *busy_cursor*.
5547
5548 2001-02-20 Gerd Moellmann <gerd@gnu.org>
5549
5550 * keyboard.c (read_char): When an event from unread-command-events
5551 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5552
5553 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5554 equal to the current buffer.
5555
5556 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5557 nil, otherwise we're left with truncate_lines t when a message
5558 is printed with message-truncate-lines bound to t.
5559
5560 2001-02-19 Gerd Moellmann <gerd@gnu.org>
5561
5562 * window.c (Fmove_to_window_line): Undo last change.
5563 (displayed_window_lines): Call line_bottom_y to determine
5564 the line's bottom position.
5565
5566 * dispextern.h (line_bottom_y): Add prototype.
5567
5568 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
5569 (pos_visible_p): Use it.
5570
5571 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5572 set redisplaying_p to 0 here instead of in Frecursive_edit.
5573 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5574 set redisplaying_p.
5575
5576 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
5577 New variables.
5578 (syms_of_xdisp): Initialize new variables.
5579 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5580 Specbind `inhibit-menubar-update' when updating the menu bar.
5581
5582 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5583 safe_run_hooks.
5584
5585 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5586 safe_run_hooks.
5587
5588 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5589 is null.
5590
5591 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5592 to the start of the file.
5593
5594 2001-02-16 Gerd Moellmann <gerd@gnu.org>
5595
5596 * window.c (set_window_buffer): Fix last change.
5597
5598 * window.c (set_window_buffer): Set window's vscroll to 0.
5599
5600 * window.c (coordinates_in_window): Increase width of area
5601 where the vertical line can be dragged.
5602
5603 * xterm.c (x_set_glyph_string_background_width): Extend the
5604 background face to the end of the drawing area in the text
5605 area, only.
5606
5607 * xdisp.c (handle_single_display_prop): Set iterator's position
5608 to where the `display' property starts, like for images.
5609 (dump_glyph): New function.
5610 (dump_glyph_row): Use it. Dump info about marginal areas.
5611
5612 * dispnew.c (direct_output_for_insert): Recognize more cases where
5613 glyphs can be written instead of being inserted.
5614
5615 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5616 the left x-coordinate of the area to shift.
5617
5618 * dired.c (directory_files_internal): Set result list to nil
5619 before retrying.
5620
5621 2001-02-15 Kenichi Handa <handa@etl.go.jp>
5622
5623 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5624 invalid multibyte sequence, treat *SRC as a character of
5625 eight-bit-graphic.
5626
5627 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5628
5629 * textprop.c (Fset_text_properties): Doc fix.
5630
5631 2001-02-15 Gerd Moellmann <gerd@gnu.org>
5632
5633 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5634
5635 2001-02-14 Dave Love <fx@gnu.org>
5636
5637 * coding.c: Doc and message fixes.
5638
5639 2001-02-14 Andrew Innes <andrewi@gnu.org>
5640
5641 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5642 Emacs frame above the screen size.
5643
5644 2001-02-14 Gerd Moellmann <gerd@gnu.org>
5645
5646 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5647
5648 2001-02-13 Gerd Moellmann <gerd@gnu.org>
5649
5650 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5651 case that TO ends up beyond ZV after running before-change-functions.
5652
5653 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5654 the selected window if it is showing the buffer in question.
5655
5656 * dired.c (directory_files_internal): Initialize errno.
5657 (toplevel): Include errno.h.
5658
5659 2001-02-13 Kenichi Handa <handa@etl.go.jp>
5660
5661 * xfaces.c (best_matching_font): New parameter width_ratio.
5662 Multiply avgwidth by width_ratio.
5663 (choose_face_font): Call best_matching_font with width_ratio
5664 calculated from the column width of C.
5665
5666 2001-02-12 Andrew Innes <andrewi@gnu.org>
5667
5668 The following changes are to draw box lines inside characters area
5669 if line-width is negative.
5670
5671 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5672 face->box_line_width is negative.
5673 (x_produce_stretch_glyph): Likewise.
5674 (x_produce_glyphs): Likewise.
5675 (x_estimate_mode_line_height): Likewise.
5676 (x_draw_glyph_string_background): Likewise.
5677 (x_draw_glyph_string_foreground): Likewise.
5678 (x_draw_composite_glyph_string_foreground): Likewise.
5679 (x_draw_glyph_string_box): Likewise.
5680 (x_draw_image_foreground): Likewise.
5681 (x_draw_image_relief): Likewise.
5682 (x_draw_image_foreground_1): Likewise.
5683 (x_draw_image_glyph_string): Likewise.
5684
5685 2001-02-09 Kenichi Handa <handa@etl.go.jp>
5686
5687 The following changes are to draw box lines inside characters area
5688 if line-width is negative.
5689
5690 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5691 face->box_line_width is negative.
5692 (x_produce_stretch_glyph): Likewise.
5693 (x_produce_glyphs): Likewise.
5694 (x_estimate_mode_line_height): Likewise.
5695 (x_draw_glyph_string_background): Likewise.
5696 (x_draw_glyph_string_foreground): Likewise.
5697 (x_draw_composite_glyph_string_foreground): Likewise.
5698 (x_draw_glyph_string_box): Likewise.
5699 (x_draw_image_foreground): Likewise.
5700 (x_draw_image_relief): Likewise.
5701 (x_draw_image_foreground_1): Likewise.
5702 (x_draw_image_glyph_string): Likewise.
5703
5704 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5705 and :line-width can be negative.
5706 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
5707
5708 2001-02-09 Jason Rumney <jasonr@gnu.org>
5709
5710 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5711 characters the same as ASCII and latin-1.
5712 (x_display_and_set_cursor): Check for the focus frame's selected
5713 window instead of selected_window.
5714 (x_after_update_window_line): Don't clear if frame's internal
5715 border width is zero.
5716 (x_new_font): Don't change a tooltip's size.
5717 (w32_initialize): Set char_ins_del_ok to 1.
5718
5719 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5720 (x_set_font): If font hasn't changed, avoid recomputing
5721 faces and other things.
5722 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5723 (Fx_create_frame): Add the tool bar height to the frame height.
5724 (x_create_tip_frame): Prevent changing the tooltip's
5725 background color by specifying a color for the default font
5726 in .Xdefaults.
5727 (Qcancel_timer): New variable.
5728 (syms_of_w32fns): Initialize and staticpro it.
5729 (Fx_hide_tip, Fx_show_tip): Use it.
5730 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5731 the timer.
5732 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5733
5734 * w32.c (init_environment): Duplicate local string before putenv.
5735
5736 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5737
5738 * charset.c (Fstring): A typo.
5739
5740 2001-02-09 Kenichi Handa <handa@etl.go.jp>
5741
5742 * charset.c (Fstring): If all arguments are less than 256, return
5743 a unibyte string.
5744
5745 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5746 return a unibyte string.
5747
5748 * coding.c (code_convert_region): After detecting a coding, if
5749 nothing found, set coding->composing to COMPOSITION_NO.
5750 (decode_coding_string): Likewise.
5751
5752 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5753
5754 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5755 to avoid overflow.
5756
5757 2001-02-07 Kenichi Handa <handa@etl.go.jp>
5758
5759 * charset.c (parse_str_to_multibyte): New function.
5760
5761 * charset.h (parse_str_to_multibyte): Extern it.
5762
5763 * print.c (print_string): If we are going to print a unibyte
5764 string into a multibyte buffer, convert the string to multibyte by
5765 str_to_multibyte.
5766
5767 2001-02-06 Andrew Innes <andrewi@gnu.org>
5768
5769 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5770 been created. It seems we can get sent window messages such as
5771 WM_ERASEBKGND before we properly update a frame.
5772
5773 2001-02-06 Gerd Moellmann <gerd@gnu.org>
5774
5775 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5776 Avoid some unnecessary cursor positioning.
5777
5778 2001-02-05 Gerd Moellmann <gerd@gnu.org>
5779
5780 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
5781 (LFACE_AVGWIDTH): New macro.
5782 (LFACEP): Use AREF.
5783 (check_lface_attrs): Check LFACE_AVGWIDTH.
5784 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5785 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5786 (merge_face_vectors): Check LFACE_AVGWIDTH.
5787 (Finternal_make_lisp_face): Use AREF.
5788 (xm_set_menu_resources_from_menu_face)
5789 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5790 (Finternal_lisp_face_empty_p): Use AREF.
5791 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5792 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5793 Compare average widths..
5794 (best_matching_font): Arrange for comparing average widths.
5795
5796 * dispextern.h (enum lface_attribute_index):
5797 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5798
5799 2001-02-05 Dave Love <fx@gnu.org>
5800
5801 * puresize.h: Revert last change following loadup.el change.
5802
5803 2001-02-05 Andrew Innes <andrewi@gnu.org>
5804
5805 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5806 invocation of temacs, to work with Windows 2000.
5807 (bootstrap-emacs): Ditto.
5808
5809 2001-02-05 Gerd Moellmann <gerd@gnu.org>
5810
5811 * xterm.c (x_display_and_set_cursor): Check for the focus
5812 frame's selected window instead of selected_window.
5813
5814 * xdisp.c (try_scrolling): If point is in the line below the
5815 window, make sure to move the iterator at least a canonical
5816 char height down.
5817
5818 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
5819
5820 2001-02-05 Kenichi Handa <handa@etl.go.jp>
5821
5822 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5823 If invalid, execute CCL_INVALID_CMD.
5824 (ccl_driver): If the CCL program is terminated because of
5825 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5826 destination instead of throwing them away.
5827
5828 2001-02-02 Gerd Moellmann <gerd@gnu.org>
5829
5830 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5831 faces and other things.
5832
5833 * xdisp.c (get_next_display_element): Fix case of empty
5834 display table entry.
5835
5836 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5837
5838 * editfns.c (Fconstrain_to_field): Doc fix.
5839
5840 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5841 into `thoroughly', to make it consistent with the doc string.
5842
5843 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5844
5845 2001-02-01 Gerd Moellmann <gerd@gnu.org>
5846
5847 * search.c (search_buffer): Call set_search_regs with a byte
5848 position, not a character position.
5849
5850 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5851 minibuffer-only,
5852
5853 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5854
5855 * frame.c (Fmodify_frame_parameters): Doc fix.
5856
5857 2001-01-31 Gerd Moellmann <gerd@gnu.org>
5858
5859 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5860 identifier which is not reserved by Standard C.
5861
5862 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5863
5864 * window.c (enum window_part): New enumeration.
5865 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5866 Qright_bitmap_area.
5867 (coordinates_in_window): Return an enumerator from enum
5868 window_part. Fix handling of right scroll bar.
5869 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5870 `right-fringe' instead of `left-bitmap-area' and
5871 `right-bitmap-area'. Use enumerators from enum window_part
5872 instead of hard-coded integers.
5873 (check_window_containing, window_from_coordinates):
5874 Use enumerators from enum window_part instead of hard-coded integers.
5875 (syms_of_window): Replace Qleft_bitmap_area and
5876 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5877
5878 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5879
5880 * editfns.c (Fformat_time_string): Doc fix.
5881
5882 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5883
5884 * keymap.c (Fwhere_is_internal): Use the first valid binding
5885 if no ascii binding is found (when firstonly is t).
5886
5887 2001-01-31 Gerd Moellmann <gerd@gnu.org>
5888
5889 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5890 instead of Finteractive_p.
5891
5892 * lisp.h (interactive_p): Add prototype.
5893
5894 * eval.c (interactive_p): New function.
5895 (Finteractive_p): Use it.
5896
5897 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5898
5899 2001-01-31 Dave Love <fx@gnu.org>
5900
5901 * .gdbinit (hook-run): Define to run xreload.
5902
5903 * textprop.c (Fset_text_properties): Fix newline in doc string.
5904
5905 2001-01-30 Gerd Moellmann <gerd@gnu.org>
5906
5907 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5908 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
5909
5910 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
5911 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
5912 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5913
5914 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5915 height.
5916
5917 2001-01-30 Dave Love <fx@gnu.org>
5918
5919 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5920 AFTER_POTENTIAL_GC.
5921
5922 2001-01-29 Gerd Moellmann <gerd@gnu.org>
5923
5924 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5925 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
5926
5927 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5928
5929 * textprop.c (Fset_text_properties): Doc fix.
5930
5931 2001-01-29 Gerd Moellmann <gerd@gnu.org>
5932
5933 * xdisp.c (forward_to_next_line_start): Remove xassert.
5934
5935 2001-01-29 Jason Rumney <jasonr@gnu.org>
5936
5937 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
5938 returning without releasing it.
5939
5940 2001-01-29 Kenichi Handa <handa@etl.go.jp>
5941
5942 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5943 for '^', '$', and '\0'.
5944
5945 2001-01-28 Andrew Choi <akochoi@i-cable.com>
5946
5947 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5948 regex for '^', '$', and '\0'.
5949
5950 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5951 only if current_sblock has been initialized.
5952
5953 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5954 terminal frame even if it is the only visible frame.
5955
5956 2001-01-28 Kenichi Handa <handa@etl.go.jp>
5957
5958 * fontset.c (font_family_registry): Even if FONTNAME conform to
5959 XLFD, if it specifies other fields than family and registry,
5960 return FONTANME. New argument FORCE if nonzero cancel that feature.
5961 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
5962 a signle byte character. Don't set FAMILY part to nil here.
5963 It is handled by the caller choose_face_font.
5964 (Fnew_fontset): Call font_family_registry with FORCE 0.
5965 (Fset_fontset_font): Likewise.
5966
5967 2001-01-27 Gerd Moellmann <gerd@gnu.org>
5968
5969 * xdisp.c (display_line): Don't treat a newline as fitting
5970 on the line.
5971
5972 2001-01-26 Gerd Moellmann <gerd@gnu.org>
5973
5974 * window.c (size_window): Set the window's orig_top to nil when
5975 changing heights, so that a future shrink_mini_window won't
5976 restore a bogus height.
5977
5978 * frame.c (do_switch_frame): If selected frame has a mini-window,
5979 resize that to exact size.
5980
5981 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5982
5983 * xdisp.c (display_line): Simplify check for glyphs fitting
5984 entirely in the line.
5985
5986 * xfns.c (xic_style): New variable.
5987 (create_frame_xic): Move static variable to global scope for
5988 the case that `static' gets defined away.
5989
5990 2001-01-26 Kenichi Handa <handa@etl.go.jp>
5991
5992 * coding.c (decode_coding): Set a flag for inhibiting
5993 inconsistent eol.
5994 (code_convert_region): Always set saved_coding_symbol.
5995 (decode_coding_string): Likewise. Update coding->symbol when we
5996 encounter a inconsistent eol by the same way as code_convert_region.
5997
5998 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5999
6000 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
6001 XClearArea.
6002
6003 * xterm.c (x_after_update_window_line): Don't clear if frame's
6004 internal border width is zero.
6005 (x_clear_area): New function.
6006 (x_after_update_window_line, x_clear_end_of_line)
6007 (x_scroll_bar_create, x_scroll_bar_set_handle)
6008 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
6009 instead of XClearArea.
6010
6011 * xterm.h (x_clear_area): Add prototype.
6012
6013 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
6014 which doesn't seem necessary anymore with Lesstif 0.92.
6015
6016 2001-01-25 Dave Love <fx@gnu.org>
6017
6018 * puresize.h (BASE_PURESIZE): Up to 720000.
6019
6020 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
6021
6022 2001-01-25 Gerd Moellmann <gerd@gnu.org>
6023
6024 * xdisp.c (echo_area_display): Don't call redisplay_internal
6025 when Emacs is shutting down. We can't run hooks etc. that
6026 would be necessary to do a redisplay.
6027
6028 * lread.c (read_integer): Use type EMACS_INT instead of int.
6029
6030 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
6031
6032 * ccl.c (ccl_driver): Fix last change.
6033
6034 2001-01-25 Kenichi Handa <handa@etl.go.jp>
6035
6036 * ccl.h (sturct ccl_program): New member suppress_error.
6037
6038 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
6039 insert error message to the output.
6040 (setup_ccl_program): Initialize ccl->suppress_error to 0.
6041
6042 * coding.h (struct coding_system): New member suppress_error.
6043
6044 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
6045 (Fset_terminal_coding_system_internal): Set the member
6046 suppress_error to 1.
6047 (Fset_safe_terminal_coding_system_internal): Likewise.
6048
6049 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
6050
6051 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
6052 as if it was a `charset'.
6053
6054 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6055
6056 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
6057 value in where_is_cache; the next lookup in the cache returns
6058 something bogus if we do.
6059
6060 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
6061
6062 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
6063 if HAVE_WINDOW_SYSTEM isn't defined.
6064
6065 2001-01-24 Gerd Moellmann <gerd@gnu.org>
6066
6067 * fns.c (sweep_weak_table): Fix code taking items out of
6068 the hash collision chain. Some cleanup.
6069
6070 * xterm.c (x_new_font): Don't change a tooltip's size.
6071
6072 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
6073 background color by specifying a color for the default font
6074 in .Xdefaults.
6075
6076 2001-01-24 Kenichi Handa <handa@etl.go.jp>
6077
6078 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
6079 a workaround for SunOS 4's cc.
6080 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
6081 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
6082 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
6083 statement.
6084
6085 2001-01-23 Gerd Moellmann <gerd@gnu.org>
6086
6087 * xterm.c (x_set_window_size_1): New function extracted from
6088 x_set_window_size.
6089 (x_set_window_size): Use it.
6090 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
6091 doesn't have a widget, like tooltips.
6092
6093 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
6094
6095 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
6096
6097 2001-01-23 Kenichi Handa <handa@etl.go.jp>
6098
6099 * fns.c (Fset_char_table_default): Fix to make sub char-table
6100 correctly.
6101
6102 2001-01-22 Gerd Moellmann <gerd@gnu.org>
6103
6104 * xdisp.c (build_desired_tool_bar_string): Make sure we have
6105 a desired tool bar string, even if there are no tool bar items.
6106
6107 * xdisp.c (Ftool_bar_lines_needed): New function.
6108 (syms_of_xdisp): Defsubr it.
6109
6110 * editfns.c (Fformat): Don't extend text properties from arguments
6111 to padding chars in the result.
6112
6113 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
6114
6115 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
6116
6117 2001-01-20 Andrew Innes <andrewi@gnu.org>
6118
6119 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
6120 (w32_initialize): Don't set term hooks that aren't actually needed
6121 in windowed mode.
6122
6123 * xfaces.c (realize_default_face):
6124 (realize_face):
6125 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
6126
6127 * xdisp.c (handle_single_display_prop): Remove references to
6128 FRAME_W32_CONSOLE_P.
6129
6130 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
6131
6132 * frame.h (output_method): Remove output_w32_console method.
6133 (FRAME_W32_CONSOLE_P): Remove macro.
6134
6135 * frame.c (Qw32_console): Remove variable.
6136 (Fframep): Remove references to it.
6137 (syms_of_frame): Ditto.
6138 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
6139
6140 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
6141 redefinition.
6142
6143 2001-01-20 Kenichi Handa <handa@etl.go.jp>
6144
6145 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
6146
6147 2001-01-19 Andrew Innes <andrewi@gnu.org>
6148
6149 * w32.c (init_environment): Add a version-independent site-lisp
6150 directory to EMACSLOADPATH, after the version dependent one.
6151
6152 2001-01-19 Gerd Moellmann <gerd@gnu.org>
6153
6154 * editfns.c (Fbuffer_substring): Doc fix.
6155
6156 * xdisp.c (message_dolog, message2, message2_nolog):
6157 Rename parameter LEN to NBYTES.
6158
6159 2001-01-19 Kenichi Handa <handa@etl.go.jp>
6160
6161 * charset.c (strwidth): Use c_string_width.
6162 (c_string_width): New function.
6163 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
6164 Caller changed.
6165
6166 * charset.h (c_string_width, lisp_string_width): Extern them.
6167
6168 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
6169
6170 * indent.c (check_composition): Check validity of composition.
6171
6172 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
6173 characters by calling c_string_width.
6174 (x_consider_frame_title): Get byte length of frame tile string
6175 correctly.
6176 (display_mode_element): Pay attention to width of non-ASCII
6177 characters by calling strwidth.
6178
6179 2001-01-18 Gerd Moellmann <gerd@gnu.org>
6180
6181 * xfns.c (Qcancel_timer): New variable.
6182 (syms_of_xfns): Initialize and staticpro it.
6183 (Fx_hide_tip, Fx_show_tip): Use it.
6184 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
6185 the timer.
6186 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
6187
6188 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
6189
6190 * window.h (WINDOW_LIVE_P): New macro.
6191
6192 * window.c (window_size_fixed): New variable.
6193 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
6194 the doc string.
6195
6196 * eval.c (specbind): If binding a per-buffer variable which
6197 doesn't have a buffer-local value in the current buffer, change
6198 the global value by changing the value of the symbol bound in all
6199 buffers not having their own value, to make it consistent with
6200 what happens with other buffer-local variables.
6201
6202 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
6203
6204 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
6205 when searching for a newline.
6206
6207 2001-01-18 Kenichi Handa <handa@etl.go.jp>
6208
6209 * xdisp.c (display_string): Fix previous change.
6210
6211 2001-01-18 Jason Rumney <jasonr@gnu.org>
6212
6213 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
6214 GLYPH_DEBUG is defined.
6215 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
6216 true for images with `:ascent 100'.
6217 (x_set_mouse_face_gc): If the last used mouse face has gone in the
6218 meantime, use face MOUSE_FACE_ID.
6219 If first glyph isn't a character glyph, use the ASCII NUL
6220 character to determine the face.
6221 (expose_area): Do not treat left margin specially.
6222 (note_mode_line_highlight): If no local_map, check global keymap.
6223 (note_mouse_highlight): Initialize overlay.
6224 (clear_mouse_face): Don't return if tip_frame is non-nil.
6225 (show_scroll_bars): Remove unused function.
6226 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
6227 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
6228 Clip to row.
6229 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
6230 (x_free_frame_resources): Unload relief colors.
6231
6232 2001-01-17 Gerd Moellmann <gerd@gnu.org>
6233
6234 * xdisp.c (forward_to_next_line_start): Avoid calling
6235 get_next_display_element when the newline is already found.
6236 This may change the iterator's position, when its current position is
6237 equal to the iterator's stop_charpos.
6238
6239 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
6240 zero, use this method only at the end of a line.
6241
6242 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
6243 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
6244 if SCALABLE_FONTS_P is set.
6245
6246 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
6247 so that scalable fonts are included.
6248
6249 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
6250 In the cache, use a key containing the information if scalable
6251 fonts are included.
6252 (x_load_font): Adapt to change of keys in the font cache.
6253
6254 2001-01-17 Kim F. Storm <storm@filanet.dk>
6255
6256 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
6257 XListFonts to take advantage of font caching.
6258
6259 * xterm.c (x_list_fonts): Ensure caching font information when
6260 called for a null frame, which is the case frequently when Emacs
6261 starts.
6262
6263 2001-01-17 Gerd Moellmann <gerd@gnu.org>
6264
6265 * xfns.c (QCconversion): Replaces QCalgorithm.
6266
6267 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
6268
6269 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
6270 of :algorithm.
6271
6272 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
6273 not everything could be displayed.
6274
6275 * line.h, x-list-font.c: Files removed because unused.
6276
6277 2001-01-17 Andrew Innes <andrewi@gnu.org>
6278
6279 * dired.c (directory_files_internal): Convert result from readdir
6280 to a unibyte string initially, to avoid possible misinterpretation
6281 of some bytes as the internal form of Emacs characters.
6282
6283 2001-01-17 Kenichi Handa <handa@etl.go.jp>
6284
6285 * fns.c (concat): Be sure to avoid putting the same `composition'
6286 property on the adjacent regions.
6287
6288 2001-01-16 Gerd Moellmann <gerd@gnu.org>
6289
6290 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
6291 (Fscroll_right, Fscroll_left): Set it here instead, if called
6292 interactively.
6293
6294 * buffer.c (Fset_buffer_modified_p): Set buffer's
6295 prevent_redisplay_optimizations_p flag.
6296
6297 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
6298 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
6299 with additional arg.
6300
6301 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
6302 Change prototype.
6303
6304 * xdisp.c (redisplay_preserve_echo_area): Add parameter
6305 FROM_WHERE, for debugging.
6306
6307 2001-01-16 Kenichi Handa <handa@etl.go.jp>
6308
6309 * ccl.c (Fregister_ccl_program): Handle the return value of
6310 resolve_symbol_ccl_program correctly.
6311 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
6312
6313 2001-01-15 Gerd Moellmann <gerd@gnu.org>
6314
6315 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
6316 has gone in the meantime, use face MOUSE_FACE_ID.
6317
6318 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
6319 If x_display_info_for_display returns null, don't try to close
6320 the display; we didn't open it.
6321
6322 * dispnew.c (save_or_restore_current_matrices): Function removed.
6323 (save_current_matrix, restore_current_matrix): New functions.
6324 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
6325 restore the frame's current matrix. Due to the glyph pointer
6326 setup done in adjust_glyph_matrix, there is no easy way to make
6327 saving the current matrix in the desired matrix generally correct,
6328 so don't try it.
6329
6330 2001-01-15 Kenichi Handa <handa@etl.go.jp>
6331
6332 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
6333 truncation glyphs.
6334 (display_line): Optimize for wide characters.
6335 (display_string): Don't try to display a multi-column character
6336 partially. On ttys, produce more than one truncation glyph for
6337 multi-column characters that don't fit on the line.
6338
6339 2001-01-13 Kenichi Handa <handa@etl.go.jp>
6340
6341 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
6342 Define it instead of WORDS_BIGENDIAN. Caller changed.
6343
6344 2001-01-13 Jason Rumney <jasonr@gnu.org>
6345
6346 * w32fns.c (Fimage_size, image_ascent, lookup_image)
6347 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
6348 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6349 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
6350
6351 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
6352 (x_draw_image_relief, x_draw_image_foreground_1)
6353 (x_draw_image_glyph_string): Adapt to change of image margins.
6354
6355 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
6356 variables.
6357
6358 * w32bdf.c (search_file_line, get_cached_font_char)
6359 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
6360
6361 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
6362
6363 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
6364 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
6365 (Fw32_send_sys_command): Remove unused variables.
6366 (w32_msg_pump): Add parentheses.
6367
6368 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
6369 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
6370 Add parentheses.
6371
6372 2001-01-12 Gerd Moellmann <gerd@gnu.org>
6373
6374 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
6375 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
6376 being a pair of margins.
6377 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
6378 to DEFVAR_LISP. Extend doc.
6379
6380 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
6381 margins.
6382 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
6383 pair of integers `(X . Y)', use X for the horizontal and Y for the
6384 vertical margin.
6385 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
6386 (parse_image_spec): Check it.
6387 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6388 (tiff_format, gif_format, gs_format):
6389 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
6390
6391 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6392 (x_draw_image_relief, x_draw_image_foreground_1)
6393 (x_draw_image_glyph_string): Adapt to the change of image margins.
6394
6395 * dispextern.h (struct image): Replace member `margin' with
6396 `hmargin' and `vmargin'.
6397
6398 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
6399 and GLYPHS.
6400
6401 * dispnew.c (update_text_area): Put code which decrements the
6402 stop position when the row's face extends to the end of the
6403 line in #if 0.
6404
6405 * xfns.c (x_set_mouse_color): Fix color allocation.
6406
6407 * keyboard.c: Call get_local_map with new argument list.
6408
6409 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
6410
6411 * intervals.h (enum map_property): Removed.
6412 (get_local_map): Change prototype.
6413
6414 * keymap.c: Call get_local_map with new argument list.
6415 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
6416
6417 2001-01-11 Gerd Moellmann <gerd@gnu.org>
6418
6419 * xdisp.c (build_desired_tool_bar_string): Correct the computation
6420 of the size needed for the tool bar string. For the last image,
6421 use a `display' property that reaches to the end of the string.
6422
6423 * xselect.c (selection_request_dpyinfo): New variable.
6424 (x_handle_selection_request): Set it.
6425 (x_selection_request_lisp_error): Don't call
6426 x_decline_selection_request if selection request's display has
6427 been closed.
6428
6429 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
6430 Do the unregister_colors before calling XFreeColors.
6431
6432 2001-01-10 Dave Love <fx@gnu.org>
6433
6434 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
6435 ${SOME_MACHINE_LISP}, not ${lisp}.
6436
6437 2001-01-10 Gerd Moellmann <gerd@gnu.org>
6438
6439 * xdisp.c (display_line): On ttys, produce more than one truncation
6440 glyph for multi-column characters that don't fit on the line.
6441
6442 * xselect.c (x_reply_selection_request): Add a comment.
6443
6444 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
6445 XkbGetNames instead of XkbGetKeyboard.
6446
6447 2001-01-10 Dave Love <fx@gnu.org>
6448
6449 * sysdep.c (random): Revert the declaration.
6450
6451 2001-01-09 Gerd Moellmann <gerd@gnu.org>
6452
6453 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
6454 Call function string_bytes.
6455 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
6456
6457 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
6458 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
6459 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
6460 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
6461 the current sblock.
6462 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
6463 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
6464 after sweeping strings, and at the end.
6465 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
6466
6467 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
6468 ensure that pop_message is called.
6469
6470 * keyboard.c (Fexecute_extended_command): Use a
6471 record_unwind_protect to ensure that pop_message is called.
6472
6473 * lisp.h (push_message_unwind): Add prototype.
6474
6475 * xdisp.c (push_message_unwind): New function.
6476
6477 * fileio.c (do_auto_save_unwind): Do the pop_message here
6478 instead of in Fdo_auto_save.
6479 (Fdo_auto_save): Don't call pop_message.
6480
6481 2001-01-08 Ken Raeburn <raeburn@gnu.org>
6482
6483 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
6484 in inner block.
6485
6486 2001-01-08 Gerd Moellmann <gerd@gnu.org>
6487
6488 * window.c (window_scroll_pixel_based): Adjust glyph matrices
6489 when increasing window's vscroll.
6490
6491 * macros.c (Qkbd_macro_termination_hook): New variable.
6492 (syms_of_macros): Initialize and staticpro it.
6493 (pop_kbd_macro): Run kbd-macro-termination-hook.
6494
6495 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
6496
6497 2001-01-07 Dave Love <fx@gnu.org>
6498
6499 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
6500 arglist, for documentation's sake.
6501
6502 2001-01-06 Andrew Innes <andrewi@gnu.org>
6503
6504 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
6505 of *.pdb.
6506
6507 2001-01-05 Andrew Innes <andrewi@gnu.org>
6508
6509 * term.c (update_end): Don't check updating_frame; for some reason
6510 this can be 0 sometimes, such as after dismissing a popup menu,
6511 and isn't necessary given the explicit frame argument.
6512
6513 2001-01-05 Gerd Moellmann <gerd@gnu.org>
6514
6515 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6516 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6517
6518 2001-01-04 Gerd Moellmann <gerd@gnu.org>
6519
6520 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
6521
6522 * xfns.c (x_create_tip_frame): Preserve the value of
6523 face_change_count around the creation of the tip frame.
6524
6525 * xfns.c (last_show_tip_args): New variable.
6526 (compute_tip_xy): New function.
6527 (Fx_show_tip): Reuse an existing tip frame, if possible.
6528 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6529
6530 2001-01-04 Dave Love <fx@gnu.org>
6531
6532 * editfns.c (Fformat): Doc fix.
6533
6534 * systime.h (set_file_times): Prototype.
6535
6536 * widget.h (EmacsFrameSetCharSize_): Prototype.
6537
6538 * sysdep.c (random, srandom): Declare explicitly.
6539
6540 * dispextern.h (move_it_vertically_backward): Declare.
6541
6542 2001-01-04 Gerd Moellmann <gerd@gnu.org>
6543
6544 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6545 like in Fx_create_frame.
6546
6547 * xfaces.c (set_font_frame_param): Don't do anything for
6548 non-graphical frames.
6549
6550 * window.c (Fdelete_other_windows): Set window's window_end_valid
6551 to nil when changing the window's start. Don't change the
6552 window's start when its top position hasn't changed. If we do,
6553 this will set the window's optional_new_start, which act's like a
6554 force_start during redisplay with C-x 1 M-> under particular
6555 circumstances (see report from Per Starback to emacs-pretest-bug
6556 from 2000-12-13.).
6557
6558 2001-01-03 Gerd Moellmann <gerd@gnu.org>
6559
6560 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6561 short cut at the start of the function. Add an assertion.
6562 (reseat_at_next_visible_line_start): Add an assertion.
6563
6564 * window.c (Frecenter): When changing the window start, set the
6565 window's window_end_valid to nil.
6566 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6567
6568 * dispextern.h (move_it_past_eol): Add prototype.
6569
6570 * xdisp.c (move_it_past_eol): New function.
6571
6572 * window.c (Fwindow_end): Doc fix.
6573
6574 2001-01-03 Dave Love <fx@gnu.org>
6575
6576 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
6577
6578 2001-01-03 Gerd Moellmann <gerd@gnu.org>
6579
6580 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6581 the enabled_p flag of the glyph row at window_end_vpos to 0.
6582 (handle_single_display_prop): Fix last change.
6583
6584 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6585
6586 * window.c (Frecenter): Doc fix.
6587
6588 2001-01-02 Andrew Innes <andrewi@gnu.org>
6589
6590 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6591
6592 * frame.h (output_method): Add output_w32_console method.
6593 (FRAME_W32_CONSOLE_P): New macro.
6594
6595 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6596 use output_w32_console method.
6597 (Qw32_console): New Lisp_Object.
6598 (Fframep): Return it.
6599 (syms_of_frame): Init it.
6600 (Fframe_parameters): Report w32console as font for w32_console frames.
6601
6602 * xfaces.c (realize_default_face): Set face foreground and
6603 background to unspecified for w32_console frames.
6604 (realize_face): Realize face cache for w32_console frames.
6605 (realize_tty_face): Accept w32_console frames.
6606
6607 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
6608 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6609 necessary, even if running interactively.
6610
6611 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6612 w32_console frames.
6613
6614 * w32term.c (x_update_begin):
6615 (x_update_end):
6616 (x_clear_frame):
6617 (x_ins_del_lines):
6618 (x_change_line_highlight):
6619 (x_delete_glyphs):
6620 (w32_ring_bell):
6621 (x_update_begin):
6622 (x_update_end):
6623 (w32_reassert_line_highlight):
6624 (w32_frame_rehighlight):
6625 (w32_frame_raise_lower): Do nothing if not w32 frame.
6626
6627 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6628
6629 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6630 system doesn't tell us directly.
6631 (Fx_display_visual_class): Implement properly.
6632
6633 2001-01-02 Gerd Moellmann <gerd@gnu.org>
6634
6635 * window.c (Frecenter): Handle centering in graphical frames
6636 specially. Centering on the basis of line counts doesn't work
6637 reliably with variable-height lines.
6638
6639 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6640
6641 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6642 and al[].
6643
6644 * composite.c (run_composition_function): Remove unused var `val'.
6645 (update_compositions): Remove unused variable `hook'.
6646
6647 * intervals.c (get_local_map): Remove unused variable `tem'.
6648
6649 * doprnt.c (doprnt1): Remove unused variable `size'.
6650
6651 * fns.c (Flength): Remove unused variable `tail'.
6652 (Fdelete): Remove unused variable `size'.
6653
6654 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6655 and `gcpro2'.
6656
6657 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
6658
6659 * data.c (find_symbol_value): Remove extra 3rd argument in the
6660 call to swap_in_symval_forwarding.
6661
6662 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
6663
6664 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6665 (trivial_regexp_p): Remove unused variable `c'.
6666 (boyer_moore): Remove unused variable `k'.
6667
6668 * indent.c (current_column): Remove unused variable `stopchar'.
6669 (Fcompute_motion): Remove unused variable `contin'.
6670
6671 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6672
6673 * dired.c (directory_files_internal): Fix a typo in a comment.
6674 Remove an unused variable `handler'.
6675 (file_name_completion): Remove unused function-scope variable `dp'.
6676 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6677 on BSD4_2.
6678
6679 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
6680
6681 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6682 and `buf'.
6683 (Fmarker_insertion_type): Remove unused variable `buf'.
6684
6685 * insdel.c (make_gap): Remove unused variable `result'.
6686
6687 * keyboard.c (record_char): Remove unused function-scope var `help'.
6688 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6689 (menu_bar_items): Remove unused function-scope variable `tem'.
6690
6691 * fontset.c (fontset_ref): Remove unused variable `i'.
6692 (fontset_set): Remove unused variables `j' and `tmp'.
6693 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
6694 (make_fontset_for_ascii_face): Remove unused variable `name'.
6695 (fs_load_font): Remove unused variable `font_idx'.
6696 (fs_query_fontset): Remove unused function-local variable `fontset'.
6697 (list_fontsets): Remove unused variable `tail'.
6698 (Fnew_fontset): Remove unused variables `family' and `registry'.
6699 (accumulate_font_info): Remove unused variable `tmp'.
6700 (Ffontset_font): Remove unused variable `id'.
6701 (syms_of_fontset): Remove unused variable `i'.
6702
6703 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6704 to x_term_init.
6705 (lookup_image): Remove unused variable `file'.
6706 (xbm_load): Remove unused variables `bitmap_data', `height', and
6707 `width'. Remove function-local variable `i', leave the
6708 block-local one.
6709 (gif_load): Remove unused variable `inc'.
6710
6711 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
6712 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6713 leave only the one in the inner block.
6714
6715 * xfaces.c (face_fontset, realize_default_face): Remove unused
6716 variable `fontset'.
6717 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6718
6719 * term.c (encode_terminal_code): Remove unused variable `c'.
6720
6721 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6722 char *' instead of `char *'.
6723
6724 * category.c (Fcategory_docstring): Remove unused variable `doc'.
6725 (Fget_unused_category): Remove unused variable `docstring_vector'.
6726 (Fchar_category_set): Remove unused variables `val', `charset',
6727 `c1' and `c2'.
6728
6729 * coding.c (detect_coding_iso2022, setup_coding_system):
6730 Remove unused variable `i'.
6731 (detect_coding_mask): Remove unused variable `idx'.
6732 (detect_coding): Remove unused variable `i'.
6733 (ccl_coding_driver): Remove unused variable `result'.
6734 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
6735 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
6736 (encode_coding_string): Remove unused variables `gcpro1' and
6737 `saved_coding_symbol'.
6738 (Ffind_coding_systems_region_internal): Remove function-local
6739 variable args[], leave only the block-local one.
6740 (code_convert_region1): Remove unused variable `len'.
6741
6742 * charset.c (char_printable_p): Remove unused variable `chars'.
6743 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6744 (str_to_multibyte): Remove unused variable `c'.
6745
6746 * window.c (size_window): Remove block-local variable `min_size'.
6747
6748 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6749 `header_line_height'.
6750 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6751 enum display_element_type.
6752
6753 2001-01-02 Gerd Moellmann <gerd@gnu.org>
6754
6755 * xterm.c (x_connection_closed): Catch X errors around all
6756 statements that call X. Save away the error message in a local copy.
6757
6758 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6759 the start.
6760
6761 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6762 in or at the start of invisible text.
6763
6764 * dispnew.c (update_window): Don't check_current_matrix_flags.
6765
6766 2001-01-01 Jason Rumney <jasonr@gnu.org>
6767
6768 * w32fns.c (x_figure_window_size): Do not allow new_height and
6769 new_width of frame to override specified values.
6770
6771 2000-12-30 Kenichi Handa <handa@etl.go.jp>
6772
6773 * composite.c (find_composition): Fix a code for searching backward.
6774
6775 2000-12-29 Gerd Moellmann <gerd@gnu.org>
6776
6777 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
6778 (update_window) [GLYPH_DEBUG]: Call it.
6779 (scrolling_window): Prevent including current rows which are below
6780 what's displayed in the window.
6781
6782 * xdisp.c (try_window_reusing_current_matrix)
6783 <new start <= old start>: Disable rows in the current matrix
6784 which are below the window after scrolling.
6785
6786 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6787 is zero. It's not worth the complexity.
6788 (invisible_text_between_p): Put in #if 0 because unused.
6789
6790 2000-12-28 Gerd Moellmann <gerd@gnu.org>
6791
6792 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6793 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6794
6795 * keyboard.c (echo_char): If C is an integer, always call
6796 push_key_description. Former code could signal an invalid
6797 character error.
6798
6799 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6800 If set, print multibyte text.
6801 (Fsingle_key_description): Call push_key_description with
6802 FORCE_MULTIBYTE set.
6803 (describe_buffer_bindings): Likewise.
6804
6805 * lisp.h (push_key_description): Add prototype.
6806
6807 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6808 around the call to redisplay_internal.
6809
6810 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6811
6812 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6813
6814 2000-12-28 Kenichi Handa <handa@etl.go.jp>
6815
6816 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6817 (ccl_driver): New local variable `extra_bytes'.
6818
6819 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6820
6821 * coding.c (setup_coding_system):
6822 Initialize coding->spec.ccl.eight_bit_carryover.
6823 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6824
6825 2000-12-28 Kenichi Handa <handa@etl.go.jp>
6826
6827 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6828 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6829 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6830 (decode_composition_emacs_mule): New function.
6831 (decode_coding_emacs_mule): Decode composition sequence by calling
6832 decode_composition_emacs_mule.
6833 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
6834 (encode_coding_emacs_mule): Changed from macro to function.
6835 If a text contains compositions, encode them correctly.
6836 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6837 that decoding and encoding are required.
6838
6839 2000-12-27 Gerd Moellmann <gerd@gnu.org>
6840
6841 * xfaces.c (PT_PER_INCH): New macro.
6842 (xlfd_point_size): Compute real point size from font's pixel size.
6843 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6844 instead of 72.
6845
6846 * .gdbinit: Comment out the line pointing to the Lesstif source
6847 directory.
6848
6849 * window.c (Frecenter): Use displayed_window_lines instead
6850 of window_internal_height.
6851
6852 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6853 instead of x-toolkit-scroll-bars-p.
6854 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6855
6856 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6857 instead of x-toolkit-scroll-bars-p.
6858 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6859
6860 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6861 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
6862 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6863 New variables.
6864 (add_window_display_history, add_frame_display_history)
6865 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6866 (build_frame_matrix_from_leaf_window): Remove unused code.
6867 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6868 redisplay history.
6869 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6870 (update_window) [GLYPH_DEBUG]: Likewise.
6871 (syms_of_display): Defsubr dump-redisplay-history.
6872
6873 2000-12-23 Gerd Moellmann <gerd@gnu.org>
6874
6875 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6876 the end of the prompt. Set echo_after_prompt to the offset
6877 of echoptr in echobuf.
6878
6879 * xdisp.c (init_from_display_pos): Pop until the iterator's
6880 stack is empty; there may be frames for stretch or images
6881 on the stack.
6882
6883 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6884 (save_or_restore_current_matrix): New function for the same
6885 purpose, but more efficient.
6886 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6887
6888 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6889
6890 * xdisp.c (syms_of_xdisp): Fix last change.
6891
6892 2000-12-23 Gerd Moellmann <gerd@gnu.org>
6893
6894 * xdisp.c (syms_of_xdisp): Doc fix.
6895
6896 * xdisp.c (redisplay_window): Remove label restore_buffers;
6897 use finish_scroll_bars instead to make sure that scroll bars
6898 are redeemed. If we don't do this, flickering can result from
6899 scroll bars being destroyed and recreated.
6900
6901 2000-12-22 Jason Rumney <jasonr@gnu.org>
6902
6903 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6904 in the wrong colors when the foreground is not black.
6905 (expose_window): Don't redraw the window that's currently being
6906 updated.
6907
6908 2000-12-22 Gerd Moellmann <gerd@gnu.org>
6909
6910 * window.c (size_window): When setting the window's too_small_ok
6911 flag, compare old size with minimum size depending on WIDTH_P,
6912 don't compare with window_min_width.
6913
6914 * window.c (delete_window): Simplify somewhat.
6915 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6916 freeing window matrices. The flag windows_or_buffers_changed is
6917 set, so the next redisplay will consider all windows; this should
6918 suffice.
6919
6920 2000-12-22 Kenichi Handa <handa@etl.go.jp>
6921
6922 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6923
6924 * ccl.h (struct ccl_program): New member cr_consumed.
6925
6926 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6927 (CCL_READ_CHAR): Handle EOL conversion here.
6928 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6929
6930 2000-12-21 Gerd Moellmann <gerd@gnu.org>
6931
6932 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6933
6934 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6935 otherwise tabs of different size compare equal.
6936
6937 * callint.c (Fcall_interactively): Prevent a compiler warning.
6938
6939 * print.c (print_unwind): Return nil.
6940 (PRINTDECLARE): Initialize all local variables.
6941 (print_preprocess): Add a default case.
6942
6943 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6944
6945 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6946
6947 * window.c (delete_window, Fsplit_window)
6948 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6949
6950 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6951
6952 * dispnew.c (ensure_frame_matrix): Removed.
6953 (save_frame_matrix, restore_frame_matrix): New functions.
6954 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6955
6956 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6957 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6958
6959 2000-12-21 Andrew Innes <andrewi@gnu.org>
6960
6961 * w32term.c (x_update_begin): Regenerate the palette here, rather
6962 than for each window.
6963
6964 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6965 palette is NULL, since this corrupts memory! Also get
6966 display_info reference from frame.
6967
6968 2000-12-21 Jason Rumney <jasonr@gnu.org>
6969
6970 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6971
6972 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6973 to avoid returning without releasing it.
6974
6975 2000-12-21 Kenichi Handa <handa@etl.go.jp>
6976
6977 * keymap.c (push_key_description): Don't convert eight-bit-control
6978 and eight-bit-graphic to multibyte character.
6979
6980 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6981 generic character and CODE1 is nil, return the smallest character
6982 in CHARSET.
6983
6984 2000-12-20 Dave Love <fx@gnu.org>
6985
6986 * s/osf5-0.h (NSIG): Don't redefine.
6987
6988 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6989
6990 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6991 excluding menu-bar and tool-bar.
6992 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6993 (menu_item_p): Remove.
6994 (where_is_internal_1): Don't ignore menu-items.
6995
6996 2000-12-20 Gerd Moellmann <gerd@gnu.org>
6997
6998 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6999 into account.
7000
7001 * window.c (make_window): Initialize window's min_hscroll.
7002 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
7003 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
7004 to zero.
7005 (struct saved_window): New member min_hscroll.
7006 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
7007 (Fset_window_configuration): Set window's min_hscroll.
7008 (save_window_save): Save window's min_hscroll.
7009 (compare_window_configurations): Compare min_hscroll values.
7010
7011 * window.h (struct window): New member min_hscroll.
7012
7013 * keyboard.c (echo_prompt): Prevent a compiler warning.
7014
7015 * xdisp.c (try_cursor_movement): Fix last change. The real
7016 condition is that PT is at the end of the row, and should
7017 be displayed at the start of the next row.
7018
7019 * xdisp.c (try_cursor_movement): If we end on a partially
7020 visible line, end we already decided to scroll, return -1.
7021
7022 * dispextern.h (ensure_frame_matrix): Add prototype.
7023
7024 * window.c (delete_window, Fsplit_window)
7025 (Fset_window_configuration): Call ensure_frame_matrix.
7026
7027 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
7028 New functions.
7029 (adjust_frame_glyphs_for_frame_redisplay): If display has been
7030 completed, call fake_current_matrices instead of marking frame
7031 garbaged.
7032
7033 2000-12-20 Jason Rumney <jasonr@gnu.org>
7034
7035 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
7036
7037 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
7038
7039 * fns.c (Frequire): Doc fix.
7040
7041 2000-12-19 Gerd Moellmann <gerd@gnu.org>
7042
7043 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
7044
7045 * dispnew.c (direct_output_for_insert): Fix check for mini-window
7046 currently displaying a message.
7047
7048 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
7049 xterm.h.
7050 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
7051
7052 2000-12-18 Andrew Innes <andrewi@gnu.org>
7053
7054 * w32.c (w32_strerror): New function.
7055
7056 * w32.h (w32_strerror): New extern.
7057
7058 * w32fns.c (Fw32_shell_execute): Use it.
7059
7060 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7061
7062 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
7063
7064 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7065
7066 * msdos.c (IT_set_face): Obey inverse_video.
7067
7068 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7069
7070 * dired.c (directory_files_internal): Always return decoded filenames.
7071
7072 2000-12-18 Gerd Moellmann <gerd@gnu.org>
7073
7074 * xterm.c (x_connection_closed): Prevent being called recursively
7075 because of an error condition in XtCloseDisplay.
7076
7077 * xdisp.c (init_iterator): If noninteractive, and the frame's
7078 face cache is null, make one.
7079
7080 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
7081
7082 * process.c (wait_reading_process_input): Check for pending
7083 input when running timers.
7084
7085 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
7086
7087 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
7088
7089 2000-12-18 Kenichi Handa <handa@etl.go.jp>
7090
7091 * process.c (read_process_output): Don't run a filter if the code
7092 decoder produces nothing but carryover.
7093
7094 2000-12-17 Andrew Innes <andrewi@gnu.org>
7095
7096 * w32.c (sys_rename): Only check errno against EEXIST, and not
7097 EACCES, when determining whether rename failed because the target
7098 exists. This was resulting in indefinite looping on Windows 9x if
7099 the source file was locked by another process.
7100
7101 * w32fns.c (Ffile_system_info): New function.
7102 (syms_of_w32fns): Defsubr it.
7103
7104 2000-12-17 Gerd Moellmann <gerd@gnu.org>
7105
7106 * window.c (coordinates_in_window): Fix computation for
7107 position on vertical line between mode lines.
7108
7109 * xfns.c (unwind_create_frame): Return t if frame was deleted.
7110 Don't alter tip_frame or tip_window.
7111 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7112 was deleted.
7113
7114 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
7115 Don't alter tip_frame or tip_window.
7116 (unwind_create_tip_frame): Set tip_frame to nil only if frame
7117 was deleted.
7118
7119 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
7120
7121 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
7122 be consistent with the doc string. Reported by NAKAJIMA Mikio
7123 <minakaji@osaka.email.ne.jp>.
7124
7125 2000-12-16 Kenichi Handa <handa@etl.go.jp>
7126
7127 * xfaces.c (Vface_ignored_fonts): New variable.
7128 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
7129 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
7130
7131 2000-12-15 Gerd Moellmann <gerd@gnu.org>
7132
7133 * dispnew.c (update_window): Detect pending input every nth line
7134 updated, i.e. do it depending on real work done, and not on the
7135 vpos of the line.
7136
7137 * xterm.c (expose_window): Don't redraw the window that's
7138 currently being updated.
7139
7140 * window.c (Fset_window_point): Remove test for
7141 cursor_in_non_selected_windows.
7142
7143 * lread.c (read1): Recognize end of file after `\\'.
7144
7145 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
7146 not unwind_create_frame.
7147
7148 2000-12-15 Dave Love <fx@gnu.org>
7149
7150 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
7151 bcopy & al.
7152
7153 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
7154
7155 2000-12-15 Kenichi Handa <handa@etl.go.jp>
7156
7157 * coding.c (setup_coding_system): Clear all members of the struct
7158 coding_system at first.
7159 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
7160 argument.
7161 (code_convert_region): Don't override coding->src_multibyte and
7162 coding->dst_multibyte.
7163
7164 * fns.c (Fmd5): Docstring improved.
7165
7166 2000-12-15 Miles Bader <miles@gnu.org>
7167
7168 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
7169 are actually marked as mode-lines; otherwise use
7170 estimate_mode_line_height.
7171
7172 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7173
7174 * editfns.c (Fformat): Prevent a buffer overrun when the format
7175 specifies a precision.
7176
7177 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
7178
7179 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
7180 argument is outside the range [2..3].
7181
7182 2000-12-14 Andrew Innes <andrewi@gnu.org>
7183
7184 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
7185 nothing to do. Bind inhibit-quit.
7186 (tip_frame): Make it a Lisp_Object.
7187 (x_create_tip_frame): Set tip_frame after it has been added to
7188 Vframe_list.
7189 (Fx_show_tip): Don't set tip_frame here.
7190 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
7191 (unwind_create_frame, unwind_create_tip_frame): New functions.
7192 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7193 while a frame is only partially constructed.
7194
7195 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7196 (x_free_frame_resources): New function.
7197 (x_destroy_window): Use it.
7198
7199 2000-12-14 Gerd Moellmann <gerd@gnu.org>
7200
7201 * xfns.c (Fx_backspace_delete_keys_p): New function.
7202 (syms_of_xfns): Defsubr it.
7203
7204 * config.in (HAVE_XKBGETKEYBOARD): Add.
7205
7206 2000-12-14 Kenichi Handa <handa@etl.go.jp>
7207
7208 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
7209 Always store string in multibyte representation in echobuf.
7210 (echo_char): Always store string in multibyte representation in
7211 echobuf.
7212 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
7213 (read_key_sequence): Adjusted for the change of echo_prompt.
7214
7215 * fns.c (Fmd5): Docstring improved.
7216
7217 * lisp.h (detect_coding_system): Prototype adjusted.
7218
7219 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
7220 (detect_coding_emacs_mule, detect_coding_iso2022,)
7221 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
7222 (detect_coding_utf_16, detect_coding_ccl): Make them static.
7223 New argument MULTIBYTEP. Callers changed.
7224 (detect_coding_mask, detect_coding_system): New argument
7225 MULTIBYTEP. Callers changed.
7226 (decode_coding_string): Set coding->src_multibyte and
7227 coding->dst_multibyte before calling detect_coding and detect_eol.
7228 Update them after some coding system is detected.
7229
7230 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
7231
7232 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
7233
7234 * keyboard.c (menu_bar_items, tool_bar_items):
7235 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
7236
7237 2000-12-13 Gerd Moellmann <gerd@gnu.org>
7238
7239 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
7240 New variables.
7241 (unwind_create_frame, unwind_create_tip_frame): New functions.
7242 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
7243 while a frame is only partially constructed.
7244
7245 * xterm.h (x_free_frame_resources): Declare.
7246
7247 * xterm.c (x_free_frame_resources): New function.
7248 (x_destroy_window): Use it.
7249
7250 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
7251 don't interrupt the update for pending input initially, i.e.
7252 update at least some lines.
7253
7254 * keyboard.c (do_mouse_tracking): Make externally visible.
7255
7256 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
7257
7258 * xfns.c (gray_bitmap_bits): Declare `char *'.
7259
7260 2000-12-12 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xdisp.c (display_tool_bar_line): Make sure that tool bar
7263 lines start with a relief line.
7264
7265 2000-12-12 Dave Love <fx@gnu.org>
7266
7267 * window.c (Fdisplay_buffer): Doc fix.
7268 (Fwindow_list): Remove unused var.
7269
7270 * buffer.h (mmap_set_vars): Declare.
7271
7272 * window.h (Fset_window_point): Declare.
7273
7274 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
7275
7276 * msdos.c (fast_find_position): Don't overstep the last window row.
7277 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
7278 variable `area'. When looking for a row under (X,Y), give up if some
7279 of the previous rows is not enabled.
7280
7281 2000-12-12 Gerd Moellmann <gerd@gnu.org>
7282
7283 * window.c (Fset_window_point): If displaying cursors in windows
7284 other than the selected window, make sure redisplay updates
7285 other windows to show the new value of point in the window.
7286
7287 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
7288
7289 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
7290 the buffer is the sole visible buffer when in the mini-buffer.
7291
7292 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
7293 Bind `inhibit-read-only' to t.
7294 (unwind_with_echo_area_buffer): Use AREF.
7295
7296 * xfns.c (Fx_hide_tip): Simplified.
7297
7298 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
7299 instead of `1'.
7300
7301 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
7302
7303 2000-12-11 Gerd Moellmann <gerd@gnu.org>
7304
7305 * xfns.c (Fx_hide_tip): Fix last change.
7306
7307 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
7308 nothing to do. Bind inhibit-quit.
7309 (tip_frame): Make it a Lisp_Object.
7310 (x_create_tip_frame): Set tip_frame after it has been added to
7311 Vframe_list.
7312 (Fx_show_tip): Don't set tip_frame here.
7313
7314 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
7315
7316 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
7317 Lisp_Object.
7318
7319 * dispextern.h: Change external declaration of tip_frame.
7320
7321 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
7322 return an empty string.
7323
7324 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
7325 of the window's update_mode_line flag, since the former is set by
7326 force-mode-line-update, not the latter. This makes
7327 column-number-mode slightly faster.
7328
7329 * xdisp.c (try_window_id) <all changes above window start>:
7330 Set the cursor.
7331
7332 2000-12-11 Paul Eggert <eggert@twinsun.com>
7333
7334 * config.in (HAVE_FTELLO): Remove.
7335 (HAVE_FSEEKO): Add.
7336 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
7337 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
7338 HAVE_FTELLO.
7339 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
7340 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
7341
7342 2000-12-11 Miles Bader <miles@gnu.org>
7343
7344 * window.c (displayed_window_lines): Don't round up when
7345 converting empty space at bottom to lines.
7346 Handle non-newline-terminated final lines properly.
7347 (Fwindow_text_height): New function (used to be in lisp).
7348 (syms_of_window): Initialize it.
7349
7350 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
7351
7352 * syntax.c (scan_lists): Check that the right quote char has the
7353 right Sstring syntax when jumping over strings.
7354 (init_syntax_once): Use Smax rather than 13.
7355
7356 2000-12-09 Miles Bader <miles@gnu.org>
7357
7358 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
7359 with PARTIALLY, inverting the sense.
7360 (window_scroll_pixel_based): Scroll partially visible lines into
7361 place if we hit the beginning or end of the buffer.
7362 (displayed_window_lines): Don't include partially visible lines.
7363 (Fmove_to_window_line): Skip past any partially visible first line.
7364
7365 2000-12-08 Gerd Moellmann <gerd@gnu.org>
7366
7367 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
7368
7369 * tparam.c (tparam1): Change the way buffers are reallocated to be
7370 portable and less obfuscated.
7371
7372 * termcap.c (tgetent): Change the way buffers are reallocated to
7373 be portable and less obfuscated.
7374
7375 * macros.c (store_kbd_macro_char): Change the way buffers are
7376 reallocated to be portable and less obfuscated.
7377
7378 * lread.c (read1): Change the way buffers are reallocated to be
7379 portable and less obfuscated.
7380
7381 * doc.c (Fsubstitute_command_keys): Change the way buffers
7382 are reallocated so that it is portable.
7383
7384 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
7385
7386 * dosfns.c (Ffile_system_info): New function.
7387 (syms_of_dosfns): Defsubr it.
7388
7389 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
7390
7391 * alloc.c (gc_sweep): Add comment.
7392
7393 2000-12-07 Gerd Moellmann <gerd@gnu.org>
7394
7395 * sound.c (vox_configure): Change order of ioctls.
7396 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
7397 Ignore errors when changing volume.
7398 (vox_close): Don't reset the device.
7399
7400 * process.c (read_process_output): Make sure the process marker's
7401 position is valid when the process buffer is changed in
7402 after-change functions. W3 does that.
7403
7404 * xfns.c (x_free_gcs): New function.
7405
7406 * xterm.h (x_free_gcs): Add prototype.
7407
7408 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
7409 freeing GCs here.
7410
7411 * xterm.c (x_destroy_window): Call x_free_gcs so that
7412 resources of non-toolkit X windows will be freed.
7413
7414 2000-12-07 Andrew Innes <andrewi@gnu.org>
7415
7416 * w32fns.c (xlfd_charset_of_font): Fix last change.
7417
7418 2000-12-06 Dave Love <fx@gnu.org>
7419
7420 * md5.h (__P): Don't define -- it comes from config.h.
7421
7422 * strftime.c: Change some #if foo to #ifdef foo.
7423
7424 2000-12-06 Andrew Innes <andrewi@gnu.org>
7425
7426 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
7427
7428 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
7429 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
7430 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
7431
7432 2000-12-06 Gerd Moellmann <gerd@gnu.org>
7433
7434 * alloc.c (gc_sweep): Prevent symbols read during loadup
7435 from being freed.
7436
7437 * xdisp.c (underlying_face_id): New function.
7438 (handle_face_prop, face_before_or_after_it_pos): Use it
7439 to determine the face ``under'' a string. Let strings inherit
7440 the face of the buffer under them.
7441
7442 * xfaces.c (face_at_string_position): Update function comment.
7443
7444 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
7445 matrix if the window's left position has changed; we need to
7446 redraw it in this case.
7447
7448 * dispextern.h (struct glyph_matrix): Add member window_left_x.
7449
7450 * window.c (coordinates_in_window): Check mouse on mode-line or
7451 header-line first.
7452
7453 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
7454 advertized by the function documentation.
7455
7456 * window.c (syms_of_window): Doc fix.
7457
7458 * sound.c (vox_configure): Set volume for left and right channel.
7459 (sound_cleanup): Return nil.
7460
7461 * xdisp.c (move_it_by_lines): Fix paren typo.
7462
7463 * xterm.c (x_load_font): Don't use the font's max_bounds for
7464 computing the height of the font. If max_bounds' ascent or
7465 descent are greater than the font's ascent or descent, this means
7466 glyphs overlap, which should be handled now by redisplay.
7467
7468 * window.c (Veven_window_heights): New variable.
7469 (syms_of_window): DEFVAR_LISP it.
7470 (Fdisplay_buffer): Check Veven_window_heights before evening the
7471 window heights.
7472
7473 2000-12-06 Miles Bader <miles@gnu.org>
7474
7475 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
7476 update `default-frame-alist' instead of setting no frame parameters.
7477
7478 2000-12-06 Kenichi Handa <handa@etl.go.jp>
7479
7480 * composite.c (update_compositions): Fix typo (use the correct
7481 variable).
7482
7483 2000-12-05 Jason Rumney <jasonr@gnu.org>
7484
7485 * md5.h: Remove underscores from function declarations.
7486 (__attribute__, __alignof__) [!__GNUC__]: Define.
7487
7488 * md5.c: Delay include of md5.h until after namespace cleaning.
7489
7490 * makefile.w32-in (fns.o): Depend on md5.h
7491 (md5.o): New target.
7492 (sunfns.o): Remove.
7493
7494 * makefile.nt: Likewise.
7495
7496 2000-12-05 Jason Rumney <jasonr@altavista.net>
7497
7498 * w32term.c (expose_area): Complete last change.
7499
7500 2000-12-05 Ken Raeburn <raeburn@gnu.org>
7501
7502 * minibuf.c: Include intervals.h.
7503
7504 2000-12-05 Jason Rumney <jasonr@gnu.org>
7505
7506 * w32term.c (x_produce_glyphs): If a font for a component of
7507 a composition is not found, use 1 pixel dot ascent and 0 dot
7508 descent value to avoid displaying terribly tall empty boxes.
7509 (expose_area): Pass x-coordinate relative to the exposed
7510 area to x_draw_glyphs instead of a window-relative coordinate.
7511
7512 2000-12-05 Gerd Moellmann <gerd@gnu.org>
7513
7514 * xdisp.c (next_element_from_ellipsis): Save face before selective
7515 display in saved_face_id, and set face_before_selective_p.
7516 (reseat_1): Reset face_before_selective_p.
7517 (append_space, extend_face_to_end_of_line): If iterator's
7518 face_before_selective_p is set, use the face from saved_face_id.
7519 (extend_face_to_end_of_line): For tty frames, make sure to
7520 use the right face id when producing spaces at the end of
7521 the line.
7522
7523 * dispextern.h (struct it): Add face_before_selective_p.
7524
7525 * keyboard.c (record_char): Don't record identical help-echo
7526 events in recent_keys.
7527
7528 * xterm.c [USE_X_TOOLKIT]: Close the display.
7529 (xim_close_dpy): Handle case that the display has been closed.
7530
7531 * xterm.c (x_destroy_window): Reset the frame's X window after
7532 destroying it.
7533
7534 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7535 variable window_width.
7536 (line_draw_cost): Fix code skipping over spaces at the end of the
7537 line when must_write_spaces is not set.
7538 (scrolling_window): Fix code inserting runs in list of all runs.
7539
7540 2000-12-05 Kenichi Handa <handa@etl.go.jp>
7541
7542 * coding.c (setup_coding_system): Be sure to initialize
7543 coding->category_idx.
7544
7545 2000-12-04 Gerd Moellmann <gerd@gnu.org>
7546
7547 * xterm.c (PER_CHAR_METRIC): Removed because not used.
7548
7549 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7550 area to x_draw_glyphs instead of a window-relative coordinate.
7551
7552 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7553 error in the message.
7554
7555 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7556 timer after having read a key. It's not good for code reading
7557 several keys in a loop, like an input method.
7558
7559 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7560 record undo information for format-decode.
7561
7562 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7563 current buffer is read-only, not if it isn't.
7564
7565 * keyboard.c (record_char): Record `help-echo' input events
7566 in recent_keys only if they display some help. Don't record
7567 `help-echo' events as macro char.
7568
7569 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7570
7571 * editfns.c (save_excursion_restore): Don't move point
7572 in another window if it is showing the wrong buffer.
7573 Avoid the call to Fwindow_live_p, for speed.
7574
7575 2000-12-04 Kenichi Handa <handa@etl.go.jp>
7576
7577 * xfaces.c (struct font_name): New member registry_priority.
7578 (split_font_name): Initialize the above member to zero.
7579 (concat_font_list): New function.
7580 (font_list): Include fonts of all alternative registries.
7581 (FONT_POINT_SIZE_QUANTUM): New macro.
7582 (better_font_p): Ignore point size difference less than
7583 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7584
7585 * xterm.c (x_produce_glyphs): If a font for a component of
7586 a composition is not found, use 1 pixel dot ascent and 0 dot
7587 descent value to avoid displaying terribly tall empty boxes.
7588
7589 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7590
7591 2000-12-03 Ken Raeburn <raeburn@gnu.org>
7592
7593 * coding.h (code_convert_string1): Declare.
7594
7595 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7596
7597 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
7598
7599 2000-12-02 Jason Rumney <jasonr@gnu.org>
7600
7601 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7602 correctly for single byte character case.
7603 (w32_per_char_metric): Do not try to make any assumptions about
7604 the metrics of BDF fonts.
7605 (x_estimate_mode_line_height): If `mode-line' face
7606 hasn't a font, use that of the frame, as drawing glyphs does.
7607 (note_mouse_highlight): Change the cursor shape on the vertical
7608 border between windows [not enabled].
7609
7610 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7611
7612 * w32fns.c (Fx_create_frame): Reintroduce the call to
7613 face-set-after-frame-defaults.
7614 (Vx_window_horizontal_drag_shape): New variable.
7615 (syms_of_xfns): DEFVAR_LISP it.
7616 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7617 enabled].
7618
7619 2000-12-02 Simon Josefsson <simon@josefsson.org>
7620
7621 * fns.c (Fmd5): Use a different logic to decide the coding system
7622 to use.
7623
7624 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7625
7626 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7627
7628 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
7629
7630 2000-12-01 Gerd Moellmann <gerd@gnu.org>
7631
7632 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7633 height for YNegative.
7634 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7635 height; also see comment there.
7636
7637 * window.c (coordinates_in_window): Handle computations for
7638 positions on the vertical bar and fringes differently for
7639 window-system frames. Consider some pixels near the vertical bar
7640 as on the bar if the frame doesn't have vertical scroll bars.
7641 Associate positions between mode or header lines with the
7642 right window, the left one.
7643
7644 2000-12-01 Jason Rumney <jasonr@gnu.org>
7645
7646 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7647
7648 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7649 invalid frame.
7650
7651 2000-12-01 Gerd Moellmann <gerd@gnu.org>
7652
7653 * window.c (struct saved_window): Add members orig_top and orig_height.
7654 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7655 (save_window_save, Fset_window_configuration): Save/restore
7656 window's orig_top and orig_height.
7657
7658 2000-12-01 Jason Rumney <jasonr@gnu.org>
7659
7660 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
7661
7662 * w32fns.c (x_set_cursor_color): Fix last change.
7663
7664 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7665
7666 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7667 sure that the next redisplay displays the minibuffer, so that
7668 the cursor will be replaced with what the minibuffer wants.
7669
7670 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7671 #ifndef instead of using #if.
7672 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7673 USE_TOOLKIT_SCROLL_BARS is defined.
7674
7675 2000-11-30 Jason Rumney <jasonr@gnu.org>
7676
7677 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7678 x_display_cursor.
7679
7680 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7681
7682 * fns.c (Fmd5): Doc fix.
7683
7684 2000-11-30 Simon Josefsson <simon@josefsson.org>
7685
7686 * fns.c (Fmd5): New function.
7687 (syms_of_fns): Defsubr md5.
7688
7689 * Makefile.in (obj): Add md5.o
7690
7691 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7692
7693 * md5.h, md5.c: New files, taken from glibc.
7694
7695 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7696
7697 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
7698 hasn't a font, use that of the frame, as drawing glyphs does.
7699
7700 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7701
7702 * eval.c (Frun_hooks): Allow 0 arguments.
7703
7704 2000-11-29 Gerd Moellmann <gerd@gnu.org>
7705
7706 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7707 is over the menu bar widget, say it's not on the frame.
7708
7709 * xfns.c (Fx_create_frame): Reintroduce the call to
7710 face-set-after-frame-defaults.
7711
7712 * eval.c (Fsignal): Reset handling_signal.
7713
7714 2000-11-28 Jason Rumney <jasonr@gnu.org>
7715
7716 * w32menu.c (add_menu_item): Reset menu item text when changing
7717 type to radio button.
7718
7719 2000-11-28 Gerd Moellmann <gerd@gnu.org>
7720
7721 * xselect.c: Update copyright.
7722
7723 * window.c (coordinates_in_window): If on a mode or header line,
7724 but sufficiently close to its start, return ``on vertical
7725 border''. This gives us a way to drag windows horizontally when
7726 using toolkit scroll bars.
7727
7728 * xterm.c (note_mouse_highlight): Change the cursor shape
7729 on the vertical border between windows.
7730
7731 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7732
7733 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7734 (syms_of_xfns): DEFVAR_LISP it.
7735 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7736
7737 * textprop.c (text_read_only): New function.
7738 (verify_interval_modification): Use it instead of signaling
7739 `text-read-only'. This makes it easier to catch this error
7740 with a breakpoint.:
7741
7742 * xdisp.c (forward_to_next_line_start): Check for newlines,
7743 not end of line, which includes CR.
7744
7745 2000-11-28 Kenichi Handa <handa@etl.go.jp>
7746
7747 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7748 include no-conversion.
7749
7750 2000-11-27 Jason Rumney <jasonr@gnu.org>
7751
7752 * w32fns.c (w32_load_system_font): Always mark font as double byte
7753 if codepage is unicode.
7754
7755 2000-11-27 Gerd Moellmann <gerd@gnu.org>
7756
7757 * xdisp.c (forward_to_next_line_start): If already on a newline,
7758 just consume it to avoid unintended skipping over invisible text below.
7759
7760 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7761 `vertical-line', `mode-line' and `header-line' events.
7762
7763 * xdisp.c (try_window_id): Avoid starting to display in the middle
7764 of a character, a TAB for instance. This is easier than to set
7765 up the iterator exactly, and it's not a frequent case, so the
7766 additional effort wouldn't really pay off.
7767
7768 2000-11-26 Andrew Choi <akochoi@i-cable.com>
7769
7770 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
7771 init_window_once.
7772
7773 2000-11-25 Jason Rumney <jasonr@gnu.org>
7774
7775 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7776 Args to window_from_coordinates should be pixel coordinates.
7777
7778 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7779 redisplay handles them properly.
7780
7781 2000-11-25 Miles Bader <miles@gnu.org>
7782
7783 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7784
7785 2000-11-24 Jason Rumney <jasonr@gnu.org>
7786
7787 * w32.c (init_environment): Set LANG environment variable based on
7788 locale settings, if not set.
7789
7790 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7791 making tool bar smaller. When clearing the frame, also
7792 clear current matrices. Clear frame when tool bar disappears.
7793 Don't use more lines for the tool-bar than is available.
7794 (x_change_window_heights): New function.
7795
7796 2000-11-24 Gerd Moellmann <gerd@gnu.org>
7797
7798 * xdisp.c (init_from_display_pos): If POS says we're already after
7799 an overlay string ending at POS, make sure to pop the iterator
7800 because it will be in front of that overlay string. When POS is
7801 ZV, we've thereby also ``processed'' overlay strings at ZV.
7802
7803 * xfaces.c (lface_from_face_name): Function comment fix.
7804
7805 2000-11-24 Miles Bader <miles@gnu.org>
7806
7807 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7808 apply `mode-line-inverse-video' -- zero means force display using
7809 the default face, non-zero means display using the specialized face.
7810 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7811
7812 2000-11-23 Kenichi Handa <handa@etl.go.jp>
7813
7814 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7815 hard coded `4'.
7816
7817 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7818
7819 * coding.c (decode_coding_emacs_mule): Fix the case of
7820 CODING_EOL_LF, which used uninitialized value of c.
7821
7822 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7823
7824 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7825
7826 2000-11-22 Gerd Moellmann <gerd@gnu.org>
7827
7828 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7829 buffer object.
7830
7831 * frame.h (struct frame): Replace desired_tool_bar_items,
7832 current_tool_bar_items, n_desired_tool_bar_items,
7833 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
7834
7835 * frame.c (make_frame): Change initialization of tool bar
7836 items accordingly.
7837
7838 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
7839 Change references to members deleted from struct frame to use the
7840 new ones.
7841
7842 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
7843 references to members deleted from struct frame to use the new ones.
7844
7845 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
7846
7847 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7848
7849 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
7850 (note_tool_bar_highlight): Change references to members deleted
7851 from struct frame to use the new ones.
7852
7853 2000-11-23 Miles Bader <miles@gnu.org>
7854
7855 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7856 the face's inverse-video attribute, rather than overriding it.
7857
7858 2000-11-22 Gerd Moellmann <gerd@gnu.org>
7859
7860 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7861 making tool bar smaller.
7862
7863 2000-11-22 Dave Love <fx@gnu.org>
7864
7865 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7866
7867 2000-11-22 Miles Bader <miles@gnu.org>
7868
7869 * keyboard.c (Vminibuffer_message_timeout): New variable.
7870 (command_loop_1): Use it to determine message timeout.
7871 (syms_of_keyboard): Initialize it.
7872
7873 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
7874
7875 2000-11-22 Kenichi Handa <handa@etl.go.jp>
7876
7877 * sysdep.c: Move the code for declaring h_errno after #include
7878 <netdb.h>.
7879
7880 2000-11-21 Gerd Moellmann <gerd@gnu.org>
7881
7882 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7883 the menu bar when the tooltip is unmapped.
7884
7885 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7886 sole visible buffer when we're currently in the mini-buffer, and
7887 give up if so.
7888
7889 2000-11-21 Jason Rumney <jasonr@gnu.org>
7890
7891 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7892 put on the clipboard.
7893 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7894 copy of what Emacs last put there. If they are the same, do not
7895 use the clipboard copy to avoid losing data due to coding conversions.
7896
7897 2000-11-22 Miles Bader <miles@gnu.org>
7898
7899 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7900 (syms_of_minibuf): Initialize it.
7901 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7902 to prompt, don't make read-only.
7903
7904 2000-11-21 Gerd Moellmann <gerd@gnu.org>
7905
7906 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7907 Add BEFORE/AFTER_POTENTIAL_GC.
7908
7909 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7910
7911 * buffer.c (mmap_free_1): Avoid a compiler warning.
7912
7913 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7914
7915 2000-11-21 Kenichi Handa <handa@etl.go.jp>
7916
7917 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7918 ... #endif scope.
7919
7920 2000-11-20 Gerd Moellmann <gerd@gnu.org>
7921
7922 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
7923 screen supports it.
7924
7925 * s/gnu-linux.h: Don't use `#cpu'.
7926
7927 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7928 not defined in mman.h.
7929
7930 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
7931 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7932 and store an index in the XClientMessageEvent. Storing a
7933 Lisp_Object or pointer can fail on a 64 bit system, since X only
7934 transfers 32 bits.
7935 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7936
7937 2000-11-20 Dave Love <fx@gnu.org>
7938
7939 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7940
7941 2000-11-20 Gerd Moellmann <gerd@gnu.org>
7942
7943 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7944
7945 2000-11-20 Kenichi Handa <handa@etl.go.jp>
7946
7947 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7948 by WIDTH.
7949
7950 * alloc.c (make_string): Fix previous change. Be sure to make
7951 unibyte string correctly.
7952
7953 2000-11-19 Gerd Moellmann <gerd@gnu.org>
7954
7955 * window.c (Fwindow_list): Change parameter list to be XEmacs
7956 compatible.
7957 (window_list_1): New function.
7958 (window_loop): Use it instead of Fwindow_list.
7959
7960 * sysdep.c (emacs_ospeed): New variable.
7961 (toplevel): Don't declare ospeed extern.
7962 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7963
7964 * termcap.c (ospeed): Remove.
7965 (tputs) [!emacs]: Remove unused code.
7966 (tgetent): Avoid a compiler warning.
7967
7968 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7969 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
7970 SCROLL_BAR_X_WIDGET with additional argument DPY.
7971
7972 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7973 removed.
7974 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7975 Take the X display as additional argument.
7976 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7977 `Widget' is a pointer type that's not easily stored in Lisp_Object
7978 form in a portable way.
7979
7980 * dispnew.c (update_text_area): Fix last change.
7981
7982 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7983
7984 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7985
7986 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7987 clear current matrices.
7988
7989 * buffer.c (mmap_enlarge): Don't print a message on stderr
7990 if mapping new memory at the end of the existing region fails.
7991
7992 * dispnew.c (update_text_area): Don't skip over equal glyphs
7993 when the last current glyph overlaps the glyph to its right.
7994
7995 2000-11-18 Miles Bader <miles@gnu.org>
7996
7997 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7998 lines that *end* with "..." too (that's the most common case!).
7999
8000 2000-11-18 Gerd Moellmann <gerd@gnu.org>
8001
8002 * xdisp.c (resize_mini_window): Temporarily change to the
8003 mini-window's buffer if necessary.
8004
8005 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
8006 the tooltip obscures less text under it.
8007
8008 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8009
8010 * puresize.h (BASE_PURESIZE): Increase to 700000.
8011
8012 2000-11-18 Jason Rumney <jasonr@gnu.org>
8013
8014 * w32term.c (w32_draw_bitmap): Use face to set colors.
8015
8016 2000-11-17 Dave Love <fx@gnu.org>
8017
8018 * lread.c (Fload): Fix #ifdef for pcc.
8019
8020 2000-11-17 Gerd Moellmann <gerd@gnu.org>
8021
8022 * xdisp.c (pos_visible_p): Compute the default character height
8023 differently.
8024
8025 2000-11-16 Gerd Moellmann <gerd@gnu.org>
8026
8027 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
8028 knowing the line's height; use the default font's height in that case.
8029
8030 * xfaces.c (weight_table): Add `demi' with the same meaning as
8031 `demibold'.
8032
8033 2000-11-16 Kenichi Handa <handa@etl.go.jp>
8034
8035 * dispnew.c (null_row): New global static variable.
8036 (clear_glyph_row): Delete local static variable null_row.
8037
8038 2000-11-15 Jason Rumney <jasonr@gnu.org>
8039
8040 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
8041 (w32_alloc_lighter_color): Use new brightness calculations from
8042 xterm.c. Scale delta to be in the range expected by W32.
8043 (w32_draw_relief_rect): Use frame relief colors.
8044
8045 2000-11-15 Gerd Moellmann <gerd@gnu.org>
8046
8047 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
8048 (Qinhibit_default_face_x_resources): New variable.
8049 (syms_of_frame): Initialize it.
8050 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
8051
8052 * xdisp.c (pos_visible_p): Improve function comment.
8053
8054 * lisp.h (BINDING_STACK_SIZE): New macro.
8055
8056 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
8057 reading the directory if readdir returns null and errno is EAGAIN
8058 or EINTR.
8059
8060 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
8061
8062 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
8063 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
8064 Set amount_to_scroll to max of dx and scroll_step so that
8065 scroll-conservatively doesn't defeat scroll-step>1.
8066 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
8067 scroll-conservatively for line-at-a-time scrolling.
8068
8069 2000-11-14 Gerd Moellmann <gerd@gnu.org>
8070
8071 * window.c (Fpos_visible_in_window_p): Call pos_visible with
8072 extra argument.
8073
8074 * xdisp.c (current_mode_line_height, current_header_line_height):
8075 New variables.
8076 (init_xdisp): Initialize them.
8077 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
8078 and use exact mode line heights if it is set.
8079
8080 * lisp.h (pos_visible_p): Change prototype.
8081
8082 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
8083 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
8084 and current_header_line_height first.
8085 (current_mode_line_height, current_header_line_height):
8086 Declare extern.
8087
8088 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
8089
8090 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
8091 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
8092 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
8093
8094 2000-11-14 Miles Bader <miles@gnu.org>
8095
8096 * xterm.c (x_alloc_lighter_color): Include an additive component
8097 too for dark colors, because FACTOR isn't enough.
8098 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
8099 New macros.
8100
8101 2000-11-13 Gerd Moellmann <gerd@gnu.org>
8102
8103 * keyboard.c (show_help_echo): Call message3_nolog with number of
8104 bytes in the help string as 2nd parameter, instead of the number
8105 of characters.
8106
8107 2000-11-13 Miles Bader <miles@gnu.org>
8108
8109 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
8110 (Fload): Use new openp return protocol.
8111 Don't try to use Vload_source_file_function to load .elc files.
8112 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
8113 openp return protocol.
8114 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
8115
8116 2000-11-11 Kenichi Handa <handa@etl.go.jp>
8117
8118 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
8119
8120 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
8121 Defined these macros.
8122 (NLIST_STRUCT): Avoid re-defining it.
8123
8124 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
8125 -I/usr/contrib/X11R6/include.
8126 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
8127
8128 2000-11-10 Jason Rumney <jasonr@gnu.org>
8129
8130 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
8131
8132 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
8133 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
8134
8135 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
8136 (Qw32_charset_vietnamese): New symbol.
8137 (xlfd_charset_of_font): New function.
8138 (w32_load_system_font): Use it.
8139 (x_to_w32_charset): Use Fassoc to find charset info. Special case
8140 when Vw32_charset_info_alist is nil to ensure default face always
8141 has font. Use Fcar and Fcdr for safety.
8142 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
8143 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
8144 pseudo-codepages for special cases.
8145 (w32_to_x_font): New parameter to allow charset portion to be
8146 specified where there is many to one mapping. Callers changed.
8147 (w32_list_fonts): Avoid listing fonts that won't display.
8148
8149 2000-11-10 Gerd Moellmann <gerd@gnu.org>
8150
8151 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
8152 (font_list_1): Renamed from font_list.
8153 (font_list): New function, trying alternative registries from
8154 Vface_alternative_font_registry_alist.
8155 (Finternal_set_alternative_font_registry_alist): New function.
8156 (syms_of_xfaces): Initialize and Staticpro
8157 Vface_alternative_font_registry_alist.
8158 Defsubr Finternal_set_alternative_font_registry_alist.
8159
8160 2000-11-09 Ken Raeburn <raeburn@gnu.org>
8161
8162 * lisp.h (Flooking_at): Declare.
8163
8164 2000-11-09 Gerd Moellmann <gerd@gnu.org>
8165
8166 * dired.c (directory_files_internal): Fix a braino.
8167
8168 * dired.c (directory_files_internal): Add missing GCPRO's.
8169 Some cleanup.
8170
8171 2000-11-08 Gerd Moellmann <gerd@gnu.org>
8172
8173 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
8174 (resize_mini_window): Return quickly if Vresize_mini_window is
8175 nil. Don't return if Vmax_mini_window_height is nil.
8176
8177 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
8178 (syms_of_xdisp): Initialize them.
8179 (resize_mini_window): Act according to the setting of
8180 Vresize_mini_window.
8181 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
8182
8183 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
8184 scroll bar widget after configuring it, so that it will appear at
8185 the right position from the start.
8186 (XTredeem_scroll_bar): Cleaned up.
8187
8188 2000-11-08 Kenichi Handa <handa@etl.go.jp>
8189
8190 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
8191 font is taller than the frame line, we don't have to bias the
8192 division by two.
8193
8194 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
8195
8196 2000-11-07 Dave Love <fx@gnu.org>
8197
8198 * config.in (HAVE_MKSTEMP): Add.
8199
8200 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
8201
8202 2000-11-07 Gerd Moellmann <gerd@gnu.org>
8203
8204 * window.c (Fset_window_configuration): Don't try to preserve
8205 point in the current buffer, if that buffer is displayed in more
8206 than one window.
8207
8208 * xfaces.c (lookup_named_face): If default face isn't realized,
8209 try to realize it. Return -1 if not successful.
8210 (Fx_list_fonts): Handle case that face cannot be determined.
8211 (Fface_font): Likewise.
8212
8213 2000-11-06 Gerd Moellmann <gerd@gnu.org>
8214
8215 * window.c (displayed_window_lines): Detect partially
8216 visible lines at the bottom correctly.
8217
8218 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
8219
8220 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
8221 when ensuring we don't do visit in indirect buffer.
8222
8223 2000-11-06 Kenichi Handa <handa@etl.go.jp>
8224
8225 * composite.h (compose_chars_in_text): Add prototype.
8226
8227 * composite.c (Vcomposition_function_table): New variable.
8228 (Qcomposition_function_table): New variable.
8229 (run_composition_function): Call
8230 Vcompose_chars_after_function with three arguments.
8231 (compose_chars_in_text): New function.
8232 (syms_of_composite): Modified the doc-string of
8233 Vcompose_chars_after_function. Declare composition-function-table
8234 as a lisp variable, and initialize it.
8235
8236 * xfns.c (x_encode_text): Suppress producing escape sequences for
8237 composition.
8238
8239 * xselect.c: Include composite.h.
8240 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
8241
8242 2000-11-05 Andrew Innes <andrewi@gnu.org>
8243
8244 * w32term.c (x_produce_glyphs): Fix typo in enum name.
8245
8246 * sysdep.c (read_input_waiting): Remove extraneous argument to
8247 read_socket_hook.
8248
8249 * w32fns.c (Fx_server_version): Include w32_build_number in the
8250 return list.
8251
8252 * w32heap.c (w32_build_number): New variable.
8253 (cache_system_info): Set it.
8254
8255 * w32heap.h (w32_build_number): Add extern.
8256
8257 * emacs.c (syms_of_emacs): Update docstring for
8258 system-configuration, to reflect the actual usage on MS-Windows.
8259
8260 2000-10-31 Gerd Moellmann <gerd@gnu.org>
8261
8262 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
8263 process idle timers while waiting for another event.
8264
8265 * dispnew.c (update_frame_line): Handle case where spaces in
8266 the default face are colored.
8267
8268 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
8269 window height hasn't changed.
8270
8271 2000-10-31 Jason Rumney <jasonr@gnu.org>
8272
8273 * w32term.c (x_produce_glyphs): Handle composite characters.
8274 (x_draw_glyph_string_foreground)
8275 (x_draw_composite_glyph_string_foreground): Restore old font.
8276
8277 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
8278
8279 * minibuf.c (read_minibuf): Reset the undo history just before
8280 starting the recursive-edit.
8281
8282 2000-10-30 Gerd Moellmann <gerd@gnu.org>
8283
8284 * xfaces.c (menu_face_change_count): New variable.
8285 (Finternal_set_lisp_face_attribute): Increment it for changes
8286 of the `menu' face.
8287 (realize_basic_faces): Reflect changes in the `menu' faces
8288 in menu bars.
8289
8290 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
8291 dy obtained from the iterator's y-position after moving from
8292 scroll_margin_pos to PT; see comment there.
8293
8294 * xdisp.c (safe_eval_handler): Call add_to_log.
8295
8296 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
8297 is not a symbol or string.
8298
8299 * xdisp.c (echo_area_display): Don't perform a display update from
8300 inside redisplay. The update will happen anyway at the end of
8301 redisplay, and it can confuse redisplay (GC messages while
8302 redisplaying, for instance.)
8303
8304 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
8305
8306 * xrdb.c (x_load_resources): Use the class name in the defaults.
8307
8308 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
8309 (regex_compile): Catch bogus \(\1\).
8310
8311 2000-10-30 Gerd Moellmann <gerd@gnu.org>
8312
8313 * xterm.c (x_alloc_nearest_color): Fix last change to compare
8314 RGB values.
8315
8316 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
8317 we have a color cache, check that the cached color equals the
8318 allocated color. If not, clear the color cache.
8319
8320 * window.c (displayed_window_lines): Change buffers if necessary.
8321 Fix computation of displayed lines.
8322
8323 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
8324 update_menu_bindings to DEFVAR_BOOL.
8325
8326 2000-10-30 Kenichi Handa <handa@etl.go.jp>
8327
8328 * search.c (Fset_match_data): Be sure to make search_regs always sane.
8329
8330 * puresize.h (BASE_PURESIZE): Increase to 680000.
8331
8332 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
8333
8334 2000-10-29 Jason Rumney <jasonr@gnu.org>
8335
8336 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
8337
8338 * w32term.c (w32_bdf_per_char_metric): Negate descent.
8339 (w32_cache_char_metrics): Handle possibility that 'x' does not
8340 exist in a BDF font.
8341 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
8342
8343 * w32bdf.h (bdffont): Add nchars.
8344
8345 * w32bdf.c (set_bdf_font_info): Set it.
8346 (w32_BDF_TextOut): Swap byte order of double byte characters.
8347 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
8348
8349 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
8350
8351 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
8352 don't override the colors in frame's param_alist, unless they are
8353 unspecified.
8354
8355 * term.c (reassert_line_highlight): If inverse_video is non-zero,
8356 reverse the effect of the highlight flag.
8357
8358 2000-10-27 Ken Raeburn <raeburn@gnu.org>
8359
8360 * window.h (Fwindow_live_p): Declare.
8361
8362 * undo.c (record_delete): Check that last_undo_buffer is really a
8363 buffer before applying XBUFFER to it.
8364
8365 * keymap.c (where_is_internal): Pass lisp object, not integer, to
8366 Faref.
8367
8368 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8369
8370 * lisp.h (KEYMAPP): New macro.
8371 (get_keymap): Remove.
8372 (get_keymap_1): Rename get_keymap.
8373
8374 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
8375
8376 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
8377
8378 * xmenu.c (single_submenu): Use KEYMAPP.
8379 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8380 Use KEYMAPP rather than Fkeymapp.
8381
8382 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
8383
8384 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
8385 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
8386 Use KEYMAPP rather than Fkeymapp.
8387 (single_submenu): Use KEYMAPP.
8388 (w32_menu_show, w32_dialog_show): Use TRUE.
8389
8390 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
8391
8392 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
8393 (Fkeymapp): Use KEYMAPP.
8394 (get_keymap): Rename from get_keymap_1. Remove old def.
8395 Return t when autoload=0 and error=0 and the keymap needs autoloading.
8396 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
8397 (Fminor_mode_key_binding): Don't raise an error if the binding
8398 is not a keymap.
8399 (Fuse_global_map, Fuse_local_map): Allow autoloading.
8400 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
8401
8402 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
8403 Allow Vspecial_event_map to be autoloaded.
8404 (menu_bar_items): Fetch the keymap rather than using keymapp.
8405 (menu_bar_one_keymap): No need to follow func-indirect any more.
8406 (parse_menu_item): get_keymap_1 -> get_keymap.
8407 (tool_bar_items): Fetch the keymap rather than using keymapp.
8408 (read_key_sequence): Use KEYMAPP.
8409
8410 * intervals.c (get_local_map): Use get_keymap rather than following
8411 function-indirections explicitly.
8412
8413 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
8414
8415 2000-10-27 Jason Rumney <jasonr@gnu.org>
8416
8417 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
8418 point, as Windows has oversized fonts.
8419
8420 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
8421
8422 2000-10-27 Gerd Moellmann <gerd@gnu.org>
8423
8424 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
8425 (freehook, reallochook): Handle null pointer arguments.
8426 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
8427
8428 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
8429
8430 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
8431 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
8432 Giving in to popular pressure to shut up the compiler with casts.
8433
8434 2000-10-27 Gerd Moellmann <gerd@gnu.org>
8435
8436 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
8437 signed value, and use a default value computed from the font's
8438 maximum descent.
8439
8440 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
8441
8442 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
8443 that specify a negative underline position can still use underlines.
8444
8445 * window.c (Fpos_visible_in_window_p): Make POS default to
8446 WINDOW's point, not the current buffer's point.
8447
8448 2000-10-26 Dave Love <fx@gnu.org>
8449
8450 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
8451 when it's necessary.
8452
8453 2000-10-26 Gerd Moellmann <gerd@gnu.org>
8454
8455 * window.c (size_window): Compute size difference from sum of old
8456 child window sizes instead of from parent's size.
8457
8458 * xdisp.c (pos_visible_p): Change current buffer if necessary.
8459 Handle obscured lines at the top of the window.
8460
8461 * frame.c (Fdelete_frame): Doc fix. Move running the hook
8462 down after the last error condition check.
8463
8464 * frame.c (Fdelete_frame): Run delete-frame-hook.
8465
8466 2000-10-26 Kenichi Handa <handa@etl.go.jp>
8467
8468 * coding.c (decode_coding): Fix previous change (check also
8469 CODING_MODE_LAST_BLOCK).
8470
8471 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8472
8473 * regex.c: More `unsigned char' -> `re_char' changes.
8474 Also change several `int' into `re_wchar_t'.
8475 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
8476 (PUSH_FAILURE_POINTER): Don't cast any more.
8477 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
8478 We want GCC to complain, since this piece of code makes
8479 re_match non-reentrant, which *should* be fixed.
8480 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
8481 (EXTEND_BUFFER): Use RETALLOC.
8482 (SET_LIST_BIT): Don't cast.
8483 (re_wchar_t): New type.
8484 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
8485 that those two functions will always properly return.
8486 (IMMEDIATE_QUIT_CHECK): Cast to void.
8487 (analyse_first): Use recursion rather than an explicit stack.
8488 (re_compile_fastmap): Can't fail anymore.
8489 (re_search_2): Don't check re_compile_fastmap for failure.
8490 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
8491 Now also sets the new value (passed in a new argument).
8492 (re_match_2_internal): Use it.
8493 Also, use a new var `reg' of type size_t when looping through regs
8494 rather than reuse the inappropriate `mcnt'.
8495
8496 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
8497 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
8498 (where_is_internal): Renamed from Fwhere_is_internal.
8499 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
8500 (Fwhere_is_internal): New function wrapping where_is_internal.
8501 (where_is_internal_1): Handle the case where we're filling the cache.
8502 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
8503
8504 2000-10-25 Miles Bader <miles@gnu.org>
8505
8506 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
8507
8508 2000-10-25 Gerd Moellmann <gerd@gnu.org>
8509
8510 * window.c (pos_fully_visible_p): Removed.
8511 (Fpos_visible_in_window_p): Use pos_visible_p to determine
8512 if position is visible and/or fully visible.
8513
8514 * lisp.h (pos_visible_p): Add prototype.
8515
8516 * xdisp.c (pos_visible_p): New function.
8517
8518 2000-10-25 Kenichi Handa <handa@etl.go.jp>
8519
8520 * process.c (send_process): If OBJECT is t, it means that the data
8521 is from C string, but we should encode it. Before calling
8522 setup_raw_text_coding_system, be sure to flush out data by the
8523 previous coding system.
8524
8525 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8526
8527 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8528 assignment of startpos to prev when startpos == pos.
8529
8530 * editfns.c (find_field): Set the field stickiness correctly from
8531 overlay fields. Use renamed `text_property_stickiness'.
8532 (text_property_stickiness): Renamed from `char_property_stickiness'.
8533 Only check text properties, not overlays.
8534 * textprop.c (get_char_property_and_overlay): New function.
8535 (Fget_char_property): Use it.
8536 * intervals.h (get_char_property_and_overlay): Add declaration.
8537
8538 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8539
8540 * keymap.c: Use AREF, ASET and ASIZE macros.
8541 (Fmake_sparse_keymap): Docstring fix.
8542 (synkey): Remove.
8543 (shadow_lookup): Move up.
8544 Handle the case where lookup-key returns an integer.
8545 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8546 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8547 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8548 Simplify/rewrite the keymap-finding code.
8549 Add check for command shadowing, using shadow_lookup.
8550
8551 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8552
8553 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8554 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8555 a symbol.
8556
8557 2000-10-24 Andrew Innes <andrewi@gnu.org>
8558
8559 * dired.c (directory_files_internal_unwind): New function.
8560 (directory_files_internal): Use it to ensure closedir is called
8561 even if expand-file-name or file-attributes throw, eg. because of
8562 a user interrupt. Also enable immediate_quit while calling
8563 re_search, so that matching can be interrupted as well.
8564
8565 2000-10-24 Andrew Innes <andrewi@gnu.org>
8566
8567 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8568 NT-Emacs only.
8569 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8570 so that re_search functions only quit when callers expect them to.
8571
8572 2000-10-24 Kenichi Handa <handa@etl.go.jp>
8573
8574 * regex.c (regex_compile): Change the way of handling a range from
8575 a char less than 256 to a char not less than 256.
8576
8577 2000-10-24 Gerd Moellmann <gerd@gnu.org>
8578
8579 * window.c (size_window): Prevent setting window's width or
8580 height to a negative value (esp. with XSETFASTINT).
8581
8582 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8583 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8584 (protect_malloc_state) [GC_MALLOC_CHECK &&
8585 GC_PROTECT_MALLOC_STATE]: New function.
8586 (PROTECT_MALLOC_STATE): New macro.
8587 (__malloc_initialize, morecore, _malloc_internal)
8588 (_free_internal) _realloc_internal): Use it to make _heapinfo
8589 read-only outside of gmalloc.
8590
8591 * keymap.c: Update copyright.
8592
8593 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8594 a symbol.
8595
8596 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8597
8598 * filelock.c (unlock_all_files): Use unlock_file to expand each
8599 buffer's file_truename before trying remove its lock file.
8600
8601 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8602
8603 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8604 or CRLF, decode EOLs.
8605
8606 2000-10-24 Kenichi Handa <handa@etl.go.jp>
8607
8608 * window.c (Fdisplay_buffer): Fix doc.
8609
8610 2000-10-23 Jason Rumney <jasonr@gnu.org>
8611
8612 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8613 ASCII font of default fontset on Windows.
8614
8615 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8616 xterm.c comment below).
8617
8618 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8619
8620 2000-10-23 Gerd Moellmann <gerd@gnu.org>
8621
8622 * xterm.c (x_connection_closed): Reset handling_signal.
8623
8624 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
8625
8626 2000-10-23 Miles Bader <miles@gnu.org>
8627
8628 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8629 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8630 maintain old behavior.
8631 * minibuf.c (Fminibuffer_complete): Likewise.
8632
8633 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8634
8635 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8636 that when a font can't be exactly centered, it errs up rather than
8637 down.
8638
8639 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8640
8641 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8642
8643 2000-10-23 Andrew Choi <akochoi@i-cable.com>
8644
8645 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8646
8647 * dispnew.c [macintosh]: Include macterm.h.
8648 (init_display) [macintosh]: Initialization for window system.
8649
8650 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8651 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8652 syms_of_search, x_term_init, and init_keyboard before calling
8653 init_window_once. Also, call syms_of_xmenu.
8654
8655 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8656 default fontset to Monaco.
8657
8658 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8659 NewMacWindow and DisposeMacWindow.
8660 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8661 instead of calling NewMacWindow and setting fields of
8662 f->output_data.mac directly. Call init_frame_faces.
8663 (Fdelete_frame) [macintosh]: Remove unused code.
8664 (Fmodify_frame_parameters) [macintosh]: Call
8665 x_set_frame_parameters instead of mac_set_frame_parameters.
8666
8667 * frame.h [macintosh]: Define menu_bar_lines field in struct
8668 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8669
8670 * keyboard.c [macintosh]: Include macterm.h.
8671 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8672 and menu_bar_activate_event type events as for X and NT.
8673 (make_lispy_event) [macintosh]: Construct lisp events of type
8674 MENU_BAR_EVENT as for X and NT.
8675
8676 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8677 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8678 (sys_subshell) [macintosh]: Remove definition entirely.
8679 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8680 Vwindow_system_version here. Remove initialization of
8681 Vx_bitmap_file_path.
8682 (read_input_waiting): Correct the number of parameters passed to
8683 read_socket_hook.
8684 Move all Macintosh functions to mac/mac.c.
8685
8686 * term.c [macintosh]: Include macterm.h.
8687
8688 * window.c [macintosh]: Include macterm.h.
8689
8690 * xdisp.c [macintosh]: Include macterm.h. Declare
8691 set_frame_menubar and pending_menu_activation.
8692 (echo_area_display) [macintosh]: Do not return if terminal frame
8693 is the selected frame.
8694 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8695 Allow only the selected frame to set menu bar.
8696 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8697 calling FRAME_EXTERNAL_MENU_BAR (f).
8698 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8699
8700 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8701 and check_x. Declare XCreateGC. Define x_create_gc and
8702 x_free_gc. Initialize font_sort_order.
8703 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8704 but call x_list_fonts instead of w32_list_fonts.
8705 (Finternal_face_x_get_resource) [macintosh]: Do not call
8706 display_x_get_resource.
8707 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8708 (realize_x_face) [macintosh]: Load the font if it is specified in
8709 ATTRS.
8710 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
8711
8712 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8713
8714 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8715 is nil: since we go to the end of submap anyway, we'd end up
8716 setting nil to nil.
8717 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8718 doesn't obey autoload.
8719
8720 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8721
8722 * msdos.c (dos_set_window_size): Update screen dimension variables.
8723
8724 2000-10-21 Jason Rumney <jasonr@gnu.org>
8725
8726 * w32term.c (w32_cache_char_metrics): Double check that font is
8727 really fixed pitch before trusting tmPitchAndFamily.
8728
8729 2000-10-21 Andrew Innes <andrewi@gnu.org>
8730
8731 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8732
8733 * w32term.h: Extern decl for w32_cache_char_metrics.
8734
8735 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8736
8737 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8738 (w32_unload_font): Free per_char array if present.
8739
8740 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8741 cached information in emulated XFontStruct to handle common cases
8742 quickly. Do not allocate XCharStruct for return.
8743 (w32_native_per_char_metric): New function.
8744 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8745 allocating one.
8746 (x_produce_glyphs): Don't get an HDC. Change calls to
8747 w32_per_char_metric to match arg change above. Remove calls to
8748 free results.
8749 (w32_get_glyph_overhangs): Ditto.
8750 (w32_cache_char_metrics): New function.
8751
8752 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8753 ($(BLD)/casefiddle.$(O)): Remove compile command.
8754 ($(BLD)/gmalloc.$(O)): Remove compile command.
8755 ($(BLD)/dispnew.obj):
8756 ($(BLD)/keyboard.obj):
8757 ($(BLD)/w32inevt.obj):
8758 ($(BLD)/w32bdf.obj):
8759 ($(BLD)/alloc.obj):
8760 ($(BLD)/buffer.obj):
8761 ($(BLD)/editfns.obj):
8762 ($(BLD)/emacs.obj):
8763 ($(BLD)/fileio.obj):
8764 ($(BLD)/fns.obj):
8765 ($(BLD)/indent.obj):
8766 ($(BLD)/insdel.obj):
8767 ($(BLD)/intervals.obj):
8768 ($(BLD)/minibuf.obj):
8769 ($(BLD)/print.obj):
8770 ($(BLD)/scroll.obj):
8771 ($(BLD)/sysdep.obj):
8772 ($(BLD)/textprop.obj):
8773 ($(BLD)/widget.obj):
8774 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8775 ($(BLD)/term.obj): Add dependency on dispextern.h.
8776
8777 * makefile.nt ($(BLD)\dispnew.obj):
8778 ($(BLD)\keyboard.obj):
8779 ($(BLD)\w32inevt.obj):
8780 ($(BLD)\w32bdf.obj):
8781 ($(BLD)\alloc.obj):
8782 ($(BLD)\buffer.obj):
8783 ($(BLD)\editfns.obj):
8784 ($(BLD)\emacs.obj):
8785 ($(BLD)\fileio.obj):
8786 ($(BLD)\fns.obj):
8787 ($(BLD)\indent.obj):
8788 ($(BLD)\insdel.obj):
8789 ($(BLD)\intervals.obj):
8790 ($(BLD)\minibuf.obj):
8791 ($(BLD)\print.obj):
8792 ($(BLD)\scroll.obj):
8793 ($(BLD)\sysdep.obj):
8794 ($(BLD)\textprop.obj):
8795 ($(BLD)\widget.obj):
8796 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8797 ($(BLD)\term.obj): Add dependency on dispextern.h
8798
8799 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8800
8801 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8802 with an additional argument of Qt.
8803
8804 2000-10-21 Miles Bader <miles@gnu.org>
8805
8806 * window.c (pos_fully_visible_in_window_p): New function.
8807 (Fpos_visible_in_window_p): Add FULLY argument.
8808 Use pos_fully_visible_in_window_p.
8809 (window_scroll_pixel_based, window_scroll_line_based): Update
8810 calls to Fpos_visible_in_window_p.
8811 * lisp.h (Fpos_visible_in_window_p): Update prototype
8812
8813 2000-10-20 Gerd Moellmann <gerd@gnu.org>
8814
8815 * alloc.c (toplevel): Conditionalize compilation of mem_*
8816 functions differently.
8817
8818 2000-10-20 Jason Rumney <jasonr@gnu.org>
8819
8820 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8821 mem_init where it used to be. mem_z etc not defined otherwise.
8822
8823 2000-10-20 Gerd Moellmann <gerd@gnu.org>
8824
8825 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8826 GC_MALLOC_CHECK.
8827 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8828 structure definition and related variabled to the top of the file.
8829 Include this code when GC_MALLOC_CHECK is defined.
8830 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8831 register/unregister allocated region.
8832 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8833 which isn't allocated.
8834 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8835 something which is already in use.
8836 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8837 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8838 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8839 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8840
8841 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8842 _malloc_internal instead of malloc.
8843 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8844 of free.
8845
8846 2000-10-20 Andrew Innes <andrewi@gnu.org>
8847
8848 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8849 Windows.
8850 (my_strftime) <macro>: Don't use macro arg list when redefining as
8851 _strftime_copytm.
8852 (my_strftime) <function>: Supply 0 as ut argument.
8853
8854 2000-10-19 Jason Rumney <jasonr@altavista.net>
8855
8856 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8857 including dispextern.h, as it stops faces from working.
8858
8859 * w32fns.c (Fx_create_frame): Don't bother calling
8860 face-set-after-frame-default since the caller does it for us
8861 anyway. Clean up calls to x_get_arg to be consistent with X.
8862
8863 * w32term.c (x_produce_glyphs): Handle
8864 unibyte_display_via_language_environment correctly.
8865 (w32_draw_box_rect): Fix the calculation of width and height.
8866
8867 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8868 as it has stopped working.
8869 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8870 menu-bar.
8871
8872 2000-10-19 Gerd Moellmann <gerd@gnu.org>
8873
8874 * eval.c (skip_debugger): Prevent a compiler warning.
8875 (Fcondition_case): Likewise.
8876 (Fbacktrace_frame): Use a null interactive spec.
8877
8878 2000-10-19 Kenichi Handa <handa@etl.go.jp>
8879
8880 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8881
8882 2000-10-18 Gerd Moellmann <gerd@gnu.org>
8883
8884 * strftime.c: Sync with glibc, file version 1.78.
8885 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8886 should no longer be used according to ISO 8601.
8887
8888 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8889 no map for meta_prefix_char, don't try to use it as a keymap.
8890 Instead, if T_OK is non-zero, look up a default binding, if any,
8891 otherwise, if T_OK is zero, return nil.
8892
8893 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8894 (x_to_xcolors, png_load): Use x_query_color.
8895
8896 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8897 New functions.
8898 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8899 which can be slow.
8900 (x_copy_color, x_alloc_lighter_color): Likewise.
8901
8902 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8903 (x_query_color, x_query_colors): Add prototype.
8904
8905 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8906 check_string_bytes only if not noninteractive, increase count to 50.
8907
8908 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8909
8910 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8911 markers correctly.
8912
8913 2000-10-17 Gerd Moellmann <gerd@gnu.org>
8914
8915 * alloc.c (pure_bytes_used): Renamed from pureptr.
8916 (ALIGN): New macro.
8917 (pure_alloc): New function.
8918 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8919 Use it.
8920 (Fpurecopy): Use PURE_POINTER_P.
8921
8922 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8923 PT has moved backward.
8924
8925 * xdisp.c (cursor_row_p): Take continued lines into account.
8926
8927 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8928 string's size_byte.
8929 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8930 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8931 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8932 string allocated.
8933
8934 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8935 of selective display off while searching for the next line start.
8936
8937 2000-10-17 Kenichi Handa <handa@etl.go.jp>
8938
8939 * Makefile.in (term.o): Depend on dispextern.h.
8940
8941 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8942
8943 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8944
8945 2000-10-16 Gerd Moellmann <gerd@gnu.org>
8946
8947 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8948 the iterator at the beginning, so that they can be set later on,
8949 for instance in reseat_at_next_visible_line_start, without being
8950 overwritten.
8951
8952 * xfns.c (pbm_format): Add :foreground and :background keywords.
8953 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
8954 (xbm_load): Recognize foreground and background color specifications.
8955
8956 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8957
8958 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8959
8960 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
8961
8962 * msdos.c (IT_set_face): Compare highlighted face with the default
8963 face, and invert colors if these faces' colors are identical.
8964 (Fmsdos_remember_default_colors): Don't swap foreground and
8965 background colors in initial_colors[].
8966 (IT_set_frame_parameters): Don't swap frame's foreground and
8967 background pixels. If ALIST includes "(reverse . t)", swap
8968 foreground-color and background-color properties in frame's
8969 param_alist. If the original frame's param_alist doesn't specify
8970 the colors, store unspecified-fg and unspecified-bg, reversed if
8971 required.
8972
8973 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8974 the colors are unspecified and reversed, reverse fore- and back-
8975 ground in the returned value.
8976 (Fframe_parameter): Ditto.
8977
8978 2000-10-16 Gerd Moellmann <gerd@gnu.org>
8979
8980 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8981 get_last_unchanged_at_beg_row.
8982 (find_first_unchanged_at_end_row): Renamed from
8983 get_first_unchanged_at_end_row.
8984 (find_first_unchanged_at_end_row): Convert assertions to
8985 unconditional tests which abort. When looking for a row in
8986 unchanged text, don't go further back than first_text_row.
8987
8988 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8989 Don't add in the last line's height when deciding if the new
8990 position is below the scroll margin.
8991
8992 2000-10-16 Miles Bader <miles@gnu.org>
8993
8994 * editfns.c (Fconstrain_to_field): Check carefully for field
8995 boundaries if either OLD_POS or NEW_POS has a non-nil field
8996 property, even if they're the same.
8997
8998 2000-10-16 Kenichi Handa <handa@etl.go.jp>
8999
9000 * xterm.c (x_draw_box_rect): Fix the calculation of width and
9001 height for XFillRectangle.
9002
9003 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
9004
9005 * syntax.c (Fstring_to_syntax): New function extracted from
9006 Fmodify_syntax_entry.
9007 (Fmodify_syntax_entry): Use it and document the ! and | fences.
9008 (skip_chars, Fforward_comment): Remove unused variables.
9009 (syms_of_syntax): Add defsubr for string-to-syntax.
9010 (describe_syntax): Add code for comment and string fences.
9011
9012 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
9013
9014 * keymap.c (access_keymap): Add AUTOLOAD parameter.
9015 Do the meta->esc mapping. Call get_keyelt before returning.
9016 Start scanning from the second element (the first is always `keymap')
9017 to make it easier to detect when we reach a parent map.
9018 Handle the case of inheriting from a symbol whose function is a map.
9019 (Fkeymap_parent): Also handle the `inherit from symbol' case.
9020 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
9021 (get_keyelt, Flookup_key): Update call to access_keymap.
9022 Remove the meta->esc mappings.
9023 (define_as_prefix): Delete old disabled code.
9024 (menu_item_p): New function.
9025 (where_is_internal_1): Skip over the few remaining menu items.
9026 * lisp.h (access_keymap): Update prototype.
9027 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
9028 Update call to access_keymap.
9029 (follow_key, read_key_sequence): Update calls to access_keymap.
9030 Remove the meta->esc mappings.
9031
9032 2000-10-13 Gerd Moellmann <gerd@gnu.org>
9033
9034 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
9035 with additional argument.
9036
9037 * xdisp.c (cursor_row_p): New function.
9038 (try_cursor_movement, display_line): Use it.
9039
9040 * xdisp.c (append_space): Also save/restore iterator's current
9041 character and its length.
9042
9043 * xdisp.c (init_from_display_pos): Add an assertion.
9044 (handle_stop): Don't set iterator's add_overlay_start.
9045 (handle_invisible_prop): Likewise.
9046 (load_overlay_strings): If text under an overlay is invisible,
9047 take both before- and after-strings into account when the iterator
9048 is positioned either at the start or at the end of the overlay.
9049 (forward_to_next_line_start): Rewritten.
9050 (reseat_at_next_visible_line_start): Rewritten.
9051 (set_iterator_to_next): Add parameter RESEAT_P.
9052
9053 * dispextern.h (struct it): Remove member add_overlay_start.
9054 (set_iterator_to_next): Change prototype.
9055
9056 2000-10-13 Kenichi Handa <handa@etl.go.jp>
9057
9058 * coding.c (code_convert_region): Be sure to initialize
9059 coding->category_idx.
9060 (decode_coding_string): Set coding->src_multibyte and
9061 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
9062 (encode_coding_string): Set coding->src_multibyte and
9063 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
9064
9065 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
9066
9067 * xfns.c (Fx_create_frame): Don't bother calling
9068 face-set-after-frame-default since the caller does it for us anyway.
9069
9070 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
9071
9072 * window.c (coordinates_in_window): Fix detection of vertical line
9073 on character terminals.
9074
9075 2000-10-12 Gerd Moellmann <gerd@gnu.org>
9076
9077 * editfns.c (save_excursion_save): Additionally record the
9078 selected window.
9079 (save_excursion_restore): If buffer was visible in a window, and a
9080 different window was selected, and the old selected window is
9081 still live, restore point in that window.
9082
9083 2000-10-12 Kenichi Handa <handa@etl.go.jp>
9084
9085 * xterm.c (x_produce_glyphs): Handle
9086 unibyte_display_via_language_environment correctly.
9087
9088 * regex.c (regex_compile): Change the way of handling a range from
9089 unibyte char to multibyte char.
9090
9091 * syntax.c (skip_chars): Change the way of handling a range from
9092 unibyte char to multibyte char.
9093
9094 * process.c (read_process_output): Cancel previous change.
9095
9096 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
9097
9098 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
9099
9100 * charset.c (Ffind_charset_string): Doc fix.
9101 (Ffind_charset_region): Doc fix.
9102
9103 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
9104
9105 * process.c (read_process_output): Fix previous change. Adjust
9106 multibyteness of text to insert in a buffer by
9107 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
9108
9109 2000-10-10 Andreas Schwab <schwab@suse.de>
9110
9111 * alloc.c (mark_object): Remove all workarounds installed on
9112 1993-08-08.
9113
9114 2000-10-10 Kenichi Handa <handa@etl.go.jp>
9115
9116 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
9117 (base64_encode_1): Make it work for a text of multibyte form.
9118 (Fbase64_decode_region): Allocate sufficient memory for multibyte
9119 case. Don't call str_to_multibyte because base64_decode_1
9120 produces correct multibyte form for eight-bit codes.
9121 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
9122 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
9123 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
9124 codes.
9125
9126 * charset.h (CHAR_STRING): Optimized for single byte characters.
9127
9128 2000-10-09 Andreas Schwab <schwab@suse.de>
9129
9130 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
9131 -1 after socket is closed, to fall through to error processing.
9132
9133 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
9134
9135 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
9136 variables. If ALIST includes foreground-color or
9137 background-color, change also the colors of the default face for
9138 this frame.
9139
9140 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
9141
9142 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
9143 them extern (they are defined on xfaces.c).
9144 (syms_of_msdos): Don't intern and don't staticpro
9145 Qbackground_color and Qforeground_color.
9146
9147 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
9148
9149 * frame.c (Fframe_parameter): For non-windowed frames, if
9150 f->param_alist says foreground or background color is unspecified,
9151 call tty_color_name to return the color name computed from the
9152 frame's current colors.
9153
9154 2000-10-06 Dave Love <fx@gnu.org>
9155
9156 * terminfo.c (ospeed): Don't declare.
9157
9158 * sysdep.c: Don't include string.h.
9159 (h_errno): Declare conditional also on TRY_AGAIN.
9160
9161 * charset.c (Ffind_charset_string): Doc fix.
9162
9163 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
9164 (Fbase64_decode_region, Fbase64_decode_string): More explicit
9165 error messages.
9166
9167 2000-10-05 Dave Love <fx@gnu.org>
9168
9169 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
9170 position like menu-bar.
9171
9172 2000-10-05 Gerd Moellmann <gerd@gnu.org>
9173
9174 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
9175
9176 * xdisp.c (handle_single_display_prop): Use safe_call1.
9177 (safe_call): Renamed from call_function.
9178 (safe_call1): New function.
9179 (handle_fontified_prop): Use safe_call1 instead of call1.
9180 (safe_eval): Renamed from eval_form.
9181 (safe_eval_handler): Renamed from eval_handler.
9182 (handle_single_display_prop, display_mode_element): Use safe_eval
9183 instead of eval_form.
9184
9185 * xfaces.c (merge_face_heights): Use safe_call instead of
9186 call_function.
9187
9188 * keyboard.c (show_help_echo): Use safe_call instead of
9189 call_function; use safe_eval instead of eval_form.
9190
9191 * lisp.h (safe_call): Renamed from call_function.
9192 (safe_eval): Renamed from eval_form.
9193 (safe_call1): Add prototype.
9194
9195 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
9196
9197 * xfns.c (image_ascent): Rearrange ascent calculation for the
9198 has-a-font case.
9199
9200 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
9201
9202 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
9203 (where_is_internal_1): Don't bother ignoring menu-items any more.
9204
9205 2000-10-04 Gerd Moellmann <gerd@gnu.org>
9206
9207 * keyboard.c (update_menu_bindings): New variable.
9208 (parse_menu_item): Use AREF. If update_menu_bindings
9209 is 0, don't update menu bindings.
9210 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
9211
9212 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
9213
9214 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
9215 to `mark_object'.
9216
9217 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
9218
9219 * syntax.c (forw_comment): Match nestedness of ender/starter.
9220 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
9221 (prev_char_comstart_first): Remove.
9222 (back_comment): Check two-char comment markers more carefully
9223 to better handle overlapping cases like *//* or /* */* */ ...
9224 Match nestedness of ender/starter.
9225
9226 2000-10-02 Dave Love <fx@gnu.org>
9227
9228 * config.in (HAVE_GAI_STRERROR): Add undef.
9229
9230 * process.c (Fopen_network_stream): Use it.
9231
9232 * m/alpha.h (NO_REMAP): Don't define.
9233
9234 2000-10-02 Gerd Moellmann <gerd@gnu.org>
9235
9236 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
9237 return with a string converted to an integer or vice versa when
9238 Vmocklisp_arguments is t.
9239 (Fsignal): Likewise. The function can return for `quit'.
9240 (struct gcpro): Declare member `var' to point to a volatile
9241 Lisp_Object.
9242
9243 * eval.c (error): Prevent compiler warning.
9244
9245 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
9246
9247 * keymap.c (keymap_memberp): New function.
9248 (Fset_keymap_parent): Use it.
9249 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
9250 Use keymap_memberp to avoid creating cycles.
9251 (access_keymap): Use KEYMAPP.
9252
9253 2000-09-30 Gerd Moellmann <gerd@gnu.org>
9254
9255 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
9256 gai_strerror. Make sure xerrno is set if connect fails. Improve
9257 error recovery.
9258
9259 2000-09-29 Jason Rumney <jasonr@gnu.org>
9260
9261 * w32term.c (w32_char_font_type, w32_encode_char)
9262 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
9263 (w32_bdf_per_char_metric): New function.
9264 (w32_per_char_metric): Use it.
9265 (x_draw_glyph_string_background): Always draw background for BDF
9266 glyphs.
9267
9268 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
9269 GDI object which is a scarce resource.
9270
9271 * w32bdf.c (search_file_line): Fix skipping of whitespace.
9272 (get_quoted_string): Fix limit on memchr search.
9273 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
9274 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
9275 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
9276 (get_cached_font_char, cache_char_offset): Use macro
9277 BDF_CODEPOINT_RANGE_COVER_P.
9278 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
9279 (clear_cached_bitmap_slots): New function.
9280 (GET_HEX_VALUE): G-Z, g-z are not hex.
9281 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
9282 (get_bitmap_with_cache): Use new cache implementation.
9283 (create_offscreen_bitmap): New function.
9284 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
9285
9286 * w32term.c (x_produce_glyphs): If the distance from the current
9287 position to the next tab stop is less than a canonical character
9288 width, use the tab stop after that.
9289 (x_draw_glyphs): Handle case START and END are out of bounds more
9290 carefully.
9291 (x_clear_mouse_face): Block/unblock input.
9292 (x_display_and_set_cursor): Don't show a hollow box cursor for
9293 buffers whose cursor_type is nil.
9294
9295 2000-09-29 Gerd Moellmann <gerd@gnu.org>
9296
9297 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
9298
9299 * dispextern.h (updating_frame): Declare extern.
9300
9301 2000-09-29 Andreas Schwab <schwab@suse.de>
9302
9303 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
9304
9305 2000-09-29 Gerd Moellmann <gerd@gnu.org>
9306
9307 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
9308 use its function definition.
9309 (tool_bar_items): Likewise.
9310
9311 * lisp.h (fatal): Declare NO_RETURN.
9312
9313 2000-09-29 Kenichi Handa <handa@etl.go.jp>
9314
9315 * keymap.c: Remove the line "#undef NULL".
9316
9317 2000-09-28 Gerd Moellmann <gerd@gnu.org>
9318
9319 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
9320
9321 2000-09-28 Dave Love <fx@gnu.org>
9322
9323 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
9324
9325 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
9326
9327 * .gdbinit (xreload): Note its need on GNU/Linux.
9328
9329 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
9330 r_alloc, r_alloc_free.
9331
9332 2000-09-28 Kenichi Handa <handa@etl.go.jp>
9333
9334 * syntax.c (skip_chars): Handle negation correctly.
9335
9336 2000-09-27 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xfaces.c (realize_default_face): Call set_lface_from_font_name
9339 with non-zero FORCE_P argument.
9340
9341 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
9342 Add assertions.
9343
9344 * xdisp.c (window_box_height): Add an assertion.
9345
9346 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
9347 tool-bar than is available.
9348 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
9349
9350 2000-09-27 Dave Love <fx@gnu.org>
9351
9352 * s/irix6-5.h: Now works 64-bit. Tidied.
9353
9354 2000-09-26 Gerd Moellmann <gerd@gnu.org>
9355
9356 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
9357 instead of BITS_PER_INT.
9358 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
9359 EMACS_UINT, respectively.
9360 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
9361
9362 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
9363
9364 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
9365
9366 * window.c (freeze_window_starts): Construct last argument for
9367 foreach_window differently.
9368
9369 * xfns.c (x_decode_color): Don't return a Lisp_Object.
9370
9371 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
9372 EMACS_UINT instead of `int' and `unsigned int'.
9373 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
9374
9375 * frame.h (struct frame): Make the `nothing' member of union
9376 output_data an EMACS_INT.
9377
9378 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
9379 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
9380 size in the sdata structure.
9381 (SDATA_NBYTES, SDATA_DATA): New macros.
9382 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
9383 differently for the different layout of the sdata structure.
9384 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
9385 in sdata.
9386 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
9387 Check that size recorded in the string size and size recorded in
9388 the sdata structure agree.
9389
9390 2000-09-25 Dave Love <fx@gnu.org>
9391
9392 * buffer.c: Include stdio.h.
9393
9394 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
9395
9396 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
9397
9398 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
9399 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
9400 (__malloc_extra_blocks): Declare as __malloc_size_t.
9401
9402 2000-09-25 Gerd Moellmann <gerd@gnu.org>
9403
9404 * alloc.c (mark_image): Use GC_NILP instead of NILP.
9405
9406 * keyboard.c (show_help_echo): Set help_echo_showing_p.
9407 (read_char): If help-echo is showing, preserve the echo area
9408 when redisplaying.
9409
9410 * xdisp.c (help_echo_showing_p): New variable.
9411 (set_message): Reset it to 0.
9412 (init_xdisp): Initialize help_echo_showing_p.
9413
9414 * dispextern.h (help_echo_showing_p): Declare extern.
9415
9416 * config.in: Fix typo in __GNUC_MINOR__.
9417
9418 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
9419
9420 * s/freebsd.h (POSIX_SIGNALS): Define.
9421
9422 * xterm.c (x_clear_mouse_face): Block/unblock input.
9423
9424 2000-09-24 Dave Love <fx@gnu.org>
9425
9426 * fns.c (base64_encode_1): Fix last change.
9427
9428 2000-09-22 Gerd Moellmann <gerd@gnu.org>
9429
9430 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
9431
9432 * xdisp.c (try_window_reusing_current_matrix): More fixes
9433 for the case window has a header-line.
9434
9435 2000-09-22 Dave Love <fx@gnu.org>
9436
9437 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
9438 a doc string.
9439
9440 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
9441
9442 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
9443
9444 2000-09-21 Gerd Moellmann <gerd@gnu.org>
9445
9446 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
9447 for GCC >= 2.5.
9448
9449 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
9450 Declare NO_RETURN.
9451
9452 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
9453 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
9454 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
9455 warnings.
9456
9457 * marker.c (byte_char_debug_check): Return void.
9458
9459 * xfns.c (Fx_create_frame): Set default frame parameter value
9460 for tool-bar-lines to 1.
9461
9462 * dispnew.c (scrolling_window): Compare y-positions of rows
9463 equal at the start. Some simplification.
9464
9465 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
9466 reused rows' y-position in the case window has a header-line, and
9467 new window start is greater than old window start.
9468
9469 * process.c (process_sent_to): New variable.
9470 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
9471 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
9472 Declare more parameters volatile.
9473
9474 * lread.c (Vrecursive_load_depth_limit): New variable.
9475 (Fload): Check recursive loads whose recursion depth exceeds
9476 Vrecursive_load_depth_limit.
9477 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
9478
9479 2000-09-20 Gerd Moellmann <gerd@gnu.org>
9480
9481 * fileio.c (Fread_file_name): Doc fix.
9482
9483 * editfns.c (Fmessage_or_box): Doc fix.
9484
9485 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
9486
9487 * xfns.c (xbm_scan): Allow C-style comments.
9488
9489 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
9490 symbols are specified, add color translations to the cache.
9491 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
9492 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
9493 xpm_cache_color.
9494 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
9495 structures to xpm_init_color_cache.
9496
9497 2000-09-19 Gerd Moellmann <gerd@gnu.org>
9498
9499 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
9500
9501 2000-09-19 Andrew Innes <andrewi@gnu.org>
9502
9503 * makefile.nt (bootstrap-emacs): Don't change directory.
9504
9505 2000-09-19 Kenichi Handa <handa@etl.go.jp>
9506
9507 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
9508
9509 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
9510 If output buffer is too small, signal an appropriated error.
9511
9512 2000-09-18 Dave Love <fx@gnu.org>
9513
9514 * keyboard.c (menu_bar_items, tool_bar_items)
9515 (current_active_maps): Remove redundant get_local_map call.
9516
9517 2000-09-18 Gerd Moellmann <gerd@gnu.org>
9518
9519 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9520 cursor for buffers whose cursor_type is nil.
9521
9522 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9523 a feature to implement that is already implemented.
9524 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9525 warnings.
9526
9527 * xfns.c (x_clear_image_1): New function.
9528 (x_clear_image): Use it.
9529 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
9530
9531 * dispnew.c (update_window): Move test for invisible lines
9532 at the top to update_window_line.
9533 (update_window_line): Handle invisible lines here.
9534
9535 * xfns.c (clear_image_cache): Clear current matrices of all
9536 frames sharing an image cache. Block input while freeing
9537 images. Fix timestamp comparison.
9538 (x_clear_image): Also free the mask.
9539
9540 * xfns.c (lookup_image): Block input while loading the image so
9541 that we won't get interrupted in a state where the image isn't yet
9542 set up completely.
9543 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9544 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9545 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
9546 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
9547
9548 2000-09-16 Gerd Moellmann <gerd@gnu.org>
9549
9550 * dispnew.c (update_window): Make sure to make desired rows
9551 current even if they are completely invisible at the top
9552 of a window.
9553
9554 2000-09-15 Gerd Moellmann <gerd@gnu.org>
9555
9556 * xfns.c (lookup_image): Build mask before applying an algorithm.
9557 Recognize algorithm `disabled'.
9558 (cross_disabled_images): New variable.
9559 (COLOR_INTENSITY): New macro.
9560 (x_detect_edges): Use COLOR_INTENSITY.
9561 (x_disable_image): New function.
9562 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9563
9564 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9565 disabled state, don't apply an image transformation algorithm if
9566 the user specified an image for the disabled state. Use
9567 `:algorithm disabled' for creating a disabled item's image if the
9568 user hasn't specified an image.
9569
9570 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9571 allocation functions with the XPM lib.
9572 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9573 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9574 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9575 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
9576 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
9577 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9578 functions, if possible, because these handle color allocation
9579 failure more gracefully.
9580 (Fimage_mask_p): New function.
9581
9582 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9583 (Qedge_detection, Qheuristic): New symbols.
9584 (syms_of_xfns): Initialize new symbols.
9585 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9586 `algorithm (edge-detection ...)'.
9587 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9588 (tiff_format, gif_format, gs_format): Add `:mask'.
9589 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9590 (GIF_MASK, GS_MASK): New enumerators.
9591 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9592 (emboss_matrix, laplace_matrix): New variables.
9593 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9594 (x_edge_detection): New functions.
9595 (x_laplace): Rewritten in terms of x_detect_edges.
9596 (x_build_heuristic_mask): If image has a mask, free it.
9597
9598 2000-09-14 Andrew Innes <andrewi@gnu.org>
9599
9600 * makefile.w32-in: Revert to Unix line endings.
9601
9602 2000-09-14 Andrew Innes <andrewi@gnu.org>
9603
9604 * makefile.w32-in: Standardize indentation somewhat.
9605 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9606 cater for differences between shells.
9607
9608 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9609
9610 2000-09-14 Gerd Moellmann <gerd@gnu.org>
9611
9612 * xterm.c (x_produce_glyphs): If the distance from the current
9613 position to the next tab stop is less than a canonical character
9614 width, use the tab stop after that.
9615
9616 2000-09-14 Dave Love <fx@gnu.org>
9617
9618 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9619
9620 2000-09-14 Gerd Moellmann <gerd@gnu.org>
9621
9622 * xdisp.c (handle_fontified_prop): While running fontification
9623 functions, bind `fontification-functions' and
9624 `after-change-functions' to nil.
9625
9626 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9627 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9628
9629 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9630
9631 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9632 USE_MMAP_FOR_BUFFERS.
9633
9634 * insdel.c (make_gap): Use enlarge_buffer_text.
9635
9636 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9637 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9638 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9639 from former r_alloc_* functions in ralloc.c.
9640 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
9641 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9642 (mmap_init) [REL_ALLOC_MMAP]: New function.
9643 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9644 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9645 BUFFER_FREE.
9646
9647 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9648 (enlarge_buffer_text): Add prototype.
9649
9650 * ralloc.c: Remove everything having to do with the use of mmap.
9651
9652 2000-09-13 Gerd Moellmann <gerd@gnu.org>
9653
9654 * sound.c (Fplay_sound): Doc fix.
9655
9656 * keyboard.c: Avoid some more compiler warnings.
9657 (parse_tool_bar_item): Ignore cached key bindings.
9658
9659 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9660 and allocation of Lisp data.
9661
9662 2000-09-12 Gerd Moellmann <gerd@gnu.org>
9663
9664 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9665 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9666 defaults first.
9667
9668 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9669
9670 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
9671
9672 * ccl.c: Comment fixed.
9673 (MAX_MAP_SET_LEVEL): Increased to 30.
9674 (PUSH_MAPPING_STACK): Enclose with do-while block.
9675 (POP_MAPPING_STACK): Likewise.
9676 (stack_idx_of_map_multiple): New variable.
9677 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9678 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
9679 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
9680 (ccl_driver) <CCL_MapSingle>: Likewise.
9681 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9682 with the case where looking up process reaches to the end of
9683 map-set, and call CCL programs as the above change.
9684
9685 2000-09-11 Gerd Moellmann <gerd@gnu.org>
9686
9687 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9688 that might be clobbered by longjmp.
9689 (check_x_display_info, x_decode_color, create_frame_xic)
9690 (Fx_display_backing_store, Fx_display_visual_class)
9691 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
9692
9693 * lread.c (init_lread): Set Vloads_in_progress to nil.
9694 (Fload): Show list of recursively loaded files, when signaling an
9695 error.
9696
9697 * lread.c (Vloads_in_progress): New variable.
9698 (record_load_unwind): New function.
9699 (Fload): Check for recursive loads.
9700 (syms_of_lread): Initialize Vloads_in_progress.
9701 (read_integer, read1): Avoid some compiler warnings.
9702
9703 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9704 compiler warnings.
9705
9706 2000-09-11 Miles Bader <miles@gnu.org>
9707
9708 * editfns.c (Fbuffer_string): Doc fix.
9709
9710 2000-09-10 Gerd Moellmann <gerd@gnu.org>
9711
9712 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9713
9714 2000-09-09 Ken Raeburn <raeburn@gnu.org>
9715
9716 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9717 whether to include other header files.
9718
9719 2000-09-09 Gerd Moellmann <gerd@gnu.org>
9720
9721 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9722 by Fmemq as a boolean.
9723
9724 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9725
9726 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9727
9728 2000-09-08 Gerd Moellmann <gerd@gnu.org>
9729
9730 * ralloc.c (mmap_fd): Remove initializer which can make it
9731 read-only in a dumped Emacs.
9732 (mmap_fd_1): New variable.
9733 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9734 restore it from there.
9735 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9736 unconditionally so that mmap_fd can be initialized there.
9737 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9738 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9739 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9740
9741 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9742
9743 * xdisp.c (dump_glyph_row): Fix printf format string.
9744 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
9745
9746 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9747
9748 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9749 inheritance.
9750
9751 * xdisp.c (try_window_id): When trying to locate cursor in
9752 unchanged rows at the top, handle the case that we can't find it.
9753
9754 * xterm.c (x_draw_glyphs): Handle case START and END are out
9755 of bounds more carefully.
9756
9757 2000-09-08 Dave Love <fx@gnu.org>
9758
9759 * s/sol2.h (REL_ALLOC_MMAP): Define.
9760 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9761
9762 * ralloc.c: Don't include string.h (redundant).
9763 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9764 [!MAP_ANON]: Include fcntl.h.
9765 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9766 (r_alloc, r_re_alloc, r_alloc_free)
9767 (mmap_enlarge, mmap_set_vars): Use it.
9768 (r_alloc_init_fd): New function.
9769 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9770 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9771 malloc type.
9772
9773 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9774 Remove vm-limit.o.
9775
9776 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9777 change to __NetBSD__.
9778
9779 2000-09-08 Kenichi Handa <handa@etl.go.jp>
9780
9781 * search.c (compile_pattern): Check the multibyteness of cached
9782 string and PATTERN.
9783
9784 2000-09-08 Miles Bader <miles@gnu.org>
9785
9786 * xfaces.c (default_face_vector): Function removed.
9787 (Finternal_merge_in_global_face): Restore old global/local
9788 attribute override order. Use inline loop instead of calling
9789 default_face_vector.
9790
9791 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9792
9793 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9794 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9795 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9796 where necessary, in case POINTER_TYPE is `void'.
9797
9798 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9799
9800 * frame.c (make_terminal_frame): Initialize frame foreground and
9801 background colors to unspecified, for the initial instance of an
9802 MSDOS frame.
9803
9804 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9805
9806 * ralloc.c (mmap_find): Fix overlap computation.
9807 (mmap_enlarge): Compute nbytes before trying to find an
9808 overlapping region.
9809
9810 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9811 instead of `!='.
9812
9813 * lread.c (syms_of_lread): Change value of regexp
9814 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9815
9816 * xmenu.c (xdialog_show): When looking up the selection in
9817 menu_items, take `quote' boundaries into account; this corresponds
9818 to a nil ITEM in x-popup-dialog.
9819
9820 2000-09-07 Kenichi Handa <handa@etl.go.jp>
9821
9822 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9823 not 0x81.
9824 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9825
9826 * coding.c (encode_coding_sjis_big5): Use translation table for
9827 encoding, not decoding. Fix the handling of latin-jisx0201.
9828 Check for the charset katakana-jisx0201 too.
9829 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
9830 (detect_coding_sjis): Check the byte sequence more rigidly.
9831
9832 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9833
9834 * xfaces.c (Vparam_value_alist): New variable.
9835 (syms_of_xfaces): Initialize it.
9836 (Finternal_set_lisp_face_attribute): Avoid more consing.
9837
9838 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9839 specially.
9840 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9841 (Qbackground_mode): New variable.
9842 (syms_of_frame_1): Initialize Qbackground_mode.
9843
9844 * lisp.h (Qdisplay): Declare extern.
9845
9846 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9847 change face on all frames, and change the default for new frames.
9848
9849 2000-09-07 Dave Love <fx@gnu.org>
9850
9851 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9852
9853 2000-09-07 Kenichi Handa <handa@etl.go.jp>
9854
9855 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9856
9857 * charset.c: Include composite.h
9858 (lisp_string_width): New function.
9859 (Fstring_width): Call lisp_string_width instead of strwidth.
9860
9861 * Makefile.in (charset.o): Depends on composite.h.
9862
9863 * process.c (read_process_output): Before inserting the decoded
9864 text in the buffer, adjust the multibyteness.
9865
9866 2000-09-06 Gerd Moellmann <gerd@gnu.org>
9867
9868 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
9869 buffer's text buffer is null, map new memory.
9870
9871 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9872 POINTER_TYPE and size_t.
9873 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9874 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9875 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9876 [REL_ALLOC_MMAP]: New macros.
9877 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9878 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9879 [REL_ALLOC_MMAP]: New functions.
9880
9881 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9882 before and after unexec.
9883
9884 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9885 text buffers if necessary.
9886
9887 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9888 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9889 in prototypes.
9890
9891 * config.in (HAVE_MMAP): Add #undef.
9892
9893 2000-09-05 Gerd Moellmann <gerd@gnu.org>
9894
9895 * frame.c (Qdisplay_type): New variable.
9896 (syms_of_frame_1): Initialize it.
9897 (Fframe_parameter): New function that avoids consing.
9898 (syms_of_frame): Defsubr it.
9899
9900 * buffer.c (Fother_buffer): Consider buffers as invisible when
9901 they are displayed in a window on an invisible frame.
9902
9903 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9904 get-largest-window always return nil.
9905
9906 2000-09-04 Gerd Moellmann <gerd@gnu.org>
9907
9908 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9909 variable; recognize Emacs 19 elc files.
9910
9911 2000-09-04 Miles Bader <miles@gnu.org>
9912
9913 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9914 before initially popping up the menu, so the menu doesn't flash
9915 when the face settings are significantly different from the defaults.
9916
9917 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9918
9919 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9920 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9921 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9922 (BIT_UNIBYTE): Remove.
9923 (re_match_2_internal): Delete corresponding code and streamline the
9924 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9925 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9926 (re_wctype_t): New type.
9927 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9928 (regex_compile): Use them and fix handling of overly long char classes.
9929
9930 2000-09-03 Andrew Innes <andrewi@gnu.org>
9931
9932 * makefile.w32-in: Change to DOS line endings.
9933
9934 * s/ms-w32.h (ORDINARY_LINK): New define.
9935
9936 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9937 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9938
9939 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9940 (distclean): Delete them here instead.
9941
9942 * w32proc.c (compare_env): Convert to uppercase for comparison,
9943 not lowercase, to match how the native Windows shell works.
9944
9945 2000-09-03 Jason Rumney <jasonr@gnu.org>
9946
9947 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9948 CVS changes the line-ends when checking in/out on DOS/Windows.
9949
9950 * makefile.nt (emacs): Do not change directory to run temacs, as
9951 the load-path is set relative to current directory.
9952
9953 2000-09-03 Miles Bader <miles@gnu.org>
9954
9955 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9956
9957 2000-09-02 Gerd Moellmann <gerd@gnu.org>
9958
9959 * xdisp.c (redisplay_mode_lines): New function.
9960 (display_mode_lines): Return number of mode lines displayed.
9961 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9962 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9963
9964 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9965 string.h and strings.h.
9966 (index) [HAVE_INDEX]: Add prototype.
9967
9968 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9969 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9970
9971 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9972 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9973
9974 2000-09-01 Gerd Moellmann <gerd@gnu.org>
9975
9976 * lread.c (read1): Accept `?' as symbol constituent, for
9977 compatiblity with XEmacs.
9978
9979 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9980
9981 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9982 (struct re_pattern_buffer): Remove newline_anchor.
9983 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9984 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9985 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9986 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9987 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9988 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9989 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9990 Get rid of references to newline_anchor.
9991 (regcomp): Allocate and precompute a fastmap.
9992
9993 2000-08-31 Gerd Moellmann <gerd@gnu.org>
9994
9995 * lread.c (openp): GCPRO local variable `filename'.
9996
9997 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9998
9999 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
10000
10001 * regex.c: Merge some changes from GNU libc. Add prototypes.
10002 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
10003 Use memcmp and memcpy instead of bcopy and bcmp.
10004 (init_syntax_once): Use ISALNUM.
10005 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
10006 (REG_UNSET_VALUE): Remove. Use NULL instead.
10007 (REG_UNSET, re_match_2_internal): Use NULL.
10008 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
10009 New macros.
10010 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
10011 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
10012 (regex_compile): In handle_interval, return an error rather than try to
10013 unfetch the interval if we can't find the closing brace.
10014 Obey the RE_NO_GNU_OPS syntax bit.
10015 (TOLOWER): New macro.
10016 (regcomp): Use it.
10017 (regexec): Allocate regs.start and regs.end as one block.
10018
10019 2000-08-30 Gerd Moellmann <gerd@gnu.org>
10020
10021 * xdisp.c (echo_area_display): Check display_completed instead
10022 of calling detect_input_pending.
10023
10024 * dispnew.c (update_frame): Only set display_completed here; move
10025 the update_begin and update_end calls here from update_frame_1.
10026 (update_frame_1): Don't set display_completed here, don't call
10027 update_begin/update_end.
10028
10029 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
10030 instead of store_frame_param.
10031
10032 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10033
10034 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
10035 desired window matrix hasn't been displayed, use the current row
10036 instead. Make sure that only those frame rows are updated for
10037 which there exists a corresponding enabled desired row.
10038
10039 2000-08-29 Miles Bader <miles@gnu.org>
10040
10041 * xfaces.c (default_face_vector): New function.
10042 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
10043
10044 2000-08-29 Gerd Moellmann <gerd@gnu.org>
10045
10046 * lread.c (openp): Prevent temporary string passed to
10047 Ffile_readable_p from being garbage collected.
10048
10049 2000-08-28 Dave Love <fx@gnu.org>
10050
10051 * keymap.c (store_in_keymap): Add `static' to declaration.
10052
10053 2000-08-28 Gerd Moellmann <gerd@gnu.org>
10054
10055 * emacs.c, callint.c, doc.c, editfns.c
10056 (toplevel) [HAVE_STRING_H]: Include string.h.
10057 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
10058 (index): Remove prototypes which might conflict with non-standard
10059 definitions of index/strchr.
10060
10061 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
10062 (rindex): Define only if !HAVE_RINDEX.
10063
10064 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
10065
10066 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
10067
10068 2000-08-28 Miles Bader <miles@gnu.org>
10069
10070 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
10071 made inconsistent by a font-related attribute in FROM.
10072 (merge_face_inheritance): Add function comment.
10073
10074 2000-08-28 Kenichi Handa <handa@etl.go.jp>
10075
10076 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
10077 the 4th arg (PREV_EVENT) Qt to suppress input method.
10078
10079 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
10080
10081 * regex.c: Indent cpp directives and remove parens after `defined'.
10082 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
10083 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
10084 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
10085 (re_compile_pattern): Use size_t for length.
10086 (init_syntax_once): Move to a better place.
10087 * regex.h: Merge changes from GNU libc. Indent cpp directives.
10088 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
10089
10090 * syntax.c (back_comment): Detect cases where a comment-starter is
10091 actually inside another comment as in: /* a // b */ c // d \n.
10092 Make it clear that `comstart_pos' is unused for nested comments.
10093
10094 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
10095 (KEYMAPP): New macro.
10096 (Fkeymap_parent, Fset_keymap_parent): Use it.
10097 (fix_submap_inheritance): Mark it static.
10098 (define_as_prefix, describe_buffer_bindings, describe_command)
10099 (describe_translation, describe_map): Complete prototypes.
10100
10101 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
10102
10103 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
10104 to better match the key-lookup behavior.
10105
10106 2000-08-27 Gerd Moellmann <gerd@gnu.org>
10107
10108 * xfaces.c (lface_fully_specified_p): Handle :inherit.
10109 (Finternal_set_lisp_face_attribute): Fix typo in error message.
10110
10111 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
10112
10113 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
10114 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
10115 (xterm.o): Depend on coding.h
10116
10117 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10118
10119 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
10120 the corresponding '#endif'.
10121
10122 2000-08-26 Miles Bader <miles@gnu.org>
10123
10124 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
10125 * xfaces.c (QCinherit): New variable.
10126 (syms_of_xfaces): Initialize it.
10127 (LFACE_INHERIT): New macro.
10128 (Finternal_get_lisp_face_attribute)
10129 (merge_face_vector_with_property)
10130 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
10131 (check_lface_attrs): Allow new types of face height. Check
10132 inherit attribute.
10133 (CYCLE_CHECK): New macro.
10134 (merge_face_inheritance): New function.
10135 (merge_face_vectors): Merge inherited faces too. Add F and
10136 CYCLE_CHECK arguments.
10137 (merge_face_vector_with_property, Finternal_merge_in_global_face)
10138 (lookup_named_face, lookup_derived_face, realize_named_face)
10139 (face_at_string_position, face_at_buffer_position): Supply
10140 new F and CYCLE_CHECK arguments to merge_face_vectors.
10141 (merge_face_heights): New function.
10142 (merge_face_vectors, merge_face_vector_with_property)
10143 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
10144 handle relative face heights.
10145 (lface_same_font_attributes_p): Compare heights using EQ.
10146
10147 2000-08-26 Kenichi Handa <handa@etl.go.jp>
10148
10149 * charset.c (char_to_string): Check the character validity.
10150 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
10151
10152 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
10153
10154 * regex.c (PUSH_FAILURE_COUNT): New macro.
10155 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
10156 Handle popping of a register's or a counter's data.
10157 (POP_FAILURE_POINT): Use the new name.
10158 (re_match_2_internal): Push counter data on the stack for succeed_n,
10159 jump_n and set_number_at and remove misleading dead code in succeed_n.
10160
10161 2000-08-25 Gerd Moellmann <gerd@gnu.org>
10162
10163 * xdisp.c (redisplay_internal): If considering all windows on all
10164 frames, update the display for each frame as soon as possible,
10165 instead of first building all desired matrices for all frames, and
10166 then updating them all.
10167 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
10168
10169 2000-08-24 Gerd Moellmann <gerd@gnu.org>
10170
10171 * bytecode.c (mark_byte_stack): Add a comment.
10172
10173 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
10174 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
10175 a graphical frame.
10176
10177 2000-08-24 Kenichi Handa <handa@etl.go.jp>
10178
10179 * minibuf.c (do_completion): Always use compare-string, not
10180 string-equal because the latter doesn't pay attention to
10181 multibyteness of strings.
10182
10183 * process.c (create_process): Don't setup raw-text coding here.
10184 (Fopen_network_stream): Don't set coding->src_multibyte and
10185 coding->dst_multibyte here.
10186 (read_process_output): For process filter, return unibyte string
10187 if default-enable-multibyte-characters is nil.
10188 (send_process): If OBJECT is multibyte text, be sure to encoded it
10189 by the specified coding system for the process. Otherwise, setup
10190 raw-text coding.
10191 (init_process): Don't initialize default-process-coding-system here.
10192
10193 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
10194
10195 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
10196 <scroll-down-aggressively>: Likewise.
10197
10198 2000-08-23 Kenichi Handa <handa@etl.go.jp>
10199
10200 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
10201 zero. Set coding->produced_char correctly.
10202
10203 2000-08-22 Andrew Innes <andrewi@gnu.org>
10204
10205 * makefile.w32-in: New file.
10206
10207 * unexw32.c (unexec): Ignore old_name, and use the actual location
10208 of the current executable instead. Base new_name on this.
10209
10210 * w32proc.c (create_child): Remove reference to security
10211 descriptor, which isn't needed and doesn't compile with mingw32.
10212
10213 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10214 up dllimport attributes.
10215 (x_update_window_end): Update prototype.
10216
10217 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
10218 extern, which screws up dllimport attributes.
10219
10220 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10221 up dllimport attributes.
10222
10223 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
10224 screws up dllimport attributes.
10225
10226 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10227 up dllimport attributes.
10228 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
10229 screws up dllimport attributes.
10230
10231 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10232 up dllimport attributes.
10233
10234 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
10235 screws up dllimport attributes.
10236
10237 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
10238 screws up dllimport attributes.
10239
10240 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10241 up dllimport attributes.
10242
10243 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
10244 unnecessary extern, which screws up dllimport attributes.
10245 (main): Ditto.
10246
10247 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10248 up dllimport attributes.
10249
10250 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
10251 unnecessary extern, which screws up dllimport attributes.
10252
10253 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
10254 screws up dllimport attributes.
10255
10256 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
10257 up dllimport attributes.
10258
10259 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
10260
10261 * w32bdf.c (search_file_line):
10262 (set_bdf_font_info):
10263 (seek_char):
10264 (w32_get_bdf_glyph):
10265 (w32_BDF_to_x_font): Fix compile warnings.
10266
10267 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
10268
10269 * w32select.c: Include keyboard.h before frame.h.
10270
10271 * w32fns.c (max): Define macro.
10272 (JOHAB_CHARSET): Define if not known.
10273 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
10274 (Fx_show_tip): Synch with X version.
10275
10276 * w32xfns.c: Include keyboard.h before frame.h.
10277
10278 * w32fns.c: Include keyboard.h before frame.h.
10279
10280 * w32term.c: Include keyboard.h before frame.h.
10281
10282 * fontset.c: Include keyboard.h before frame.h.
10283
10284 * w32inevt.c: Include keyboard.h before frame.h.
10285 (MOUSE_MOVED): Define if not known.
10286
10287 * minibuf.c: Include keyboard.h before frame.h.
10288
10289 * keyboard.c: Include keyboard.h before frame.h.
10290
10291 * indent.c: Include keyboard.h before frame.h.
10292
10293 * dispnew.c: Include keyboard.h before frame.h.
10294
10295 * buffer.c: Include keyboard.h before frame.h.
10296
10297 * alloc.c: Include keyboard.h before frame.h.
10298
10299 * print.c: Include keyboard.h before frame.h.
10300
10301 * process.c: Include keyboard.h before frame.h.
10302
10303 * scroll.c: Include keyboard.h before frame.h.
10304
10305 * sysdep.c: Include keyboard.h before frame.h.
10306
10307 * term.c: Include keyboard.h before frame.h.
10308
10309 * window.c: Include keyboard.h before frame.h.
10310
10311 * xdisp.c: Include keyboard.h before frame.h.
10312 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
10313
10314 * frame.c: Include keyboard.h before frame.h.
10315
10316 * w32heap.h: Undefine min, max.
10317
10318 * w32gui.h: Undefine min, max.
10319
10320 * unexw32.c: Change PUCHAR to PCHAR.
10321 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
10322 (relocate_offset):
10323 (get_section_info):
10324 (copy_executable_and_dump_data): Remove unnecessary static defs.
10325 (copy_executable_and_dump_data): Fix compile warnings.
10326
10327 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
10328
10329 * w32console.c (min): Define macro.
10330 (clear_frame, write_glyphs): Fix compile warning.
10331
10332 * w32proc.c (compare_env):
10333 (find_child_console): Fix compile warning.
10334
10335 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
10336 sys_errlist instead of _sys_errlist.
10337 (get_emacs_configuration_options): New function.
10338
10339 * s/ms-w32.h (sys_nerr): Provide default definition.
10340 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
10341 name with _ prepended.
10342 (NSIG): Define if not known.
10343 (get_emacs_configuration): Provide extern declaration.
10344 (get_emacs_configuration_options): Provide extern declaration.
10345 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
10346
10347 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
10348 (map_w32_filename):
10349 (read_unc_volume): Fix compile warning.
10350
10351 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
10352 definitions from being used.
10353
10354 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
10355
10356 * w32.c (unc_volume_file_attributes):
10357 (open_unc_volume): Make arg const.
10358
10359 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
10360 (read_input_waiting): Remove excess parameter.
10361
10362 * w32.c (init_environment): Call _access.
10363 (check_windows_init_file): Call _close.
10364 (init_user_info): Call _putenv.
10365 (init_environment): Call _putenv and _strdup.
10366 (init_ntproc): Reset volume info cache on startup.
10367
10368 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
10369 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
10370 cannot override the CRT malloc.
10371
10372 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
10373 (LINK_FLAGS): Append to original value of LINK_FLAGS.
10374
10375 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
10376 unless we are linking with a static CRT.
10377 (RVA_TO_PTR): Cast result to unsigned char*.
10378
10379 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
10380 (add_volume_info): Use xstrdup.
10381
10382 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
10383
10384 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
10385 (do_completion, Fminibuffer_complete_word): Use it.
10386 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
10387 var so it can take non-boolean values.
10388
10389 2000-08-21 Gerd Moellmann <gerd@gnu.org>
10390
10391 * editfns.c (find_field): Formatting changes.
10392 (toplevel): Some old-style function forward declarations
10393 changed to prototypes, some new protypes added, some functions
10394 made static.
10395
10396 * lisp.h (set_time_zone_rule): Add prototype.
10397 (use_dialog_box): External declaration.
10398
10399 * keyboard.c (gen_help_event): Add parameter SIZE.
10400 (kbd_buffer_events_waiting): Slightly rewritten.
10401 (clear_event): New function.
10402 (kbd_buffer_get_event): Use it, and clear the input_events of
10403 HELP_EVENTs.
10404 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
10405 don't fill the newly created array with nils.
10406 (toplevel): Convert some old-style function forward declarations
10407 to prototypes.
10408
10409 * keyboard.h (gen_help_event): Change prototype.
10410
10411 * xterm.c (XTread_socket): Change calls to gen_help_event.
10412
10413 * w32term.c (w32_read_socket): Change calls to gen_help_event.
10414
10415 * eval.c (Fmacroexpand): Doc fix.
10416
10417 2000-08-20 Jason Rumney <jasonr@gnu.org>
10418
10419 * w32term.h (x_display_info_for_display): Remove as this function
10420 does not exist on W32.
10421
10422 * w32term.c (help_echo_window): New variable.
10423 (syms_of_w32term): staticpro it.
10424 (note_mode_line_highlight): Set it.
10425 (XTextExtents16): Removed as there is no equivalent on W32.
10426 (x_compute_glyph_string_overhangs): Incomplete body removed, as
10427 the X way of doing this will not work for W32.
10428 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
10429 (x_draw_image_foreground): Avoid drawing outside of the clip area
10430 when image doesn't have a mask.
10431 (note_mouse_highlight): Process overlays in the right order of
10432 priority. Set help_echo_window.
10433 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
10434 because that's more visible for large images.
10435
10436 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
10437 name to single_keymap_panes.
10438 (w32_menu_show): Set wv->title when dealing with titles.
10439 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
10440
10441 2000-08-21 Miles Bader <miles@gnu.org>
10442
10443 * minibuf.c (do_completion): Try again if we rewrite the input
10444 string, but no completion was done, so that any completion message
10445 will be correct.
10446
10447 2000-08-20 Gerd Moellmann <gerd@gnu.org>
10448
10449 * xfaces.c (lface_equal_p): Compare strings differently.
10450 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
10451 (realize_tty_face): Use them.
10452 (syms_of_xfaces): Initialize new variables.
10453 (map_tty_color): New function, extracted from realize_tty_face.
10454 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
10455 foreground or background color, store the new color name in the
10456 realized face; previous code trying to do this had no effect.
10457 (realize_tty_face): Use map_tty_color.
10458 (Fclear_face_cache): Set face_change_count and ensure thorough
10459 redisplay.
10460
10461 2000-08-19 Gerd Moellmann <gerd@gnu.org>
10462
10463 * undo.c (record_first_change, record_marker_adjustment): Don't
10464 use XBUFFER on last_undo_buffer which might not be a buffer.
10465
10466 2000-08-18 Kenichi Handa <handa@etl.go.jp>
10467
10468 * coding.c (decode_coding_string): Set members consumed,
10469 consumed_char, produced, produced_char of *coding correctly. If
10470 decode_coding doesn't consume any byte, don't try anymore.
10471 (encode_coding_string): Likewise.
10472
10473 2000-08-18 Gerd Moellmann <gerd@gnu.org>
10474
10475 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
10476 conditional have void type, for Standard C compilers.
10477
10478 * xdisp.c (redisplay_internal): Compare windows for equality with
10479 EQ, instead of applying XWINDOW to something that might not
10480 be a window.
10481
10482 2000-08-18 Kenichi Handa <handa@etl.go.jp>
10483
10484 * fontset.c (Finternal_char_font): Search only the selected frame
10485 for a window of the current buffer.
10486
10487 2000-08-18 Gerd Moellmann <gerd@gnu.org>
10488
10489 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
10490 Lisp_Objects.
10491
10492 * keyboard.c (kbd_buffer_get_event): Handle the case that the
10493 second half of a HELP_EVENT is found at the start of kbd_buffer.
10494
10495 2000-08-18 Miles Bader <miles@gnu.org>
10496
10497 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
10498
10499 * editfns.c (save_restriction_save): Rewrite to use markers.
10500 (save_restriction_restore): Rewrite to understand new form of data
10501 saved by save_restriction_save.
10502 (Fsave_restriction): Remove cautionary note in doc-string.
10503
10504 2000-08-17 Gerd Moellmann <gerd@gnu.org>
10505
10506 * fileio.c (build_annotations): Add a comment explaining the
10507 return value of format-annotate-function. Replace a spurious call
10508 to Flength with a CONSP test. Call format-annotate-function with
10509 a fifth arg specifying how many times the function is been called
10510 in a row, to let it choose temporary buffers appropriately.
10511
10512 2000-08-17 Dave Love <fx@gnu.org>
10513
10514 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10515 declare make_temp_name twice.
10516
10517 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
10518 (unreadpure): Give it an arg.
10519
10520 * unexalpha.c: Prototype fatal_unexec, mark_x,
10521 update_dynamic_symbols. Declare unexec as void.
10522
10523 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10524 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10525
10526 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
10527 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
10528
10529 * alloca.c: Use #error.
10530 [POINTER_TYPE]: Use it.
10531
10532 * eval.c (Fdefvar): Doc fix.
10533
10534 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10535 INITIALIZE_INTERVAL.
10536
10537 * buffer.h: Avoid DECLARE_INTERVALS.
10538
10539 * config.in: Add size_t.
10540
10541 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10542
10543 * w16select.c (set_clipboard_data): If there's not enough memory
10544 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10545 expects. In case of other failures, return 3.
10546 (system_error_msg): New error message.
10547 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10548 system_error_msg.
10549
10550 2000-08-16 Gerd Moellmann <gerd@gnu.org>
10551
10552 * term.c (write_glyphs): Also turn off inverse video after turning
10553 off other appearances in case TS_exit_attribute_mode is not equal
10554 to TS_end_standout_mode.
10555 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10556 with the same face.
10557 (turn_off_face): Reset standout_mode only if
10558 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10559 is equal to TS_end_standout_mode.
10560
10561 2000-08-16 Kenichi Handa <handa@etl.go.jp>
10562
10563 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10564 sequence at the end of the source block.
10565
10566 * ccl.c (Fccl_program_p): Docstring modified.
10567 (Fccl_execute): Likewise.
10568 (Fccl_execute_on_string): Likewise.
10569
10570 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10571
10572 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10573
10574 2000-08-16 Kenichi Handa <handa@etl.go.jp>
10575
10576 The following changes are mainly to fix bugs of
10577 encode/decode-coding-string failing if encoding/decoding return
10578 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10579 variable conversion_buffer.
10580
10581 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10582 decrement dst_end to avoid buffer overflow in the later call of
10583 string_as_multibyte
10584
10585 * coding.h (conversion_buffer_size, conversion_buffer)
10586 (get_conversion_buffer): Extern deleted.
10587
10588 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10589 (conversion_buffer, conversion_buffer_size): Variables deleted.
10590 (get_conversion_buffer): Function deleted.
10591 (struct conversion_buffer): New structure.
10592 (MAX_ALLOCA): New macro.
10593 (allocate_conversion_buffer): New macro.
10594 (extend_conversion_buffer, free_conversion_buffer): New functions.
10595 (ccl_coding_driver): Set coding->result.
10596 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10597 this is the last block of source.
10598 (encode_coding): Likewise. Handle the source block as the last
10599 one only when the whole source text is consumed.
10600 (decode_coding_string): Handle the case that the output buffer is
10601 too small to decode the whole source text. Use
10602 allocate_conversion_buffer, extend_conversion_buffer and
10603 free_conversion_buffer, not get_conversion_buffer.
10604 (encode_coding_string): Likewise.
10605 (init_coding): Function deleted.
10606 (init_coding_once): Delete code to initialize conversion_buffer_size.
10607
10608 * emacs.c (main): Don't call init_coding.
10609
10610 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
10611
10612 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10613 (insert_glyphs): Likewise.
10614
10615 * w32console.c (write_glyphs): Use a locally declared
10616 conversion_buffer.
10617
10618 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10619
10620 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10621 member of display_info is NULL.
10622
10623 2000-08-15 Gerd Moellmann <gerd@gnu.org>
10624
10625 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
10626
10627 * term.c (turn_off_face): Reset standout_mode when resetting
10628 appearances with capability `me'.
10629 (write_glyphs): Switch on inverse video before each face change.
10630
10631 2000-08-14 Dave Love <fx@gnu.org>
10632
10633 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10634 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10635 (lisp_free): Declare and make static.
10636
10637 * window.c: Fix embedded comment.
10638 (syms_of_window): Fix doc string.
10639
10640 2000-08-14 Gerd Moellmann <gerd@gnu.org>
10641
10642 * keymap.c (push_key_description): If C without modifiers is < 32,
10643 make sure to print `C-' before `M-', like in the manual.
10644
10645 2000-08-11 Gerd Moellmann <gerd@gnu.org>
10646
10647 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10648 since they aren't relocated anymore.
10649 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
10650
10651 * xdisp.c (try_cursor_movement): Fix handling of cursor in
10652 partially visible line which is smaller than the window's height.
10653
10654 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10655
10656 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
10657 the multibyte form of eight-bit-control characters.
10658 (Fccl_execute_on_string): Initialize ccl->multibyte.
10659
10660 * ccl.h (struct ccl_program): New member multibyte.
10661
10662 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10663
10664 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10665
10666 * regex.c (regex_compile) <normal_char>: Pay attention to
10667 multibyteness.
10668 (analyse_first) <exactn>: Setup fastmap correctly for
10669 eight-bit-control characters.
10670
10671 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10672
10673 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
10674
10675 * keyboard.c (make_lispy_event): Handle the new event type
10676 multibyte_char_keystroke.
10677
10678 * xterm.c: Include coding.h.
10679 (XTread_socket): Work around a bug of XmbLookupString. If the
10680 input is from XIM, decode it according to the current locale. In
10681 that case, generate multibyte_char_keystroke events.
10682
10683 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10684
10685 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10686 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10687
10688 2000-08-10 Gerd Moellmann <gerd@gnu.org>
10689
10690 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10691 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10692 (move_it_in_display_line_to): Record iterator's ascent and descent
10693 before producing glyphs, and restore them when we know the glyph
10694 doesn't fit on the line.
10695 (move_it_to): Restructured so that it's easier to debug. If
10696 moving to a vpos, and not moving to an x or character position,
10697 stop as soon as the specified vpos is reached; don't move further
10698 into that line because that might change the computed line height.
10699 (try_cursor_movement): New function, extracted from the cursor
10700 movement branch of redisplay_window. If ending on a partially
10701 visible line, don't try to scroll if the cursor line is taller
10702 than the window.
10703 (redisplay_window): Use try_cursor_movement.
10704
10705 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10706 because that function doesn't cope with variable-height lines.
10707
10708 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10709 box cursor because that's better visible for large images.
10710
10711 2000-08-10 Miles Bader <miles@gnu.org>
10712
10713 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10714
10715 2000-08-10 Gerd Moellmann <gerd@gnu.org>
10716
10717 * xdisp.c (Vmessages_buffer_name): New variable.
10718 (message_dolog): Use it.
10719 (syms_of_xdisp): Initialize it.
10720
10721 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10722
10723 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
10724 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10725 redundant now that keyboard.h is included.
10726
10727 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10728
10729 * keyboard.c (kbd_buffer_events_waiting): New function.
10730
10731 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10732
10733 * msdos.c: Include keyboard.h.
10734 (XMenuActivate): Empty no_event events from the event buffer. If
10735 no events are left after that, call clear_input_pending.
10736 (mouse_clear_clicks): New function, code moved from mouse_init.
10737 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10738 mouse driver to ``forget'' any past clicks.
10739
10740 * Makefile.in (msdos.o): Depend on keyboard.h.
10741
10742 2000-08-09 Gerd Moellmann <gerd@gnu.org>
10743
10744 * lisp.h (input_pending): External declaration.
10745
10746 * dispextern.h (Qredisplay_dont_pause): Declare extern.
10747
10748 * xdisp.c (echo_area_display): Display thoroughly if input is
10749 pending. Bind redisplay-dont-pause to t during the redisplay.
10750 in case input is pending.
10751
10752 * dispnew.c (Qredisplay_dont_pause): New variable.
10753 (syms_of_display): Initialize and staticpro it.
10754 (update_frame_1): Don't interrupt the display for pending input if
10755 redisplay_dont_pause is set.
10756
10757 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10758
10759 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10760
10761 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10762
10763 * callproc.c (Fcall_process): Terminate the unwind-protect around
10764 the post-read-conversion of coding system.
10765
10766 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10767 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10768 * buffer.h (overlays_at): Update prototype.
10769 * xdisp.c (next_overlay_change): Update call to overlays_at.
10770 * xfaces.c (face_at_buffer_position): Likewise.
10771 * textprop.c (Fget_char_property): Likewise.
10772 * xterm.c (note_mouse_highlight): Likewise.
10773
10774 * minibuf.c (do_completion): Don't consider a simple change of
10775 case as `completion'.
10776
10777 2000-08-08 Ken Raeburn <raeburn@gnu.org>
10778
10779 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
10780 * undo.c (record_delete): Make sure last_point_position_buffer is
10781 a buffer before comparing pointers.
10782
10783 * coding.h (decode_coding_string): Declare.
10784
10785 * intervals.h (Fprevious_single_char_property_change): Declare.
10786
10787 * textprop.c (Fprevious_single_char_property_change): Don't do
10788 arithmetic directly on lisp objects.
10789
10790 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
10791
10792 * keyboard.h (menu_item_eval_property): Declare.
10793
10794 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10795 reuse as buffer name, instead of recreating (and discarding) every
10796 time a message is logged.
10797 (with_echo_area_buffer): Make callback arg A2 a lisp object.
10798 (current_message_1, truncate_message_1, set_message_1)
10799 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10800 (current_message, truncate_echo_area, display_echo_area)
10801 (resize_echo_area_axactly): Changed calls.
10802
10803 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
10804 Lisp object.
10805 (Ffind_coding_systems_region_internal): First argument to Fappend
10806 must be an integer, not a Lisp object.
10807
10808 2000-08-08 Kenichi Handa <handa@etl.go.jp>
10809
10810 * charset.c (Fchar_width): Doc fix.
10811
10812 2000-08-08 Gerd Moellmann <gerd@gnu.org>
10813
10814 * charset.c (Fstring_width): Doc fix.
10815
10816 2000-08-07 Gerd Moellmann <gerd@gnu.org>
10817
10818 * xdisp.c (start_display): When starting display on a continuation
10819 line, clear ascent and descent members of the iterator structure;
10820 the height of the continued line does not affect the height of the
10821 continuation line.
10822 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10823 line taller than the window.
10824 (redisplay_window) <forced window start>: Handle case that the
10825 middle of the window is not found in any row.
10826 (dump_glyph_row): Show more information.
10827 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10828 first text line in a glyph matrix.
10829
10830 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10831 of the clip area when image doesn't have a mask.
10832
10833 * fns.c (sweep_weak_table): Fix survival conditions for
10834 key-or-value and key-and-value weakness.
10835
10836 * .gdbinit (xhashtable): New command.
10837
10838 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10839 tables out of the list of all weak hash tables.
10840
10841 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10842 a new buffer is created, make sure echo_area_buffer[] references
10843 the new buffer.
10844
10845 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10846
10847 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10848 the doc string.
10849
10850 2000-08-07 Kenichi Handa <handa@etl.go.jp>
10851
10852 * syntax.c (skip_chars): Fix previous change. Make the handling
10853 of unibyte string consistent with that of regex search.
10854
10855 2000-08-05 Gerd Moellmann <gerd@gnu.org>
10856
10857 * xmenu.c (popup_get_selection): Use xfree instead of free.
10858
10859 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10860
10861 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10862
10863 * callproc.c (child_setup): Use xfree instead of free.
10864
10865 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10866 instead of malloc.
10867 (run_mac_command, closedir): Use `xfree' instead of `free'.
10868
10869 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10870
10871 * eval.c (error): Use xfree instead of free.
10872
10873 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10874
10875 * fns.c: Replace `illegal' with `invalid'.
10876 (Fmake_hash_table, make_hash_table): Allow table size of 0.
10877
10878 2000-08-05 Kenichi Handa <handa@etl.go.jp>
10879
10880 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10881 conversion.
10882
10883 2000-08-04 Noah Friedman <friedman@splode.com>
10884
10885 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10886 docstring.
10887
10888 2000-08-04 Gerd Moellmann <gerd@gnu.org>
10889
10890 * syntax.c (skip_chars): Fix typo in error message.
10891
10892 2000-08-04 Andreas Schwab <schwab@suse.de>
10893
10894 * m/ia64.h: Moved from s/ia64.h.
10895
10896 2000-08-04 Kenichi Handa <handa@etl.go.jp>
10897
10898 * process.c (read_process_output): Big simplification. Handle
10899 composition and post-read-conversion of coding system correctly.
10900 (send_process): Handle composition correctly.
10901
10902 * callproc.c (Fcall_process): Handle post-read-conversion of
10903 coding system if any.
10904
10905 * coding.c (decode_coding_iso2022): More strict check for handling
10906 single shifting.
10907 (coding_restore_composition): Pay attention to the case that
10908 cmp_data is not set properly (because of invalid code in the
10909 source text).
10910 (run_pre_post_conversion_on_str): Include text properties in the
10911 resulting string.
10912 (decode_coding_string): Set members of coding correctly.
10913
10914 2000-08-03 Gerd Moellmann <gerd@gnu.org>
10915
10916 * s/ia64.h: New file.
10917
10918 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10919 Use NULL instead of 0 at the end of variable argument list of
10920 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10921 sizeof (int) < sizeof (void *).
10922
10923 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10924 of variable argument lists of XtVaGetValues and XtVaSetValues.
10925
10926 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10927 variable argument lists of XtVaGetValues and XtVaSetValues.
10928
10929 2000-08-02 Gerd Moellmann <gerd@gnu.org>
10930
10931 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10932 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10933
10934 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10935 prototype.
10936
10937 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10938 in call to Fsingle_key_description.
10939
10940 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10941 Callers changed.
10942
10943 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10944
10945 * window.c (display_buffer_reuse_frames): New variable.
10946 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10947 frames displaying BUFFER.
10948 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
10949
10950 2000-08-01 Miles Bader <miles@gnu.org>
10951
10952 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10953 when to constrain NEW_POS (they were pretty screwed up before).
10954
10955 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10956
10957 * msdos.c (run_msdos_command): Save and restore the master
10958 environment, for the case that child_setup signals an error.
10959 When mirroring slashes in DOS shell commands, don't fail when
10960 argv[2] has embedded blanks.
10961 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10962 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10963 (dos_ttraw): Call mouse_setup_buttons.
10964
10965 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10966 using alloca; free it after run_msdos_command returns.
10967
10968 2000-07-27 Dave Love <fx@gnu.org>
10969
10970 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10971 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
10972
10973 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10974
10975 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10976
10977 * editfns.c (lisp_time_argument): Fix last change.
10978
10979 2000-07-27 Gerd Moellmann <gerd@gnu.org>
10980
10981 * fns.c (Fdelete): Make it work on vectors and strings in addition
10982 to lists.
10983
10984 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10985 (syms_of_fns): Initialize new variables.
10986 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
10987 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10988 weakness, with t meaning the same as `key-and-value'.
10989
10990 2000-07-27 Kenichi Handa <handa@etl.go.jp>
10991
10992 * coding.h (struct coding_system): Member safe_charset deleted.
10993
10994 * coding.c (Qsafe_charsets): This variable deleted.
10995 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10996 New variables.
10997 (coding_safe_chars): New function.
10998 (CODING_SAFE_CHAR_P): New macro.
10999 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
11000 checking safe_charsets member of the coding system. Caller changed.
11001 (detect_coding_iso2022): New local variable safe_chars.
11002 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
11003 safe_charsets member of the coding system.
11004 (decode_coding_iso2022): New local variable safe_chars.
11005 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
11006 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
11007 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
11008 (ENCODE_UNSAFE_CHARACTER): New macro.
11009 (encode_coding_iso2022): New local variable safe_chars. Check
11010 unsafe chars.
11011 (setup_coding_system): Delete the code to initialize
11012 coding->safe_charses
11013 (intersection, find_safe_codings): New functions.
11014 (Ffind_coding_systems_region_internal): New function.
11015 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
11016 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
11017 variable and initialize it.
11018
11019 * fns.c (char_table_ref_and_index): New function.
11020
11021 * lisp.h (char_table_ref_and_index): Add prototype.
11022
11023 2000-07-26 Sam Steingold <sds@gnu.org>
11024
11025 * editfns.c (lisp_time_argument): Added third argument `usec'.
11026 (Ffloat_time): New built-in Lisp function.
11027
11028 2000-07-26 Gerd Moellmann <gerd@gnu.org>
11029
11030 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
11031 for the character code.
11032
11033 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
11034 GNU/Linux.
11035
11036 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
11037 if called for a popup menu.
11038 (xmenu_show): Store help string in widget values.
11039
11040 2000-07-26 Dave Love <fx@gnu.org>
11041
11042 * syswait.h: Move some definitions.
11043 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
11044 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
11045 perspicuous definitions.
11046 (WTERMSIG): Fix bit pattern used.
11047
11048 2000-07-26 Kenichi Handa <handa@etl.go.jp>
11049
11050 * print.c (print_object): If vector printing is truncated, print
11051 "..." to indicate it as well as the case of list printing.
11052
11053 2000-07-25 Gerd Moellmann <gerd@gnu.org>
11054
11055 * xdisp.c (next_element_from_display_vector): Improve comments.
11056
11057 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
11058 for the character code, and the rest for the face id as in 20.x.
11059 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
11060
11061 * window.c (window_display_table): Cleaned up.
11062
11063 * syntax.c (Fforward_word): Add last arg nil in call of
11064 Fconstrain_to_field.
11065
11066 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
11067
11068 * fileio.c (Frename_file) [DOS_NT]: If the file names are
11069 identical but for the letter-case, don't call
11070 barf_or_query_if_file_exists.
11071
11072 2000-07-25 Miles Bader <miles@gnu.org>
11073
11074 * editfns.c (find_field): Honor special `boundary' fields.
11075 (Qboundary): New variables.
11076 (syms_of_editfns): Initialize Qboundary.
11077 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
11078 Use scan_buffer instead of find_before_next_newline, because it
11079 allows us to detect the boundary case where there's a newline at
11080 the search limit.
11081 * lisp.h (Fconstrain_to_field): Update external declaration.
11082
11083 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11084
11085 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
11086 if that is nil.
11087
11088 2000-07-24 Dave Love <fx@gnu.org>
11089
11090 * s/sunos4-0.h, s/sol2.h:
11091 (LIBS_TERMCAP): Move from m/sparc.h.
11092
11093 * m/sparc.h (TERMINFO): Moved to system files (probably only
11094 relevant for sunos4 judging by its vintage).
11095 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
11096 __arch64__.
11097
11098 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
11099
11100 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
11101 name to single_keymap_panes.
11102
11103 2000-07-24 Andreas Schwab <schwab@suse.de>
11104
11105 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
11106
11107 2000-07-24 Gerd Moellmann <gerd@gnu.org>
11108
11109 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
11110 parameters instead of using int parameters. Expect FN to accept
11111 EMACS_INT parameters.
11112 (display_echo_area, resize_echo_area_axactly, current_message)
11113 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
11114 with new argument list.
11115 (resize_mini_window_1): New callback function.
11116 (current_message_1, truncate_message_1, set_message_1): Change
11117 parameter lists to the new format expected by with_echo_area_buffer.
11118
11119 2000-07-24 Kenichi Handa <handa@etl.go.jp>
11120
11121 * fontset.c (fontset_ref): Remove INLINE declaration.
11122 (fontset_ref_via_base): Likewise.
11123 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
11124 to downcase.
11125
11126 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
11127
11128 * msdos.c (IT_note_mouse_highlight): Process overlays in the
11129 correct order of priority. If help echo was found in an overlay,
11130 use that overlay as the object in which the help echo was found.
11131
11132 2000-07-22 Miles Bader <miles@gnu.org>
11133
11134 * textprop.c (Fprevious_single_char_property_change): The initial
11135 property value should be from the position preceding POSITION, not
11136 following it.
11137
11138 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
11139
11140 * coding.c (syms_of_coding): Doc fix for
11141 inhibit-iso-escape-detection.
11142
11143 2000-07-21 Gerd Moellmann <gerd@gnu.org>
11144
11145 * xterm.c (note_mouse_highlight): Process overlays in the right
11146 order of priority.
11147
11148 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
11149
11150 * xterm.c (note_mouse_highlight): If help-echo was found in an
11151 overlay, use that overlay as the object in which the help was found.
11152
11153 * window.c (foreach_window_1): Fix typo reversing an if-condition.
11154
11155 * window.c (foreach_window): Instead of a fake variable argument
11156 list, take one USER_DATA argument.
11157 (foreach_window_1): Likewise, and call callback functions with two
11158 args, the window and USER_DATA.
11159 (struct check_window_data): New struct.
11160 (check_window_containing): Use it.
11161 (window_from_coordinates): Set up a struct check_window_data for
11162 foreach_window.
11163 (add_window_to_list, freeze_window_start): Change parameters
11164 according to new calling convention.
11165
11166 * window.h (foreach_window): Change prototype.
11167
11168 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
11169
11170 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
11171
11172 * xmenu.c (menu_help_callback): Call show_help_echo with
11173 additional arguments OBJECT and POS.
11174
11175 2000-07-21 Kenichi Handa <handa@etl.go.jp>
11176
11177 * data.c (Faset): Allow storing any multibyte character in a
11178 string. Convert unibyte string to multibyte if necessary.
11179
11180 * xfns.c (x_encode_text): New function.
11181 (x_set_name): Use x_encode_text.
11182 (x_set_title): Likewise.
11183
11184 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
11185
11186 * xterm.h (x_encode_text): Add prototype.
11187
11188 2000-07-20 Dave Love <fx@gnu.org>
11189
11190 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
11191 xfree, not free.
11192
11193 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
11194
11195 * msdos.c (help_echo_window): New variable.
11196 (syms_of_msdos): Initialize and staticpro it.
11197 (IT_note_mode_line_highlight): Set help_echo_window.
11198 (IT_note_mouse_highlight): Ditto.
11199 (dos_rawgetc): Store help_echo_window in the second event produced
11200 for HELP_EVENTs.
11201
11202 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
11203 Record the object that generated the help echo and the position of
11204 that object in help_echo_object and help_echo_pos. Record that
11205 some glyphs in a row are displayed in mouse-face.
11206 (IT_update_begin): Don't clear mouse highlight unless one of the
11207 enabled glyph rows is marked as being displayed in mouse-face.
11208 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
11209 and position recorded in help_echo_object and help_echo_pos to the
11210 event queue.
11211 (IT_menu_display): Accept a new argument PN: the pane number of
11212 the current menu pane. Record the pane number and the item
11213 number of the item which has associated help string.
11214 (XMenuActivate): Update the prototype for help_callback in
11215 function declaration. Call IT_menu_display with the current menu
11216 pane number as an additional argument. Call help_callback with
11217 two additional arguments: the pane number and the item number of
11218 the menu item associated with the help text.
11219 (help_echo_object, help_echo_pos): New variables.
11220 (syms_of_msdos): Initialize them and staticpro help_echo_object.
11221
11222 * msdos.h (XMenuActivate): Update prototype.
11223
11224 2000-07-19 Gerd Moellmann <gerd@gnu.org>
11225
11226 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
11227 Add some more prototypes.
11228
11229 * xterm.c, xterm.h: Add some more prototypes.
11230
11231 * lisp.h (Fnext_single_char_property_change): Add prototype.
11232
11233 * dispnew.c (direct_output_for_insert): Remove confusing
11234 outer local variable mouse_face_overwritten_p.
11235 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
11236
11237 * alloc.c (allocate_string_data): Don't copy old string contents.
11238
11239 2000-07-19 Kenichi Handa <handa@etl.go.jp>
11240
11241 * coding.c (code_convert_region): Delete text properties before
11242 shrinking the conversion region.
11243
11244 2000-07-18 Gerd Moellmann <gerd@gnu.org>
11245
11246 * dispnew.c (update_text_area): Write the whole row if it
11247 has mouse-face in it.
11248
11249 * xfaces.c (face-alternative-font-family-alist): Remove
11250 DEFVAR_LISP; staticpro instead.
11251
11252 * xmenu.c (menu_help_callback): Call show_help_echo with
11253 new arguments.
11254
11255 * keyboard.c (show_help_echo): Add parameter WINDOW.
11256 (read_char): Call show_help_echo with window extracted from Lisp
11257 help event.
11258 (gen_help_event): Add parameter WINDOW.
11259
11260 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
11261
11262 * xterm.c (help_echo_window): New variable.
11263 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
11264 (XTread_socket): Pass help_echo_window to gen_help_event.
11265 (syms_of_xterm): Initialize and staticpro help_echo_window.
11266
11267 2000-07-18 Dave Love <fx@gnu.org>
11268
11269 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
11270
11271 2000-07-18 Gerd Moellmann <gerd@gnu.org>
11272
11273 * alloc.c (allocate_string_data): If string had already data
11274 assigned, copy old contents to new string data.
11275
11276 * coding.c (syms_of_coding): Fix typo in spelling of variable
11277 `inhibit-iso-escape-detection'.
11278
11279 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
11280
11281 * Makefile.in: Add dependencies on dispextern.h.
11282 (alloca.o): Don't define malloc and define EMACS_FREE instead of
11283 `free'; both can conflict with system header files.
11284
11285 2000-07-18 Kenichi Handa <handa@etl.go.jp>
11286
11287 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
11288 undefined.
11289
11290 2000-07-18 Dave Love <fx@gnu.org>
11291
11292 * window.c (Fwindow_list): Declare arg `window'.
11293
11294 2000-07-18 Kenichi Handa <handa@etl.go.jp>
11295
11296 * coding.c (setup_coding_system): Don't override the explicitly
11297 specified designations.
11298
11299 2000-07-15 Miles Bader <miles@gnu.org>
11300
11301 * editfns.c (char_property_eq, char_property_stickiness): Renamed
11302 from `text_property_eq' and `text_property_stickiness', respectively.
11303 (find_field, Fconstrain_to_field, char_property_eq)
11304 (char_property_stickiness): Changed to call char-property functions
11305 instead of text-property-only ones.
11306
11307 * textprop.c (Fnext_single_char_property_change): Made a subr (was
11308 `next_single_char_property_change'). Do more error checking, and
11309 cleanup limit behavior.
11310 (Fprevious_single_char_property_change): New function.
11311 (syms_of_textprop): Initialize new subrs.
11312
11313 * xdisp.c (display_prop_end, invisible_text_between_p):
11314 Call Fnext_single_char_property_change instead of
11315 next_single_char_property_change.
11316
11317 2000-07-15 Jason Rumney <jasonr@gnu.org>
11318
11319 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
11320 after menu is finished with.
11321 (add_menu_item): Only consider wv->title as a menu title.
11322 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
11323
11324 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
11325 null title.
11326 (FONT_REGEXP): Remove unused macro, and its sub-components.
11327 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
11328
11329 * w32term.c (help_echo_object, help_echo_pos): New variables.
11330 (note_mode_line_highlight): Store additional information about the
11331 help-echo in help_echo_object and help_echo_pos. Check both
11332 `local-map' and `keymap' properties for changing the cursor
11333 (note_mouse_highlight): Store additional information about the
11334 help-echo in help_echo_object and help_echo_pos.
11335 (note_tool_bar_highlight): Set help_echo_object to nil and
11336 help_echo_pos to -1.
11337 (w32_read_socket): Use gen_help_event instead of filling
11338 input_events manually.
11339 (syms_of_w32term): Staticpro help_echo_object.
11340 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
11341 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
11342 (x_clear_mouse_face): New function.
11343 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
11344 (x_update_window_begin): No need to turn off the mouse
11345 highlight here.
11346 (show_mouse_face): Set the mouse_face_p flag of glyph rows
11347 depending on whether they contain glyphs highlighted in mouse-face.
11348 (x_fill_stretch_glyph_string): Consume runs of stretch
11349 glyphs instead of a single one.
11350 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11351 with new argument list.
11352 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11353 (x_append_glyph, x_append_composite_glyph)
11354 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11355 changes in struct glyph starting 1999-12-27. See comments for
11356 xterm.c on 2000-07-05.
11357
11358 2000-07-14 Sam Steingold <sds@gnu.org>
11359
11360 * xfaces.c (realize_x_face): Fix the last patch:
11361 check `default_face' before dereferencing.
11362
11363 2000-07-14 Dave Love <fx@gnu.org>
11364
11365 * syntax.c (back_comment): Add null default in switch (for pcc).
11366
11367 2000-07-14 Kenichi Handa <handa@etl.go.jp>
11368
11369 * xfaces.c (realize_x_face): Make fontset using the base of the
11370 default_face's fontset, not using the default fontset.
11371
11372 * coding.c (inhibit_iso_escape_detection): New variable.
11373 (syms_of_coding): Make it a Lisp variable.
11374 (detect_coding_iso2022): If inhibit_iso_escape_detection is
11375 nonzero, ignore ISO2022's escape sequence.
11376
11377 2000-07-14 Gerd Moellmann <gerd@gnu.org>
11378
11379 * alloca.c (malloc) [emacs]: Define as xmalloc.
11380
11381 * xfns.c (Fx_show_tip): If frame parameters contain a position,
11382 use that instead of the mouse position. Add parameters DX and DY.
11383
11384 * dispextern.h (Fx_show_tip): Adjust number of parameters
11385 in prototype.
11386
11387 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
11388 if HELP is a function, call it with OBJECT and POS as parameters
11389 to get the help to display.
11390 (gen_help_event, kbd_buffer_store_help_event): New functions.
11391 (kbd_buffer_get_event): Construct the Lisp help-event differently.
11392 (read_char): Call show_help_echo with new parameters.
11393
11394 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
11395 Add prototypes.
11396
11397 * xterm.c (help_echo_object, help_echo_pos): New variables.
11398 (note_mode_line_highlight): Store additional information about the
11399 help-echo in help_echo_object and help_echo_pos. Check both
11400 `local-map' and `keymap' properties for changing the cursor
11401 (note_mouse_highlight): Store additional information about the
11402 help-echo in help_echo_object and help_echo_pos.
11403 (note_tool_bar_highlight): Set help_echo_object to nil and
11404 help_echo_pos to -1.
11405 (XTread_socket): Use gen_help_event instead of filling
11406 input_events manually.
11407 (syms_of_xterm): Staticpro help_echo_object.
11408
11409 * xmenu.c (menu_highlight_callback): Use
11410 kbd_buffer_store_help_event instead of setting up and input_event
11411 structure manually.
11412
11413 * xdisp.c (eval_form): GCPRO argument sexpr.
11414 (call_function): New function.
11415 (handle_single_display_prop): Use call_function and FUNCTIONP
11416 instead of checking whether if font_height is a symbol and
11417 using eval_form.
11418
11419 * eval.c (internal_condition_case_2): New function.
11420
11421 * lisp.h (FUNCTIONP): New macro.
11422 (internal_condition_case_2, call_function): Add prototypes.
11423
11424 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
11425 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
11426 Always set `arg' member of input_events.
11427 (construct_menu_click): Unused function removed.
11428
11429 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
11430
11431 * w32term.c (construct_mouse_click, construct_mouse_wheel)
11432 (construct_drag_n_drop, x_scroll_bar_handle_click)
11433 (w32_read_socket): Always set `arg' member of input_events.
11434
11435 * keyboard.c (show_help_echo): Use eval_form. Add comment.
11436
11437 * lisp.h (eval_form): Add prototype.
11438
11439 * xdisp.c (eval_form): Make it externally visible.
11440
11441 2000-07-13 Gerd Moellmann <gerd@gnu.org>
11442
11443 * xterm.c (x_handle_tool_bar_click): Store the frame in the
11444 frame_or_window slot of TOOL_BAR_EVENT input events instead of
11445 consing. For prefix events, store the frame in the `arg' slot of
11446 the event, otherwise store the key there.
11447 (XTread_socket): Instead of consing, use the frame_or_window slot
11448 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
11449
11450 * xmenu.c (menu_highlight_callback): Store help string in the
11451 `arg' member of the input event; don't cons.
11452 (menubar_selection_callback): Use the `arg' slot of input events
11453 to queue additional information, instead of consing.
11454
11455 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
11456
11457 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
11458 TOOL_BAR_EVENTs.
11459 (w32_read_socket): Adapt to changes in HELP_EVENTs.
11460
11461 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
11462 input events to queue additional information, instead of consing.
11463
11464 * keyboard.c (kbd_buffer_gcpro): Renamed from
11465 kbd_buffer_frame_or_window. Now used for all Lisp objects
11466 referenced from the input queue.
11467 (kbd_buffer_store_event): Always use structure assignment for
11468 copying input events. Record all Lisp objects referenced from
11469 events in kbd_buffer_gcpro.
11470 (kbd_buffer_get_event): Construct Lisp `help-echo' events
11471 differently from input events. Test for prefix menu_bar_events
11472 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
11473 event in kbd_buffer_gcpro to nil.
11474 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
11475 frame_or_window is equal to its arg member as prefix events.
11476 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
11477 used by an input event to nil.
11478 (init_keyboard): Use two times the size of the input queue
11479 for kbd_buffer_gcpro.
11480 (syms_of_keyboard): Likewise.
11481
11482 * emacs.c (handle_USR2_signal, handle_USR1_signal):
11483 Use USER_SIGNAL_EVENT.
11484
11485 * termhooks.h (struct input_event): Add member `arg'.
11486 (MENU_BAR_EVENT): Renamed from menu_bar_event.
11487 (USER_SIGNAL_EVENT): Renamed from user_signal.
11488
11489 * xfaces.c (ASET): Remove definition.
11490
11491 * lisp.h (AREF, ASET, ASIZE): New macros.
11492
11493 * fontset.c (AREF, ASIZE): Remove definitions.
11494
11495 * fns.c (AREF): Remove definition.
11496
11497 * composite.c (AREF): Remove definition.
11498
11499 2000-07-12 Gerd Moellmann <gerd@gnu.org>
11500
11501 * dispnew.c (redraw_overlapped_rows): Add missing local.
11502 (scrolling_window): Remove debug code.
11503
11504 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
11505 Before scrolling, turn off a mouse-highlight in the window
11506 being scrolled.
11507
11508 * xterm.c (x_update_window_end): Add parameter
11509 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
11510 redisplay in XTframe_up_to_date.
11511 (x_clear_mouse_face): New function.
11512 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
11513
11514 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11515 current glyph row.
11516 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11517 it when any row is written to that contains glyphs highlighted in
11518 mouse-face.
11519 (update_window): Call the window update end hook with new
11520 parameter MOUSE_FACE_OVERWRITTEN_P.
11521 (direct_output_for_insert): Give up if row contains mouse-face.
11522
11523 * dispextern.h (struct redisplay_interface): Add parameter
11524 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11525 (clear_mouse_face): New function pointer member.
11526
11527 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11528
11529 * syntax.c (back_comment): Use one switch rather than a few `if's.
11530 Obey open_paren_in_column_0_is_defun_start.
11531 When reverting to the `slow' method, try to nicely handle the case
11532 of nested comments by checking that the comment-starter we found
11533 does indeed match the comment-ender.
11534 (scan_sexps_forward, scan_sexps_forward):
11535 Ignore excessive opening parenthesis rather than throwing an error.
11536
11537 2000-07-11 Gerd Moellmann <gerd@gnu.org>
11538
11539 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11540 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11541
11542 * dispnew.c (direct_output_forward_char): Give up if currently
11543 displaying a message instead of the minibuffer contents.
11544
11545 * xterm.c (x_update_window_begin): No need to turn off the mouse
11546 highlight here.
11547 (show_mouse_face): Set the mouse_face_p flag of glyph rows
11548 depending on whether they contain glyphs highlighted in mouse-face.
11549
11550 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11551 compare the mouse_face_p flags of both rows.
11552
11553 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11554
11555 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11556
11557 * keyboard.c (show_help_echo): Accept additional parameter
11558 ok_to_overwrite_keystroke_echo.
11559 (read_char): Call show_help_echo with a zero
11560 ok_to_overwrite_keystroke_echo argument.
11561 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
11562 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11563 ok_to_overwrite_keystroke_echo argument.
11564 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11565 non-zero ok_to_overwrite_keystroke_echo argument.
11566
11567 2000-07-10 Gerd Moellmann <gerd@gnu.org>
11568
11569 * xdisp.c (try_window_id): If changes are all below what is
11570 displayed in the window, and point is in the window, we still
11571 might have to find point on the display.
11572
11573 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11574 glyphs instead of a single one.
11575 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11576 with new argument list.
11577 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11578
11579 * keymap.c (get_keymap_1): Add comment that this function can GC.
11580 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11581 comment that functions can GC.
11582 (Fset_keymap_parent): GCPRO arg KEYMAP.
11583
11584 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11585
11586 * msdos.c (XMenuActivate): After exiting the menu, restore the
11587 echo area message and erase it.
11588
11589 2000-07-10 Kenichi Handa <handa@etl.go.jp>
11590
11591 * fontset.c (Ffontset_info): Make the return value more compatible
11592 with that of Emacs 20.
11593
11594 2000-07-07 Gerd Moellmann <gerd@gnu.org>
11595
11596 * eval.c (Fsignal): Handle case that backtrace_list is null.
11597
11598 2000-07-07 Kenichi Handa <handa@etl.go.jp>
11599
11600 * ccl.c (Fccl_execute): Typo fixed.
11601
11602 2000-07-06 Gerd Moellmann <gerd@gnu.org>
11603
11604 * window.c (window_loop): Add missing gcpro1 local variable.
11605
11606 * window.c (Fwindow_list): Reverse list at the end.
11607 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11608 means allow windows on OWINDOW's frame, only.
11609 (window_loop): Simplified; use Fwindow_list.
11610
11611 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11612
11613 2000-07-05 Gerd Moellmann <gerd@gnu.org>
11614
11615 * xterm.c (XTread_socket): Increment handling_signal at the start,
11616 decrement it at the end.
11617
11618 * eval.c (handling_signal): New variable.
11619 (Fsignal): Abort if handling_signal is non-zero.
11620
11621 * lisp.h (handling_signal): External declaration.
11622
11623 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11624
11625 2000-07-05 Ken Raeburn <raeburn@gnu.org>
11626
11627 Sound support for NetBSD through "Linux emulation" support:
11628 * config.in (HAVE_SOUNDCARD_H): Undef.
11629 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11630 * Makefile.in (LIBSOUND): New variable.
11631 (LIBES): Include it.
11632 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11633 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
11634 (vox_open): Use DEFAULT_SOUND_DEVICE.
11635 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11636
11637 2000-07-05 Gerd Moellmann <gerd@gnu.org>
11638
11639 * print.c (print_error_message): If Vsignaling_function is set,
11640 show it in *Messages*.
11641
11642 * lisp.h (Vsignaling_function): External declaration.
11643
11644 * eval.c (Vsignaling_function): New variable.
11645 (Fsignal): Compute it.
11646 (syms_of_eval): Staticpro it.
11647
11648 2000-07-05 Dave Love <fx@gnu.org>
11649
11650 * syswait.h: Use the autoconf recommended approach. Old code
11651 #if'd out in case we need to revert.
11652
11653 * config.in (HAVE_SYS_WAIT_H): Added.
11654
11655 2000-07-05 Andrew Innes <andrewi@gnu.org>
11656
11657 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11658 when non-NULL instead of __morecore, to take account of buffer
11659 memory. This also solves a problem with spurious memory warnings
11660 on Windows.
11661
11662 * ralloc.c: Make real_morecore non-static.
11663
11664 * eval.c (internal_condition_case): Comment out abort if
11665 interrupt_input_blocked is not zero.
11666
11667 * makefile.nt: Add support for `bootstrap' and related targets.
11668 Include minimal debug info in emacs.exe in release build.
11669 Remove all dependencies on lisp.h, and fixup some others.
11670
11671 * w32.c (init_environment): Install code from 20.7 for providing
11672 default values for environment variables, based on the
11673 executable's own location.
11674 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
11675 (sys_socket): Install socket inheritance bug fix from 20.7.
11676
11677 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11678 here via blockinput.h).
11679
11680 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11681
11682 * w32menu.c (w32_menu_display_help):
11683 * xmenu.c (menu_help_callback): Use show_help_echo.
11684
11685 * keyboard.h (show_help_echo): Declare.
11686
11687 * keyboard.c (show_help_echo): New function, extracted from read_char.
11688 Feval its `msg' argument if it's a cons cell.
11689 (read_char): Use it.
11690 (follow_key): Pass `autoload' to get_keyelt.
11691
11692 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
11693 (note_tool_bar_highlight, XTread_socket):
11694 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
11695 (dos_rawgetc):
11696 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11697 (note_tool_bar_highlight, w32_read_socket):
11698 Do not gratuitously ignore non-string `help-echo' properties.
11699
11700 2000-07-05 Gerd Moellmann <gerd@gnu.org>
11701
11702 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11703
11704 * window.c (delete_all_subwindows): Reset Vwindow_list.
11705
11706 * xterm.c (x_append_glyph, x_append_composite_glyph)
11707 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11708 changes in struct glyph starting 1999-12-27. Some bit-fields of
11709 struct glyph were not set, which made glyphs unequal when compared
11710 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11711 effects were the result. This also depended on the contents of
11712 memory returned by xmalloc. If flickering happens again, activate
11713 the code in clear_glyph_row that's in #if 0. If the flickering is
11714 gone with that, chances are that it is caused by something similar.
11715
11716 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
11717
11718 * dispextern.h: Add some comments.
11719
11720 * window.c (add_window_to_list): Add parameter LIST.
11721 (window_list): Order list so that, for each frame, windows are
11722 in canonical order, and so that frames appear in the list in
11723 the order given by Vframe_list.
11724 (next_window): Reverse the handling of NEXT_P.
11725
11726 2000-07-04 Gerd Moellmann <gerd@gnu.org>
11727
11728 * window.c (Vwindow_list): New variable.
11729 (make_window, delete_window): Set Vwindow_list to nil.
11730 (check_window_containing): New function.
11731 (window_from_coordinates): Rewritten.
11732 (add_window_to_list, window_list, candidate_window_p)
11733 (decode_next_window_args, next_window): New functions.
11734 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
11735 (Fwindow_list): New function.
11736 (Fother_window): Cleaned up.
11737 (foreach_window): Add a longer "variable argument list". Let
11738 callback function return 0 to indicate that cycling over windows
11739 should stop.
11740 (foreach_window_1): Likewise.
11741 (freeze_window_start): Return int.
11742 (init_window): New function.
11743 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11744
11745 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11746 input_event with bzero.
11747 (main): Call init_window.
11748
11749 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11750 a menu filter.
11751
11752 2000-07-04 Kenichi Handa <handa@etl.go.jp>
11753
11754 * composite.h (make_composition_value_copy): Extern it.
11755
11756 * composite.c (make_composition_value_copy): New function.
11757
11758 * editfns.c (Fformat): While copying text properties, make each
11759 composition property value a copy.
11760
11761 * fns.c (concat): While copying text properties, make each
11762 composition property value a copy.
11763
11764 2000-07-03 Gerd Moellmann <gerd@gnu.org>
11765
11766 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11767
11768 * fns.c (sweep_weak_table): Mark only objects that are not
11769 marked already.
11770
11771 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11772 include those frames as candidates which have their focus
11773 redirected to the minibuffer frame.
11774
11775 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11776
11777 * fns.c (Fputhash): Return `value' rather than nil.
11778
11779 2000-06-30 Gerd Moellmann <gerd@gnu.org>
11780
11781 * frame.c (next_frame): Don't check focus redirection in case
11782 MINIBUF is a window. Doing so excludes frames using MINIBUF
11783 unless their focus is redirected, which contradicts the
11784 specification of next-frame, and leads to infinite loops in
11785 certain situations when cycling through windows with next-window.
11786
11787 2000-06-30 Kenichi Handa <handa@etl.go.jp>
11788
11789 * coding.c (code_convert_region): Even if the length of text is
11790 zero, try to convert it if coding->type is coding_type_ccl.
11791 (decode_coding_string, encode_coding_string): Likewise.
11792
11793 2000-06-28 Gerd Moellmann <gerd@gnu.org>
11794
11795 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
11796 the display if windows_or_buffers_changed.
11797
11798 * dispnew.c (struct row_entry): New structure.
11799 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11800 (row_table_size, old_lines, new_lines, old_lines_size)
11801 (new_lines_size, run_pool, runs_size, runs): New variables.
11802 (add_row_entry): New function.
11803 (scrolling_window): Use data structures allocated with xmalloc and
11804 held in global variables, instead of allocating them with alloca and
11805 holding them in local variables. Use a larger hash table whose
11806 size depends on glyph matrix sizes. Don't use bzero to clear the
11807 hash table; instead, clear used slots only.
11808
11809 * fns.c (next_almost_prime): Make it externally visible.
11810
11811 * lisp.h (next_almost_prime): Add prototype.
11812
11813 * s/isc4-0.h (sigunblock): Define.
11814
11815 * s/sco5.h (sigunblock): Define.
11816
11817 2000-06-27 Dave Love <fx@gnu.org>
11818
11819 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11820 (moved to osf5-0.h).
11821 [!NOT_C_CODE]: Protect string.h stuff.
11822
11823 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11824 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11825
11826 2000-06-27 Gerd Moellmann <gerd@gnu.org>
11827
11828 * xdisp.c (resize_mini_window): Subtract the extra line spacing
11829 below the last line from the needed window height.
11830
11831 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11832
11833 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11834 (Fwidget_get): Use it.
11835 (syms_of_fns): Defsubr it.
11836
11837 2000-06-26 Gerd Moellmann <gerd@gnu.org>
11838
11839 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
11840 display info for XIM.
11841 (xim_open_dpy): Likewise.
11842 (xim_close_dpy): Don't free the display info's XIM.
11843
11844 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11845
11846 * config.in (USE_XIM): New define.
11847
11848 * keymap.c (get_keyelt): For menu-items containing a `:filter
11849 FILTER', apply FILTER to the menu-item's definition to get the
11850 real definition to use.
11851
11852 * lisp.h (QCfilter): External declaration.
11853
11854 * xfns.c (Fimage_size): New function.
11855 (syms_of_xfns): Defsubr it.
11856
11857 2000-06-26 Andreas Schwab <schwab@suse.de>
11858
11859 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11860 Fstring_as_unibyte.
11861
11862 2000-06-25 Dave Love <fx@gnu.org>
11863
11864 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
11865
11866 * Makefile.in (blockinput.h): Depend on atimer.h.
11867 (atimer.h): Depend on systime.h.
11868
11869 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
11870
11871 * atimer.h: Protect against multiple inclusion. Include systime.h.
11872
11873 * lisp.h (swap_in_global_binding): Declare.
11874
11875 2000-06-24 Ken Raeburn <raeburn@gnu.org>
11876
11877 * process.c (Fopen_network_stream): Turn off atimers for duration
11878 of call to connect. (Patch from Gerd.)
11879
11880 2000-06-23 Dave Love <fx@gnu.org>
11881
11882 * ralloc.c: Maybe include unistd.h
11883
11884 * emacs.c (setgrp): Undefine before defining.
11885 (malloc_warning, set_time_zone_rule, index): Prototype.
11886
11887 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11888 HAVE_STRUCT_TIMEZONE.
11889
11890 * s/osf1.h: Move string.h hack here from alpha.h and make it
11891 conditional.
11892 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11893 _XOPEN_SOURCE.
11894 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11895 (SOCKLEN_TYPE): Don't define.
11896
11897 * m/alpha.h: Remove string.h hack.
11898
11899 * s/osf5-0.h: New file.
11900
11901 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11902 include time.h, done by systime.h.
11903 [__FreeBSD__]: Remove redundant includes.
11904
11905 * callproc.c (setpgrp): Undefine before defining.
11906 (delete_temp_file): Return Qnil to avoid warning.
11907
11908 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11909
11910 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11911 HAVE_X_WINDOWS.
11912
11913 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11914
11915 * composite.h (compose_text): Declare.
11916
11917 * xterm.c: Don't include sys/types.h unconditionally. Don't
11918 protect its inclusion with !USG (following xmenu.c).
11919
11920 2000-06-23 Gerd Moellmann <gerd@gnu.org>
11921
11922 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11923 in x_create_frame.
11924
11925 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11926
11927 * coding.c (decode_eol_post_ccl): Special handling for undecided
11928 and inconsistent EOL types.
11929
11930 2000-06-22 Gerd Moellmann <gerd@gnu.org>
11931
11932 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11933 trough color and main window's background color.
11934
11935 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
11936
11937 * xterm.h (Xt_app_con): External declaration.
11938
11939 * widget.c (EmacsFrameRealize): Fix typo.
11940
11941 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11942
11943 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11944 (handle_invisible_prop): Record the start of invisible text in
11945 it->add_overlay_start.
11946 (struct overlay_entry): Add member `overlay'.
11947 (handle_overlay_change): Simplify.
11948 (next_overlay_string): After having processed overlay strings at the
11949 end of the buffer, record that fact in
11950 it->overlay_strings_at_end_processed_p.
11951 (compare_overlay_entries): If before- and after-strings come
11952 from the same overlay, let before-strings come first.
11953 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11954 (load_overlay_strings): Take it->add_overlay_start into account
11955 when adding overlay strings.
11956
11957 * dispextern.h (struct it): Add member add_overlay_start.
11958
11959 2000-06-22 Dave Love <fx@gnu.org>
11960
11961 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11962
11963 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11964
11965 2000-06-22 Kenichi Handa <handa@etl.go.jp>
11966
11967 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11968 is greater than 0.
11969
11970 2000-06-21 Dave Love <fx@gnu.org>
11971
11972 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
11973
11974 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11975
11976 * syntax.c (back_comment): Simplify string-parity counting (with
11977 the added benefit of handling multiple string-styles as long as
11978 they are not intertwined).
11979 Jump to the slow code as soon as a comment starter is found in
11980 a "string_lossage" position. Fixes the case: " /* " /* " */.
11981
11982 2000-06-21 Dave Love <fx@gnu.org>
11983
11984 * Makefile.in: Use GETLOADAVG_LIBS.
11985
11986 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11987 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11988
11989 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11990
11991 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11992 (Fforward_comment, scan_lists):
11993 Check the comstyle of single-char comment-starters.
11994 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11995 we're just at the beginning of the comment (f.ex with (*) ... (*)).
11996 Check the comstyle of single-char comment-starters.
11997 Clarify control-flow around the Scomment case.
11998
11999 2000-06-20 Dave Love <fx@gnu.org>
12000
12001 * fns.c (make_hash_table, maybe_resize_hash_table):
12002 Cast arg of next_almost_prime.
12003
12004 * tparam.c [emacs]: Include lisp.h.
12005
12006 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
12007 and unistd.h.
12008
12009 2000-06-20 Gerd Moellmann <gerd@gnu.org>
12010
12011 * keyboard.c (adjust_point_for_property): Check if display
12012 property should be treated as intangible by looking at its value.
12013
12014 * xdisp.c (single_display_prop_intangible_p)
12015 (display_prop_intangible_p): New functions.
12016
12017 * dispextern.h (display_prop_intangible_p): Add prototype.
12018
12019 * xdisp.c (dump_glyph_row): Show type of glyph->object.
12020
12021 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
12022 argument to sigprocmask.
12023
12024 * s/sco5.h (sigblock): Redefined to pass a pointer as second
12025 argument to sigprocmask.
12026
12027 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
12028 sigprocmask_set, and pass a pointer to it to sigprocmask.
12029
12030 * sysdep.c (sigprocmask_set): New variable.
12031
12032 * fileio.c (make_temp_name): Don't use `%s' in string passed to
12033 report_file_error.
12034
12035 2000-06-20 Sam Steingold <sds@gnu.org>
12036
12037 * xrdb.c: Don't declare xmalloc, xrealloc.
12038
12039 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
12040
12041 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
12042 (re_comp): Cast gettext return value to avoid complaints when
12043 !HAVE_LIBINTL.
12044
12045 2000-06-20 Dave Love <fx@gnu.org>
12046
12047 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
12048
12049 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
12050
12051 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
12052
12053 * m/alpha.h: Don't declare xmalloc, xrealloc.
12054
12055 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
12056
12057 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
12058
12059 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
12060
12061 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
12062 HAVE_GETWD.
12063
12064 * keyboard.h (poll_for_input_1): Declare.
12065
12066 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
12067
12068 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
12069
12070 * doprnt.c: Don't declare xmalloc, xrealloc.
12071
12072 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
12073 (getenv, ctime, getwd): Removed.
12074 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
12075
12076 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
12077 x_set_tool_bar_lines.
12078
12079 * config.in: Add HAVE_GETWD. Move some definitions above
12080 machine/system includes.
12081
12082 2000-06-20 Kenichi Handa <handa@etl.go.jp>
12083
12084 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
12085
12086 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
12087 contain information about ENCODING.
12088
12089 * fontset.c (FONTSET_ASCII): Use the first element of char table
12090 for an ASCII font, not defalt slot.
12091 (fontset_ref_via_base): If FONTSET doesn't contain information for
12092 C, try the default fontset.
12093 (make_fontset): Don't copy the default fontset.
12094 (fontset_font_pattern): Likewise.
12095 (accumulate_font_info): If ELT is nil, use the corresponding
12096 element in the default fontset.
12097
12098 2000-06-19 Dave Love <fx@gnu.org>
12099
12100 * syntax.c (Fparse_partial_sexp): Doc fix.
12101
12102 * regex.h: Test PROTOTYPES as well as __STDC__.
12103
12104 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
12105 errno, strerror. Put text after #endif in comment.
12106
12107 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
12108
12109 * xterm.c (x_frame_of_widget): Likewise.
12110
12111 2000-06-19 Gerd Moellmann <gerd@gnu.org>
12112
12113 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
12114 to Vfundamental_mode_abbrev_table.
12115
12116 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
12117 bogus objects are marked. This slows down GC by ~80 percent, but
12118 it might be worth trying when debugging GC-related problems.
12119 This feature requires conservative stack marking to be enabled.
12120
12121 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
12122 returns XLookupChars, reset `modifiers' to zero.
12123
12124 2000-06-19 Dave Love <fx@gnu.org>
12125
12126 * mktime.c: Unprotoized.
12127
12128 2000-06-19 Richard Stallman <rms@gnu.org>
12129
12130 * data.c (set_internal): If variable is frame-local,
12131 store the new value immediately into the frame parameter alist.
12132
12133 2000-06-19 Ken Raeburn <raeburn@gnu.org>
12134
12135 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
12136 in the custom handler pointer.
12137
12138 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
12139 value, or checks for CHAR_META can fail when Lisp_Object is a
12140 union type.
12141 * keymap.c (get_keyelt): Likewise.
12142
12143 2000-06-19 Kenichi Handa <handa@etl.go.jp>
12144
12145 * ccl.h (struct ccl_program): New member eol_type.
12146 (struct ccl_spec): New member cr_carryover.
12147
12148 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
12149 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
12150
12151 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
12152 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
12153 (decode_eol_post_ccl): New function.
12154 (decode_coding): Don't detect EOL format here for CCL based coding
12155 systems.
12156 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
12157 decode_eol_post_ccl after running the CCL program.
12158 (code_convert_region): Don't detect EOL format here for CCL based
12159 coding systems.
12160 (decode_coding_string): Likewise.
12161
12162 2000-06-18 Ken Raeburn <raeburn@gnu.org>
12163
12164 * charset.c (update_charset_table): Use XINT on "iso_final_char"
12165 when treating it as an integer.
12166
12167 * coding.h (encode_coding_string): Declare.
12168
12169 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
12170 it as an integer.
12171
12172 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
12173 "xkeymap" to avoid shadowing the "enum map_type" value that needs
12174 to be passed to get_local_map.
12175
12176 * sound.c (Fplay_sound): Don't call make_number on
12177 Frun_hook_with_args count argument.
12178
12179 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
12180 for lisp objects in X event structure data field, when lisp
12181 objects are represented with unions.
12182 (x_scroll_bar_to_input_event): Ditto.
12183
12184 2000-06-16 Ken Raeburn <raeburn@gnu.org>
12185
12186 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
12187 termination of string. Fix sense of test whether
12188 Vline_number_display_limit is an integer.
12189
12190 2000-06-16 Gerd Moellmann <gerd@gnu.org>
12191
12192 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
12193 only if HAVE_X_WINDOWS.
12194
12195 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
12196 of titles.
12197
12198 * dispnew.c (update_frame_1): Handle case that cursor vpos is
12199 out of bounds.
12200
12201 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
12202
12203 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
12204 of its headers.
12205
12206 2000-06-15 Kenichi Handa <handa@etl.go.jp>
12207
12208 * coding.c (decode_coding_emacs_mule): Always set src_base at the
12209 start of the while loop.
12210
12211 2000-06-15 Gerd Moellmann <gerd@gnu.org>
12212
12213 * atimer.c (alarm_signal_handler): Add forward declaration.
12214
12215 * data.c (set_internal): Remove debug code.
12216
12217 2000-06-14 Gerd Moellmann <gerd@gnu.org>
12218
12219 * Makefile.in (bootstrap-temacs): Add `-I../src'.
12220
12221 * unexec.c (toplevel) [COFF]: Include coff.h.
12222
12223 * s/lynxos.h: New file.
12224
12225 * keymap.c (Fsingle_key_description): Enclose function key and
12226 event symbol names in angle brackets.
12227
12228 * xdisp.c (setup_echo_area_for_printing): Call
12229 message_log_maybe_newline if message_buf_print is not set.
12230
12231 * print.c (printchar, strout): Don't check message_buf_print
12232 before calling setup_echo_area_for_printing because that
12233 function does something useful even when message_buf_print is
12234 already set.
12235
12236 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
12237 New variables.
12238 (ensure_echo_area_buffers): Initialize echo buffer's
12239 truncate lines setting to nil.
12240 (with_echo_area_buffer): Don't set the echo buffer's truncate
12241 lines setting here.
12242 (set_message_1): Set it here instead, based on the value
12243 of message_truncate_lines.
12244 (resize_mini_window): Handle case that lines are truncated.
12245 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
12246 DEFVAR_BOOL message-truncate-lines.
12247
12248 * keyboard.c (read_char): Bind message-truncate-lines to t
12249 while displaying a help-echo.
12250
12251 * lisp.h (Qmessage_truncate_lines): External declaration.
12252
12253 2000-06-13 Gerd Moellmann <gerd@gnu.org>
12254
12255 * xdisp.c (Vline_number_display_limit): Renamed from
12256 line_number_display_limit.
12257 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
12258 Extend documentation string. Initialize
12259 Vline_number_display_limit to nil meaning no limit.
12260 (decode_mode_spec): Use Vline_number_display_limit with its new
12261 meaning.
12262
12263 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
12264
12265 2000-06-13 Richard Stallman <rms@gnu.org>
12266
12267 * frame.c (Fmodify_frame_parameters): Doc fix.
12268
12269 * xfns.c (x_set_frame_parameters): Comment fix.
12270
12271 * frame.c (store_frame_param): Call swap_in_global_binding if the
12272 variable's current binding was chosen based on this frame.
12273
12274 * data.c (swap_in_global_binding): New function.
12275
12276 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12277
12278 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
12279 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
12280
12281 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
12282
12283 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
12284
12285 2000-06-12 Jason Rumney <jasonr@gnu.org>
12286
12287 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
12288
12289 * w32.h (EMACS_W32_H): Renamed from _NT_H_
12290
12291 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
12292
12293 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
12294
12295 2000-06-12 Gerd Moellmann <gerd@gnu.org>
12296
12297 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
12298 (syms_of_xfaces): Defsubr Sdump_colors.
12299 (x_free_colors): Don't treat b&w specially on default visual.
12300 (x_free_dpy_colors): New function.
12301 (free_face_colors): Don't check visual class; it's done
12302 in x_free_colors.
12303
12304 * xterm.c (x_frame_of_widget): New function.
12305 (x_alloc_nearest_color_for_widget): Use it.
12306 (x_copy_dpy_color): New function.
12307 (x_destroy_window): Free various colors.
12308
12309 2000-06-12 Kenichi Handa <handa@etl.go.jp>
12310
12311 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
12312
12313 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
12314
12315 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
12316
12317 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
12318
12319 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
12320
12321 2000-06-11 Dave Love <fx@gnu.org>
12322
12323 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
12324
12325 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
12326
12327 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
12328
12329 2000-06-11 Gerd Moellmann <gerd@gnu.org>
12330
12331 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
12332 to `XEvent *'.
12333
12334 2000-06-10 Kenichi Handa <handa@etl.go.jp>
12335
12336 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
12337 (regex_compile): Fix the code for handling the case of single byte
12338 char and multibyte char being mixed in a range within [...].
12339
12340 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
12341 and dst_multibyte members of coding.
12342
12343 * charset.c (update_charset_table): Update the table
12344 bytes_by_char_head.
12345 (init_charset_once): Initialize elements of bytes_by_char_head to
12346 1 except for leading codes for private charases.
12347
12348 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
12349 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
12350
12351 2000-06-09 Ken Raeburn <raeburn@gnu.org>
12352
12353 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
12354 access the data it doesn't point to.
12355
12356 2000-06-08 Gerd Moellmann <gerd@gnu.org>
12357
12358 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
12359 will be translated to a switch-frame event when reading the
12360 event queue. This is necessary because Emacs otherwise won't
12361 perform a switch-frame to a new frame until some other event, for
12362 example a keystroke event, forces it to do so. This has various
12363 effects, one visible being that the cursor of a frame created with
12364 C-x 5 2 or switched to with a window manager key binding like
12365 A-TAB stays hollow because selected_window isn't on the newly
12366 focused frame until the switch-frame is performed.
12367
12368 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
12369 generating a switch-frame event if necessary.
12370
12371 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
12372
12373 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
12374 it's an integer.
12375
12376 2000-06-08 Kenichi Handa <handa@etl.go.jp>
12377
12378 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
12379
12380 2000-06-07 Gerd Moellmann <gerd@gnu.org>
12381
12382 * window.c (displayed_window_lines): Take empty lines at
12383 the bottom of a window into account.
12384
12385 * window.c (displayed_window_lines): New function.
12386 (Fmove_to_window_line): Use displayed_window_lines to determine
12387 the number of lines to move, instead of using the window's height.
12388
12389 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
12390 to stop reading, even if the form read sets point to a different
12391 value when evaluated.
12392
12393 * xdisp.c (display_line): Fix code deciding in which line to
12394 put the cursor.
12395
12396 2000-06-07 Kenichi Handa <handa@etl.go.jp>
12397
12398 * fileio.c (e_write): Free composition data if stored in
12399 coding->cmp_data.
12400
12401 2000-06-06 Gerd Moellmann <gerd@gnu.org>
12402
12403 * xdisp.c (display_line): Set row's and iterator's
12404 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
12405 Set cursor even if row ends in the middle of a character.
12406 (dump_glyph_row): Print values of new flags.
12407 (redisplay_window) <cursor movement in unchanged window>: When
12408 point has been moved forward, and PT is at the end of the cursor
12409 row, don't place the cursor in the next row if the cursor row ends
12410 in the middle of a character or at ZV.
12411
12412 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
12413 (struct glyph_row): Add starts_in_middle_of_char_p and
12414 ends_in_middle_of_char_p.
12415 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
12416 ends_in_middle_of_char_p flag.
12417 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
12418
12419 * term.c (append_glyph): Revert change of 2000-06-06.
12420
12421 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
12422 padding glyph not fitting on line as whole character not
12423 fitting on line.
12424
12425 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
12426 this isn't true for images with `:ascent 100'.
12427
12428 2000-06-06 Kenichi Handa <handa@etl.go.jp>
12429
12430 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
12431 as modified if it is originally unmodified.
12432
12433 * term.c (encode_terminal_code): Change the way to check if
12434 terminal coding does any conversion.
12435 (append_glyph): Set glyph->pixel_width correctly.
12436
12437 * xdisp.c (display_line): While checking line continuation, pay
12438 attention to a padding glyph.
12439
12440 2000-06-05 Gerd Moellmann <gerd@gnu.org>
12441
12442 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
12443
12444 2000-06-05 Dave Love <fx@gnu.org>
12445
12446 * xdisp.c: Include fontset.h.
12447
12448 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
12449
12450 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12451
12452 * dispnew.c: Conditionally include term.h.
12453
12454 * coding.h: Declare code_convert_string_norecord.
12455
12456 * frame.h (struct frame): Use volatile unconditionally.
12457
12458 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
12459
12460 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
12461
12462 * systime.h: Protect against multiple inclusion.
12463 (timezone) [USG5_4]: Define as time_t.
12464
12465 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12466 (Foptimize_char_table, make_temp_name): Declare.
12467
12468 * Makefile.in (xdisp.o): Depend on fontset.h.
12469
12470 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
12471
12472 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
12473 (Foptimize_char_table, make_temp_name): Declare.
12474
12475 * s/irix4-0.h:
12476 * s/irix5-0.h:
12477 * s/netbsd.h: Don't define autoconfiscated MATHERR.
12478
12479 2000-06-02 Dave Love <fx@gnu.org>
12480
12481 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
12482
12483 2000-06-02 Gerd Moellmann <gerd@gnu.org>
12484
12485 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
12486 result face, set flags in that face indicating that colors may not
12487 be freed.
12488
12489 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
12490 glyph, use the ASCII NUL character to determine the face.
12491
12492 2000-06-02 Dave Love <fx@gnu.org>
12493
12494 * sysdep.c: Conditionally include stdlib.h, unistd.h.
12495 (VFORK_RETURN_TYPE): Remove.
12496
12497 * config.in: Add NO_MATHERR.
12498
12499 2000-06-01 Dave Love <fx@gnu.org>
12500
12501 * cmds.c (internal_self_insert): Don't check
12502 Vbefore_change_function, Vafter_change_function.
12503
12504 * insdel.c (signal_before_change, signal_after_change): Likewise.
12505
12506 * buffer.c (Vbefore_change_function, Vafter_change_function):
12507 Variables and their initializations deleted.
12508
12509 * callint.c (Fcall_interactively): Doc fix.
12510
12511 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
12512
12513 2000-05-31 Dave Love <fx@gnu.org>
12514
12515 * textprop.c: Revert last change -- duplicated.
12516
12517 2000-05-31 Gerd Moellmann <gerd@gnu.org>
12518
12519 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12520 in #if 0.
12521
12522 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12523
12524 2000-05-31 Jason Rumney <jasonr@gnu.org>
12525
12526 * search.c (Fre_search_forward, Fre_search_backward)
12527 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12528
12529 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12530
12531 2000-05-30 Jason Rumney <jasonr@gnu.org>
12532
12533 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12534 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12535
12536 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
12537
12538 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12539 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12540 expand a nil default_filename.
12541
12542 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12543 pointer to glyph_to_pixel_coords, not a frame.
12544
12545 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12546 coding.h to dependencies.
12547
12548 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12549
12550 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12551 window pointer to be consistent with w32term.c and xterm.c.
12552
12553 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12554 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12555 (Qline_spacing, Qcenter): New variables.
12556 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12557 (x_set_line_spacing): New function.
12558 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
12559 (x_specified_cursor_type): New function.
12560 (x_set_cursor_type): Use it.
12561 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12562 and icon strings.
12563 (validate_x_resource_name, x_get_resource_string): Measure lengths
12564 of external strings in bytes.
12565 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12566 GetTextExtentPoint32 with NULL title.
12567 (Fx_create_frame): Initialize Qline_spacing.
12568 (w32_load_system_font): Initialize font->double_byte_p.
12569 (x_to_w32_charset): Use Vw32_charset_info_alist.
12570 (Image, busy cursor, tooltip functions): Merged changes from
12571 xfns.c. Not yet functional on Windows.
12572
12573 * w32gui.h (W32FontStruct): Add double_byte_p member.
12574
12575 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12576 (emacs_button_translation): Use it.
12577 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12578 in `mask' to be set.
12579
12580 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12581 menu strings.
12582
12583 * w32term.c: Format and doc changes to bring closer to xterm.c.
12584 (w32_char_font_type): New enum.
12585 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12586 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12587 (w32_encode_char): New function.
12588 (x_encode_char): Removed.
12589 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12590 x_encode_char and w32_font_is_double_byte.
12591 (x_produce_image_glyph): Use image_ascent.
12592 (x_produce_glyphs): Use new version of w32_per_char_metric and
12593 handle NULL return value. Allow extra line spacing.
12594 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12595 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12596 w32_font_type member of glyph instead.
12597 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12598 (fast_find_position): Make sure not to consider rows not visible
12599 in the window.
12600 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12601 w32_menu_display_help with input blocked, as it can abort.
12602 (x_display_and_set_cursor): Choose cursor depending
12603 on buffer-local value of cursor_type.
12604 (x_draw_bar_cursor): Add parameter WIDTH.
12605
12606 * w32term.h (CP_DEFAULT): Define.
12607 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12608
12609 2000-05-30 Gerd Moellmann <gerd@gnu.org>
12610
12611 * search.c (Fre_search_forward, Fre_search_backward)
12612 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12613
12614 2000-05-30 Kenichi Handa <handa@etl.go.jp>
12615
12616 * coding.c (detect_coding_iso2022): Fix code for checking
12617 CODING_CATEGORY_MASK_ISO_8_2.
12618
12619 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12620
12621 * regex.c (PREFETCH_NOLIMIT): New function.
12622 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12623
12624 2000-05-29 Gerd Moellmann <gerd@gnu.org>
12625
12626 * syntax.c (find_defun_start): Move test for
12627 open_paren_in_column_0_is_defun_start outside of the loop.
12628
12629 * xdisp.c (redisplay_window): Really switch buffers when
12630 displaying mode lines, and temporarily set selected_frame to the
12631 frame of the window that's redisplayed.
12632
12633 * xfaces.c (free_realized_faces): Block/unblock input.
12634 (free_realized_multibyte_face): Ditto.
12635
12636 2000-05-29 Dave Love <fx@gnu.org>
12637
12638 * textprop.c (Qkeymap): New variable.
12639 (syms_of_textprop): Intern it.
12640
12641 * keymap.c: Include intervals.h.
12642 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12643
12644 * Makefile.in (keymap.o): Depend on intervals.h.
12645
12646 * keyboard.c (menu_bar_items, tool_bar_items)
12647 (Fexecute_extended_command): Deal with `keymap' property.
12648 (read_key_sequence): Track map from `keymap' property as well as
12649 `local_map'.
12650
12651 * intervals.c (get_local_map): Extra arg to allow looking for
12652 `keymap' too.
12653
12654 * intervals.h (map_property): New enum.
12655 (get_local_map): Extra arg using it.
12656 (Qkeymap): Declare.
12657
12658 * lisp.h (get_local_map): Don't declare here.
12659
12660 2000-05-29 Kenichi Handa <handa@etl.go.jp>
12661
12662 * Makefile.in (callproc.o): Depend on composite.h.
12663
12664 * callproc.c: Include composite.h.
12665 (Fcall_process): Handle composition correctly.
12666
12667 * coding.h (coding_allocate_composition_data): Extern it.
12668 (coding_restore_composition): Likewise.
12669
12670 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12671 yet allocated, finish decoding with result
12672 CODING_FINISH_INSUFFICIENT_CMP.
12673 (coding_allocate_composition_data): Make it non-static.
12674 (coding_restore_composition): Likewise.
12675
12676 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12677
12678 * charset.c (syms_of_charset): Revert last change.
12679
12680 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12681
12682 * term.c (produce_glyphs): Treat characters from the eight-bit-*
12683 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12684 Handa.
12685
12686 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12687
12688 * charset.c (syms_of_charset): Set width of character sets
12689 eight-bit-control and eight-bit-graphic to 1 column.
12690
12691 2000-05-26 Gerd Moellmann <gerd@gnu.org>
12692
12693 * config.in (HAVE_SPEED_T): New define.
12694
12695 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12696 `extern speed_t'.
12697
12698 2000-05-26 Dave Love <fx@gnu.org>
12699
12700 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12701
12702 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12703 (Fsubr_arity): New function.
12704 (syms_of_data): Install them.
12705
12706 2000-05-26 Kenichi Handa <handa@etl.go.jp>
12707
12708 * charset.c (init_charset_once): Set the table bytes_by_char_head
12709 correctly.
12710
12711 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12712 the default fontset to what Emacs uses by default.
12713 (check_registry_encoding): This function deleted.
12714 (Fset_fontset_font): Remove the adhoc condition for the default
12715 fontset. Allow cons in FONTNAME.
12716
12717 * fns.c (map_char_table): Ignore char-table entries for
12718 charsets eight-bit-control and eight-bit-graphic.
12719
12720 2000-05-25 Ken Raeburn <raeburn@gnu.org>
12721
12722 * emacs.c (main): Initialize keyboard syms before initializing
12723 window code, so face names are available.
12724
12725 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12726
12727 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12728 of an anchor at the beginning of a shy-group.
12729
12730 2000-05-25 Gerd Moellmann <gerd@gnu.org>
12731
12732 * xdisp.c (handle_invisible_prop): Don't try to skip over
12733 invisible text if end of text is already reached.
12734
12735 2000-05-25 Dave Love <fx@gnu.org>
12736
12737 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12738
12739 * coding.c (encode_eol): Add null statement after label.
12740
12741 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12742
12743 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12744 2000-05-20.
12745
12746 2000-05-25 Kenichi Handa <handa@etl.go.jp>
12747
12748 * ccl.c (ccl_driver): Fix previous change.
12749
12750 2000-05-25 Kenichi Handa <handa@etl.go.jp>
12751
12752 * coding.c (run_pre_post_conversion_on_str): Set point to the
12753 beginning of buffer before calling coding->post_read_conversion.
12754 (decode_coding_string): Give correct args to
12755 run_pre_post_conversion_on_str.
12756 (encode_coding_string): Likewise.
12757
12758 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12759 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12760 eight-bit-graphic correctly.
12761
12762 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
12763
12764 * fileio.c (Finsert_file_contents): Even if a file is not found,
12765 execute codes for setting up coding system. Call
12766 after-insert-file-functions unconditionally.
12767
12768 2000-05-24 Gerd Moellmann <gerd@gnu.org>
12769
12770 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12771 BSD_PGRPS are not defined.
12772
12773 2000-05-24 Kenichi Handa <handa@etl.go.jp>
12774
12775 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12776 DESCRIPTION.
12777 (syms_of_charset): Avoid building same strings.
12778
12779 2000-05-23 Gerd Moellmann <gerd@gnu.org>
12780
12781 * lread.c (Fload): Add a comment about the meaning of
12782 Vuser_init_file being t.
12783
12784 * puresize.h (BASE_PURESIZE): Increase to 675000.
12785
12786 * s/gnu-linux.h (setpgrp): Don't define it here because this
12787 prevents compilation on GNU/Linux systems with glib 2.2.
12788
12789 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12790 as setpgid.
12791
12792 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12793
12794 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12795 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12796 version.
12797 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12798
12799 2000-05-23 Kenichi Handa <handa@etl.go.jp>
12800
12801 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12802
12803 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12804
12805 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
12806
12807 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12808
12809 2000-05-22 Kenichi Handa <handa@etl.go.jp>
12810
12811 * keyboard.c (read_char): Allow character codes 128..255 to be
12812 handled by input-method-function.
12813
12814 * insdel.c (adjust_markers_for_replace): Fix previous change.
12815 (adjust_after_replace): If PREV_TEXT is nil, call
12816 adjust_markers_for_insert, not adjust_markers_for_replace.
12817
12818 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
12819
12820 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12821 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12822 [HAVE_GRANDPT]: Define.
12823 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12824
12825 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12826 like SYSV_PTYS.
12827
12828 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12829
12830 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12831
12832 2000-05-20 Kenichi Handa <handa@etl.go.jp>
12833
12834 The following changes are to handle 8-bit characters in a
12835 multibyte buffer/string without facing with byte combining
12836 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12837 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12838
12839 * Makefile.in (fns.o): Depend on charset.h.
12840
12841 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12842 convert it to unibyte.
12843 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12844
12845 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12846 apparent char boundary.
12847 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12848 0x80..0x9F to/from multibyte form.
12849
12850 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12851 to unibyte.
12852
12853 * callproc.c (Fcall_process): Always encode an argument string if
12854 it is multibyte. Setup src_multibyte and dst_multibyte members of
12855 process_coding properly.
12856
12857 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12858 SPLIT_NON_ASCII_CHAR.
12859
12860 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12861 as is.
12862 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12863
12864 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
12865 (SPLIT_CHARACTER_SEQ): This macro deleted.
12866 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
12867 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12868 and eight-bit-graphic.
12869 (char_to_string): Likewise. Signal an error for too large
12870 character code.
12871 (char_printable_p): Return 0 for 8-bit characters.
12872 (update_charset_table): Update iso_charset_table only when a final
12873 character is non-negative.
12874 (find_charset_in_text): Renamed from find_charset_in_str.
12875 Arguments and return value changed. Callers changed.
12876 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12877 be -1 if CHARSET is used only internally.
12878 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12879 eight-bit-graphic.
12880 (Fcharset_after): Simplified.
12881 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12882 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12883 (multibyte_chars_in_text): Simplified by assuming there's no
12884 invalid multibyte sequence.
12885 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12886 (str_as_unibyte): New functions.
12887 (Fstring): Simpified by assuming that byte combining never happens.
12888 (init_charset_once): Initialization for
12889 LEADING_CODE_8_BIT_CONTROL.
12890 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12891 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12892 eight-bit-control and eight-bit-graphic.
12893
12894 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12895 (CHARSET_8_BIT_GRAPHIC): New macros.
12896 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12897 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12898 (CHARSET_REVERSE_CHARSET): Likewise.
12899 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12900 eight-bit-graphic.
12901 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12902 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12903 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12904 encounter an invalid multibyte sequence.
12905 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12906 sequence is always valid.
12907 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
12908 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
12909 (CHAR_STRING): For 8-bit characters, call char_to_string.
12910 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12911 multibyte sequence is always valid.
12912 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
12913 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12914 (str_as_unibyte): Extern them.
12915 (BCOPY_SHORT): Fix a bug.
12916 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
12917 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12918 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12919 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12920
12921 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
12922 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
12923 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12924 (EMIT_BYTES): New macros.
12925 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12926 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
12927 macros deleted.
12928 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12929 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12930 check the validity of multibyte sequence.
12931 (decode_coding_emacs_mule): New function.
12932 (encode_coding_emacs_mule): New macro.
12933 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12934 the source.
12935 (DECODE_ISO_CHARACTER): Just return a character code.
12936 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12937 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12938 EMIT_CHAR to produced decoded characters. Exit the loop only by
12939 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12940 block here.
12941 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12942 only position codes for an invalid character.
12943 (encode_designation_at_bol): Return new destination pointer. 5th
12944 arg DSTP is changed to DST.
12945 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12946 from the source by ONE_MORE_CHAR. Don't handle the case of last
12947 block here.
12948 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12949 macros deleted.
12950 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12951 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
12952 TWO_MORE_BYTES to fetch a byte from the source.
12953 (encode_eol): Pay attention to coding->src_multibyte.
12954 (detect_coding, detect_eol): Preserve members src_multibyte and
12955 dst_multibyte.
12956 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12957 (encoding_buffer_size): Set magnification to 3 for all coding
12958 systems that require encoding.
12959 (ccl_coding_driver): For decoding, be sure that the result is
12960 valid multibyte sequence.
12961 (decode_coding): Initialize coding->errors and coding->result.
12962 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12963 and raw-text, always call decode_eol. Handle the case of last
12964 block here. If not coding->dst_multibyte, convert the resulting
12965 sequence to unibyte.
12966 (encode_coding): Initialize coding->errors and coding->result.
12967 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12968 and raw-text, always call encode_eol. Handle the case of last
12969 block here.
12970 (shrink_decoding_region, shrink_encoding_region): Detect cases
12971 that we can't skip data more rigidly.
12972 (code_convert_region): Setup src_multibyte and dst_multibyte
12973 members of coding. For decoding, if the buffer is multibyte,
12974 convert the source sequence to unibyte in advance. For encoding,
12975 if the buffer is multibyte, convert the resulting sequence to
12976 multibyte afterward.
12977 (run_pre_post_conversion_on_str): New function.
12978 (code_convert_string): Deleted and divided into the following two.
12979 (decode_coding_string, encode_coding_string): New functions.
12980 (code_convert_string1, code_convert_string_norecord): Call one of
12981 above.
12982 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12983 MAKE_NON_ASCII_CHAR.
12984 (Fset_terminal_coding_system_internal)
12985 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
12986 and dst_multibyte members.
12987 (init_coding_once): Initialize iso_code_class with new enum
12988 ISO_control_0 and ISO_control_1.
12989
12990 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12991 devided into ISO_control_0 and ISO_control_1.
12992 (struct coding_system): New members src_multibyte, dst_multibyte,
12993 errors, and result. Delete member fake_multibyte.
12994 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12995 nonzero.
12996 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12997 nonzero.
12998
12999 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13000 (Faset): Likewise.
13001
13002 * editfns.c (Fformat): Be sure to convert 8-bit characters to
13003 multibyte form.
13004 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
13005 combining occurs.
13006 (Ftranspose_region): Delete codes for handling byte combining.
13007
13008 * fileio.c (Finsert_file_contents): Setup src_multibyte and
13009 dst_multibyte members of coding. On handling REPLACE on unibyte
13010 buffer, convert the result of decode_coding to unibyte. On
13011 inserting into a mutibyte buffer, always call code_convert_region.
13012 (e_write): Setup coding->src_multibyte according to the
13013 multibyteness of the source (buffer or string).
13014
13015 * fns.c (concat): Handle 8-bit characters correctly.
13016 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
13017 unibyte in the result.
13018 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
13019 valid multibyte form in the result.
13020 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13021 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
13022 return -1, signal an error.
13023 (base64_encode_1): New arg MULTIBYTE. Get each character by
13024 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
13025 character is found, return -1.
13026 (Fbase64_decode_region): Delete codes for handling byte-combining.
13027 Treat each decoded byte as a unibyte character.
13028 (Fbase64_decode_string): Return unibyte string.
13029 (Fcompare_strings, concat, string_byte_to_char): Use
13030 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
13031 FETCH_STRING_CHAR_ADVANCE.
13032 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13033 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
13034
13035 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
13036 SPLIT_NON_ASCII_CHAR.
13037 (fontset_ref_via_base, fontset_set): Likewise
13038
13039 * insdel.c (adjust_markers_for_record_delete): Deleted.
13040 (adjust_markers_for_insert): Argument changed. Caller changed.
13041 (adjust_markers_for_replace): Likewise.
13042 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
13043 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
13044 (copy_text): Delete unused local varialbe c_save. For converting
13045 to multibyte, be sure to make all 8-bit characters in valid
13046 multibyte form.
13047 (count_size_as_multibyte): Handle 8-bit characters correctly.
13048 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13049 (adjust_after_replace, replace_range, del_range_2)
13050 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
13051 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
13052 (adjust_after_replace, replace_range, del_range_2) Delete codes for
13053 handling byte combining.
13054 (adjust_before_replace): Deleted.
13055
13056 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
13057 SPLIT_NON_ASCII_CHAR.
13058 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
13059 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13060 (Fkey_description): Likewise.
13061
13062 * lread.c (read1): On reading multibyte string, be sure to make
13063 all 8-bit chararacters in valid multibyte form.
13064 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13065
13066 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
13067 unconditionally.
13068
13069 * process.c (Fstart_process): GCPRO current_dir before calling
13070 Ffind_operation_coding_system. Encode arguments here.
13071 (create_process): Don't encode arguments here. Setup
13072 src_multibyte and dst_multibyte members of struct coding.
13073 (read_process_output): Setup src_multibyte and dst_multibyte
13074 members of struct coding. If the output is to multibyte buffer,
13075 always decode the output of the process. Adjust the
13076 representation of 8-bit characters to the multibyteness of the output.
13077 (send_process): Setup coding->src_multibyte according to the
13078 multibyteness of the source.
13079
13080 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
13081 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
13082 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
13083
13084 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
13085
13086 * w16select.c (Fw16_set_clipboard_data): Setup members
13087 src_multibyte and dst_multibyte of coding. Adjusted for the
13088 change for find_charset_in_str.
13089 (Fw16_get_clipboard_data): Likewise.
13090
13091 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
13092 dst_multibyte of coding.
13093 (x_to_w32_font): Likewise.
13094
13095 * w32select.c (Fw32_set_clipboard_data): Setup members
13096 src_multibyte and dst_multibyte of coding. Adjusted for the
13097 change for find_charset_in_str.
13098 (Fw32_get_clipboard_data): Likewise.
13099
13100 * xdisp.c (get_next_display_element): Handle 8-bit characters
13101 correctly.
13102 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
13103 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
13104
13105 * xselect.c (selection_data_to_lisp_data): Setup members
13106 src_multibyte and dst_multibyte of coding. Adjusted for the
13107 change for find_charset_in_str.
13108 (lisp_data_to_selection_data): Likewise.
13109
13110 2000-05-19 Gerd Moellmann <gerd@gnu.org>
13111
13112 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
13113
13114 * dispextern.h (Vimage_types): Add extern declaration.
13115
13116 * xdisp.c (Vimage_types): Moved here from xfns.c.
13117 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
13118
13119 * xfns.c (Vimages_types): Moved to xdisp.c.
13120 (syms_of_xfns): Move `image-types' to xdisp.c.
13121
13122 * w32fns.c (Vimage_types): Removed.
13123 (syms_of_w32fns): Remove `image-types'.
13124
13125 2000-05-18 Kenichi Handa <handa@etl.go.jp>
13126
13127 * fns.c (map_char_table): Pay attention to character number of
13128 charset. Check the validity of charset at the first level. For
13129 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
13130 the default value.
13131
13132 * fontset.c: Include "buffer.h".
13133 (fs_load_font): If the face has fontset, record the face ID in
13134 that fontset.
13135 (Finternal_char_font): New function.
13136 (accumulate_font_info): New function.
13137 (Ffontset_info): Rewritten for the new fontset implementation.
13138 (syms_of_fontset): Register Vdefault_fontset in the first element
13139 of Vfontset_table. Include Vdefault_fontset in
13140 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
13141 function.
13142
13143 2000-05-16 Dave Love <fx@gnu.org>
13144
13145 * m/iris5d.h: Deleted -- unused.
13146
13147 2000-05-16 Gerd Moellmann <gerd@gnu.org>
13148
13149 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
13150 `invalid' instead of `illegal'.
13151
13152 * indent.c (Fmove_to_column): When ending within a tab, insert
13153 spaces first so that markers at the end of the tab get adjusted.
13154
13155 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
13156 buffer list that wasn't selected in that frame.
13157
13158 * filelock.c (get_boot_time): To obtain an 8 char file name, which
13159 is needed on mescaline, use a 2 char prefix, and call
13160 make_temp_name with second arg non-zero.
13161
13162 * fileio.c (make_temp_name): New function, extracted from
13163 Fmake_temp_name.
13164 (Fmake_temp_name): Use it.
13165
13166 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13167
13168 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
13169
13170 2000-05-15 Gerd Moellmann <gerd@gnu.org>
13171
13172 * Makefile.in (lisp): Add env.elc.
13173
13174 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
13175
13176 2000-05-12 Gerd Moellmann <gerd@gnu.org>
13177
13178 * search.c (Freplace_match): Handle case of `\N' in the
13179 replacement when there's no group N.
13180
13181 2000-05-11 Gerd Moellmann <gerd@gnu.org>
13182
13183 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
13184 of the message to message_dolog.
13185
13186 * keyboard.c (read_char): Don't clear current message for help
13187 events; let the code handling help events handle this. Change
13188 code detecting help events that should be ignored.
13189
13190 * xdisp.c (handle_single_display_prop): Don't try to set PT if
13191 we're interating over a string.
13192
13193 2000-05-09 Dave Love <fx@gnu.org>
13194
13195 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
13196 that offset before writing. Move gcpro region past call of
13197 Ffile_regular_p.
13198
13199 2000-05-04 Dave Love <fx@gnu.org>
13200
13201 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
13202
13203 2000-05-04 Gerd Moellmann <gerd@gnu.org>
13204
13205 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
13206 of inserted characters when BUF equals the current buffer, and PT
13207 is in front of or equal to FROM.
13208
13209 2000-05-03 Gerd Moellmann <gerd@gnu.org>
13210
13211 * xdisp.c (handle_single_display_prop): If display property value
13212 is invalid, or something not supported on the frame, restore
13213 iterator's position to what it was initially. Make sure to return
13214 0 for invalid and unsupported property values.
13215
13216 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
13217 that x_per_char_metric returns null.
13218
13219 2000-05-02 Gerd Moellmann <gerd@gnu.org>
13220
13221 * xterm.h (struct face): Add forward declaration.
13222 (struct image): Ditto.
13223 (image_ascent): Add prototype.
13224
13225 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
13226 (x_draw_image_relief, x_draw_image_foreground_1): Call function
13227 image_ascent instead of using IMAGE_ASCENT.
13228
13229 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
13230 (IMAGE_ASCENT): Removed.
13231
13232 * xfns.c (Qcenter): New variable.
13233 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
13234 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
13235 (image_ascent): New function.
13236 (lookup_image): Recognize `:ascent center'.
13237 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
13238 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
13239 (xbm_load): Don't set image's ascent here.
13240 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
13241 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
13242 check ascent values here.
13243 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
13244 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
13245 (syms_of_xfns): Initialize Qcenter.
13246
13247 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
13248 to the limits, increase the limits.
13249
13250 2000-05-01 Kenichi Handa <handa@etl.go.jp>
13251
13252 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
13253 Check Vfont_encoding_alist against the full name of the opened font.
13254
13255 2000-04-28 Gerd Moellmann <gerd@gnu.org>
13256
13257 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
13258 taller than the window.
13259
13260 2000-04-28 Kenichi Handa <handa@etl.go.jp>
13261
13262 * xfaces.c (realize_x_face): Fix the argument of the second
13263 xassert. BASE_FACE may not be a face for ASCII.
13264
13265 2000-04-27 Gerd Moellmann <gerd@gnu.org>
13266
13267 * print.c (print_object): Treat print-length < 0 as nil.
13268
13269 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
13270
13271 * s/freebsd.h (TERMCAP_OBJ): Removed.
13272 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
13273
13274 * lread.c (read1): Don't treat period followed by certain
13275 characters as symbol start.
13276
13277 * xfns.c (slurp_file): New function.
13278 (xbm_image_p): Handle case of in-memory XBM files.
13279 (xbm_scan): Rewritten to work on memory buffers instead of files.
13280 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
13281 Work on memory buffers instead of files. If DATA is null test
13282 if buffer looks like an in-memory XBM file.
13283 (xbm_load_image): Renamed from xbm_load_image_file. Work on
13284 memory buffers instead of files.
13285 (xbm_file_p): New function.
13286 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
13287
13288 * lread.c (end_of_file_error): New function.
13289 (read1): Call it instead of signaling `end-of-file' directly.
13290
13291 * print.c (print_error_message): Print data of `end-of-file'
13292 with Fprinc instead of Fprin1.
13293
13294 2000-04-26 Ken Raeburn <raeburn@gnu.org>
13295
13296 * window.c (freeze_window_start): Check that minibuffer scroll
13297 window isn't nil before extracting the window structure pointer
13298 from it.
13299
13300 * undo.c (record_delete): If we hit the end of the undo list, stop
13301 picking elements apart.
13302
13303 2000-04-26 Gerd Moellmann <gerd@gnu.org>
13304
13305 * xdisp.c (display_line): If lines are continued, restore
13306 iterator's ascent/descent information to the values before the
13307 first glyph not fitting on the line.
13308
13309 2000-04-25 Gerd Moellmann <gerd@gnu.org>
13310
13311 * xdisp.c (try_window_id) <all changes above window start>: Adjust
13312 positions in glyph matrix. Don't compute new window end positions.
13313
13314 * dispnew.c (increment_matrix_positions): Renamed from
13315 increment_glyph_matrix_buffer_positions.
13316 (increment_row_positions): Renamed from
13317 increment_glyph_row_buffer_positions.
13318
13319 * dispextern.h: Change names of renamed functions from dispnew.c
13320 in prototypes.
13321
13322 2000-04-24 Gerd Moellmann <gerd@gnu.org>
13323
13324 * fileio.c (Fdo_auto_save): Create directories for auto-save
13325 list file if necessary.
13326
13327 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
13328 from buffer or frame.
13329 (automatic_hscrolling_p): New variable.
13330 (hscroll_windows): Scroll windows horizontally only if automatic
13331 hscrolling is allowed.
13332 (syms_of_xdisp): New variable `automatic-hscrolling'.
13333
13334 * frame.h (struct frame): Add member extra_line_spacing.
13335
13336 * xfns.c (x_set_line_spacing): New function.
13337 (Fx_create_frame): Set line spacing from resources.
13338 (Qline_spacing): New variable.
13339 (syms_of_xfns): Initialize Qline_spacing.
13340
13341 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
13342
13343 * buffer.c (init_buffer_once): Handle extra_line_spacing.
13344 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
13345 (reset_buffer): Don't initialize extra2 and extra3. Initialize
13346 extra_line_spacing from default value.
13347 (init_buffer_once): Initialize default value of extra_line_spacing.
13348
13349 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
13350 and extra3.
13351
13352 * xterm.c (x_produce_glyphs): Remove reference to struct it's
13353 prompt_width. Add extra line spacing.
13354
13355 * term.c (produce_glyphs): Remove reference to struct it's
13356 prompt_width.
13357
13358 * dispextern.h (struct it): Remove member prompt_width, add
13359 extra_line_spacing.
13360
13361 2000-04-22 Gerd Moellmann <gerd@gnu.org>
13362
13363 * dispnew.c (update_frame_line): When writing a whole line, make
13364 sure cursor is in the right row afterwards, otherwise a use of
13365 capability `ch' in cmgoto might leave the cursor in the row below.
13366
13367 2000-04-21 Gerd Moellmann <gerd@gnu.org>
13368
13369 * lisp.h (struct Lisp_Buffer_Cons): Remove.
13370
13371 * keyboard.c (timer_check): Fix typo in comment.
13372
13373 2000-04-21 Kenichi Handa <handa@etl.go.jp>
13374
13375 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
13376 name change: ch -> character.
13377
13378 2000-04-20 Gerd Moellmann <gerd@gnu.org>
13379
13380 * keyboard.c (echo_message_buffer): New variable.
13381 (echo_now): Set echo_message_buffer to the echo area buffer used
13382 to display the echo.
13383 (cancel_echoing): Reset echo_message_buffer to nil.
13384 (read_char): Code rewritten that handles canceling an echo or
13385 echoing a dash, respectively.
13386
13387 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
13388 directory doesn't exist.
13389
13390 2000-04-19 Dave Love <fx@gnu.org>
13391
13392 * fns.c (syms_of_fns): Defsubr mapc.
13393 (concat): Don't allow numeric args.
13394 (Fconcat): Doc change.
13395
13396 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
13397
13398 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
13399 instead define end_match(1|2) more carefully.
13400 Use GET_CHAR_BEFORE_2 for `begline'.
13401
13402 2000-04-19 Gerd Moellmann <gerd@gnu.org>
13403
13404 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
13405 on 64-bit systems where NULL is defined as `0'.
13406
13407 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
13408 the `variable argument list' to make it work on Alpha.
13409
13410 * m/alpha.h (_LP64) [!_LP64]: Define.
13411 (ORDINARY_LINK): Define for NetBSD.
13412
13413 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
13414
13415 2000-04-19 Dave Love <fx@gnu.org>
13416
13417 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
13418 change.
13419
13420 * Makefile.in (LIBS): Don't use.
13421 (GETLOADAVG_OBJ): Define again.
13422 (otherobj): Add GETLOADAVG_OBJ.
13423
13424 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
13425
13426 2000-04-18 Gerd Moellmann <gerd@gnu.org>
13427
13428 * lread.c (read_filtered_event): Cancel and start busy cursor.
13429
13430 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
13431 that the per-character metrics may be null.
13432
13433 2000-04-17 Gerd Moellmann <gerd@gnu.org>
13434
13435 * buffer.c (clone_per_buffer_values): New function.
13436 (Fmake_indirect_buffer): Add optional argument CLONE. Call
13437 clone_per_buffer_values if CLONE is not nil.
13438
13439 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
13440
13441 2000-04-16 Dave Love <fx@gnu.org>
13442
13443 * Makefile.in: Remove obsolete localcpp stuff.
13444 (GETLOADAVG_OBJ): Don't define.
13445 (obj): Move LIBOBJS...
13446 (otherobj): ... to here.
13447 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
13448 whitespace-only lines after the continuation (Irix).
13449
13450 2000-04-14 Gerd Moellmann <gerd@gnu.org>
13451
13452 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
13453
13454 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
13455
13456 2000-04-14 Dave Love <fx@gnu.org>
13457
13458 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
13459 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
13460 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
13461 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
13462 NLIST_STRUCT.
13463
13464 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
13465 autoconfiscated HAVE_GETLOADAVG.
13466
13467 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
13468 BROKEN_MKTIME.
13469
13470 2000-04-14 Gerd Moellmann <gerd@gnu.org>
13471
13472 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
13473 (fill_in_lock_file_name): Avoid existing files that aren't links.
13474
13475 2000-04-14 Dave Love <fx@gnu.org>
13476
13477 * Makefile.in (LIBS, LIBOBJS): New variable.
13478 (INTERVAL_SRC): Convert to make variable.
13479 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
13480 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
13481 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
13482 add LIBOBJS.
13483 (SOME_MACHINE_OBJECTS): Remove interval stuff.
13484 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
13485 (shortlisp): Add facemenu, float-sup, frame.
13486 (SOME_MACHINE_LISP): Remove them from here.
13487 (LIBES): Change unused LDLIBS to autoconf LIBS.
13488
13489 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
13490
13491 2000-04-14 Kenichi Handa <handa@etl.go.jp>
13492
13493 * composite.c (update_compositions): If FROM and TO are not in a
13494 valid range, do nothing.
13495
13496 2000-04-13 Gerd Moellmann <gerd@gnu.org>
13497
13498 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
13499
13500 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
13501
13502 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
13503 as TERMCAP_OBJ.
13504
13505 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
13506
13507 * fileio.c (a_write): Remove redundant semi-colons.
13508 (e_write): Return -1 if failed to write all the data.
13509 This fixes the changes made at 1999-12-15.
13510
13511 2000-04-12 Dave Love <fx@gnu.org>
13512
13513 * fns.c (mapcar1): Test for null vals to support mapc.
13514 (Fmapc): New function.
13515
13516 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13517
13518 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13519 (IT_frame_up_to_date): Support the buffer local value of
13520 cursor-type, if defined.
13521
13522 2000-04-10 Dave Love <fx@gnu.org>
13523
13524 * editfns.c (preceding-char, following-char): Doc fix.
13525
13526 2000-04-10 Ken Raeburn <raeburn@gnu.org>
13527
13528 * Makefile.in (temacs): Revert 2000-03-12 change.
13529
13530 2000-04-10 Jason Rumney <jasonr@gnu.org>
13531
13532 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13533
13534 2000-04-10 Gerd Moellmann <gerd@gnu.org>
13535
13536 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13537 area buffer, if it's not set up yet.
13538
13539 * indent.c (compute_motion): Set immediate_quit.
13540
13541 2000-04-09 Gerd Moellmann <gerd@gnu.org>
13542
13543 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
13544 (realize_tty_face): Suppress boldness if colors are the inverse of
13545 the default colors, and tty_suppress_bold_inverse_default_colors_p
13546 is set.
13547 (Ftty_suppress_bold_inverse_default_colors): New function.
13548 (syms_of_xfaces): Defsubr it.
13549
13550 * buffer.c (Frestore_buffer_modified_p): New function.
13551 (syms_of_buffer): Defsubr it.
13552
13553 2000-04-08 Ken Raeburn <raeburn@gnu.org>
13554
13555 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13556 charset id (int) argument, not a charset (Lisp_Object).
13557
13558 * coding.h (code_convert_string): Declare.
13559 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13560 object, as the fourth argument to code_convert_string.
13561
13562 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
13563 (Fset_fontset_font): Use EQ to compare lisp objects.
13564
13565 2000-04-05 Ken Raeburn <raeburn@gnu.org>
13566
13567 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13568 a pointer that looks like a lisp object.
13569 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13570 zero, instead see whether it's an integer object, since they can't
13571 have intervals.
13572 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13573
13574 * dispnew.c (allocate_matrices_for_frame_redisplay)
13575 (direct_output_forward_char): Use X(U)INT and make_number as needed
13576 to convert between (unsigned) int values and lisp integers.
13577 * keyboard.c (read_key_sequence): Likewise.
13578 * lread.c (substitute_object_recurse): Likewise.
13579 * fns.c (concat, hash_lookup, hash_remove): Likewise.
13580 * minibuf.c (do_completion, Fminibuffer_complete_word)
13581 (Fminibuffer_completion_help): Likewise.
13582 * term.c (produce_special_glyphs): Likewise.
13583
13584 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13585 * print.c (print_preprocess, print_object): Likewise.
13586
13587 * search.c (compile_pattern): Use NILP when checking for nil.
13588
13589 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13590 __OPTIMIZE__]: Provide a GNU C macro version that handles
13591 lisp-object unions.
13592 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13593 field, to better cope with ENABLE_CHECKING and calls that modify a
13594 Lisp_Object using its old value.
13595
13596 2000-04-04 Gerd Moellmann <gerd@gnu.org>
13597
13598 * window.c (compare_window_configurations): Signal an error
13599 if parameters C1 or C2 aren't window configurations.
13600
13601 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13602 AFTER_POTENTIAL_GC calls around calls to functions that can
13603 signal an error and thus invoke the debugger.
13604
13605 2000-04-03 Gerd Moellmann <gerd@gnu.org>
13606
13607 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13608 an error if decoding fails.
13609
13610 * keyboard.c (lispy_mouse_names): Variable removed.
13611 (Vlispy_mouse_stem): New variable.
13612 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13613 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13614 for any mouse button number. Increase size of mouse_syms and
13615 button_down_location as needed. Call modify_event_symbol with
13616 different arguments.
13617 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13618 Call modify_event_symbol with different arguments.
13619 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13620 for any button number. Call modify_event_symbol with different
13621 arguments.
13622 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13623 Accept a string for NAME_ALIST_OR_STEM.
13624
13625 * lisp.h (larger_vector): Add prototype.
13626
13627 * fns.c (larger_vector): Make externally visible.
13628
13629 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13630
13631 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13632
13633 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13634 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13635 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13636 we are between str1 and str2.
13637 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13638 (PATFETCH): Use `TRANSLATE'.
13639 (PATFETCH_RAW): Fetch multibyte char if applicable.
13640 (PATUNFETCH): Remove.
13641 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13642 When writing a char, write it directly into the pattern buffer rather
13643 than going needlessly through a temp char-array.
13644 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13645 multibyte magic and remove the useless `#ifdef emacs'.
13646 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13647 buffer.
13648
13649 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13650 conditional on `emacs'.
13651
13652 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13653
13654 2000-04-01 Ken Raeburn <raeburn@gnu.org>
13655
13656 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13657 non-union-type versions of XMARK and friends here, because XMARK
13658 and friends won't work on an integer field if NO_UNION_TYPE is not
13659 defined.
13660 (make_number): Define as a function if it's not defined as a macro.
13661
13662 * composite.c (run_composite_function): Use NILP when checking for nil.
13663 (syms_of_composite): Delete local var NARGS, pass an int as first
13664 argument to Fmake_hash_table.
13665
13666 * editfns.c (text_property_stickiness): Use NILP to test
13667 Lisp_Object boolean value.
13668 (Fmessage_or_box): Don't use NILP to test int variable.
13669 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13670 problems reading from and changing the same lisp value in an
13671 XSETSTRING call.
13672
13673 2000-04-01 Gerd Moellmann <gerd@gnu.org>
13674
13675 * term.c (TN_no_color_video): New variable.
13676 (term_init): Intitialize TN_no_color_video.
13677 (enum no_color_bit): New enumeration.
13678 (MAY_USE_WITH_COLORS_P): New macro.
13679 (turn_on_face): Use it to determine if attributes may be used
13680 combined with colors.
13681
13682 2000-04-01 Ken Raeburn <raeburn@gnu.org>
13683
13684 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
13685 with int lvalues via casts; instead, just yield lisp object lvalues.
13686 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13687 proper accessor macros.
13688 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13689 (grow_mini_window): Fix typo getting int value of root->height.
13690
13691 * xdisp.c (compute_string_pos): Fix order of arguments to
13692 string_pos_nchars_ahead.
13693 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13694 count arg to variable-arg routines like Frun_hook_with_args and
13695 Fformat.
13696 (back_to_previous_visible_line_start)
13697 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
13698 fixed-arg routines like Fget_char_property and Fmake_string.
13699 (reconsider_clip_changes): Use XINT when comparing integer lisp
13700 objects, or passing them as int arguments.
13701 (mark_window_display_accurate, insert_left_trunc_glyphs)
13702 (append_space, extend_face_to_end_of_line): Use make_number when
13703 storing or passing integer values as lisp objects.
13704 (set_cursor_from_row, highlight_trailing_whitespace): Use
13705 INTEGERP, not implicit test against zero, for glyph object.
13706 (try_window_id): Don't use make_number when we want an int value.
13707
13708 * xfaces.c (xlfd_symbolic_value): Make last argument a
13709 Lisp_Object, to be consistent with callers.
13710 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13711 (lface_hash): Apply XFASTINT to lisp values before folding in.
13712
13713 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13714 fill in window width and height. Pass an int, not a lisp object,
13715 as first arg to Finsert.
13716
13717 2000-04-01 Gerd Moellmann <gerd@gnu.org>
13718
13719 * xfaces.c (realize_basic_faces): Block input while realizing
13720 the faces.
13721
13722 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13723
13724 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13725
13726 2000-03-31 Gerd Moellmann <gerd@gnu.org>
13727
13728 * xterm.c (x_produce_glyphs): When displaying unibyte text
13729 or ASCII, handle case that per-char metric is null.
13730
13731 2000-03-30 Ken Raeburn <raeburn@gnu.org>
13732
13733 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13734
13735 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13736 (XSUBR, XBUFFER): Verify correct object type before returning
13737 pointer, using eassert.
13738 * frame.h (XFRAME): Likewise.
13739
13740 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13741 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13742 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
13743 * data.c (set_internal): Likewise.
13744 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13745 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
13746 * fileio.c (auto_save_1): Likewise.
13747 * insdel.c (check_markers): Likewise.
13748 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13749 * undo.c (record_insert): Likewise.
13750 * vmsproc.c (child_sig): Likewise.
13751 * window.c (unshow_buffer, window_loop): Likewise.
13752 * xterm.c (x_erase_phys_cursor): Likewise.
13753
13754 2000-03-30 Gerd Moellmann <gerd@gnu.org>
13755
13756 * xfns.c (free_image_cache): Free the cache structure itself
13757 last, after all its members have been freed.
13758
13759 * lisp.h (xstrdup): Add prototype.
13760
13761 * alloc.c (xstrdup): Moved here from xfaces.c.
13762 (allocating_for_lisp): Variable removed.
13763 (lisp_malloc): Block input around the calls to malloc and mem_insert.
13764
13765 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13766 of Fsymbol_value.
13767 (xstrdup): Moved to alloc.c.
13768
13769 2000-03-29 Ken Raeburn <raeburn@gnu.org>
13770
13771 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13772
13773 * emacs.c (main): Fix sense of no-loadup test.
13774
13775 * config.in (ENABLE_CHECKING): Undef.
13776
13777 * lisp.h (struct interval): Replace "parent" field with a union of
13778 interval pointer and Lisp_Object; add new bitfield to use as
13779 discriminant. Change other flag fields to bitfields.
13780 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
13781 is defined and the supplied test fails, print a message and abort.
13782 (eassert): New macro. Use CHECK to provide an assert-like facility.
13783
13784 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13785 pointers; abort if the value looks like a lisp object.
13786 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13787 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
13788 Modify for new interval parent definition.
13789
13790 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13791 (UNMARK_BALANCE_INTERVALS): Update references that need an
13792 addressable lisp object in the interval structure.
13793 (die): New function.
13794 (suppress_checking): New variable.
13795
13796 * intervals.c (interval_start_pos): Just return 0 if there's no
13797 parent object.
13798
13799 2000-03-29 Gerd Moellmann <gerd@gnu.org>
13800
13801 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13802 and earlier Emacs versions.
13803
13804 * keyboard.c (Ftop_level): Cancel busy-cursor.
13805
13806 * eval.c (call_debugger): Cancel busy-cursor.
13807
13808 2000-03-29 Kenichi Handa <handa@etl.go.jp>
13809
13810 * search.c (Freplace_match): Adjust multibyteness of the current
13811 buffer and NEWTEXT. Free allocated memory before signaling an error.
13812
13813 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13814
13815 * regex.c (analyse_first): New function obtained by ripping out most
13816 of re_compile_fastmap and generalizing it a little bit so that it
13817 can also just return whether a given (sub)pattern can match the empty
13818 string or not.
13819 (regex_compile): Use `analyse_first' to decide whether the loop-check
13820 needs to be done or not for *, +, *? and +? (the loop check is costly
13821 for non-greedy repetition).
13822 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13823
13824 2000-03-28 Dave Love <fx@gnu.org>
13825
13826 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
13827
13828 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13829
13830 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13831
13832 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13833 an expression.
13834 (enum re_opcode_t): Update description of succeed_n.
13835 (PATFETCH): Always define.
13836 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13837 operators, char classes, shy-groups and intervals).
13838 Optimize special cases of intervals so as to only use succeed_n and
13839 jump_n when really needed.
13840 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13841 that we don't have to handle the special cases any more.
13842 Simplify on_failure_jump handling as well.
13843
13844 2000-03-28 Jason Rumney <jasonr@gnu.org>
13845
13846 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13847
13848 2000-03-27 Gerd Moellmann <gerd@gnu.org>
13849
13850 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13851
13852 * s/msdos.h (GC_SETJMP_WORKS): Define.
13853
13854 * alloc.c (mark_maybe_object): New function.
13855 (mark_memory): Use it.
13856 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13857 (setjmp_tested_p, longjmp_done): New variables.
13858 (test_setjmp): New function.
13859 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13860 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13861
13862 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13863 to DEC_TEXT_POS and INC_TEXT_POS.
13864
13865 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13866 with parameter MULTIBYTE_P.
13867
13868 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
13869
13870 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
13871 buffers because it looks for multibyte character byte sequences
13872 which don't exist in unibyte text.
13873
13874 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13875
13876 * xfaces.c (register_color, unregister_color, unregister_colors)
13877 [DEBUG_X_COLORS]: New functions.
13878 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13879
13880 * xfns.c (x_set_cursor_color): Get color reference counts right.
13881
13882 * xterm.c (x_copy_color): New function.
13883 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13884
13885 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13886 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13887 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13888 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13889 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13890 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13891 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13892 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13893 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13894 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13895
13896 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13897 names for handling per-buffer variables.
13898
13899 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13900 instead of MAX_BUFFER_LOCAL_VARS.
13901 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13902
13903 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13904
13905 * xfns.c (x_specified_cursor_type): New function.
13906 (x_set_cursor_type): Use it.
13907
13908 * buffer.h (struct buffer): Add cursor_type.
13909
13910 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13911
13912 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
13913 (print_partial_compiled_pattern, re_compile_fastmap):
13914 Handle new opcode.
13915 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13916 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13917 executing it as well as when popping it off the stack to find infinite
13918 loops in non-greedy repetition operators.
13919
13920 2000-03-26 Gerd Moellmann <gerd@gnu.org>
13921
13922 * doc.c (Qfunction_documentation): New variable.
13923 (syms_of_doc): Initialize Qfunction_documentation.
13924 (Fdocumentation): If FUNCTION is a symbol with non-nil
13925 `function-documentation' property, return a documentation derived
13926 from that.
13927
13928 * buffer.c (syms_of_buffer): Add default-cursor-type.
13929 (init_buffer_once): Don't let cursor_type have a local value
13930 in every buffer.
13931
13932 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13933 on buffer-local value of cursor_type.
13934 (x_draw_bar_cursor): Add parameter WIDTH.
13935
13936 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13937 (init_buffer_once): Set default cursor_type value to t.
13938 Mark cursor_type as local everywhere.
13939 (syms_of_buffer): New per-buffer variable cursor-type.
13940
13941 * buffer.h (struct buffer): Remove member local_var_flags,
13942 add local_flags.
13943 (MAX_BUFFER_LOCAL_VARS): New macro.
13944 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13945 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13946 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13947 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13948
13949 * print.c (print_object): Use new macros for per-buffer variables.
13950
13951 * category.c (Fset_category_table): Use new macros for per-buffer
13952 variables.
13953
13954 * buffer.c (buffer_permanent_local_flags): Make a char array.
13955 (max_buffer_local_idx): New variable.
13956 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13957 for new handling of per-buffer variables.
13958 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13959 (init_buffer_once): Initialize per-buffer vars differently.
13960 Set max_buffer_local_idx.
13961
13962 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13963 variables.
13964
13965 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
13966
13967 * data.c (do_symval_forwarding, store_symval_forwarding)
13968 (find_symbol_value, set_internal, default_value, Fset_default)
13969 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13970 per-buffer variables.
13971
13972 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13973
13974 2000-03-24 Gerd Moellmann <gerd@gnu.org>
13975
13976 * xterm.c (x_term_init): Unblock input around call1 of
13977 Qvendor_specific_keysyms.
13978
13979 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13980 (find_defun_start): Consider an open parenthesis in column 0
13981 a defun start only if open_paren_in_column_0_is_defun_start is set.
13982 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13983
13984 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13985
13986 * eval.c (Fautoload): Add entry in load-history (if after dump).
13987 * lread.c (load-history): Update docstring.
13988
13989 2000-03-24 Gerd Moellmann <gerd@gnu.org>
13990
13991 * indent.c (Fvertical_motion): Always use the current buffer.
13992 Temporarily change the window's buffer, if necessary.
13993
13994 2000-03-23 Gerd Moellmann <gerd@gnu.org>
13995
13996 * xterm.c (fast_find_position): Make sure not to consider rows
13997 not visible in the window.
13998
13999 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
14000
14001 * regex.c (enum syntaxcode): Provide default for non-Emacs.
14002 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
14003
14004 2000-03-22 Jason Rumney <jasonr@gnu.org>
14005
14006 * w32menu.c (single_submenu): Set help string to NULL if none.
14007 (w32_menu_show): Set help string correctly.
14008 (add-menu-item): Set help string in MIIM_DATA for menu item.
14009 Load SetMenuItemInfoA explicitly.
14010 (w32_menu_display_help): New function.
14011
14012 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
14013 (QCdata): Moved to xdisp.c.
14014
14015 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
14016 (Vw32_charset_to_codepage_alist): Removed.
14017 (Vw32_charset_info_alist): New variable.
14018 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
14019 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
14020 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
14021 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
14022 with TODO comment.
14023 (w32_codepage_for_font): Use Vw32_charset_info_alist.
14024 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
14025 Define Vw32_charset_info_alist and w32_charset symbols.
14026
14027 2000-03-22 Jason Rumney <jasonr@gnu.org>
14028
14029 * makefile.nt (w32bdf.obj): Update dependencies.
14030
14031 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
14032
14033 * w32fns.c: Include fontset.h after dispextern.h.
14034 (Fx_create_frame): Do not create fontset.
14035 (w32_load_system_font): Doc fix.
14036 (Fx_close_connection): Free full_name if it is not shared.
14037
14038 * w32term.c: Include fontset.h after dispextern.h.
14039 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
14040 Callers updated.
14041 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
14042 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
14043 (w32_font_is_double_byte): New function, needs body.
14044 (x_append_glyph): Set glyph->glyph_not_available_p.
14045 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14046 it->charset. If it->multibyte_p is zero and it->c is a multibyte
14047 character, convert it to a unibyte character.
14048 (struct glyph_string): Delete member `charset'.
14049 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
14050 calculating it is found.
14051 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14052 the case that per char metric is not available correctly.
14053 (x_fill_glyph_string): Handle the case that the specific glyph is
14054 not available correctly.
14055 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14056 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14057 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14058 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14059 fontset. Don't call FS_LOAD_FONT.
14060
14061 2000-03-22 Ken Raeburn <raeburn@gnu.org>
14062
14063 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
14064 (INT_LISPLIKE): New macro.
14065 (NULL_INTERVAL_P): Use it.
14066 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
14067 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
14068 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
14069
14070 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
14071 explicit references to "parent" field of struct interval and
14072 associated unclean type conversions.
14073 * intervals.c (create_root_interval, root_interval, rotate_right)
14074 (rotate_left, balance_possible_root_interval, split_interval_right)
14075 (split_interval_left, interval_start_pos, find_interval)
14076 (next_interval, previous_interval, update_interval)
14077 (adjust_intervals_for_insertion, delete_node, delete_interval)
14078 (adjust_intervals_for_deletion, merge_interval_right)
14079 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
14080 (copy_intervals_to_string): Likewise.
14081 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
14082 Likewise.
14083 * syntax.c (update_syntax_table): Likewise.
14084
14085 * intervals.c (reproduce_tree_obj): New function, like
14086 reproduce_tree but takes a Lisp_Object for the parent. Declare
14087 with prototype.
14088 (graft_intervals_into_buffer): Use it when appropriate.
14089 (reproduce_tree): Declare with prototype.
14090 (balance_possible_root_interval): Check that the parent is a lisp
14091 object before trying to examine its type.
14092
14093 2000-03-22 Gerd Moellmann <gerd@gnu.org>
14094
14095 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
14096 as strings only if both are known to be strings.
14097
14098 * s/openbsd.h (LIBS_TERMCAP): Undef.
14099
14100 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
14101
14102 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
14103 definitions for non-Emacs compilation.
14104 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
14105 outside of `#ifdef emacs'.
14106 (print_partial_compiled_pattern): Update.
14107 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
14108 (re_compile_fastmap): Merge handling of charset and charset_not (for
14109 emacs and non-emacs compilation as well).
14110 Similarly for (not)categoryspec and (not)syntaxspec.
14111 Don't use the fastmap when reaching `anychar' since the added
14112 complexity is not justified.
14113 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
14114 and (not)syntaxspec. Merge (not)categoryspec.
14115
14116 2000-03-22 Kenichi Handa <handa@etl.go.jp>
14117
14118 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
14119 (FACE_FOR_CHAR): Define them differently for the configuration of
14120 --without-x.
14121
14122 2000-03-21 Dave Love <fx@gnu.org>
14123
14124 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
14125 doc string.
14126
14127 2000-03-21 Gerd Moellmann <gerd@gnu.org>
14128
14129 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
14130 (lface_fully_specified_p): Don't check contents of
14131 LFACE_FONT_INDEX because that attribute is optional.
14132 (realize_x_face): Remove now unwarranted xassert.
14133
14134 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
14135
14136 The following changes are to make font selection based on
14137 characters, not charset. In addition, they recover fontset
14138 facilities while utilizing the new font selection mechanism.
14139
14140 * Makefile.in (fontset.o): Depend on dispextern.h.
14141
14142 * alloc.c (mark_face_cache): Don't mark face->registry.
14143
14144 * dispextern.h (struct glyph): New member glyph_not_available_p.
14145 Use 22 bits for face_id.
14146 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
14147 (struct face): Delete member registry, new member ascii_face.
14148 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
14149 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
14150 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
14151 (struct it): Delete member charset, new member glyph_not_available_p.
14152
14153 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
14154 (struct fontset_info, struct fontset_data): Structs removed.
14155 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
14156 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
14157 (fs_load_font, fs_query_fontset): Adjusted for new argument.
14158 (fs_free_face_fontset, fontset_font_pattern)
14159 (face_suitable_for_char_p, face_for_char)
14160 (make_fontset_for_ascii_face): Extern them.
14161 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
14162 (FS_LOAD_FACE_FONT): New macro.
14163
14164 * fontset.c: All codes rewritten or adjusted for the change of
14165 fontset implementation. Now fontset is represented by char table.
14166 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
14167 Variables removed.
14168 (my_strcasecmp): Function removed.
14169 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
14170 (AREF, ASIZE): New macros.
14171 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
14172 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
14173 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
14174 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
14175 (fontset_id_valid_p, font_family_registry, fontset_name)
14176 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
14177 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
14178 New functions.
14179 (fs_load_font): New arg FACE. Caller changed.
14180 (fs_query_fontset): Argument changed. Caller changed.
14181 (Fquery_fontset): call fs_query_fontset.
14182 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
14183 Functions removed.
14184 (clear_fontset_elements, check_registry_encoding)
14185 (check_fontset_name): New functions.
14186 (syms_of_fontset): Set char-table-extra-slots property of fontset
14187 to 3. Staticpro and initialize Vfontset_table and
14188 Vdefault_fontset. Defsubr fontset_font and fontset_list.
14189
14190 * frame.h (struct frame): Member `fontset_data' removed.
14191 (FRAME_FONTSET_DATA): Macro removed.
14192
14193 * frame.c (make_frame): Don't allocate f->fontset_data.
14194 (Fdelete_frame): Don't free f->fontset_data.
14195
14196 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
14197
14198 * xdisp.c (charset_at_position): Function removed.
14199 (init_iterator): Don't set member charset of struct `it'.
14200 (handle_face_prop, reseat_to_string, set_iterator_to_next)
14201 (next_element_from_display_vector, insert_left_trunc_glyphs):
14202 Likewise.
14203 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
14204 FACE_FOR_CHARSET.
14205 (get_next_display_element, append_space)
14206 (extend_face_to_end_of_line): Likewise.
14207
14208 * xfaces.c (Qx_charset_registry, Vface_default_registry):
14209 Variables removed.
14210 (clear_font_table, frame_update_line_height, load_face_font):
14211 Adjusted for the change of fontset implementation.
14212 (load_face_fontset_font): Function removed.
14213 (pixel_point_size): New function.
14214 (font_list): Argument type changed. Caller changed.
14215 (LFACE_FONT): New macro.
14216 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
14217 (set_lface_from_font_name): Type of arg FONTNAME is changed to
14218 Lisp_Object. Determine the font name by actually loading a font
14219 by the specified pattern. Set LFACE_FONT (lface) to the specified
14220 pattern. Even if a font is not found, don't try alternatives.
14221 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
14222 (set_font_frame_param): If `font' is specified in lface, use it.
14223 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
14224 (lface_same_font_attributes_p): Likewise.
14225 (make_realized_face): Arguent changed. Caller changed. Set
14226 face->ascii_face to face itself.
14227 (free_realized_face): Free face->fontset if face is for ASCII.
14228 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
14229 (deduce_unibyte_registry, x_charset_registry): Functions removed.
14230 (free_realized_multibyte_face): New function.
14231 (lookup_face, lookup_named_face, lookup_derived_face): Argument
14232 changed. Caller changed.
14233 (try_font_list): Argument type changed.
14234 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
14235 (choose_face_font): Argument changed. Handle fontset properly.
14236 (choose_face_fontset_font): Function removed.
14237 (realize_default_face, realize_named_face): Don't remove the
14238 former face here.
14239 (realize_face): Argument changed. Caller changed. Remove face
14240 with the arg former_face_id in advance. Load font for the new face.
14241 (realize_x_face): Argument changed. Caller changed. For a
14242 multibyte character, share fontset with base_face. For a single
14243 byte character, make a new realized fontset. Don't load a font here.
14244 (realize_tty_face): Argument changed. Caller changed.
14245 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
14246 (face_at_buffer_position): Don't check multibyte_p for returning
14247 DEFAULT_FACE_ID.
14248 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
14249 FACE_SUITABLE_FOR_CHARSET_P.
14250 (syms_of_xfaces): Remove code for Qx_charset_registry and
14251 Vface_default_registry.
14252
14253 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
14254 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
14255 (x_per_char_metric): Don't try FONT->default_char. Even if
14256 pcm->width is zero, glyph bits may exist.
14257 (x_encode_char): Always initialize char2b->byte1.
14258 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
14259 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
14260 (x_append_glyph): Set glyph->glyph_not_available_p.
14261 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
14262 it->charset. Handle the case that per char metric is not
14263 available. If it->multibyte_p is zero and it->c is a multibyte
14264 character, convert it to a unibyte character.
14265 (struct glyph_string): Delete member `charset'.
14266 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
14267 the case that per char metric is not available correctly.
14268 (x_fill_glyph_string): Handle the case that the specific glyph is
14269 not available correctly.
14270 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
14271 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
14272 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
14273 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
14274 fontset. Don't call FS_LOAD_FONT.
14275
14276 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
14277 (x_create_tip_frame): Likewise.
14278 (Fx_close_connection): Free full_name of font_info.
14279
14280 * fns.c (optimize_sub_char_table): New function.
14281 (Foptimize_char_table): New function.
14282 (syms_of_fns): Defsubr Soptimize_char_table.
14283
14284 2000-03-20 Gerd Moellmann <gerd@gnu.org>
14285
14286 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
14287 only if buffer is displayed in some window.
14288
14289 * xdisp.c (handle_single_display_prop): Initialize local `value'.
14290 (try_window_reusing_current_matrix): Don't call scroll run
14291 function if run's current and desired position are the same;
14292 this prevents cursor flickering.
14293
14294 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
14295
14296 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
14297
14298 * regex.c (RE_STRING_CHAR): New macro.
14299 (GET_CHAR_AFER_2): Remove.
14300 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
14301 (enum re_opcode_t): Remove on_failure_jump_exclusive.
14302 (print_partial_compiled_pattern, re_compile_fastmap)
14303 (re_match_2_internal): Remove on_failure_jump_exclusive.
14304 (regex_compile): Turn optimizable P+ loops into PP*, so that the
14305 optimization only need to work for * (ie. can use of_keep_string_jump).
14306 Remove the special case for .*\n since it is now covered by the general
14307 optimization.
14308 (re_search_2): Don't bother with `room'.
14309 (skip_one_char): New function.
14310 (skip_noops): Simplify since `memory' is not needed any more.
14311 (mutually_exclusive_p): Restructure slightly to use `switch' and
14312 add handling for "all" remaining cases.
14313 (re_match_2_internal): Change on_failure_jump_smart to use
14314 on_failure_keep_string_jump (and redirect the end-of-loop jump)
14315 rather than on_failure_jump_exclusive.
14316
14317 2000-03-19 Gerd Moellmann <gerd@gnu.org>
14318
14319 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
14320 number of bits per RGB because it's everywhere used as the depth
14321 of the visual.
14322
14323 * term.c (calculate_costs): Remove code dealing with X frames.
14324
14325 2000-03-19 Richard M. Stallman <rms@gnu.org>
14326
14327 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
14328
14329 2000-03-18 Gerd Moellmann <gerd@gnu.org>
14330
14331 * lread.c (read_integer): Unread the last char not consumed.
14332
14333 2000-03-17 Gerd Moellmann <gerd@gnu.org>
14334
14335 * xterm.c (x_update_window_cursor): Don't update in frames
14336 which are in the process of being deleted.
14337
14338 2000-03-16 Gerd Moellmann <gerd@gnu.org>
14339
14340 * Makefile.in (mostlyclean): Add `*.core'.
14341 (clean): Add `bootstrap-emacs'.
14342
14343 * lread.c (read_integer): New function.
14344 (read1): Support read syntax #o, #x, #b, #r.
14345
14346 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
14347
14348 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
14349 make sure POINTER_TO_OFFSET gives the same value before and after
14350 PREFETCH. Use `dfail' to guarantee "atomic" matching.
14351 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
14352 (debug): Now only active if > 0 rather than if != 0.
14353 (DEBUG_*): Update for the new meaning of `debug'.
14354 (print_partial_compiled_pattern): Add missing `succeed' case. Use
14355 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
14356 in `succeed_n', `jump_n' and `set_number_at'.
14357 (store_op1, store_op2, insert_op1, insert_op2)
14358 (at_begline_loc_p, at_endline_loc_p): Add prototype.
14359 (group_in_compile_stack): Move to after its arg's types are
14360 declared and add a prototype.
14361 (PATFETCH): Define in terms of PATFETCH_RAW.
14362 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
14363 (QUIT): Redefine as a nop except for NTemacs.
14364 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
14365 indentation of the greedy-op and shy-group code.
14366 (at_(beg|end)line_loc_p): Fix argument's types.
14367 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
14368 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
14369 (MATCHING_IN_FIRST_STRING): Remove.
14370 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
14371 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
14372 QUIT unconditionally.
14373
14374 2000-03-15 Gerd Moellmann <gerd@gnu.org>
14375
14376 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
14377 a sole completion.
14378
14379 * process.c (send_process): Add a hint that the function
14380 can call Lisp code to its comment.
14381
14382 * lread.c (load_dangerous_libraries): New variable.
14383 (Vbytecomp_version_regexp): New variable.
14384 (safe_to_load_p): New function.
14385 (Fload): Handle files not compiled with Emacs specially.
14386 (syms_of_lread): New Lisp variable load-dangerous-libraries.
14387
14388 2000-03-14 Gerd Moellmann <gerd@gnu.org>
14389
14390 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
14391
14392 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
14393 support functions only if HAVE_X11R6_XIM is defined.
14394 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
14395
14396 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
14397
14398 * xfns.c (X_I18N_INHIBITED): Don't define.
14399 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
14400 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
14401
14402 * config.in (HAVE_X_I18N): Moved here from xterm.h.
14403 (HAVE_X11R6_XIM): Define.
14404
14405 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
14406
14407 * xterm.c (x_term_init): Add support for X resource `synchronous'.
14408 If set, call XSynchronize.
14409
14410 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
14411
14412 * regex.c: Declare a new type `re_char' used throughout the code
14413 for the string char type. It's `const unsigned char' to match the
14414 rest of Emacs. Consistently make sure all pointers to strings use
14415 it and make sure all pointers into the pattern use `unsigned char'.
14416 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
14417 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
14418 code duplication.
14419
14420 * charset.h (GET_CHAR_AFTER_2): Remove.
14421 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
14422
14423 2000-03-12 Ken Raeburn <raeburn@gnu.org>
14424
14425 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
14426 variable before the invocation of YMF_PASS_LDFLAGS, in case both
14427 of them try to use backquotes.
14428
14429 2000-03-12 Dave Love <fx@gnu.org>
14430
14431 * unexelf.c: Restore changes of 1999-10-19.
14432 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
14433 fix its type and alignment; copy it from current process.
14434
14435 2000-03-12 Gerd Moellmann <gerd@gnu.org>
14436
14437 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
14438 has been found. Fix bug not computing timer's predecessor.
14439
14440 * fileio.c (Fread_file_name): Handle case that DIR contains a
14441 file name.
14442
14443 * window.c (Fsave_window_excursion): Doc fix.
14444
14445 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
14446
14447 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
14448
14449 * msdos.c (vga_installed): New function, code moved from
14450 dos_set_window_size.
14451 (Qbar, Qcursor_type, outside_cursor): New variables.
14452 (syms_of_msdos): Intern and staticpro them.
14453 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
14454 shape used outside Emacs when called for the first time.
14455 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
14456 cursor shape used outside Emacs.
14457 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
14458 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
14459 type has changed.
14460 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
14461 parameters specify the cursor. Make qreverse a global
14462 variable (renamed to Qreverse).
14463
14464 2000-03-09 Gerd Moellmann <gerd@gnu.org>
14465
14466 * fns.c (Fy_or_n_p): Cancel busy-cursor.
14467
14468 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
14469
14470 This is a big redesign of failure-stack and register handling, prompted
14471 by bugs revealed when trying to add shy-groups. Overall, what happened
14472 is that loops are now structured a little differently, groups can be
14473 shy and the code is a little simpler.
14474
14475 * regex.h: Update the copyright.
14476 (RE_SHY_GROUPS): New value.
14477 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
14478 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
14479
14480 * regex.c (enum re_opcode_t): Remove jump_past_alt,
14481 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
14482 on_failure_jump_(exclusive, loop and smart). Also fix the comment
14483 for (start|stop)_memory since they now only take one argument (the
14484 second has becomes unnecessary).
14485 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
14486 (print_compiled_pattern): Use %ld to printf long ints and flush to
14487 make debugging a little easier.
14488 (union fail_stack_elt): Make the integer unsigned.
14489 (struct fail_stack_type): Add a `frame' element.
14490 (INIT_FAIL_STACK): Init `frame' as well.
14491 (POP_PATTERN_OP): New macro for re_compile_fastmap.
14492 (DEBUG_PUSH, DEBUG_POP): Remove.
14493 (NUM_REG_ITEMS): Remove.
14494 (NUM_NONREG_ITEMS): Adjust.
14495 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
14496 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
14497 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
14498 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
14499 New macros.
14500 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
14501 address pushed is not the destination of the jump but the source
14502 of it instead.
14503 (NUM_FAILURE_ITEMS): Remove.
14504 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
14505 registers before the actual failure point). Don't hardcode any
14506 meaning for str==NULL anymore.
14507 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
14508 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
14509 Remove.
14510 (REG_UNSET_VALUE): Use NULL (why not?).
14511 (compile_range): Remove declaration since it doesn't exist.
14512 (struct compile_stack_elt_t): Remove inner_group_offset.
14513 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14514 (regex_grow_registers): Remove dead code.
14515 (FIXUP_ALT_JUMP): New macro.
14516 (regex_compile): Add shy-groups Change loops to use
14517 on_failure_jump_smart&jump instead of
14518 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14519 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14520 variable to me). Use `jump' instead of `jump_past_alt' and don't
14521 bother with push_dummy_failure in alternatives since it is now
14522 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14523 emacs' for (re)allocating the stack.
14524 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14525 from loop when bufp->can_be_null rather than jumping to `done'.
14526 Avoid jumping backwards so as to ensure termination. Use
14527 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14528 backreferences. Remove dead code in handling of `anychar'.
14529 (skip_noops, mutually_exclusive_p): New functions taken from the
14530 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14531 improve mutually_exclusive_p to handle ".+\n".
14532 (lowest_active_reg, highest_active_reg)
14533 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
14534 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14535 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14536 variables. Push register (in `start_memory') on the stack rather
14537 than storing it in old_reg(start|end). Remove the cycle detection
14538 from `stop_memory', replaced by the use of on_failure_jump_loop
14539 for greedy loops. Add code for the new on_failure_jump_<foo>.
14540 Remove ad-hoc code in `on_failure_jump' to push more registers in
14541 the case of a loop. Take out code from `maybe_pop_jump' into
14542 separate functions and adapt it to the semantics of
14543 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14544 and push_dummy_failure. Remove dummy_failure handling and
14545 handling of `failures to jump to on_failure_jump' (this last one
14546 was already dead code, it seems).
14547 (group_match_null_string_p, alt_match_null_string_p)
14548 (common_op_match_null_string_p): Remove.
14549
14550 2000-03-08 Dave Love <fx@gnu.org>
14551
14552 * config.in: Don't depend on __STDC__ for volatile.
14553 Add POINTER_TYPE, PTR, PROTOTYPES.
14554
14555 * hftctl.c, strftime.c: Use PROTOTYPES.
14556 * eval.c (find_handler_clause): Likewise.
14557
14558 * mem-limits.h: Use POINTER_TYPE.
14559
14560 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14561 (memory_warnings): Declare using POINTER_TYPE.
14562
14563 2000-03-08 Gerd Moellmann <gerd@gnu.org>
14564
14565 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14566
14567 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
14568
14569 * xfns.c: Remove obsolete code in #if 0.
14570 (Fx_focus_frame): New function.
14571
14572 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14573
14574 * coding.c (coding_category_name): Add coding-category-utf-8,
14575 coding-category-utf-16-be, coding-category-utf-16-le.
14576 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14577 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14578 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14579 (detect_coding_utf_8): New function.
14580 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14581 UTF_16_LOW_SURROGATE_P): New macros.
14582 (detect_coding_utf_16): New function
14583 (detect_coding_mask): When priorities are specified, skip any
14584 categories that have `nil' coding-system. Fix bug of returning
14585 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14586 returns a mask not set in PRIORITIES.
14587 (detect_eol_type_in_2_octet_form): New function.
14588 (detect_eol): selects detect_eol_type_XXX to call according to
14589 cooding->category_idx.
14590 (detect_coding_system): Remove `nil' coding-system in the result.
14591 (Fupdate_coding_systems_internal): Update all coding-categories.
14592
14593 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14594 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14595 New macros.
14596 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14597 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14598 (CODING_CATEGORY_IDX_UTF_16_LE)
14599 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14600 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
14601 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14602 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14603
14604 2000-03-07 Gerd Moellmann <gerd@gnu.org>
14605
14606 * doc.c (Fdocumentation_property): If value is not a string,
14607 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14608
14609 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14610 close the display with XtCloseDisplay. This caused a bus error
14611 on OpenWindows.
14612
14613 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14614 complete but not unique.
14615
14616 2000-03-06 Gerd Moellmann <gerd@gnu.org>
14617
14618 * process.c (send_process): Remove local variable `procname' that
14619 might become invalid when a GC happens. Instead, access the
14620 process name slot directly.
14621
14622 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14623 orig_height if set.
14624
14625 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14626 orig_height if set.
14627
14628 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14629
14630 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14631 glyph matrices have been freed.
14632
14633 2000-03-05 Gerd Moellmann <gerd@gnu.org>
14634
14635 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
14636 (bootstrap-temacs): Set LC_ALL to C like for temacs.
14637
14638 * xfns.c (QCdata): Moved to xdisp.c.
14639
14640 * xdisp.c (QCdata): Moved here from xfns.c.
14641 (syms_of_xdisp): Initialize QCdata.
14642
14643 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14644
14645 * window.c (coordinates_in_window): Use
14646 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14647 FRAME_INTERNAL_BORDER_WIDTH.
14648
14649 * xdisp.c (try_window_id): Recompute unchanged information if
14650 it is obviously invalid.
14651
14652 * xterm.c (x_term_init): Create a colormap if not using the
14653 default visual.
14654
14655 * xterm.h (select_visual): Change prototype.
14656
14657 * xfns.c (select_visual): Rewritten. Recognize user-specified
14658 visual classes.
14659 (visual_classes): New variable.
14660
14661 2000-03-04 Gerd Moellmann <gerd@gnu.org>
14662
14663 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14664 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14665 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
14666 (x_decode_color): Don't handle allocation of white and black specially.
14667 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14668 XtNcolormap resources.
14669 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14670 (Fx_create_frame): Initialize color members of x_output structure.
14671 (xpm_load): Pass colormap to XPM lib.
14672
14673 * xfaces.c (x_free_colors): Access colormap of frame using
14674 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14675 when default colormap is used.
14676
14677 * xterm.c (x_term_init): Set Colormap member of x_display_info
14678 structure. Copy colormap if resource `privateColormap' is
14679 specified (PseudoColor only).
14680 (x_setup_relief_color): Access colormap of frame using
14681 FRAME_X_COLORMAP.
14682
14683 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14684 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14685
14686 2000-03-04 Jason Rumney <jasonr@gnu.org>
14687
14688 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14689 other non-platform-specific equivalents.
14690 [WINDOWSNT]: Include w32term.h, fontset.h and define X
14691 specific functions and macros as their w32 equivalents where
14692 non-platform-specifics are not available.
14693 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14694 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14695 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14696 (frame_update_line_height): Use macros to access f->output_data.
14697 (defined_color): Remove FIXME comments; fixed.
14698 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14699 into #ifdef blocks. Add WINDOWSNT blocks.
14700 (Fx_list_fonts): Use macros for accessing font data.
14701 (set_lface_from_font_name): Different default fonts for X and
14702 WINDOWSNT.
14703 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14704 scalable for backward compatibility.
14705 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
14706 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14707
14708 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
14709 syms_of_w32faces.
14710
14711 * makefile.nt (w32faces.obj): Remove.
14712 (xfaces.obj): Add.
14713
14714 2000-03-03 Jason Rumney <jasonr@gnu.org>
14715
14716 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14717 correct parameters.
14718
14719 2000-03-03 Ken Raeburn <raeburn@gnu.org>
14720
14721 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14722 standard ELF definitions here if the system header does not.
14723
14724 2000-03-03 Gerd Moellmann <gerd@gnu.org>
14725
14726 * xterm.c (PER_CHAR_METRIC): Removed.
14727 (x_per_char_metric_1, x_default_char): New functions.
14728 (x_per_char_metric): If font's default char is invalid, return
14729 metrics of a suitably chosen usable default char.
14730 (x_draw_glyph_string_foreground): If font has an invalid default
14731 char, replace occurrences of unprintable chars with a suitably
14732 chosen usable default char.
14733
14734 2000-03-02 Gerd Moellmann <gerd@gnu.org>
14735
14736 * xterm.c (note_mouse_highlight): Return quickly if frame's
14737 glyph matrices have been freed.
14738
14739 * dispnew.c (free_glyphs): Block input while freeing matrices.
14740
14741 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14742
14743 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14744 Use x_free_colors.
14745
14746 * dispextern.h (x_free_colors): Add prototype.
14747
14748 * xfaces.c (x_free_colors): New function.
14749 (unload_color, free_face_colors): Use it.
14750
14751 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14752
14753 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14754
14755 * window.c [MSDOS]: Include msdos.h.
14756
14757 2000-03-02 Dave Love <fx@gnu.org>
14758
14759 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14760
14761 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14762 set C_OPTIMIZE_SWITCH for gcc.
14763
14764 2000-03-02 Kenichi Handa <handa@etl.go.jp>
14765
14766 * coding.c (coding_save_composition): Be sure to allocate
14767 composition data area in coding even if there's no composition in
14768 the current run.
14769
14770 2000-03-01 Jason Rumney <jasonr@gnu.org>
14771
14772 * w32term.c: Equivalent changes to those made to xterm.c on
14773 2000-02-25 and 2000-02-24.
14774
14775 * w32fns.c: Equivalent changes to those made to xfns.c on
14776 2000-02-25 and 2000-02-21.
14777
14778 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14779 correct line-end convention is followed.
14780
14781 * w32menu.c [HAVE_BOXES]: Remove #undef.
14782 (single_keymap_panes): Remove code for simulating checkmarks.
14783 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14784 Remove code for drawing simulated checkmarks.
14785 (w32_menu_show): make unibyte help string correctly.
14786 (add_menu_item): draw standard Windows checkmarks. Draw radio
14787 buttons as radio buttons if possible.
14788
14789 2000-03-01 Gerd Moellmann <gerd@gnu.org>
14790
14791 * sysdep.c (start_of_text): Don't define this function for NetBSD
14792 with ELF.
14793
14794 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
14795 Don't define.
14796 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14797 (LINKER): Don't undef if __NetBSD__ is defined.
14798
14799 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14800
14801 * fileio.c [__NetBSD__]: Define `unix'.
14802
14803 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14804
14805 2000-02-29 Gerd Moellmann <gerd@gnu.org>
14806
14807 * atimer.c (start_atimer): Don't abort when timers are stopped.
14808 (append_atimer_lists): New function.
14809 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14810 arbitrary lists of stopped and running atimers.
14811
14812 * atimer.c (cancel_atimer): Handle canceling an atimer when
14813 some timers are stopped.
14814
14815 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14816 after canceling it.
14817
14818 * fns.c (maybe_resize_hash_table): Handle case of new size
14819 coming out as being the same as old size.
14820
14821 2000-02-27 Jason Rumney <jasonr@gnu.org>
14822
14823 * makefile.nt: Add atimer.h to dependencies.
14824 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14825 * w32console.c: Only disable window system features for dispextern.h
14826 (initialize_w32_display): Build a display info for the console.
14827 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14828 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14829 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14830 as 2 button mice.
14831 * w32gui.h (struct W32FontStruct): Revert last change after change
14832 to xdisp.c.
14833 * w32menu.c (single_submenu): Set up help string.
14834 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14835 (w32_dialog_show): Set up help string.
14836 * w32term.c (w32_display_info_for_display): Remove unused function.
14837 (w32_draw_bitmap): Use pre-built bitmaps.
14838 (w32_initialize_display_info): New function to initialize parts of
14839 display info that are common to both GUI and console frames.
14840 (w32_term_init): Use w32_initialize_display_info. Do not set
14841 Vw32_num_mouse_buttons here, as it is not called for console
14842 frames. Build bitmaps for indicating truncated lines etc.
14843 (x_delete_display): Destroy pre-built bitmaps.
14844 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14845 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14846
14847 2000-02-27 Dave Love <fx@gnu.org>
14848
14849 * lisp.h: Add a bunch of prototypes.
14850
14851 2000-02-26 Kenichi Handa <handa@etl.go.jp>
14852
14853 * keyboard.c (read_char): Set `usec' correctly.
14854
14855 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14856
14857 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14858 `lambda', set reg[RRR] to the map index.
14859 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14860 reg[RRR] to 0. Otherwise, set it to -1.
14861
14862 2000-02-25 Gerd Moellmann <gerd@gnu.org>
14863
14864 * emacs.c (main): Remove code snippet commented out with `//'.
14865
14866 2000-02-25 Richard M. Stallman <rms@gnu.org>
14867
14868 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14869 and contains a `:', prepend `/:'.
14870
14871 * window.c (select_window_1): If selected_window is nil,
14872 don't "swap out" the buffer's point.
14873 (Fset_window_configuration): Set selected_window to nil
14874 before calling Fselect_window.
14875 (unshow_buffer): Don't set point in buffer from window's point
14876 if another more recently selected window also shows the buffer.
14877
14878 2000-02-25 Gerd Moellmann <gerd@gnu.org>
14879
14880 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14881
14882 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14883 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
14884 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14885 New variables.
14886 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14887 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14888 (hide_busy_cursor): New functions.
14889 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14890
14891 * minibuf.c (read_minibuf): Cancel busy-cursor.
14892
14893 * keyboard.c (command_loop_1): Call start_busy_cursor before
14894 Fcommand_execute and cancel_busy_cursor after it.
14895 (timer_check): Remove busy-cursor code.
14896 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14897 cursor timer.
14898
14899 * process.c (wait_reading_process_input): Remove busy-cursor code.
14900
14901 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14902 Fx_hide_busy_cursor.
14903
14904 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14905 Remove prototyoes.
14906 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14907
14908 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14909
14910 * xterm.c (XTread_socket): Remove busy-cursor code.
14911
14912 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14913 (build_frame_matrix_from_leaf_window): Put code handling
14914 glyph row's not being a slice of a frame row in #if 0.
14915 (sync_window_with_frame_matrix_rows): New function.
14916 (frame_row_to_window): New function.
14917 (mirror_line_dance): Handle copies between windows.
14918
14919 * lread.c (Fload): Use `xfree' instead of `free'.
14920 (init_obarray): Use `xmalloc' instead of `malloc'.
14921
14922 * window.c (Fset_window_buffer): Set WINDOW to the window
14923 after decoding.
14924 (coordinates_in_window): Take frame's internal border width
14925 into account.
14926
14927 2000-02-24 Gerd Moellmann <gerd@gnu.org>
14928
14929 * xterm.c (x_display_and_set_cursor): Display cursor of
14930 non-selected windows depending on the setting of
14931 cursor_in_non_selected_windows.
14932
14933 * xdisp.c (cursor_in_non_selected_windows): New variable.
14934 (syms_of_xdisp): DEFVAR_BOOL it.
14935
14936 2000-02-23 Gerd Moellmann <gerd@gnu.org>
14937
14938 * data.c (Fstring_to_number): If number is greater than what
14939 fits into an integer, return a float.
14940
14941 * eval.c (specbind): Remove references to
14942 keyword_symbols_constant_flag.
14943
14944 * data.c (keyword_symbols_constant_flag): Removed.
14945 (Fmakunbound, set_internal, syms_of_data): Remove references to
14946 keyword_symbols_constant_flag.
14947
14948 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14949
14950 2000-02-23 Kenichi Handa <handa@etl.go.jp>
14951
14952 * syntax.c (multibyte_syntax_as_symbol): New variable.
14953 (syms_of_syntax): Declare it as a Lisp variable.
14954 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14955 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14956 nonzero, treat all multibyte characters as symbol.
14957 (init_syntax_once): Give syntax `word' to all multibyte characters.
14958
14959 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14960
14961 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
14962 a deleted frame.
14963
14964 2000-02-21 Gerd Moellmann <gerd@gnu.org>
14965
14966 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14967
14968 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14969 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14970
14971 2000-02-21 Dave Love <fx@gnu.org>
14972
14973 * frame.c (Vmouse_position_function): New variable.
14974 (Fmouse_position): Use it.
14975 (syms_of_frame): Install it.
14976
14977 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14978
14979 2000-02-20 Gerd Moellmann <gerd@gnu.org>
14980
14981 * fileio.c (Finsert_file_contents): Unbind the binding of
14982 standard-output done by temp_output_buffer_setup.
14983
14984 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14985 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14986 (specbind, unbind_to): Handle most common case of non-constant
14987 symbol with trivial value specially.
14988
14989 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14990
14991 2000-02-20 Richard M. Stallman <rms@gnu.org>
14992
14993 * data.c (Fmake_variable_buffer_local): Doc fix.
14994 Init found_for_buffer to 0.
14995 (Fmake_variable_frame_local): If the variable has already
14996 been buffer-local, set the check_frame field.
14997
14998 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14999
15000 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
15001 produced for CODING_MODE_LAST_BLOCK requires.
15002
15003 2000-02-18 Dave Love <fx@gnu.org>
15004
15005 * keyboard.c (echo_keystrokes): Remove declaration.
15006 (Vecho_keystrokes) New variable.
15007 (read_char, record_menu_key, read_key_sequence): Use it to allow
15008 use of float value.
15009 (syms_of_keyboard): Change Vecho_keystrokes declaration.
15010
15011 * lread.c: Undef feature selection macros before defining.
15012
15013 2000-02-18 Gerd Moellmann <gerd@gnu.org>
15014
15015 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
15016 for symbols other than the symbol in question.
15017
15018 2000-02-17 Dave Love <fx@gnu.org>
15019
15020 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
15021
15022 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15023
15024 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
15025
15026 * alloc.c (enum mem_type): Compile unconditionally.
15027
15028 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
15029
15030 * xfaces.c (tty_defined_color): Don't return faulire indication
15031 for unspecified-fg and unspecified-bg pseudo-colors.
15032
15033 2000-02-17 Gerd Moellmann <gerd@gnu.org>
15034
15035 * alloc.c (mark_object): Don't mark symbol names in pure space.
15036 (gc_sweep): Don't unmark symbol names in pure space.
15037
15038 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15039 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15040 [GC_MARK_STACK]: New defines.
15041 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
15042 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
15043
15044 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
15045
15046 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
15047 allocate_buffer instead of xmalloc.
15048
15049 * alloc.c (toplevel): Include setjmp.h.
15050 (PURE_POINTER_P): New define.
15051 (enum mem_type) [GC_MARK_STACK]: New enumeration.
15052 (Vdead) [GC_MARK_STACK]: New variable.
15053 (lisp_malloc): Add parameter TYPE, call mem_insert if
15054 GC_MARK_STACK is defined.
15055 (allocate_buffer): New function.
15056 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
15057 (free_float) [GC_MARK_STACK]: Set type to Vdead.
15058 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
15059 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
15060 (MEM_NIL) [GC_MARK_STACK]: New define.
15061 (struct mem_node) [GC_MARK_STACK]: New structure.
15062 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
15063 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
15064 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
15065 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
15066 (mark_stack) [GC_MARK_STACK]: New functions.
15067 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
15068 (clear_marks): Removed.
15069 (gc_sweep): Set free conses' car, free floats' type, free
15070 symbols' function to Vdead. Use lisp_free to free buffers.
15071 (init_alloc_once): Initialize Vdead.
15072 (survives_gc_p): Return non-zero for pure objects.
15073
15074 * alloc.c: Add comments throughout the file.
15075
15076 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
15077 that unblocks alarms.
15078
15079 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
15080 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
15081 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
15082
15083 * frame.c (make_frame): Set frame initiallly to `garbaged'.
15084
15085 2000-02-17 Kenichi Handa <handa@etl.go.jp>
15086
15087 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
15088 avoid infinite error signaling. Allocate sufficient memory for
15089 eol_str in the case that eoltype is Lisp_Int.
15090
15091 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
15092
15093 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
15094 depends on the previous behavior.
15095
15096 2000-02-16 Gerd Moellmann <gerd@gnu.org>
15097
15098 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
15099
15100 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15101
15102 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
15103
15104 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
15105 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
15106 write(2).
15107
15108 2000-02-15 Richard M. Stallman <rms@gnu.org>
15109
15110 * data.c (set_internal): Don't make variable buffer-local
15111 if within a let-binding for the same buffer.
15112 (let_shadows_buffer_binding_p): New function.
15113
15114 * eval.c (specbind): For buffer-local value,
15115 record the current buffer also.
15116 (unbind_to): Cope with that change.
15117
15118 2000-02-15 Gerd Moellmann <gerd@gnu.org>
15119
15120 * window.c (Fsave_window_excursion): Doc fix.
15121
15122 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
15123
15124 * syntax.c (back_comment): Make sure we only consider comment-starters
15125 of the relevant style and return -1 in case of a failure to find the
15126 beginning of the comment.
15127 (Fforward_comment): If back_comment fails, go back to the position just
15128 after the comment-end.
15129 (scan_lists): Add comment describing a very minor bug.
15130
15131 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15132
15133 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
15134 `completion-regexp-list' in the docstring.
15135
15136 2000-02-14 Dave Love <fx@gnu.org>
15137
15138 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
15139
15140 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
15141
15142 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
15143 to Emacs' syntax. Also fix the comment about set/not-set meanings
15144 since Emacs syntax is not the value 0 any more.
15145 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
15146 since it's now part of RE_SYNTAX_EMACS.
15147
15148 2000-02-12 Dave Love <fx@gnu.org>
15149
15150 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
15151
15152 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15153
15154 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
15155
15156 2000-02-12 Dave Love <fx@gnu.org>
15157
15158 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
15159
15160 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
15161 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
15162 * s/hpux.h: Don't define HAVE_VFORK.
15163
15164 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
15165
15166 * s/nextstep.h: Don't define HAVE_ALLOCA.
15167
15168 * config.in: Add vfork bits.
15169
15170 2000-02-12 Gerd Moellmann <gerd@gnu.org>
15171
15172 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
15173 unwind function to undo the effect of stopping atimers.
15174
15175 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
15176
15177 * atimer.c (stopped_atimers): New variable.
15178 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
15179 New functions.
15180
15181 * atimer.h (stop_other_atimers, run_all_atimers)
15182 (unwind_stop_other_atimers): Add function prototypes.
15183
15184 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
15185
15186 2000-02-11 Ken Raeburn <raeburn@gnu.org>
15187
15188 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
15189 library may depend on jpeg.
15190 (atimer.o): Depends on atimer.c.
15191
15192 2000-02-11 Kenichi Handa <handa@etl.go.jp>
15193
15194 * insdel.c (del_range_1): Call update_compositions.
15195 (del_range_both): Call update_compositions just once..
15196
15197 2000-02-10 Dave Love <fx@gnu.org>
15198
15199 * xfns.c (create_frame_xic): Fix initialization of automatic
15200 aggregates for pcc.
15201
15202 2000-02-09 Kenichi Handa <handa@etl.go.jp>
15203
15204 * ccl.c (CCL_MAKE_CHAR): New macro.
15205 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
15206 registers by CCL_MAKE_CHAR before calling translate_char.
15207 <CCL_TranslateCharacterConstTbl> Likewise.
15208
15209 2000-02-08 Dave Love <fx@gnu.org>
15210
15211 * lread.c (__EXTENSIONS__): Define.
15212
15213 2000-02-08 Gerd Moellmann <gerd@gnu.org>
15214
15215 * puresize.h (BASE_PURESIZE): Increase to 650000.
15216
15217 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15218
15219 * msdos.c (XMenuActivate): Turn off the cursor after displaying
15220 the help message.
15221
15222 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
15223
15224 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
15225 md, mh, mb, mr, and me to the fake termcap entry.
15226
15227 2000-02-06 Ken Raeburn <raeburn@gnu.org>
15228
15229 * sound.c (sound_cleanup): Don't call device close routine if the
15230 function pointer is null.
15231
15232 2000-02-06 Andrew Innes <andrewi@gnu.org>
15233
15234 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
15235 around image definitions and prototypes.
15236 (gamma_correct) [WINDOWSNT]: New prototype.
15237
15238 * w32term.c (x_make_frame_visible): Replace call to
15239 input_poll_signal with poll_for_input.
15240
15241 * window.c [WINDOWSNT]: Include w32term.h.
15242
15243 * xdisp.c [WINDOWSNT]: Include w32term.h.
15244
15245 * makefile.nt: Add dependencies on w32gui.h.
15246 (OBJ1): Include atimer.obj.
15247 ($(BLD)\atimer.obj): New dependency rule.
15248
15249 * w32.c (sigmask): New function (does nothing).
15250 (sigunblock): Ditto.
15251
15252 * frame.c [WINDOWSNT]: Include w32term.h.
15253
15254 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
15255
15256 * lread.c (syms_of_lread): Fix literal newlines.
15257
15258 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
15259 the string constant limit (2048 bytes) in MSVC.
15260 (main): Ditto.
15261
15262 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
15263
15264 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
15265 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
15266 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
15267 dispatch the event.
15268
15269 2000-02-04 Dave Love <fx@gnu.org>
15270
15271 * fileio.c: Remove some unused vars.
15272 (_GNU_SOURCE): Define (for euidaccess).
15273
15274 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
15275
15276 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
15277 gcpro1, gcpro2.
15278 (read_minibuf): Deal with allow_props correctly.
15279
15280 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
15281
15282 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
15283
15284 2000-02-03 Ken Raeburn <raeburn@gnu.org>
15285
15286 * search.c (compile_pattern): If a cache entry has a nil regexp,
15287 fill in that entry instead of clobbering a previously cached
15288 string regexp.
15289
15290 2000-02-02 Ken Raeburn <raeburn@gnu.org>
15291
15292 * puresize.h (BASE_PURESIZE): Increase to 610000.
15293
15294 2000-02-02 Gerd Moellmann <gerd@gnu.org>
15295
15296 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
15297 can GC.
15298
15299 2000-02-02 Kenichi Handa <handa@etl.go.jp>
15300
15301 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
15302 instead of incrementing ic directly.
15303 <CCL_WriteExprConst> Likewise.
15304 <ccl_set_expr>: Set ic to jump_address.
15305
15306 * fileio.c (e_write): Fix the handling of
15307 CODING_FINISH_INSUFFICIENT_SRC.
15308
15309 2000-02-01 Dave Love <fx@gnu.org>
15310
15311 * editfns.c (Fpropertize): Doc fix.
15312
15313 * process.c (Fstart_process): Doc fix.
15314
15315 * eval.c: Fix various doc strings not to duplicate information
15316 from help-manyarg-func-alist.
15317
15318 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
15319
15320 * doc.c (Vhelp_manyarg_func_alist): New variable.
15321 (Fdocumentation): Use it.
15322 (syms_of_doc): Define it.
15323
15324 2000-01-31 Gerd Moellmann <gerd@gnu.org>
15325
15326 * xterm.c (xim_open_dpy): Remove unused local variable.
15327
15328 * emacs.c (USAGE): Use term `display options' instead of `X options'.
15329
15330 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
15331 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
15332
15333 * fns.c (sweep_weak_table): New function.
15334 (sweep_weak_hash_tables): Use it. Keep on marking until there
15335 is no more change.
15336
15337 2000-01-30 Gerd Moellmann <gerd@gnu.org>
15338
15339 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
15340 that XTread_socket does not crash by trying to call XNoOp on a
15341 closed display.
15342
15343 2000-01-30 Jason Rumney <jasonr@gnu.org>
15344
15345 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15346 Change selected_frame to SELECTED_FRAME ().
15347 (w32_console_mouse_position): Remove #ifndef MULE from around
15348 `insist' parameter.
15349
15350 * makefile.nt: Remove dosfns.obj.
15351
15352 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
15353
15354 * w32fns.c (w32_defined_color): Check for valid frame before
15355 applying gamma correction. Eliminate dependency on frame elsewhere.
15356 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
15357 (w32_to_x_font): Use resx and resy not height_in and width_in.
15358 (x_to_w32_font): Doc fix.
15359 (xlfd_strip_height): New function to strip and return font height.
15360 (w32_font_match): Compare height separately from rest of xlfd
15361 spec, using xlfd_strip_height.
15362
15363 * w32term.c (w32_term_init): Swap resx and height_in, resy and
15364 width_in. Use w32_defined_color in place of defined_color.
15365
15366 * w32faces.c: Merge more of DOS and X specifics in preparation for
15367 merge with xfaces.c.
15368 (defined_color): Remove FIXME comment.
15369 (tty_color_name): Provide w32-specific function.
15370 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
15371
15372 * w32console.c (turn_on_face, turn_off_face): Removed.
15373 (w32_face_attributes): New function.
15374 (Global_variables): Reduce scope where possible.
15375 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
15376 fill attribute.
15377 (hl_mode): Don't modify text attributes.
15378 (write_glyphs): Don't do anything if len <= 0. Use
15379 w32_face_attributes to get attributes for drawing. Write
15380 terminating codes using char_attr_normal.
15381 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
15382 (update_begin, update_end): Likewise.
15383 (vga_stdcolor_name): New function.
15384 (initialize_w32_display): Remove char_attr_reverse and char_attr.
15385 (Fset_screen_color): Remove char_attr_reverse.
15386
15387 2000-01-29 Gerd Moellmann <gerd@gnu.org>
15388
15389 * xfns.c (xic_set_preeditarea): Take window parameter and
15390 window-relative pixel-positions.
15391
15392 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
15393 is its frame's selected window.
15394 (xim_instantiate_callback): Likewise.
15395
15396 * xfns.c (x_create_im): Removed.
15397 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
15398 (supported_xim_styles): Renamed from supported_styles.
15399 (best_xim_style): Renamed from best_style.
15400 (create_frame_xic): Renamed from xic_create_frame.
15401 (free_frame_xic): Renamed from xic_destroy_frame.
15402
15403 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
15404
15405 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
15406 our frames, call XFilterEvent with 2nd parameter `None'.
15407 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
15408 returning XBufferOverflow.
15409 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
15410 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
15411 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
15412 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
15413 (xim_initialize, xim_close)
15414 [HAVE_X_I18N && HAVE_X11R6]: New functions.
15415 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
15416 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
15417 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
15418
15419 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
15420 and `xim_styles'.
15421 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
15422 `xic_style' and `xic_xfs'.
15423 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
15424 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
15425 (FRAME_XIM): Removed.
15426
15427 * xfns.c (supported_styles): New variable.
15428 (DEFAULT_STYLE, DEFAULT_FONT): New macros
15429 (xic_create_xfontset, best_style, xic_create_frame)
15430 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
15431 (xic_set_xfontset): New functions.
15432
15433 2000-01-28 Dave Love <fx@gnu.org>
15434
15435 * s/irix6-5.h: Revert last change after change to irix5-0.h.
15436
15437 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
15438
15439 2000-01-28 Gerd Moellmann <gerd@gnu.org>
15440
15441 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
15442 for *scratch* if it already existed.
15443
15444 * emacs.c (USAGE): New macro.
15445 (main): Use it to display usage information.
15446
15447 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15448
15449 Support for the menu-help feature:
15450
15451 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
15452
15453 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
15454 part of the line to the termscript file.
15455 (IT_clear_to_end): Clear the entire line, not just its beginning.
15456 (menu_help_message, prev_menu_help_message): New variables.
15457 (IT_menu_make_room): Make room for the help_text member.
15458 (IT_menu_display): New argument disp_help; all callers changed.
15459 If disp_help is non-zero, store the help text of the active menu
15460 item in menu_help_message.
15461 (XMenuAddPane): Initialize the help_text member to NULL.
15462 (XMenuAddSelection): New argument help_text. Store it in the
15463 XMenu structure.
15464 (XMenuActivate): New argument help_callback. If the value of
15465 menu_help_message has changed since the last time, display the
15466 menu help message text while waiting for the mouse to move. Clear
15467 the echo area before exiting.
15468 (XMenuDestroy): Free the help_text member.
15469
15470 2000-01-27 Gerd Moellmann <gerd@gnu.org>
15471
15472 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
15473 XMenuAddSelection. Pass help callback to XMenuActivate.
15474 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
15475
15476 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
15477
15478 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
15479 and EMACS_SET_USECS.
15480
15481 2000-01-26 Dave Love <fx@gnu.org>
15482
15483 * editfns.c (Fchar_after, Fchar_before): Doc fix.
15484
15485 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
15486 an error may be signalled.
15487
15488 2000-01-26 Gerd Moellmann <gerd@gnu.org>
15489
15490 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
15491 LD_SWITCH_SYSTEM inherited from irix5-0.h.
15492
15493 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
15494
15495 2000-01-25 Gerd Moellmann <gerd@gnu.org>
15496
15497 * charset.c (Fstring): If there is a multibyte char among
15498 the args, always return a multibyte string.
15499
15500 2000-01-25 Gerd Moellmann <gerd@gnu.org>
15501
15502 * sysdep.c (sys_select): Turn atimers off and on instead of
15503 recording and restoring old alarm handler
15504
15505 * process.c (toplevel): Include atimer.h.
15506 (create_process_1): Rewritten.
15507 (create_process): Use atimers instead of alarm.
15508 (wait_reading_process_input) [hpux]: Turn atimers off instead
15509 of turning off SIGALRM.
15510 (wait_reading_process_input): Turn off atimers instead off
15511 calling stop_polling.
15512
15513 * emacs.c (main): Call init_atimer.
15514
15515 * keyboard.c (toplevel): Include systime.h and atimer.h.
15516 (polling_for_input): Removed because unused.
15517 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15518 (poll_timer): New variable.
15519 (poll_for_input, poll_for_input_1): New functions.
15520 (start_polling, stop_polling): Rewritten.
15521
15522 * keyboard.h (polling_for_input): Removed.
15523
15524 * atimer.h, atimer.c: New files.
15525
15526 * Makefile.in (obj): Add atimer.o.
15527 (atimer.o): New target.
15528
15529 * blockinput.h (pending_atimers): Add extern declaration.
15530 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15531
15532 * lisp.h (popup_activated_flag): Add extern declaration.
15533
15534 * xmenu.c (popup_activated_flag): Make externally visible.
15535 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
15536 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15537
15538 * xterm.c (toplevel): Include atimer.h.
15539 (toolkit_scroll_bar_interaction): New variable.
15540 (Fxt_process_timeouts): Removed.
15541 (x_process_timeouts): New function.
15542 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15543 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15544 (x_make_frame_visible): Call poll_for_input_1 instead of
15545 input_poll_signal. Don't call alarm.
15546 (x_initialize): Install timer calling x_process_timeouts.
15547
15548 2000-01-24 Dave Love <fx@gnu.org>
15549
15550 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
15551 Don't use -cckr -- apparently not now necessary.
15552
15553 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15554
15555 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15556 screen boundary.
15557
15558 2000-01-23 Jason Rumney <jasonr@gnu.org>
15559
15560 * w32fns.c (w32_defined_color): Apply gamma correction before
15561 trying to map to the palette.
15562 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15563 to w32_clear_rect.
15564
15565 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15566 here. Callers changed to always pass real device context.
15567 (w32_draw_bitmap): Likewise.
15568 (w32_get_glyph_overhangs): Likewise.
15569 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
15570 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15571 pfnSetScrollInfo and SetScrollRange.
15572 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15573 back into MULE characters after decoding them.
15574 (x_get_glyph_face_and_encoding): Likewise.
15575 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15576 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15577 (x_produce_glyphs): Calculate per char metrics for a character
15578 that we know exists in default font when font_not_found_p is true.
15579
15580 2000-01-22 Jason Rumney <jasonr@gnu.org>
15581
15582 * makefile.nt (intervals.obj, composite.obj): New modules.
15583 (composite.h): Added as dependency where appropriate.
15584
15585 * w32gui.h (XGCValue): New struct for emulating X GCs.
15586
15587 * w32term.h (XCharStruct): New struct for emulating X.
15588
15589 * w32console.c (turn_on_face, turn_off_face): New functions.
15590 (change_line_highlight): New prototype for new redisplay.
15591 (write_glyphs): Support multibyte text. Support faces.
15592
15593 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
15594
15595 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15596 throughout. struct frame * in place of FRAME_PTR.
15597 Skeleton support for images, toolbars, tooltips from xfns.c.
15598 (Fx_create_frame): Use system default for default scroll bar width.
15599 (w32_get_arg): Renamed from x_get_arg.
15600 (Fx_file_dialog): New function.
15601 (w32_list_fonts): Check cache before asking system.
15602 (Vw32_enable_synthesized_fonts): New variable.
15603 (Vw32_enable_italics): Obsolete, removed.
15604
15605 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15606 Use SELECTED_FRAME macro.
15607
15608 * w32menu.c: Add skeleton support for help strings on menus.
15609 (add_menu_item): Native checkbox and radio support added, but not
15610 yet enabled due to bugs.
15611 (push_menu_item): Add parameters type, selection and help.
15612 Callers updated.
15613 Formatting changes to reduce unnecessary diffs with xmenu.c.
15614
15615 * w32select.c (Fw32_set_clipboard_data): Update call to
15616 find_charset_in_str.
15617
15618 * w32term.c: Complete rewrite for new redisplay based on new
15619 xterm.c with necessary sections merged back in from old w32term.c.
15620
15621 2000-01-21 Richard M. Stallman <rms@gnu.org>
15622
15623 * data.c (set_internal): Further fix in same criterion.
15624
15625 2000-01-20 Richard M. Stallman <rms@gnu.org>
15626
15627 * data.c (set_internal): Fix the criteria for whether
15628 to swap out the old cached binding.
15629
15630 2000-01-19 Dave Love <fx@gnu.org>
15631
15632 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15633
15634 2000-01-18 Kenichi Handa <handa@etl.go.jp>
15635
15636 * regex.c (re_compile_fastmap): While checking a range table for
15637 `charset', skip flag bits for a character class correctly.
15638
15639 2000-01-17 Gerd Moellmann <gerd@gnu.org>
15640
15641 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15642
15643 * xfns.c (x_window): Call lw_create_widget with new parameter list.
15644
15645 * widget.c (EmacsFrameSetCharSize): Change size of children first
15646 because of problems with main window geometry management under Lesstif.
15647
15648 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15649 MENU_ITEMS_ITEM_.*.
15650 (MENU_ITEMS_ITEM_HELP): New enumerator.
15651 (push_menu_item): Add parameter HELP. Record help in menu_items.
15652 (single_menu_item, single_submenu, list_of_items): Call
15653 push_menu_item with new parameter.
15654 (single_submenu): Set help string in widget value.
15655 (menu_highlight_callback): New function.
15656 (set_frame_menubar): Call lw_create_widget with new
15657 parameter list.
15658 (xmenu_show, xdialog_show): Ditto.
15659
15660 2000-01-13 Gerd Moellmann <gerd@gnu.org>
15661
15662 * sound.c (Fplay_sound): Improve doc string.
15663
15664 2000-01-11 Richard M. Stallman <rms@gnu.org>
15665
15666 * lisp.h (set_internal): Enter the new arg.
15667
15668 * eval.c (specbind): Record buffer-local variables specially,
15669 indicating which buffer's binding was saved.
15670 (unbind_to): Restore buffer-local variables specially
15671 in the proper buffer.
15672
15673 * data.c (set_internal): New arg BUF.
15674
15675 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15676 * data.c (Fset): Pass new arg to set_internal.
15677 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
15678
15679 2000-01-11 Gerd Moellmann <gerd@gnu.org>
15680
15681 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
15682
15683 2000-01-11 Richard M. Stallman <rms@gnu.org>
15684
15685 * minibuf.c (Ftry_completion): Doc fix.
15686
15687 2000-01-11 Gerd Moellmann <gerd@gnu.org>
15688
15689 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15690 vector, too.
15691
15692 2000-01-11 Andreas Schwab <schwab@suse.de>
15693
15694 * coding.c (code_convert_region): Initialize total_skip.
15695
15696 2000-01-08 Dave Love <fx@gnu.org>
15697
15698 * eval.c (Fuser_variable_p): Check customizability too.
15699
15700 2000-01-07 Gerd Moellmann <gerd@gnu.org>
15701
15702 * minibuf.c (Fcompleting_read): Doc fix.
15703
15704 2000-01-05 Gerd Moellmann <gerd@gnu.org>
15705
15706 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15707 -L /usr/local/lib.
15708
15709 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15710 Check that input style is supported before trying to create an
15711 IC for it.
15712 (x_window): Call x_create_im.
15713
15714 2000-01-04 Gerd Moellmann <gerd@gnu.org>
15715
15716 * xfns.c (current_gif_memory_src): New variable.
15717 (gif_load): Record the address of the current memory source
15718 in current_gif_memory_src.
15719 (gif_read_from_memory): Use current_gif_memory_src.
15720
15721 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15722 macros statement form.
15723
15724 * sound.c (struct sound): Renamed from struct sound_file.
15725 (struct sound): Add members `data' and `header_size'.
15726 (enum sound_attr): Add SOUND_DATA.
15727 (current_sound, current_sound_device): Variables renamed from
15728 sound_file and sound_device.
15729 (parse_sound): Parse :data.
15730 (parse_sound): Handle sound data in strings.
15731 (find_sound_type): Function renamed from find_sound_file_type.
15732 (wav_init, au_init): Fail if sound's header_size is smaller than
15733 needed header size.
15734 (wav_play, au_play): Play sounds from string data.
15735
15736 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15737
15738 * lisp.h: Add prototype for allocate_string_data.
15739
15740 * alloc.c (Fgarbage_collect): Return number of live and free strings.
15741
15742 * alloc.c (mark_buffer): Remove code in #if 0.
15743 (gc_sweep): Ditto.
15744 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15745 (strings_consed): New variable.
15746 (allocate_string): Set it.
15747 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15748 (Fmemory_use_counts): Return strings_consed. Use Flist.
15749
15750 * alloc.c: General cleanup in comments etc. Remove conditional
15751 compilation for `standalone'.
15752
15753 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15754
15755 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15756 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15757 (DONT_COPY_FLAG): Removed.
15758 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15759 (struct sdata, struct sblock): New
15760 (struct string_block): Rewritten.
15761 (STRINGS_IN_STRING_BLOCK): New macro.
15762 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15763 (large_sblocks, string_blocks, string_free_list): New variables.
15764 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15765 (init_strings): Rewritten.
15766 (allocate_string, allocate_string_data, compact_small_strings)
15767 (free_large_strings, sweep_strings): New functions.
15768 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15769 (struct string_block_head, current_string_block)
15770 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15771 (STRING_PAD): Removed.
15772 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15773 (Fgarbage_collect): Don't set mark bit in large strings.
15774 (mark_object): Mark strings differently. Mark symbol names
15775 differently.
15776 (survives_gc_p): Test marked strings differently.
15777 (gc_sweep): Sweep strings differently, unmark strings in
15778 symbol names.
15779 (compact_strings): Removed.
15780
15781 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15782
15783 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15784 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15785
15786 2000-01-04 Kenichi Handa <handa@etl.go.jp>
15787
15788 * fileio.c (Finsert_file_contents): Signal error if visiting file
15789 in a non-empty buffer.
15790
15791 * term.c (encode_terminal_code): Fix the previous change.
15792
15793 2000-01-03 Gerd Moellmann <gerd@gnu.org>
15794
15795 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15796 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15797
15798 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15799
15800 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15801
15802 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15803 need to test for MSDOS frames.
15804
15805 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15806
15807 * dosfns.c (unspecified_colors): Remove.
15808 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15809 unspecified_bg.
15810 (msdos_stdcolor_name): Return strings for unspecified fore- and
15811 back-ground colors.
15812
15813 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
15814 (syms_of_xfaces): Remove their staticpro's.
15815 (tty_color_name): Return Lisp strings for unspecified fore- and
15816 back-ground colors.
15817 (Finternal_set_lisp_face_attribute): Remove the special treatment
15818 for Qunspecified_{f,b}g.
15819 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
15820
15821 2000-01-03 Gerd Moellmann <gerd@gnu.org>
15822
15823 * xdisp.c (reseat_at_next_visible_line_start): Position before
15824 newline only if ending up on a newline.
15825 (next_element_from_ellipsis): Return success. Handle case of
15826 displaying no ellipsis. Fix case of ellipsis defined in display table.
15827 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15828 returns 0.
15829
15830 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15831
15832 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15833 (Fcolor_supported_p): Renamed from face-color-supported-p.
15834
15835 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15836
15837 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15838 list of colors renamed to tty-defined-color-alist.
15839 (tty_color_name): Pass the frame to tty-color-by-index.
15840 (realize_tty_face): tty-color-alist is now a function which
15841 accepts the frame as argument.
15842
15843 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
15844
15845 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15846
15847 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15848 encode_terminal_code.
15849
15850 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15851
15852 * dispnew.c (mode_line_string): Support termcap frames as well.
15853
15854 2000-01-01 Gerd Moellmann <gerd@gnu.org>
15855
15856 * syntax.c (Fforward_word): Undo previous change.
15857
15858 * editfns.c (Fconstrain_to_field): Don't constrain if
15859 inhibit-field-text-motion is non-nil.
15860 (Fline_beginning_position): Undo previous change.
15861 (Fline_end_position): Ditto.
15862
15863 * syntax.c (Fforward_word): Notice field boundaries only if
15864 inhibit-field-text-motion is nil.
15865
15866 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15867
15868 * editfns.c (Vinhibit_field_text_motion): New variable.
15869 (inhibit-field-text-motion): New DEFVAR_LISP.
15870 (Fline_beginning_position, Fline_end_position): Notice field
15871 boundaries only if inhibit-field-text-motion is nil.
15872
15873 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15874 All calls adjusted.
15875 (x_build_heuristic_mask): Likewise.
15876 (xbm_load_image_from_file): Change error output.
15877 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15878 (gif_load, gs_load, x_kill_gs_process): Ditto.
15879
15880 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15881 color indices when accessing raster pixels.
15882 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15883 one of :file or :data.
15884 (enum pbm_keyword_index): Add PBM_DATA.
15885 (pbm_format): Add :data.
15886 (pbm_image_p): Allow either :file or :data.
15887 (pbm_read_file): New function.
15888 (pbm_scan_number): Rewritten to read from string.
15889 (pbm_load): Support :data.
15890
15891 See ChangeLog.8 for earlier changes.
15892
15893 ;; Local Variables:
15894 ;; coding: iso-2022-7bit
15895 ;; End:
15896
15897 Copyright (C) 2001 Free Software Foundation, Inc.
15898 Copying and distribution of this file, with or without modification,
15899 are permitted provided the copyright notice and this notice are preserved.