*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
1 2001-12-02 Richard M. Stallman <rms@gnu.org>
2
3 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
4 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
5
6 * fileio.c (read_non_regular): Delete Fsignal call.
7
8 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
9
10 * lisp.h (run_hook_list_with_args): Undo last change.
11
12 2001-12-01 Gerd Moellmann <gerd@gnu.org>
13
14 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
15
16 2001-12-01 Jason Rumney <jasonr@gnu.org>
17
18 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
19
20 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
21 [!WM_MOUSELEAVE]: Define.
22
23 * w32menu.c (current_popup_menu, get_menu_item_info):
24 (set_menu_item_info): New vars.
25 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
26 (w32_menu_show): Set current_popup_menu.
27 (add_menu_item): Allocate new strings for owner-drawn menu items
28 and help strings.
29 Use owner-draw for disabled menu items again.
30 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
31 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
32
33 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
34 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
35 <WM_EXITMENULOOP>: Free menu strings.
36 <WM_MOUSELEAVE>: Stop tracking mouse.
37 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
38
39 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
40 and mouse face.
41
42 2001-12-01 Kim F. Storm <storm@cua.dk>
43
44 The following changes add left-fringe and right-fringe
45 frame parameters to adjust fringe widths, or remove one or
46 both fringes.
47
48 * frame.h (struct frame): Remove trunc_area_pixel_width and
49 trunc_area_cols fields.
50 (Qleft_fringe, Qright_fringe): Declare.
51 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
52
53 * frame.c (Qleft_fringe, Qright_fringe): New vars.
54 (syms_of_frame): Initialize them.
55
56 * window.c (coordinates_in_window): Handle separate left and right
57 fringe widths.
58
59 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
60 and fringe_cols fields.
61 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
62 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
63 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
64 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
65 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
66 (x_compute_fringe_widths): Add prototype.
67
68 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
69 fill fringe evenly with small dashes.
70 (x_draw_fringe_bitmap): Clear background if necessary. Align and
71 clip the new ZV bitmap to avoid jitter between rows.
72 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
73 background. Don't draw fringe bitmaps if fringe width is zero.
74 (x_compute_fringe_widths): New function.
75 (x_new_font, x_set_window_size_1): Use it.
76
77 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
78 (x_set_frame_parameters): Process Process `font' parameter before other
79 parameters as fringe widths depend on it.
80 (x_set_fringe_width): New function.
81 (x_figure_window_size): Use x_compute_fringe_widths.
82 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
83 parameters.
84
85 * widget.c (set_frame_size): Use x_compute_fringe_widths.
86 (EmacsFrameSetCharSize): Ditto.
87
88 * w32term.h: Merged changes from xterm.h.
89 * w32term.c: Merged changes from xterm.c.
90 * w32fns.c: Merged changes from xfns.c.
91
92 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
93
94 * COPYING: Removed.
95
96 2001-11-29 Dave Love <fx@gnu.org>
97
98 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
99 extra extra slot.
100 (detect_coding_mask): Fix call of detect_coding_iso2022.
101
102 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
103
104 * fileio.c (file-name-coding-system)
105 (default-file-name-coding-system): Doc fix (links to referenced
106 variables added).
107
108 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
109
110 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
111 Add dummy uses of gcproN variables.
112
113 * category.c (describe_category, describe_category_1)
114 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
115 (syms_of_category): Don't defsubr Sdescribe_categories.
116
117 2001-11-28 Richard M. Stallman <rms@gnu.org>
118
119 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
120
121 * Makefile.in (lispdir): New variable, referring to build dir.
122 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
123
124 2001-11-28 Andrew Innes <andrewi@gnu.org>
125
126 * w32menu.c (w32_menu_display_help): Actually add the new argument
127 OWNER.
128
129 2001-11-28 Jason Rumney <jasonr@gnu.org>
130
131 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
132 menu items. From David Ponce <dponce@wanadoo.fr>.
133 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
134 conditionally.
135 (w32_menu_display_help): New argument OWNER. Rewritten to store a
136 help event in the owner frame's keyboard buffer.
137
138 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
139 (Fx_show_tip): Don't subtract last width from row width.
140
141 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
142 (w32_read_socket): Use EQ to compare frames.
143
144 2001-11-28 Gerd Moellmann <gerd@gnu.org>
145
146 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
147 OVERLAPS_P.
148
149 2001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
150
151 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
152 `gcpro3' and `gcpro4'.
153
154 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
155
156 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
157
158 * ccl.c: Use AREF and ASIZE.
159
160 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
161
162 * lisp.h (run_hook_list_with_args): Remove.
163 (LIST_END_P): Fix call to wrong_type_argument.
164 (make_fixnum_or_float): Use EMACS_INT rather than int.
165
166 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
167
168 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
169 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
170
171 * eval.c: Use AREF and ASIZE.
172 (Ffetch_bytecode): Add the file name to the error message.
173
174 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
175 which match the end of the file-name.
176 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
177 is not a valid env var, but leave it as is instead.
178
179 * keymap.c (access_keymap): Handle t bindings like nil bindings.
180 Make nil bindings in char-tables transparent.
181 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
182
183 2001-11-26 Richard M. Stallman <rms@gnu.org>
184
185 * textprop.c (set_text_properties_1): Allow START, END in either order.
186 Do nothing if range is empty.
187
188 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
189
190 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
191 (clean): Not here.
192
193 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
194
195 * textprop.c (set_text_properties_1): Clearly mark that the
196 interval should not be empty.
197
198 * intervals.c (graft_intervals_into_buffer):
199 Don't call set_text_properties_1 on an empty interval.
200
201 2001-11-25 Richard M. Stallman <rms@gnu.org>
202
203 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
204
205 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
206 don't lose the data in it.
207
208 2001-11-25 Juanma Barranquero <lektu@terra.es>
209
210 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
211
212 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
213
214 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
215
216 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
217
218 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
219
220 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
221
222 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
223 Niemitalo <kon@iki.fi>.
224
225 2001-11-25 Jason Rumney <jasonr@gnu.org>
226
227 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
228
229 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
230 (Fx_show_tip): Block input during frame creation.
231 (Fx_show_tip, Fx_hide_tip): Enable.
232
233 2001-11-24 Richard M. Stallman <rms@gnu.org>
234
235 * lread.c (Fload): Detect recursive load error for more than 3
236 nestings of the same file.
237 (Vrecursive_load_depth_limit): Variable deleted.
238 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
239
240 2001-11-24 Jason Rumney <jasonr@gnu.org>
241
242 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
243 mouse position if either left or top is not specified.
244
245 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
246 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
247 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
248 (my_create_tip_window): Assign tip_window.
249 (x_create_tip_frame): Use same defaults as X.
250 (compute_tip_xy): Remove unused variable. Use full screen width.
251 (Fx_show_tip): Do not double height. Call ShowWindow directly.
252
253 * w32term.c (x_after_update_window_line): Doc fix.
254 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
255 frames.
256 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
257
258 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
259 for all Windowed systems.
260
261 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
262
263 * msdos.c (IT_clear_screen): If the frame's faces are not yet
264 realized, use the initial screen colors to clear the screen.
265
266 2001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
267
268 * textprop.c (Fset_text_properties): Remove unused variables
269 `unchanged', `prev_changed', `s' and `len'.
270
271 * search.c (Freplace_match): Remove unused variable `inslen'.
272
273 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
274
275 2001-11-22 Jason Rumney <jasonr@gnu.org>
276
277 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
278 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
279 (my_create_tip_window): New function.
280 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
281 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
282
283 2001-11-20 Jason Rumney <jasonr@gnu.org>
284
285 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
286 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
287
288 * w32fns.c (Vw32_system_coding_system): Remove.
289 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
290
291 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
292
293 * fileio.c (Fwrite_region): Move choose_write_coding_system to
294 after build_annotations.
295
296 * syntax.c (describe_syntax): Add dummy arg.
297 (describe_syntax_1): Update call to describe_vector.
298
299 * category.c (describe_category): Add dummy arg.
300 (describe_category_1): Update call to describe_vector.
301
302 * keymap.c (Fdescribe_vector): Add `describer' parameter.
303 (describe_command, describe_translation): Add dummy second param.
304 (describe_map): Call elt_describer with two arguments.
305 (describe_vector_princ): Add `fun' parameter.
306 Call it instead of the hardcoded `princ'.
307 (describe_vector): Add arg `args'.
308 Pass it as a new second argument to elt_describer.
309
310 * keymap.h (describe_vector): Update prototype.
311
312 * frame.c: Don't include keymap.h any more.
313 (keys_of_frame): Remove.
314
315 * lisp.h (keys_of_frame): Remove declaration.
316
317 * emacs.c (main): Don't call `keys_of_frame' any more.
318
319 2001-11-14 Andreas Schwab <schwab@suse.de>
320
321 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
322 if defined, 0 otherwise.
323 (MAP_FAILED): Define if not defined and use it to test mmap failure.
324 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
325
326 2001-11-19 Richard M. Stallman <rms@gnu.org>
327
328 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
329
330 2001-11-18 Jason Rumney <jasonr@gnu.org>
331
332 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
333 (x_draw_bar_cursor): If the background color of the glyph under
334 the cursor equals the frame's cursor color, use the glyph's
335 foreground color for drawing the bar cursor.
336 (x_after_update_window_line): Clear internal border in different
337 circumstances.
338 (w32_set_vertical_scroll_bar): Check for width and height > 0.
339 (w32_draw_relief_rect): Correct relief by 1 pixel.
340 (x_set_glyph_string_background_width):
341 Set extends_to_end_of_line_p if the row's fill_line_p is set and
342 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
343 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
344 if cursor_in_non_selected_windows is false.
345 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
346 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
347 Notice if cursor gets overwritten.
348 (notice_overwritten_cursor): Renamed from
349 note_overwritten_text_cursor. Rewritten to take glyph widths
350 into account, and to take X positions as parameters.
351 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
352 around call to x_draw_glyphs.
353 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
354 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
355 color to use for image glyph reliefs.
356 (x_draw_image_relief): Accept zero tool_bar_button_relief.
357 (glyph_rect): Remove unused variable `area'.
358
359 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
360 some items.
361 (x_set_internal_border_width): Set frame garbaged when window
362 doesn't exist yet.
363 (Fx_create_frame): Accept zero tool_bar_button_relief.
364 (x_clear_image_1, four_corners_best, image_background)
365 (image_background_transparent): New functions.
366 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
367 (gs_format): Add `:background' entry.
368 (lookup_image): Set IMG's background color if specified.
369 (pbm_load, xbm_load_image, png_load): Set IMG's background field
370 when appropriate.
371 (x_clear_image_1): Reset `background_valid' and
372 `background_transparent_valid' fields.
373 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
374 calculating it here. Set IMG's background_transparent field.
375 (enum xpm_keyword_index): Add XPM_BACKGROUND.
376 (enum png_keyword_index): Add PNG_BACKGROUND.
377 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
378 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
379 (enum gif_keyword_index): Add GIF_BACKGROUND.
380 (enum gs_keyword_index): Add GS_BACKGROUND.
381 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
382 Pre-calculate image background color where necessary.
383 (x_create_x_image_and_pixmap, xbm_load, gs_load):
384 Use display info's n_cbits entry for screen depth.
385 (Fx_show_tip): Remove unused variables `buffer', `top',
386 `left', `max_width' and `max_height'.
387
388 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
389
390 2001-11-18 Gerd Moellmann <gerd@gnu.org>
391
392 * puresize.h (BASE_PURESIZE): Increase to 750000.
393
394 2001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
395
396 * frame.c (Fframe_live_p): Doc fix.
397
398 2001-11-18 Richard M. Stallman <rms@gnu.org>
399
400 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
401 (message_dolog_marker3): New static variables hold three markers.
402 (syms_of_xdisp): Initialize and staticpro them.
403 (message_dolog): Use message_dolog_marker1..3 instead of
404 allocating markers each time. Unchain them when done.
405
406 2001-11-17 Richard M. Stallman <rms@gnu.org>
407
408 * doc.c (Fsnarf_documentation): Doc fix.
409
410 2001-11-17 Andreas Schwab <schwab@suse.de>
411
412 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
413
414 2001-11-17 Richard M. Stallman <rms@gnu.org>
415
416 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
417
418 2001-11-17 Jason Rumney <jasonr@gnu.org>
419
420 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
421
422 2001-11-17 Gerd Moellmann <gerd@gnu.org>
423
424 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
425 with invalid position.
426
427 2001-11-16 Richard M. Stallman <rms@gnu.org>
428
429 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
430
431 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
432 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
433 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
434
435 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
436
437 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
438
439 * fileio.c (build_annotations): Split off the tail.
440 (build_annotations_2): New fun. Extracted from build_annotations.
441 (Fwrite_region): Split the call to build_annotations into two
442 calls to build_annotations and build_annotations_2.
443
444 2001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
445
446 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
447 clear_waiting_for_input with argument.
448
449 * xterm.h (x_update_cursor): Remove duplicated prototype.
450
451 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
452
453 * xterm.c (waiting_for_input): Remove unnecessary declaration.
454
455 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
456
457 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
458
459 * fileio.c (choose_write_coding_system): New fun, extracted
460 from Fwrite_region.
461 (Fwrite_region): Use it.
462
463 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
464 (funcall_lambda, run_hook_with_args): Make static and add prototype.
465 (ml_apply, find_handler_clause): Add prototype.
466
467 2001-11-16 Eli Zaretskii <eliz@gnu.org>
468
469 * config.in: Add #undef HAVE_COFF_H.
470
471 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
472 Required for ISC 4.1.
473
474 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
475
476 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
477 Andrew Wiseman <a.wiseman@btclick.com>.
478
479 2001-11-16 Kim F. Storm <storm@cua.dk>
480
481 The following changes are made to clean up the various internal
482 references to the fringes to actually use the term `fringe' for
483 them. Previously, they were called `flags areas', `bitmap areas',
484 `left/right side of windows', or implicitly as `flags' or
485 `bitmaps':
486
487 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
488 Comments fixed. Use renamed symbols.
489
490 * dispnew.c: Comment fix. Use renamed symbols.
491
492 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
493 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
494 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
495
496 * msdos.c: Comment fix.
497
498 * w32fns.c: Use renamed symbols.
499
500 * w32term.c: Comment fixes. Use renamed symbols.
501 (fringe_bitmap_type): Renamed from bitmap_type.
502 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
503 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
504 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
505
506 * w32term.h: Comment fixes. Use renamed symbols.
507 (fringes_extra): Renamed from flags_areas_extra.
508 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
509 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
510 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
511 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
512 (FRAME_X_LEFT_FRINGE_WIDTH):
513 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
514 (FRAME_X_RIGHT_FRINGE_WIDTH):
515 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
516
517 * widget.c: Use renamed symbols.
518
519 * window.c: Comment fixes. Use renamed symbols.
520 (coordinates-in-window-p): Doc fix.
521
522 * xdisp.c: Comment fixes. Use renamed symbols.
523
524 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
525
526 * xfns.c: Use renamed symbols.
527
528 * xterm.c: Comment fixes. Use renamed symbols.
529 (fringe_bitmap_type): Renamed from bitmap_type.
530 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
531 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
532 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
533
534 * xterm.h: Comment fixes. Use renamed symbols.
535 (fringes_extra): Renamed from flags_areas_extra.
536 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
537 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
538 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
539 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
540 (FRAME_X_LEFT_FRINGE_WIDTH):
541 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
542 (FRAME_X_RIGHT_FRINGE_WIDTH):
543 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
544
545 2001-11-15 Jason Rumney <jasonr@gnu.org>
546
547 * w32menu.c (add-menu-item): Make help_echo and radio buttons
548 work for most menu items. From David Ponce
549 <david.ponce@wanadoo.fr>.
550
551 2001-11-15 Gerd Moellmann <gerd@gnu.org>
552
553 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
554 Some x_set_* function expect to be called even if old and new
555 value are equal.
556
557 * xdisp.c (build_desired_tool_bar_string): Accept zero
558 tool_bar_button_relief.
559
560 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
561
562 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
563
564 * xterm.c (x_draw_bar_cursor): If the background color of the
565 glyph under the cursor equals the frame's cursor color, use
566 the glyph's foreground color for drawing the bar cursor.
567
568 * dispnew.c (direct_output_forward_char): Fix character/byte
569 position comparison.
570
571 2001-11-15 Miles Bader <miles@gnu.org>
572
573 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
574 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
575 Update arguments to find_field.
576 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
577 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
578 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
579 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
580
581 2001-11-14 Richard M. Stallman <rms@gnu.org>
582
583 * editfns.c (Fpropertize): Allow call with 1 arg.
584
585 * dispextern.h (image_background, image_background_transparent):
586 Conditionalize on HAVE_X_WINDOWS.
587
588 2001-11-13 Richard M. Stallman <rms@gnu.org>
589
590 * print.c (Fprin1_to_string): Doc fix.
591
592 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
593
594 * floatfns.c (Fceiling, Ffloor): Doc fixes.
595
596 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
597
598 * fileio.c (Ffile_accessible_directory_p): Doc fix.
599
600 * eval.c (syms_of_eval): Doc fix.
601
602 * coding.c (syms_of_coding): Doc fix.
603
604 * doc.c (Fsnarf_documentation): Doc fix.
605
606 * dispnew.c (syms_of_display): Doc fix.
607
608 * category.c (Fget_unused_category): Doc fix.
609
610 * buffer.c (syms_of_buffer): Doc fixes.
611
612 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
613
614 * print.c (prin1, print): Doc fix.
615
616 2001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
617
618 * fontset.h: Remove declarations of variables
619 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
620
621 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
622 `Vclip_large_size_font'.
623
624 2001-11-13 Jason Rumney <jasonr@gnu.org>
625
626 * w32fns.c: Doc fix.
627
628 2001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
629
630 * xfaces.c (Fface_attributes_as_vector): Doc fix.
631
632 * w32fns.c (Fx_synchronize): Reindent.
633
634 * fns.c: Doc fix.
635
636 * emacs.c: Doc fix.
637
638 * coding.c: Doc fix.
639
640 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
641 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
642 `new style' [w/`doc:' keyword].
643
644 * xmenu.c (x-popup-menu): Reindent.
645 (x-popup-dialog): Likewise.
646
647 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
648
649 * xdisp.c (Fdump_tool_bar_row): Reindent.
650
651 * minibuf.c (Fminibuffer_complete_word): Reindent.
652 (Fminibuffer_complete_and_exit): Likewise.
653 (Fminibuffer_completion_help): Likewise.
654 (Fminibuffer_message): Likewise.
655
656 * fns.c (Freverse): Reindent.
657
658 * eval.c (Fif): Reindent.
659 (Fand): Likewise.
660
661 * editfns.c (Fuser_real_login_name): Reindent.
662 (Finsert_buffer_substring): Likewise.
663 (Fcompare_buffer_substrings): Likewise.
664 (Fsubst_char_in_region): Likewise.
665
666 * dispnew.c (Fsit_for): Reindent.
667 (Fframe_or_buffer_changed_p): Likewise.
668 (Finternal_show_cursor_p): Likewise.
669 (syms_of_display): Likewise.
670
671 * alloc.c (Flist): Reindent.
672 (Fvector): Likewise.
673
674 2001-11-12 Richard M. Stallman <rms@gnu.org>
675
676 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
677 LeaveNotify events. Only FocusIn and FocusOut do that now.
678 (x_display_and_set_cursor): Do display hollow cursors in active
679 minibuffer windows when they are not selected.
680
681 2001-11-12 Jason Rumney <jasonr@gnu.org>
682
683 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
684 * w32term.c: Change doc-string comments to `new style'.
685 [w/`doc:' keyword]. Doc fixes.
686
687 * w32fns.c: Don't define max.
688 (Fx_open_connection): Only execute once.
689
690 2001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
691
692 * ccl.c: Change macros to use do-while block instead of if-else.
693 Use braces to follow GNU Coding Standards.
694
695 2001-11-11 Richard M. Stallman <rms@gnu.org>
696
697 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
698
699 * lread.c (read_escape): Use end_of_file_error for reporting eof.
700
701 * insdel.c (replace_range): Use adjust_markers_for_replace
702 instead of adjust_markers_for_delete and adjust_markers_for_insert.
703
704 * intervals.h: Declare set_text_properties and set_text_properties_1.
705
706 * textprop.c (set_text_properties_1): New subroutine
707 broken out of set_text_properties.
708 (set_text_properties): Use set_text_properties_1.
709
710 * intervals.c (graft_intervals_into_buffer):
711 Use set_text_properties_1 to clear out properties.
712
713 * search.c (Freplace_match): Use replace_range to insert
714 and delete. Don't request property inheritance from
715 surrounding text.
716
717 2001-11-10 Jason Rumney <jasonr@gnu.org>
718
719 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
720 vertical fonts. Allow them if face name is explicitly specified.
721 Do not give up if we find a font that cannot be converted to an xlfd.
722
723 2001-11-10 Gerd Moellmann <gerd@gnu.org>
724
725 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
726 instead of malloc/free.
727
728 2001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
729
730 * xfaces.c (merge_face_vectors): Use braces to follow GNU
731 Coding Standards.
732 (Finternal_set_lisp_face_attribute): Likewise.
733
734 * buffer.c (Fbury_buffer): Likewise.
735
736 * indent.c (current_column_1): Remove unused variable `prev_col'.
737
738 * coding.c (encode_coding): Use precomputed value of `src'.
739 (encode_coding): Remove unused variable `src_end'.
740 (code_convert_region): Remove unused variables `count'.
741
742 2001-11-07 Jason Rumney <jasonr@gnu.org>
743
744 * w32term.c (x_display_and_set_cursor): Do not move system caret
745 if cursor_glyph is NULL.
746
747 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
748
749 * keymap.c (access_keymap): Fix compilation error.
750
751 2001-11-07 Miles Bader <miles@gnu.org>
752
753 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
754
755 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
756
757 * intervals.c (graft_intervals_into_buffer):
758 Remove #ifdef'd-out code.
759 (graft_intervals_into_buffer): Remove unused variable `middle'.
760
761 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
762 code (eval-current-buffer).
763 Change doc-string comments to `new style' [w/`doc:' keyword].
764
765 2001-11-06 Richard M. Stallman <rms@gnu.org>
766
767 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
768
769 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
770
771 * lread.c (read1): Fix behavior with nested backquoting.
772
773 * keyboard.c (make_lispy_event): Check integerness and fix
774 Lisp_Object/int mixup.
775
776 2001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
777
778 * fns.c (copy_hash_table): Remove unused variable `v'.
779
780 * fontset.c (fontset_font_pattern): Remove unused variable
781 `family_registry'.
782
783 * indent.c (current_column_1): Remove unused variable `prev_col'.
784
785 2001-11-05 Richard M. Stallman <rms@gnu.org>
786
787 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
788
789 * buffer.c (Fkill_buffer): Don't delete auto save file
790 if buffer is modified.
791
792 2001-11-05 Andrew Innes <andrewi@gnu.org>
793
794 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
795 CHECK_NUMBER_CDR.
796
797 2001-11-05 Richard M. Stallman <rms@gnu.org>
798
799 * unexelf.c (unexec): Minor changes; clean up comments.
800
801 2001-11-05 Sam Steingold <sds@gnu.org>
802
803 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
804
805 2001-11-05 Andreas Schwab <schwab@suse.de>
806
807 * sound.c (sound_perror): Save errno from being clobbered.
808
809 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
810
811 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
812 the program image directly.
813
814 2001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
815
816 * buffer.h (Fbuffer_local_value): Add prototype.
817
818 2001-11-04 Richard M. Stallman <rms@gnu.org>
819
820 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
821 and CHECK_BUFFER.
822
823 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
824 (record_char): Likewise.
825
826 * keyboard.c (make_lispy_event): Don't insist a drag event must
827 move to a different buffer position. Instead, check for moving at
828 least double_click_fuzz.
829
830 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
831
832 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
833
834 * indent.c (current_column_1, Fmove_to_column): Separate the code
835 for display-table glyphs from the code buffer text, to fix
836 bugs in the former.
837
838 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
839
840 * buffer.c (Fbuffer_local_value): New function.
841 (syms_of_buffer): Defsubr it.
842
843 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
844 value of `cursor-in-non-selected-windows'.
845
846 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
847 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
848 (syms_of_xdisp): Initialize it.
849
850 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
851
852 * xfns.c (Fx_create_frame): Doc fix.
853
854 * coding.c: Change doc-string comments to `new style' [w/`doc:'
855 keyword].
856
857 * eval.c (top_level_value, top_level_set): Remove commented and
858 #ifdef'd-out code.
859 (Fdefvar): Fix usage in doc-string.
860
861 2001-11-03 Richard M. Stallman <rms@gnu.org>
862
863 * xfns.c: Include unistd.h, if it exists.
864
865 * editfns.c: Move the include of ctype.h after unistd.h.
866
867 * gmalloc.c: Test BROKEN_PROTOTYPES.
868
869 2001-11-03 Ken Raeburn <raeburn@gnu.org>
870
871 * lisp.h (CHECK_STRING_CAR): New macro.
872 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
873 treating XCAR and XCDR as lvalues.
874 (openp): Use CHECK_STRING_CAR.
875 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
876
877 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
878
879 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
880 (SIGMASKTYPE): Define.
881
882 * syssignal.h (sigunblock): Don't define if already defined.
883
884 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
885
886 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
887 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
888 Fix typos in comments.
889
890 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
891 and #ifdef'd-out code.
892 Fix and reindent comments.
893
894 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
895
896 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
897 argument `i' in macros.
898
899 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
900 `i' in macros.
901
902 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
903 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
904 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
905 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
906 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
907 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
908 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
909 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
910 in macros.
911
912 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
913 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
914 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
915 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
916 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
917 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
918 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
919 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
920 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
921 (remove unused second argument).
922
923 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
924
925 * syntax.c (describe_syntax): New wrapper.
926 (Finternal_describe_syntax_value): Rename from describe_syntax.
927 Don't insert space at front and \n at the end.
928 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
929
930 * regex.c (re_wctype): Try to fix some warnings.
931 (regcomp, regexec): Don't forget the __restrict.
932
933 2001-11-02 Richard M. Stallman <rms@gnu.org>
934
935 * textprop.c (Fget_char_property): Doc fix.
936
937 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
938
939 * process.c (Fstart_process): Add usage to doc-string.
940
941 * data.c (Fsetq_default): Ditto.
942
943 * callint.c (Finteractive): Ditto.
944
945 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
946
947 * macros.c: Don't include keymap.h any more.
948
949 2001-11-01 Richard M. Stallman <rms@gnu.org>
950
951 * data.c (Fmake_local_variable): Doc fix.
952
953 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
954 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
955
956 * keymap.c (Fdescribe_buffer_bindings): Print character property
957 bindings along with or instead of the buffer local map.
958 Make the overriding maps override what they should.
959
960 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
961
962 * window.c (grow_mini_window): Fix typo in comment.
963
964 2001-11-01 Gerd Moellmann <gerd@gnu.org>
965
966 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
967 (XTset_vertical_scroll_bar): Likewise.
968
969 * xfns.c (x_build_heuristic_mask): Use four_corners_best
970 instead of IMAGE_BACKGROUND.
971
972 * xfns.c (four_corners_best): Reindent.
973
974 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
975 Handle :box so that it is possible to specify sexprs.
976
977 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
978
979 * xfaces.c (Finternal_merge_in_global_face): Reindent.
980 (Fface_font): Ditto.
981 (Finternal_set_alternative_font_registry_alist): Ditto.
982 (Ftty_suppress_bold_inverse_default_colors): Ditto.
983
984 * xfns.c (x-get-resource): Reindent.
985
986 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
987
988 * s/hpux11.h: New file.
989
990 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
991
992 * emacs.c (USAGE1): Show command line option --no-window-system
993 instead of --no-windows in usage.
994 (standard_args): Rename --no-windows to --no-window-system.
995 (bug_reporting_address): Follow Emacs coding conventions.
996
997 * eval.c (Fcommandp): Doc fix.
998 Change doc-string comments to `new style' [w/`doc:' keyword].
999
1000 * frame.c (Fframe_live_p): Doc fix.
1001
1002 * buffer.c (selective-display-ellipses): Doc fix.
1003
1004 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1005
1006 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1007
1008 * xfaces.c (realize_x_face): If C is not a single-byte character,
1009 set the face's colors_copied_bitwise_p instead of the defaulted_p
1010 members which have a different meaning.
1011 (free_face_colors): Do nothing for a face whose colors have been
1012 copied bitwise.
1013
1014 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
1015
1016 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1017
1018 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1019 [w/`doc:' keyword].
1020
1021 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1022
1023 * fns.c (require_unwind): Return Lisp_Object.
1024
1025 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1026
1027 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1028 (last-input-char): Revert doc-string to be the same as the
1029 doc-string of `last-input-event'.
1030
1031 * xdisp.c: Fix typos in comments.
1032
1033 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1034
1035 * window.c (grow_mini_window): Handle case that the root
1036 window is already smaller than the nominal mininum height.
1037
1038 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1039
1040 * emacs.c (main): Don't call keys_of_macros any more.
1041
1042 * lisp.h (keys_of_macros): Remove.
1043
1044 * macros.c (keys_of_macros): Remove.
1045
1046 * xfaces.c (Fface_attribute_relative_p): Declare args.
1047
1048 2001-10-30 Jason Rumney <jasonr@gnu.org>
1049
1050 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1051 (enum_font_cb2): Ignore fonts with vertical orientation.
1052
1053 2001-10-30 Richard M. Stallman <rms@gnu.org>
1054
1055 * keyboard.c (Finput_pending_p): Doc fix.
1056
1057 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1058
1059 * xterm.c (x_after_update_window_line): Don't run the code
1060 clearing in borders for rows whose visible height is 0.
1061
1062 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1063 resized_p flag is set. If not set, use the much less flickering
1064 method previously used.
1065
1066 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1067
1068 * frame.h (struct frame) <resized_p>: New member.
1069
1070 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1071 as large as the number of bytes to convert.
1072
1073 * lread.c (to_multibyte): New function.
1074 (read1): Use it.
1075
1076 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1077
1078 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1079
1080 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1081
1082 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
1083 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1084 if the row's fill_line_p is set and drawing the last glyph with
1085 DRAW_IMAGE_{RAISED,SUNKEN}.
1086
1087 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1088
1089 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1090
1091 * xmenu.c: Include coding.h and charset.h.
1092 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1093 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1094 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1095 Explicitly set wv->help. Use `TRUE' rather than `True'.
1096 (menu_help_callback): Use empty_string.
1097
1098 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1099 (Fx_popup_dialog): Explicitly init f.
1100 (w32_menu_display_help): Use empty_string.
1101
1102 2001-10-29 Richard M. Stallman <rms@gnu.org>
1103
1104 * fns.c (Frequire): Detect recursive try to require the same
1105 feature 3 or more levels deep, and get error.
1106 (require_unwind): New subroutine.
1107 (require_nesting_list): New variable.
1108 (syms_of_fns): Init and staticpro it.
1109
1110 * print.c (print_object): Clarify indication of insertion type.
1111
1112 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1113
1114 * coding.c (syms_of_coding): Document that locale-coding-system is
1115 used for decoding input on X.
1116
1117 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1118
1119 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1120
1121 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1122 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1123
1124 2001-10-29 Gerd Moellmann <gerd@gnu.org>
1125
1126 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1127 use NO_CURSOR if cursor_in_non_selected_windows is false.
1128
1129 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1130 the slant attribute if FRAME is t.
1131
1132 * xfns.c (x_set_internal_border_width): Set frame garbaged
1133 when X window doesn't exist yet.
1134
1135 * xterm.c (x_after_update_window_line): Clear internal border
1136 in different circumstances.
1137
1138 * xterm.c (XTread_socket) <KeyPress>: Don't use
1139 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1140 <handa@etl.go.jp>.
1141
1142 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1143
1144 * m/ibms390.h: New file. From Adam Thornton
1145 <athornton@sinenomine.net>.
1146
1147 2001-10-28 Gerd Moellmann <gerd@gnu.org>
1148
1149 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
1150
1151 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1152 a loop counter.
1153
1154 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1155
1156 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1157
1158 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1159 keyword].
1160 Fix typos in comments.
1161
1162 * emacs.c (bug_reporting_address): New function.
1163 Use it when displaying usage message.
1164
1165 * minibuf.c (read_minibuf): Remove unused external declaration of
1166 variable `Qread_only'.
1167
1168 * keymap.c (access_keymap): Remove unused variable `charset'.
1169
1170 2001-10-28 Miles Bader <miles@gnu.org>
1171
1172 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1173 Remove #ifdef'd-out code.
1174 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1175 (syms_of_xfaces): Initialize them.
1176
1177 2001-10-27 Jason Rumney <jasonr@gnu.org>
1178
1179 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1180 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1181 position using the system caret.
1182
1183 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1184 (w32_system_caret_height, w32_system_caret_x)
1185 (w32_system_caret_y): New variables for tracking system caret.
1186 (w32_initialize): Initialize them.
1187 (x_display_and_set_cursor): Make system caret follow the active cursor.
1188
1189 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1190 New messages types.
1191
1192 * w32term.c (note_mouse_highlight): Clear old help_echo.
1193
1194 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1195
1196 * xterm.c: Fix typo in a comment.
1197
1198 * emacs.c: Fix typos in comments.
1199 Remove unnecessary spaces.
1200 Change doc-string comments to `new style' [w/`doc:' keyword].
1201 (USAGE2): Fix typos in usage string.
1202
1203 * xterm.c: Fix typo in a comment.
1204
1205 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1206 emacs.c.
1207
1208 2001-10-27 Gerd Moellmann <gerd@gnu.org>
1209
1210 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
1211 instead of 1/2 line_height in the heuristic for skipping
1212 farther backward when target_y was not reached.
1213
1214 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1215 Display errno only if non-zero.
1216 (sound_warning): New function.
1217 (vox_configure): Don't treat failing to set sample rate as error.
1218 (various places): Improve error messages.
1219
1220 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1221
1222 * fileio.c (Faccess_file): Run the argument filename through
1223 Fexpand_file_name, before using it.
1224
1225 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1226 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1227
1228 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1229
1230 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1231
1232 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1233 Fix clearing in the case of scroll bars on the right.
1234
1235 2001-10-26 Juanma Barranquero <lektu@terra.es>
1236
1237 * w32gui.h (XImage): Add a dummy typedef.
1238
1239 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1240
1241 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
1242
1243 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1244
1245 * frame.c (Fframe_parameter): Fix last change.
1246
1247 * fileio.c: Revert last change (which removed old commented-out
1248 version of expand-file-name). Add a comment that explains why
1249 this old version should not be removed.
1250
1251 2001-10-25 Gerd Moellmann <gerd@gnu.org>
1252
1253 * frame.c (Fframe_parameter): Fix a bug whereby some
1254 ``artificial'' frame parameters, like `minibuffer' were not
1255 obtained by calling Fframe_parameters.
1256
1257 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1258 cursor differently.
1259
1260 * xdisp.c (move_it_vertically_backward): Compute line height
1261 differently. Add heuristic to try to be more compatible to 20.x.
1262
1263 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1264
1265 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1266
1267 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1268 boolean.
1269
1270 2001-10-25 Miles Bader <miles@gnu.org>
1271
1272 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1273 BG is a pointer to a structure, not a structure.
1274 (gif_format, png_format): Add missing commas.
1275
1276 2001-10-24 Richard M. Stallman <rms@gnu.org>
1277
1278 * xfaces.c (Fface_attributes_as_vector): New function.
1279 (syms_of_xfaces): Defsubr it.
1280
1281 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1282
1283 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1284 variable `area'.
1285
1286 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1287
1288 * search.c (scan_newline): Remove unused variable `selective_display'.
1289
1290 2001-10-25 Miles Bader <miles@gnu.org>
1291
1292 * dispextern.h (struct image): Add `background',
1293 `background_valid', and `background_transparent' fields.
1294 (image_background, image_background_transparent): New declarations.
1295 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1296 * xfns.c (image_background, image_background_transparent)
1297 (four_corners_best): New functions.
1298 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1299 (gs_format): Add `:background' entry.
1300 (lookup_image): Set IMG's background color if specified.
1301 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1302 when appropriate.
1303 (x_clear_image_1): Reset `background_valid' and
1304 `background_transparent_valid' fields.
1305 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1306 calculating it here. Set IMG's background_transparent field.
1307 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1308 (enum png_keyword_index): Add PNG_BACKGROUND.
1309 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1310 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1311 (enum gif_keyword_index): Add GIF_BACKGROUND.
1312 (enum gs_keyword_index): Add GS_BACKGROUND.
1313 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1314 Pre-calculate image background color where necessary.
1315 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1316 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1317 color to use for image glyph reliefs.
1318
1319 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1320
1321 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1322 in full-width rows.
1323
1324 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1325 Fix clearing of area not covered by scroll bar.
1326
1327 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1328
1329 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1330 and `real_start'.
1331 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
1332 (glyph_rect): Remove unused variable `area'.
1333
1334 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1335
1336 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
1337
1338 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1339 (row_containing_pos): Take additional argument DY.
1340 Treat rows ending in middle of char differently.
1341 (display_line): Handle tabs on window systems differently.
1342
1343 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1344 with additional argument.
1345
1346 * dispextern.h (row_containing_pos): Adjust prototype.
1347
1348 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1349 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1350 (try_window_id, try_window_reusing_current_matrix)
1351 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1352 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1353
1354 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1355
1356 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1357 gnuemacs).
1358 (HAVE_BOXES): Fix typo in comment.
1359 (push_menu_pane): Fix typo in comment.
1360
1361 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1362 of `Qwhen'.
1363 (single_display_prop_string_p): Remove unused local declarations
1364 of `Qwhen' and `Qmargin'.
1365 (string_buffer_position): Remove unused variable `around'.
1366 (store_frame_title): Remove unused variable `width'.
1367
1368 * window.c: Don't define max.
1369 (coordinates_in_window): Remove unused variable `uy'.
1370
1371 * widget.c: Don't define max.
1372
1373 * process.c: Don't define max.
1374 (create_process): Remove unused variable `buffer'.
1375
1376 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1377
1378 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
1379
1380 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1381
1382 * xfaces.c (Finternal_set_lisp_face_attribute)
1383 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1384 frame is on a windowed display.
1385
1386 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1387
1388 * dispnew.c (sync_window_with_frame_matrix_rows):
1389 Fix handling of windows which aren't full-width, fix handling
1390 of marginal areas.
1391
1392 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
1393
1394 2001-10-23 Andreas Schwab <schwab@suse.de>
1395
1396 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1397 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1398
1399 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1400
1401 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
1402 REAL_END. Notice if cursor gets overwritten.
1403 (notice_overwritten_cursor): Take X positions as parameters.
1404 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1405 around call to x_draw_glyphs.
1406
1407 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1408
1409 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1410 instead of C) and usage.
1411
1412 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1413 of C) and usage.
1414
1415 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1416 `left', `max_width' and `max_height'.
1417
1418 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1419
1420 * xdisp.c (display_line): For a tab continued to the next line,
1421 set row's ends_in_middle_of_char_p.
1422
1423 2001-10-22 Gerd Moellmann <gerd@gnu.org>
1424
1425 * xdisp.c (display_line): Fix computation of continuation lines
1426 width for TABs.
1427
1428 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1429
1430 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1431 `Qlaplace'.
1432
1433 * fileio.c: Remove unused code.
1434
1435 2001-10-22 Miles Bader <miles@gnu.org>
1436
1437 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1438 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1439 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1440
1441 2001-10-21 Jason Rumney <jasonr@gnu.org>
1442
1443 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1444
1445 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1446
1447 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1448 (Finsert_string): Avoid the multi-line string literals warning.
1449
1450 2001-10-22 Miles Bader <miles@gnu.org>
1451
1452 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1453 (Fdocumentation): Don't use it.
1454 (syms_of_doc): Don't initialize it.
1455
1456 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1457 * print.c (Fwith_output_to_temp_buffer): Likewise.
1458 * window.c (Fsave_window_excursion): Likewise.
1459 * editfns.c (Fsave_excursion, Fsave_current_buffer)
1460 (Fsave_restriction): Likewise.
1461 * eval.c (Frun_hooks, Frun_hook_with_args)
1462 (Frun_hook_with_args_until_failure)
1463 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1464 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1465 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
1466 (Funwind_protect, Fcondition_case): Likewise.
1467 * coding.c (Ffind_operation_coding_system): Likewise.
1468 * keyboard.c (Ftrack_mouse): Likewise.
1469
1470 2001-10-21 Miles Bader <miles@gnu.org>
1471
1472 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
1473 (Fmake_hash_table): Add usage: string to doc string.
1474 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
1475 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
1476 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1477 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1478 (Fml_prefix_argument_loop): Likewise.
1479
1480 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
1482 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
1483
1484 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1485 style' [w/`doc:' keyword].
1486
1487 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1488 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1489 comments to `new style' [w/`doc:' keyword].
1490
1491 2001-10-21 Jason Rumney <jasonr@gnu.org>
1492
1493 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1494
1495 * w32term.c (remember_mouse_glyph): New function.
1496 (w32_mouse_position): Use it.
1497 (note_mouse_movement): If the mouse moved off the glyph, remember
1498 its new position.
1499
1500 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1501 (w32_display_info): Add mouse_face_overlay.
1502
1503 * w32term.c (notice_overwritten_cursor): Renamed from
1504 note_overwritten_text_cursor. Rewritten to take glyph widths into
1505 account.
1506 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1507 (fast_find_string_pos): New function.
1508 (fast_find_position): Return the correct vpos. Add parameter
1509 STOP. In the final row, stop before glyphs having STOP as object.
1510 Don't consider glyphs that are not from a buffer.
1511 (fast_find_position) [0]: Add a presumably more correct version
1512 for after 21.1.
1513 (expose_window_tree, expose_frame): Don't compute intersections here.
1514 (expose_window): Do it here instead.
1515 (expose_window_tree, expose_window, expose_line): Return 1 when
1516 overwriting mouse-face.
1517 (expose_window): If W is the window currently being updated, mark
1518 the frame garbaged.
1519 (expose_frame): If mouse-face was overwritten, redo it.
1520 (x_use_underline_position_properties): New variable.
1521 (syms_of_xterm): DEFVAR_BOOL it.
1522 (x_draw_glyph_string): Add comment to use it in future.
1523 (x_draw_glyph_string): Restore clipping after drawing box.
1524 Fix a computation of the underline position.
1525 (w32_get_glyph_string_clip_rect): Minor cleanup.
1526 (x_fill_stretch_glyph_string): Remove an assertion.
1527 (x_produce_glyphs): Don't convert multibyte characters
1528 to unibyte characters in unibyte buffers.
1529 (cursor_in_mouse_face_p): New function.
1530 (x_draw_stretch_glyph_string): Use it to choose a different GC
1531 when drawing a cursor within highlighted text. Don't draw
1532 background again if it has already been drawn.
1533 (x_draw_glyph_string_box): Don't draw a full-width
1534 box just because the glyph row's full_width_p flag is set.
1535 (x_draw_glyphs): Fix computation of rightmost x for
1536 full-width rows.
1537 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1538 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1539 change bottom shadow accordingly. Some cleanup.
1540 (x_update_window_end): Handle overwritten mouse face
1541 also for tool bar windows.
1542 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1543 DRAW is DRAW_IMAGE_RAISED.
1544 (clear_mouse_face): Return 1 if text with mouse face was
1545 actually redrawn. Make the function static. Reset
1546 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1547 optimize away highlighting if we pass over that same overlay again.
1548 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1549 to detect a case where we have to highlight a different region
1550 despite not having left the currently highlighted region.
1551 Set mouse_face_overlay in the x_display_info. Avoid changing the
1552 mouse pointer shape when show_mouse_face has already done it, or
1553 there is no need. Handle mouse-face and help-echo in strings.
1554 (glyph_rect): New function.
1555 (w32_mouse_position): Use it to raise the threshold for mouse
1556 movement event generation.
1557 (w32_initialize_display_info): Initialize the x_display_info's
1558 mouse_face_overlay.
1559 (w32_set_vertical_scroll_bar): Don't clear a zero height
1560 or width area.
1561 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1562 a widget to zero height.
1563
1564 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
1565 Protect unibyte strings created by replacing their multibyte
1566 equivalents in menu_items.
1567 (w32_menu_show): Don't overwrite an item's name with its key
1568 description in case the description is a multibyte string.
1569 (single_submenu): Some cleanup.
1570
1571 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1572 (postprocess_image): New function.
1573 (lookup_image): Call it for all image types except PostScript.
1574 (x_kill_gs_process): Call postprocess_image.
1575 (tiff_error_handler, tiff_warning_handler): New functions.
1576 (tiff_load): Install them as handlers.
1577 (x_kill_gs_process): Recognize if someone has cleared the image
1578 cache under us.
1579 (valid_image_p): Protect better against invalid image
1580 specifications. Previous code could signal an error.
1581 (Fx_hide_tip, Fshow_tip): Doc fix.
1582 (Fv_max_tooltip_size): New variable.
1583 (syns_of_xfns): DEFVAR_LISP it.
1584 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1585 window buffer to *tip* right after creating the frame. Set frame's
1586 window_width. Use a maximum tooltip size specified by
1587 Vx_max_tooltip_size, if that has valid contents.
1588 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1589 Make sure the tooltip is completely visible.
1590 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1591 (Fx_create_frame): Adjust the frame's height for presence
1592 of the tool bar before calling x_figure_window_size.
1593 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1594 when the window gets smaller.
1595 (x_set_foreground_color): Set frame's cursor_pixel.
1596 (x_set_foreground_color, x_set_background_color): Cleaned up.
1597 (x_set_font): Handle case of x_new_fontset returning the same name
1598 as before, although there was a change in fontsets.
1599
1600 2001-10-21 Miles Bader <miles@gnu.org>
1601
1602 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
1603 (Flogxor): Add usage: string to doc string.
1604 * charset.c (Fstring): Likewise.
1605 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1606 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1607
1608 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1609
1610 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1611
1612 * alloc.c: Reindent DEFUNs with doc: keywords.
1613
1614 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1615
1616 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1617 keyword].
1618
1619 2001-10-20 Gerd Moellmann <gerd@gnu.org>
1620
1621 * (Version 21.1 released.)
1622
1623 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1624
1625 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
1626
1627 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1628 0 because unused.
1629
1630 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
1631 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1632 Change doc-string comments to `new style' [w/`doc:' keyword].
1633
1634 2001-10-20 Miles Bader <miles@gnu.org>
1635
1636 The following changes remove the glyph_row `inverse_p' field,
1637 which is never set anymore, due to other changes:
1638
1639 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1640 (reassert_line_highlight, change_line_highlight): Declarations removed.
1641 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
1642 (line_hash_code, row_equal_p, fake_current_matrices)
1643 (build_frame_matrix_from_leaf_window, update_frame_line)
1644 (update_frame_line, update_frame_line, update_frame_line):
1645 Don't use `inverse_p' field.
1646 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1647 change_line_highlight_hook.
1648 (XTreassert_line_highlight, x_change_line_highlight):
1649 Functions removed.
1650 (x_fix_overlapping_area, x_write_glyphs, expose_area)
1651 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1652 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1653 `inverse_p' field.
1654 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
1655 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1656 (w32_reassert_line_highlight, x_change_line_highlight):
1657 Functions removed.
1658 * w32console.c (reassert_line_highlight, change_line_highlight):
1659 Functions removed.
1660 (initialize_w32_display): Don't set reassert_line_highlight_hook
1661 or change_line_highlight_hook.
1662 (hl_mode): Function removed.
1663 (reset_terminal_modes, set_terminal_modes, update_begin)
1664 (update_end, w32_face_attributes, initialize_w32_display):
1665 (clear_frame, ins_del_lines): Don't call it.
1666 * termhooks.h (reassert_line_highlight_hook)
1667 (change_line_highlight_hook): Declarations removed.
1668 * term.c (reassert_line_highlight_hook)
1669 (change_line_highlight_hook): Variables removed.
1670 (reassert_line_highlight, change_line_highlight): Functions removed.
1671 * msdos.c (IT_reassert_line_highlight)
1672 (IT_change_line_highlight): Functions removed.
1673 (internal_terminal_init): Don't set reassert_line_highlight_hook
1674 or change_line_highlight_hook.
1675 (highlight): Variable removed.
1676 (IT_set_face, IT_update_begin, IT_update_end)
1677 (IT_set_terminal_modes): Don't set or use it.
1678
1679 The following changes remove inverse-video support for terminals
1680 that use a `magic cookie' standout mode. Due to changes in the
1681 way mode-lines are displayed, such support no longer works
1682 anyway, and it's probable that almost no one uses such terminals
1683 anymore:
1684
1685 * term.c (standout_requested): Variable removed.
1686 (update_end, highlight_if_desired): Don't use it.
1687 (chars_wasted, copybuf): Variables removed.
1688 (write_standout_marker): Function removed.
1689 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
1690 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1691 Don't use `chars_wasted' or `copybuf'.
1692 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1693 Set `costs_set' to true.
1694 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1695 `chars_wasted'.
1696 (clear_end_of_line): Function removed.
1697 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1698 (clear_to_end): Call `clear_end_of_line' instead of
1699 `clear_end_of_line_raw'.
1700 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1701 (term_init): Don't set them.
1702 Turn off any standout/underline modes that require magic cookies.
1703 (ins_del_lines, highlight_if_desired, background_highlight)
1704 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1705 Remove special processing for magic-cookie standout modes.
1706 (turn_off_face, turn_on_face): Remove special processing for
1707 underline magic-cookie glitch.
1708
1709 2001-10-19 Richard M. Stallman <rms@gnu.org>
1710
1711 * eval.c (syms_of_eval): Doc fixes.
1712
1713 2001-10-19 Gerd Moellmann <gerd@gnu.org>
1714
1715 * xdisp.c (redisplay_internal): Don't clear echo area if the
1716 mini-window is selected.
1717
1718 2001-10-19 Miles Bader <miles@gnu.org>
1719
1720 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1721 doesn't take precedence if the affected property's value is nil.
1722
1723 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1724
1725 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1726 with fields and suggest using `forward-line' to avoid them.
1727 * editfns.c (Fline_beginning_position, Fline_end_position):
1728 Clarify documentation.
1729
1730 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1731
1732 * keymap.c (current_minor_maps): `override' only shadows its
1733 correspondent in minor-mode-map-alist, not the whole tail.
1734
1735 2001-10-18 Andrew Innes <andrewi@gnu.org>
1736
1737 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1738 optimization. The fontp->encoding array was not being initialized
1739 correctly when compiled with optimizations by MSVC.
1740
1741 2001-10-18 Gerd Moellmann <gerd@gnu.org>
1742
1743 * xdisp.c (display_line): Indicate empty lines in active mini-window.
1744
1745 2001-10-17 Andrew Innes <andrewi@gnu.org>
1746
1747 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1748
1749 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1750 font_info.charset field.
1751
1752 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1753 rather than working it out by calling w32_codepage_for_font for
1754 every glyph.
1755
1756 2001-10-17 Andrew Innes <andrewi@gnu.org>
1757
1758 * w32term.c (w32_read_socket): Determine clipping rectangle for
1759 the entire frame, including areas covered by scrollbars and the
1760 menubar. This avoids internal arguments about whether a frame is
1761 fully obscured or not.
1762
1763 2001-10-17 Gerd Moellmann <gerd@gnu.org>
1764
1765 * xdisp.c (try_window_id): Undo last change. Give up if
1766 window ends in strings.
1767
1768 * xdisp.c (try_window_id): Don't display lines after the window
1769 end if the rest of the window after the window end was already blank.
1770
1771 * xdisp.c (try_window_id): Remove code that was only there
1772 for the release of 21.1.
1773
1774 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
1775
1776 2001-10-17 Miles Bader <miles@gnu.org>
1777
1778 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1779 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1780 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1781 Change doc-string comments to `new style' [w/`doc:' keyword].
1782 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1783 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1784 out make-docfile.
1785
1786 2001-10-16 Miles Bader <miles@gnu.org>
1787
1788 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1789
1790 2001-10-16 Gerd Moellmann <gerd@gnu.org>
1791
1792 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1793 *scratch*.
1794
1795 2001-10-16 Ken Raeburn <raeburn@gnu.org>
1796
1797 Avoid the assumption that car and cdr slots of cons cells are
1798 addressable lvalues; this allows for easier experimentation with
1799 other lisp implementations that may not permit such accesses for
1800 various reasons. Not quite complete -- buffer.c still needs some
1801 work, and w32/mac files need rechecking -- so compile-time
1802 enforcement is left disabled for now.
1803
1804 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
1805 gcc with a union-based Lisp object rep. Redefine as no-op for now.
1806 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1807 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1808 (XSETCAR, XSETCDR): New macros.
1809 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1810 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1811 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1812 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1813 XSETCDR.
1814 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
1815 * buffer.c (record_buffer, Fbury_buffer)
1816 (swap_out_buffer_local_variables, recenter_overlay_lists)
1817 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
1818 fields of a cons cell respectively.
1819 * callint.c (quotify_args, Fcall_interactively): Likewise.
1820 * ccl.c (Fregister_code_conversion_map): Likewise.
1821 * coding.c (detect_coding_system): Likewise.
1822 * composite.c (get_composition_id, make_composition_value_copy):
1823 Likewise.
1824 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1825 (swap_in_symval_forwarding, set_internal, Fset_default)
1826 (Fmake_variable_buffer_local, Fmake_local_variable)
1827 (Fmake_variable_frame_local): Likewise.
1828 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
1829 * keymap.c (Fset_keymap_parent, store_in_keymap)
1830 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
1831 * minibuf.c (get_minibuffer): Likewise.
1832 * search.c (Fmatch_data): Likewise.
1833 * textprop.c (extend_property_ranges): Likewise.
1834 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
1835 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1836 Likewise.
1837 * w32term.c (x_delete_display): Likewise.
1838 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1839 Likewise.
1840 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
1841 * doc.c (store_function_docstring): Use XSETCARFASTINT.
1842 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
1843 (Fread_file_name): Use XSETCAR.
1844 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1845 CHECK_NUMBER_CDR.
1846 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1847 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1848 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1849 CHECK_NUMBER_CDR.
1850 * keyboard.c (read_char): Alter list traversal to avoid taking the
1851 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1852 (parse_menu_item): Use XSETCAR and XSETCDR.
1853 (reach_char_x_menu_prompt): Use XSETCAR.
1854 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1855 (Fcommand_execute): Use XSETCDR.
1856 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1857 (openp): Change list traversal to avoid using XCAR as lvalue.
1858 (read_list): Use XSETCDR.
1859 * process.c (wait_reading_process_input): Change wait_for_cell
1860 handling to avoid taking addresses of cons cell slots.
1861 * xselect.c (x_own_selection, x_handle_selection_clear)
1862 (x_clear_frame_selections): Use XSETCDR.
1863 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1864 (x_handle_property_notify, x_get_foreign_selection)
1865 (x_handle_selection_notify): Use XSETCAR.
1866
1867 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1868
1869 * buffer.c: Put doc strings in comments.
1870
1871 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
1872
1873 2001-10-15 Sam Steingold <sds@gnu.org>
1874
1875 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1876
1877 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1878
1879 * process.c (process-inherit-coding-system-flag)
1880 (get-buffer-process): Do not confuse make-docfile with doc strings
1881 in comment.
1882
1883 * editfns.c (Fchar_to_string): Make doc string consistent with
1884 arguments. Put doc strings in comments.
1885
1886 * abbrev.c, minibuf.c: Put doc strings in comments.
1887
1888 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1889
1890 * window.c (window_loop): Don't check for Fother_buffer returning nil.
1891
1892 * window.c (select_window_1): Unfreeze window start. Remove a
1893 doubled test for WINDOW being live.
1894
1895 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1896
1897 * fns.c (Fmapconcat): Fix typo in a doc string.
1898
1899 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1900
1901 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1902
1903 * xterm.c (x_draw_glyph_string): Restore clipping after
1904 drawing box.
1905
1906 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1907
1908 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
1909
1910 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1911
1912 * indent.c (skip_invisible): Use new retval of
1913 TEXT_PROP_MEANS_INVISIBLE.
1914
1915 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1916 If a parent is reached and noinherit is set, exit immediately.
1917 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1918
1919 * s/ms-w32.h (EXEC_SUFFIXES):
1920 * s/msdos.h (EXEC_SUFFIXES):
1921 * process.h (EXEC_SUFFIXES): Remove.
1922
1923 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1924 (decode_suffixes): Remove.
1925
1926 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
1927 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1928 (invisible_ellipsis_p): Remove.
1929
1930 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1931 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1932 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
1933 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1934 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
1935
1936 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1937
1938 * lisp.h (Ftop_level): Add prototype.
1939
1940 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1941 (XTread_socket): Improve style of comments to follow other
1942 comments.
1943
1944 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1945 is already prototyped in included lisp.h).
1946
1947 * frame.c (Fset_mouse_position): Improve style of comment to
1948 follow other comments.
1949 (Fset_mouse_pixel_position): Improve style of comment to follow
1950 other comments.
1951 (Fmake_frame_visible): Doc fix and typo in comment.
1952 (Fmake_frame_invisible): Doc fix and typo in comment.
1953 (Ficonify_frame): Fix typo in comment.
1954
1955 2001-10-14 Gerd Moellmann <gerd@gnu.org>
1956
1957 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
1958 * term.c, alloc.c: Put doc strings in comments.
1959
1960 2001-10-13 Gerd Moellmann <gerd@gnu.org>
1961
1962 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1963 Provide definitions for doc strings in comments.
1964
1965 * fns.c: Put doc strings in comments.
1966
1967 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1968
1969 * dired.c (file_name_completion): Ignore a candidate directory if
1970 it matches an element in completion-ignored-extensions that ends
1971 in a slash.
1972 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1973 feature in the doc string.
1974 (Ffile_name_completion): Ditto.
1975
1976 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1977
1978 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1979
1980 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1981
1982 * lisp.h (Fprovide): Update prototype.
1983 (Ffeaturep, invisible_p): Remove.
1984
1985 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
1986 (DOLIST, LOOP_PROPVAL): New macros.
1987 (invisible_p, invisible_ellipsis_p): Use them.
1988 (invisible_noellipsis_p): New function.
1989 (syms_of_xdisp): Use empty_string.
1990
1991 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1992
1993 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1994 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1995
1996 * print.c (Fwith_output_to_temp_buffer): Align with
1997 internal_with_output_to_temp_buffer.
1998 (print_preprocess): Use traverse_intervals_noorder.
1999 (print_object): Update call to traverse_intervals.
2000
2001 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2002 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2003
2004 * intervals.c (traverse_intervals_noorder): New function.
2005 (search_for_interval, count_intervals): Use it.
2006 (traverse_intervals): Use less stack space and drop `depth' arg.
2007
2008 * fns.c (Ffeaturep): Add new `subfeature' arg.
2009 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2010 (Qsubfeatures): New var.
2011 (syms_of_fns): Initialize it.
2012
2013 * keymap.c (Fkey_description): Use empty_string.
2014 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2015 (syms_of_keymap): Setup inheritance between maps.
2016 Don't export Sdescribe_bindings_internal any more.
2017
2018 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2019
2020 2001-10-12 Gerd Moellmann <gerd@gnu.org>
2021
2022 * xterm.c (notice_overwritten_cursor): Renamed from
2023 note_overwritten_text_cursor. Rewritten to take glyph widths into
2024 account.
2025
2026 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2027
2028 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2029 multi-line strings without a trailing "\n\".
2030
2031 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2032
2033 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2034 defined.
2035
2036 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2037
2038 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2039
2040 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2041 * w32proc.c (sys_spawnve):
2042 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2043 * w32.c (check_windows_init_file):
2044 * sound.c (Fplay_sound):
2045 * emacs.c (init_cmdargs):
2046 * process.c (Fstart_process): Update calls to openp.
2047
2048 * callproc.c (Vexec_suffixes): New var.
2049 (Fcall_process): Update call to openp.
2050 (decode_suffixes): New function.
2051 (syms_of_callproc): Init exec-suffixes.
2052
2053 * lread.c (Vload_suffixes, default_suffixes): New vars.
2054 (openp): Take a lisp list of suffixes.
2055 Check for file-name-handlers even if the file was absolute already.
2056 (syms_of_lread): Declare load-suffixes.
2057 (Fload): Fix up call to openp.
2058 Don't bother checking for file-name-handler at the very beginning.
2059
2060 * keymap.h (Fcopy_keymap): Don't export.
2061
2062 * lisp.h (empty_string): Declare.
2063 (Vload_suffixes, Vexec_suffixes): Declare.
2064 (openp): Update prototype.
2065
2066 * emacs.c (empty_string): New var.
2067 (syms_of_emacs): Initialize it.
2068
2069 * search.c (wordify): Use it.
2070
2071 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2072 selected window if it's not displayed there. Handle the case
2073 when the window is dedicated.
2074 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2075
2076 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2077
2078 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2079 Remove left_ok and right_ok.
2080 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2081 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2082 new meaning of b_property.
2083
2084 * syntax.c (update_syntax_table): Simplify.
2085 (Fforward_comment): Don't skip quoted chars when going backward.
2086
2087 2001-10-11 Gerd Moellmann <gerd@gnu.org>
2088
2089 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2090 in case I is of some unsigned type, in which case
2091 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2092 comparison becomes bogus.
2093
2094 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2095 (Fuser_full_name): Fix bug treating a float as a fixnum.
2096
2097 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2098
2099 * lisp.h (make_fixnum_or_float): New macro.
2100
2101 * lisp.h (circular_list_error): Add prototype.
2102
2103 * data.c (Qcircular_list): New variable.
2104 (circular_list_error): New function.
2105 (syms_of_data): Initialize it Qcircular_list.
2106
2107 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2108
2109 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2110 casefiddle.c, buffer.c: Include keymap.h.
2111
2112 2001-10-10 Gerd Moellmann <gerd@gnu.org>
2113
2114 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2115 options. From Dave Love <d.love@dl.ac.uk>.
2116
2117 2001-10-09 Gerd Moellmann <gerd@gnu.org>
2118
2119 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2120 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2121
2122 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2123 unsigned char.
2124 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2125
2126 2001-10-08 Andrew Innes <andrewi@gnu.org>
2127
2128 * lisp.h [max]: Undef min and max before redefining them.
2129
2130 * w32gui.h: Do not undef min and max.
2131
2132 * w32heap.h: Do not undef min and max.
2133
2134 * s/ms-w32.h: Do not undef min and max.
2135
2136 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2137
2138 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2139
2140 2001-10-08 Sam Steingold <sds@gnu.org>
2141
2142 * keymap.c (current-active-maps): Quote newlines (compilation error).
2143
2144 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2145
2146 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2147 bindings.elc, since otherwise doc strings in bindings.el get wrong
2148 offsets in etc/DOC.
2149
2150 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2151
2152 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2153
2154 * keyboard.h (map_prompt): Remove.
2155
2156 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
2157 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
2158
2159 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2160
2161 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2162
2163 * keyboard.c (map_prompt): Remove.
2164 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2165 Use Fkeymap_prompt.
2166
2167 * keymap.h: New file. Extracted from lisp.h.
2168
2169 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2170 (accessible_keymaps_1): New function.
2171 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2172 (Fwhere_is_internal): Use Fcurrent_active_maps.
2173 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2174 Insert in current buffer rather than standard-output.
2175 Don't call `help-mode'. Export to elisp.
2176 (describe_buffer_bindings): New wrapper.
2177 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2178 and Sdescribe_buffer_bindings.
2179
2180 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2181
2182 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
2183 Remove code setting signal handler.
2184
2185 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
2186 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2187
2188 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2189
2190 * keyboard.c: Don't define min/max.
2191
2192 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2193
2194 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
2195 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
2196 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
2197 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
2198 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
2199 Don't define min/max.
2200
2201 * lisp.h (min, max): New macros.
2202
2203 * puresize.h (BASE_PURESIZE): Increase to 725000.
2204
2205 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2206
2207 * xfaces.c (free_frame_menubar): Add prototype.
2208
2209 * lisp.h (init_window): Add prototype.
2210
2211 * editfns.c: Include ctype.h.
2212
2213 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
2214 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
2215 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2216 variable `sb'.
2217
2218 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2219 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2220 `popup_activated_flag' and `title'.
2221
2222 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2223
2224 * emacs.c (main): Remove extra `;'.
2225
2226 * atimer.h (struct atimer): Fix typos in a comment.
2227
2228 * atimer.c: Fix typo.
2229
2230 * Makefile.in: Fix typo.
2231
2232 * README: Remove obsolete part mentioning removed VMS file.
2233
2234 2001-10-07 Miles Bader <miles@gnu.org>
2235
2236 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2237
2238 2001-10-07 Ken Raeburn <raeburn@gnu.org>
2239
2240 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2241 Lisp_Object.
2242
2243 * lisp.h (Ffield_end): Declare.
2244
2245 2001-10-07 Gerd Moellmann <gerd@gnu.org>
2246
2247 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2248
2249 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2250
2251 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2252
2253 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2254
2255 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2256 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2257
2258 * alloc.c (inhibit_garbage_collection): Simplify.
2259 (Fmemory_use_counts): Ditto.
2260
2261 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
2262 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2263 most-negative-fixnum.
2264
2265 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
2266 (FIXNUM_OVERFLOW_P): New macros.
2267
2268 2001-10-06 Miles Bader <miles@gnu.org>
2269
2270 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2271 scroll_bar_bottom_shadow_pixel fields.
2272 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2273 for the shadows, and tell the toolkit about them if we succeed.
2274 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2275 Free scroll-bar shadow colors.
2276 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2277 Free scroll-bar shadow colors when the background color changes.
2278 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2279 Initialize scroll-bar shadow-color fields.
2280
2281 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2282
2283 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2284
2285 2001-10-05 Miles Bader <miles@gnu.org>
2286
2287 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2288 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
2289 New functions (were in simple.el).
2290 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2291 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2292 (syms_of_minibuf): Initialize them.
2293
2294 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2295
2296 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2297 (tiff_load): Install them as error and warning handler.
2298
2299 2001-10-04 Andrew Innes <andrewi@gnu.org>
2300
2301 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2302 (w32_load_system_font): Don't believe what GetLanguageFontInfo
2303 says; query codepage info directly to determine if font is double byte.
2304 (x_to_w32_charset): Handle private format for unknown charsets.
2305 Handle wildcards in charset spec, by ignoring them.
2306 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2307 "*-" prefix from charset.
2308 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2309 handle the truncated font spec form constructed by font_list_1, so
2310 that we correctly identify the charset fields. Don't remove "*-"
2311 prefix from charset.
2312 (w32_list_synthesized_fonts): Fix argument to alloca.
2313
2314 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2315
2316 * window.h (MINI_WINDOW_P): Use NILP.
2317
2318 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2319
2320 * termhooks.h (struct input_event): Use proper type for `kind'.
2321
2322 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2323
2324 This handles unknown keysyms better than before. For example,
2325 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2326 Emacs formerly completely ignored F5. With the change, it derives
2327 a key symbol from the name of the X keysym, `ccaron' in this case.
2328 Reported by Martin Buchholz.
2329
2330 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2331 unknown keysyms.
2332
2333 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2334 that EVENT->code isn't a function key, use the keysym's name.
2335
2336 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2337
2338 FOREACH is a macro that should make it easier to loop over Lisp
2339 lists with checks for cycles and proper lists.
2340
2341 * lisp.h (LIST_END_P, FOREACH): New macros.
2342
2343 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2344
2345 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2346 called for a lost connection. Prevent dumping core in this case.
2347 Instead print the X error, and exit. On user request.
2348
2349 * xterm.c (error_msg): New variable.
2350 (x_fatal_error_signal): New function.
2351 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2352 as fatal_error_signal_hook around the call to XtCloseDisplay.
2353
2354 * emacs.c (fatal_error_signal_hook): New variable.
2355 (fatal_error_signal): Call that function.
2356
2357 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2358
2359 With this, Emacs prints how much pure storage it will
2360 approximately need in case pure storage overflows while dumping.
2361
2362 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2363 New variables.
2364 (init_alloc_once): Initialize new variables.
2365 (PURE_POINTER_P): Use new variables.
2366 (pure_alloc): If pure storage overflows, allocate from the heap.
2367 (check_pure_size): New function.
2368 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2369
2370 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2371 (check_pure_size): Add prototype.
2372
2373 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2374
2375 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2376
2377 This adds a post-gc-hook that's run with GC inhibited.
2378 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2379
2380 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2381 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2382 (Fgarbage_collect): Run post-gc-hook.
2383
2384 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2385
2386 This adds `defvaralias' and `indirect-variable'. Changes not
2387 directly related to this feature are there to gain the same
2388 performance again as before variable aliases.
2389
2390 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2391 code to get and set symbol values, to take defvaralias into account.
2392
2393 (Note: the new `constant' bit-flag in symbols would make it
2394 possible to define arbitrary read-only variables, e.g. with
2395 `defconst'.)
2396
2397 Documentation is in lispref/variables.texi. Added to NEWS.
2398
2399 * lisp.h (enum symbol_interned): New enumeration.
2400 (struct Lisp_Symbol): Remove member `obarray', add
2401 `indirect_variable', `constant', and `interned'.
2402 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2403 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2404 (indirect_variable): Add prototype.
2405
2406 * print.c (print_preprocess, print_object): Test internedness of
2407 symbols differently.
2408
2409 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2410 bit-fields.
2411 (init_obarray): Likewise for t and nil.
2412
2413 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2414 (Fdefvaralias): New function.
2415 (specbind): Simplify the test if symbol is a constant.
2416 (syms_of_eval): Defsubr Fdefvaralias.
2417
2418 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2419 (Qcyclic_variable_indirection): New variable.
2420 (Fkeywordp): Check for internedness differently.
2421 (Fmakunbound): Simplify the test if symbol is a constant.
2422 (indirect_variable, Findirect_variable): New functions.
2423 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2424 aliased symbol.
2425 (let_shadows_buffer_binding_p): Check for variable aliases.
2426 (set_internal): Simplify the test if SYMBOL is a constant.
2427 If SYMBOL has a buffer-local value and is an alias, use the aliased
2428 symbol instead.
2429 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2430 Sindirect_variable.
2431
2432 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2433 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2434 set directly.
2435
2436 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2437
2438 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2439 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2440 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2441
2442 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2443
2444 * Branch for 21.1.
2445
2446 2001-10-03 Miles Bader <miles@gnu.org>
2447
2448 * callproc.c (syms_of_callproc): Explicitly state in the
2449 documentation for `process-environment' that earlier entries take
2450 precedence over later ones.
2451
2452 2001-10-02 Miles Bader <miles@gnu.org>
2453
2454 * textprop.c (Fnext_char_property_change)
2455 (Fprevious_char_property_change): Remove reference to non-existant
2456 argument OBJECT from doc-string.
2457
2458 2001-10-01 Gerd Moellmann <gerd@gnu.org>
2459
2460 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2461 (try_window_id): Skip back over lines ending in a newline from a
2462 string.
2463
2464 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2465 New bit flag
2466
2467 2001-10-01 Richard M. Stallman <rms@gnu.org>
2468
2469 * search.c (Freplace_match): Doc fix.
2470
2471 2001-09-28 Andrew Innes <andrewi@gnu.org>
2472
2473 * w32menu.c (set_frame_menubar): Take into account that
2474 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2475 <raeburn@gnu.org>.
2476
2477 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2478
2479 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2480
2481 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2482
2483 * s/gnu-linux.h: Fix a typo in comment.
2484
2485 2001-09-28 Andreas Schwab <schwab@suse.de>
2486
2487 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2488 nocombreloc, in case -z combreloc is the default.
2489
2490 2001-09-28 Gerd Moellmann <gerd@gnu.org>
2491
2492 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2493 really going on here.
2494
2495 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2496
2497 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2498
2499 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2500
2501 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2502 utf-8, menu-bar, and latin-N.
2503 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2504 unconditionally now.
2505 (lisp): Add latin-N, since they are preloaded.
2506
2507 2001-09-27 Gerd Moellmann <gerd@gnu.org>
2508
2509 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2510 to the left. Some cleanup.
2511
2512 * xdisp.c (display_mode_element): One more case where a string's
2513 multibyteness should be used for display.
2514
2515 2001-09-26 Gerd Moellmann <gerd@gnu.org>
2516
2517 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2518 reading at EOF.
2519
2520 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
2521 of the only temporarily set echoing flag for deciding when
2522 the cancel echoing.
2523
2524 * keyboard.c (echo_kboard): Make externally visible.
2525
2526 * lisp.h (echo_kboard): Declare extern.
2527
2528 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
2529 fonts_changed_p if we need larger matrices due to vscrolling.
2530 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2531 this round of redisplay if make_cursor_line_fully_visible fails.
2532 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
2533 (try_cursor_movement, try_scrolling): Use them instead of integers.
2534
2535 * dispextern.h (required_matrix_width, required_matrix_height):
2536 Add prototypes.
2537
2538 * dispnew.c (required_matrix_width, required_matrix_height):
2539 New functions.
2540 (allocate_matrices_for_window_redisplay)
2541 (allocate_matrices_for_frame_redisplay: Use them.
2542 Remove parameters CH_DIM.
2543
2544 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2545 and selected_window to the frame of the window whose mode-lines
2546 are displayed, and to the window itself.
2547 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
2548 here.
2549
2550 2001-09-25 Gerd Moellmann <gerd@gnu.org>
2551
2552 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2553 the image cache under us.
2554
2555 * xdisp.c (display_mode_element): If the mode element is a symbol
2556 with a string value, use that string's multibyteness for displaying.
2557
2558 * keyboard.c (read_char): Don't clear a message for a switch-frame
2559 event. From Stefan Monnier <monnier@cs.yale.edu>.
2560
2561 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2562 version for after 21.1.
2563
2564 * xdisp.c (row_containing_pos): Make externally visible.
2565
2566 * dispextern.h (row_containing_pos): Add prototype.
2567
2568 * process.c (send_process): Disable composition if from_byte < 0.
2569 From Kenichi Handa <handa@etl.go.jp>.
2570
2571 2001-09-24 Gerd Moellmann <gerd@gnu.org>
2572
2573 * xterm.c (refreshicon): Function removed.
2574
2575 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2576
2577 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2578
2579 * xterm.c (toplevel): Remove includes in #if 0.
2580
2581 * process.c (sigchld_handler) [LINUX]: Don't return from
2582 the signal handler at the end of the loop.
2583
2584 2001-09-21 Gerd Moellmann <gerd@gnu.org>
2585
2586 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2587 Terminate only if kill returns -1, and errno is ESRCH.
2588
2589 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
2590
2591 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2592
2593 2001-09-20 Gerd Moellmann <gerd@gnu.org>
2594
2595 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2596 since this function can be called during GC.
2597
2598 * callproc.c (Fcall_process): Handle errors from pipe(2).
2599 (child_setup): Delete code in #ifdef vipc.
2600
2601 2001-09-19 Gerd Moellmann <gerd@gnu.org>
2602
2603 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2604 (display_mode_element): Display the string from decode_mode_spec
2605 depending on its multibyteness.
2606
2607 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2608
2609 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2610
2611 2001-09-18 Gerd Moellmann <gerd@gnu.org>
2612
2613 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2614 recursive_edit_unwind.
2615 (recursive_edit_unwind): Set kboard state according to
2616 SINGLE-KBOARD.
2617
2618 * buffer.c (modify_overlay): Don't do nothing if START == END;
2619 This can still be a modification, for example when an overlay has
2620 a before-string or after-string.
2621 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2622 an overlay with before-string or after-string.
2623
2624 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2625 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2626
2627 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2628 first_unchanged_at_end_row is in front of
2629 last_unchanged_at_beg_row. This code should be removed after the
2630 release of 21.1.
2631
2632 2001-09-17 Gerd Moellmann <gerd@gnu.org>
2633
2634 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2635 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2636
2637 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2638 versions >= 2.95.
2639
2640 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2641
2642 * dired.c (Ffile_attributes): Doc fix.
2643
2644 2001-09-14 Gerd Moellmann <gerd@gnu.org>
2645
2646 * fileio.c (Ffile_symlink_p): Fix last change.
2647
2648 * filelock.c (current_lock_owner): Fix last change.
2649
2650 2001-09-13 Gerd Moellmann <gerd@gnu.org>
2651
2652 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2653 take that to mean that the buffer is too small.
2654
2655 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2656 that to mean that the buffer is too small.
2657
2658 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2659 current buffer's multibyteness when discarding the iterator's
2660 stack.
2661
2662 * xfns.c (Fx_window_property): Handle case that property gets
2663 deleted between the two calls to XGetWindowProperty.
2664
2665 2001-09-11 Gerd Moellmann <gerd@gnu.org>
2666
2667 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
2668
2669 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2670 in addition to read-only.
2671
2672 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2673 to t in addition to read-only.
2674
2675 * lisp.h (Qinhibit_modification_hooks): Declare.
2676
2677 * insdel.c (Qinhibit_modification_hooks): New variable.
2678 (syms_of_insdel): Initialize and staticpro it.
2679
2680 * textprop.c (verify_interval_modification): Don't run
2681 modification-hooks if inhibit_modification_hooks.
2682
2683 * dispnew.c (set_window_cursor_after_update): Fix code
2684 finding glyph row containing cursor when cursor_in_echo_area
2685 is >= 0.
2686
2687 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2688 (add_to_log): Use bcopy instead of strcpy.
2689 (init_from_display_pos): Use an explicit loop over bytes in
2690 overlay strings instead of calling index.
2691
2692 2001-09-10 Gerd Moellmann <gerd@gnu.org>
2693
2694 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2695
2696 * dispnew.c (direct_output_for_insert): Don't change IT's
2697 stop_charpos to something in front of its current position.
2698
2699 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2700 `format'.
2701
2702 2001-09-10 Richard M. Stallman <rms@gnu.org>
2703
2704 * frame.c (Fmouse_position): Doc fix.
2705
2706 2001-09-07 Gerd Moellmann <gerd@gnu.org>
2707
2708 * xdisp.c (init_from_display_pos): Don't compare the result
2709 of calling index with NULL.
2710
2711 2001-09-06 Gerd Moellmann <gerd@gnu.org>
2712
2713 * xfns.c (x_set_background_color): Don't change the colors
2714 of the X window of scroll bar widgets.
2715
2716 2001-09-05 Andrew Innes <andrewi@gnu.org>
2717
2718 * w32fns.c (w32_createwindow): Undo last change.
2719
2720 2001-09-05 Gerd Moellmann <gerd@gnu.org>
2721
2722 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2723
2724 * xdisp.c (string_buffer_position): Use *single_char_property*
2725 functions instead of the *single_property* functions.
2726
2727 2001-09-04 Andrew Innes <andrewi@gnu.org>
2728
2729 * w32term.c (w32_read_socket): Add more information to debugging
2730 output.
2731
2732 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2733 from Emacs frames, so that calls to GetClipBox in w32term.c
2734 correctly report when part of a frame is visible (including
2735 scrollbars, etc). This prevents repeated redrawing of frames when
2736 only a scrollbar is visible.
2737 (w32_wnd_proc): Add more frame information to debugging output.
2738
2739 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2740
2741 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2742
2743 2001-09-03 Gerd Moellmann <gerd@gnu.org>
2744
2745 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2746 help-echo for a string which doesn't have help-echo itself, use
2747 get-char-property to obtain the help-echo from the string's buffer
2748 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2749 have mouse-face, look ``under'' the string for mouse-face from an
2750 overlay.
2751 (fast_find_position): Add parameter STOP. In the final row, stop
2752 before glyphs having STOP as object. Don't consider glyphs that
2753 are not from a buffer.
2754
2755 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2756
2757 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2758
2759 * fns.c (Fmd5): Doc fix.
2760
2761 2001-08-31 Gerd Moellmann <gerd@gnu.org>
2762
2763 * composite.c (update_compositions): Do nothing if
2764 inhibit-modification-hooks is set.
2765
2766 2001-08-30 Gerd Moellmann <gerd@gnu.org>
2767
2768 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
2769 and check_message_stack if terminating abnormally. We want
2770 glyph matrices etc. in a core dump.
2771
2772 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2773 (syms_of_xdisp): Initialize them.
2774 (handle_single_display_prop): Don't change point, bind `object',
2775 `position', and `buffer-position' instead to the object having the
2776 `display' property, position in the object and position in the buffer.
2777
2778 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2779 of the buffer if REPLACE is non-nil.
2780
2781 2001-08-29 Gerd Moellmann <gerd@gnu.org>
2782
2783 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2784
2785 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2786
2787 * w32term.c (x_set_glyph_string_background_width)
2788 (show_mouse_face): Track the last changes in xterm.c.
2789
2790 2001-08-28 Gerd Moellmann <gerd@gnu.org>
2791
2792 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2793 string's background width so that multi-line mouse-face is drawn
2794 to the right edge of the window.
2795 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2796 glyphs.
2797
2798 * dispnew.c (direct_output_for_insert): Set updated_area
2799 before inserting/writing glyphs.
2800
2801 * xdisp.c (display_mode_element): Use string_byte_to_char to
2802 determine character positions in strings, use chars_in_text
2803 instead of strwidth.
2804 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2805 a matrix as parameter; this is easier to use from GDB.
2806
2807 2001-08-28 Miles Bader <miles@gnu.org>
2808
2809 * textprop.c (Fprevious_single_char_property_change)
2810 (Fnext_single_char_property_change): Doc fixes.
2811
2812 2001-08-27 Gerd Moellmann <gerd@gnu.org>
2813
2814 * fileio.c (Finsert_file_contents): Allocate, restore, and
2815 free composition data in the case of REPLACE not being nil.
2816
2817 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2818 there exist overlay strings with newlines at POS.
2819 (text_outside_line_unchanged_p): Return 0 if changes start at
2820 START and overlays exist at START. Likewise for END.
2821 (try_window_id): Give up if init_to_row_end returns 0.
2822
2823 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2824 unconditionally.
2825
2826 2001-08-24 Gerd Moellmann <gerd@gnu.org>
2827
2828 * keymap.c (access_keymap): Return the cdr of the binding of
2829 a generic character instead of its definition (KEY . BINDING).
2830
2831 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2832 to 0 also in the REPLACE case.
2833
2834 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2835
2836 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2837 open to determine whether file is readable (as for DOS_NT).
2838
2839 2001-08-23 Gerd Moellmann <gerd@gnu.org>
2840
2841 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2842 coding.type is coding_type_no_conversion or coding_type_raw_text,
2843 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2844 non-nil instead of just setting enable_multibyte_characters in the
2845 buffer to nil.
2846
2847 2001-08-22 Gerd Moellmann <gerd@gnu.org>
2848
2849 * dispextern.h (struct face_cache): Add member
2850 menu_face_changed_p.
2851
2852 * xfaces.c (menu_face_changed_default): New variable.
2853 (menu_face_changed_count): Variable removed.
2854 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2855 the menu_face_changed_default flag, otherwise set the FRAME's
2856 menu_face_changed_p flag if the `menu' face has been changed.
2857 Prevent calling set_font_frame_param if FRAME is t.
2858 (make_face_cache): Initialize cache's menu_face_changed_p
2859 from menu_face_changed_default.
2860 (realize_basic_faces): Look into the frame's face cache to
2861 determine if the menu appearance needs updating.
2862
2863 * keymap.c (access_keymap): Fix last change to not consider
2864 IDX when it has modifiers.
2865
2866 2001-08-21 Gerd Moellmann <gerd@gnu.org>
2867
2868 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2869 . BINDING) exists, where GENERIC-CHAR is the generic character of
2870 the charset of IDX, return BINDING unless there exists a binding
2871 for IDX itself.
2872
2873 2001-08-16 Gerd Moellmann <gerd@gnu.org>
2874
2875 * xrdb.c (SYSV): Don't define on Solaris 2.
2876 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2877
2878 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2879 of the screen line, not text line, containing IT's current position.
2880
2881 2001-08-15 Gerd Moellmann <gerd@gnu.org>
2882
2883 * window.c (window_scroll_pixel_based): Don't recenter if
2884 PT is partially visible in the window.
2885
2886 * xterm.c (expose_window_tree, expose_window, expose_line):
2887 Return 1 when overwriting mouse-face.
2888 (expose_frame): If mouse-face was overwritten, redo it.
2889
2890 * xfaces.c (x_update_menu_appearance): Don't call
2891 set_frame_menubar, let the next redisplay do it.
2892
2893 2001-08-14 Andrew Innes <andrewi@gnu.org>
2894
2895 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2896 drawing glyph string.
2897
2898 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2899
2900 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2901 running HI-UX/MPP.
2902
2903 2001-08-14 Gerd Moellmann <gerd@gnu.org>
2904
2905 * xfaces.c (x_update_menu_appearance): Save and restore value of
2906 interrupt_input_blocked.
2907
2908 2001-08-13 Gerd Moellmann <gerd@gnu.org>
2909
2910 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2911 a line start, move back to the line start.
2912
2913 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2914 exactly when a mini-buffer is active.
2915
2916 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2917 in units of 1/8 character on non window-system frames.
2918 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2919
2920 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2921
2922 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2923 a doc string.
2924
2925 2001-08-09 Gerd Moellmann <gerd@gnu.org>
2926
2927 * keyboard.c (Vpre_help_message): New variable.
2928 (syms_of_keyboard): Initialize and staticpro it.
2929 (show_help_echo): Record current message before displaying a
2930 help-echo, and restore that message when clearing the help.
2931
2932 * xfns.c (x_create_im): Remove prototype.
2933
2934 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2935
2936 * dispnew.c (adjust_glyph_matrix): Undo last change.
2937
2938 2001-08-08 Gerd Moellmann <gerd@gnu.org>
2939
2940 * dispnew.c (adjust_glyph_matrix): In the optimization for
2941 windows whose height has changed, disable partially visible lines.
2942
2943 2001-08-07 Gerd Moellmann <gerd@gnu.org>
2944
2945 * window.c (Frecenter): If ARG < 0, and on a window system
2946 frame, count in some empty lines when we can't move -ARG lines down.
2947
2948 * xdisp.c (start_display): Don't try to determine the continuation
2949 lines width if lines are truncated. It's superfluous and leads to
2950 incorrect results if POS is not visible in the window after
2951 reseating the iterator at the previous line start.
2952
2953 2001-08-06 Gerd Moellmann <gerd@gnu.org>
2954
2955 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2956
2957 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2958
2959 * alloc.c (init_stack): Remove declaration.
2960
2961 2001-08-03 Gerd Moellmann <gerd@gnu.org>
2962
2963 * keyboard.c (read_key_sequence): Check that key is an integer
2964 before comparing it with quit_char.
2965 (add_command_key): Use larger_vector.
2966 (read_char_x_menu_prompt): Instead of converting symbol and
2967 integer events into conses (EVENT . nil), use (EVENT . disabled)
2968 which cannot be confused with valid events.
2969 (read_char): When reading from Vunread_command_events, check for
2970 events of the form (EVENT . disabled) instead of
2971 (EVENT . nil).
2972
2973 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2974 a float, determine the max height from the frame's height.
2975
2976 2001-08-02 Gerd Moellmann <gerd@gnu.org>
2977
2978 * xdisp.c (redisplay_internal): Take message_cleared_p into
2979 account only if minibuf_level == 0.
2980
2981 2001-08-01 Gerd Moellmann <gerd@gnu.org>
2982
2983 * xdisp.c (redisplay_internal): Add a check for the last
2984 displayed message.
2985
2986 * xdisp.c (message_cleared_p): New variable.
2987 (clear_message): Set message_cleared_p when clearing the current
2988 message.
2989 (redisplay_internal): Look at message_cleared_p to capture
2990 the case that the echo area should be cleared.
2991
2992 * keyboard.c (command_loop_1): Fix spelling of
2993 resize_echo_area_exactly.
2994
2995 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
2996
2997 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2998
2999 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3000 current matrix when the window gets smaller.
3001
3002 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3003
3004 * print.c (strout): Cast the character passed to insert_char to
3005 unsigned char, to avoid sign extension when it is promoted to int.
3006
3007 2001-07-31 Gerd Moellmann <gerd@gnu.org>
3008
3009 * fileio.c (Finsert_file_contents): Don't treat a return value
3010 of 0 from emacs_read as an IO error.
3011
3012 2001-07-30 Gerd Moellmann <gerd@gnu.org>
3013
3014 * keyboard.c (abs): New macro.
3015 (double_click_fuzz): New variable.
3016 (make_lispy_event): Use it to determine what makes a double-click.
3017 (syms_of_keyboard): DEFVAR_INT it.
3018
3019 * xmenu.c (set_frame_menubar): Take into account that
3020 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3021 <raeburn@gnu.org>.
3022
3023 2001-07-27 Gerd Moellmann <gerd@gnu.org>
3024
3025 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3026
3027 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3028 of row's visible height.
3029
3030 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3031 deal with the first overlay string having an image `display' property.
3032 (try_window_reusing_current_matrix, compute_line_metrics):
3033 Fix computation of row's visible height for the case that part of the
3034 row is invisible above and part of the row is at the same time
3035 invisible below the window.
3036
3037 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3038
3039 * xfns.c (x-show-tip): Doc fix.
3040
3041 * xfns.c (Vx_max_tooltip_size): New variable.
3042 (syms_of_xfns): DEFVAR_LISP it.
3043 (Fx_show_tip): Set frame's window_width to the width of the
3044 window. Use a maximum tooltip size specified by
3045 Vx_max_tooltip_size, if that has valid contents.
3046 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3047
3048 2001-07-26 Andrew Innes <andrewi@gnu.org>
3049
3050 * w32term.c (x_display_list): New variable.
3051 (w32_term_init): Set it.
3052
3053 * w32term.h (x_display_list): New extern.
3054
3055 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3056
3057 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3058 is non-nil, instead of when redisplaying_p is non-zero.
3059 See comment there.
3060 (mark_window_display_accurate_1): Add an assertion.
3061
3062 2001-07-25 Gerd Moellmann <gerd@gnu.org>
3063
3064 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3065
3066 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3067 events so that we get a chance of processing expose events.
3068
3069 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3070
3071 2001-07-24 Gerd Moellmann <gerd@gnu.org>
3072
3073 * xfns.c (valid_image_p): Protect better against invalid image
3074 specifications. Previous code could signal an error.
3075
3076 2001-07-23 Gerd Moellmann <gerd@gnu.org>
3077
3078 * indent.c (current_column): Fix column computation in the
3079 presence of display table entries.
3080 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3081
3082 * dispnew.c (adjust_glyph_matrix): In the optimization for
3083 windows whose height has changed, use the new window height
3084 to compute which rows to invalidate.
3085
3086 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3087 (MAX_10_EXP): New macro.
3088 (Fformat): Use it.
3089
3090 * coding.c (code_convert_region): Handle the multibyte case if
3091 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3092
3093 2001-07-20 Gerd Moellmann <gerd@gnu.org>
3094
3095 * dispextern.h (struct face): Change type of `stipple' to
3096 int; it's an ID.
3097
3098 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3099
3100 2001-07-19 Gerd Moellmann <gerd@gnu.org>
3101
3102 * dispnew.c (update_window): Don't set the cursor at the end
3103 of the update if display update has been paused.
3104
3105 * composite.h (syms_of_composite): Renamed from syms_of_composition.
3106
3107 2001-07-18 Ken Raeburn <raeburn@gnu.org>
3108
3109 * fns.c (Fset_char_table_default): Check that a charset is defined
3110 before checking its dimension.
3111
3112 2001-07-17 Ken Raeburn <raeburn@gnu.org>
3113
3114 * coding.c (setup_coding_system): Don't do any designation based
3115 on reg_bits if charset is not yet defined.
3116
3117 * lisp.h (XVECTOR): Verify correct object type before returning a
3118 pointer, using eassert.
3119
3120 2001-07-17 Gerd Moellmann <gerd@gnu.org>
3121
3122 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3123 Increase to 4096 because of paste problems reported on GNU/Linux.
3124
3125 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3126
3127 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3128
3129 2001-07-16 Gerd Moellmann <gerd@gnu.org>
3130
3131 * fileio.c (unwind_read): Function removed.
3132 (read_non_regular, read_non_regular_quit): New functions.
3133 (Finsert_file_contents): When reading from non-regular files,
3134 arrange to catch a `quit' and terminate the loop. Rearrange
3135 code so that a `quit' when reading from a regular file doesn't
3136 insert text in the buffer.
3137
3138 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3139 Clear faces afterwards.
3140 (clear_font_table): Take a x_display_info parameter. Don't free
3141 fonts being the default font of any frame on the given display.
3142
3143 2001-07-13 Gerd Moellmann <gerd@gnu.org>
3144
3145 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3146 instead of CHAR_STRING which can signal an error.
3147
3148 * charset.c (char_to_string_1): Extracted from char_to_string.
3149 Return -1 instead of signaling an error.
3150 (char_to_string): Use it.
3151
3152 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3153
3154 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3155
3156 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3157 is t, don't try to append anything to it.
3158
3159 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3160
3161 * dired.c (file_name_completion): Pass dp->d_name to
3162 Fstring_match, not elt, which is always nil here.
3163
3164 2001-07-12 Gerd Moellmann <gerd@gnu.org>
3165
3166 * xselect.c (x_decline_selection_request): Handle errors
3167 caused by receivers that have vanished.
3168
3169 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3170 ignoring events on foreign windows in #if 0. Always dispatch
3171 the event after checking it with x_handle_property_notify.
3172
3173 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
3174 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3175 TRACE macros to facilitate debugging. Add additional trace statements.
3176 (toplevel): Add prototypes for file-local functions.
3177 (x_atom_to_symbol): Remove DPYINFO parameter.
3178
3179 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3180
3181 * w32menu.c (menubar_selection_callback, w32_menu_show):
3182 Initialize `entry' to nil.
3183 (w32_dialog_show): Remove unused `save_wv' variable.
3184 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3185
3186 2001-07-11 Gerd Moellmann <gerd@gnu.org>
3187
3188 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3189
3190 * fileio.c (unwind_read): Print a message when discarding inserted
3191 text or switching the buffer to unibyte. Change parameter.
3192 (Finsert_file_contents): Don't pass VISIT to unwind_read.
3193
3194 * fileio.c (unwind_read): New function.
3195 (Finsert_file_contents): Record it as unwind-function for
3196 the case that reading is interrupted by C-g.
3197
3198 2001-07-10 Gerd Moellmann <gerd@gnu.org>
3199
3200 * dispnew.c (update_window): Don't skip the header-line
3201 update when scrolling_window returns 0.
3202
3203 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3204
3205 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
3206 for the case that x_decode_color signals an error.
3207
3208 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3209
3210 2001-07-09 Gerd Moellmann <gerd@gnu.org>
3211
3212 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3213 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3214 around ioctls.
3215
3216 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3217
3218 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3219 doc string line for dos-timezone-offset.
3220
3221 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3222 inline assembly, to avoid compiler warnings.
3223 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3224 line for dos-unsupported-char-glyph.
3225
3226 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3227
3228 2001-07-05 Gerd Moellmann <gerd@gnu.org>
3229
3230 * sound.c: Include Emacs' header files with #include "...".
3231
3232 * eval.c (specbind): Additionally record the buffer that was
3233 current when a buffer-local or frame-local variable was bound.
3234
3235 2001-07-04 Gerd Moellmann <gerd@gnu.org>
3236
3237 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3238 to unibyte characters in unibyte buffers.
3239
3240 2001-07-03 Gerd Moellmann <gerd@gnu.org>
3241
3242 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3243 the frame on the binding stack. Change format of entries for
3244 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3245 (unbind_to): Handle unbinding a frame-local variable.
3246
3247 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
3248 glyphs and truncation glyphs at the end of a row from its pixel width.
3249 (dump_glyph_row): Print row's continuation_lines_width.
3250 (try_window_id): Take the shortcut if ZV is visible in the
3251 window, but there are actually no changes at ZV.
3252
3253 2001-07-02 Gerd Moellmann <gerd@gnu.org>
3254
3255 * xterm.h (x_free_dpy_colors): Add prototype.
3256
3257 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3258 right number of arguments.
3259
3260 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3261 ($(lwlibdir)TAGS): New target.
3262 (TAGS): Fix dependency list.
3263
3264 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3265 with input blocked.
3266
3267 2001-06-30 Gerd Moellmann <gerd@gnu.org>
3268
3269 * emacs.c (main): Remove extern declaration for sys_nerr, which
3270 isn't used and causes a compilation error with GCC 3.0 on
3271 FreeBSD 4.3.
3272
3273 2001-06-27 Gerd Moellmann <gerd@gnu.org>
3274
3275 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3276 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
3277 (toplevel): Include <signal.h> and syssignal.h.
3278
3279 * sound.c (vox_configure, vox_close): Turn off atimers
3280 around ioctls.
3281
3282 2001-06-26 Gerd Moellmann <gerd@gnu.org>
3283
3284 * keyboard.c (read_char) <non_reread>: Record the previous idle
3285 start time before calling timer_stop_idle.
3286 (read_char) <reread_first>: After processing a help-echo event,
3287 restore the previous idle start time.
3288
3289 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3290 the start of invisible text.
3291 (setup_for_ellipsis): New function.
3292 (next_overlay_string): After all overlay strings have been
3293 processed, display an ellipsis if necessary.
3294 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3295 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3296
3297 * dispextern.h (struct iterator_stack_entry): Add member
3298 display_ellipsis_p.
3299
3300 2001-06-25 Gerd Moellmann <gerd@gnu.org>
3301
3302 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3303 on the value of the wait-for-wm frame parameter.
3304
3305 * xterm.h (struct x_output): Add member wait_for_wm.
3306
3307 * xfns.c (Qwait_for_wm): New variable.
3308 (x_frame_parms): Add entry for `wait-for-wm".
3309 (x_set_wait_for_wm): New function.
3310 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3311 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3312
3313 * xdisp.c (try_window_id) <all changes below window end>: Don't
3314 take this shortcut if ZV is visible in the window.
3315 (try_window_id): When checking for window start being in changed
3316 text, don't check that the buffer's size has changed.
3317
3318 2001-06-23 Richard M. Stallman <rms@gnu.org>
3319
3320 * minibuf.c (Fcompleting_read): Doc fix.
3321
3322 2001-06-19 Gerd Moellmann <gerd@gnu.org>
3323
3324 * composite.c (Ffind_composition_internal): Accept ZV
3325 and a string's end position as POS.
3326
3327 2001-06-18 Gerd Moellmann <gerd@gnu.org>
3328
3329 * composite.c (Ffind_composition_internal): Check POS
3330 for validity.
3331
3332 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3333
3334 * editfns.c (Fmessage_box): If the frame is not under a window
3335 system, output the message in the echo area.
3336
3337 2001-06-14 Richard M. Stallman <rms@gnu.org>
3338
3339 * xdisp.c (try_window_id): When EOB is visible, don't treat
3340 insertion at EOB as if it were "off the bottom of the screen."
3341
3342 2001-06-11 Andrew Innes <andrewi@gnu.org>
3343
3344 * w32proc.c (create_child): Add new parameter is_gui_app.
3345 (w32_executable_type): Add new parameter is_gui_app.
3346 (sys_spawnve): Use it.
3347 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3348 SIGQUIT. This matches better how the signals are interpreted by
3349 MSVC compiled programs.
3350 (syms_of_ntproc): Update docstring.
3351
3352 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3353
3354 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3355 well otherwise note_mouse_highlight might optimize away highlighting
3356 if we pass over that same overlay again.
3357
3358 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3359
3360 * lread.c (Fload): Document that the argument is run via
3361 substitute-in-file-name.
3362
3363 2001-05-31 Gerd Moellmann <gerd@gnu.org>
3364
3365 * Makefile.in (bootstrap-doc): New target.
3366 (bootstrap-emacs): Depend on it.
3367
3368 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3369 auto-save-list-file-name when shutting down Emacs, because
3370 creating the directory might signal an error, and leaves
3371 Emacs in a strange state.
3372
3373 * term.c: (tty_cursor_hidden): New variable.
3374 (update_begin): Don't call tty_hide_cursor. Clean up.
3375 (update_end, set_terminal_window, set_scroll_region): Clean up.
3376 (ring_bell, reset_terminal_modes): Clean up.
3377 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3378 on tty_cursor_hidden.
3379 (write_glyphs): Call tty_hide_cursor.
3380
3381 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3382
3383 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3384
3385 2001-05-30 Gerd Moellmann <gerd@gnu.org>
3386
3387 * xfns.c (enum image_value_type): New enumerator
3388 IMAGE_STRING_OR_NIL_VALUE.
3389 (parse_image_spec): Handle it.
3390 (xbm_format, pbm_format): Use it for :foreground and :background.
3391 (xbm_load, pbm_load): Check for nil color names.
3392
3393 * xterm.c (note_mouse_highlight): If an overlapping overlay
3394 exists, but we find that we highlight the same overlay as before,
3395 don't do the highlighting again.
3396
3397 2001-05-29 Gerd Moellmann <gerd@gnu.org>
3398
3399 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3400 Protect unibyte strings created by replacing their multibyte
3401 equivalents in menu_items.
3402
3403 * keymap.c (Fsingle_key_description): NUL-terminate the string
3404 buffer before calling build_string.
3405
3406 * callproc.c (Fcall_process): Deal with decode_coding returning
3407 CODING_FINISH_INCONSISTENT_EOL.
3408
3409 2001-05-28 Gerd Moellmann <gerd@gnu.org>
3410
3411 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3412 an item's name with its key description in case the description
3413 is a multibyte string.
3414
3415 * keymap.c (Fsingle_key_description): Create a multibyte string
3416 only if necessary.
3417
3418 * macros.c (Fstart_kbd_macro): Doc fix.
3419
3420 * xterm.c (cursor_in_mouse_face_p): New function.
3421 (x_draw_stretch_glyph_string): Use it to choose a different GC
3422 when drawing a cursor within highlighted text.
3423
3424 * editfns.c (char_property_eq): Put in #if 0.
3425
3426 * indent.c (string_display_width): Put in #if 0.
3427
3428 * lread.c (Fload): Remove unused label.
3429
3430 * termcap.c (speeds): Put in #if 0.
3431
3432 2001-05-18 Gerd Moellmann <gerd@gnu.org>
3433
3434 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3435
3436 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3437 transformation matrix by 10.
3438
3439 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3440
3441 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3442 only if it's equal to the former foreground pixel color.
3443 (x_set_foreground_color, x_set_background_color)
3444 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3445
3446 2001-05-16 Dave Love <fx@gnu.org>
3447
3448 * insdel.c (signal_before_change, signal_after_change): Consider a
3449 local change hook which changes the buffer.
3450
3451 * process.c (read_process_output): Don't call signal_after_change
3452 and update_compositions after insert_from_string_before_markers.
3453
3454 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3455
3456 * xfaces.c (split_font_name): Use the right field when
3457 checking for `[...]' syntax.
3458
3459 * buffer.c (copy_overlays): New function.
3460 (clone_per_buffer_values): Use it.
3461
3462 * buffer.h (OVERLAY_PLIST): New macro.
3463
3464 * keymap.c (Fsingle_key_description): Replace a build_string with
3465 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3466
3467 * fontset.c (Ffontset_info): Check that face is non-null
3468 before accessing its fields.
3469
3470 2001-05-15 Gerd Moellmann <gerd@gnu.org>
3471
3472 * keyboard.c (read_key_sequence): Prevent generating a fake
3473 prefix key twice.
3474
3475 * xfaces.c (split_font_name): Handle `[...]' for the right
3476 font name fields.
3477
3478 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3479 of CCL_STAT_INVALID_CMD.
3480
3481 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3482
3483 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3484 in <var> has no default value yet.
3485
3486 * xfaces.c (try_alternative_families): First try the FAMILY.
3487 And if nothing is found in the end, try again with scalable fonts.
3488 (try_font_list): Let try_alternative_families do a bit more of
3489 the work. Only use FAMILY if it is not nil.
3490 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3491
3492 2001-05-14 Gerd Moellmann <gerd@gnu.org>
3493
3494 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3495 pointer shape when show_mouse_face has already done it.
3496
3497 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
3498 full-width rows.
3499
3500 * xfaces.c (split_font_name): Make sure to leave the loop
3501 with the right value of `i'.
3502
3503 * xfaces.c (split_font_name): Handle matrix transformations
3504 in the pixel and point size fields of XLFD font names.
3505 (xlfd_point_size): Likewise.
3506
3507 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3508
3509 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
3510 (x_to_w32_font): Add prototype.
3511
3512 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3513 redefining, to avoid compiler warnings.
3514
3515 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3516
3517 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3518 (w32_get_bdf_glyph): Cast between unsigned char and char when
3519 passing arguments to subroutines, to shut up compiler warnings.
3520 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3521 GET_HEX_VAL.
3522
3523 * xfaces.c: Include keyboard.h before frame.h, not after it.
3524
3525 * widget.c: Include keyboard.h before frame.h.
3526
3527 * w32term.h (struct image, struct face): Forward declaration, to
3528 avoid compiler warnings.
3529
3530 2001-05-11 Gerd Moellmann <gerd@gnu.org>
3531
3532 * keyboard.c (read_key_sequence): Don't modify events when
3533 generating fake prefix keys (mode-line, scroll-bar, ...) since
3534 this prevents proper processing of such events when pushed back
3535 into unread-command-events.
3536
3537 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3538 actually redrawn. Make the function static.
3539 (note_mouse_highlight): Fix a case where the mouse cursor
3540 was changed back to the text cursor.
3541
3542 * xterm.h (clear_mouse_face): Remove prototype.
3543
3544 * xdisp.c (try_window_id): Fix the fix and set the right
3545 window_end_vpos.
3546
3547 * xdisp.c (try_window_id): Fix computation of window end in the
3548 case that lines were deleted at the end of the window. Add some
3549 more debug_method_adds.
3550
3551 * xfaces.c (try_alternative_families): New function.
3552 (try_font_list): Use it. If ATTRS specifies a family, check
3553 fonts from that family first.
3554 (choose_face_font): Remove code setting the family part of
3555 the pattern to nil.
3556
3557 2001-05-10 Gerd Moellmann <gerd@gnu.org>
3558
3559 * xdisp.c (try_window_id): Fix case of all changes before
3560 the window start.
3561
3562 * xdisp.c (try_window_id): Add some xasserts.
3563
3564 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3565
3566 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3567
3568 2001-05-09 Dave Love <fx@gnu.org>
3569
3570 * xdisp.c (GIVE_UP): Fix for K&R C.
3571
3572 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3573
3574 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3575
3576 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3577 back to the text cursor shape without need.
3578
3579 2001-05-07 Gerd Moellmann <gerd@gnu.org>
3580
3581 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3582
3583 * dispextern.h (inverse_video): Declare extern.
3584
3585 * keyboard.c (delete_kboard): Handle the case that selected_frame
3586 has been deleted in the course of x_connection_closed.
3587
3588 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3589
3590 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3591 Fix the change from 2001-04-30.
3592
3593 2001-05-03 Gerd Moellmann <gerd@gnu.org>
3594
3595 * xfns.c (file_dialog_unmap_cb): New function.
3596 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3597 where a dialog is closed via the window manager.
3598
3599 * xdisp.c (try_window_id): Cases of changes all in front of
3600 the window start or all below the window end mostly rewritten.
3601 (redisplay_window): Move the tests if try_window_id is
3602 applicable to try_window_id.
3603 (GIVE_UP): New macro.
3604
3605 2001-05-02 Gerd Moellmann <gerd@gnu.org>
3606
3607 * xterm.c (expose_window): Return int. If W is the window
3608 currently being updated, mark the frame garbaged.
3609 Fix computation of rows intersecting the exposed rectangle.
3610 (expose_window_tree): Stop when expose_window returns 0.
3611
3612 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3613 again if it has already been drawn.
3614
3615 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3616
3617 * syntax.c (update_syntax_table): Check that oldi has the same
3618 properties as old_prop before deciding not to invalidate.
3619
3620 2001-04-30 Gerd Moellmann <gerd@gnu.org>
3621
3622 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3623 read-only text that is so because of text properties.
3624
3625 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
3626 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
3627 windows that are components of a Lucid menu bar.
3628
3629 2001-04-27 Gerd Moellmann <gerd@gnu.org>
3630
3631 * term.c (turn_on_face): Fix reverse video handling on terminals
3632 that don't support colors.
3633
3634 2001-04-26 Gerd Moellmann <gerd@gnu.org>
3635
3636 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3637 a non-buffer.
3638
3639 2001-04-25 Gerd Moellmann <gerd@gnu.org>
3640
3641 * term.c (toggle_highlight): New function.
3642 (turn_on_face): Change handling of reverse video.
3643
3644 * process.c (wait_reading_process_input):
3645 Call record_asynch_buffer_change only if a timer really changed buffers.
3646
3647 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3648 of the number of overlays to check.
3649
3650 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3651
3652 * xdisp.c (try_window_id): Fix a case where window_end_pos
3653 and window_end_bytepos were not adjusted.
3654
3655 2001-04-23 Gerd Moellmann <gerd@gnu.org>
3656
3657 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3658 zero instead of -1.
3659
3660 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3661
3662 * process.c (wait_reading_process_input) [!subprocesses]:
3663 Don't reference waiting_for_user_input_p, it's not defined in the
3664 branch without async subprocesses support.
3665
3666 2001-04-19 Gerd Moellmann <gerd@gnu.org>
3667
3668 * keyboard.c (delete_kboard): Prevent a dangling reference
3669 from current_kboard to KB, which is freed.
3670
3671 * process.c (wait_reading_process_input):
3672 Call record_asynch_buffer_change after running timers, to make
3673 read_key_sequence aware of buffer changes from under it.
3674
3675 2001-04-18 Gerd Moellmann <gerd@gnu.org>
3676
3677 * xfaces.c (Qscalable_fonts_allowed): New variable.
3678 (realizing_basic_faces_p): Removed.
3679 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3680 removed.
3681 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
3682 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3683 for scalable-fonts-allowed to t.
3684
3685 * fileio.c (Finsert_file_contents): If the file size returned from
3686 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
3687 read from files on a procfs whose contents are generated dynamically.
3688
3689 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3690
3691 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3692 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3693 (__memalign_hook): Make the two prototypes consistent.
3694
3695 2001-04-17 Gerd Moellmann <gerd@gnu.org>
3696
3697 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3698 matrix of mini-windows.
3699
3700 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3701
3702 * intervals.c (find_interval): Don't rebalance during signal handling.
3703
3704 2001-04-11 Gerd Moellmann <gerd@gnu.org>
3705
3706 * fns.c: Include blockinput.h.
3707
3708 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3709
3710 2001-04-10 Gerd Moellmann <gerd@gnu.org>
3711
3712 * fns.c (Fcompare_strings): Fix return values.
3713
3714 * window.c (window_scroll): Change the meaning of N to mean
3715 N screen-fulls or N lines.
3716 (window_scroll_pixel_based, window_scroll_line_based)
3717 (scroll_command, Fscroll_other_window): Change accordingly.
3718
3719 * window.c (window_scroll_pixel_based, Frecenter):
3720 Call window_box_height instead of using it.last_visible_y for the
3721 height of the window.
3722
3723 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3724 instead of using it.last_visible_y for the height of the window.
3725
3726 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
3727 From Dan Holmsand <dan@eyebee.com>.
3728
3729 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
3730 able to write to hidden and system files. From Dan Holmsand
3731 <dan@eyebee.com>.
3732
3733 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3734 Holmsand <dan@eyebee.com>.
3735
3736 2001-04-09 Gerd Moellmann <gerd@gnu.org>
3737
3738 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3739
3740 * window.c (window_internal_height): Return 1 less if the
3741 window has a header line.
3742
3743 * xdisp.c (try_window_id): When scrolling on a terminal, take
3744 the change of window_internal_height into account.
3745
3746 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3747
3748 * gmalloc.c (align): If the argument SIZE would overflow
3749 __malloc_ptrdiff_t, fail right away.
3750
3751 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3752
3753 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3754 Make sure the tooltip is completely visible.
3755 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3756
3757 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3758
3759 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3760
3761 2001-04-06 Dave Love <fx@gnu.org>
3762
3763 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3764 Fix test of `from'.
3765
3766 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3767
3768 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
3769
3770 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3771
3772 2001-04-05 Gerd Moellmann <gerd@gnu.org>
3773
3774 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3775
3776 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
3777
3778 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3779 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3780
3781 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3782 shell widget's position only if it is non-null.
3783
3784 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3785 Set f->output_data.x->widget to null after destroying it.
3786
3787 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3788 FILENAME to bring it in synch with the documentation.
3789
3790 * xfaces.c (realizing_basic_faces_p): Renamed from
3791 realize_default_face_p.
3792 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3793 (realize_default_face): Don't set the flag.
3794
3795 2001-04-04 Gerd Moellmann <gerd@gnu.org>
3796
3797 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3798
3799 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3800
3801 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3802 the buffer that was used for echoing.
3803
3804 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3805 (first_font_matching): Removed unused function.
3806 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3807 (may_use_scalable_font_p): Remove parameter FONT; rename
3808 parameter NAME to FONT.
3809 (x_face_list_fonts): Fix missing bounds check.
3810 (realizing_default_face_p): New variable.
3811 (realize_default_face): Set and clear that flag.
3812 (x_face_list_fonts): When called during the realization of the
3813 default face, and no matching fonts are found when ignoring
3814 scalable fonts and fonts matching a regexp from
3815 face-ignored-fonts, try without ignoring fonts.
3816
3817 2001-04-03 Gerd Moellmann <gerd@gnu.org>
3818
3819 * xfns.c (postprocess_image): New function.
3820 (lookup_image): Call it for all image types except PostScript.
3821 (x_kill_gs_process): Call postprocess_image.
3822
3823 * xterm.c (x_use_underline_position_properties): New variable.
3824 (x_draw_glyph_string): Use it.
3825 (syms_of_xterm): DEFVAR_BOOL it.
3826
3827 2001-04-02 Gerd Moellmann <gerd@gnu.org>
3828
3829 * xterm.c (x_alloc_nearest_color_1): New function.
3830 (x_alloc_nearest_color): Use it.
3831 (x_color_cells): Take a Display as argument, instead of a frame.
3832 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3833 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3834 (x_initialize): Register cvt_string_to_pixel as resource converter
3835 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3836
3837 2001-03-30 Gerd Moellmann <gerd@gnu.org>
3838
3839 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3840 (set_iterator_to_next): If a string from a display property ends,
3841 consider the case that this might also be the end of an
3842 overlay string having the display property.
3843
3844 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
3845
3846 * xdisp.c (reseat_to_string): Undo last change.
3847
3848 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3849 matrix of a window when the header line changes, when
3850 new rows are allocated, or when the width changes.
3851
3852 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3853
3854 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
3855
3856 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3857
3858 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3859 deprecated.
3860
3861 2001-03-29 Gerd Moellmann <gerd@gnu.org>
3862
3863 * data.c (Fsubr_interactive_form): New function.
3864 (syms_of_data): Defsubr it.
3865
3866 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3867 (live_float_p, live_misc_p): Return 1 only if the offset of the
3868 pointer in its block is >= 0.
3869
3870 2001-03-28 Paul Eggert <eggert@twinsun.com>
3871
3872 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3873 microseconds calcuation. Avoid double-rounding problem.
3874 In doc string, warn that the result is approximate.
3875
3876 2001-03-28 Gerd Moellmann <gerd@gnu.org>
3877
3878 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3879 bind `inhibit-eval-during-redisplay' to t.
3880
3881 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3882
3883 * xdisp.c (inhibit_eval_during_redisplay)
3884 (Qinhibit_eval_during_redisplay): New variables.
3885 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3886 don't eval, return nil instead.
3887 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3888 Initialize Qinhibit_eval_during_redisplay.
3889
3890 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3891 the iterator's multibyte_p flag.
3892
3893 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3894 instead of setting it to zero; it's incremented for each frame
3895 where the menu face is changed.
3896
3897 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3898 change bottom shadow accordingly.
3899
3900 * xterm.c (expose_window_tree, expose_frame): Don't compute
3901 intersections here.
3902 (expose_window): Do it here instead.
3903 (x_draw_glyph_string): Fix a computation of the underline position.
3904
3905 * bytecode.c (BYTE_CODE_QUIT): New macro.
3906 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3907
3908 2001-03-27 Gerd Moellmann <gerd@gnu.org>
3909
3910 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3911 Give up if matrix starts in an ellipsis.
3912 (init_from_display_pos): Do nothing if POS doesn't specify
3913 a dpvec_index but the iterator has such a position.
3914
3915 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3916
3917 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3918 x/y position is (0, 0) after destroying the menu bar, restore
3919 its original position.
3920
3921 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3922 (init_from_display_pos): Use it.
3923 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3924
3925 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3926
3927 * xdisp.c (try_window_id): Undo last change.
3928
3929 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3930
3931 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3932
3933 * buffer.c (syms_of_buffer): Doc fix.
3934
3935 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3936
3937 * xfaces.c (x_update_menu_appearance): Use local variable
3938 popup_path for setting font resources.
3939
3940 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3941
3942 * frame.c (Fframe_list): Don't reference tip_frame if
3943 HAVE_WINDOW_SYSTEM is not defined.
3944
3945 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3946 <wl@gnu.org>.
3947
3948 2001-03-25 Gerd Moellmann <gerd@gnu.org>
3949
3950 * xdisp.c (init_from_display_pos): Test invisible property
3951 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
3952
3953 * xdisp.c (redisplay_internal) <update one window>: Make sure
3954 last_arrow_position and last_arrow_string are set.
3955
3956 * frame.c (Fframe_list): Don't return a tooltip frame.
3957
3958 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3959
3960 * xdisp.c (mark_window_display_accurate_1): New function,
3961 extracted from mark_window_display_accurate.
3962 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
3963 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3964 (mark_window_display_accurate): Use it.
3965 (redisplay_internal): Use it for the selected window.
3966 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3967 for the selected frame.
3968
3969 * xdisp.c Use make_number, for readability.
3970 (try_window_id): Disable rows below the window end.
3971 (try_window_reusing_current_matrix): Use cursor_row_p.
3972 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3973 of rows.
3974 (init_from_display_pos): If POS specifies a position in a display
3975 vector, maybe get the iterator set up for that ellipsis.
3976
3977 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3978
3979 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3980
3981 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3982
3983 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3984
3985 * xfaces.c (x_update_menu_appearance): Use a different path
3986 for Lucid popup menus.
3987
3988 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3989
3990 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3991
3992 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3993 (string_buffer_position): Use `make_number'.
3994
3995 2001-03-22 Gerd Moellmann <gerd@gnu.org>
3996
3997 * xfaces.c (x_update_menu_appearance): Renamed from
3998 x_set_menu_face_resources. Use different resources for popups.
3999
4000 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4001 (GC_CHECK_STRING_BYTES): Don't define.
4002
4003 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4004 Removed, together with subroutines.
4005 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
4006 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
4007
4008 * dispextern.h (x_set_menu_resources_from_menu_face):
4009 Remove prototype.
4010
4011 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
4012 Remove calls to x_set_menu_resources_from_menu_face.
4013
4014 * xfaces.c (xm_set_menu_resources_from_menu_face):
4015 Remove #ifndef LESSTIF_VERSION.
4016
4017 * xmenu.c: Include widget.h.
4018 (single_submenu): Return int. Some cleanup.
4019 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4020
4021 2001-03-21 Gerd Moellmann <gerd@gnu.org>
4022
4023 * xterm.c (x_update_window_end): Handle overwritten mouse face
4024 also for tool bar windows.
4025 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4026 DRAW is DRAW_IMAGE_RAISED.
4027
4028 2001-03-20 Gerd Moellmann <gerd@gnu.org>
4029
4030 * print.c (syms_of_print): Doc fixes.
4031
4032 * fns.c (Fmd5): Doc fix.
4033
4034 2001-03-19 Gerd Moellmann <gerd@gnu.org>
4035
4036 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4037 Clear area of the frame not occupied by the scroll bar.
4038
4039 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4040 tip frame's root window buffer to *tip* right after creating
4041 the frame.
4042
4043 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4044 is an integer don't have to be for space characters.
4045
4046 2001-03-16 Gerd Moellmann <gerd@gnu.org>
4047
4048 * indent.c (current_column, current_column_1, Fmove_to_column)
4049 (compute_motion): Handle characters from display vectors differently.
4050
4051 2001-03-15 Kenichi Handa <handa@etl.go.jp>
4052
4053 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4054 drawing glyph string.
4055
4056 2001-03-15 Gerd Moellmann <gerd@gnu.org>
4057
4058 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4059 (command_loop_1): Undo last change.
4060
4061 * xterm.c (fast_find_position): Return the correct vpos.
4062
4063 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
4064 non-null, set a per-buffer value in BUF instead of the current buffer.
4065 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4066 Call store_symval_forwarding with BUF null.
4067 (set_internal): Call store_symval_forwarding with the BUF
4068 parameter passed to set_internal. Formerly, the value was always
4069 set in the current buffer; the buffer recorded in specbind for
4070 this case wasn't used.
4071 (arith_driver): Reindent.
4072
4073 * buffer.c (swap_out_buffer_local_variables):
4074 Call store_symval_forwarding with BUF null.
4075
4076 * lisp.h (store_symval_forwarding): Change prototype.
4077
4078 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4079
4080 2001-03-14 Gerd Moellmann <gerd@gnu.org>
4081
4082 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4083 FOR_DELETION. Avoid resizing the mini-window of the selected
4084 frame if FOR_DELETION is set.
4085 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4086 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4087 signature.
4088
4089 * window.c (Fset_window_configuration): Change call to
4090 do_switch_frame to new format.
4091
4092 * keyboard.c (quit_throw_to_read_char): Change call to
4093 do_switch_frame to new format.
4094
4095 * lisp.h (do_switch_frame): Change prototype.
4096
4097 * frame.c (Fframe_parameters): In the `buffer-list' frame
4098 parameter, store the buffer list of FRAME, not the list of the
4099 selected frame.
4100
4101 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4102 box just because the glyph row's full_width_p flag is set.
4103
4104 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4105
4106 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4107 skip the padding blanks inserted in extend_face_to_end_of_line,
4108 before checking for trailing whitespace.
4109
4110 2001-03-13 Gerd Moellmann <gerd@gnu.org>
4111
4112 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
4113 Remove special handling for LessTif/Motif.
4114 (toplevel): Don't include Xm/Xm.h.
4115
4116 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4117 Remove workaround code for LessTif; it doesn't work anymore.
4118
4119 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
4120 Xm/ScrollBarP.h.
4121
4122 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4123 Don't access private scroll bar data; it's no longer necessary with
4124 contemporary LessTif.
4125
4126 * xfaces.c (xm_set_menu_resources_from_menu_face):
4127 Change #if 0 to #ifndef LESSTIF_VERSION.
4128
4129 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4130 removing button grabs.
4131
4132 2001-03-13 Kenichi Handa <handa@etl.go.jp>
4133
4134 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4135 and clip-large-size-font as obsolete.
4136
4137 * lread.c (read_multibyte): Check the validity of multibyte
4138 sequence. If invalid, return the first byte.
4139
4140 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4141
4142 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4143 before running the command; timer functions or process
4144 filters may have set it.
4145
4146 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4147
4148 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4149 Doc fix.
4150
4151 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4152
4153 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4154 to sprintf.
4155
4156 2001-03-09 Gerd Moellmann <gerd@gnu.org>
4157
4158 * dispextern.h (string_buffer_position): Add prototype.
4159
4160 * xdisp.c (string_buffer_position, display_prop_string_p)
4161 (single_display_prop_string_p): New functions.
4162
4163 * xterm.c (note_mouse_highlight): If there's no help-echo on
4164 a string, look at the buffer text ``under'' it.
4165
4166 * keyboard.c (make_lispy_event): Add string info to the event,
4167 analogous to what's done on mode lines.
4168 (read_key_sequence): For a click on a string, consider `local-map'
4169 and `keymap' of that string.
4170
4171 * keyboard.c (make_lispy_event, make_lispy_movement):
4172 Adjust calls to buffer_posn_from_coords to new format.
4173
4174 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4175
4176 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4177 POS; return void.
4178
4179 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4180 flags argument to emacs_open; it seems to conflict with O_EXCL.
4181
4182 2001-03-09 Kenichi Handa <handa@etl.go.jp>
4183
4184 * composite.h (struct composition): Change types of members;
4185 glyph_len to unsigned, width to unsigned short.
4186
4187 2001-03-08 Andrew Innes <andrewi@gnu.org>
4188
4189 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4190 menu titles.
4191
4192 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4193
4194 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4195 instead of nil.
4196
4197 * xterm.c (note_mouse_highlight): Handle mouse-face and
4198 help-echo in strings.
4199 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4200 (fast_find_string_pos): New function.
4201
4202 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4203 (display_string): Call face_at_string_position with new parameter.
4204
4205 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4206 Handle `mouse-face'.
4207
4208 * dispextern.h (face_at_string_position): Change prototype.
4209
4210 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
4211
4212 * keyboard.c (make_lispy_event): Avoid generating drag events
4213 if the mouse hasn't actually moved to another buffer position.
4214
4215 2001-03-08 Dave Love <fx@gnu.org>
4216
4217 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
4218
4219 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4220
4221 * process.c (Fset_process_window_size): Fix a typo.
4222
4223 2001-03-08 Kenichi Handa <handa@etl.go.jp>
4224
4225 * coding.c (detect_coding_sjis): Do more rigid check.
4226 (detect_coding_big5): Likewise.
4227 (decode_coding_sjis_big5): Likewise.
4228 (Fdetect_coding_region): Call detect_coding_system with tailing
4229 anchor byte `\0' for more rigid detection.
4230 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
4231 (Fdetect_coding_string): Likewise.
4232
4233 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4234
4235 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4236 a string before extracting its data.
4237
4238 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4239
4240 * window.c (Frecenter): Rewrite code handling negative values
4241 of ARG on graphical frames.
4242
4243 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4244
4245 * window.c (displayed_window_lines): If W->start is outside the
4246 accessible portion of the buffer, call start_display with BEGV or
4247 ZV instead of W->start.
4248
4249 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4250
4251 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4252
4253 * process.c (Fset_process_filter): Don't crash if the input
4254 file descriptor of PROCESS is closed.
4255 (Fset_process_window_size): Likewise.
4256
4257 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4258
4259 * xterm.c (XTflash): Make the timeout of select shorter, and call
4260 select repeatedly until the desired time expires.
4261
4262 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4263
4264 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4265
4266 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4267
4268 * lisp.h (Vwindow_list): Declare extern.
4269
4270 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4271
4272 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4273
4274 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4275
4276 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4277 to detect a case where we have to highlight a different region
4278 despite not having left the currently highlighted region.
4279 Set mouse_face_overlay in the x_display_info.
4280 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
4281
4282 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4283
4284 * buffer.c (mouse_face_overlay_overlaps): New function.
4285
4286 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4287 (Qmouse_face): Declare extern.
4288
4289 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4290 if face_change_count is non-zero.
4291
4292 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4293
4294 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4295 that the source is unibyte.
4296
4297 2001-03-05 Dave Love <fx@gnu.org>
4298
4299 * xterm.c (XTmouse_position): Fix typo.
4300
4301 2001-03-05 Gerd Moellmann <gerd@gnu.org>
4302
4303 * minibuf.c (read_minibuf): Clean up the binding stack if
4304 called noninteractively.
4305
4306 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4307
4308 * coding.c (syms_of_coding): Docstring modified.
4309
4310 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4311
4312 * charset.c (char_to_string): If a single byte char has modifier
4313 bits that can't be reflected to the character code, ignore them
4314 instead of signaling an error.
4315
4316 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4317
4318 * s/msdos.h: Update copyright notice.
4319
4320 * dosfns.h: Update copyright notice.
4321
4322 * dosfns.c: Update copyright notice.
4323
4324 * msdos.c: Update copyright notice.
4325
4326 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4327
4328 * xterm.c (glyph_rect): New function.
4329 (XTmouse_position): Use it to raise the threshold for mouse
4330 movement event generation.
4331
4332 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4333
4334 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4335 specifies (reverse . t), reverse the initial screen colors.
4336 (IT_set_frame_parameters): If the property is foreground-color,
4337 but we are reversing the colors, set bg_set, not fg_set.
4338 Likewise for setting background-color and reversing: set fg_set.
4339 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
4340 in effect.
4341
4342 * xfaces.c (Finternal_set_lisp_face_attribute)
4343 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4344 parameters alist.
4345
4346 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4347
4348 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4349 to a single slash in the middle of file names.
4350
4351 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
4352 Accept only alphanumeric time zone names.
4353
4354 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4355 or width area.
4356 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4357 a widget to zero height.
4358
4359 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4360
4361 * window.c (Fwindow_end): Call move_it_past_eol only if
4362 ending up on a partially visible line.
4363
4364 2001-03-01 Dave Love <fx@gnu.org>
4365
4366 * ccl.c (Fccl_execute): Doc fix.
4367
4368 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4369
4370 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4371 of the tool bar before calling x_figure_window_size.
4372
4373 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4374 NULL after destroying it, otherwise XTread_socket can access a
4375 destroyed widget when input is unblocked.
4376
4377 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
4378
4379 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4380 same name as before, although there was a change in fontsets.
4381
4382 2001-02-28 Ken Raeburn <raeburn@gnu.org>
4383
4384 * lisp.h (Fframe_parameter): Declare.
4385
4386 * window.c (set_window_buffer): Field vscroll is an int, not a
4387 Lisp_Object.
4388
4389 2001-02-28 Gerd Moellmann <gerd@gnu.org>
4390
4391 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4392 NULL instead.
4393
4394 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4395 NULL instead.
4396
4397 * alloc.c (toplevel): Include process.h.
4398 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4399 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4400 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
4401 (allocate_vector, allocate_hash_table, allocate_window)
4402 (allocate_frame, allocate_process, allocate_other_vector):
4403 New functions.
4404 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4405 (mark_maybe_pointer): New function.
4406 (mark_memory): Also mark Lisp data to which only pointers
4407 remain and not Lisp_Objects.
4408 (min_heap_address, max_heap_address): New variables.
4409 (mem_find): Return MEM_NIL if START is below min_heap_address or
4410 above max_heap_address.
4411 (mem_insert): Compute min_heap_address and max_heap_address.
4412
4413 * process.c (make_process): Use allocate_process.
4414
4415 * frame.c (make_frame): Use allocate_frame.
4416
4417 * window.c (make_window, make_dummy_parent): Use allocate_window.
4418 (Fcurrent_window_configuration): Use allocate_other_vector.
4419
4420 * lisp.h (allocate_vectorlike): Remove prototype.
4421 (allocate_vector, allocate_other_vector, allocate_frame)
4422 (allocate_window, allocate_process, allocate_hash_table):
4423 Add prototypes.
4424
4425 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4426 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4427
4428 2001-02-27 Kenichi Handa <handa@etl.go.jp>
4429
4430 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4431 treat the produced bytes as a valid multibyte sequence.
4432
4433 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
4434 (ccl_driver) <CCL_WriteMultibyteChar2>:
4435 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
4436 <ccl_finish>: Set ccl->eight_bit_control properly.
4437
4438 * ccl.h (struct ccl_program): New member eight_bit_control.
4439
4440 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4441
4442 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4443 accessible_keymaps_char_table.
4444 (accessible_keymaps_char_table): Obey `is_metized'.
4445 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4446 Lisp_Object.
4447
4448 2001-02-26 Gerd Moellmann <gerd@gnu.org>
4449
4450 * dispnew.c: Check HAVE_TERM_H before including term.h.
4451
4452 2001-02-24 Andrew Innes <andrewi@gnu.org>
4453
4454 * makefile.w32-in: Update copyright notice.
4455
4456 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4457
4458 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4459
4460 2001-02-24 Kenichi Handa <handa@etl.go.jp>
4461
4462 * Makefile.in (lisp): Add international/utf-8.elc.
4463
4464 * fontset.c (Fnew_fontset): Fix handling of the case that an
4465 element of FONTLIST is a cons of family and registry.
4466
4467 2001-02-23 Jason Rumney <jasonr@gnu.org>
4468
4469 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4470 to height unconditionally.
4471
4472 * w32term.c (x_set_glyph_string_background_width): Extend the
4473 background face to the end of the drawing area in the text area, only.
4474 (x_insert_glyphs): Call window_box_left to obtain the left
4475 x-coordinate of the area to shift.
4476
4477 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4478 safe_run_hooks.
4479
4480 2001-02-22 Andrew Innes <andrewi@gnu.org>
4481
4482 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
4483 ($(BLD)\dispnew.obj):
4484 ($(BLD)\editfns.obj):
4485 ($(BLD)\fileio.obj):
4486 ($(BLD)\filelock.obj):
4487 ($(BLD)\keyboard.obj):
4488 ($(BLD)\w32proc.obj):
4489 ($(BLD)\process.obj):
4490 ($(BLD)\sysdep.obj): Ditto.
4491
4492 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4493 header files.
4494 ($(BLD)/dispnew.$(O)):
4495 ($(BLD)/editfns.$(O)):
4496 ($(BLD)/fileio.$(O)):
4497 ($(BLD)/filelock.$(O)):
4498 ($(BLD)/keyboard.$(O)):
4499 ($(BLD)/w32proc.$(O)):
4500 ($(BLD)/process.$(O)):
4501 ($(BLD)/sysdep.$(O)): Ditto.
4502
4503 2001-02-22 Gerd Moellmann <gerd@gnu.org>
4504
4505 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4506 at the start of the function, check that the \n in it->c is
4507 from the iterator's current position.
4508
4509 * xdisp.c (handle_single_display_prop): Add parameter
4510 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4511 properties which replace the display of text with something else.
4512 (handle_display_prop): Call handle_single_display_prop with
4513 additional argument saying if we already replaced text display
4514 with something else. Use AREF.
4515 (with_echo_area_buffer_unwind_data, display_menu_bar)
4516 (decode_mode_spec_coding): Use AREF and ASIZE.
4517
4518 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4519 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4520 * vmstime.h: Files removed.
4521
4522 * unexencap.c, unexfx2800.c: Files removed.
4523
4524 * dispnew.c (direct_output_for_insert): Give up if we are showing
4525 a message or just cleared the message because we might need to
4526 resize the echo area window or display an empty echo area.
4527
4528 2001-02-21 Gerd Moellmann <gerd@gnu.org>
4529
4530 * xdisp.c (redisplay_internal): Do the
4531 mark_window_display_accurate after all windows have been
4532 redisplayed because this call resets flags in buffers which are
4533 needed for proper redisplay.
4534
4535 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4536 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
4537 the old names.
4538
4539 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4540 busy_window to hourglass_window, busy_p to hourglass_p.
4541
4542 * msdos.h (struct x_output): Rename busy_window to
4543 hourglass_window, busy_p to hourglass_p.
4544
4545 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4546 busy_window to hourglass_window, busy_p to hourglass_p.
4547
4548 * xfns.c: Rename everything containing *busy_cursor* and similar
4549 to *hourglass*.
4550 (syms_of_w32fns): Rename x-busy-pointer-shape to
4551 x-hourglass-pointer-shape, display-busy-cursor to
4552 display-hourglass, busy-cursor-delay to hourglass-delay.
4553
4554 * w32fns.c: Rename everything containing *busy_cursor* and similar
4555 to *hourglass*.
4556 (syms_of_w32fns): Rename x-busy-pointer-shape to
4557 x-hourglass-pointer-shape, display-busy-cursor to
4558 display-hourglass, busy-cursor-delay to hourglass-delay.
4559
4560 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4561 of its busy_p flag.
4562
4563 * dispextern.h (start_hourglass, cancel_hourglass)
4564 (display_hourglass_p): Renamed from *busy_cursor*.
4565
4566 2001-02-20 Gerd Moellmann <gerd@gnu.org>
4567
4568 * keyboard.c (read_char): When an event from unread-command-events
4569 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4570
4571 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4572 equal to the current buffer.
4573
4574 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4575 nil, otherwise we're left with truncate_lines t when a message
4576 is printed with message-truncate-lines bound to t.
4577
4578 2001-02-19 Gerd Moellmann <gerd@gnu.org>
4579
4580 * window.c (Fmove_to_window_line): Undo last change.
4581 (displayed_window_lines): Call line_bottom_y to determine
4582 the line's bottom position.
4583
4584 * dispextern.h (line_bottom_y): Add prototype.
4585
4586 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
4587 (pos_visible_p): Use it.
4588
4589 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4590 set redisplaying_p to 0 here instead of in Frecursive_edit.
4591 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4592 set redisplaying_p.
4593
4594 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
4595 New variables.
4596 (syms_of_xdisp): Initialize new variables.
4597 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4598 Specbind `inhibit-menubar-update' when updating the menu bar.
4599
4600 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4601 safe_run_hooks.
4602
4603 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4604 safe_run_hooks.
4605
4606 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4607 is null.
4608
4609 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4610 to the start of the file.
4611
4612 2001-02-16 Gerd Moellmann <gerd@gnu.org>
4613
4614 * window.c (set_window_buffer): Fix last change.
4615
4616 * window.c (set_window_buffer): Set window's vscroll to 0.
4617
4618 * window.c (coordinates_in_window): Increase width of area
4619 where the vertical line can be dragged.
4620
4621 * xterm.c (x_set_glyph_string_background_width): Extend the
4622 background face to the end of the drawing area in the text
4623 area, only.
4624
4625 * xdisp.c (handle_single_display_prop): Set iterator's position
4626 to where the `display' property starts, like for images.
4627 (dump_glyph): New function.
4628 (dump_glyph_row): Use it. Dump info about marginal areas.
4629
4630 * dispnew.c (direct_output_for_insert): Recognize more cases where
4631 glyphs can be written instead of being inserted.
4632
4633 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4634 the left x-coordinate of the area to shift.
4635
4636 * dired.c (directory_files_internal): Set result list to nil
4637 before retrying.
4638
4639 2001-02-15 Kenichi Handa <handa@etl.go.jp>
4640
4641 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4642 invalid multibyte sequence, treat *SRC as a character of
4643 eight-bit-graphic.
4644
4645 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4646
4647 * textprop.c (Fset_text_properties): Doc fix.
4648
4649 2001-02-15 Gerd Moellmann <gerd@gnu.org>
4650
4651 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4652
4653 2001-02-14 Dave Love <fx@gnu.org>
4654
4655 * coding.c: Doc and message fixes.
4656
4657 2001-02-14 Andrew Innes <andrewi@gnu.org>
4658
4659 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4660 Emacs frame above the screen size.
4661
4662 2001-02-14 Gerd Moellmann <gerd@gnu.org>
4663
4664 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4665
4666 2001-02-13 Gerd Moellmann <gerd@gnu.org>
4667
4668 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4669 case that TO ends up beyond ZV after running before-change-functions.
4670
4671 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4672 the selected window if it is showing the buffer in question.
4673
4674 * dired.c (directory_files_internal): Initialize errno.
4675 (toplevel): Include errno.h.
4676
4677 2001-02-13 Kenichi Handa <handa@etl.go.jp>
4678
4679 * xfaces.c (best_matching_font): New parameter width_ratio.
4680 Multiply avgwidth by width_ratio.
4681 (choose_face_font): Call best_matching_font with width_ratio
4682 calculated from the column width of C.
4683
4684 2001-02-12 Andrew Innes <andrewi@gnu.org>
4685
4686 The following changes are to draw box lines inside characters area
4687 if line-width is negative.
4688
4689 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4690 face->box_line_width is negative.
4691 (x_produce_stretch_glyph): Likewise.
4692 (x_produce_glyphs): Likewise.
4693 (x_estimate_mode_line_height): Likewise.
4694 (x_draw_glyph_string_background): Likewise.
4695 (x_draw_glyph_string_foreground): Likewise.
4696 (x_draw_composite_glyph_string_foreground): Likewise.
4697 (x_draw_glyph_string_box): Likewise.
4698 (x_draw_image_foreground): Likewise.
4699 (x_draw_image_relief): Likewise.
4700 (x_draw_image_foreground_1): Likewise.
4701 (x_draw_image_glyph_string): Likewise.
4702
4703 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4704
4705 The following changes are to draw box lines inside characters area
4706 if line-width is negative.
4707
4708 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4709 face->box_line_width is negative.
4710 (x_produce_stretch_glyph): Likewise.
4711 (x_produce_glyphs): Likewise.
4712 (x_estimate_mode_line_height): Likewise.
4713 (x_draw_glyph_string_background): Likewise.
4714 (x_draw_glyph_string_foreground): Likewise.
4715 (x_draw_composite_glyph_string_foreground): Likewise.
4716 (x_draw_glyph_string_box): Likewise.
4717 (x_draw_image_foreground): Likewise.
4718 (x_draw_image_relief): Likewise.
4719 (x_draw_image_foreground_1): Likewise.
4720 (x_draw_image_glyph_string): Likewise.
4721
4722 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4723 and :line-width can be negative.
4724 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
4725
4726 2001-02-09 Jason Rumney <jasonr@gnu.org>
4727
4728 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4729 characters the same as ASCII and latin-1.
4730 (x_display_and_set_cursor): Check for the focus frame's selected
4731 window instead of selected_window.
4732 (x_after_update_window_line): Don't clear if frame's internal
4733 border width is zero.
4734 (x_new_font): Don't change a tooltip's size.
4735 (w32_initialize): Set char_ins_del_ok to 1.
4736
4737 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4738 (x_set_font): If font hasn't changed, avoid recomputing
4739 faces and other things.
4740 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4741 (Fx_create_frame): Add the tool bar height to the frame height.
4742 (x_create_tip_frame): Prevent changing the tooltip's
4743 background color by specifying a color for the default font
4744 in .Xdefaults.
4745 (Qcancel_timer): New variable.
4746 (syms_of_w32fns): Initialize and staticpro it.
4747 (Fx_hide_tip, Fx_show_tip): Use it.
4748 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4749 the timer.
4750 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4751
4752 * w32.c (init_environment): Duplicate local string before putenv.
4753
4754 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4755
4756 * charset.c (Fstring): A typo.
4757
4758 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4759
4760 * charset.c (Fstring): If all arguments are less than 256, return
4761 a unibyte string.
4762
4763 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4764 return a unibyte string.
4765
4766 * coding.c (code_convert_region): After detecting a coding, if
4767 nothing found, set coding->composing to COMPOSITION_NO.
4768 (decode_coding_string): Likewise.
4769
4770 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4771
4772 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4773 to avoid overflow.
4774
4775 2001-02-07 Kenichi Handa <handa@etl.go.jp>
4776
4777 * charset.c (parse_str_to_multibyte): New function.
4778
4779 * charset.h (parse_str_to_multibyte): Extern it.
4780
4781 * print.c (print_string): If we are going to print a unibyte
4782 string into a multibyte buffer, convert the string to multibyte by
4783 str_to_multibyte.
4784
4785 2001-02-06 Andrew Innes <andrewi@gnu.org>
4786
4787 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4788 been created. It seems we can get sent window messages such as
4789 WM_ERASEBKGND before we properly update a frame.
4790
4791 2001-02-06 Gerd Moellmann <gerd@gnu.org>
4792
4793 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4794 Avoid some unnecessary cursor positioning.
4795
4796 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4797
4798 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
4799 (LFACE_AVGWIDTH): New macro.
4800 (LFACEP): Use AREF.
4801 (check_lface_attrs): Check LFACE_AVGWIDTH.
4802 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4803 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4804 (merge_face_vectors): Check LFACE_AVGWIDTH.
4805 (Finternal_make_lisp_face): Use AREF.
4806 (xm_set_menu_resources_from_menu_face)
4807 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4808 (Finternal_lisp_face_empty_p): Use AREF.
4809 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4810 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4811 Compare average widths..
4812 (best_matching_font): Arrange for comparing average widths.
4813
4814 * dispextern.h (enum lface_attribute_index):
4815 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4816
4817 2001-02-05 Dave Love <fx@gnu.org>
4818
4819 * puresize.h: Revert last change following loadup.el change.
4820
4821 2001-02-05 Andrew Innes <andrewi@gnu.org>
4822
4823 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4824 invocation of temacs, to work with Windows 2000.
4825 (bootstrap-emacs): Ditto.
4826
4827 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4828
4829 * xterm.c (x_display_and_set_cursor): Check for the focus
4830 frame's selected window instead of selected_window.
4831
4832 * xdisp.c (try_scrolling): If point is in the line below the
4833 window, make sure to move the iterator at least a canonical
4834 char height down.
4835
4836 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
4837
4838 2001-02-05 Kenichi Handa <handa@etl.go.jp>
4839
4840 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4841 If invalid, execute CCL_INVALID_CMD.
4842 (ccl_driver): If the CCL program is terminated because of
4843 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4844 destination instead of throwing them away.
4845
4846 2001-02-02 Gerd Moellmann <gerd@gnu.org>
4847
4848 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4849 faces and other things.
4850
4851 * xdisp.c (get_next_display_element): Fix case of empty
4852 display table entry.
4853
4854 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4855
4856 * editfns.c (Fconstrain_to_field): Doc fix.
4857
4858 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4859 into `thoroughly', to make it consistent with the doc string.
4860
4861 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4862
4863 2001-02-01 Gerd Moellmann <gerd@gnu.org>
4864
4865 * search.c (search_buffer): Call set_search_regs with a byte
4866 position, not a character position.
4867
4868 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4869 minibuffer-only,
4870
4871 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4872
4873 * frame.c (Fmodify_frame_parameters): Doc fix.
4874
4875 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4876
4877 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4878 identifier which is not reserved by Standard C.
4879
4880 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4881
4882 * window.c (enum window_part): New enumeration.
4883 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4884 Qright_bitmap_area.
4885 (coordinates_in_window): Return an enumerator from enum
4886 window_part. Fix handling of right scroll bar.
4887 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4888 `right-fringe' instead of `left-bitmap-area' and
4889 `right-bitmap-area'. Use enumerators from enum window_part
4890 instead of hard-coded integers.
4891 (check_window_containing, window_from_coordinates):
4892 Use enumerators from enum window_part instead of hard-coded integers.
4893 (syms_of_window): Replace Qleft_bitmap_area and
4894 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4895
4896 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4897
4898 * editfns.c (Fformat_time_string): Doc fix.
4899
4900 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4901
4902 * keymap.c (Fwhere_is_internal): Use the first valid binding
4903 if no ascii binding is found (when firstonly is t).
4904
4905 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4906
4907 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4908 instead of Finteractive_p.
4909
4910 * lisp.h (interactive_p): Add prototype.
4911
4912 * eval.c (interactive_p): New function.
4913 (Finteractive_p): Use it.
4914
4915 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4916
4917 2001-01-31 Dave Love <fx@gnu.org>
4918
4919 * .gdbinit (hook-run): Define to run xreload.
4920
4921 * textprop.c (Fset_text_properties): Fix newline in doc string.
4922
4923 2001-01-30 Gerd Moellmann <gerd@gnu.org>
4924
4925 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4926 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
4927
4928 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
4929 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
4930 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4931
4932 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4933 height.
4934
4935 2001-01-30 Dave Love <fx@gnu.org>
4936
4937 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4938 AFTER_POTENTIAL_GC.
4939
4940 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4941
4942 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4943 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
4944
4945 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4946
4947 * textprop.c (Fset_text_properties): Doc fix.
4948
4949 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4950
4951 * xdisp.c (forward_to_next_line_start): Remove xassert.
4952
4953 2001-01-29 Jason Rumney <jasonr@gnu.org>
4954
4955 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
4956 returning without releasing it.
4957
4958 2001-01-29 Kenichi Handa <handa@etl.go.jp>
4959
4960 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4961 for '^', '$', and '\0'.
4962
4963 2001-01-28 Andrew Choi <akochoi@i-cable.com>
4964
4965 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4966 regex for '^', '$', and '\0'.
4967
4968 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4969 only if current_sblock has been initialized.
4970
4971 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4972 terminal frame even if it is the only visible frame.
4973
4974 2001-01-28 Kenichi Handa <handa@etl.go.jp>
4975
4976 * fontset.c (font_family_registry): Even if FONTNAME conform to
4977 XLFD, if it specifies other fields than family and registry,
4978 return FONTANME. New argument FORCE if nonzero cancel that feature.
4979 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
4980 a signle byte character. Don't set FAMILY part to nil here.
4981 It is handled by the caller choose_face_font.
4982 (Fnew_fontset): Call font_family_registry with FORCE 0.
4983 (Fset_fontset_font): Likewise.
4984
4985 2001-01-27 Gerd Moellmann <gerd@gnu.org>
4986
4987 * xdisp.c (display_line): Don't treat a newline as fitting
4988 on the line.
4989
4990 2001-01-26 Gerd Moellmann <gerd@gnu.org>
4991
4992 * window.c (size_window): Set the window's orig_top to nil when
4993 changing heights, so that a future shrink_mini_window won't
4994 restore a bogus height.
4995
4996 * frame.c (do_switch_frame): If selected frame has a mini-window,
4997 resize that to exact size.
4998
4999 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5000
5001 * xdisp.c (display_line): Simplify check for glyphs fitting
5002 entirely in the line.
5003
5004 * xfns.c (xic_style): New variable.
5005 (create_frame_xic): Move static variable to global scope for
5006 the case that `static' gets defined away.
5007
5008 2001-01-26 Kenichi Handa <handa@etl.go.jp>
5009
5010 * coding.c (decode_coding): Set a flag for inhibiting
5011 inconsistent eol.
5012 (code_convert_region): Always set saved_coding_symbol.
5013 (decode_coding_string): Likewise. Update coding->symbol when we
5014 encounter a inconsistent eol by the same way as code_convert_region.
5015
5016 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5017
5018 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5019 XClearArea.
5020
5021 * xterm.c (x_after_update_window_line): Don't clear if frame's
5022 internal border width is zero.
5023 (x_clear_area): New function.
5024 (x_after_update_window_line, x_clear_end_of_line)
5025 (x_scroll_bar_create, x_scroll_bar_set_handle)
5026 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5027 instead of XClearArea.
5028
5029 * xterm.h (x_clear_area): Add prototype.
5030
5031 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5032 which doesn't seem necessary anymore with Lesstif 0.92.
5033
5034 2001-01-25 Dave Love <fx@gnu.org>
5035
5036 * puresize.h (BASE_PURESIZE): Up to 720000.
5037
5038 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5039
5040 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5041
5042 * xdisp.c (echo_area_display): Don't call redisplay_internal
5043 when Emacs is shutting down. We can't run hooks etc. that
5044 would be necessary to do a redisplay.
5045
5046 * lread.c (read_integer): Use type EMACS_INT instead of int.
5047
5048 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5049
5050 * ccl.c (ccl_driver): Fix last change.
5051
5052 2001-01-25 Kenichi Handa <handa@etl.go.jp>
5053
5054 * ccl.h (sturct ccl_program): New member suppress_error.
5055
5056 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
5057 insert error message to the output.
5058 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5059
5060 * coding.h (struct coding_system): New member suppress_error.
5061
5062 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5063 (Fset_terminal_coding_system_internal): Set the member
5064 suppress_error to 1.
5065 (Fset_safe_terminal_coding_system_internal): Likewise.
5066
5067 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5068
5069 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5070 as if it was a `charset'.
5071
5072 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5073
5074 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5075 value in where_is_cache; the next lookup in the cache returns
5076 something bogus if we do.
5077
5078 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5079
5080 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5081 if HAVE_WINDOW_SYSTEM isn't defined.
5082
5083 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5084
5085 * fns.c (sweep_weak_table): Fix code taking items out of
5086 the hash collision chain. Some cleanup.
5087
5088 * xterm.c (x_new_font): Don't change a tooltip's size.
5089
5090 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5091 background color by specifying a color for the default font
5092 in .Xdefaults.
5093
5094 2001-01-24 Kenichi Handa <handa@etl.go.jp>
5095
5096 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5097 a workaround for SunOS 4's cc.
5098 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5099 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5100 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5101 statement.
5102
5103 2001-01-23 Gerd Moellmann <gerd@gnu.org>
5104
5105 * xterm.c (x_set_window_size_1): New function extracted from
5106 x_set_window_size.
5107 (x_set_window_size): Use it.
5108 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5109 doesn't have a widget, like tooltips.
5110
5111 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5112
5113 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5114
5115 2001-01-23 Kenichi Handa <handa@etl.go.jp>
5116
5117 * fns.c (Fset_char_table_default): Fix to make sub char-table
5118 correctly.
5119
5120 2001-01-22 Gerd Moellmann <gerd@gnu.org>
5121
5122 * xdisp.c (build_desired_tool_bar_string): Make sure we have
5123 a desired tool bar string, even if there are no tool bar items.
5124
5125 * xdisp.c (Ftool_bar_lines_needed): New function.
5126 (syms_of_xdisp): Defsubr it.
5127
5128 * editfns.c (Fformat): Don't extend text properties from arguments
5129 to padding chars in the result.
5130
5131 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5132
5133 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5134
5135 2001-01-20 Andrew Innes <andrewi@gnu.org>
5136
5137 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
5138 (w32_initialize): Don't set term hooks that aren't actually needed
5139 in windowed mode.
5140
5141 * xfaces.c (realize_default_face):
5142 (realize_face):
5143 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5144
5145 * xdisp.c (handle_single_display_prop): Remove references to
5146 FRAME_W32_CONSOLE_P.
5147
5148 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
5149
5150 * frame.h (output_method): Remove output_w32_console method.
5151 (FRAME_W32_CONSOLE_P): Remove macro.
5152
5153 * frame.c (Qw32_console): Remove variable.
5154 (Fframep): Remove references to it.
5155 (syms_of_frame): Ditto.
5156 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5157
5158 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5159 redefinition.
5160
5161 2001-01-20 Kenichi Handa <handa@etl.go.jp>
5162
5163 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5164
5165 2001-01-19 Andrew Innes <andrewi@gnu.org>
5166
5167 * w32.c (init_environment): Add a version-independent site-lisp
5168 directory to EMACSLOADPATH, after the version dependent one.
5169
5170 2001-01-19 Gerd Moellmann <gerd@gnu.org>
5171
5172 * editfns.c (Fbuffer_substring): Doc fix.
5173
5174 * xdisp.c (message_dolog, message2, message2_nolog):
5175 Rename parameter LEN to NBYTES.
5176
5177 2001-01-19 Kenichi Handa <handa@etl.go.jp>
5178
5179 * charset.c (strwidth): Use c_string_width.
5180 (c_string_width): New function.
5181 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5182 Caller changed.
5183
5184 * charset.h (c_string_width, lisp_string_width): Extern them.
5185
5186 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
5187
5188 * indent.c (check_composition): Check validity of composition.
5189
5190 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5191 characters by calling c_string_width.
5192 (x_consider_frame_title): Get byte length of frame tile string
5193 correctly.
5194 (display_mode_element): Pay attention to width of non-ASCII
5195 characters by calling strwidth.
5196
5197 2001-01-18 Gerd Moellmann <gerd@gnu.org>
5198
5199 * xfns.c (Qcancel_timer): New variable.
5200 (syms_of_xfns): Initialize and staticpro it.
5201 (Fx_hide_tip, Fx_show_tip): Use it.
5202 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5203 the timer.
5204 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5205
5206 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5207
5208 * window.h (WINDOW_LIVE_P): New macro.
5209
5210 * window.c (window_size_fixed): New variable.
5211 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5212 the doc string.
5213
5214 * eval.c (specbind): If binding a per-buffer variable which
5215 doesn't have a buffer-local value in the current buffer, change
5216 the global value by changing the value of the symbol bound in all
5217 buffers not having their own value, to make it consistent with
5218 what happens with other buffer-local variables.
5219
5220 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5221
5222 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5223 when searching for a newline.
5224
5225 2001-01-18 Kenichi Handa <handa@etl.go.jp>
5226
5227 * xdisp.c (display_string): Fix previous change.
5228
5229 2001-01-18 Jason Rumney <jasonr@gnu.org>
5230
5231 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5232 GLYPH_DEBUG is defined.
5233 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5234 true for images with `:ascent 100'.
5235 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5236 meantime, use face MOUSE_FACE_ID.
5237 If first glyph isn't a character glyph, use the ASCII NUL
5238 character to determine the face.
5239 (expose_area): Do not treat left margin specially.
5240 (note_mode_line_highlight): If no local_map, check global keymap.
5241 (note_mouse_highlight): Initialize overlay.
5242 (clear_mouse_face): Don't return if tip_frame is non-nil.
5243 (show_scroll_bars): Remove unused function.
5244 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5245 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5246 Clip to row.
5247 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
5248 (x_free_frame_resources): Unload relief colors.
5249
5250 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5251
5252 * xdisp.c (forward_to_next_line_start): Avoid calling
5253 get_next_display_element when the newline is already found.
5254 This may change the iterator's position, when its current position is
5255 equal to the iterator's stop_charpos.
5256
5257 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5258 zero, use this method only at the end of a line.
5259
5260 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
5261 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5262 if SCALABLE_FONTS_P is set.
5263
5264 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5265 so that scalable fonts are included.
5266
5267 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5268 In the cache, use a key containing the information if scalable
5269 fonts are included.
5270 (x_load_font): Adapt to change of keys in the font cache.
5271
5272 2001-01-17 Kim F. Storm <storm@filanet.dk>
5273
5274 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5275 XListFonts to take advantage of font caching.
5276
5277 * xterm.c (x_list_fonts): Ensure caching font information when
5278 called for a null frame, which is the case frequently when Emacs
5279 starts.
5280
5281 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5282
5283 * xfns.c (QCconversion): Replaces QCalgorithm.
5284
5285 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5286
5287 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5288 of :algorithm.
5289
5290 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5291 not everything could be displayed.
5292
5293 * line.h, x-list-font.c: Files removed because unused.
5294
5295 2001-01-17 Andrew Innes <andrewi@gnu.org>
5296
5297 * dired.c (directory_files_internal): Convert result from readdir
5298 to a unibyte string initially, to avoid possible misinterpretation
5299 of some bytes as the internal form of Emacs characters.
5300
5301 2001-01-17 Kenichi Handa <handa@etl.go.jp>
5302
5303 * fns.c (concat): Be sure to avoid putting the same `composition'
5304 property on the adjacent regions.
5305
5306 2001-01-16 Gerd Moellmann <gerd@gnu.org>
5307
5308 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
5309 (Fscroll_right, Fscroll_left): Set it here instead, if called
5310 interactively.
5311
5312 * buffer.c (Fset_buffer_modified_p): Set buffer's
5313 prevent_redisplay_optimizations_p flag.
5314
5315 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
5316 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5317 with additional arg.
5318
5319 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5320 Change prototype.
5321
5322 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5323 FROM_WHERE, for debugging.
5324
5325 2001-01-16 Kenichi Handa <handa@etl.go.jp>
5326
5327 * ccl.c (Fregister_ccl_program): Handle the return value of
5328 resolve_symbol_ccl_program correctly.
5329 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
5330
5331 2001-01-15 Gerd Moellmann <gerd@gnu.org>
5332
5333 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5334 has gone in the meantime, use face MOUSE_FACE_ID.
5335
5336 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5337 If x_display_info_for_display returns null, don't try to close
5338 the display; we didn't open it.
5339
5340 * dispnew.c (save_or_restore_current_matrices): Function removed.
5341 (save_current_matrix, restore_current_matrix): New functions.
5342 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5343 restore the frame's current matrix. Due to the glyph pointer
5344 setup done in adjust_glyph_matrix, there is no easy way to make
5345 saving the current matrix in the desired matrix generally correct,
5346 so don't try it.
5347
5348 2001-01-15 Kenichi Handa <handa@etl.go.jp>
5349
5350 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5351 truncation glyphs.
5352 (display_line): Optimize for wide characters.
5353 (display_string): Don't try to display a multi-column character
5354 partially. On ttys, produce more than one truncation glyph for
5355 multi-column characters that don't fit on the line.
5356
5357 2001-01-13 Kenichi Handa <handa@etl.go.jp>
5358
5359 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5360 Define it instead of WORDS_BIGENDIAN. Caller changed.
5361
5362 2001-01-13 Jason Rumney <jasonr@gnu.org>
5363
5364 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5365 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
5366 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5367 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
5368
5369 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5370 (x_draw_image_relief, x_draw_image_foreground_1)
5371 (x_draw_image_glyph_string): Adapt to change of image margins.
5372
5373 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5374 variables.
5375
5376 * w32bdf.c (search_file_line, get_cached_font_char)
5377 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5378
5379 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5380
5381 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5382 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5383 (Fw32_send_sys_command): Remove unused variables.
5384 (w32_msg_pump): Add parentheses.
5385
5386 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5387 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5388 Add parentheses.
5389
5390 2001-01-12 Gerd Moellmann <gerd@gnu.org>
5391
5392 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5393 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5394 being a pair of margins.
5395 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5396 to DEFVAR_LISP. Extend doc.
5397
5398 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5399 margins.
5400 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5401 pair of integers `(X . Y)', use X for the horizontal and Y for the
5402 vertical margin.
5403 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5404 (parse_image_spec): Check it.
5405 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5406 (tiff_format, gif_format, gs_format):
5407 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
5408
5409 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5410 (x_draw_image_relief, x_draw_image_foreground_1)
5411 (x_draw_image_glyph_string): Adapt to the change of image margins.
5412
5413 * dispextern.h (struct image): Replace member `margin' with
5414 `hmargin' and `vmargin'.
5415
5416 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5417 and GLYPHS.
5418
5419 * dispnew.c (update_text_area): Put code which decrements the
5420 stop position when the row's face extends to the end of the
5421 line in #if 0.
5422
5423 * xfns.c (x_set_mouse_color): Fix color allocation.
5424
5425 * keyboard.c: Call get_local_map with new argument list.
5426
5427 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5428
5429 * intervals.h (enum map_property): Removed.
5430 (get_local_map): Change prototype.
5431
5432 * keymap.c: Call get_local_map with new argument list.
5433 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5434
5435 2001-01-11 Gerd Moellmann <gerd@gnu.org>
5436
5437 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5438 of the size needed for the tool bar string. For the last image,
5439 use a `display' property that reaches to the end of the string.
5440
5441 * xselect.c (selection_request_dpyinfo): New variable.
5442 (x_handle_selection_request): Set it.
5443 (x_selection_request_lisp_error): Don't call
5444 x_decline_selection_request if selection request's display has
5445 been closed.
5446
5447 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5448 Do the unregister_colors before calling XFreeColors.
5449
5450 2001-01-10 Dave Love <fx@gnu.org>
5451
5452 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5453 ${SOME_MACHINE_LISP}, not ${lisp}.
5454
5455 2001-01-10 Gerd Moellmann <gerd@gnu.org>
5456
5457 * xdisp.c (display_line): On ttys, produce more than one truncation
5458 glyph for multi-column characters that don't fit on the line.
5459
5460 * xselect.c (x_reply_selection_request): Add a comment.
5461
5462 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5463 XkbGetNames instead of XkbGetKeyboard.
5464
5465 2001-01-10 Dave Love <fx@gnu.org>
5466
5467 * sysdep.c (random): Revert the declaration.
5468
5469 2001-01-09 Gerd Moellmann <gerd@gnu.org>
5470
5471 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5472 Call function string_bytes.
5473 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5474
5475 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5476 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5477 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5478 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5479 the current sblock.
5480 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5481 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5482 after sweeping strings, and at the end.
5483 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5484
5485 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5486 ensure that pop_message is called.
5487
5488 * keyboard.c (Fexecute_extended_command): Use a
5489 record_unwind_protect to ensure that pop_message is called.
5490
5491 * lisp.h (push_message_unwind): Add prototype.
5492
5493 * xdisp.c (push_message_unwind): New function.
5494
5495 * fileio.c (do_auto_save_unwind): Do the pop_message here
5496 instead of in Fdo_auto_save.
5497 (Fdo_auto_save): Don't call pop_message.
5498
5499 2001-01-08 Ken Raeburn <raeburn@gnu.org>
5500
5501 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5502 in inner block.
5503
5504 2001-01-08 Gerd Moellmann <gerd@gnu.org>
5505
5506 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5507 when increasing window's vscroll.
5508
5509 * macros.c (Qkbd_macro_termination_hook): New variable.
5510 (syms_of_macros): Initialize and staticpro it.
5511 (pop_kbd_macro): Run kbd-macro-termination-hook.
5512
5513 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5514
5515 2001-01-07 Dave Love <fx@gnu.org>
5516
5517 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5518 arglist, for documentation's sake.
5519
5520 2001-01-06 Andrew Innes <andrewi@gnu.org>
5521
5522 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5523 of *.pdb.
5524
5525 2001-01-05 Andrew Innes <andrewi@gnu.org>
5526
5527 * term.c (update_end): Don't check updating_frame; for some reason
5528 this can be 0 sometimes, such as after dismissing a popup menu,
5529 and isn't necessary given the explicit frame argument.
5530
5531 2001-01-05 Gerd Moellmann <gerd@gnu.org>
5532
5533 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5534 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5535
5536 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5537
5538 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
5539
5540 * xfns.c (x_create_tip_frame): Preserve the value of
5541 face_change_count around the creation of the tip frame.
5542
5543 * xfns.c (last_show_tip_args): New variable.
5544 (compute_tip_xy): New function.
5545 (Fx_show_tip): Reuse an existing tip frame, if possible.
5546 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5547
5548 2001-01-04 Dave Love <fx@gnu.org>
5549
5550 * editfns.c (Fformat): Doc fix.
5551
5552 * systime.h (set_file_times): Prototype.
5553
5554 * widget.h (EmacsFrameSetCharSize_): Prototype.
5555
5556 * sysdep.c (random, srandom): Declare explicitly.
5557
5558 * dispextern.h (move_it_vertically_backward): Declare.
5559
5560 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5561
5562 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5563 like in Fx_create_frame.
5564
5565 * xfaces.c (set_font_frame_param): Don't do anything for
5566 non-graphical frames.
5567
5568 * window.c (Fdelete_other_windows): Set window's window_end_valid
5569 to nil when changing the window's start. Don't change the
5570 window's start when its top position hasn't changed. If we do,
5571 this will set the window's optional_new_start, which act's like a
5572 force_start during redisplay with C-x 1 M-> under particular
5573 circumstances (see report from Per Starback to emacs-pretest-bug
5574 from 2000-12-13.).
5575
5576 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5577
5578 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5579 short cut at the start of the function. Add an assertion.
5580 (reseat_at_next_visible_line_start): Add an assertion.
5581
5582 * window.c (Frecenter): When changing the window start, set the
5583 window's window_end_valid to nil.
5584 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5585
5586 * dispextern.h (move_it_past_eol): Add prototype.
5587
5588 * xdisp.c (move_it_past_eol): New function.
5589
5590 * window.c (Fwindow_end): Doc fix.
5591
5592 2001-01-03 Dave Love <fx@gnu.org>
5593
5594 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
5595
5596 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5597
5598 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5599 the enabled_p flag of the glyph row at window_end_vpos to 0.
5600 (handle_single_display_prop): Fix last change.
5601
5602 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5603
5604 * window.c (Frecenter): Doc fix.
5605
5606 2001-01-02 Andrew Innes <andrewi@gnu.org>
5607
5608 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5609
5610 * frame.h (output_method): Add output_w32_console method.
5611 (FRAME_W32_CONSOLE_P): New macro.
5612
5613 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5614 use output_w32_console method.
5615 (Qw32_console): New Lisp_Object.
5616 (Fframep): Return it.
5617 (syms_of_frame): Init it.
5618 (Fframe_parameters): Report w32console as font for w32_console frames.
5619
5620 * xfaces.c (realize_default_face): Set face foreground and
5621 background to unspecified for w32_console frames.
5622 (realize_face): Realize face cache for w32_console frames.
5623 (realize_tty_face): Accept w32_console frames.
5624
5625 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
5626 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5627 necessary, even if running interactively.
5628
5629 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5630 w32_console frames.
5631
5632 * w32term.c (x_update_begin):
5633 (x_update_end):
5634 (x_clear_frame):
5635 (x_ins_del_lines):
5636 (x_change_line_highlight):
5637 (x_delete_glyphs):
5638 (w32_ring_bell):
5639 (x_update_begin):
5640 (x_update_end):
5641 (w32_reassert_line_highlight):
5642 (w32_frame_rehighlight):
5643 (w32_frame_raise_lower): Do nothing if not w32 frame.
5644
5645 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5646
5647 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5648 system doesn't tell us directly.
5649 (Fx_display_visual_class): Implement properly.
5650
5651 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5652
5653 * window.c (Frecenter): Handle centering in graphical frames
5654 specially. Centering on the basis of line counts doesn't work
5655 reliably with variable-height lines.
5656
5657 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5658
5659 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5660 and al[].
5661
5662 * composite.c (run_composition_function): Remove unused var `val'.
5663 (update_compositions): Remove unused variable `hook'.
5664
5665 * intervals.c (get_local_map): Remove unused variable `tem'.
5666
5667 * doprnt.c (doprnt1): Remove unused variable `size'.
5668
5669 * fns.c (Flength): Remove unused variable `tail'.
5670 (Fdelete): Remove unused variable `size'.
5671
5672 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5673 and `gcpro2'.
5674
5675 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
5676
5677 * data.c (find_symbol_value): Remove extra 3rd argument in the
5678 call to swap_in_symval_forwarding.
5679
5680 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
5681
5682 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5683 (trivial_regexp_p): Remove unused variable `c'.
5684 (boyer_moore): Remove unused variable `k'.
5685
5686 * indent.c (current_column): Remove unused variable `stopchar'.
5687 (Fcompute_motion): Remove unused variable `contin'.
5688
5689 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5690
5691 * dired.c (directory_files_internal): Fix a typo in a comment.
5692 Remove an unused variable `handler'.
5693 (file_name_completion): Remove unused function-scope variable `dp'.
5694 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5695 on BSD4_2.
5696
5697 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
5698
5699 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5700 and `buf'.
5701 (Fmarker_insertion_type): Remove unused variable `buf'.
5702
5703 * insdel.c (make_gap): Remove unused variable `result'.
5704
5705 * keyboard.c (record_char): Remove unused function-scope var `help'.
5706 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5707 (menu_bar_items): Remove unused function-scope variable `tem'.
5708
5709 * fontset.c (fontset_ref): Remove unused variable `i'.
5710 (fontset_set): Remove unused variables `j' and `tmp'.
5711 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
5712 (make_fontset_for_ascii_face): Remove unused variable `name'.
5713 (fs_load_font): Remove unused variable `font_idx'.
5714 (fs_query_fontset): Remove unused function-local variable `fontset'.
5715 (list_fontsets): Remove unused variable `tail'.
5716 (Fnew_fontset): Remove unused variables `family' and `registry'.
5717 (accumulate_font_info): Remove unused variable `tmp'.
5718 (Ffontset_font): Remove unused variable `id'.
5719 (syms_of_fontset): Remove unused variable `i'.
5720
5721 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5722 to x_term_init.
5723 (lookup_image): Remove unused variable `file'.
5724 (xbm_load): Remove unused variables `bitmap_data', `height', and
5725 `width'. Remove function-local variable `i', leave the
5726 block-local one.
5727 (gif_load): Remove unused variable `inc'.
5728
5729 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
5730 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5731 leave only the one in the inner block.
5732
5733 * xfaces.c (face_fontset, realize_default_face): Remove unused
5734 variable `fontset'.
5735 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5736
5737 * term.c (encode_terminal_code): Remove unused variable `c'.
5738
5739 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5740 char *' instead of `char *'.
5741
5742 * category.c (Fcategory_docstring): Remove unused variable `doc'.
5743 (Fget_unused_category): Remove unused variable `docstring_vector'.
5744 (Fchar_category_set): Remove unused variables `val', `charset',
5745 `c1' and `c2'.
5746
5747 * coding.c (detect_coding_iso2022, setup_coding_system):
5748 Remove unused variable `i'.
5749 (detect_coding_mask): Remove unused variable `idx'.
5750 (detect_coding): Remove unused variable `i'.
5751 (ccl_coding_driver): Remove unused variable `result'.
5752 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
5753 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
5754 (encode_coding_string): Remove unused variables `gcpro1' and
5755 `saved_coding_symbol'.
5756 (Ffind_coding_systems_region_internal): Remove function-local
5757 variable args[], leave only the block-local one.
5758 (code_convert_region1): Remove unused variable `len'.
5759
5760 * charset.c (char_printable_p): Remove unused variable `chars'.
5761 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5762 (str_to_multibyte): Remove unused variable `c'.
5763
5764 * window.c (size_window): Remove block-local variable `min_size'.
5765
5766 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5767 `header_line_height'.
5768 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5769 enum display_element_type.
5770
5771 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5772
5773 * xterm.c (x_connection_closed): Catch X errors around all
5774 statements that call X. Save away the error message in a local copy.
5775
5776 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5777 the start.
5778
5779 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5780 in or at the start of invisible text.
5781
5782 * dispnew.c (update_window): Don't check_current_matrix_flags.
5783
5784 2001-01-01 Jason Rumney <jasonr@gnu.org>
5785
5786 * w32fns.c (x_figure_window_size): Do not allow new_height and
5787 new_width of frame to override specified values.
5788
5789 2000-12-30 Kenichi Handa <handa@etl.go.jp>
5790
5791 * composite.c (find_composition): Fix a code for searching backward.
5792
5793 2000-12-29 Gerd Moellmann <gerd@gnu.org>
5794
5795 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
5796 (update_window) [GLYPH_DEBUG]: Call it.
5797 (scrolling_window): Prevent including current rows which are below
5798 what's displayed in the window.
5799
5800 * xdisp.c (try_window_reusing_current_matrix)
5801 <new start <= old start>: Disable rows in the current matrix
5802 which are below the window after scrolling.
5803
5804 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5805 is zero. It's not worth the complexity.
5806 (invisible_text_between_p): Put in #if 0 because unused.
5807
5808 2000-12-28 Gerd Moellmann <gerd@gnu.org>
5809
5810 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5811 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5812
5813 * keyboard.c (echo_char): If C is an integer, always call
5814 push_key_description. Former code could signal an invalid
5815 character error.
5816
5817 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5818 If set, print multibyte text.
5819 (Fsingle_key_description): Call push_key_description with
5820 FORCE_MULTIBYTE set.
5821 (describe_buffer_bindings): Likewise.
5822
5823 * lisp.h (push_key_description): Add prototype.
5824
5825 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5826 around the call to redisplay_internal.
5827
5828 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5829
5830 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5831
5832 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5833
5834 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5835 (ccl_driver): New local variable `extra_bytes'.
5836
5837 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5838
5839 * coding.c (setup_coding_system):
5840 Initialize coding->spec.ccl.eight_bit_carryover.
5841 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5842
5843 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5844
5845 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5846 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5847 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5848 (decode_composition_emacs_mule): New function.
5849 (decode_coding_emacs_mule): Decode composition sequence by calling
5850 decode_composition_emacs_mule.
5851 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
5852 (encode_coding_emacs_mule): Changed from macro to function.
5853 If a text contains compositions, encode them correctly.
5854 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5855 that decoding and encoding are required.
5856
5857 2000-12-27 Gerd Moellmann <gerd@gnu.org>
5858
5859 * xfaces.c (PT_PER_INCH): New macro.
5860 (xlfd_point_size): Compute real point size from font's pixel size.
5861 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5862 instead of 72.
5863
5864 * .gdbinit: Comment out the line pointing to the Lesstif source
5865 directory.
5866
5867 * window.c (Frecenter): Use displayed_window_lines instead
5868 of window_internal_height.
5869
5870 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5871 instead of x-toolkit-scroll-bars-p.
5872 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5873
5874 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5875 instead of x-toolkit-scroll-bars-p.
5876 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5877
5878 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5879 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
5880 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5881 New variables.
5882 (add_window_display_history, add_frame_display_history)
5883 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5884 (build_frame_matrix_from_leaf_window): Remove unused code.
5885 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5886 redisplay history.
5887 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5888 (update_window) [GLYPH_DEBUG]: Likewise.
5889 (syms_of_display): Defsubr dump-redisplay-history.
5890
5891 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5892
5893 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5894 the end of the prompt. Set echo_after_prompt to the offset
5895 of echoptr in echobuf.
5896
5897 * xdisp.c (init_from_display_pos): Pop until the iterator's
5898 stack is empty; there may be frames for stretch or images
5899 on the stack.
5900
5901 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5902 (save_or_restore_current_matrix): New function for the same
5903 purpose, but more efficient.
5904 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5905
5906 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5907
5908 * xdisp.c (syms_of_xdisp): Fix last change.
5909
5910 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5911
5912 * xdisp.c (syms_of_xdisp): Doc fix.
5913
5914 * xdisp.c (redisplay_window): Remove label restore_buffers;
5915 use finish_scroll_bars instead to make sure that scroll bars
5916 are redeemed. If we don't do this, flickering can result from
5917 scroll bars being destroyed and recreated.
5918
5919 2000-12-22 Jason Rumney <jasonr@gnu.org>
5920
5921 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5922 in the wrong colors when the foreground is not black.
5923 (expose_window): Don't redraw the window that's currently being
5924 updated.
5925
5926 2000-12-22 Gerd Moellmann <gerd@gnu.org>
5927
5928 * window.c (size_window): When setting the window's too_small_ok
5929 flag, compare old size with minimum size depending on WIDTH_P,
5930 don't compare with window_min_width.
5931
5932 * window.c (delete_window): Simplify somewhat.
5933 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5934 freeing window matrices. The flag windows_or_buffers_changed is
5935 set, so the next redisplay will consider all windows; this should
5936 suffice.
5937
5938 2000-12-22 Kenichi Handa <handa@etl.go.jp>
5939
5940 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5941
5942 * ccl.h (struct ccl_program): New member cr_consumed.
5943
5944 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5945 (CCL_READ_CHAR): Handle EOL conversion here.
5946 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5947
5948 2000-12-21 Gerd Moellmann <gerd@gnu.org>
5949
5950 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
5951
5952 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5953 otherwise tabs of different size compare equal.
5954
5955 * callint.c (Fcall_interactively): Prevent a compiler warning.
5956
5957 * print.c (print_unwind): Return nil.
5958 (PRINTDECLARE): Initialize all local variables.
5959 (print_preprocess): Add a default case.
5960
5961 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5962
5963 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5964
5965 * window.c (delete_window, Fsplit_window)
5966 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5967
5968 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5969
5970 * dispnew.c (ensure_frame_matrix): Removed.
5971 (save_frame_matrix, restore_frame_matrix): New functions.
5972 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5973
5974 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5975 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5976
5977 2000-12-21 Andrew Innes <andrewi@gnu.org>
5978
5979 * w32term.c (x_update_begin): Regenerate the palette here, rather
5980 than for each window.
5981
5982 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5983 palette is NULL, since this corrupts memory! Also get
5984 display_info reference from frame.
5985
5986 2000-12-21 Jason Rumney <jasonr@gnu.org>
5987
5988 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5989
5990 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5991 to avoid returning without releasing it.
5992
5993 2000-12-21 Kenichi Handa <handa@etl.go.jp>
5994
5995 * keymap.c (push_key_description): Don't convert eight-bit-control
5996 and eight-bit-graphic to multibyte character.
5997
5998 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5999 generic character and CODE1 is nil, return the smallest character
6000 in CHARSET.
6001
6002 2000-12-20 Dave Love <fx@gnu.org>
6003
6004 * s/osf5-0.h (NSIG): Don't redefine.
6005
6006 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6007
6008 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6009 excluding menu-bar and tool-bar.
6010 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6011 (menu_item_p): Remove.
6012 (where_is_internal_1): Don't ignore menu-items.
6013
6014 2000-12-20 Gerd Moellmann <gerd@gnu.org>
6015
6016 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6017 into account.
6018
6019 * window.c (make_window): Initialize window's min_hscroll.
6020 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6021 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6022 to zero.
6023 (struct saved_window): New member min_hscroll.
6024 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6025 (Fset_window_configuration): Set window's min_hscroll.
6026 (save_window_save): Save window's min_hscroll.
6027 (compare_window_configurations): Compare min_hscroll values.
6028
6029 * window.h (struct window): New member min_hscroll.
6030
6031 * keyboard.c (echo_prompt): Prevent a compiler warning.
6032
6033 * xdisp.c (try_cursor_movement): Fix last change. The real
6034 condition is that PT is at the end of the row, and should
6035 be displayed at the start of the next row.
6036
6037 * xdisp.c (try_cursor_movement): If we end on a partially
6038 visible line, end we already decided to scroll, return -1.
6039
6040 * dispextern.h (ensure_frame_matrix): Add prototype.
6041
6042 * window.c (delete_window, Fsplit_window)
6043 (Fset_window_configuration): Call ensure_frame_matrix.
6044
6045 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6046 New functions.
6047 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6048 completed, call fake_current_matrices instead of marking frame
6049 garbaged.
6050
6051 2000-12-20 Jason Rumney <jasonr@gnu.org>
6052
6053 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6054
6055 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6056
6057 * fns.c (Frequire): Doc fix.
6058
6059 2000-12-19 Gerd Moellmann <gerd@gnu.org>
6060
6061 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
6062
6063 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6064 currently displaying a message.
6065
6066 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6067 xterm.h.
6068 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6069
6070 2000-12-18 Andrew Innes <andrewi@gnu.org>
6071
6072 * w32.c (w32_strerror): New function.
6073
6074 * w32.h (w32_strerror): New extern.
6075
6076 * w32fns.c (Fw32_shell_execute): Use it.
6077
6078 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6079
6080 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6081
6082 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6083
6084 * msdos.c (IT_set_face): Obey inverse_video.
6085
6086 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6087
6088 * dired.c (directory_files_internal): Always return decoded filenames.
6089
6090 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6091
6092 * xterm.c (x_connection_closed): Prevent being called recursively
6093 because of an error condition in XtCloseDisplay.
6094
6095 * xdisp.c (init_iterator): If noninteractive, and the frame's
6096 face cache is null, make one.
6097
6098 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
6099
6100 * process.c (wait_reading_process_input): Check for pending
6101 input when running timers.
6102
6103 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6104
6105 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
6106
6107 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6108
6109 * process.c (read_process_output): Don't run a filter if the code
6110 decoder produces nothing but carryover.
6111
6112 2000-12-17 Andrew Innes <andrewi@gnu.org>
6113
6114 * w32.c (sys_rename): Only check errno against EEXIST, and not
6115 EACCES, when determining whether rename failed because the target
6116 exists. This was resulting in indefinite looping on Windows 9x if
6117 the source file was locked by another process.
6118
6119 * w32fns.c (Ffile_system_info): New function.
6120 (syms_of_w32fns): Defsubr it.
6121
6122 2000-12-17 Gerd Moellmann <gerd@gnu.org>
6123
6124 * window.c (coordinates_in_window): Fix computation for
6125 position on vertical line between mode lines.
6126
6127 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6128 Don't alter tip_frame or tip_window.
6129 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6130 was deleted.
6131
6132 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6133 Don't alter tip_frame or tip_window.
6134 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6135 was deleted.
6136
6137 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6138
6139 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6140 be consistent with the doc string. Reported by NAKAJIMA Mikio
6141 <minakaji@osaka.email.ne.jp>.
6142
6143 2000-12-16 Kenichi Handa <handa@etl.go.jp>
6144
6145 * xfaces.c (Vface_ignored_fonts): New variable.
6146 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6147 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6148
6149 2000-12-15 Gerd Moellmann <gerd@gnu.org>
6150
6151 * dispnew.c (update_window): Detect pending input every nth line
6152 updated, i.e. do it depending on real work done, and not on the
6153 vpos of the line.
6154
6155 * xterm.c (expose_window): Don't redraw the window that's
6156 currently being updated.
6157
6158 * window.c (Fset_window_point): Remove test for
6159 cursor_in_non_selected_windows.
6160
6161 * lread.c (read1): Recognize end of file after `\\'.
6162
6163 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6164 not unwind_create_frame.
6165
6166 2000-12-15 Dave Love <fx@gnu.org>
6167
6168 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6169 bcopy & al.
6170
6171 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6172
6173 2000-12-15 Kenichi Handa <handa@etl.go.jp>
6174
6175 * coding.c (setup_coding_system): Clear all members of the struct
6176 coding_system at first.
6177 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6178 argument.
6179 (code_convert_region): Don't override coding->src_multibyte and
6180 coding->dst_multibyte.
6181
6182 * fns.c (Fmd5): Docstring improved.
6183
6184 2000-12-15 Miles Bader <miles@gnu.org>
6185
6186 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6187 are actually marked as mode-lines; otherwise use
6188 estimate_mode_line_height.
6189
6190 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6191
6192 * editfns.c (Fformat): Prevent a buffer overrun when the format
6193 specifies a precision.
6194
6195 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6196
6197 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6198 argument is outside the range [2..3].
6199
6200 2000-12-14 Andrew Innes <andrewi@gnu.org>
6201
6202 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6203 nothing to do. Bind inhibit-quit.
6204 (tip_frame): Make it a Lisp_Object.
6205 (x_create_tip_frame): Set tip_frame after it has been added to
6206 Vframe_list.
6207 (Fx_show_tip): Don't set tip_frame here.
6208 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
6209 (unwind_create_frame, unwind_create_tip_frame): New functions.
6210 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6211 while a frame is only partially constructed.
6212
6213 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6214 (x_free_frame_resources): New function.
6215 (x_destroy_window): Use it.
6216
6217 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6218
6219 * xfns.c (Fx_backspace_delete_keys_p): New function.
6220 (syms_of_xfns): Defsubr it.
6221
6222 * config.in (HAVE_XKBGETKEYBOARD): Add.
6223
6224 2000-12-14 Kenichi Handa <handa@etl.go.jp>
6225
6226 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6227 Always store string in multibyte representation in echobuf.
6228 (echo_char): Always store string in multibyte representation in
6229 echobuf.
6230 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6231 (read_key_sequence): Adjusted for the change of echo_prompt.
6232
6233 * fns.c (Fmd5): Docstring improved.
6234
6235 * lisp.h (detect_coding_system): Prototype adjusted.
6236
6237 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6238 (detect_coding_emacs_mule, detect_coding_iso2022,)
6239 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
6240 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6241 New argument MULTIBYTEP. Callers changed.
6242 (detect_coding_mask, detect_coding_system): New argument
6243 MULTIBYTEP. Callers changed.
6244 (decode_coding_string): Set coding->src_multibyte and
6245 coding->dst_multibyte before calling detect_coding and detect_eol.
6246 Update them after some coding system is detected.
6247
6248 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6249
6250 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6251
6252 * keyboard.c (menu_bar_items, tool_bar_items):
6253 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6254
6255 2000-12-13 Gerd Moellmann <gerd@gnu.org>
6256
6257 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
6258 New variables.
6259 (unwind_create_frame, unwind_create_tip_frame): New functions.
6260 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6261 while a frame is only partially constructed.
6262
6263 * xterm.h (x_free_frame_resources): Declare.
6264
6265 * xterm.c (x_free_frame_resources): New function.
6266 (x_destroy_window): Use it.
6267
6268 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6269 don't interrupt the update for pending input initially, i.e.
6270 update at least some lines.
6271
6272 * keyboard.c (do_mouse_tracking): Make externally visible.
6273
6274 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
6275
6276 * xfns.c (gray_bitmap_bits): Declare `char *'.
6277
6278 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6279
6280 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6281 lines start with a relief line.
6282
6283 2000-12-12 Dave Love <fx@gnu.org>
6284
6285 * window.c (Fdisplay_buffer): Doc fix.
6286 (Fwindow_list): Remove unused var.
6287
6288 * buffer.h (mmap_set_vars): Declare.
6289
6290 * window.h (Fset_window_point): Declare.
6291
6292 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6293
6294 * msdos.c (fast_find_position): Don't overstep the last window row.
6295 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6296 variable `area'. When looking for a row under (X,Y), give up if some
6297 of the previous rows is not enabled.
6298
6299 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6300
6301 * window.c (Fset_window_point): If displaying cursors in windows
6302 other than the selected window, make sure redisplay updates
6303 other windows to show the new value of point in the window.
6304
6305 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6306
6307 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6308 the buffer is the sole visible buffer when in the mini-buffer.
6309
6310 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
6311 Bind `inhibit-read-only' to t.
6312 (unwind_with_echo_area_buffer): Use AREF.
6313
6314 * xfns.c (Fx_hide_tip): Simplified.
6315
6316 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6317 instead of `1'.
6318
6319 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6320
6321 2000-12-11 Gerd Moellmann <gerd@gnu.org>
6322
6323 * xfns.c (Fx_hide_tip): Fix last change.
6324
6325 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6326 nothing to do. Bind inhibit-quit.
6327 (tip_frame): Make it a Lisp_Object.
6328 (x_create_tip_frame): Set tip_frame after it has been added to
6329 Vframe_list.
6330 (Fx_show_tip): Don't set tip_frame here.
6331
6332 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6333
6334 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6335 Lisp_Object.
6336
6337 * dispextern.h: Change external declaration of tip_frame.
6338
6339 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6340 return an empty string.
6341
6342 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6343 of the window's update_mode_line flag, since the former is set by
6344 force-mode-line-update, not the latter. This makes
6345 column-number-mode slightly faster.
6346
6347 * xdisp.c (try_window_id) <all changes above window start>:
6348 Set the cursor.
6349
6350 2000-12-11 Paul Eggert <eggert@twinsun.com>
6351
6352 * config.in (HAVE_FTELLO): Remove.
6353 (HAVE_FSEEKO): Add.
6354 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6355 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6356 HAVE_FTELLO.
6357 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6358 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
6359
6360 2000-12-11 Miles Bader <miles@gnu.org>
6361
6362 * window.c (displayed_window_lines): Don't round up when
6363 converting empty space at bottom to lines.
6364 Handle non-newline-terminated final lines properly.
6365 (Fwindow_text_height): New function (used to be in lisp).
6366 (syms_of_window): Initialize it.
6367
6368 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6369
6370 * syntax.c (scan_lists): Check that the right quote char has the
6371 right Sstring syntax when jumping over strings.
6372 (init_syntax_once): Use Smax rather than 13.
6373
6374 2000-12-09 Miles Bader <miles@gnu.org>
6375
6376 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6377 with PARTIALLY, inverting the sense.
6378 (window_scroll_pixel_based): Scroll partially visible lines into
6379 place if we hit the beginning or end of the buffer.
6380 (displayed_window_lines): Don't include partially visible lines.
6381 (Fmove_to_window_line): Skip past any partially visible first line.
6382
6383 2000-12-08 Gerd Moellmann <gerd@gnu.org>
6384
6385 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6386
6387 * tparam.c (tparam1): Change the way buffers are reallocated to be
6388 portable and less obfuscated.
6389
6390 * termcap.c (tgetent): Change the way buffers are reallocated to
6391 be portable and less obfuscated.
6392
6393 * macros.c (store_kbd_macro_char): Change the way buffers are
6394 reallocated to be portable and less obfuscated.
6395
6396 * lread.c (read1): Change the way buffers are reallocated to be
6397 portable and less obfuscated.
6398
6399 * doc.c (Fsubstitute_command_keys): Change the way buffers
6400 are reallocated so that it is portable.
6401
6402 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6403
6404 * dosfns.c (Ffile_system_info): New function.
6405 (syms_of_dosfns): Defsubr it.
6406
6407 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6408
6409 * alloc.c (gc_sweep): Add comment.
6410
6411 2000-12-07 Gerd Moellmann <gerd@gnu.org>
6412
6413 * sound.c (vox_configure): Change order of ioctls.
6414 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
6415 Ignore errors when changing volume.
6416 (vox_close): Don't reset the device.
6417
6418 * process.c (read_process_output): Make sure the process marker's
6419 position is valid when the process buffer is changed in
6420 after-change functions. W3 does that.
6421
6422 * xfns.c (x_free_gcs): New function.
6423
6424 * xterm.h (x_free_gcs): Add prototype.
6425
6426 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6427 freeing GCs here.
6428
6429 * xterm.c (x_destroy_window): Call x_free_gcs so that
6430 resources of non-toolkit X windows will be freed.
6431
6432 2000-12-07 Andrew Innes <andrewi@gnu.org>
6433
6434 * w32fns.c (xlfd_charset_of_font): Fix last change.
6435
6436 2000-12-06 Dave Love <fx@gnu.org>
6437
6438 * md5.h (__P): Don't define -- it comes from config.h.
6439
6440 * strftime.c: Change some #if foo to #ifdef foo.
6441
6442 2000-12-06 Andrew Innes <andrewi@gnu.org>
6443
6444 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6445
6446 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
6447 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
6448 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
6449
6450 2000-12-06 Gerd Moellmann <gerd@gnu.org>
6451
6452 * alloc.c (gc_sweep): Prevent symbols read during loadup
6453 from being freed.
6454
6455 * xdisp.c (underlying_face_id): New function.
6456 (handle_face_prop, face_before_or_after_it_pos): Use it
6457 to determine the face ``under'' a string. Let strings inherit
6458 the face of the buffer under them.
6459
6460 * xfaces.c (face_at_string_position): Update function comment.
6461
6462 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6463 matrix if the window's left position has changed; we need to
6464 redraw it in this case.
6465
6466 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6467
6468 * window.c (coordinates_in_window): Check mouse on mode-line or
6469 header-line first.
6470
6471 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6472 advertized by the function documentation.
6473
6474 * window.c (syms_of_window): Doc fix.
6475
6476 * sound.c (vox_configure): Set volume for left and right channel.
6477 (sound_cleanup): Return nil.
6478
6479 * xdisp.c (move_it_by_lines): Fix paren typo.
6480
6481 * xterm.c (x_load_font): Don't use the font's max_bounds for
6482 computing the height of the font. If max_bounds' ascent or
6483 descent are greater than the font's ascent or descent, this means
6484 glyphs overlap, which should be handled now by redisplay.
6485
6486 * window.c (Veven_window_heights): New variable.
6487 (syms_of_window): DEFVAR_LISP it.
6488 (Fdisplay_buffer): Check Veven_window_heights before evening the
6489 window heights.
6490
6491 2000-12-06 Miles Bader <miles@gnu.org>
6492
6493 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6494 update `default-frame-alist' instead of setting no frame parameters.
6495
6496 2000-12-06 Kenichi Handa <handa@etl.go.jp>
6497
6498 * composite.c (update_compositions): Fix typo (use the correct
6499 variable).
6500
6501 2000-12-05 Jason Rumney <jasonr@gnu.org>
6502
6503 * md5.h: Remove underscores from function declarations.
6504 (__attribute__, __alignof__) [!__GNUC__]: Define.
6505
6506 * md5.c: Delay include of md5.h until after namespace cleaning.
6507
6508 * makefile.w32-in (fns.o): Depend on md5.h
6509 (md5.o): New target.
6510 (sunfns.o): Remove.
6511
6512 * makefile.nt: Likewise.
6513
6514 2000-12-05 Jason Rumney <jasonr@altavista.net>
6515
6516 * w32term.c (expose_area): Complete last change.
6517
6518 2000-12-05 Ken Raeburn <raeburn@gnu.org>
6519
6520 * minibuf.c: Include intervals.h.
6521
6522 2000-12-05 Jason Rumney <jasonr@gnu.org>
6523
6524 * w32term.c (x_produce_glyphs): If a font for a component of
6525 a composition is not found, use 1 pixel dot ascent and 0 dot
6526 descent value to avoid displaying terribly tall empty boxes.
6527 (expose_area): Pass x-coordinate relative to the exposed
6528 area to x_draw_glyphs instead of a window-relative coordinate.
6529
6530 2000-12-05 Gerd Moellmann <gerd@gnu.org>
6531
6532 * xdisp.c (next_element_from_ellipsis): Save face before selective
6533 display in saved_face_id, and set face_before_selective_p.
6534 (reseat_1): Reset face_before_selective_p.
6535 (append_space, extend_face_to_end_of_line): If iterator's
6536 face_before_selective_p is set, use the face from saved_face_id.
6537 (extend_face_to_end_of_line): For tty frames, make sure to
6538 use the right face id when producing spaces at the end of
6539 the line.
6540
6541 * dispextern.h (struct it): Add face_before_selective_p.
6542
6543 * keyboard.c (record_char): Don't record identical help-echo
6544 events in recent_keys.
6545
6546 * xterm.c [USE_X_TOOLKIT]: Close the display.
6547 (xim_close_dpy): Handle case that the display has been closed.
6548
6549 * xterm.c (x_destroy_window): Reset the frame's X window after
6550 destroying it.
6551
6552 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6553 variable window_width.
6554 (line_draw_cost): Fix code skipping over spaces at the end of the
6555 line when must_write_spaces is not set.
6556 (scrolling_window): Fix code inserting runs in list of all runs.
6557
6558 2000-12-05 Kenichi Handa <handa@etl.go.jp>
6559
6560 * coding.c (setup_coding_system): Be sure to initialize
6561 coding->category_idx.
6562
6563 2000-12-04 Gerd Moellmann <gerd@gnu.org>
6564
6565 * xterm.c (PER_CHAR_METRIC): Removed because not used.
6566
6567 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6568 area to x_draw_glyphs instead of a window-relative coordinate.
6569
6570 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6571 error in the message.
6572
6573 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6574 timer after having read a key. It's not good for code reading
6575 several keys in a loop, like an input method.
6576
6577 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6578 record undo information for format-decode.
6579
6580 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6581 current buffer is read-only, not if it isn't.
6582
6583 * keyboard.c (record_char): Record `help-echo' input events
6584 in recent_keys only if they display some help. Don't record
6585 `help-echo' events as macro char.
6586
6587 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6588
6589 * editfns.c (save_excursion_restore): Don't move point
6590 in another window if it is showing the wrong buffer.
6591 Avoid the call to Fwindow_live_p, for speed.
6592
6593 2000-12-04 Kenichi Handa <handa@etl.go.jp>
6594
6595 * xfaces.c (struct font_name): New member registry_priority.
6596 (split_font_name): Initialize the above member to zero.
6597 (concat_font_list): New function.
6598 (font_list): Include fonts of all alternative registries.
6599 (FONT_POINT_SIZE_QUANTUM): New macro.
6600 (better_font_p): Ignore point size difference less than
6601 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6602
6603 * xterm.c (x_produce_glyphs): If a font for a component of
6604 a composition is not found, use 1 pixel dot ascent and 0 dot
6605 descent value to avoid displaying terribly tall empty boxes.
6606
6607 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6608
6609 2000-12-03 Ken Raeburn <raeburn@gnu.org>
6610
6611 * coding.h (code_convert_string1): Declare.
6612
6613 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6614
6615 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
6616
6617 2000-12-02 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6620 correctly for single byte character case.
6621 (w32_per_char_metric): Do not try to make any assumptions about
6622 the metrics of BDF fonts.
6623 (x_estimate_mode_line_height): If `mode-line' face
6624 hasn't a font, use that of the frame, as drawing glyphs does.
6625 (note_mouse_highlight): Change the cursor shape on the vertical
6626 border between windows [not enabled].
6627
6628 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6629
6630 * w32fns.c (Fx_create_frame): Reintroduce the call to
6631 face-set-after-frame-defaults.
6632 (Vx_window_horizontal_drag_shape): New variable.
6633 (syms_of_xfns): DEFVAR_LISP it.
6634 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6635 enabled].
6636
6637 2000-12-02 Simon Josefsson <simon@josefsson.org>
6638
6639 * fns.c (Fmd5): Use a different logic to decide the coding system
6640 to use.
6641
6642 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6643
6644 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6645
6646 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
6647
6648 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6649
6650 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6651 height for YNegative.
6652 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6653 height; also see comment there.
6654
6655 * window.c (coordinates_in_window): Handle computations for
6656 positions on the vertical bar and fringes differently for
6657 window-system frames. Consider some pixels near the vertical bar
6658 as on the bar if the frame doesn't have vertical scroll bars.
6659 Associate positions between mode or header lines with the
6660 right window, the left one.
6661
6662 2000-12-01 Jason Rumney <jasonr@gnu.org>
6663
6664 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6665
6666 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6667 invalid frame.
6668
6669 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6670
6671 * window.c (struct saved_window): Add members orig_top and orig_height.
6672 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6673 (save_window_save, Fset_window_configuration): Save/restore
6674 window's orig_top and orig_height.
6675
6676 2000-12-01 Jason Rumney <jasonr@gnu.org>
6677
6678 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
6679
6680 * w32fns.c (x_set_cursor_color): Fix last change.
6681
6682 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6683
6684 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6685 sure that the next redisplay displays the minibuffer, so that
6686 the cursor will be replaced with what the minibuffer wants.
6687
6688 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6689 #ifndef instead of using #if.
6690 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6691 USE_TOOLKIT_SCROLL_BARS is defined.
6692
6693 2000-11-30 Jason Rumney <jasonr@gnu.org>
6694
6695 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6696 x_display_cursor.
6697
6698 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6699
6700 * fns.c (Fmd5): Doc fix.
6701
6702 2000-11-30 Simon Josefsson <simon@josefsson.org>
6703
6704 * fns.c (Fmd5): New function.
6705 (syms_of_fns): Defsubr md5.
6706
6707 * Makefile.in (obj): Add md5.o
6708
6709 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6710
6711 * md5.h, md5.c: New files, taken from glibc.
6712
6713 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6714
6715 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
6716 hasn't a font, use that of the frame, as drawing glyphs does.
6717
6718 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6719
6720 * eval.c (Frun_hooks): Allow 0 arguments.
6721
6722 2000-11-29 Gerd Moellmann <gerd@gnu.org>
6723
6724 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6725 is over the menu bar widget, say it's not on the frame.
6726
6727 * xfns.c (Fx_create_frame): Reintroduce the call to
6728 face-set-after-frame-defaults.
6729
6730 * eval.c (Fsignal): Reset handling_signal.
6731
6732 2000-11-28 Jason Rumney <jasonr@gnu.org>
6733
6734 * w32menu.c (add_menu_item): Reset menu item text when changing
6735 type to radio button.
6736
6737 2000-11-28 Gerd Moellmann <gerd@gnu.org>
6738
6739 * xselect.c: Update copyright.
6740
6741 * window.c (coordinates_in_window): If on a mode or header line,
6742 but sufficiently close to its start, return ``on vertical
6743 border''. This gives us a way to drag windows horizontally when
6744 using toolkit scroll bars.
6745
6746 * xterm.c (note_mouse_highlight): Change the cursor shape
6747 on the vertical border between windows.
6748
6749 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6750
6751 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6752 (syms_of_xfns): DEFVAR_LISP it.
6753 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6754
6755 * textprop.c (text_read_only): New function.
6756 (verify_interval_modification): Use it instead of signaling
6757 `text-read-only'. This makes it easier to catch this error
6758 with a breakpoint.:
6759
6760 * xdisp.c (forward_to_next_line_start): Check for newlines,
6761 not end of line, which includes CR.
6762
6763 2000-11-28 Kenichi Handa <handa@etl.go.jp>
6764
6765 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6766 include no-conversion.
6767
6768 2000-11-27 Jason Rumney <jasonr@gnu.org>
6769
6770 * w32fns.c (w32_load_system_font): Always mark font as double byte
6771 if codepage is unicode.
6772
6773 2000-11-27 Gerd Moellmann <gerd@gnu.org>
6774
6775 * xdisp.c (forward_to_next_line_start): If already on a newline,
6776 just consume it to avoid unintended skipping over invisible text below.
6777
6778 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6779 `vertical-line', `mode-line' and `header-line' events.
6780
6781 * xdisp.c (try_window_id): Avoid starting to display in the middle
6782 of a character, a TAB for instance. This is easier than to set
6783 up the iterator exactly, and it's not a frequent case, so the
6784 additional effort wouldn't really pay off.
6785
6786 2000-11-26 Andrew Choi <akochoi@i-cable.com>
6787
6788 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
6789 init_window_once.
6790
6791 2000-11-25 Jason Rumney <jasonr@gnu.org>
6792
6793 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6794 Args to window_from_coordinates should be pixel coordinates.
6795
6796 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6797 redisplay handles them properly.
6798
6799 2000-11-25 Miles Bader <miles@gnu.org>
6800
6801 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6802
6803 2000-11-24 Jason Rumney <jasonr@gnu.org>
6804
6805 * w32.c (init_environment): Set LANG environment variable based on
6806 locale settings, if not set.
6807
6808 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6809 making tool bar smaller. When clearing the frame, also
6810 clear current matrices. Clear frame when tool bar disappears.
6811 Don't use more lines for the tool-bar than is available.
6812 (x_change_window_heights): New function.
6813
6814 2000-11-24 Gerd Moellmann <gerd@gnu.org>
6815
6816 * xdisp.c (init_from_display_pos): If POS says we're already after
6817 an overlay string ending at POS, make sure to pop the iterator
6818 because it will be in front of that overlay string. When POS is
6819 ZV, we've thereby also ``processed'' overlay strings at ZV.
6820
6821 * xfaces.c (lface_from_face_name): Function comment fix.
6822
6823 2000-11-24 Miles Bader <miles@gnu.org>
6824
6825 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6826 apply `mode-line-inverse-video' -- zero means force display using
6827 the default face, non-zero means display using the specialized face.
6828 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6829
6830 2000-11-23 Kenichi Handa <handa@etl.go.jp>
6831
6832 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6833 hard coded `4'.
6834
6835 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6836
6837 * coding.c (decode_coding_emacs_mule): Fix the case of
6838 CODING_EOL_LF, which used uninitialized value of c.
6839
6840 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6841
6842 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6843
6844 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6845
6846 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6847 buffer object.
6848
6849 * frame.h (struct frame): Replace desired_tool_bar_items,
6850 current_tool_bar_items, n_desired_tool_bar_items,
6851 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
6852
6853 * frame.c (make_frame): Change initialization of tool bar
6854 items accordingly.
6855
6856 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
6857 Change references to members deleted from struct frame to use the
6858 new ones.
6859
6860 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
6861 references to members deleted from struct frame to use the new ones.
6862
6863 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
6864
6865 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6866
6867 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
6868 (note_tool_bar_highlight): Change references to members deleted
6869 from struct frame to use the new ones.
6870
6871 2000-11-23 Miles Bader <miles@gnu.org>
6872
6873 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6874 the face's inverse-video attribute, rather than overriding it.
6875
6876 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6877
6878 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6879 making tool bar smaller.
6880
6881 2000-11-22 Dave Love <fx@gnu.org>
6882
6883 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6884
6885 2000-11-22 Miles Bader <miles@gnu.org>
6886
6887 * keyboard.c (Vminibuffer_message_timeout): New variable.
6888 (command_loop_1): Use it to determine message timeout.
6889 (syms_of_keyboard): Initialize it.
6890
6891 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
6892
6893 2000-11-22 Kenichi Handa <handa@etl.go.jp>
6894
6895 * sysdep.c: Move the code for declaring h_errno after #include
6896 <netdb.h>.
6897
6898 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6899
6900 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6901 the menu bar when the tooltip is unmapped.
6902
6903 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6904 sole visible buffer when we're currently in the mini-buffer, and
6905 give up if so.
6906
6907 2000-11-21 Jason Rumney <jasonr@gnu.org>
6908
6909 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6910 put on the clipboard.
6911 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6912 copy of what Emacs last put there. If they are the same, do not
6913 use the clipboard copy to avoid losing data due to coding conversions.
6914
6915 2000-11-22 Miles Bader <miles@gnu.org>
6916
6917 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6918 (syms_of_minibuf): Initialize it.
6919 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6920 to prompt, don't make read-only.
6921
6922 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6923
6924 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6925 Add BEFORE/AFTER_POTENTIAL_GC.
6926
6927 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6928
6929 * buffer.c (mmap_free_1): Avoid a compiler warning.
6930
6931 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6932
6933 2000-11-21 Kenichi Handa <handa@etl.go.jp>
6934
6935 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6936 ... #endif scope.
6937
6938 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6939
6940 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
6941 screen supports it.
6942
6943 * s/gnu-linux.h: Don't use `#cpu'.
6944
6945 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6946 not defined in mman.h.
6947
6948 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
6949 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6950 and store an index in the XClientMessageEvent. Storing a
6951 Lisp_Object or pointer can fail on a 64 bit system, since X only
6952 transfers 32 bits.
6953 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6954
6955 2000-11-20 Dave Love <fx@gnu.org>
6956
6957 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6958
6959 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6960
6961 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6962
6963 2000-11-20 Kenichi Handa <handa@etl.go.jp>
6964
6965 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6966 by WIDTH.
6967
6968 * alloc.c (make_string): Fix previous change. Be sure to make
6969 unibyte string correctly.
6970
6971 2000-11-19 Gerd Moellmann <gerd@gnu.org>
6972
6973 * window.c (Fwindow_list): Change parameter list to be XEmacs
6974 compatible.
6975 (window_list_1): New function.
6976 (window_loop): Use it instead of Fwindow_list.
6977
6978 * sysdep.c (emacs_ospeed): New variable.
6979 (toplevel): Don't declare ospeed extern.
6980 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6981
6982 * termcap.c (ospeed): Remove.
6983 (tputs) [!emacs]: Remove unused code.
6984 (tgetent): Avoid a compiler warning.
6985
6986 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6987 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
6988 SCROLL_BAR_X_WIDGET with additional argument DPY.
6989
6990 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6991 removed.
6992 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6993 Take the X display as additional argument.
6994 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6995 `Widget' is a pointer type that's not easily stored in Lisp_Object
6996 form in a portable way.
6997
6998 * dispnew.c (update_text_area): Fix last change.
6999
7000 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7001
7002 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7003
7004 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7005 clear current matrices.
7006
7007 * buffer.c (mmap_enlarge): Don't print a message on stderr
7008 if mapping new memory at the end of the existing region fails.
7009
7010 * dispnew.c (update_text_area): Don't skip over equal glyphs
7011 when the last current glyph overlaps the glyph to its right.
7012
7013 2000-11-18 Miles Bader <miles@gnu.org>
7014
7015 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7016 lines that *end* with "..." too (that's the most common case!).
7017
7018 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7019
7020 * xdisp.c (resize_mini_window): Temporarily change to the
7021 mini-window's buffer if necessary.
7022
7023 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7024 the tooltip obscures less text under it.
7025
7026 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7027
7028 * puresize.h (BASE_PURESIZE): Increase to 700000.
7029
7030 2000-11-18 Jason Rumney <jasonr@gnu.org>
7031
7032 * w32term.c (w32_draw_bitmap): Use face to set colors.
7033
7034 2000-11-17 Dave Love <fx@gnu.org>
7035
7036 * lread.c (Fload): Fix #ifdef for pcc.
7037
7038 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7039
7040 * xdisp.c (pos_visible_p): Compute the default character height
7041 differently.
7042
7043 2000-11-16 Gerd Moellmann <gerd@gnu.org>
7044
7045 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
7046 knowing the line's height; use the default font's height in that case.
7047
7048 * xfaces.c (weight_table): Add `demi' with the same meaning as
7049 `demibold'.
7050
7051 2000-11-16 Kenichi Handa <handa@etl.go.jp>
7052
7053 * dispnew.c (null_row): New global static variable.
7054 (clear_glyph_row): Delete local static variable null_row.
7055
7056 2000-11-15 Jason Rumney <jasonr@gnu.org>
7057
7058 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7059 (w32_alloc_lighter_color): Use new brightness calculations from
7060 xterm.c. Scale delta to be in the range expected by W32.
7061 (w32_draw_relief_rect): Use frame relief colors.
7062
7063 2000-11-15 Gerd Moellmann <gerd@gnu.org>
7064
7065 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7066 (Qinhibit_default_face_x_resources): New variable.
7067 (syms_of_frame): Initialize it.
7068 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7069
7070 * xdisp.c (pos_visible_p): Improve function comment.
7071
7072 * lisp.h (BINDING_STACK_SIZE): New macro.
7073
7074 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7075 reading the directory if readdir returns null and errno is EAGAIN
7076 or EINTR.
7077
7078 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7079
7080 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7081 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7082 Set amount_to_scroll to max of dx and scroll_step so that
7083 scroll-conservatively doesn't defeat scroll-step>1.
7084 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7085 scroll-conservatively for line-at-a-time scrolling.
7086
7087 2000-11-14 Gerd Moellmann <gerd@gnu.org>
7088
7089 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7090 extra argument.
7091
7092 * xdisp.c (current_mode_line_height, current_header_line_height):
7093 New variables.
7094 (init_xdisp): Initialize them.
7095 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7096 and use exact mode line heights if it is set.
7097
7098 * lisp.h (pos_visible_p): Change prototype.
7099
7100 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7101 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7102 and current_header_line_height first.
7103 (current_mode_line_height, current_header_line_height):
7104 Declare extern.
7105
7106 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7107
7108 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7109 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7110 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7111
7112 2000-11-14 Miles Bader <miles@gnu.org>
7113
7114 * xterm.c (x_alloc_lighter_color): Include an additive component
7115 too for dark colors, because FACTOR isn't enough.
7116 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7117 New macros.
7118
7119 2000-11-13 Gerd Moellmann <gerd@gnu.org>
7120
7121 * keyboard.c (show_help_echo): Call message3_nolog with number of
7122 bytes in the help string as 2nd parameter, instead of the number
7123 of characters.
7124
7125 2000-11-13 Miles Bader <miles@gnu.org>
7126
7127 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7128 (Fload): Use new openp return protocol.
7129 Don't try to use Vload_source_file_function to load .elc files.
7130 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7131 openp return protocol.
7132 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7133
7134 2000-11-11 Kenichi Handa <handa@etl.go.jp>
7135
7136 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7137
7138 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7139 Defined these macros.
7140 (NLIST_STRUCT): Avoid re-defining it.
7141
7142 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7143 -I/usr/contrib/X11R6/include.
7144 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7145
7146 2000-11-10 Jason Rumney <jasonr@gnu.org>
7147
7148 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7149
7150 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7151 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7152
7153 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7154 (Qw32_charset_vietnamese): New symbol.
7155 (xlfd_charset_of_font): New function.
7156 (w32_load_system_font): Use it.
7157 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7158 when Vw32_charset_info_alist is nil to ensure default face always
7159 has font. Use Fcar and Fcdr for safety.
7160 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7161 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7162 pseudo-codepages for special cases.
7163 (w32_to_x_font): New parameter to allow charset portion to be
7164 specified where there is many to one mapping. Callers changed.
7165 (w32_list_fonts): Avoid listing fonts that won't display.
7166
7167 2000-11-10 Gerd Moellmann <gerd@gnu.org>
7168
7169 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7170 (font_list_1): Renamed from font_list.
7171 (font_list): New function, trying alternative registries from
7172 Vface_alternative_font_registry_alist.
7173 (Finternal_set_alternative_font_registry_alist): New function.
7174 (syms_of_xfaces): Initialize and Staticpro
7175 Vface_alternative_font_registry_alist.
7176 Defsubr Finternal_set_alternative_font_registry_alist.
7177
7178 2000-11-09 Ken Raeburn <raeburn@gnu.org>
7179
7180 * lisp.h (Flooking_at): Declare.
7181
7182 2000-11-09 Gerd Moellmann <gerd@gnu.org>
7183
7184 * dired.c (directory_files_internal): Fix a braino.
7185
7186 * dired.c (directory_files_internal): Add missing GCPRO's.
7187 Some cleanup.
7188
7189 2000-11-08 Gerd Moellmann <gerd@gnu.org>
7190
7191 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7192 (resize_mini_window): Return quickly if Vresize_mini_window is
7193 nil. Don't return if Vmax_mini_window_height is nil.
7194
7195 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7196 (syms_of_xdisp): Initialize them.
7197 (resize_mini_window): Act according to the setting of
7198 Vresize_mini_window.
7199 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7200
7201 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7202 scroll bar widget after configuring it, so that it will appear at
7203 the right position from the start.
7204 (XTredeem_scroll_bar): Cleaned up.
7205
7206 2000-11-08 Kenichi Handa <handa@etl.go.jp>
7207
7208 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
7209 font is taller than the frame line, we don't have to bias the
7210 division by two.
7211
7212 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7213
7214 2000-11-07 Dave Love <fx@gnu.org>
7215
7216 * config.in (HAVE_MKSTEMP): Add.
7217
7218 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7219
7220 2000-11-07 Gerd Moellmann <gerd@gnu.org>
7221
7222 * window.c (Fset_window_configuration): Don't try to preserve
7223 point in the current buffer, if that buffer is displayed in more
7224 than one window.
7225
7226 * xfaces.c (lookup_named_face): If default face isn't realized,
7227 try to realize it. Return -1 if not successful.
7228 (Fx_list_fonts): Handle case that face cannot be determined.
7229 (Fface_font): Likewise.
7230
7231 2000-11-06 Gerd Moellmann <gerd@gnu.org>
7232
7233 * window.c (displayed_window_lines): Detect partially
7234 visible lines at the bottom correctly.
7235
7236 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7237
7238 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7239 when ensuring we don't do visit in indirect buffer.
7240
7241 2000-11-06 Kenichi Handa <handa@etl.go.jp>
7242
7243 * composite.h (compose_chars_in_text): Add prototype.
7244
7245 * composite.c (Vcomposition_function_table): New variable.
7246 (Qcomposition_function_table): New variable.
7247 (run_composition_function): Call
7248 Vcompose_chars_after_function with three arguments.
7249 (compose_chars_in_text): New function.
7250 (syms_of_composite): Modified the doc-string of
7251 Vcompose_chars_after_function. Declare composition-function-table
7252 as a lisp variable, and initialize it.
7253
7254 * xfns.c (x_encode_text): Suppress producing escape sequences for
7255 composition.
7256
7257 * xselect.c: Include composite.h.
7258 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7259
7260 2000-11-05 Andrew Innes <andrewi@gnu.org>
7261
7262 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7263
7264 * sysdep.c (read_input_waiting): Remove extraneous argument to
7265 read_socket_hook.
7266
7267 * w32fns.c (Fx_server_version): Include w32_build_number in the
7268 return list.
7269
7270 * w32heap.c (w32_build_number): New variable.
7271 (cache_system_info): Set it.
7272
7273 * w32heap.h (w32_build_number): Add extern.
7274
7275 * emacs.c (syms_of_emacs): Update docstring for
7276 system-configuration, to reflect the actual usage on MS-Windows.
7277
7278 2000-10-31 Gerd Moellmann <gerd@gnu.org>
7279
7280 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7281 process idle timers while waiting for another event.
7282
7283 * dispnew.c (update_frame_line): Handle case where spaces in
7284 the default face are colored.
7285
7286 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7287 window height hasn't changed.
7288
7289 2000-10-31 Jason Rumney <jasonr@gnu.org>
7290
7291 * w32term.c (x_produce_glyphs): Handle composite characters.
7292 (x_draw_glyph_string_foreground)
7293 (x_draw_composite_glyph_string_foreground): Restore old font.
7294
7295 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7296
7297 * minibuf.c (read_minibuf): Reset the undo history just before
7298 starting the recursive-edit.
7299
7300 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7301
7302 * xfaces.c (menu_face_change_count): New variable.
7303 (Finternal_set_lisp_face_attribute): Increment it for changes
7304 of the `menu' face.
7305 (realize_basic_faces): Reflect changes in the `menu' faces
7306 in menu bars.
7307
7308 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7309 dy obtained from the iterator's y-position after moving from
7310 scroll_margin_pos to PT; see comment there.
7311
7312 * xdisp.c (safe_eval_handler): Call add_to_log.
7313
7314 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7315 is not a symbol or string.
7316
7317 * xdisp.c (echo_area_display): Don't perform a display update from
7318 inside redisplay. The update will happen anyway at the end of
7319 redisplay, and it can confuse redisplay (GC messages while
7320 redisplaying, for instance.)
7321
7322 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7323
7324 * xrdb.c (x_load_resources): Use the class name in the defaults.
7325
7326 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7327 (regex_compile): Catch bogus \(\1\).
7328
7329 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7330
7331 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7332 RGB values.
7333
7334 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7335 we have a color cache, check that the cached color equals the
7336 allocated color. If not, clear the color cache.
7337
7338 * window.c (displayed_window_lines): Change buffers if necessary.
7339 Fix computation of displayed lines.
7340
7341 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7342 update_menu_bindings to DEFVAR_BOOL.
7343
7344 2000-10-30 Kenichi Handa <handa@etl.go.jp>
7345
7346 * search.c (Fset_match_data): Be sure to make search_regs always sane.
7347
7348 * puresize.h (BASE_PURESIZE): Increase to 680000.
7349
7350 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7351
7352 2000-10-29 Jason Rumney <jasonr@gnu.org>
7353
7354 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7355
7356 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7357 (w32_cache_char_metrics): Handle possibility that 'x' does not
7358 exist in a BDF font.
7359 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7360
7361 * w32bdf.h (bdffont): Add nchars.
7362
7363 * w32bdf.c (set_bdf_font_info): Set it.
7364 (w32_BDF_TextOut): Swap byte order of double byte characters.
7365 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7366
7367 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7368
7369 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7370 don't override the colors in frame's param_alist, unless they are
7371 unspecified.
7372
7373 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7374 reverse the effect of the highlight flag.
7375
7376 2000-10-27 Ken Raeburn <raeburn@gnu.org>
7377
7378 * window.h (Fwindow_live_p): Declare.
7379
7380 * undo.c (record_delete): Check that last_undo_buffer is really a
7381 buffer before applying XBUFFER to it.
7382
7383 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7384 Faref.
7385
7386 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7387
7388 * lisp.h (KEYMAPP): New macro.
7389 (get_keymap): Remove.
7390 (get_keymap_1): Rename get_keymap.
7391
7392 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7393
7394 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7395
7396 * xmenu.c (single_submenu): Use KEYMAPP.
7397 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7398 Use KEYMAPP rather than Fkeymapp.
7399
7400 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7401
7402 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7403 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7404 Use KEYMAPP rather than Fkeymapp.
7405 (single_submenu): Use KEYMAPP.
7406 (w32_menu_show, w32_dialog_show): Use TRUE.
7407
7408 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7409
7410 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7411 (Fkeymapp): Use KEYMAPP.
7412 (get_keymap): Rename from get_keymap_1. Remove old def.
7413 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7414 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7415 (Fminor_mode_key_binding): Don't raise an error if the binding
7416 is not a keymap.
7417 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7418 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7419
7420 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7421 Allow Vspecial_event_map to be autoloaded.
7422 (menu_bar_items): Fetch the keymap rather than using keymapp.
7423 (menu_bar_one_keymap): No need to follow func-indirect any more.
7424 (parse_menu_item): get_keymap_1 -> get_keymap.
7425 (tool_bar_items): Fetch the keymap rather than using keymapp.
7426 (read_key_sequence): Use KEYMAPP.
7427
7428 * intervals.c (get_local_map): Use get_keymap rather than following
7429 function-indirections explicitly.
7430
7431 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7432
7433 2000-10-27 Jason Rumney <jasonr@gnu.org>
7434
7435 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7436 point, as Windows has oversized fonts.
7437
7438 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7439
7440 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7441
7442 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7443 (freehook, reallochook): Handle null pointer arguments.
7444 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7445
7446 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7447
7448 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7449 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7450 Giving in to popular pressure to shut up the compiler with casts.
7451
7452 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7453
7454 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7455 signed value, and use a default value computed from the font's
7456 maximum descent.
7457
7458 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7459
7460 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7461 that specify a negative underline position can still use underlines.
7462
7463 * window.c (Fpos_visible_in_window_p): Make POS default to
7464 WINDOW's point, not the current buffer's point.
7465
7466 2000-10-26 Dave Love <fx@gnu.org>
7467
7468 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7469 when it's necessary.
7470
7471 2000-10-26 Gerd Moellmann <gerd@gnu.org>
7472
7473 * window.c (size_window): Compute size difference from sum of old
7474 child window sizes instead of from parent's size.
7475
7476 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7477 Handle obscured lines at the top of the window.
7478
7479 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7480 down after the last error condition check.
7481
7482 * frame.c (Fdelete_frame): Run delete-frame-hook.
7483
7484 2000-10-26 Kenichi Handa <handa@etl.go.jp>
7485
7486 * coding.c (decode_coding): Fix previous change (check also
7487 CODING_MODE_LAST_BLOCK).
7488
7489 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7490
7491 * regex.c: More `unsigned char' -> `re_char' changes.
7492 Also change several `int' into `re_wchar_t'.
7493 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7494 (PUSH_FAILURE_POINTER): Don't cast any more.
7495 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7496 We want GCC to complain, since this piece of code makes
7497 re_match non-reentrant, which *should* be fixed.
7498 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7499 (EXTEND_BUFFER): Use RETALLOC.
7500 (SET_LIST_BIT): Don't cast.
7501 (re_wchar_t): New type.
7502 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7503 that those two functions will always properly return.
7504 (IMMEDIATE_QUIT_CHECK): Cast to void.
7505 (analyse_first): Use recursion rather than an explicit stack.
7506 (re_compile_fastmap): Can't fail anymore.
7507 (re_search_2): Don't check re_compile_fastmap for failure.
7508 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7509 Now also sets the new value (passed in a new argument).
7510 (re_match_2_internal): Use it.
7511 Also, use a new var `reg' of type size_t when looping through regs
7512 rather than reuse the inappropriate `mcnt'.
7513
7514 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7515 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7516 (where_is_internal): Renamed from Fwhere_is_internal.
7517 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7518 (Fwhere_is_internal): New function wrapping where_is_internal.
7519 (where_is_internal_1): Handle the case where we're filling the cache.
7520 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7521
7522 2000-10-25 Miles Bader <miles@gnu.org>
7523
7524 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7525
7526 2000-10-25 Gerd Moellmann <gerd@gnu.org>
7527
7528 * window.c (pos_fully_visible_p): Removed.
7529 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7530 if position is visible and/or fully visible.
7531
7532 * lisp.h (pos_visible_p): Add prototype.
7533
7534 * xdisp.c (pos_visible_p): New function.
7535
7536 2000-10-25 Kenichi Handa <handa@etl.go.jp>
7537
7538 * process.c (send_process): If OBJECT is t, it means that the data
7539 is from C string, but we should encode it. Before calling
7540 setup_raw_text_coding_system, be sure to flush out data by the
7541 previous coding system.
7542
7543 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7544
7545 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7546 assignment of startpos to prev when startpos == pos.
7547
7548 * editfns.c (find_field): Set the field stickiness correctly from
7549 overlay fields. Use renamed `text_property_stickiness'.
7550 (text_property_stickiness): Renamed from `char_property_stickiness'.
7551 Only check text properties, not overlays.
7552 * textprop.c (get_char_property_and_overlay): New function.
7553 (Fget_char_property): Use it.
7554 * intervals.h (get_char_property_and_overlay): Add declaration.
7555
7556 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7557
7558 * keymap.c: Use AREF, ASET and ASIZE macros.
7559 (Fmake_sparse_keymap): Docstring fix.
7560 (synkey): Remove.
7561 (shadow_lookup): Move up.
7562 Handle the case where lookup-key returns an integer.
7563 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7564 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7565 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7566 Simplify/rewrite the keymap-finding code.
7567 Add check for command shadowing, using shadow_lookup.
7568
7569 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7570
7571 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7572 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7573 a symbol.
7574
7575 2000-10-24 Andrew Innes <andrewi@gnu.org>
7576
7577 * dired.c (directory_files_internal_unwind): New function.
7578 (directory_files_internal): Use it to ensure closedir is called
7579 even if expand-file-name or file-attributes throw, eg. because of
7580 a user interrupt. Also enable immediate_quit while calling
7581 re_search, so that matching can be interrupted as well.
7582
7583 2000-10-24 Andrew Innes <andrewi@gnu.org>
7584
7585 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7586 NT-Emacs only.
7587 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7588 so that re_search functions only quit when callers expect them to.
7589
7590 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7591
7592 * regex.c (regex_compile): Change the way of handling a range from
7593 a char less than 256 to a char not less than 256.
7594
7595 2000-10-24 Gerd Moellmann <gerd@gnu.org>
7596
7597 * window.c (size_window): Prevent setting window's width or
7598 height to a negative value (esp. with XSETFASTINT).
7599
7600 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7601 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7602 (protect_malloc_state) [GC_MALLOC_CHECK &&
7603 GC_PROTECT_MALLOC_STATE]: New function.
7604 (PROTECT_MALLOC_STATE): New macro.
7605 (__malloc_initialize, morecore, _malloc_internal)
7606 (_free_internal) _realloc_internal): Use it to make _heapinfo
7607 read-only outside of gmalloc.
7608
7609 * keymap.c: Update copyright.
7610
7611 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7612 a symbol.
7613
7614 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7615
7616 * filelock.c (unlock_all_files): Use unlock_file to expand each
7617 buffer's file_truename before trying remove its lock file.
7618
7619 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7620
7621 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7622 or CRLF, decode EOLs.
7623
7624 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7625
7626 * window.c (Fdisplay_buffer): Fix doc.
7627
7628 2000-10-23 Jason Rumney <jasonr@gnu.org>
7629
7630 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7631 ASCII font of default fontset on Windows.
7632
7633 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7634 xterm.c comment below).
7635
7636 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7637
7638 2000-10-23 Gerd Moellmann <gerd@gnu.org>
7639
7640 * xterm.c (x_connection_closed): Reset handling_signal.
7641
7642 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
7643
7644 2000-10-23 Miles Bader <miles@gnu.org>
7645
7646 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7647 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7648 maintain old behavior.
7649 * minibuf.c (Fminibuffer_complete): Likewise.
7650
7651 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7652
7653 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7654 that when a font can't be exactly centered, it errs up rather than
7655 down.
7656
7657 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
7658
7659 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
7660
7661 2000-10-23 Andrew Choi <akochoi@i-cable.com>
7662
7663 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7664
7665 * dispnew.c [macintosh]: Include macterm.h.
7666 (init_display) [macintosh]: Initialization for window system.
7667
7668 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7669 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7670 syms_of_search, x_term_init, and init_keyboard before calling
7671 init_window_once. Also, call syms_of_xmenu.
7672
7673 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7674 default fontset to Monaco.
7675
7676 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7677 NewMacWindow and DisposeMacWindow.
7678 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7679 instead of calling NewMacWindow and setting fields of
7680 f->output_data.mac directly. Call init_frame_faces.
7681 (Fdelete_frame) [macintosh]: Remove unused code.
7682 (Fmodify_frame_parameters) [macintosh]: Call
7683 x_set_frame_parameters instead of mac_set_frame_parameters.
7684
7685 * frame.h [macintosh]: Define menu_bar_lines field in struct
7686 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7687
7688 * keyboard.c [macintosh]: Include macterm.h.
7689 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7690 and menu_bar_activate_event type events as for X and NT.
7691 (make_lispy_event) [macintosh]: Construct lisp events of type
7692 MENU_BAR_EVENT as for X and NT.
7693
7694 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7695 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7696 (sys_subshell) [macintosh]: Remove definition entirely.
7697 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7698 Vwindow_system_version here. Remove initialization of
7699 Vx_bitmap_file_path.
7700 (read_input_waiting): Correct the number of parameters passed to
7701 read_socket_hook.
7702 Move all Macintosh functions to mac/mac.c.
7703
7704 * term.c [macintosh]: Include macterm.h.
7705
7706 * window.c [macintosh]: Include macterm.h.
7707
7708 * xdisp.c [macintosh]: Include macterm.h. Declare
7709 set_frame_menubar and pending_menu_activation.
7710 (echo_area_display) [macintosh]: Do not return if terminal frame
7711 is the selected frame.
7712 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7713 Allow only the selected frame to set menu bar.
7714 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7715 calling FRAME_EXTERNAL_MENU_BAR (f).
7716 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7717
7718 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7719 and check_x. Declare XCreateGC. Define x_create_gc and
7720 x_free_gc. Initialize font_sort_order.
7721 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7722 but call x_list_fonts instead of w32_list_fonts.
7723 (Finternal_face_x_get_resource) [macintosh]: Do not call
7724 display_x_get_resource.
7725 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7726 (realize_x_face) [macintosh]: Load the font if it is specified in
7727 ATTRS.
7728 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
7729
7730 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7731
7732 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7733 is nil: since we go to the end of submap anyway, we'd end up
7734 setting nil to nil.
7735 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7736 doesn't obey autoload.
7737
7738 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7739
7740 * msdos.c (dos_set_window_size): Update screen dimension variables.
7741
7742 2000-10-21 Jason Rumney <jasonr@gnu.org>
7743
7744 * w32term.c (w32_cache_char_metrics): Double check that font is
7745 really fixed pitch before trusting tmPitchAndFamily.
7746
7747 2000-10-21 Andrew Innes <andrewi@gnu.org>
7748
7749 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7750
7751 * w32term.h: Extern decl for w32_cache_char_metrics.
7752
7753 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7754
7755 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7756 (w32_unload_font): Free per_char array if present.
7757
7758 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7759 cached information in emulated XFontStruct to handle common cases
7760 quickly. Do not allocate XCharStruct for return.
7761 (w32_native_per_char_metric): New function.
7762 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7763 allocating one.
7764 (x_produce_glyphs): Don't get an HDC. Change calls to
7765 w32_per_char_metric to match arg change above. Remove calls to
7766 free results.
7767 (w32_get_glyph_overhangs): Ditto.
7768 (w32_cache_char_metrics): New function.
7769
7770 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7771 ($(BLD)/casefiddle.$(O)): Remove compile command.
7772 ($(BLD)/gmalloc.$(O)): Remove compile command.
7773 ($(BLD)/dispnew.obj):
7774 ($(BLD)/keyboard.obj):
7775 ($(BLD)/w32inevt.obj):
7776 ($(BLD)/w32bdf.obj):
7777 ($(BLD)/alloc.obj):
7778 ($(BLD)/buffer.obj):
7779 ($(BLD)/editfns.obj):
7780 ($(BLD)/emacs.obj):
7781 ($(BLD)/fileio.obj):
7782 ($(BLD)/fns.obj):
7783 ($(BLD)/indent.obj):
7784 ($(BLD)/insdel.obj):
7785 ($(BLD)/intervals.obj):
7786 ($(BLD)/minibuf.obj):
7787 ($(BLD)/print.obj):
7788 ($(BLD)/scroll.obj):
7789 ($(BLD)/sysdep.obj):
7790 ($(BLD)/textprop.obj):
7791 ($(BLD)/widget.obj):
7792 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7793 ($(BLD)/term.obj): Add dependency on dispextern.h.
7794
7795 * makefile.nt ($(BLD)\dispnew.obj):
7796 ($(BLD)\keyboard.obj):
7797 ($(BLD)\w32inevt.obj):
7798 ($(BLD)\w32bdf.obj):
7799 ($(BLD)\alloc.obj):
7800 ($(BLD)\buffer.obj):
7801 ($(BLD)\editfns.obj):
7802 ($(BLD)\emacs.obj):
7803 ($(BLD)\fileio.obj):
7804 ($(BLD)\fns.obj):
7805 ($(BLD)\indent.obj):
7806 ($(BLD)\insdel.obj):
7807 ($(BLD)\intervals.obj):
7808 ($(BLD)\minibuf.obj):
7809 ($(BLD)\print.obj):
7810 ($(BLD)\scroll.obj):
7811 ($(BLD)\sysdep.obj):
7812 ($(BLD)\textprop.obj):
7813 ($(BLD)\widget.obj):
7814 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7815 ($(BLD)\term.obj): Add dependency on dispextern.h
7816
7817 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7818
7819 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7820 with an additional argument of Qt.
7821
7822 2000-10-21 Miles Bader <miles@gnu.org>
7823
7824 * window.c (pos_fully_visible_in_window_p): New function.
7825 (Fpos_visible_in_window_p): Add FULLY argument.
7826 Use pos_fully_visible_in_window_p.
7827 (window_scroll_pixel_based, window_scroll_line_based): Update
7828 calls to Fpos_visible_in_window_p.
7829 * lisp.h (Fpos_visible_in_window_p): Update prototype
7830
7831 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7832
7833 * alloc.c (toplevel): Conditionalize compilation of mem_*
7834 functions differently.
7835
7836 2000-10-20 Jason Rumney <jasonr@gnu.org>
7837
7838 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7839 mem_init where it used to be. mem_z etc not defined otherwise.
7840
7841 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7842
7843 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7844 GC_MALLOC_CHECK.
7845 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7846 structure definition and related variabled to the top of the file.
7847 Include this code when GC_MALLOC_CHECK is defined.
7848 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7849 register/unregister allocated region.
7850 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7851 which isn't allocated.
7852 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7853 something which is already in use.
7854 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7855 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7856 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7857 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7858
7859 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7860 _malloc_internal instead of malloc.
7861 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7862 of free.
7863
7864 2000-10-20 Andrew Innes <andrewi@gnu.org>
7865
7866 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7867 Windows.
7868 (my_strftime) <macro>: Don't use macro arg list when redefining as
7869 _strftime_copytm.
7870 (my_strftime) <function>: Supply 0 as ut argument.
7871
7872 2000-10-19 Jason Rumney <jasonr@altavista.net>
7873
7874 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7875 including dispextern.h, as it stops faces from working.
7876
7877 * w32fns.c (Fx_create_frame): Don't bother calling
7878 face-set-after-frame-default since the caller does it for us
7879 anyway. Clean up calls to x_get_arg to be consistent with X.
7880
7881 * w32term.c (x_produce_glyphs): Handle
7882 unibyte_display_via_language_environment correctly.
7883 (w32_draw_box_rect): Fix the calculation of width and height.
7884
7885 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7886 as it has stopped working.
7887 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7888 menu-bar.
7889
7890 2000-10-19 Gerd Moellmann <gerd@gnu.org>
7891
7892 * eval.c (skip_debugger): Prevent a compiler warning.
7893 (Fcondition_case): Likewise.
7894 (Fbacktrace_frame): Use a null interactive spec.
7895
7896 2000-10-19 Kenichi Handa <handa@etl.go.jp>
7897
7898 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7899
7900 2000-10-18 Gerd Moellmann <gerd@gnu.org>
7901
7902 * strftime.c: Sync with glibc, file version 1.78.
7903 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7904 should no longer be used according to ISO 8601.
7905
7906 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7907 no map for meta_prefix_char, don't try to use it as a keymap.
7908 Instead, if T_OK is non-zero, look up a default binding, if any,
7909 otherwise, if T_OK is zero, return nil.
7910
7911 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7912 (x_to_xcolors, png_load): Use x_query_color.
7913
7914 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7915 New functions.
7916 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7917 which can be slow.
7918 (x_copy_color, x_alloc_lighter_color): Likewise.
7919
7920 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7921 (x_query_color, x_query_colors): Add prototype.
7922
7923 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7924 check_string_bytes only if not noninteractive, increase count to 50.
7925
7926 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7927
7928 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7929 markers correctly.
7930
7931 2000-10-17 Gerd Moellmann <gerd@gnu.org>
7932
7933 * alloc.c (pure_bytes_used): Renamed from pureptr.
7934 (ALIGN): New macro.
7935 (pure_alloc): New function.
7936 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7937 Use it.
7938 (Fpurecopy): Use PURE_POINTER_P.
7939
7940 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7941 PT has moved backward.
7942
7943 * xdisp.c (cursor_row_p): Take continued lines into account.
7944
7945 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7946 string's size_byte.
7947 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7948 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7949 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7950 string allocated.
7951
7952 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7953 of selective display off while searching for the next line start.
7954
7955 2000-10-17 Kenichi Handa <handa@etl.go.jp>
7956
7957 * Makefile.in (term.o): Depend on dispextern.h.
7958
7959 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7960
7961 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7962
7963 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7964
7965 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7966 the iterator at the beginning, so that they can be set later on,
7967 for instance in reseat_at_next_visible_line_start, without being
7968 overwritten.
7969
7970 * xfns.c (pbm_format): Add :foreground and :background keywords.
7971 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
7972 (xbm_load): Recognize foreground and background color specifications.
7973
7974 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7975
7976 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7977
7978 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
7979
7980 * msdos.c (IT_set_face): Compare highlighted face with the default
7981 face, and invert colors if these faces' colors are identical.
7982 (Fmsdos_remember_default_colors): Don't swap foreground and
7983 background colors in initial_colors[].
7984 (IT_set_frame_parameters): Don't swap frame's foreground and
7985 background pixels. If ALIST includes "(reverse . t)", swap
7986 foreground-color and background-color properties in frame's
7987 param_alist. If the original frame's param_alist doesn't specify
7988 the colors, store unspecified-fg and unspecified-bg, reversed if
7989 required.
7990
7991 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7992 the colors are unspecified and reversed, reverse fore- and back-
7993 ground in the returned value.
7994 (Fframe_parameter): Ditto.
7995
7996 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7997
7998 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7999 get_last_unchanged_at_beg_row.
8000 (find_first_unchanged_at_end_row): Renamed from
8001 get_first_unchanged_at_end_row.
8002 (find_first_unchanged_at_end_row): Convert assertions to
8003 unconditional tests which abort. When looking for a row in
8004 unchanged text, don't go further back than first_text_row.
8005
8006 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8007 Don't add in the last line's height when deciding if the new
8008 position is below the scroll margin.
8009
8010 2000-10-16 Miles Bader <miles@gnu.org>
8011
8012 * editfns.c (Fconstrain_to_field): Check carefully for field
8013 boundaries if either OLD_POS or NEW_POS has a non-nil field
8014 property, even if they're the same.
8015
8016 2000-10-16 Kenichi Handa <handa@etl.go.jp>
8017
8018 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8019 height for XFillRectangle.
8020
8021 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8022
8023 * syntax.c (Fstring_to_syntax): New function extracted from
8024 Fmodify_syntax_entry.
8025 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8026 (skip_chars, Fforward_comment): Remove unused variables.
8027 (syms_of_syntax): Add defsubr for string-to-syntax.
8028 (describe_syntax): Add code for comment and string fences.
8029
8030 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8031
8032 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8033 Do the meta->esc mapping. Call get_keyelt before returning.
8034 Start scanning from the second element (the first is always `keymap')
8035 to make it easier to detect when we reach a parent map.
8036 Handle the case of inheriting from a symbol whose function is a map.
8037 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8038 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8039 (get_keyelt, Flookup_key): Update call to access_keymap.
8040 Remove the meta->esc mappings.
8041 (define_as_prefix): Delete old disabled code.
8042 (menu_item_p): New function.
8043 (where_is_internal_1): Skip over the few remaining menu items.
8044 * lisp.h (access_keymap): Update prototype.
8045 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8046 Update call to access_keymap.
8047 (follow_key, read_key_sequence): Update calls to access_keymap.
8048 Remove the meta->esc mappings.
8049
8050 2000-10-13 Gerd Moellmann <gerd@gnu.org>
8051
8052 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8053 with additional argument.
8054
8055 * xdisp.c (cursor_row_p): New function.
8056 (try_cursor_movement, display_line): Use it.
8057
8058 * xdisp.c (append_space): Also save/restore iterator's current
8059 character and its length.
8060
8061 * xdisp.c (init_from_display_pos): Add an assertion.
8062 (handle_stop): Don't set iterator's add_overlay_start.
8063 (handle_invisible_prop): Likewise.
8064 (load_overlay_strings): If text under an overlay is invisible,
8065 take both before- and after-strings into account when the iterator
8066 is positioned either at the start or at the end of the overlay.
8067 (forward_to_next_line_start): Rewritten.
8068 (reseat_at_next_visible_line_start): Rewritten.
8069 (set_iterator_to_next): Add parameter RESEAT_P.
8070
8071 * dispextern.h (struct it): Remove member add_overlay_start.
8072 (set_iterator_to_next): Change prototype.
8073
8074 2000-10-13 Kenichi Handa <handa@etl.go.jp>
8075
8076 * coding.c (code_convert_region): Be sure to initialize
8077 coding->category_idx.
8078 (decode_coding_string): Set coding->src_multibyte and
8079 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8080 (encode_coding_string): Set coding->src_multibyte and
8081 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
8082
8083 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8084
8085 * xfns.c (Fx_create_frame): Don't bother calling
8086 face-set-after-frame-default since the caller does it for us anyway.
8087
8088 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8089
8090 * window.c (coordinates_in_window): Fix detection of vertical line
8091 on character terminals.
8092
8093 2000-10-12 Gerd Moellmann <gerd@gnu.org>
8094
8095 * editfns.c (save_excursion_save): Additionally record the
8096 selected window.
8097 (save_excursion_restore): If buffer was visible in a window, and a
8098 different window was selected, and the old selected window is
8099 still live, restore point in that window.
8100
8101 2000-10-12 Kenichi Handa <handa@etl.go.jp>
8102
8103 * xterm.c (x_produce_glyphs): Handle
8104 unibyte_display_via_language_environment correctly.
8105
8106 * regex.c (regex_compile): Change the way of handling a range from
8107 unibyte char to multibyte char.
8108
8109 * syntax.c (skip_chars): Change the way of handling a range from
8110 unibyte char to multibyte char.
8111
8112 * process.c (read_process_output): Cancel previous change.
8113
8114 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8115
8116 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8117
8118 * charset.c (Ffind_charset_string): Doc fix.
8119 (Ffind_charset_region): Doc fix.
8120
8121 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
8122
8123 * process.c (read_process_output): Fix previous change. Adjust
8124 multibyteness of text to insert in a buffer by
8125 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
8126
8127 2000-10-10 Andreas Schwab <schwab@suse.de>
8128
8129 * alloc.c (mark_object): Remove all workarounds installed on
8130 1993-08-08.
8131
8132 2000-10-10 Kenichi Handa <handa@etl.go.jp>
8133
8134 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
8135 (base64_encode_1): Make it work for a text of multibyte form.
8136 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8137 case. Don't call str_to_multibyte because base64_decode_1
8138 produces correct multibyte form for eight-bit codes.
8139 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
8140 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8141 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8142 codes.
8143
8144 * charset.h (CHAR_STRING): Optimized for single byte characters.
8145
8146 2000-10-09 Andreas Schwab <schwab@suse.de>
8147
8148 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8149 -1 after socket is closed, to fall through to error processing.
8150
8151 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8152
8153 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
8154 variables. If ALIST includes foreground-color or
8155 background-color, change also the colors of the default face for
8156 this frame.
8157
8158 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8159
8160 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8161 them extern (they are defined on xfaces.c).
8162 (syms_of_msdos): Don't intern and don't staticpro
8163 Qbackground_color and Qforeground_color.
8164
8165 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8166
8167 * frame.c (Fframe_parameter): For non-windowed frames, if
8168 f->param_alist says foreground or background color is unspecified,
8169 call tty_color_name to return the color name computed from the
8170 frame's current colors.
8171
8172 2000-10-06 Dave Love <fx@gnu.org>
8173
8174 * terminfo.c (ospeed): Don't declare.
8175
8176 * sysdep.c: Don't include string.h.
8177 (h_errno): Declare conditional also on TRY_AGAIN.
8178
8179 * charset.c (Ffind_charset_string): Doc fix.
8180
8181 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
8182 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8183 error messages.
8184
8185 2000-10-05 Dave Love <fx@gnu.org>
8186
8187 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8188 position like menu-bar.
8189
8190 2000-10-05 Gerd Moellmann <gerd@gnu.org>
8191
8192 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8193
8194 * xdisp.c (handle_single_display_prop): Use safe_call1.
8195 (safe_call): Renamed from call_function.
8196 (safe_call1): New function.
8197 (handle_fontified_prop): Use safe_call1 instead of call1.
8198 (safe_eval): Renamed from eval_form.
8199 (safe_eval_handler): Renamed from eval_handler.
8200 (handle_single_display_prop, display_mode_element): Use safe_eval
8201 instead of eval_form.
8202
8203 * xfaces.c (merge_face_heights): Use safe_call instead of
8204 call_function.
8205
8206 * keyboard.c (show_help_echo): Use safe_call instead of
8207 call_function; use safe_eval instead of eval_form.
8208
8209 * lisp.h (safe_call): Renamed from call_function.
8210 (safe_eval): Renamed from eval_form.
8211 (safe_call1): Add prototype.
8212
8213 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8214
8215 * xfns.c (image_ascent): Rearrange ascent calculation for the
8216 has-a-font case.
8217
8218 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8219
8220 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8221 (where_is_internal_1): Don't bother ignoring menu-items any more.
8222
8223 2000-10-04 Gerd Moellmann <gerd@gnu.org>
8224
8225 * keyboard.c (update_menu_bindings): New variable.
8226 (parse_menu_item): Use AREF. If update_menu_bindings
8227 is 0, don't update menu bindings.
8228 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8229
8230 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8231
8232 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8233 to `mark_object'.
8234
8235 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8236
8237 * syntax.c (forw_comment): Match nestedness of ender/starter.
8238 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8239 (prev_char_comstart_first): Remove.
8240 (back_comment): Check two-char comment markers more carefully
8241 to better handle overlapping cases like *//* or /* */* */ ...
8242 Match nestedness of ender/starter.
8243
8244 2000-10-02 Dave Love <fx@gnu.org>
8245
8246 * config.in (HAVE_GAI_STRERROR): Add undef.
8247
8248 * process.c (Fopen_network_stream): Use it.
8249
8250 * m/alpha.h (NO_REMAP): Don't define.
8251
8252 2000-10-02 Gerd Moellmann <gerd@gnu.org>
8253
8254 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8255 return with a string converted to an integer or vice versa when
8256 Vmocklisp_arguments is t.
8257 (Fsignal): Likewise. The function can return for `quit'.
8258 (struct gcpro): Declare member `var' to point to a volatile
8259 Lisp_Object.
8260
8261 * eval.c (error): Prevent compiler warning.
8262
8263 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8264
8265 * keymap.c (keymap_memberp): New function.
8266 (Fset_keymap_parent): Use it.
8267 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8268 Use keymap_memberp to avoid creating cycles.
8269 (access_keymap): Use KEYMAPP.
8270
8271 2000-09-30 Gerd Moellmann <gerd@gnu.org>
8272
8273 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
8274 gai_strerror. Make sure xerrno is set if connect fails. Improve
8275 error recovery.
8276
8277 2000-09-29 Jason Rumney <jasonr@gnu.org>
8278
8279 * w32term.c (w32_char_font_type, w32_encode_char)
8280 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8281 (w32_bdf_per_char_metric): New function.
8282 (w32_per_char_metric): Use it.
8283 (x_draw_glyph_string_background): Always draw background for BDF
8284 glyphs.
8285
8286 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8287 GDI object which is a scarce resource.
8288
8289 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8290 (get_quoted_string): Fix limit on memchr search.
8291 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8292 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8293 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8294 (get_cached_font_char, cache_char_offset): Use macro
8295 BDF_CODEPOINT_RANGE_COVER_P.
8296 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8297 (clear_cached_bitmap_slots): New function.
8298 (GET_HEX_VALUE): G-Z, g-z are not hex.
8299 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8300 (get_bitmap_with_cache): Use new cache implementation.
8301 (create_offscreen_bitmap): New function.
8302 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8303
8304 * w32term.c (x_produce_glyphs): If the distance from the current
8305 position to the next tab stop is less than a canonical character
8306 width, use the tab stop after that.
8307 (x_draw_glyphs): Handle case START and END are out of bounds more
8308 carefully.
8309 (x_clear_mouse_face): Block/unblock input.
8310 (x_display_and_set_cursor): Don't show a hollow box cursor for
8311 buffers whose cursor_type is nil.
8312
8313 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8314
8315 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
8316
8317 * dispextern.h (updating_frame): Declare extern.
8318
8319 2000-09-29 Andreas Schwab <schwab@suse.de>
8320
8321 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8322
8323 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8324
8325 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8326 use its function definition.
8327 (tool_bar_items): Likewise.
8328
8329 * lisp.h (fatal): Declare NO_RETURN.
8330
8331 2000-09-29 Kenichi Handa <handa@etl.go.jp>
8332
8333 * keymap.c: Remove the line "#undef NULL".
8334
8335 2000-09-28 Gerd Moellmann <gerd@gnu.org>
8336
8337 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
8338
8339 2000-09-28 Dave Love <fx@gnu.org>
8340
8341 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8342
8343 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8344
8345 * .gdbinit (xreload): Note its need on GNU/Linux.
8346
8347 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8348 r_alloc, r_alloc_free.
8349
8350 2000-09-28 Kenichi Handa <handa@etl.go.jp>
8351
8352 * syntax.c (skip_chars): Handle negation correctly.
8353
8354 2000-09-27 Gerd Moellmann <gerd@gnu.org>
8355
8356 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8357 with non-zero FORCE_P argument.
8358
8359 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8360 Add assertions.
8361
8362 * xdisp.c (window_box_height): Add an assertion.
8363
8364 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8365 tool-bar than is available.
8366 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8367
8368 2000-09-27 Dave Love <fx@gnu.org>
8369
8370 * s/irix6-5.h: Now works 64-bit. Tidied.
8371
8372 2000-09-26 Gerd Moellmann <gerd@gnu.org>
8373
8374 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8375 instead of BITS_PER_INT.
8376 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8377 EMACS_UINT, respectively.
8378 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8379
8380 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8381
8382 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8383
8384 * window.c (freeze_window_starts): Construct last argument for
8385 foreach_window differently.
8386
8387 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8388
8389 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8390 EMACS_UINT instead of `int' and `unsigned int'.
8391 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8392
8393 * frame.h (struct frame): Make the `nothing' member of union
8394 output_data an EMACS_INT.
8395
8396 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
8397 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8398 size in the sdata structure.
8399 (SDATA_NBYTES, SDATA_DATA): New macros.
8400 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8401 differently for the different layout of the sdata structure.
8402 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8403 in sdata.
8404 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8405 Check that size recorded in the string size and size recorded in
8406 the sdata structure agree.
8407
8408 2000-09-25 Dave Love <fx@gnu.org>
8409
8410 * buffer.c: Include stdio.h.
8411
8412 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
8413
8414 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8415
8416 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
8417 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
8418 (__malloc_extra_blocks): Declare as __malloc_size_t.
8419
8420 2000-09-25 Gerd Moellmann <gerd@gnu.org>
8421
8422 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8423
8424 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8425 (read_char): If help-echo is showing, preserve the echo area
8426 when redisplaying.
8427
8428 * xdisp.c (help_echo_showing_p): New variable.
8429 (set_message): Reset it to 0.
8430 (init_xdisp): Initialize help_echo_showing_p.
8431
8432 * dispextern.h (help_echo_showing_p): Declare extern.
8433
8434 * config.in: Fix typo in __GNUC_MINOR__.
8435
8436 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8437
8438 * s/freebsd.h (POSIX_SIGNALS): Define.
8439
8440 * xterm.c (x_clear_mouse_face): Block/unblock input.
8441
8442 2000-09-24 Dave Love <fx@gnu.org>
8443
8444 * fns.c (base64_encode_1): Fix last change.
8445
8446 2000-09-22 Gerd Moellmann <gerd@gnu.org>
8447
8448 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8449
8450 * xdisp.c (try_window_reusing_current_matrix): More fixes
8451 for the case window has a header-line.
8452
8453 2000-09-22 Dave Love <fx@gnu.org>
8454
8455 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8456 a doc string.
8457
8458 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8459
8460 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8461
8462 2000-09-21 Gerd Moellmann <gerd@gnu.org>
8463
8464 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
8465 for GCC >= 2.5.
8466
8467 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8468 Declare NO_RETURN.
8469
8470 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8471 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8472 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8473 warnings.
8474
8475 * marker.c (byte_char_debug_check): Return void.
8476
8477 * xfns.c (Fx_create_frame): Set default frame parameter value
8478 for tool-bar-lines to 1.
8479
8480 * dispnew.c (scrolling_window): Compare y-positions of rows
8481 equal at the start. Some simplification.
8482
8483 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8484 reused rows' y-position in the case window has a header-line, and
8485 new window start is greater than old window start.
8486
8487 * process.c (process_sent_to): New variable.
8488 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8489 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8490 Declare more parameters volatile.
8491
8492 * lread.c (Vrecursive_load_depth_limit): New variable.
8493 (Fload): Check recursive loads whose recursion depth exceeds
8494 Vrecursive_load_depth_limit.
8495 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8496
8497 2000-09-20 Gerd Moellmann <gerd@gnu.org>
8498
8499 * fileio.c (Fread_file_name): Doc fix.
8500
8501 * editfns.c (Fmessage_or_box): Doc fix.
8502
8503 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8504
8505 * xfns.c (xbm_scan): Allow C-style comments.
8506
8507 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8508 symbols are specified, add color translations to the cache.
8509 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8510 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8511 xpm_cache_color.
8512 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8513 structures to xpm_init_color_cache.
8514
8515 2000-09-19 Gerd Moellmann <gerd@gnu.org>
8516
8517 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
8518
8519 2000-09-19 Andrew Innes <andrewi@gnu.org>
8520
8521 * makefile.nt (bootstrap-emacs): Don't change directory.
8522
8523 2000-09-19 Kenichi Handa <handa@etl.go.jp>
8524
8525 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8526
8527 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8528 If output buffer is too small, signal an appropriated error.
8529
8530 2000-09-18 Dave Love <fx@gnu.org>
8531
8532 * keyboard.c (menu_bar_items, tool_bar_items)
8533 (current_active_maps): Remove redundant get_local_map call.
8534
8535 2000-09-18 Gerd Moellmann <gerd@gnu.org>
8536
8537 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8538 cursor for buffers whose cursor_type is nil.
8539
8540 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8541 a feature to implement that is already implemented.
8542 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8543 warnings.
8544
8545 * xfns.c (x_clear_image_1): New function.
8546 (x_clear_image): Use it.
8547 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
8548
8549 * dispnew.c (update_window): Move test for invisible lines
8550 at the top to update_window_line.
8551 (update_window_line): Handle invisible lines here.
8552
8553 * xfns.c (clear_image_cache): Clear current matrices of all
8554 frames sharing an image cache. Block input while freeing
8555 images. Fix timestamp comparison.
8556 (x_clear_image): Also free the mask.
8557
8558 * xfns.c (lookup_image): Block input while loading the image so
8559 that we won't get interrupted in a state where the image isn't yet
8560 set up completely.
8561 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8562 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8563 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
8564 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
8565
8566 2000-09-16 Gerd Moellmann <gerd@gnu.org>
8567
8568 * dispnew.c (update_window): Make sure to make desired rows
8569 current even if they are completely invisible at the top
8570 of a window.
8571
8572 2000-09-15 Gerd Moellmann <gerd@gnu.org>
8573
8574 * xfns.c (lookup_image): Build mask before applying an algorithm.
8575 Recognize algorithm `disabled'.
8576 (cross_disabled_images): New variable.
8577 (COLOR_INTENSITY): New macro.
8578 (x_detect_edges): Use COLOR_INTENSITY.
8579 (x_disable_image): New function.
8580 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8581
8582 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8583 disabled state, don't apply an image transformation algorithm if
8584 the user specified an image for the disabled state. Use
8585 `:algorithm disabled' for creating a disabled item's image if the
8586 user hasn't specified an image.
8587
8588 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8589 allocation functions with the XPM lib.
8590 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8591 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8592 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8593 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
8594 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
8595 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8596 functions, if possible, because these handle color allocation
8597 failure more gracefully.
8598 (Fimage_mask_p): New function.
8599
8600 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8601 (Qedge_detection, Qheuristic): New symbols.
8602 (syms_of_xfns): Initialize new symbols.
8603 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8604 `algorithm (edge-detection ...)'.
8605 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8606 (tiff_format, gif_format, gs_format): Add `:mask'.
8607 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8608 (GIF_MASK, GS_MASK): New enumerators.
8609 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8610 (emboss_matrix, laplace_matrix): New variables.
8611 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8612 (x_edge_detection): New functions.
8613 (x_laplace): Rewritten in terms of x_detect_edges.
8614 (x_build_heuristic_mask): If image has a mask, free it.
8615
8616 2000-09-14 Andrew Innes <andrewi@gnu.org>
8617
8618 * makefile.w32-in: Revert to Unix line endings.
8619
8620 2000-09-14 Andrew Innes <andrewi@gnu.org>
8621
8622 * makefile.w32-in: Standardize indentation somewhat.
8623 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8624 cater for differences between shells.
8625
8626 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8627
8628 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8629
8630 * xterm.c (x_produce_glyphs): If the distance from the current
8631 position to the next tab stop is less than a canonical character
8632 width, use the tab stop after that.
8633
8634 2000-09-14 Dave Love <fx@gnu.org>
8635
8636 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8637
8638 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8639
8640 * xdisp.c (handle_fontified_prop): While running fontification
8641 functions, bind `fontification-functions' and
8642 `after-change-functions' to nil.
8643
8644 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8645 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8646
8647 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8648
8649 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8650 USE_MMAP_FOR_BUFFERS.
8651
8652 * insdel.c (make_gap): Use enlarge_buffer_text.
8653
8654 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8655 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8656 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8657 from former r_alloc_* functions in ralloc.c.
8658 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
8659 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8660 (mmap_init) [REL_ALLOC_MMAP]: New function.
8661 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8662 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8663 BUFFER_FREE.
8664
8665 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8666 (enlarge_buffer_text): Add prototype.
8667
8668 * ralloc.c: Remove everything having to do with the use of mmap.
8669
8670 2000-09-13 Gerd Moellmann <gerd@gnu.org>
8671
8672 * sound.c (Fplay_sound): Doc fix.
8673
8674 * keyboard.c: Avoid some more compiler warnings.
8675 (parse_tool_bar_item): Ignore cached key bindings.
8676
8677 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8678 and allocation of Lisp data.
8679
8680 2000-09-12 Gerd Moellmann <gerd@gnu.org>
8681
8682 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8683 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8684 defaults first.
8685
8686 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8687
8688 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
8689
8690 * ccl.c: Comment fixed.
8691 (MAX_MAP_SET_LEVEL): Increased to 30.
8692 (PUSH_MAPPING_STACK): Enclose with do-while block.
8693 (POP_MAPPING_STACK): Likewise.
8694 (stack_idx_of_map_multiple): New variable.
8695 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8696 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
8697 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
8698 (ccl_driver) <CCL_MapSingle>: Likewise.
8699 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8700 with the case where looking up process reaches to the end of
8701 map-set, and call CCL programs as the above change.
8702
8703 2000-09-11 Gerd Moellmann <gerd@gnu.org>
8704
8705 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8706 that might be clobbered by longjmp.
8707 (check_x_display_info, x_decode_color, create_frame_xic)
8708 (Fx_display_backing_store, Fx_display_visual_class)
8709 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8710
8711 * lread.c (init_lread): Set Vloads_in_progress to nil.
8712 (Fload): Show list of recursively loaded files, when signaling an
8713 error.
8714
8715 * lread.c (Vloads_in_progress): New variable.
8716 (record_load_unwind): New function.
8717 (Fload): Check for recursive loads.
8718 (syms_of_lread): Initialize Vloads_in_progress.
8719 (read_integer, read1): Avoid some compiler warnings.
8720
8721 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8722 compiler warnings.
8723
8724 2000-09-11 Miles Bader <miles@gnu.org>
8725
8726 * editfns.c (Fbuffer_string): Doc fix.
8727
8728 2000-09-10 Gerd Moellmann <gerd@gnu.org>
8729
8730 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8731
8732 2000-09-09 Ken Raeburn <raeburn@gnu.org>
8733
8734 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8735 whether to include other header files.
8736
8737 2000-09-09 Gerd Moellmann <gerd@gnu.org>
8738
8739 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
8740 by Fmemq as a boolean.
8741
8742 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8743
8744 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8745
8746 2000-09-08 Gerd Moellmann <gerd@gnu.org>
8747
8748 * ralloc.c (mmap_fd): Remove initializer which can make it
8749 read-only in a dumped Emacs.
8750 (mmap_fd_1): New variable.
8751 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8752 restore it from there.
8753 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8754 unconditionally so that mmap_fd can be initialized there.
8755 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8756 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8757 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8758
8759 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8760
8761 * xdisp.c (dump_glyph_row): Fix printf format string.
8762 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
8763
8764 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8765
8766 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8767 inheritance.
8768
8769 * xdisp.c (try_window_id): When trying to locate cursor in
8770 unchanged rows at the top, handle the case that we can't find it.
8771
8772 * xterm.c (x_draw_glyphs): Handle case START and END are out
8773 of bounds more carefully.
8774
8775 2000-09-08 Dave Love <fx@gnu.org>
8776
8777 * s/sol2.h (REL_ALLOC_MMAP): Define.
8778 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8779
8780 * ralloc.c: Don't include string.h (redundant).
8781 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8782 [!MAP_ANON]: Include fcntl.h.
8783 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8784 (r_alloc, r_re_alloc, r_alloc_free)
8785 (mmap_enlarge, mmap_set_vars): Use it.
8786 (r_alloc_init_fd): New function.
8787 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8788 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8789 malloc type.
8790
8791 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8792 Remove vm-limit.o.
8793
8794 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8795 change to __NetBSD__.
8796
8797 2000-09-08 Kenichi Handa <handa@etl.go.jp>
8798
8799 * search.c (compile_pattern): Check the multibyteness of cached
8800 string and PATTERN.
8801
8802 2000-09-08 Miles Bader <miles@gnu.org>
8803
8804 * xfaces.c (default_face_vector): Function removed.
8805 (Finternal_merge_in_global_face): Restore old global/local
8806 attribute override order. Use inline loop instead of calling
8807 default_face_vector.
8808
8809 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8810
8811 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8812 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8813 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8814 where necessary, in case POINTER_TYPE is `void'.
8815
8816 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8817
8818 * frame.c (make_terminal_frame): Initialize frame foreground and
8819 background colors to unspecified, for the initial instance of an
8820 MSDOS frame.
8821
8822 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8823
8824 * ralloc.c (mmap_find): Fix overlap computation.
8825 (mmap_enlarge): Compute nbytes before trying to find an
8826 overlapping region.
8827
8828 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8829 instead of `!='.
8830
8831 * lread.c (syms_of_lread): Change value of regexp
8832 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8833
8834 * xmenu.c (xdialog_show): When looking up the selection in
8835 menu_items, take `quote' boundaries into account; this corresponds
8836 to a nil ITEM in x-popup-dialog.
8837
8838 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8839
8840 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8841 not 0x81.
8842 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8843
8844 * coding.c (encode_coding_sjis_big5): Use translation table for
8845 encoding, not decoding. Fix the handling of latin-jisx0201.
8846 Check for the charset katakana-jisx0201 too.
8847 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
8848 (detect_coding_sjis): Check the byte sequence more rigidly.
8849
8850 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8851
8852 * xfaces.c (Vparam_value_alist): New variable.
8853 (syms_of_xfaces): Initialize it.
8854 (Finternal_set_lisp_face_attribute): Avoid more consing.
8855
8856 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8857 specially.
8858 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8859 (Qbackground_mode): New variable.
8860 (syms_of_frame_1): Initialize Qbackground_mode.
8861
8862 * lisp.h (Qdisplay): Declare extern.
8863
8864 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8865 change face on all frames, and change the default for new frames.
8866
8867 2000-09-07 Dave Love <fx@gnu.org>
8868
8869 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8870
8871 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8872
8873 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8874
8875 * charset.c: Include composite.h
8876 (lisp_string_width): New function.
8877 (Fstring_width): Call lisp_string_width instead of strwidth.
8878
8879 * Makefile.in (charset.o): Depends on composite.h.
8880
8881 * process.c (read_process_output): Before inserting the decoded
8882 text in the buffer, adjust the multibyteness.
8883
8884 2000-09-06 Gerd Moellmann <gerd@gnu.org>
8885
8886 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
8887 buffer's text buffer is null, map new memory.
8888
8889 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8890 POINTER_TYPE and size_t.
8891 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8892 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8893 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8894 [REL_ALLOC_MMAP]: New macros.
8895 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8896 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8897 [REL_ALLOC_MMAP]: New functions.
8898
8899 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8900 before and after unexec.
8901
8902 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8903 text buffers if necessary.
8904
8905 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8906 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8907 in prototypes.
8908
8909 * config.in (HAVE_MMAP): Add #undef.
8910
8911 2000-09-05 Gerd Moellmann <gerd@gnu.org>
8912
8913 * frame.c (Qdisplay_type): New variable.
8914 (syms_of_frame_1): Initialize it.
8915 (Fframe_parameter): New function that avoids consing.
8916 (syms_of_frame): Defsubr it.
8917
8918 * buffer.c (Fother_buffer): Consider buffers as invisible when
8919 they are displayed in a window on an invisible frame.
8920
8921 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8922 get-largest-window always return nil.
8923
8924 2000-09-04 Gerd Moellmann <gerd@gnu.org>
8925
8926 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8927 variable; recognize Emacs 19 elc files.
8928
8929 2000-09-04 Miles Bader <miles@gnu.org>
8930
8931 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8932 before initially popping up the menu, so the menu doesn't flash
8933 when the face settings are significantly different from the defaults.
8934
8935 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8936
8937 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8938 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8939 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8940 (BIT_UNIBYTE): Remove.
8941 (re_match_2_internal): Delete corresponding code and streamline the
8942 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8943 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8944 (re_wctype_t): New type.
8945 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8946 (regex_compile): Use them and fix handling of overly long char classes.
8947
8948 2000-09-03 Andrew Innes <andrewi@gnu.org>
8949
8950 * makefile.w32-in: Change to DOS line endings.
8951
8952 * s/ms-w32.h (ORDINARY_LINK): New define.
8953
8954 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8955 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8956
8957 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8958 (distclean): Delete them here instead.
8959
8960 * w32proc.c (compare_env): Convert to uppercase for comparison,
8961 not lowercase, to match how the native Windows shell works.
8962
8963 2000-09-03 Jason Rumney <jasonr@gnu.org>
8964
8965 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8966 CVS changes the line-ends when checking in/out on DOS/Windows.
8967
8968 * makefile.nt (emacs): Do not change directory to run temacs, as
8969 the load-path is set relative to current directory.
8970
8971 2000-09-03 Miles Bader <miles@gnu.org>
8972
8973 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8974
8975 2000-09-02 Gerd Moellmann <gerd@gnu.org>
8976
8977 * xdisp.c (redisplay_mode_lines): New function.
8978 (display_mode_lines): Return number of mode lines displayed.
8979 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8980 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8981
8982 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8983 string.h and strings.h.
8984 (index) [HAVE_INDEX]: Add prototype.
8985
8986 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8987 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8988
8989 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8990 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8991
8992 2000-09-01 Gerd Moellmann <gerd@gnu.org>
8993
8994 * lread.c (read1): Accept `?' as symbol constituent, for
8995 compatiblity with XEmacs.
8996
8997 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8998
8999 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9000 (struct re_pattern_buffer): Remove newline_anchor.
9001 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9002 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9003 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9004 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9005 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9006 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9007 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9008 Get rid of references to newline_anchor.
9009 (regcomp): Allocate and precompute a fastmap.
9010
9011 2000-08-31 Gerd Moellmann <gerd@gnu.org>
9012
9013 * lread.c (openp): GCPRO local variable `filename'.
9014
9015 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9016
9017 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9018
9019 * regex.c: Merge some changes from GNU libc. Add prototypes.
9020 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9021 Use memcmp and memcpy instead of bcopy and bcmp.
9022 (init_syntax_once): Use ISALNUM.
9023 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9024 (REG_UNSET_VALUE): Remove. Use NULL instead.
9025 (REG_UNSET, re_match_2_internal): Use NULL.
9026 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9027 New macros.
9028 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9029 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9030 (regex_compile): In handle_interval, return an error rather than try to
9031 unfetch the interval if we can't find the closing brace.
9032 Obey the RE_NO_GNU_OPS syntax bit.
9033 (TOLOWER): New macro.
9034 (regcomp): Use it.
9035 (regexec): Allocate regs.start and regs.end as one block.
9036
9037 2000-08-30 Gerd Moellmann <gerd@gnu.org>
9038
9039 * xdisp.c (echo_area_display): Check display_completed instead
9040 of calling detect_input_pending.
9041
9042 * dispnew.c (update_frame): Only set display_completed here; move
9043 the update_begin and update_end calls here from update_frame_1.
9044 (update_frame_1): Don't set display_completed here, don't call
9045 update_begin/update_end.
9046
9047 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9048 instead of store_frame_param.
9049
9050 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9051
9052 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9053 desired window matrix hasn't been displayed, use the current row
9054 instead. Make sure that only those frame rows are updated for
9055 which there exists a corresponding enabled desired row.
9056
9057 2000-08-29 Miles Bader <miles@gnu.org>
9058
9059 * xfaces.c (default_face_vector): New function.
9060 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9061
9062 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9063
9064 * lread.c (openp): Prevent temporary string passed to
9065 Ffile_readable_p from being garbage collected.
9066
9067 2000-08-28 Dave Love <fx@gnu.org>
9068
9069 * keymap.c (store_in_keymap): Add `static' to declaration.
9070
9071 2000-08-28 Gerd Moellmann <gerd@gnu.org>
9072
9073 * emacs.c, callint.c, doc.c, editfns.c
9074 (toplevel) [HAVE_STRING_H]: Include string.h.
9075 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9076 (index): Remove prototypes which might conflict with non-standard
9077 definitions of index/strchr.
9078
9079 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9080 (rindex): Define only if !HAVE_RINDEX.
9081
9082 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9083
9084 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9085
9086 2000-08-28 Miles Bader <miles@gnu.org>
9087
9088 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9089 made inconsistent by a font-related attribute in FROM.
9090 (merge_face_inheritance): Add function comment.
9091
9092 2000-08-28 Kenichi Handa <handa@etl.go.jp>
9093
9094 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9095 the 4th arg (PREV_EVENT) Qt to suppress input method.
9096
9097 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9098
9099 * regex.c: Indent cpp directives and remove parens after `defined'.
9100 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9101 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9102 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9103 (re_compile_pattern): Use size_t for length.
9104 (init_syntax_once): Move to a better place.
9105 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9106 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9107
9108 * syntax.c (back_comment): Detect cases where a comment-starter is
9109 actually inside another comment as in: /* a // b */ c // d \n.
9110 Make it clear that `comstart_pos' is unused for nested comments.
9111
9112 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9113 (KEYMAPP): New macro.
9114 (Fkeymap_parent, Fset_keymap_parent): Use it.
9115 (fix_submap_inheritance): Mark it static.
9116 (define_as_prefix, describe_buffer_bindings, describe_command)
9117 (describe_translation, describe_map): Complete prototypes.
9118
9119 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9120
9121 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9122 to better match the key-lookup behavior.
9123
9124 2000-08-27 Gerd Moellmann <gerd@gnu.org>
9125
9126 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9127 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9128
9129 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9130
9131 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9132 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9133 (xterm.o): Depend on coding.h
9134
9135 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9136
9137 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9138 the corresponding '#endif'.
9139
9140 2000-08-26 Miles Bader <miles@gnu.org>
9141
9142 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9143 * xfaces.c (QCinherit): New variable.
9144 (syms_of_xfaces): Initialize it.
9145 (LFACE_INHERIT): New macro.
9146 (Finternal_get_lisp_face_attribute)
9147 (merge_face_vector_with_property)
9148 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9149 (check_lface_attrs): Allow new types of face height. Check
9150 inherit attribute.
9151 (CYCLE_CHECK): New macro.
9152 (merge_face_inheritance): New function.
9153 (merge_face_vectors): Merge inherited faces too. Add F and
9154 CYCLE_CHECK arguments.
9155 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9156 (lookup_named_face, lookup_derived_face, realize_named_face)
9157 (face_at_string_position, face_at_buffer_position): Supply
9158 new F and CYCLE_CHECK arguments to merge_face_vectors.
9159 (merge_face_heights): New function.
9160 (merge_face_vectors, merge_face_vector_with_property)
9161 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9162 handle relative face heights.
9163 (lface_same_font_attributes_p): Compare heights using EQ.
9164
9165 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9166
9167 * charset.c (char_to_string): Check the character validity.
9168 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
9169
9170 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9171
9172 * regex.c (PUSH_FAILURE_COUNT): New macro.
9173 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9174 Handle popping of a register's or a counter's data.
9175 (POP_FAILURE_POINT): Use the new name.
9176 (re_match_2_internal): Push counter data on the stack for succeed_n,
9177 jump_n and set_number_at and remove misleading dead code in succeed_n.
9178
9179 2000-08-25 Gerd Moellmann <gerd@gnu.org>
9180
9181 * xdisp.c (redisplay_internal): If considering all windows on all
9182 frames, update the display for each frame as soon as possible,
9183 instead of first building all desired matrices for all frames, and
9184 then updating them all.
9185 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9186
9187 2000-08-24 Gerd Moellmann <gerd@gnu.org>
9188
9189 * bytecode.c (mark_byte_stack): Add a comment.
9190
9191 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9192 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
9193 a graphical frame.
9194
9195 2000-08-24 Kenichi Handa <handa@etl.go.jp>
9196
9197 * minibuf.c (do_completion): Always use compare-string, not
9198 string-equal because the latter doesn't pay attention to
9199 multibyteness of strings.
9200
9201 * process.c (create_process): Don't setup raw-text coding here.
9202 (Fopen_network_stream): Don't set coding->src_multibyte and
9203 coding->dst_multibyte here.
9204 (read_process_output): For process filter, return unibyte string
9205 if default-enable-multibyte-characters is nil.
9206 (send_process): If OBJECT is multibyte text, be sure to encoded it
9207 by the specified coding system for the process. Otherwise, setup
9208 raw-text coding.
9209 (init_process): Don't initialize default-process-coding-system here.
9210
9211 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9212
9213 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9214 <scroll-down-aggressively>: Likewise.
9215
9216 2000-08-23 Kenichi Handa <handa@etl.go.jp>
9217
9218 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9219 zero. Set coding->produced_char correctly.
9220
9221 2000-08-22 Andrew Innes <andrewi@gnu.org>
9222
9223 * makefile.w32-in: New file.
9224
9225 * unexw32.c (unexec): Ignore old_name, and use the actual location
9226 of the current executable instead. Base new_name on this.
9227
9228 * w32proc.c (create_child): Remove reference to security
9229 descriptor, which isn't needed and doesn't compile with mingw32.
9230
9231 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9232 up dllimport attributes.
9233 (x_update_window_end): Update prototype.
9234
9235 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9236 extern, which screws up dllimport attributes.
9237
9238 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9239 up dllimport attributes.
9240
9241 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9242 screws up dllimport attributes.
9243
9244 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9245 up dllimport attributes.
9246 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9247 screws up dllimport attributes.
9248
9249 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9250 up dllimport attributes.
9251
9252 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9253 screws up dllimport attributes.
9254
9255 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9256 screws up dllimport attributes.
9257
9258 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9259 up dllimport attributes.
9260
9261 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9262 unnecessary extern, which screws up dllimport attributes.
9263 (main): Ditto.
9264
9265 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9266 up dllimport attributes.
9267
9268 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9269 unnecessary extern, which screws up dllimport attributes.
9270
9271 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9272 screws up dllimport attributes.
9273
9274 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9275 up dllimport attributes.
9276
9277 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9278
9279 * w32bdf.c (search_file_line):
9280 (set_bdf_font_info):
9281 (seek_char):
9282 (w32_get_bdf_glyph):
9283 (w32_BDF_to_x_font): Fix compile warnings.
9284
9285 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
9286
9287 * w32select.c: Include keyboard.h before frame.h.
9288
9289 * w32fns.c (max): Define macro.
9290 (JOHAB_CHARSET): Define if not known.
9291 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9292 (Fx_show_tip): Synch with X version.
9293
9294 * w32xfns.c: Include keyboard.h before frame.h.
9295
9296 * w32fns.c: Include keyboard.h before frame.h.
9297
9298 * w32term.c: Include keyboard.h before frame.h.
9299
9300 * fontset.c: Include keyboard.h before frame.h.
9301
9302 * w32inevt.c: Include keyboard.h before frame.h.
9303 (MOUSE_MOVED): Define if not known.
9304
9305 * minibuf.c: Include keyboard.h before frame.h.
9306
9307 * keyboard.c: Include keyboard.h before frame.h.
9308
9309 * indent.c: Include keyboard.h before frame.h.
9310
9311 * dispnew.c: Include keyboard.h before frame.h.
9312
9313 * buffer.c: Include keyboard.h before frame.h.
9314
9315 * alloc.c: Include keyboard.h before frame.h.
9316
9317 * print.c: Include keyboard.h before frame.h.
9318
9319 * process.c: Include keyboard.h before frame.h.
9320
9321 * scroll.c: Include keyboard.h before frame.h.
9322
9323 * sysdep.c: Include keyboard.h before frame.h.
9324
9325 * term.c: Include keyboard.h before frame.h.
9326
9327 * window.c: Include keyboard.h before frame.h.
9328
9329 * xdisp.c: Include keyboard.h before frame.h.
9330 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9331
9332 * frame.c: Include keyboard.h before frame.h.
9333
9334 * w32heap.h: Undefine min, max.
9335
9336 * w32gui.h: Undefine min, max.
9337
9338 * unexw32.c: Change PUCHAR to PCHAR.
9339 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
9340 (relocate_offset):
9341 (get_section_info):
9342 (copy_executable_and_dump_data): Remove unnecessary static defs.
9343 (copy_executable_and_dump_data): Fix compile warnings.
9344
9345 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9346
9347 * w32console.c (min): Define macro.
9348 (clear_frame, write_glyphs): Fix compile warning.
9349
9350 * w32proc.c (compare_env):
9351 (find_child_console): Fix compile warning.
9352
9353 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9354 sys_errlist instead of _sys_errlist.
9355 (get_emacs_configuration_options): New function.
9356
9357 * s/ms-w32.h (sys_nerr): Provide default definition.
9358 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9359 name with _ prepended.
9360 (NSIG): Define if not known.
9361 (get_emacs_configuration): Provide extern declaration.
9362 (get_emacs_configuration_options): Provide extern declaration.
9363 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9364
9365 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
9366 (map_w32_filename):
9367 (read_unc_volume): Fix compile warning.
9368
9369 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9370 definitions from being used.
9371
9372 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9373
9374 * w32.c (unc_volume_file_attributes):
9375 (open_unc_volume): Make arg const.
9376
9377 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9378 (read_input_waiting): Remove excess parameter.
9379
9380 * w32.c (init_environment): Call _access.
9381 (check_windows_init_file): Call _close.
9382 (init_user_info): Call _putenv.
9383 (init_environment): Call _putenv and _strdup.
9384 (init_ntproc): Reset volume info cache on startup.
9385
9386 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9387 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9388 cannot override the CRT malloc.
9389
9390 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9391 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9392
9393 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9394 unless we are linking with a static CRT.
9395 (RVA_TO_PTR): Cast result to unsigned char*.
9396
9397 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9398 (add_volume_info): Use xstrdup.
9399
9400 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9401
9402 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9403 (do_completion, Fminibuffer_complete_word): Use it.
9404 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9405 var so it can take non-boolean values.
9406
9407 2000-08-21 Gerd Moellmann <gerd@gnu.org>
9408
9409 * editfns.c (find_field): Formatting changes.
9410 (toplevel): Some old-style function forward declarations
9411 changed to prototypes, some new protypes added, some functions
9412 made static.
9413
9414 * lisp.h (set_time_zone_rule): Add prototype.
9415 (use_dialog_box): External declaration.
9416
9417 * keyboard.c (gen_help_event): Add parameter SIZE.
9418 (kbd_buffer_events_waiting): Slightly rewritten.
9419 (clear_event): New function.
9420 (kbd_buffer_get_event): Use it, and clear the input_events of
9421 HELP_EVENTs.
9422 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9423 don't fill the newly created array with nils.
9424 (toplevel): Convert some old-style function forward declarations
9425 to prototypes.
9426
9427 * keyboard.h (gen_help_event): Change prototype.
9428
9429 * xterm.c (XTread_socket): Change calls to gen_help_event.
9430
9431 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9432
9433 * eval.c (Fmacroexpand): Doc fix.
9434
9435 2000-08-20 Jason Rumney <jasonr@gnu.org>
9436
9437 * w32term.h (x_display_info_for_display): Remove as this function
9438 does not exist on W32.
9439
9440 * w32term.c (help_echo_window): New variable.
9441 (syms_of_w32term): staticpro it.
9442 (note_mode_line_highlight): Set it.
9443 (XTextExtents16): Removed as there is no equivalent on W32.
9444 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9445 the X way of doing this will not work for W32.
9446 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9447 (x_draw_image_foreground): Avoid drawing outside of the clip area
9448 when image doesn't have a mask.
9449 (note_mouse_highlight): Process overlays in the right order of
9450 priority. Set help_echo_window.
9451 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9452 because that's more visible for large images.
9453
9454 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9455 name to single_keymap_panes.
9456 (w32_menu_show): Set wv->title when dealing with titles.
9457 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9458
9459 2000-08-21 Miles Bader <miles@gnu.org>
9460
9461 * minibuf.c (do_completion): Try again if we rewrite the input
9462 string, but no completion was done, so that any completion message
9463 will be correct.
9464
9465 2000-08-20 Gerd Moellmann <gerd@gnu.org>
9466
9467 * xfaces.c (lface_equal_p): Compare strings differently.
9468 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9469 (realize_tty_face): Use them.
9470 (syms_of_xfaces): Initialize new variables.
9471 (map_tty_color): New function, extracted from realize_tty_face.
9472 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9473 foreground or background color, store the new color name in the
9474 realized face; previous code trying to do this had no effect.
9475 (realize_tty_face): Use map_tty_color.
9476 (Fclear_face_cache): Set face_change_count and ensure thorough
9477 redisplay.
9478
9479 2000-08-19 Gerd Moellmann <gerd@gnu.org>
9480
9481 * undo.c (record_first_change, record_marker_adjustment): Don't
9482 use XBUFFER on last_undo_buffer which might not be a buffer.
9483
9484 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9485
9486 * coding.c (decode_coding_string): Set members consumed,
9487 consumed_char, produced, produced_char of *coding correctly. If
9488 decode_coding doesn't consume any byte, don't try anymore.
9489 (encode_coding_string): Likewise.
9490
9491 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9492
9493 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9494 conditional have void type, for Standard C compilers.
9495
9496 * xdisp.c (redisplay_internal): Compare windows for equality with
9497 EQ, instead of applying XWINDOW to something that might not
9498 be a window.
9499
9500 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9501
9502 * fontset.c (Finternal_char_font): Search only the selected frame
9503 for a window of the current buffer.
9504
9505 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9506
9507 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
9508 Lisp_Objects.
9509
9510 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9511 second half of a HELP_EVENT is found at the start of kbd_buffer.
9512
9513 2000-08-18 Miles Bader <miles@gnu.org>
9514
9515 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9516
9517 * editfns.c (save_restriction_save): Rewrite to use markers.
9518 (save_restriction_restore): Rewrite to understand new form of data
9519 saved by save_restriction_save.
9520 (Fsave_restriction): Remove cautionary note in doc-string.
9521
9522 2000-08-17 Gerd Moellmann <gerd@gnu.org>
9523
9524 * fileio.c (build_annotations): Add a comment explaining the
9525 return value of format-annotate-function. Replace a spurious call
9526 to Flength with a CONSP test. Call format-annotate-function with
9527 a fifth arg specifying how many times the function is been called
9528 in a row, to let it choose temporary buffers appropriately.
9529
9530 2000-08-17 Dave Love <fx@gnu.org>
9531
9532 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9533 declare make_temp_name twice.
9534
9535 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
9536 (unreadpure): Give it an arg.
9537
9538 * unexalpha.c: Prototype fatal_unexec, mark_x,
9539 update_dynamic_symbols. Declare unexec as void.
9540
9541 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9542 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9543
9544 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
9545 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
9546
9547 * alloca.c: Use #error.
9548 [POINTER_TYPE]: Use it.
9549
9550 * eval.c (Fdefvar): Doc fix.
9551
9552 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9553 INITIALIZE_INTERVAL.
9554
9555 * buffer.h: Avoid DECLARE_INTERVALS.
9556
9557 * config.in: Add size_t.
9558
9559 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9560
9561 * w16select.c (set_clipboard_data): If there's not enough memory
9562 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9563 expects. In case of other failures, return 3.
9564 (system_error_msg): New error message.
9565 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9566 system_error_msg.
9567
9568 2000-08-16 Gerd Moellmann <gerd@gnu.org>
9569
9570 * term.c (write_glyphs): Also turn off inverse video after turning
9571 off other appearances in case TS_exit_attribute_mode is not equal
9572 to TS_end_standout_mode.
9573 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9574 with the same face.
9575 (turn_off_face): Reset standout_mode only if
9576 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9577 is equal to TS_end_standout_mode.
9578
9579 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9580
9581 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9582 sequence at the end of the source block.
9583
9584 * ccl.c (Fccl_program_p): Docstring modified.
9585 (Fccl_execute): Likewise.
9586 (Fccl_execute_on_string): Likewise.
9587
9588 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9589
9590 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9591
9592 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9593
9594 The following changes are mainly to fix bugs of
9595 encode/decode-coding-string failing if encoding/decoding return
9596 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9597 variable conversion_buffer.
9598
9599 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9600 decrement dst_end to avoid buffer overflow in the later call of
9601 string_as_multibyte
9602
9603 * coding.h (conversion_buffer_size, conversion_buffer)
9604 (get_conversion_buffer): Extern deleted.
9605
9606 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9607 (conversion_buffer, conversion_buffer_size): Variables deleted.
9608 (get_conversion_buffer): Function deleted.
9609 (struct conversion_buffer): New structure.
9610 (MAX_ALLOCA): New macro.
9611 (allocate_conversion_buffer): New macro.
9612 (extend_conversion_buffer, free_conversion_buffer): New functions.
9613 (ccl_coding_driver): Set coding->result.
9614 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9615 this is the last block of source.
9616 (encode_coding): Likewise. Handle the source block as the last
9617 one only when the whole source text is consumed.
9618 (decode_coding_string): Handle the case that the output buffer is
9619 too small to decode the whole source text. Use
9620 allocate_conversion_buffer, extend_conversion_buffer and
9621 free_conversion_buffer, not get_conversion_buffer.
9622 (encode_coding_string): Likewise.
9623 (init_coding): Function deleted.
9624 (init_coding_once): Delete code to initialize conversion_buffer_size.
9625
9626 * emacs.c (main): Don't call init_coding.
9627
9628 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
9629
9630 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9631 (insert_glyphs): Likewise.
9632
9633 * w32console.c (write_glyphs): Use a locally declared
9634 conversion_buffer.
9635
9636 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9637
9638 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9639 member of display_info is NULL.
9640
9641 2000-08-15 Gerd Moellmann <gerd@gnu.org>
9642
9643 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
9644
9645 * term.c (turn_off_face): Reset standout_mode when resetting
9646 appearances with capability `me'.
9647 (write_glyphs): Switch on inverse video before each face change.
9648
9649 2000-08-14 Dave Love <fx@gnu.org>
9650
9651 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9652 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9653 (lisp_free): Declare and make static.
9654
9655 * window.c: Fix embedded comment.
9656 (syms_of_window): Fix doc string.
9657
9658 2000-08-14 Gerd Moellmann <gerd@gnu.org>
9659
9660 * keymap.c (push_key_description): If C without modifiers is < 32,
9661 make sure to print `C-' before `M-', like in the manual.
9662
9663 2000-08-11 Gerd Moellmann <gerd@gnu.org>
9664
9665 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9666 since they aren't relocated anymore.
9667 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
9668
9669 * xdisp.c (try_cursor_movement): Fix handling of cursor in
9670 partially visible line which is smaller than the window's height.
9671
9672 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9673
9674 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
9675 the multibyte form of eight-bit-control characters.
9676 (Fccl_execute_on_string): Initialize ccl->multibyte.
9677
9678 * ccl.h (struct ccl_program): New member multibyte.
9679
9680 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9681
9682 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9683
9684 * regex.c (regex_compile) <normal_char>: Pay attention to
9685 multibyteness.
9686 (analyse_first) <exactn>: Setup fastmap correctly for
9687 eight-bit-control characters.
9688
9689 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9690
9691 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
9692
9693 * keyboard.c (make_lispy_event): Handle the new event type
9694 multibyte_char_keystroke.
9695
9696 * xterm.c: Include coding.h.
9697 (XTread_socket): Work around a bug of XmbLookupString. If the
9698 input is from XIM, decode it according to the current locale. In
9699 that case, generate multibyte_char_keystroke events.
9700
9701 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9702
9703 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9704 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9705
9706 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9707
9708 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9709 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9710 (move_it_in_display_line_to): Record iterator's ascent and descent
9711 before producing glyphs, and restore them when we know the glyph
9712 doesn't fit on the line.
9713 (move_it_to): Restructured so that it's easier to debug. If
9714 moving to a vpos, and not moving to an x or character position,
9715 stop as soon as the specified vpos is reached; don't move further
9716 into that line because that might change the computed line height.
9717 (try_cursor_movement): New function, extracted from the cursor
9718 movement branch of redisplay_window. If ending on a partially
9719 visible line, don't try to scroll if the cursor line is taller
9720 than the window.
9721 (redisplay_window): Use try_cursor_movement.
9722
9723 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9724 because that function doesn't cope with variable-height lines.
9725
9726 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9727 box cursor because that's better visible for large images.
9728
9729 2000-08-10 Miles Bader <miles@gnu.org>
9730
9731 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9732
9733 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9734
9735 * xdisp.c (Vmessages_buffer_name): New variable.
9736 (message_dolog): Use it.
9737 (syms_of_xdisp): Initialize it.
9738
9739 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9740
9741 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
9742 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9743 redundant now that keyboard.h is included.
9744
9745 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9746
9747 * keyboard.c (kbd_buffer_events_waiting): New function.
9748
9749 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9750
9751 * msdos.c: Include keyboard.h.
9752 (XMenuActivate): Empty no_event events from the event buffer. If
9753 no events are left after that, call clear_input_pending.
9754 (mouse_clear_clicks): New function, code moved from mouse_init.
9755 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9756 mouse driver to ``forget'' any past clicks.
9757
9758 * Makefile.in (msdos.o): Depend on keyboard.h.
9759
9760 2000-08-09 Gerd Moellmann <gerd@gnu.org>
9761
9762 * lisp.h (input_pending): External declaration.
9763
9764 * dispextern.h (Qredisplay_dont_pause): Declare extern.
9765
9766 * xdisp.c (echo_area_display): Display thoroughly if input is
9767 pending. Bind redisplay-dont-pause to t during the redisplay.
9768 in case input is pending.
9769
9770 * dispnew.c (Qredisplay_dont_pause): New variable.
9771 (syms_of_display): Initialize and staticpro it.
9772 (update_frame_1): Don't interrupt the display for pending input if
9773 redisplay_dont_pause is set.
9774
9775 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9776
9777 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9778
9779 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9780
9781 * callproc.c (Fcall_process): Terminate the unwind-protect around
9782 the post-read-conversion of coding system.
9783
9784 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9785 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9786 * buffer.h (overlays_at): Update prototype.
9787 * xdisp.c (next_overlay_change): Update call to overlays_at.
9788 * xfaces.c (face_at_buffer_position): Likewise.
9789 * textprop.c (Fget_char_property): Likewise.
9790 * xterm.c (note_mouse_highlight): Likewise.
9791
9792 * minibuf.c (do_completion): Don't consider a simple change of
9793 case as `completion'.
9794
9795 2000-08-08 Ken Raeburn <raeburn@gnu.org>
9796
9797 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
9798 * undo.c (record_delete): Make sure last_point_position_buffer is
9799 a buffer before comparing pointers.
9800
9801 * coding.h (decode_coding_string): Declare.
9802
9803 * intervals.h (Fprevious_single_char_property_change): Declare.
9804
9805 * textprop.c (Fprevious_single_char_property_change): Don't do
9806 arithmetic directly on lisp objects.
9807
9808 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
9809
9810 * keyboard.h (menu_item_eval_property): Declare.
9811
9812 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9813 reuse as buffer name, instead of recreating (and discarding) every
9814 time a message is logged.
9815 (with_echo_area_buffer): Make callback arg A2 a lisp object.
9816 (current_message_1, truncate_message_1, set_message_1)
9817 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9818 (current_message, truncate_echo_area, display_echo_area)
9819 (resize_echo_area_axactly): Changed calls.
9820
9821 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
9822 Lisp object.
9823 (Ffind_coding_systems_region_internal): First argument to Fappend
9824 must be an integer, not a Lisp object.
9825
9826 2000-08-08 Kenichi Handa <handa@etl.go.jp>
9827
9828 * charset.c (Fchar_width): Doc fix.
9829
9830 2000-08-08 Gerd Moellmann <gerd@gnu.org>
9831
9832 * charset.c (Fstring_width): Doc fix.
9833
9834 2000-08-07 Gerd Moellmann <gerd@gnu.org>
9835
9836 * xdisp.c (start_display): When starting display on a continuation
9837 line, clear ascent and descent members of the iterator structure;
9838 the height of the continued line does not affect the height of the
9839 continuation line.
9840 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9841 line taller than the window.
9842 (redisplay_window) <forced window start>: Handle case that the
9843 middle of the window is not found in any row.
9844 (dump_glyph_row): Show more information.
9845 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9846 first text line in a glyph matrix.
9847
9848 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9849 of the clip area when image doesn't have a mask.
9850
9851 * fns.c (sweep_weak_table): Fix survival conditions for
9852 key-or-value and key-and-value weakness.
9853
9854 * .gdbinit (xhashtable): New command.
9855
9856 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9857 tables out of the list of all weak hash tables.
9858
9859 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9860 a new buffer is created, make sure echo_area_buffer[] references
9861 the new buffer.
9862
9863 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9864
9865 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9866 the doc string.
9867
9868 2000-08-07 Kenichi Handa <handa@etl.go.jp>
9869
9870 * syntax.c (skip_chars): Fix previous change. Make the handling
9871 of unibyte string consistent with that of regex search.
9872
9873 2000-08-05 Gerd Moellmann <gerd@gnu.org>
9874
9875 * xmenu.c (popup_get_selection): Use xfree instead of free.
9876
9877 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9878
9879 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9880
9881 * callproc.c (child_setup): Use xfree instead of free.
9882
9883 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9884 instead of malloc.
9885 (run_mac_command, closedir): Use `xfree' instead of `free'.
9886
9887 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9888
9889 * eval.c (error): Use xfree instead of free.
9890
9891 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9892
9893 * fns.c: Replace `illegal' with `invalid'.
9894 (Fmake_hash_table, make_hash_table): Allow table size of 0.
9895
9896 2000-08-05 Kenichi Handa <handa@etl.go.jp>
9897
9898 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9899 conversion.
9900
9901 2000-08-04 Noah Friedman <friedman@splode.com>
9902
9903 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9904 docstring.
9905
9906 2000-08-04 Gerd Moellmann <gerd@gnu.org>
9907
9908 * syntax.c (skip_chars): Fix typo in error message.
9909
9910 2000-08-04 Andreas Schwab <schwab@suse.de>
9911
9912 * m/ia64.h: Moved from s/ia64.h.
9913
9914 2000-08-04 Kenichi Handa <handa@etl.go.jp>
9915
9916 * process.c (read_process_output): Big simplification. Handle
9917 composition and post-read-conversion of coding system correctly.
9918 (send_process): Handle composition correctly.
9919
9920 * callproc.c (Fcall_process): Handle post-read-conversion of
9921 coding system if any.
9922
9923 * coding.c (decode_coding_iso2022): More strict check for handling
9924 single shifting.
9925 (coding_restore_composition): Pay attention to the case that
9926 cmp_data is not set properly (because of invalid code in the
9927 source text).
9928 (run_pre_post_conversion_on_str): Include text properties in the
9929 resulting string.
9930 (decode_coding_string): Set members of coding correctly.
9931
9932 2000-08-03 Gerd Moellmann <gerd@gnu.org>
9933
9934 * s/ia64.h: New file.
9935
9936 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9937 Use NULL instead of 0 at the end of variable argument list of
9938 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9939 sizeof (int) < sizeof (void *).
9940
9941 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9942 of variable argument lists of XtVaGetValues and XtVaSetValues.
9943
9944 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9945 variable argument lists of XtVaGetValues and XtVaSetValues.
9946
9947 2000-08-02 Gerd Moellmann <gerd@gnu.org>
9948
9949 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9950 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9951
9952 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9953 prototype.
9954
9955 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9956 in call to Fsingle_key_description.
9957
9958 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9959 Callers changed.
9960
9961 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9962
9963 * window.c (display_buffer_reuse_frames): New variable.
9964 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9965 frames displaying BUFFER.
9966 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
9967
9968 2000-08-01 Miles Bader <miles@gnu.org>
9969
9970 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9971 when to constrain NEW_POS (they were pretty screwed up before).
9972
9973 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9974
9975 * msdos.c (run_msdos_command): Save and restore the master
9976 environment, for the case that child_setup signals an error.
9977 When mirroring slashes in DOS shell commands, don't fail when
9978 argv[2] has embedded blanks.
9979 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9980 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9981 (dos_ttraw): Call mouse_setup_buttons.
9982
9983 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9984 using alloca; free it after run_msdos_command returns.
9985
9986 2000-07-27 Dave Love <fx@gnu.org>
9987
9988 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9989 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
9990
9991 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9992
9993 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9994
9995 * editfns.c (lisp_time_argument): Fix last change.
9996
9997 2000-07-27 Gerd Moellmann <gerd@gnu.org>
9998
9999 * fns.c (Fdelete): Make it work on vectors and strings in addition
10000 to lists.
10001
10002 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10003 (syms_of_fns): Initialize new variables.
10004 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
10005 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10006 weakness, with t meaning the same as `key-and-value'.
10007
10008 2000-07-27 Kenichi Handa <handa@etl.go.jp>
10009
10010 * coding.h (struct coding_system): Member safe_charset deleted.
10011
10012 * coding.c (Qsafe_charsets): This variable deleted.
10013 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10014 New variables.
10015 (coding_safe_chars): New function.
10016 (CODING_SAFE_CHAR_P): New macro.
10017 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
10018 checking safe_charsets member of the coding system. Caller changed.
10019 (detect_coding_iso2022): New local variable safe_chars.
10020 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10021 safe_charsets member of the coding system.
10022 (decode_coding_iso2022): New local variable safe_chars.
10023 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10024 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10025 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10026 (ENCODE_UNSAFE_CHARACTER): New macro.
10027 (encode_coding_iso2022): New local variable safe_chars. Check
10028 unsafe chars.
10029 (setup_coding_system): Delete the code to initialize
10030 coding->safe_charses
10031 (intersection, find_safe_codings): New functions.
10032 (Ffind_coding_systems_region_internal): New function.
10033 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10034 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10035 variable and initialize it.
10036
10037 * fns.c (char_table_ref_and_index): New function.
10038
10039 * lisp.h (char_table_ref_and_index): Add prototype.
10040
10041 2000-07-26 Sam Steingold <sds@gnu.org>
10042
10043 * editfns.c (lisp_time_argument): Added third argument `usec'.
10044 (Ffloat_time): New built-in Lisp function.
10045
10046 2000-07-26 Gerd Moellmann <gerd@gnu.org>
10047
10048 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10049 for the character code.
10050
10051 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10052 GNU/Linux.
10053
10054 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10055 if called for a popup menu.
10056 (xmenu_show): Store help string in widget values.
10057
10058 2000-07-26 Dave Love <fx@gnu.org>
10059
10060 * syswait.h: Move some definitions.
10061 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10062 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10063 perspicuous definitions.
10064 (WTERMSIG): Fix bit pattern used.
10065
10066 2000-07-26 Kenichi Handa <handa@etl.go.jp>
10067
10068 * print.c (print_object): If vector printing is truncated, print
10069 "..." to indicate it as well as the case of list printing.
10070
10071 2000-07-25 Gerd Moellmann <gerd@gnu.org>
10072
10073 * xdisp.c (next_element_from_display_vector): Improve comments.
10074
10075 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10076 for the character code, and the rest for the face id as in 20.x.
10077 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10078
10079 * window.c (window_display_table): Cleaned up.
10080
10081 * syntax.c (Fforward_word): Add last arg nil in call of
10082 Fconstrain_to_field.
10083
10084 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10085
10086 * fileio.c (Frename_file) [DOS_NT]: If the file names are
10087 identical but for the letter-case, don't call
10088 barf_or_query_if_file_exists.
10089
10090 2000-07-25 Miles Bader <miles@gnu.org>
10091
10092 * editfns.c (find_field): Honor special `boundary' fields.
10093 (Qboundary): New variables.
10094 (syms_of_editfns): Initialize Qboundary.
10095 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10096 Use scan_buffer instead of find_before_next_newline, because it
10097 allows us to detect the boundary case where there's a newline at
10098 the search limit.
10099 * lisp.h (Fconstrain_to_field): Update external declaration.
10100
10101 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10102
10103 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10104 if that is nil.
10105
10106 2000-07-24 Dave Love <fx@gnu.org>
10107
10108 * s/sunos4-0.h, s/sol2.h:
10109 (LIBS_TERMCAP): Move from m/sparc.h.
10110
10111 * m/sparc.h (TERMINFO): Moved to system files (probably only
10112 relevant for sunos4 judging by its vintage).
10113 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10114 __arch64__.
10115
10116 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10117
10118 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10119 name to single_keymap_panes.
10120
10121 2000-07-24 Andreas Schwab <schwab@suse.de>
10122
10123 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10124
10125 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10126
10127 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10128 parameters instead of using int parameters. Expect FN to accept
10129 EMACS_INT parameters.
10130 (display_echo_area, resize_echo_area_axactly, current_message)
10131 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10132 with new argument list.
10133 (resize_mini_window_1): New callback function.
10134 (current_message_1, truncate_message_1, set_message_1): Change
10135 parameter lists to the new format expected by with_echo_area_buffer.
10136
10137 2000-07-24 Kenichi Handa <handa@etl.go.jp>
10138
10139 * fontset.c (fontset_ref): Remove INLINE declaration.
10140 (fontset_ref_via_base): Likewise.
10141 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10142 to downcase.
10143
10144 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10145
10146 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10147 correct order of priority. If help echo was found in an overlay,
10148 use that overlay as the object in which the help echo was found.
10149
10150 2000-07-22 Miles Bader <miles@gnu.org>
10151
10152 * textprop.c (Fprevious_single_char_property_change): The initial
10153 property value should be from the position preceding POSITION, not
10154 following it.
10155
10156 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10157
10158 * coding.c (syms_of_coding): Doc fix for
10159 inhibit-iso-escape-detection.
10160
10161 2000-07-21 Gerd Moellmann <gerd@gnu.org>
10162
10163 * xterm.c (note_mouse_highlight): Process overlays in the right
10164 order of priority.
10165
10166 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10167
10168 * xterm.c (note_mouse_highlight): If help-echo was found in an
10169 overlay, use that overlay as the object in which the help was found.
10170
10171 * window.c (foreach_window_1): Fix typo reversing an if-condition.
10172
10173 * window.c (foreach_window): Instead of a fake variable argument
10174 list, take one USER_DATA argument.
10175 (foreach_window_1): Likewise, and call callback functions with two
10176 args, the window and USER_DATA.
10177 (struct check_window_data): New struct.
10178 (check_window_containing): Use it.
10179 (window_from_coordinates): Set up a struct check_window_data for
10180 foreach_window.
10181 (add_window_to_list, freeze_window_start): Change parameters
10182 according to new calling convention.
10183
10184 * window.h (foreach_window): Change prototype.
10185
10186 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10187
10188 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10189
10190 * xmenu.c (menu_help_callback): Call show_help_echo with
10191 additional arguments OBJECT and POS.
10192
10193 2000-07-21 Kenichi Handa <handa@etl.go.jp>
10194
10195 * data.c (Faset): Allow storing any multibyte character in a
10196 string. Convert unibyte string to multibyte if necessary.
10197
10198 * xfns.c (x_encode_text): New function.
10199 (x_set_name): Use x_encode_text.
10200 (x_set_title): Likewise.
10201
10202 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10203
10204 * xterm.h (x_encode_text): Add prototype.
10205
10206 2000-07-20 Dave Love <fx@gnu.org>
10207
10208 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10209 xfree, not free.
10210
10211 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10212
10213 * msdos.c (help_echo_window): New variable.
10214 (syms_of_msdos): Initialize and staticpro it.
10215 (IT_note_mode_line_highlight): Set help_echo_window.
10216 (IT_note_mouse_highlight): Ditto.
10217 (dos_rawgetc): Store help_echo_window in the second event produced
10218 for HELP_EVENTs.
10219
10220 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10221 Record the object that generated the help echo and the position of
10222 that object in help_echo_object and help_echo_pos. Record that
10223 some glyphs in a row are displayed in mouse-face.
10224 (IT_update_begin): Don't clear mouse highlight unless one of the
10225 enabled glyph rows is marked as being displayed in mouse-face.
10226 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10227 and position recorded in help_echo_object and help_echo_pos to the
10228 event queue.
10229 (IT_menu_display): Accept a new argument PN: the pane number of
10230 the current menu pane. Record the pane number and the item
10231 number of the item which has associated help string.
10232 (XMenuActivate): Update the prototype for help_callback in
10233 function declaration. Call IT_menu_display with the current menu
10234 pane number as an additional argument. Call help_callback with
10235 two additional arguments: the pane number and the item number of
10236 the menu item associated with the help text.
10237 (help_echo_object, help_echo_pos): New variables.
10238 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10239
10240 * msdos.h (XMenuActivate): Update prototype.
10241
10242 2000-07-19 Gerd Moellmann <gerd@gnu.org>
10243
10244 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10245 Add some more prototypes.
10246
10247 * xterm.c, xterm.h: Add some more prototypes.
10248
10249 * lisp.h (Fnext_single_char_property_change): Add prototype.
10250
10251 * dispnew.c (direct_output_for_insert): Remove confusing
10252 outer local variable mouse_face_overwritten_p.
10253 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10254
10255 * alloc.c (allocate_string_data): Don't copy old string contents.
10256
10257 2000-07-19 Kenichi Handa <handa@etl.go.jp>
10258
10259 * coding.c (code_convert_region): Delete text properties before
10260 shrinking the conversion region.
10261
10262 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10263
10264 * dispnew.c (update_text_area): Write the whole row if it
10265 has mouse-face in it.
10266
10267 * xfaces.c (face-alternative-font-family-alist): Remove
10268 DEFVAR_LISP; staticpro instead.
10269
10270 * xmenu.c (menu_help_callback): Call show_help_echo with
10271 new arguments.
10272
10273 * keyboard.c (show_help_echo): Add parameter WINDOW.
10274 (read_char): Call show_help_echo with window extracted from Lisp
10275 help event.
10276 (gen_help_event): Add parameter WINDOW.
10277
10278 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10279
10280 * xterm.c (help_echo_window): New variable.
10281 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
10282 (XTread_socket): Pass help_echo_window to gen_help_event.
10283 (syms_of_xterm): Initialize and staticpro help_echo_window.
10284
10285 2000-07-18 Dave Love <fx@gnu.org>
10286
10287 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
10288
10289 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10290
10291 * alloc.c (allocate_string_data): If string had already data
10292 assigned, copy old contents to new string data.
10293
10294 * coding.c (syms_of_coding): Fix typo in spelling of variable
10295 `inhibit-iso-escape-detection'.
10296
10297 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10298
10299 * Makefile.in: Add dependencies on dispextern.h.
10300 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10301 `free'; both can conflict with system header files.
10302
10303 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10304
10305 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10306 undefined.
10307
10308 2000-07-18 Dave Love <fx@gnu.org>
10309
10310 * window.c (Fwindow_list): Declare arg `window'.
10311
10312 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10313
10314 * coding.c (setup_coding_system): Don't override the explicitly
10315 specified designations.
10316
10317 2000-07-15 Miles Bader <miles@gnu.org>
10318
10319 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10320 from `text_property_eq' and `text_property_stickiness', respectively.
10321 (find_field, Fconstrain_to_field, char_property_eq)
10322 (char_property_stickiness): Changed to call char-property functions
10323 instead of text-property-only ones.
10324
10325 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10326 `next_single_char_property_change'). Do more error checking, and
10327 cleanup limit behavior.
10328 (Fprevious_single_char_property_change): New function.
10329 (syms_of_textprop): Initialize new subrs.
10330
10331 * xdisp.c (display_prop_end, invisible_text_between_p):
10332 Call Fnext_single_char_property_change instead of
10333 next_single_char_property_change.
10334
10335 2000-07-15 Jason Rumney <jasonr@gnu.org>
10336
10337 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10338 after menu is finished with.
10339 (add_menu_item): Only consider wv->title as a menu title.
10340 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10341
10342 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10343 null title.
10344 (FONT_REGEXP): Remove unused macro, and its sub-components.
10345 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10346
10347 * w32term.c (help_echo_object, help_echo_pos): New variables.
10348 (note_mode_line_highlight): Store additional information about the
10349 help-echo in help_echo_object and help_echo_pos. Check both
10350 `local-map' and `keymap' properties for changing the cursor
10351 (note_mouse_highlight): Store additional information about the
10352 help-echo in help_echo_object and help_echo_pos.
10353 (note_tool_bar_highlight): Set help_echo_object to nil and
10354 help_echo_pos to -1.
10355 (w32_read_socket): Use gen_help_event instead of filling
10356 input_events manually.
10357 (syms_of_w32term): Staticpro help_echo_object.
10358 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
10359 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
10360 (x_clear_mouse_face): New function.
10361 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10362 (x_update_window_begin): No need to turn off the mouse
10363 highlight here.
10364 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10365 depending on whether they contain glyphs highlighted in mouse-face.
10366 (x_fill_stretch_glyph_string): Consume runs of stretch
10367 glyphs instead of a single one.
10368 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10369 with new argument list.
10370 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10371 (x_append_glyph, x_append_composite_glyph)
10372 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10373 changes in struct glyph starting 1999-12-27. See comments for
10374 xterm.c on 2000-07-05.
10375
10376 2000-07-14 Sam Steingold <sds@gnu.org>
10377
10378 * xfaces.c (realize_x_face): Fix the last patch:
10379 check `default_face' before dereferencing.
10380
10381 2000-07-14 Dave Love <fx@gnu.org>
10382
10383 * syntax.c (back_comment): Add null default in switch (for pcc).
10384
10385 2000-07-14 Kenichi Handa <handa@etl.go.jp>
10386
10387 * xfaces.c (realize_x_face): Make fontset using the base of the
10388 default_face's fontset, not using the default fontset.
10389
10390 * coding.c (inhibit_iso_escape_detection): New variable.
10391 (syms_of_coding): Make it a Lisp variable.
10392 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10393 nonzero, ignore ISO2022's escape sequence.
10394
10395 2000-07-14 Gerd Moellmann <gerd@gnu.org>
10396
10397 * alloca.c (malloc) [emacs]: Define as xmalloc.
10398
10399 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10400 use that instead of the mouse position. Add parameters DX and DY.
10401
10402 * dispextern.h (Fx_show_tip): Adjust number of parameters
10403 in prototype.
10404
10405 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10406 if HELP is a function, call it with OBJECT and POS as parameters
10407 to get the help to display.
10408 (gen_help_event, kbd_buffer_store_help_event): New functions.
10409 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10410 (read_char): Call show_help_echo with new parameters.
10411
10412 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
10413 Add prototypes.
10414
10415 * xterm.c (help_echo_object, help_echo_pos): New variables.
10416 (note_mode_line_highlight): Store additional information about the
10417 help-echo in help_echo_object and help_echo_pos. Check both
10418 `local-map' and `keymap' properties for changing the cursor
10419 (note_mouse_highlight): Store additional information about the
10420 help-echo in help_echo_object and help_echo_pos.
10421 (note_tool_bar_highlight): Set help_echo_object to nil and
10422 help_echo_pos to -1.
10423 (XTread_socket): Use gen_help_event instead of filling
10424 input_events manually.
10425 (syms_of_xterm): Staticpro help_echo_object.
10426
10427 * xmenu.c (menu_highlight_callback): Use
10428 kbd_buffer_store_help_event instead of setting up and input_event
10429 structure manually.
10430
10431 * xdisp.c (eval_form): GCPRO argument sexpr.
10432 (call_function): New function.
10433 (handle_single_display_prop): Use call_function and FUNCTIONP
10434 instead of checking whether if font_height is a symbol and
10435 using eval_form.
10436
10437 * eval.c (internal_condition_case_2): New function.
10438
10439 * lisp.h (FUNCTIONP): New macro.
10440 (internal_condition_case_2, call_function): Add prototypes.
10441
10442 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10443 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10444 Always set `arg' member of input_events.
10445 (construct_menu_click): Unused function removed.
10446
10447 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10448
10449 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10450 (construct_drag_n_drop, x_scroll_bar_handle_click)
10451 (w32_read_socket): Always set `arg' member of input_events.
10452
10453 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10454
10455 * lisp.h (eval_form): Add prototype.
10456
10457 * xdisp.c (eval_form): Make it externally visible.
10458
10459 2000-07-13 Gerd Moellmann <gerd@gnu.org>
10460
10461 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10462 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10463 consing. For prefix events, store the frame in the `arg' slot of
10464 the event, otherwise store the key there.
10465 (XTread_socket): Instead of consing, use the frame_or_window slot
10466 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
10467
10468 * xmenu.c (menu_highlight_callback): Store help string in the
10469 `arg' member of the input event; don't cons.
10470 (menubar_selection_callback): Use the `arg' slot of input events
10471 to queue additional information, instead of consing.
10472
10473 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10474
10475 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10476 TOOL_BAR_EVENTs.
10477 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10478
10479 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10480 input events to queue additional information, instead of consing.
10481
10482 * keyboard.c (kbd_buffer_gcpro): Renamed from
10483 kbd_buffer_frame_or_window. Now used for all Lisp objects
10484 referenced from the input queue.
10485 (kbd_buffer_store_event): Always use structure assignment for
10486 copying input events. Record all Lisp objects referenced from
10487 events in kbd_buffer_gcpro.
10488 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10489 differently from input events. Test for prefix menu_bar_events
10490 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10491 event in kbd_buffer_gcpro to nil.
10492 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10493 frame_or_window is equal to its arg member as prefix events.
10494 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10495 used by an input event to nil.
10496 (init_keyboard): Use two times the size of the input queue
10497 for kbd_buffer_gcpro.
10498 (syms_of_keyboard): Likewise.
10499
10500 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10501 Use USER_SIGNAL_EVENT.
10502
10503 * termhooks.h (struct input_event): Add member `arg'.
10504 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10505 (USER_SIGNAL_EVENT): Renamed from user_signal.
10506
10507 * xfaces.c (ASET): Remove definition.
10508
10509 * lisp.h (AREF, ASET, ASIZE): New macros.
10510
10511 * fontset.c (AREF, ASIZE): Remove definitions.
10512
10513 * fns.c (AREF): Remove definition.
10514
10515 * composite.c (AREF): Remove definition.
10516
10517 2000-07-12 Gerd Moellmann <gerd@gnu.org>
10518
10519 * dispnew.c (redraw_overlapped_rows): Add missing local.
10520 (scrolling_window): Remove debug code.
10521
10522 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10523 Before scrolling, turn off a mouse-highlight in the window
10524 being scrolled.
10525
10526 * xterm.c (x_update_window_end): Add parameter
10527 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10528 redisplay in XTframe_up_to_date.
10529 (x_clear_mouse_face): New function.
10530 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10531
10532 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10533 current glyph row.
10534 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10535 it when any row is written to that contains glyphs highlighted in
10536 mouse-face.
10537 (update_window): Call the window update end hook with new
10538 parameter MOUSE_FACE_OVERWRITTEN_P.
10539 (direct_output_for_insert): Give up if row contains mouse-face.
10540
10541 * dispextern.h (struct redisplay_interface): Add parameter
10542 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10543 (clear_mouse_face): New function pointer member.
10544
10545 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10546
10547 * syntax.c (back_comment): Use one switch rather than a few `if's.
10548 Obey open_paren_in_column_0_is_defun_start.
10549 When reverting to the `slow' method, try to nicely handle the case
10550 of nested comments by checking that the comment-starter we found
10551 does indeed match the comment-ender.
10552 (scan_sexps_forward, scan_sexps_forward):
10553 Ignore excessive opening parenthesis rather than throwing an error.
10554
10555 2000-07-11 Gerd Moellmann <gerd@gnu.org>
10556
10557 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10558 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10559
10560 * dispnew.c (direct_output_forward_char): Give up if currently
10561 displaying a message instead of the minibuffer contents.
10562
10563 * xterm.c (x_update_window_begin): No need to turn off the mouse
10564 highlight here.
10565 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10566 depending on whether they contain glyphs highlighted in mouse-face.
10567
10568 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10569 compare the mouse_face_p flags of both rows.
10570
10571 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10572
10573 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10574
10575 * keyboard.c (show_help_echo): Accept additional parameter
10576 ok_to_overwrite_keystroke_echo.
10577 (read_char): Call show_help_echo with a zero
10578 ok_to_overwrite_keystroke_echo argument.
10579 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
10580 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10581 ok_to_overwrite_keystroke_echo argument.
10582 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10583 non-zero ok_to_overwrite_keystroke_echo argument.
10584
10585 2000-07-10 Gerd Moellmann <gerd@gnu.org>
10586
10587 * xdisp.c (try_window_id): If changes are all below what is
10588 displayed in the window, and point is in the window, we still
10589 might have to find point on the display.
10590
10591 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10592 glyphs instead of a single one.
10593 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10594 with new argument list.
10595 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10596
10597 * keymap.c (get_keymap_1): Add comment that this function can GC.
10598 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10599 comment that functions can GC.
10600 (Fset_keymap_parent): GCPRO arg KEYMAP.
10601
10602 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * msdos.c (XMenuActivate): After exiting the menu, restore the
10605 echo area message and erase it.
10606
10607 2000-07-10 Kenichi Handa <handa@etl.go.jp>
10608
10609 * fontset.c (Ffontset_info): Make the return value more compatible
10610 with that of Emacs 20.
10611
10612 2000-07-07 Gerd Moellmann <gerd@gnu.org>
10613
10614 * eval.c (Fsignal): Handle case that backtrace_list is null.
10615
10616 2000-07-07 Kenichi Handa <handa@etl.go.jp>
10617
10618 * ccl.c (Fccl_execute): Typo fixed.
10619
10620 2000-07-06 Gerd Moellmann <gerd@gnu.org>
10621
10622 * window.c (window_loop): Add missing gcpro1 local variable.
10623
10624 * window.c (Fwindow_list): Reverse list at the end.
10625 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10626 means allow windows on OWINDOW's frame, only.
10627 (window_loop): Simplified; use Fwindow_list.
10628
10629 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10630
10631 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10632
10633 * xterm.c (XTread_socket): Increment handling_signal at the start,
10634 decrement it at the end.
10635
10636 * eval.c (handling_signal): New variable.
10637 (Fsignal): Abort if handling_signal is non-zero.
10638
10639 * lisp.h (handling_signal): External declaration.
10640
10641 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10642
10643 2000-07-05 Ken Raeburn <raeburn@gnu.org>
10644
10645 Sound support for NetBSD through "Linux emulation" support:
10646 * config.in (HAVE_SOUNDCARD_H): Undef.
10647 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10648 * Makefile.in (LIBSOUND): New variable.
10649 (LIBES): Include it.
10650 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10651 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
10652 (vox_open): Use DEFAULT_SOUND_DEVICE.
10653 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10654
10655 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10656
10657 * print.c (print_error_message): If Vsignaling_function is set,
10658 show it in *Messages*.
10659
10660 * lisp.h (Vsignaling_function): External declaration.
10661
10662 * eval.c (Vsignaling_function): New variable.
10663 (Fsignal): Compute it.
10664 (syms_of_eval): Staticpro it.
10665
10666 2000-07-05 Dave Love <fx@gnu.org>
10667
10668 * syswait.h: Use the autoconf recommended approach. Old code
10669 #if'd out in case we need to revert.
10670
10671 * config.in (HAVE_SYS_WAIT_H): Added.
10672
10673 2000-07-05 Andrew Innes <andrewi@gnu.org>
10674
10675 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10676 when non-NULL instead of __morecore, to take account of buffer
10677 memory. This also solves a problem with spurious memory warnings
10678 on Windows.
10679
10680 * ralloc.c: Make real_morecore non-static.
10681
10682 * eval.c (internal_condition_case): Comment out abort if
10683 interrupt_input_blocked is not zero.
10684
10685 * makefile.nt: Add support for `bootstrap' and related targets.
10686 Include minimal debug info in emacs.exe in release build.
10687 Remove all dependencies on lisp.h, and fixup some others.
10688
10689 * w32.c (init_environment): Install code from 20.7 for providing
10690 default values for environment variables, based on the
10691 executable's own location.
10692 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
10693 (sys_socket): Install socket inheritance bug fix from 20.7.
10694
10695 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10696 here via blockinput.h).
10697
10698 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10699
10700 * w32menu.c (w32_menu_display_help):
10701 * xmenu.c (menu_help_callback): Use show_help_echo.
10702
10703 * keyboard.h (show_help_echo): Declare.
10704
10705 * keyboard.c (show_help_echo): New function, extracted from read_char.
10706 Feval its `msg' argument if it's a cons cell.
10707 (read_char): Use it.
10708 (follow_key): Pass `autoload' to get_keyelt.
10709
10710 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
10711 (note_tool_bar_highlight, XTread_socket):
10712 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
10713 (dos_rawgetc):
10714 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10715 (note_tool_bar_highlight, w32_read_socket):
10716 Do not gratuitously ignore non-string `help-echo' properties.
10717
10718 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10719
10720 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10721
10722 * window.c (delete_all_subwindows): Reset Vwindow_list.
10723
10724 * xterm.c (x_append_glyph, x_append_composite_glyph)
10725 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10726 changes in struct glyph starting 1999-12-27. Some bit-fields of
10727 struct glyph were not set, which made glyphs unequal when compared
10728 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10729 effects were the result. This also depended on the contents of
10730 memory returned by xmalloc. If flickering happens again, activate
10731 the code in clear_glyph_row that's in #if 0. If the flickering is
10732 gone with that, chances are that it is caused by something similar.
10733
10734 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
10735
10736 * dispextern.h: Add some comments.
10737
10738 * window.c (add_window_to_list): Add parameter LIST.
10739 (window_list): Order list so that, for each frame, windows are
10740 in canonical order, and so that frames appear in the list in
10741 the order given by Vframe_list.
10742 (next_window): Reverse the handling of NEXT_P.
10743
10744 2000-07-04 Gerd Moellmann <gerd@gnu.org>
10745
10746 * window.c (Vwindow_list): New variable.
10747 (make_window, delete_window): Set Vwindow_list to nil.
10748 (check_window_containing): New function.
10749 (window_from_coordinates): Rewritten.
10750 (add_window_to_list, window_list, candidate_window_p)
10751 (decode_next_window_args, next_window): New functions.
10752 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
10753 (Fwindow_list): New function.
10754 (Fother_window): Cleaned up.
10755 (foreach_window): Add a longer "variable argument list". Let
10756 callback function return 0 to indicate that cycling over windows
10757 should stop.
10758 (foreach_window_1): Likewise.
10759 (freeze_window_start): Return int.
10760 (init_window): New function.
10761 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10762
10763 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10764 input_event with bzero.
10765 (main): Call init_window.
10766
10767 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10768 a menu filter.
10769
10770 2000-07-04 Kenichi Handa <handa@etl.go.jp>
10771
10772 * composite.h (make_composition_value_copy): Extern it.
10773
10774 * composite.c (make_composition_value_copy): New function.
10775
10776 * editfns.c (Fformat): While copying text properties, make each
10777 composition property value a copy.
10778
10779 * fns.c (concat): While copying text properties, make each
10780 composition property value a copy.
10781
10782 2000-07-03 Gerd Moellmann <gerd@gnu.org>
10783
10784 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10785
10786 * fns.c (sweep_weak_table): Mark only objects that are not
10787 marked already.
10788
10789 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10790 include those frames as candidates which have their focus
10791 redirected to the minibuffer frame.
10792
10793 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10794
10795 * fns.c (Fputhash): Return `value' rather than nil.
10796
10797 2000-06-30 Gerd Moellmann <gerd@gnu.org>
10798
10799 * frame.c (next_frame): Don't check focus redirection in case
10800 MINIBUF is a window. Doing so excludes frames using MINIBUF
10801 unless their focus is redirected, which contradicts the
10802 specification of next-frame, and leads to infinite loops in
10803 certain situations when cycling through windows with next-window.
10804
10805 2000-06-30 Kenichi Handa <handa@etl.go.jp>
10806
10807 * coding.c (code_convert_region): Even if the length of text is
10808 zero, try to convert it if coding->type is coding_type_ccl.
10809 (decode_coding_string, encode_coding_string): Likewise.
10810
10811 2000-06-28 Gerd Moellmann <gerd@gnu.org>
10812
10813 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
10814 the display if windows_or_buffers_changed.
10815
10816 * dispnew.c (struct row_entry): New structure.
10817 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10818 (row_table_size, old_lines, new_lines, old_lines_size)
10819 (new_lines_size, run_pool, runs_size, runs): New variables.
10820 (add_row_entry): New function.
10821 (scrolling_window): Use data structures allocated with xmalloc and
10822 held in global variables, instead of allocating them with alloca and
10823 holding them in local variables. Use a larger hash table whose
10824 size depends on glyph matrix sizes. Don't use bzero to clear the
10825 hash table; instead, clear used slots only.
10826
10827 * fns.c (next_almost_prime): Make it externally visible.
10828
10829 * lisp.h (next_almost_prime): Add prototype.
10830
10831 * s/isc4-0.h (sigunblock): Define.
10832
10833 * s/sco5.h (sigunblock): Define.
10834
10835 2000-06-27 Dave Love <fx@gnu.org>
10836
10837 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10838 (moved to osf5-0.h).
10839 [!NOT_C_CODE]: Protect string.h stuff.
10840
10841 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10842 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10843
10844 2000-06-27 Gerd Moellmann <gerd@gnu.org>
10845
10846 * xdisp.c (resize_mini_window): Subtract the extra line spacing
10847 below the last line from the needed window height.
10848
10849 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10850
10851 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10852 (Fwidget_get): Use it.
10853 (syms_of_fns): Defsubr it.
10854
10855 2000-06-26 Gerd Moellmann <gerd@gnu.org>
10856
10857 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
10858 display info for XIM.
10859 (xim_open_dpy): Likewise.
10860 (xim_close_dpy): Don't free the display info's XIM.
10861
10862 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10863
10864 * config.in (USE_XIM): New define.
10865
10866 * keymap.c (get_keyelt): For menu-items containing a `:filter
10867 FILTER', apply FILTER to the menu-item's definition to get the
10868 real definition to use.
10869
10870 * lisp.h (QCfilter): External declaration.
10871
10872 * xfns.c (Fimage_size): New function.
10873 (syms_of_xfns): Defsubr it.
10874
10875 2000-06-26 Andreas Schwab <schwab@suse.de>
10876
10877 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10878 Fstring_as_unibyte.
10879
10880 2000-06-25 Dave Love <fx@gnu.org>
10881
10882 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
10883
10884 * Makefile.in (blockinput.h): Depend on atimer.h.
10885 (atimer.h): Depend on systime.h.
10886
10887 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
10888
10889 * atimer.h: Protect against multiple inclusion. Include systime.h.
10890
10891 * lisp.h (swap_in_global_binding): Declare.
10892
10893 2000-06-24 Ken Raeburn <raeburn@gnu.org>
10894
10895 * process.c (Fopen_network_stream): Turn off atimers for duration
10896 of call to connect. (Patch from Gerd.)
10897
10898 2000-06-23 Dave Love <fx@gnu.org>
10899
10900 * ralloc.c: Maybe include unistd.h
10901
10902 * emacs.c (setgrp): Undefine before defining.
10903 (malloc_warning, set_time_zone_rule, index): Prototype.
10904
10905 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10906 HAVE_STRUCT_TIMEZONE.
10907
10908 * s/osf1.h: Move string.h hack here from alpha.h and make it
10909 conditional.
10910 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10911 _XOPEN_SOURCE.
10912 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10913 (SOCKLEN_TYPE): Don't define.
10914
10915 * m/alpha.h: Remove string.h hack.
10916
10917 * s/osf5-0.h: New file.
10918
10919 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10920 include time.h, done by systime.h.
10921 [__FreeBSD__]: Remove redundant includes.
10922
10923 * callproc.c (setpgrp): Undefine before defining.
10924 (delete_temp_file): Return Qnil to avoid warning.
10925
10926 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10927
10928 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10929 HAVE_X_WINDOWS.
10930
10931 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10932
10933 * composite.h (compose_text): Declare.
10934
10935 * xterm.c: Don't include sys/types.h unconditionally. Don't
10936 protect its inclusion with !USG (following xmenu.c).
10937
10938 2000-06-23 Gerd Moellmann <gerd@gnu.org>
10939
10940 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10941 in x_create_frame.
10942
10943 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10944
10945 * coding.c (decode_eol_post_ccl): Special handling for undecided
10946 and inconsistent EOL types.
10947
10948 2000-06-22 Gerd Moellmann <gerd@gnu.org>
10949
10950 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10951 trough color and main window's background color.
10952
10953 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
10954
10955 * xterm.h (Xt_app_con): External declaration.
10956
10957 * widget.c (EmacsFrameRealize): Fix typo.
10958
10959 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10960
10961 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10962 (handle_invisible_prop): Record the start of invisible text in
10963 it->add_overlay_start.
10964 (struct overlay_entry): Add member `overlay'.
10965 (handle_overlay_change): Simplify.
10966 (next_overlay_string): After having processed overlay strings at the
10967 end of the buffer, record that fact in
10968 it->overlay_strings_at_end_processed_p.
10969 (compare_overlay_entries): If before- and after-strings come
10970 from the same overlay, let before-strings come first.
10971 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10972 (load_overlay_strings): Take it->add_overlay_start into account
10973 when adding overlay strings.
10974
10975 * dispextern.h (struct it): Add member add_overlay_start.
10976
10977 2000-06-22 Dave Love <fx@gnu.org>
10978
10979 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10980
10981 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10982
10983 2000-06-22 Kenichi Handa <handa@etl.go.jp>
10984
10985 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10986 is greater than 0.
10987
10988 2000-06-21 Dave Love <fx@gnu.org>
10989
10990 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
10991
10992 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10993
10994 * syntax.c (back_comment): Simplify string-parity counting (with
10995 the added benefit of handling multiple string-styles as long as
10996 they are not intertwined).
10997 Jump to the slow code as soon as a comment starter is found in
10998 a "string_lossage" position. Fixes the case: " /* " /* " */.
10999
11000 2000-06-21 Dave Love <fx@gnu.org>
11001
11002 * Makefile.in: Use GETLOADAVG_LIBS.
11003
11004 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11005 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11006
11007 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11008
11009 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11010 (Fforward_comment, scan_lists):
11011 Check the comstyle of single-char comment-starters.
11012 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11013 we're just at the beginning of the comment (f.ex with (*) ... (*)).
11014 Check the comstyle of single-char comment-starters.
11015 Clarify control-flow around the Scomment case.
11016
11017 2000-06-20 Dave Love <fx@gnu.org>
11018
11019 * fns.c (make_hash_table, maybe_resize_hash_table):
11020 Cast arg of next_almost_prime.
11021
11022 * tparam.c [emacs]: Include lisp.h.
11023
11024 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11025 and unistd.h.
11026
11027 2000-06-20 Gerd Moellmann <gerd@gnu.org>
11028
11029 * keyboard.c (adjust_point_for_property): Check if display
11030 property should be treated as intangible by looking at its value.
11031
11032 * xdisp.c (single_display_prop_intangible_p)
11033 (display_prop_intangible_p): New functions.
11034
11035 * dispextern.h (display_prop_intangible_p): Add prototype.
11036
11037 * xdisp.c (dump_glyph_row): Show type of glyph->object.
11038
11039 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11040 argument to sigprocmask.
11041
11042 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11043 argument to sigprocmask.
11044
11045 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11046 sigprocmask_set, and pass a pointer to it to sigprocmask.
11047
11048 * sysdep.c (sigprocmask_set): New variable.
11049
11050 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11051 report_file_error.
11052
11053 2000-06-20 Sam Steingold <sds@gnu.org>
11054
11055 * xrdb.c: Don't declare xmalloc, xrealloc.
11056
11057 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11058
11059 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11060 (re_comp): Cast gettext return value to avoid complaints when
11061 !HAVE_LIBINTL.
11062
11063 2000-06-20 Dave Love <fx@gnu.org>
11064
11065 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
11066
11067 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
11068
11069 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
11070
11071 * m/alpha.h: Don't declare xmalloc, xrealloc.
11072
11073 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11074
11075 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11076
11077 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11078
11079 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11080 HAVE_GETWD.
11081
11082 * keyboard.h (poll_for_input_1): Declare.
11083
11084 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11085
11086 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11087
11088 * doprnt.c: Don't declare xmalloc, xrealloc.
11089
11090 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11091 (getenv, ctime, getwd): Removed.
11092 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11093
11094 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11095 x_set_tool_bar_lines.
11096
11097 * config.in: Add HAVE_GETWD. Move some definitions above
11098 machine/system includes.
11099
11100 2000-06-20 Kenichi Handa <handa@etl.go.jp>
11101
11102 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11103
11104 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11105 contain information about ENCODING.
11106
11107 * fontset.c (FONTSET_ASCII): Use the first element of char table
11108 for an ASCII font, not defalt slot.
11109 (fontset_ref_via_base): If FONTSET doesn't contain information for
11110 C, try the default fontset.
11111 (make_fontset): Don't copy the default fontset.
11112 (fontset_font_pattern): Likewise.
11113 (accumulate_font_info): If ELT is nil, use the corresponding
11114 element in the default fontset.
11115
11116 2000-06-19 Dave Love <fx@gnu.org>
11117
11118 * syntax.c (Fparse_partial_sexp): Doc fix.
11119
11120 * regex.h: Test PROTOTYPES as well as __STDC__.
11121
11122 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11123 errno, strerror. Put text after #endif in comment.
11124
11125 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
11126
11127 * xterm.c (x_frame_of_widget): Likewise.
11128
11129 2000-06-19 Gerd Moellmann <gerd@gnu.org>
11130
11131 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11132 to Vfundamental_mode_abbrev_table.
11133
11134 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11135 bogus objects are marked. This slows down GC by ~80 percent, but
11136 it might be worth trying when debugging GC-related problems.
11137 This feature requires conservative stack marking to be enabled.
11138
11139 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11140 returns XLookupChars, reset `modifiers' to zero.
11141
11142 2000-06-19 Dave Love <fx@gnu.org>
11143
11144 * mktime.c: Unprotoized.
11145
11146 2000-06-19 Richard Stallman <rms@gnu.org>
11147
11148 * data.c (set_internal): If variable is frame-local,
11149 store the new value immediately into the frame parameter alist.
11150
11151 2000-06-19 Ken Raeburn <raeburn@gnu.org>
11152
11153 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11154 in the custom handler pointer.
11155
11156 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11157 value, or checks for CHAR_META can fail when Lisp_Object is a
11158 union type.
11159 * keymap.c (get_keyelt): Likewise.
11160
11161 2000-06-19 Kenichi Handa <handa@etl.go.jp>
11162
11163 * ccl.h (struct ccl_program): New member eol_type.
11164 (struct ccl_spec): New member cr_carryover.
11165
11166 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11167 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11168
11169 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11170 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11171 (decode_eol_post_ccl): New function.
11172 (decode_coding): Don't detect EOL format here for CCL based coding
11173 systems.
11174 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11175 decode_eol_post_ccl after running the CCL program.
11176 (code_convert_region): Don't detect EOL format here for CCL based
11177 coding systems.
11178 (decode_coding_string): Likewise.
11179
11180 2000-06-18 Ken Raeburn <raeburn@gnu.org>
11181
11182 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11183 when treating it as an integer.
11184
11185 * coding.h (encode_coding_string): Declare.
11186
11187 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11188 it as an integer.
11189
11190 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11191 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11192 to be passed to get_local_map.
11193
11194 * sound.c (Fplay_sound): Don't call make_number on
11195 Frun_hook_with_args count argument.
11196
11197 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11198 for lisp objects in X event structure data field, when lisp
11199 objects are represented with unions.
11200 (x_scroll_bar_to_input_event): Ditto.
11201
11202 2000-06-16 Ken Raeburn <raeburn@gnu.org>
11203
11204 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
11205 termination of string. Fix sense of test whether
11206 Vline_number_display_limit is an integer.
11207
11208 2000-06-16 Gerd Moellmann <gerd@gnu.org>
11209
11210 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11211 only if HAVE_X_WINDOWS.
11212
11213 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11214 of titles.
11215
11216 * dispnew.c (update_frame_1): Handle case that cursor vpos is
11217 out of bounds.
11218
11219 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11220
11221 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11222 of its headers.
11223
11224 2000-06-15 Kenichi Handa <handa@etl.go.jp>
11225
11226 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11227 start of the while loop.
11228
11229 2000-06-15 Gerd Moellmann <gerd@gnu.org>
11230
11231 * atimer.c (alarm_signal_handler): Add forward declaration.
11232
11233 * data.c (set_internal): Remove debug code.
11234
11235 2000-06-14 Gerd Moellmann <gerd@gnu.org>
11236
11237 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11238
11239 * unexec.c (toplevel) [COFF]: Include coff.h.
11240
11241 * s/lynxos.h: New file.
11242
11243 * keymap.c (Fsingle_key_description): Enclose function key and
11244 event symbol names in angle brackets.
11245
11246 * xdisp.c (setup_echo_area_for_printing): Call
11247 message_log_maybe_newline if message_buf_print is not set.
11248
11249 * print.c (printchar, strout): Don't check message_buf_print
11250 before calling setup_echo_area_for_printing because that
11251 function does something useful even when message_buf_print is
11252 already set.
11253
11254 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11255 New variables.
11256 (ensure_echo_area_buffers): Initialize echo buffer's
11257 truncate lines setting to nil.
11258 (with_echo_area_buffer): Don't set the echo buffer's truncate
11259 lines setting here.
11260 (set_message_1): Set it here instead, based on the value
11261 of message_truncate_lines.
11262 (resize_mini_window): Handle case that lines are truncated.
11263 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11264 DEFVAR_BOOL message-truncate-lines.
11265
11266 * keyboard.c (read_char): Bind message-truncate-lines to t
11267 while displaying a help-echo.
11268
11269 * lisp.h (Qmessage_truncate_lines): External declaration.
11270
11271 2000-06-13 Gerd Moellmann <gerd@gnu.org>
11272
11273 * xdisp.c (Vline_number_display_limit): Renamed from
11274 line_number_display_limit.
11275 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11276 Extend documentation string. Initialize
11277 Vline_number_display_limit to nil meaning no limit.
11278 (decode_mode_spec): Use Vline_number_display_limit with its new
11279 meaning.
11280
11281 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11282
11283 2000-06-13 Richard Stallman <rms@gnu.org>
11284
11285 * frame.c (Fmodify_frame_parameters): Doc fix.
11286
11287 * xfns.c (x_set_frame_parameters): Comment fix.
11288
11289 * frame.c (store_frame_param): Call swap_in_global_binding if the
11290 variable's current binding was chosen based on this frame.
11291
11292 * data.c (swap_in_global_binding): New function.
11293
11294 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11295
11296 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11297 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11298
11299 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11300
11301 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11302
11303 2000-06-12 Jason Rumney <jasonr@gnu.org>
11304
11305 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11306
11307 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11308
11309 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11310
11311 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11312
11313 2000-06-12 Gerd Moellmann <gerd@gnu.org>
11314
11315 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11316 (syms_of_xfaces): Defsubr Sdump_colors.
11317 (x_free_colors): Don't treat b&w specially on default visual.
11318 (x_free_dpy_colors): New function.
11319 (free_face_colors): Don't check visual class; it's done
11320 in x_free_colors.
11321
11322 * xterm.c (x_frame_of_widget): New function.
11323 (x_alloc_nearest_color_for_widget): Use it.
11324 (x_copy_dpy_color): New function.
11325 (x_destroy_window): Free various colors.
11326
11327 2000-06-12 Kenichi Handa <handa@etl.go.jp>
11328
11329 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11330
11331 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11332
11333 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11334
11335 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11336
11337 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11338
11339 2000-06-11 Dave Love <fx@gnu.org>
11340
11341 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11342
11343 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11344
11345 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11346
11347 2000-06-11 Gerd Moellmann <gerd@gnu.org>
11348
11349 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
11350 to `XEvent *'.
11351
11352 2000-06-10 Kenichi Handa <handa@etl.go.jp>
11353
11354 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11355 (regex_compile): Fix the code for handling the case of single byte
11356 char and multibyte char being mixed in a range within [...].
11357
11358 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11359 and dst_multibyte members of coding.
11360
11361 * charset.c (update_charset_table): Update the table
11362 bytes_by_char_head.
11363 (init_charset_once): Initialize elements of bytes_by_char_head to
11364 1 except for leading codes for private charases.
11365
11366 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
11367 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
11368
11369 2000-06-09 Ken Raeburn <raeburn@gnu.org>
11370
11371 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11372 access the data it doesn't point to.
11373
11374 2000-06-08 Gerd Moellmann <gerd@gnu.org>
11375
11376 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
11377 will be translated to a switch-frame event when reading the
11378 event queue. This is necessary because Emacs otherwise won't
11379 perform a switch-frame to a new frame until some other event, for
11380 example a keystroke event, forces it to do so. This has various
11381 effects, one visible being that the cursor of a frame created with
11382 C-x 5 2 or switched to with a window manager key binding like
11383 A-TAB stays hollow because selected_window isn't on the newly
11384 focused frame until the switch-frame is performed.
11385
11386 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11387 generating a switch-frame event if necessary.
11388
11389 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11390
11391 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11392 it's an integer.
11393
11394 2000-06-08 Kenichi Handa <handa@etl.go.jp>
11395
11396 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
11397
11398 2000-06-07 Gerd Moellmann <gerd@gnu.org>
11399
11400 * window.c (displayed_window_lines): Take empty lines at
11401 the bottom of a window into account.
11402
11403 * window.c (displayed_window_lines): New function.
11404 (Fmove_to_window_line): Use displayed_window_lines to determine
11405 the number of lines to move, instead of using the window's height.
11406
11407 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11408 to stop reading, even if the form read sets point to a different
11409 value when evaluated.
11410
11411 * xdisp.c (display_line): Fix code deciding in which line to
11412 put the cursor.
11413
11414 2000-06-07 Kenichi Handa <handa@etl.go.jp>
11415
11416 * fileio.c (e_write): Free composition data if stored in
11417 coding->cmp_data.
11418
11419 2000-06-06 Gerd Moellmann <gerd@gnu.org>
11420
11421 * xdisp.c (display_line): Set row's and iterator's
11422 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11423 Set cursor even if row ends in the middle of a character.
11424 (dump_glyph_row): Print values of new flags.
11425 (redisplay_window) <cursor movement in unchanged window>: When
11426 point has been moved forward, and PT is at the end of the cursor
11427 row, don't place the cursor in the next row if the cursor row ends
11428 in the middle of a character or at ZV.
11429
11430 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11431 (struct glyph_row): Add starts_in_middle_of_char_p and
11432 ends_in_middle_of_char_p.
11433 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11434 ends_in_middle_of_char_p flag.
11435 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11436
11437 * term.c (append_glyph): Revert change of 2000-06-06.
11438
11439 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11440 padding glyph not fitting on line as whole character not
11441 fitting on line.
11442
11443 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11444 this isn't true for images with `:ascent 100'.
11445
11446 2000-06-06 Kenichi Handa <handa@etl.go.jp>
11447
11448 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11449 as modified if it is originally unmodified.
11450
11451 * term.c (encode_terminal_code): Change the way to check if
11452 terminal coding does any conversion.
11453 (append_glyph): Set glyph->pixel_width correctly.
11454
11455 * xdisp.c (display_line): While checking line continuation, pay
11456 attention to a padding glyph.
11457
11458 2000-06-05 Gerd Moellmann <gerd@gnu.org>
11459
11460 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11461
11462 2000-06-05 Dave Love <fx@gnu.org>
11463
11464 * xdisp.c: Include fontset.h.
11465
11466 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11467
11468 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11469
11470 * dispnew.c: Conditionally include term.h.
11471
11472 * coding.h: Declare code_convert_string_norecord.
11473
11474 * frame.h (struct frame): Use volatile unconditionally.
11475
11476 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11477
11478 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11479
11480 * systime.h: Protect against multiple inclusion.
11481 (timezone) [USG5_4]: Define as time_t.
11482
11483 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11484 (Foptimize_char_table, make_temp_name): Declare.
11485
11486 * Makefile.in (xdisp.o): Depend on fontset.h.
11487
11488 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11489
11490 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11491 (Foptimize_char_table, make_temp_name): Declare.
11492
11493 * s/irix4-0.h:
11494 * s/irix5-0.h:
11495 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11496
11497 2000-06-02 Dave Love <fx@gnu.org>
11498
11499 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11500
11501 2000-06-02 Gerd Moellmann <gerd@gnu.org>
11502
11503 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
11504 result face, set flags in that face indicating that colors may not
11505 be freed.
11506
11507 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11508 glyph, use the ASCII NUL character to determine the face.
11509
11510 2000-06-02 Dave Love <fx@gnu.org>
11511
11512 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11513 (VFORK_RETURN_TYPE): Remove.
11514
11515 * config.in: Add NO_MATHERR.
11516
11517 2000-06-01 Dave Love <fx@gnu.org>
11518
11519 * cmds.c (internal_self_insert): Don't check
11520 Vbefore_change_function, Vafter_change_function.
11521
11522 * insdel.c (signal_before_change, signal_after_change): Likewise.
11523
11524 * buffer.c (Vbefore_change_function, Vafter_change_function):
11525 Variables and their initializations deleted.
11526
11527 * callint.c (Fcall_interactively): Doc fix.
11528
11529 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11530
11531 2000-05-31 Dave Love <fx@gnu.org>
11532
11533 * textprop.c: Revert last change -- duplicated.
11534
11535 2000-05-31 Gerd Moellmann <gerd@gnu.org>
11536
11537 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11538 in #if 0.
11539
11540 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11541
11542 2000-05-31 Jason Rumney <jasonr@gnu.org>
11543
11544 * search.c (Fre_search_forward, Fre_search_backward)
11545 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11546
11547 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11548
11549 2000-05-30 Jason Rumney <jasonr@gnu.org>
11550
11551 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11552 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11553
11554 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
11555
11556 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11557 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11558 expand a nil default_filename.
11559
11560 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11561 pointer to glyph_to_pixel_coords, not a frame.
11562
11563 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11564 coding.h to dependencies.
11565
11566 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11567
11568 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11569 window pointer to be consistent with w32term.c and xterm.c.
11570
11571 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11572 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11573 (Qline_spacing, Qcenter): New variables.
11574 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11575 (x_set_line_spacing): New function.
11576 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
11577 (x_specified_cursor_type): New function.
11578 (x_set_cursor_type): Use it.
11579 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11580 and icon strings.
11581 (validate_x_resource_name, x_get_resource_string): Measure lengths
11582 of external strings in bytes.
11583 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11584 GetTextExtentPoint32 with NULL title.
11585 (Fx_create_frame): Initialize Qline_spacing.
11586 (w32_load_system_font): Initialize font->double_byte_p.
11587 (x_to_w32_charset): Use Vw32_charset_info_alist.
11588 (Image, busy cursor, tooltip functions): Merged changes from
11589 xfns.c. Not yet functional on Windows.
11590
11591 * w32gui.h (W32FontStruct): Add double_byte_p member.
11592
11593 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11594 (emacs_button_translation): Use it.
11595 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11596 in `mask' to be set.
11597
11598 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11599 menu strings.
11600
11601 * w32term.c: Format and doc changes to bring closer to xterm.c.
11602 (w32_char_font_type): New enum.
11603 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11604 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11605 (w32_encode_char): New function.
11606 (x_encode_char): Removed.
11607 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11608 x_encode_char and w32_font_is_double_byte.
11609 (x_produce_image_glyph): Use image_ascent.
11610 (x_produce_glyphs): Use new version of w32_per_char_metric and
11611 handle NULL return value. Allow extra line spacing.
11612 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11613 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11614 w32_font_type member of glyph instead.
11615 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11616 (fast_find_position): Make sure not to consider rows not visible
11617 in the window.
11618 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11619 w32_menu_display_help with input blocked, as it can abort.
11620 (x_display_and_set_cursor): Choose cursor depending
11621 on buffer-local value of cursor_type.
11622 (x_draw_bar_cursor): Add parameter WIDTH.
11623
11624 * w32term.h (CP_DEFAULT): Define.
11625 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11626
11627 2000-05-30 Gerd Moellmann <gerd@gnu.org>
11628
11629 * search.c (Fre_search_forward, Fre_search_backward)
11630 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11631
11632 2000-05-30 Kenichi Handa <handa@etl.go.jp>
11633
11634 * coding.c (detect_coding_iso2022): Fix code for checking
11635 CODING_CATEGORY_MASK_ISO_8_2.
11636
11637 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11638
11639 * regex.c (PREFETCH_NOLIMIT): New function.
11640 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11641
11642 2000-05-29 Gerd Moellmann <gerd@gnu.org>
11643
11644 * syntax.c (find_defun_start): Move test for
11645 open_paren_in_column_0_is_defun_start outside of the loop.
11646
11647 * xdisp.c (redisplay_window): Really switch buffers when
11648 displaying mode lines, and temporarily set selected_frame to the
11649 frame of the window that's redisplayed.
11650
11651 * xfaces.c (free_realized_faces): Block/unblock input.
11652 (free_realized_multibyte_face): Ditto.
11653
11654 2000-05-29 Dave Love <fx@gnu.org>
11655
11656 * textprop.c (Qkeymap): New variable.
11657 (syms_of_textprop): Intern it.
11658
11659 * keymap.c: Include intervals.h.
11660 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11661
11662 * Makefile.in (keymap.o): Depend on intervals.h.
11663
11664 * keyboard.c (menu_bar_items, tool_bar_items)
11665 (Fexecute_extended_command): Deal with `keymap' property.
11666 (read_key_sequence): Track map from `keymap' property as well as
11667 `local_map'.
11668
11669 * intervals.c (get_local_map): Extra arg to allow looking for
11670 `keymap' too.
11671
11672 * intervals.h (map_property): New enum.
11673 (get_local_map): Extra arg using it.
11674 (Qkeymap): Declare.
11675
11676 * lisp.h (get_local_map): Don't declare here.
11677
11678 2000-05-29 Kenichi Handa <handa@etl.go.jp>
11679
11680 * Makefile.in (callproc.o): Depend on composite.h.
11681
11682 * callproc.c: Include composite.h.
11683 (Fcall_process): Handle composition correctly.
11684
11685 * coding.h (coding_allocate_composition_data): Extern it.
11686 (coding_restore_composition): Likewise.
11687
11688 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11689 yet allocated, finish decoding with result
11690 CODING_FINISH_INSUFFICIENT_CMP.
11691 (coding_allocate_composition_data): Make it non-static.
11692 (coding_restore_composition): Likewise.
11693
11694 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11695
11696 * charset.c (syms_of_charset): Revert last change.
11697
11698 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11699
11700 * term.c (produce_glyphs): Treat characters from the eight-bit-*
11701 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11702 Handa.
11703
11704 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11705
11706 * charset.c (syms_of_charset): Set width of character sets
11707 eight-bit-control and eight-bit-graphic to 1 column.
11708
11709 2000-05-26 Gerd Moellmann <gerd@gnu.org>
11710
11711 * config.in (HAVE_SPEED_T): New define.
11712
11713 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11714 `extern speed_t'.
11715
11716 2000-05-26 Dave Love <fx@gnu.org>
11717
11718 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11719
11720 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11721 (Fsubr_arity): New function.
11722 (syms_of_data): Install them.
11723
11724 2000-05-26 Kenichi Handa <handa@etl.go.jp>
11725
11726 * charset.c (init_charset_once): Set the table bytes_by_char_head
11727 correctly.
11728
11729 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11730 the default fontset to what Emacs uses by default.
11731 (check_registry_encoding): This function deleted.
11732 (Fset_fontset_font): Remove the adhoc condition for the default
11733 fontset. Allow cons in FONTNAME.
11734
11735 * fns.c (map_char_table): Ignore char-table entries for
11736 charsets eight-bit-control and eight-bit-graphic.
11737
11738 2000-05-25 Ken Raeburn <raeburn@gnu.org>
11739
11740 * emacs.c (main): Initialize keyboard syms before initializing
11741 window code, so face names are available.
11742
11743 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11744
11745 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11746 of an anchor at the beginning of a shy-group.
11747
11748 2000-05-25 Gerd Moellmann <gerd@gnu.org>
11749
11750 * xdisp.c (handle_invisible_prop): Don't try to skip over
11751 invisible text if end of text is already reached.
11752
11753 2000-05-25 Dave Love <fx@gnu.org>
11754
11755 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11756
11757 * coding.c (encode_eol): Add null statement after label.
11758
11759 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11760
11761 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11762 2000-05-20.
11763
11764 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11765
11766 * ccl.c (ccl_driver): Fix previous change.
11767
11768 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11769
11770 * coding.c (run_pre_post_conversion_on_str): Set point to the
11771 beginning of buffer before calling coding->post_read_conversion.
11772 (decode_coding_string): Give correct args to
11773 run_pre_post_conversion_on_str.
11774 (encode_coding_string): Likewise.
11775
11776 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11777 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11778 eight-bit-graphic correctly.
11779
11780 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
11781
11782 * fileio.c (Finsert_file_contents): Even if a file is not found,
11783 execute codes for setting up coding system. Call
11784 after-insert-file-functions unconditionally.
11785
11786 2000-05-24 Gerd Moellmann <gerd@gnu.org>
11787
11788 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11789 BSD_PGRPS are not defined.
11790
11791 2000-05-24 Kenichi Handa <handa@etl.go.jp>
11792
11793 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11794 DESCRIPTION.
11795 (syms_of_charset): Avoid building same strings.
11796
11797 2000-05-23 Gerd Moellmann <gerd@gnu.org>
11798
11799 * lread.c (Fload): Add a comment about the meaning of
11800 Vuser_init_file being t.
11801
11802 * puresize.h (BASE_PURESIZE): Increase to 675000.
11803
11804 * s/gnu-linux.h (setpgrp): Don't define it here because this
11805 prevents compilation on GNU/Linux systems with glib 2.2.
11806
11807 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11808 as setpgid.
11809
11810 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11811
11812 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11813 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11814 version.
11815 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11816
11817 2000-05-23 Kenichi Handa <handa@etl.go.jp>
11818
11819 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11820
11821 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11822
11823 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
11824
11825 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11826
11827 2000-05-22 Kenichi Handa <handa@etl.go.jp>
11828
11829 * keyboard.c (read_char): Allow character codes 128..255 to be
11830 handled by input-method-function.
11831
11832 * insdel.c (adjust_markers_for_replace): Fix previous change.
11833 (adjust_after_replace): If PREV_TEXT is nil, call
11834 adjust_markers_for_insert, not adjust_markers_for_replace.
11835
11836 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
11837
11838 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11839 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11840 [HAVE_GRANDPT]: Define.
11841 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11842
11843 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11844 like SYSV_PTYS.
11845
11846 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11847
11848 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11849
11850 2000-05-20 Kenichi Handa <handa@etl.go.jp>
11851
11852 The following changes are to handle 8-bit characters in a
11853 multibyte buffer/string without facing with byte combining
11854 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11855 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11856
11857 * Makefile.in (fns.o): Depend on charset.h.
11858
11859 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11860 convert it to unibyte.
11861 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11862
11863 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11864 apparent char boundary.
11865 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11866 0x80..0x9F to/from multibyte form.
11867
11868 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11869 to unibyte.
11870
11871 * callproc.c (Fcall_process): Always encode an argument string if
11872 it is multibyte. Setup src_multibyte and dst_multibyte members of
11873 process_coding properly.
11874
11875 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11876 SPLIT_NON_ASCII_CHAR.
11877
11878 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11879 as is.
11880 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11881
11882 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
11883 (SPLIT_CHARACTER_SEQ): This macro deleted.
11884 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
11885 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11886 and eight-bit-graphic.
11887 (char_to_string): Likewise. Signal an error for too large
11888 character code.
11889 (char_printable_p): Return 0 for 8-bit characters.
11890 (update_charset_table): Update iso_charset_table only when a final
11891 character is non-negative.
11892 (find_charset_in_text): Renamed from find_charset_in_str.
11893 Arguments and return value changed. Callers changed.
11894 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11895 be -1 if CHARSET is used only internally.
11896 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11897 eight-bit-graphic.
11898 (Fcharset_after): Simplified.
11899 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11900 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11901 (multibyte_chars_in_text): Simplified by assuming there's no
11902 invalid multibyte sequence.
11903 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11904 (str_as_unibyte): New functions.
11905 (Fstring): Simpified by assuming that byte combining never happens.
11906 (init_charset_once): Initialization for
11907 LEADING_CODE_8_BIT_CONTROL.
11908 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11909 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11910 eight-bit-control and eight-bit-graphic.
11911
11912 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11913 (CHARSET_8_BIT_GRAPHIC): New macros.
11914 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11915 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11916 (CHARSET_REVERSE_CHARSET): Likewise.
11917 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11918 eight-bit-graphic.
11919 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11920 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11921 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11922 encounter an invalid multibyte sequence.
11923 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11924 sequence is always valid.
11925 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
11926 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
11927 (CHAR_STRING): For 8-bit characters, call char_to_string.
11928 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11929 multibyte sequence is always valid.
11930 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
11931 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11932 (str_as_unibyte): Extern them.
11933 (BCOPY_SHORT): Fix a bug.
11934 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
11935 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11936 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11937 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11938
11939 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
11940 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
11941 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11942 (EMIT_BYTES): New macros.
11943 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11944 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
11945 macros deleted.
11946 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11947 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11948 check the validity of multibyte sequence.
11949 (decode_coding_emacs_mule): New function.
11950 (encode_coding_emacs_mule): New macro.
11951 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11952 the source.
11953 (DECODE_ISO_CHARACTER): Just return a character code.
11954 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11955 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11956 EMIT_CHAR to produced decoded characters. Exit the loop only by
11957 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11958 block here.
11959 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11960 only position codes for an invalid character.
11961 (encode_designation_at_bol): Return new destination pointer. 5th
11962 arg DSTP is changed to DST.
11963 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11964 from the source by ONE_MORE_CHAR. Don't handle the case of last
11965 block here.
11966 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11967 macros deleted.
11968 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11969 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
11970 TWO_MORE_BYTES to fetch a byte from the source.
11971 (encode_eol): Pay attention to coding->src_multibyte.
11972 (detect_coding, detect_eol): Preserve members src_multibyte and
11973 dst_multibyte.
11974 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11975 (encoding_buffer_size): Set magnification to 3 for all coding
11976 systems that require encoding.
11977 (ccl_coding_driver): For decoding, be sure that the result is
11978 valid multibyte sequence.
11979 (decode_coding): Initialize coding->errors and coding->result.
11980 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11981 and raw-text, always call decode_eol. Handle the case of last
11982 block here. If not coding->dst_multibyte, convert the resulting
11983 sequence to unibyte.
11984 (encode_coding): Initialize coding->errors and coding->result.
11985 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11986 and raw-text, always call encode_eol. Handle the case of last
11987 block here.
11988 (shrink_decoding_region, shrink_encoding_region): Detect cases
11989 that we can't skip data more rigidly.
11990 (code_convert_region): Setup src_multibyte and dst_multibyte
11991 members of coding. For decoding, if the buffer is multibyte,
11992 convert the source sequence to unibyte in advance. For encoding,
11993 if the buffer is multibyte, convert the resulting sequence to
11994 multibyte afterward.
11995 (run_pre_post_conversion_on_str): New function.
11996 (code_convert_string): Deleted and divided into the following two.
11997 (decode_coding_string, encode_coding_string): New functions.
11998 (code_convert_string1, code_convert_string_norecord): Call one of
11999 above.
12000 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12001 MAKE_NON_ASCII_CHAR.
12002 (Fset_terminal_coding_system_internal)
12003 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
12004 and dst_multibyte members.
12005 (init_coding_once): Initialize iso_code_class with new enum
12006 ISO_control_0 and ISO_control_1.
12007
12008 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12009 devided into ISO_control_0 and ISO_control_1.
12010 (struct coding_system): New members src_multibyte, dst_multibyte,
12011 errors, and result. Delete member fake_multibyte.
12012 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12013 nonzero.
12014 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12015 nonzero.
12016
12017 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12018 (Faset): Likewise.
12019
12020 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12021 multibyte form.
12022 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12023 combining occurs.
12024 (Ftranspose_region): Delete codes for handling byte combining.
12025
12026 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12027 dst_multibyte members of coding. On handling REPLACE on unibyte
12028 buffer, convert the result of decode_coding to unibyte. On
12029 inserting into a mutibyte buffer, always call code_convert_region.
12030 (e_write): Setup coding->src_multibyte according to the
12031 multibyteness of the source (buffer or string).
12032
12033 * fns.c (concat): Handle 8-bit characters correctly.
12034 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12035 unibyte in the result.
12036 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12037 valid multibyte form in the result.
12038 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12039 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12040 return -1, signal an error.
12041 (base64_encode_1): New arg MULTIBYTE. Get each character by
12042 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12043 character is found, return -1.
12044 (Fbase64_decode_region): Delete codes for handling byte-combining.
12045 Treat each decoded byte as a unibyte character.
12046 (Fbase64_decode_string): Return unibyte string.
12047 (Fcompare_strings, concat, string_byte_to_char): Use
12048 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12049 FETCH_STRING_CHAR_ADVANCE.
12050 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12051 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12052
12053 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12054 SPLIT_NON_ASCII_CHAR.
12055 (fontset_ref_via_base, fontset_set): Likewise
12056
12057 * insdel.c (adjust_markers_for_record_delete): Deleted.
12058 (adjust_markers_for_insert): Argument changed. Caller changed.
12059 (adjust_markers_for_replace): Likewise.
12060 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12061 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
12062 (copy_text): Delete unused local varialbe c_save. For converting
12063 to multibyte, be sure to make all 8-bit characters in valid
12064 multibyte form.
12065 (count_size_as_multibyte): Handle 8-bit characters correctly.
12066 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12067 (adjust_after_replace, replace_range, del_range_2)
12068 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
12069 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12070 (adjust_after_replace, replace_range, del_range_2) Delete codes for
12071 handling byte combining.
12072 (adjust_before_replace): Deleted.
12073
12074 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12075 SPLIT_NON_ASCII_CHAR.
12076 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12077 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12078 (Fkey_description): Likewise.
12079
12080 * lread.c (read1): On reading multibyte string, be sure to make
12081 all 8-bit chararacters in valid multibyte form.
12082 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12083
12084 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12085 unconditionally.
12086
12087 * process.c (Fstart_process): GCPRO current_dir before calling
12088 Ffind_operation_coding_system. Encode arguments here.
12089 (create_process): Don't encode arguments here. Setup
12090 src_multibyte and dst_multibyte members of struct coding.
12091 (read_process_output): Setup src_multibyte and dst_multibyte
12092 members of struct coding. If the output is to multibyte buffer,
12093 always decode the output of the process. Adjust the
12094 representation of 8-bit characters to the multibyteness of the output.
12095 (send_process): Setup coding->src_multibyte according to the
12096 multibyteness of the source.
12097
12098 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12099 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12100 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12101
12102 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
12103
12104 * w16select.c (Fw16_set_clipboard_data): Setup members
12105 src_multibyte and dst_multibyte of coding. Adjusted for the
12106 change for find_charset_in_str.
12107 (Fw16_get_clipboard_data): Likewise.
12108
12109 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12110 dst_multibyte of coding.
12111 (x_to_w32_font): Likewise.
12112
12113 * w32select.c (Fw32_set_clipboard_data): Setup members
12114 src_multibyte and dst_multibyte of coding. Adjusted for the
12115 change for find_charset_in_str.
12116 (Fw32_get_clipboard_data): Likewise.
12117
12118 * xdisp.c (get_next_display_element): Handle 8-bit characters
12119 correctly.
12120 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12121 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12122
12123 * xselect.c (selection_data_to_lisp_data): Setup members
12124 src_multibyte and dst_multibyte of coding. Adjusted for the
12125 change for find_charset_in_str.
12126 (lisp_data_to_selection_data): Likewise.
12127
12128 2000-05-19 Gerd Moellmann <gerd@gnu.org>
12129
12130 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
12131
12132 * dispextern.h (Vimage_types): Add extern declaration.
12133
12134 * xdisp.c (Vimage_types): Moved here from xfns.c.
12135 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12136
12137 * xfns.c (Vimages_types): Moved to xdisp.c.
12138 (syms_of_xfns): Move `image-types' to xdisp.c.
12139
12140 * w32fns.c (Vimage_types): Removed.
12141 (syms_of_w32fns): Remove `image-types'.
12142
12143 2000-05-18 Kenichi Handa <handa@etl.go.jp>
12144
12145 * fns.c (map_char_table): Pay attention to character number of
12146 charset. Check the validity of charset at the first level. For
12147 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12148 the default value.
12149
12150 * fontset.c: Include "buffer.h".
12151 (fs_load_font): If the face has fontset, record the face ID in
12152 that fontset.
12153 (Finternal_char_font): New function.
12154 (accumulate_font_info): New function.
12155 (Ffontset_info): Rewritten for the new fontset implementation.
12156 (syms_of_fontset): Register Vdefault_fontset in the first element
12157 of Vfontset_table. Include Vdefault_fontset in
12158 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12159 function.
12160
12161 2000-05-16 Dave Love <fx@gnu.org>
12162
12163 * m/iris5d.h: Deleted -- unused.
12164
12165 2000-05-16 Gerd Moellmann <gerd@gnu.org>
12166
12167 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12168 `invalid' instead of `illegal'.
12169
12170 * indent.c (Fmove_to_column): When ending within a tab, insert
12171 spaces first so that markers at the end of the tab get adjusted.
12172
12173 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12174 buffer list that wasn't selected in that frame.
12175
12176 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12177 is needed on mescaline, use a 2 char prefix, and call
12178 make_temp_name with second arg non-zero.
12179
12180 * fileio.c (make_temp_name): New function, extracted from
12181 Fmake_temp_name.
12182 (Fmake_temp_name): Use it.
12183
12184 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12185
12186 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
12187
12188 2000-05-15 Gerd Moellmann <gerd@gnu.org>
12189
12190 * Makefile.in (lisp): Add env.elc.
12191
12192 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12193
12194 2000-05-12 Gerd Moellmann <gerd@gnu.org>
12195
12196 * search.c (Freplace_match): Handle case of `\N' in the
12197 replacement when there's no group N.
12198
12199 2000-05-11 Gerd Moellmann <gerd@gnu.org>
12200
12201 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12202 of the message to message_dolog.
12203
12204 * keyboard.c (read_char): Don't clear current message for help
12205 events; let the code handling help events handle this. Change
12206 code detecting help events that should be ignored.
12207
12208 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12209 we're interating over a string.
12210
12211 2000-05-09 Dave Love <fx@gnu.org>
12212
12213 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12214 that offset before writing. Move gcpro region past call of
12215 Ffile_regular_p.
12216
12217 2000-05-04 Dave Love <fx@gnu.org>
12218
12219 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12220
12221 2000-05-04 Gerd Moellmann <gerd@gnu.org>
12222
12223 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12224 of inserted characters when BUF equals the current buffer, and PT
12225 is in front of or equal to FROM.
12226
12227 2000-05-03 Gerd Moellmann <gerd@gnu.org>
12228
12229 * xdisp.c (handle_single_display_prop): If display property value
12230 is invalid, or something not supported on the frame, restore
12231 iterator's position to what it was initially. Make sure to return
12232 0 for invalid and unsupported property values.
12233
12234 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12235 that x_per_char_metric returns null.
12236
12237 2000-05-02 Gerd Moellmann <gerd@gnu.org>
12238
12239 * xterm.h (struct face): Add forward declaration.
12240 (struct image): Ditto.
12241 (image_ascent): Add prototype.
12242
12243 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12244 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12245 image_ascent instead of using IMAGE_ASCENT.
12246
12247 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12248 (IMAGE_ASCENT): Removed.
12249
12250 * xfns.c (Qcenter): New variable.
12251 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12252 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12253 (image_ascent): New function.
12254 (lookup_image): Recognize `:ascent center'.
12255 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12256 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12257 (xbm_load): Don't set image's ascent here.
12258 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12259 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12260 check ascent values here.
12261 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12262 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12263 (syms_of_xfns): Initialize Qcenter.
12264
12265 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12266 to the limits, increase the limits.
12267
12268 2000-05-01 Kenichi Handa <handa@etl.go.jp>
12269
12270 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
12271 Check Vfont_encoding_alist against the full name of the opened font.
12272
12273 2000-04-28 Gerd Moellmann <gerd@gnu.org>
12274
12275 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12276 taller than the window.
12277
12278 2000-04-28 Kenichi Handa <handa@etl.go.jp>
12279
12280 * xfaces.c (realize_x_face): Fix the argument of the second
12281 xassert. BASE_FACE may not be a face for ASCII.
12282
12283 2000-04-27 Gerd Moellmann <gerd@gnu.org>
12284
12285 * print.c (print_object): Treat print-length < 0 as nil.
12286
12287 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12288
12289 * s/freebsd.h (TERMCAP_OBJ): Removed.
12290 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12291
12292 * lread.c (read1): Don't treat period followed by certain
12293 characters as symbol start.
12294
12295 * xfns.c (slurp_file): New function.
12296 (xbm_image_p): Handle case of in-memory XBM files.
12297 (xbm_scan): Rewritten to work on memory buffers instead of files.
12298 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12299 Work on memory buffers instead of files. If DATA is null test
12300 if buffer looks like an in-memory XBM file.
12301 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12302 memory buffers instead of files.
12303 (xbm_file_p): New function.
12304 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12305
12306 * lread.c (end_of_file_error): New function.
12307 (read1): Call it instead of signaling `end-of-file' directly.
12308
12309 * print.c (print_error_message): Print data of `end-of-file'
12310 with Fprinc instead of Fprin1.
12311
12312 2000-04-26 Ken Raeburn <raeburn@gnu.org>
12313
12314 * window.c (freeze_window_start): Check that minibuffer scroll
12315 window isn't nil before extracting the window structure pointer
12316 from it.
12317
12318 * undo.c (record_delete): If we hit the end of the undo list, stop
12319 picking elements apart.
12320
12321 2000-04-26 Gerd Moellmann <gerd@gnu.org>
12322
12323 * xdisp.c (display_line): If lines are continued, restore
12324 iterator's ascent/descent information to the values before the
12325 first glyph not fitting on the line.
12326
12327 2000-04-25 Gerd Moellmann <gerd@gnu.org>
12328
12329 * xdisp.c (try_window_id) <all changes above window start>: Adjust
12330 positions in glyph matrix. Don't compute new window end positions.
12331
12332 * dispnew.c (increment_matrix_positions): Renamed from
12333 increment_glyph_matrix_buffer_positions.
12334 (increment_row_positions): Renamed from
12335 increment_glyph_row_buffer_positions.
12336
12337 * dispextern.h: Change names of renamed functions from dispnew.c
12338 in prototypes.
12339
12340 2000-04-24 Gerd Moellmann <gerd@gnu.org>
12341
12342 * fileio.c (Fdo_auto_save): Create directories for auto-save
12343 list file if necessary.
12344
12345 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12346 from buffer or frame.
12347 (automatic_hscrolling_p): New variable.
12348 (hscroll_windows): Scroll windows horizontally only if automatic
12349 hscrolling is allowed.
12350 (syms_of_xdisp): New variable `automatic-hscrolling'.
12351
12352 * frame.h (struct frame): Add member extra_line_spacing.
12353
12354 * xfns.c (x_set_line_spacing): New function.
12355 (Fx_create_frame): Set line spacing from resources.
12356 (Qline_spacing): New variable.
12357 (syms_of_xfns): Initialize Qline_spacing.
12358
12359 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12360
12361 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12362 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
12363 (reset_buffer): Don't initialize extra2 and extra3. Initialize
12364 extra_line_spacing from default value.
12365 (init_buffer_once): Initialize default value of extra_line_spacing.
12366
12367 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12368 and extra3.
12369
12370 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12371 prompt_width. Add extra line spacing.
12372
12373 * term.c (produce_glyphs): Remove reference to struct it's
12374 prompt_width.
12375
12376 * dispextern.h (struct it): Remove member prompt_width, add
12377 extra_line_spacing.
12378
12379 2000-04-22 Gerd Moellmann <gerd@gnu.org>
12380
12381 * dispnew.c (update_frame_line): When writing a whole line, make
12382 sure cursor is in the right row afterwards, otherwise a use of
12383 capability `ch' in cmgoto might leave the cursor in the row below.
12384
12385 2000-04-21 Gerd Moellmann <gerd@gnu.org>
12386
12387 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12388
12389 * keyboard.c (timer_check): Fix typo in comment.
12390
12391 2000-04-21 Kenichi Handa <handa@etl.go.jp>
12392
12393 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12394 name change: ch -> character.
12395
12396 2000-04-20 Gerd Moellmann <gerd@gnu.org>
12397
12398 * keyboard.c (echo_message_buffer): New variable.
12399 (echo_now): Set echo_message_buffer to the echo area buffer used
12400 to display the echo.
12401 (cancel_echoing): Reset echo_message_buffer to nil.
12402 (read_char): Code rewritten that handles canceling an echo or
12403 echoing a dash, respectively.
12404
12405 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12406 directory doesn't exist.
12407
12408 2000-04-19 Dave Love <fx@gnu.org>
12409
12410 * fns.c (syms_of_fns): Defsubr mapc.
12411 (concat): Don't allow numeric args.
12412 (Fconcat): Doc change.
12413
12414 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12415
12416 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12417 instead define end_match(1|2) more carefully.
12418 Use GET_CHAR_BEFORE_2 for `begline'.
12419
12420 2000-04-19 Gerd Moellmann <gerd@gnu.org>
12421
12422 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12423 on 64-bit systems where NULL is defined as `0'.
12424
12425 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12426 the `variable argument list' to make it work on Alpha.
12427
12428 * m/alpha.h (_LP64) [!_LP64]: Define.
12429 (ORDINARY_LINK): Define for NetBSD.
12430
12431 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
12432
12433 2000-04-19 Dave Love <fx@gnu.org>
12434
12435 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12436 change.
12437
12438 * Makefile.in (LIBS): Don't use.
12439 (GETLOADAVG_OBJ): Define again.
12440 (otherobj): Add GETLOADAVG_OBJ.
12441
12442 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12443
12444 2000-04-18 Gerd Moellmann <gerd@gnu.org>
12445
12446 * lread.c (read_filtered_event): Cancel and start busy cursor.
12447
12448 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
12449 that the per-character metrics may be null.
12450
12451 2000-04-17 Gerd Moellmann <gerd@gnu.org>
12452
12453 * buffer.c (clone_per_buffer_values): New function.
12454 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12455 clone_per_buffer_values if CLONE is not nil.
12456
12457 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12458
12459 2000-04-16 Dave Love <fx@gnu.org>
12460
12461 * Makefile.in: Remove obsolete localcpp stuff.
12462 (GETLOADAVG_OBJ): Don't define.
12463 (obj): Move LIBOBJS...
12464 (otherobj): ... to here.
12465 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12466 whitespace-only lines after the continuation (Irix).
12467
12468 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12469
12470 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12471
12472 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12473
12474 2000-04-14 Dave Love <fx@gnu.org>
12475
12476 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12477 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12478 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12479 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12480 NLIST_STRUCT.
12481
12482 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12483 autoconfiscated HAVE_GETLOADAVG.
12484
12485 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12486 BROKEN_MKTIME.
12487
12488 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12489
12490 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
12491 (fill_in_lock_file_name): Avoid existing files that aren't links.
12492
12493 2000-04-14 Dave Love <fx@gnu.org>
12494
12495 * Makefile.in (LIBS, LIBOBJS): New variable.
12496 (INTERVAL_SRC): Convert to make variable.
12497 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12498 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12499 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12500 add LIBOBJS.
12501 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12502 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12503 (shortlisp): Add facemenu, float-sup, frame.
12504 (SOME_MACHINE_LISP): Remove them from here.
12505 (LIBES): Change unused LDLIBS to autoconf LIBS.
12506
12507 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12508
12509 2000-04-14 Kenichi Handa <handa@etl.go.jp>
12510
12511 * composite.c (update_compositions): If FROM and TO are not in a
12512 valid range, do nothing.
12513
12514 2000-04-13 Gerd Moellmann <gerd@gnu.org>
12515
12516 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
12517
12518 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
12519
12520 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12521 as TERMCAP_OBJ.
12522
12523 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12524
12525 * fileio.c (a_write): Remove redundant semi-colons.
12526 (e_write): Return -1 if failed to write all the data.
12527 This fixes the changes made at 1999-12-15.
12528
12529 2000-04-12 Dave Love <fx@gnu.org>
12530
12531 * fns.c (mapcar1): Test for null vals to support mapc.
12532 (Fmapc): New function.
12533
12534 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12535
12536 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12537 (IT_frame_up_to_date): Support the buffer local value of
12538 cursor-type, if defined.
12539
12540 2000-04-10 Dave Love <fx@gnu.org>
12541
12542 * editfns.c (preceding-char, following-char): Doc fix.
12543
12544 2000-04-10 Ken Raeburn <raeburn@gnu.org>
12545
12546 * Makefile.in (temacs): Revert 2000-03-12 change.
12547
12548 2000-04-10 Jason Rumney <jasonr@gnu.org>
12549
12550 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12551
12552 2000-04-10 Gerd Moellmann <gerd@gnu.org>
12553
12554 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12555 area buffer, if it's not set up yet.
12556
12557 * indent.c (compute_motion): Set immediate_quit.
12558
12559 2000-04-09 Gerd Moellmann <gerd@gnu.org>
12560
12561 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
12562 (realize_tty_face): Suppress boldness if colors are the inverse of
12563 the default colors, and tty_suppress_bold_inverse_default_colors_p
12564 is set.
12565 (Ftty_suppress_bold_inverse_default_colors): New function.
12566 (syms_of_xfaces): Defsubr it.
12567
12568 * buffer.c (Frestore_buffer_modified_p): New function.
12569 (syms_of_buffer): Defsubr it.
12570
12571 2000-04-08 Ken Raeburn <raeburn@gnu.org>
12572
12573 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12574 charset id (int) argument, not a charset (Lisp_Object).
12575
12576 * coding.h (code_convert_string): Declare.
12577 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12578 object, as the fourth argument to code_convert_string.
12579
12580 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
12581 (Fset_fontset_font): Use EQ to compare lisp objects.
12582
12583 2000-04-05 Ken Raeburn <raeburn@gnu.org>
12584
12585 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12586 a pointer that looks like a lisp object.
12587 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12588 zero, instead see whether it's an integer object, since they can't
12589 have intervals.
12590 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12591
12592 * dispnew.c (allocate_matrices_for_frame_redisplay)
12593 (direct_output_forward_char): Use X(U)INT and make_number as needed
12594 to convert between (unsigned) int values and lisp integers.
12595 * keyboard.c (read_key_sequence): Likewise.
12596 * lread.c (substitute_object_recurse): Likewise.
12597 * fns.c (concat, hash_lookup, hash_remove): Likewise.
12598 * minibuf.c (do_completion, Fminibuffer_complete_word)
12599 (Fminibuffer_completion_help): Likewise.
12600 * term.c (produce_special_glyphs): Likewise.
12601
12602 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12603 * print.c (print_preprocess, print_object): Likewise.
12604
12605 * search.c (compile_pattern): Use NILP when checking for nil.
12606
12607 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12608 __OPTIMIZE__]: Provide a GNU C macro version that handles
12609 lisp-object unions.
12610 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12611 field, to better cope with ENABLE_CHECKING and calls that modify a
12612 Lisp_Object using its old value.
12613
12614 2000-04-04 Gerd Moellmann <gerd@gnu.org>
12615
12616 * window.c (compare_window_configurations): Signal an error
12617 if parameters C1 or C2 aren't window configurations.
12618
12619 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12620 AFTER_POTENTIAL_GC calls around calls to functions that can
12621 signal an error and thus invoke the debugger.
12622
12623 2000-04-03 Gerd Moellmann <gerd@gnu.org>
12624
12625 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12626 an error if decoding fails.
12627
12628 * keyboard.c (lispy_mouse_names): Variable removed.
12629 (Vlispy_mouse_stem): New variable.
12630 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12631 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12632 for any mouse button number. Increase size of mouse_syms and
12633 button_down_location as needed. Call modify_event_symbol with
12634 different arguments.
12635 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12636 Call modify_event_symbol with different arguments.
12637 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12638 for any button number. Call modify_event_symbol with different
12639 arguments.
12640 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12641 Accept a string for NAME_ALIST_OR_STEM.
12642
12643 * lisp.h (larger_vector): Add prototype.
12644
12645 * fns.c (larger_vector): Make externally visible.
12646
12647 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12648
12649 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12650
12651 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12652 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12653 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12654 we are between str1 and str2.
12655 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12656 (PATFETCH): Use `TRANSLATE'.
12657 (PATFETCH_RAW): Fetch multibyte char if applicable.
12658 (PATUNFETCH): Remove.
12659 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12660 When writing a char, write it directly into the pattern buffer rather
12661 than going needlessly through a temp char-array.
12662 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12663 multibyte magic and remove the useless `#ifdef emacs'.
12664 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12665 buffer.
12666
12667 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12668 conditional on `emacs'.
12669
12670 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12671
12672 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12673
12674 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12675 non-union-type versions of XMARK and friends here, because XMARK
12676 and friends won't work on an integer field if NO_UNION_TYPE is not
12677 defined.
12678 (make_number): Define as a function if it's not defined as a macro.
12679
12680 * composite.c (run_composite_function): Use NILP when checking for nil.
12681 (syms_of_composite): Delete local var NARGS, pass an int as first
12682 argument to Fmake_hash_table.
12683
12684 * editfns.c (text_property_stickiness): Use NILP to test
12685 Lisp_Object boolean value.
12686 (Fmessage_or_box): Don't use NILP to test int variable.
12687 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12688 problems reading from and changing the same lisp value in an
12689 XSETSTRING call.
12690
12691 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12692
12693 * term.c (TN_no_color_video): New variable.
12694 (term_init): Intitialize TN_no_color_video.
12695 (enum no_color_bit): New enumeration.
12696 (MAY_USE_WITH_COLORS_P): New macro.
12697 (turn_on_face): Use it to determine if attributes may be used
12698 combined with colors.
12699
12700 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12701
12702 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
12703 with int lvalues via casts; instead, just yield lisp object lvalues.
12704 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12705 proper accessor macros.
12706 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12707 (grow_mini_window): Fix typo getting int value of root->height.
12708
12709 * xdisp.c (compute_string_pos): Fix order of arguments to
12710 string_pos_nchars_ahead.
12711 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12712 count arg to variable-arg routines like Frun_hook_with_args and
12713 Fformat.
12714 (back_to_previous_visible_line_start)
12715 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
12716 fixed-arg routines like Fget_char_property and Fmake_string.
12717 (reconsider_clip_changes): Use XINT when comparing integer lisp
12718 objects, or passing them as int arguments.
12719 (mark_window_display_accurate, insert_left_trunc_glyphs)
12720 (append_space, extend_face_to_end_of_line): Use make_number when
12721 storing or passing integer values as lisp objects.
12722 (set_cursor_from_row, highlight_trailing_whitespace): Use
12723 INTEGERP, not implicit test against zero, for glyph object.
12724 (try_window_id): Don't use make_number when we want an int value.
12725
12726 * xfaces.c (xlfd_symbolic_value): Make last argument a
12727 Lisp_Object, to be consistent with callers.
12728 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12729 (lface_hash): Apply XFASTINT to lisp values before folding in.
12730
12731 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12732 fill in window width and height. Pass an int, not a lisp object,
12733 as first arg to Finsert.
12734
12735 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12736
12737 * xfaces.c (realize_basic_faces): Block input while realizing
12738 the faces.
12739
12740 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12741
12742 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12743
12744 2000-03-31 Gerd Moellmann <gerd@gnu.org>
12745
12746 * xterm.c (x_produce_glyphs): When displaying unibyte text
12747 or ASCII, handle case that per-char metric is null.
12748
12749 2000-03-30 Ken Raeburn <raeburn@gnu.org>
12750
12751 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12752
12753 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12754 (XSUBR, XBUFFER): Verify correct object type before returning
12755 pointer, using eassert.
12756 * frame.h (XFRAME): Likewise.
12757
12758 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12759 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12760 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
12761 * data.c (set_internal): Likewise.
12762 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12763 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12764 * fileio.c (auto_save_1): Likewise.
12765 * insdel.c (check_markers): Likewise.
12766 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12767 * undo.c (record_insert): Likewise.
12768 * vmsproc.c (child_sig): Likewise.
12769 * window.c (unshow_buffer, window_loop): Likewise.
12770 * xterm.c (x_erase_phys_cursor): Likewise.
12771
12772 2000-03-30 Gerd Moellmann <gerd@gnu.org>
12773
12774 * xfns.c (free_image_cache): Free the cache structure itself
12775 last, after all its members have been freed.
12776
12777 * lisp.h (xstrdup): Add prototype.
12778
12779 * alloc.c (xstrdup): Moved here from xfaces.c.
12780 (allocating_for_lisp): Variable removed.
12781 (lisp_malloc): Block input around the calls to malloc and mem_insert.
12782
12783 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12784 of Fsymbol_value.
12785 (xstrdup): Moved to alloc.c.
12786
12787 2000-03-29 Ken Raeburn <raeburn@gnu.org>
12788
12789 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12790
12791 * emacs.c (main): Fix sense of no-loadup test.
12792
12793 * config.in (ENABLE_CHECKING): Undef.
12794
12795 * lisp.h (struct interval): Replace "parent" field with a union of
12796 interval pointer and Lisp_Object; add new bitfield to use as
12797 discriminant. Change other flag fields to bitfields.
12798 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
12799 is defined and the supplied test fails, print a message and abort.
12800 (eassert): New macro. Use CHECK to provide an assert-like facility.
12801
12802 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12803 pointers; abort if the value looks like a lisp object.
12804 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12805 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
12806 Modify for new interval parent definition.
12807
12808 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12809 (UNMARK_BALANCE_INTERVALS): Update references that need an
12810 addressable lisp object in the interval structure.
12811 (die): New function.
12812 (suppress_checking): New variable.
12813
12814 * intervals.c (interval_start_pos): Just return 0 if there's no
12815 parent object.
12816
12817 2000-03-29 Gerd Moellmann <gerd@gnu.org>
12818
12819 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12820 and earlier Emacs versions.
12821
12822 * keyboard.c (Ftop_level): Cancel busy-cursor.
12823
12824 * eval.c (call_debugger): Cancel busy-cursor.
12825
12826 2000-03-29 Kenichi Handa <handa@etl.go.jp>
12827
12828 * search.c (Freplace_match): Adjust multibyteness of the current
12829 buffer and NEWTEXT. Free allocated memory before signaling an error.
12830
12831 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12832
12833 * regex.c (analyse_first): New function obtained by ripping out most
12834 of re_compile_fastmap and generalizing it a little bit so that it
12835 can also just return whether a given (sub)pattern can match the empty
12836 string or not.
12837 (regex_compile): Use `analyse_first' to decide whether the loop-check
12838 needs to be done or not for *, +, *? and +? (the loop check is costly
12839 for non-greedy repetition).
12840 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12841
12842 2000-03-28 Dave Love <fx@gnu.org>
12843
12844 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
12845
12846 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12847
12848 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12849
12850 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12851 an expression.
12852 (enum re_opcode_t): Update description of succeed_n.
12853 (PATFETCH): Always define.
12854 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12855 operators, char classes, shy-groups and intervals).
12856 Optimize special cases of intervals so as to only use succeed_n and
12857 jump_n when really needed.
12858 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12859 that we don't have to handle the special cases any more.
12860 Simplify on_failure_jump handling as well.
12861
12862 2000-03-28 Jason Rumney <jasonr@gnu.org>
12863
12864 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12865
12866 2000-03-27 Gerd Moellmann <gerd@gnu.org>
12867
12868 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12869
12870 * s/msdos.h (GC_SETJMP_WORKS): Define.
12871
12872 * alloc.c (mark_maybe_object): New function.
12873 (mark_memory): Use it.
12874 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12875 (setjmp_tested_p, longjmp_done): New variables.
12876 (test_setjmp): New function.
12877 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12878 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12879
12880 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12881 to DEC_TEXT_POS and INC_TEXT_POS.
12882
12883 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12884 with parameter MULTIBYTE_P.
12885
12886 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
12887
12888 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
12889 buffers because it looks for multibyte character byte sequences
12890 which don't exist in unibyte text.
12891
12892 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12893
12894 * xfaces.c (register_color, unregister_color, unregister_colors)
12895 [DEBUG_X_COLORS]: New functions.
12896 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12897
12898 * xfns.c (x_set_cursor_color): Get color reference counts right.
12899
12900 * xterm.c (x_copy_color): New function.
12901 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12902
12903 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12904 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12905 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12906 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12907 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12908 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12909 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12910 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12911 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12912 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12913
12914 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12915 names for handling per-buffer variables.
12916
12917 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12918 instead of MAX_BUFFER_LOCAL_VARS.
12919 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12920
12921 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12922
12923 * xfns.c (x_specified_cursor_type): New function.
12924 (x_set_cursor_type): Use it.
12925
12926 * buffer.h (struct buffer): Add cursor_type.
12927
12928 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12929
12930 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
12931 (print_partial_compiled_pattern, re_compile_fastmap):
12932 Handle new opcode.
12933 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12934 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12935 executing it as well as when popping it off the stack to find infinite
12936 loops in non-greedy repetition operators.
12937
12938 2000-03-26 Gerd Moellmann <gerd@gnu.org>
12939
12940 * doc.c (Qfunction_documentation): New variable.
12941 (syms_of_doc): Initialize Qfunction_documentation.
12942 (Fdocumentation): If FUNCTION is a symbol with non-nil
12943 `function-documentation' property, return a documentation derived
12944 from that.
12945
12946 * buffer.c (syms_of_buffer): Add default-cursor-type.
12947 (init_buffer_once): Don't let cursor_type have a local value
12948 in every buffer.
12949
12950 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12951 on buffer-local value of cursor_type.
12952 (x_draw_bar_cursor): Add parameter WIDTH.
12953
12954 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12955 (init_buffer_once): Set default cursor_type value to t.
12956 Mark cursor_type as local everywhere.
12957 (syms_of_buffer): New per-buffer variable cursor-type.
12958
12959 * buffer.h (struct buffer): Remove member local_var_flags,
12960 add local_flags.
12961 (MAX_BUFFER_LOCAL_VARS): New macro.
12962 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12963 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12964 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12965 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12966
12967 * print.c (print_object): Use new macros for per-buffer variables.
12968
12969 * category.c (Fset_category_table): Use new macros for per-buffer
12970 variables.
12971
12972 * buffer.c (buffer_permanent_local_flags): Make a char array.
12973 (max_buffer_local_idx): New variable.
12974 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12975 for new handling of per-buffer variables.
12976 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12977 (init_buffer_once): Initialize per-buffer vars differently.
12978 Set max_buffer_local_idx.
12979
12980 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12981 variables.
12982
12983 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
12984
12985 * data.c (do_symval_forwarding, store_symval_forwarding)
12986 (find_symbol_value, set_internal, default_value, Fset_default)
12987 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12988 per-buffer variables.
12989
12990 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12991
12992 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12993
12994 * xterm.c (x_term_init): Unblock input around call1 of
12995 Qvendor_specific_keysyms.
12996
12997 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12998 (find_defun_start): Consider an open parenthesis in column 0
12999 a defun start only if open_paren_in_column_0_is_defun_start is set.
13000 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13001
13002 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13003
13004 * eval.c (Fautoload): Add entry in load-history (if after dump).
13005 * lread.c (load-history): Update docstring.
13006
13007 2000-03-24 Gerd Moellmann <gerd@gnu.org>
13008
13009 * indent.c (Fvertical_motion): Always use the current buffer.
13010 Temporarily change the window's buffer, if necessary.
13011
13012 2000-03-23 Gerd Moellmann <gerd@gnu.org>
13013
13014 * xterm.c (fast_find_position): Make sure not to consider rows
13015 not visible in the window.
13016
13017 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13018
13019 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13020 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13021
13022 2000-03-22 Jason Rumney <jasonr@gnu.org>
13023
13024 * w32menu.c (single_submenu): Set help string to NULL if none.
13025 (w32_menu_show): Set help string correctly.
13026 (add-menu-item): Set help string in MIIM_DATA for menu item.
13027 Load SetMenuItemInfoA explicitly.
13028 (w32_menu_display_help): New function.
13029
13030 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13031 (QCdata): Moved to xdisp.c.
13032
13033 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13034 (Vw32_charset_to_codepage_alist): Removed.
13035 (Vw32_charset_info_alist): New variable.
13036 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13037 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13038 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
13039 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13040 with TODO comment.
13041 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13042 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13043 Define Vw32_charset_info_alist and w32_charset symbols.
13044
13045 2000-03-22 Jason Rumney <jasonr@gnu.org>
13046
13047 * makefile.nt (w32bdf.obj): Update dependencies.
13048
13049 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13050
13051 * w32fns.c: Include fontset.h after dispextern.h.
13052 (Fx_create_frame): Do not create fontset.
13053 (w32_load_system_font): Doc fix.
13054 (Fx_close_connection): Free full_name if it is not shared.
13055
13056 * w32term.c: Include fontset.h after dispextern.h.
13057 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13058 Callers updated.
13059 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13060 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13061 (w32_font_is_double_byte): New function, needs body.
13062 (x_append_glyph): Set glyph->glyph_not_available_p.
13063 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13064 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13065 character, convert it to a unibyte character.
13066 (struct glyph_string): Delete member `charset'.
13067 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13068 calculating it is found.
13069 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13070 the case that per char metric is not available correctly.
13071 (x_fill_glyph_string): Handle the case that the specific glyph is
13072 not available correctly.
13073 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13074 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13075 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13076 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13077 fontset. Don't call FS_LOAD_FONT.
13078
13079 2000-03-22 Ken Raeburn <raeburn@gnu.org>
13080
13081 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13082 (INT_LISPLIKE): New macro.
13083 (NULL_INTERVAL_P): Use it.
13084 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13085 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13086 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
13087
13088 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13089 explicit references to "parent" field of struct interval and
13090 associated unclean type conversions.
13091 * intervals.c (create_root_interval, root_interval, rotate_right)
13092 (rotate_left, balance_possible_root_interval, split_interval_right)
13093 (split_interval_left, interval_start_pos, find_interval)
13094 (next_interval, previous_interval, update_interval)
13095 (adjust_intervals_for_insertion, delete_node, delete_interval)
13096 (adjust_intervals_for_deletion, merge_interval_right)
13097 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13098 (copy_intervals_to_string): Likewise.
13099 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13100 Likewise.
13101 * syntax.c (update_syntax_table): Likewise.
13102
13103 * intervals.c (reproduce_tree_obj): New function, like
13104 reproduce_tree but takes a Lisp_Object for the parent. Declare
13105 with prototype.
13106 (graft_intervals_into_buffer): Use it when appropriate.
13107 (reproduce_tree): Declare with prototype.
13108 (balance_possible_root_interval): Check that the parent is a lisp
13109 object before trying to examine its type.
13110
13111 2000-03-22 Gerd Moellmann <gerd@gnu.org>
13112
13113 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13114 as strings only if both are known to be strings.
13115
13116 * s/openbsd.h (LIBS_TERMCAP): Undef.
13117
13118 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13119
13120 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13121 definitions for non-Emacs compilation.
13122 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13123 outside of `#ifdef emacs'.
13124 (print_partial_compiled_pattern): Update.
13125 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13126 (re_compile_fastmap): Merge handling of charset and charset_not (for
13127 emacs and non-emacs compilation as well).
13128 Similarly for (not)categoryspec and (not)syntaxspec.
13129 Don't use the fastmap when reaching `anychar' since the added
13130 complexity is not justified.
13131 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13132 and (not)syntaxspec. Merge (not)categoryspec.
13133
13134 2000-03-22 Kenichi Handa <handa@etl.go.jp>
13135
13136 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13137 (FACE_FOR_CHAR): Define them differently for the configuration of
13138 --without-x.
13139
13140 2000-03-21 Dave Love <fx@gnu.org>
13141
13142 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13143 doc string.
13144
13145 2000-03-21 Gerd Moellmann <gerd@gnu.org>
13146
13147 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13148 (lface_fully_specified_p): Don't check contents of
13149 LFACE_FONT_INDEX because that attribute is optional.
13150 (realize_x_face): Remove now unwarranted xassert.
13151
13152 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
13153
13154 The following changes are to make font selection based on
13155 characters, not charset. In addition, they recover fontset
13156 facilities while utilizing the new font selection mechanism.
13157
13158 * Makefile.in (fontset.o): Depend on dispextern.h.
13159
13160 * alloc.c (mark_face_cache): Don't mark face->registry.
13161
13162 * dispextern.h (struct glyph): New member glyph_not_available_p.
13163 Use 22 bits for face_id.
13164 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13165 (struct face): Delete member registry, new member ascii_face.
13166 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13167 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13168 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
13169 (struct it): Delete member charset, new member glyph_not_available_p.
13170
13171 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13172 (struct fontset_info, struct fontset_data): Structs removed.
13173 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13174 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
13175 (fs_load_font, fs_query_fontset): Adjusted for new argument.
13176 (fs_free_face_fontset, fontset_font_pattern)
13177 (face_suitable_for_char_p, face_for_char)
13178 (make_fontset_for_ascii_face): Extern them.
13179 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13180 (FS_LOAD_FACE_FONT): New macro.
13181
13182 * fontset.c: All codes rewritten or adjusted for the change of
13183 fontset implementation. Now fontset is represented by char table.
13184 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13185 Variables removed.
13186 (my_strcasecmp): Function removed.
13187 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
13188 (AREF, ASIZE): New macros.
13189 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13190 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13191 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13192 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13193 (fontset_id_valid_p, font_family_registry, fontset_name)
13194 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13195 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
13196 New functions.
13197 (fs_load_font): New arg FACE. Caller changed.
13198 (fs_query_fontset): Argument changed. Caller changed.
13199 (Fquery_fontset): call fs_query_fontset.
13200 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13201 Functions removed.
13202 (clear_fontset_elements, check_registry_encoding)
13203 (check_fontset_name): New functions.
13204 (syms_of_fontset): Set char-table-extra-slots property of fontset
13205 to 3. Staticpro and initialize Vfontset_table and
13206 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13207
13208 * frame.h (struct frame): Member `fontset_data' removed.
13209 (FRAME_FONTSET_DATA): Macro removed.
13210
13211 * frame.c (make_frame): Don't allocate f->fontset_data.
13212 (Fdelete_frame): Don't free f->fontset_data.
13213
13214 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13215
13216 * xdisp.c (charset_at_position): Function removed.
13217 (init_iterator): Don't set member charset of struct `it'.
13218 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13219 (next_element_from_display_vector, insert_left_trunc_glyphs):
13220 Likewise.
13221 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13222 FACE_FOR_CHARSET.
13223 (get_next_display_element, append_space)
13224 (extend_face_to_end_of_line): Likewise.
13225
13226 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13227 Variables removed.
13228 (clear_font_table, frame_update_line_height, load_face_font):
13229 Adjusted for the change of fontset implementation.
13230 (load_face_fontset_font): Function removed.
13231 (pixel_point_size): New function.
13232 (font_list): Argument type changed. Caller changed.
13233 (LFACE_FONT): New macro.
13234 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13235 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13236 Lisp_Object. Determine the font name by actually loading a font
13237 by the specified pattern. Set LFACE_FONT (lface) to the specified
13238 pattern. Even if a font is not found, don't try alternatives.
13239 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13240 (set_font_frame_param): If `font' is specified in lface, use it.
13241 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13242 (lface_same_font_attributes_p): Likewise.
13243 (make_realized_face): Arguent changed. Caller changed. Set
13244 face->ascii_face to face itself.
13245 (free_realized_face): Free face->fontset if face is for ASCII.
13246 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13247 (deduce_unibyte_registry, x_charset_registry): Functions removed.
13248 (free_realized_multibyte_face): New function.
13249 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13250 changed. Caller changed.
13251 (try_font_list): Argument type changed.
13252 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13253 (choose_face_font): Argument changed. Handle fontset properly.
13254 (choose_face_fontset_font): Function removed.
13255 (realize_default_face, realize_named_face): Don't remove the
13256 former face here.
13257 (realize_face): Argument changed. Caller changed. Remove face
13258 with the arg former_face_id in advance. Load font for the new face.
13259 (realize_x_face): Argument changed. Caller changed. For a
13260 multibyte character, share fontset with base_face. For a single
13261 byte character, make a new realized fontset. Don't load a font here.
13262 (realize_tty_face): Argument changed. Caller changed.
13263 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13264 (face_at_buffer_position): Don't check multibyte_p for returning
13265 DEFAULT_FACE_ID.
13266 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13267 FACE_SUITABLE_FOR_CHARSET_P.
13268 (syms_of_xfaces): Remove code for Qx_charset_registry and
13269 Vface_default_registry.
13270
13271 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13272 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
13273 (x_per_char_metric): Don't try FONT->default_char. Even if
13274 pcm->width is zero, glyph bits may exist.
13275 (x_encode_char): Always initialize char2b->byte1.
13276 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
13277 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
13278 (x_append_glyph): Set glyph->glyph_not_available_p.
13279 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13280 it->charset. Handle the case that per char metric is not
13281 available. If it->multibyte_p is zero and it->c is a multibyte
13282 character, convert it to a unibyte character.
13283 (struct glyph_string): Delete member `charset'.
13284 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13285 the case that per char metric is not available correctly.
13286 (x_fill_glyph_string): Handle the case that the specific glyph is
13287 not available correctly.
13288 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13289 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13290 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13291 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13292 fontset. Don't call FS_LOAD_FONT.
13293
13294 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13295 (x_create_tip_frame): Likewise.
13296 (Fx_close_connection): Free full_name of font_info.
13297
13298 * fns.c (optimize_sub_char_table): New function.
13299 (Foptimize_char_table): New function.
13300 (syms_of_fns): Defsubr Soptimize_char_table.
13301
13302 2000-03-20 Gerd Moellmann <gerd@gnu.org>
13303
13304 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13305 only if buffer is displayed in some window.
13306
13307 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13308 (try_window_reusing_current_matrix): Don't call scroll run
13309 function if run's current and desired position are the same;
13310 this prevents cursor flickering.
13311
13312 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13313
13314 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13315
13316 * regex.c (RE_STRING_CHAR): New macro.
13317 (GET_CHAR_AFER_2): Remove.
13318 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13319 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13320 (print_partial_compiled_pattern, re_compile_fastmap)
13321 (re_match_2_internal): Remove on_failure_jump_exclusive.
13322 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13323 optimization only need to work for * (ie. can use of_keep_string_jump).
13324 Remove the special case for .*\n since it is now covered by the general
13325 optimization.
13326 (re_search_2): Don't bother with `room'.
13327 (skip_one_char): New function.
13328 (skip_noops): Simplify since `memory' is not needed any more.
13329 (mutually_exclusive_p): Restructure slightly to use `switch' and
13330 add handling for "all" remaining cases.
13331 (re_match_2_internal): Change on_failure_jump_smart to use
13332 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13333 rather than on_failure_jump_exclusive.
13334
13335 2000-03-19 Gerd Moellmann <gerd@gnu.org>
13336
13337 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13338 number of bits per RGB because it's everywhere used as the depth
13339 of the visual.
13340
13341 * term.c (calculate_costs): Remove code dealing with X frames.
13342
13343 2000-03-19 Richard M. Stallman <rms@gnu.org>
13344
13345 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13346
13347 2000-03-18 Gerd Moellmann <gerd@gnu.org>
13348
13349 * lread.c (read_integer): Unread the last char not consumed.
13350
13351 2000-03-17 Gerd Moellmann <gerd@gnu.org>
13352
13353 * xterm.c (x_update_window_cursor): Don't update in frames
13354 which are in the process of being deleted.
13355
13356 2000-03-16 Gerd Moellmann <gerd@gnu.org>
13357
13358 * Makefile.in (mostlyclean): Add `*.core'.
13359 (clean): Add `bootstrap-emacs'.
13360
13361 * lread.c (read_integer): New function.
13362 (read1): Support read syntax #o, #x, #b, #r.
13363
13364 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13365
13366 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13367 make sure POINTER_TO_OFFSET gives the same value before and after
13368 PREFETCH. Use `dfail' to guarantee "atomic" matching.
13369 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13370 (debug): Now only active if > 0 rather than if != 0.
13371 (DEBUG_*): Update for the new meaning of `debug'.
13372 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13373 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13374 in `succeed_n', `jump_n' and `set_number_at'.
13375 (store_op1, store_op2, insert_op1, insert_op2)
13376 (at_begline_loc_p, at_endline_loc_p): Add prototype.
13377 (group_in_compile_stack): Move to after its arg's types are
13378 declared and add a prototype.
13379 (PATFETCH): Define in terms of PATFETCH_RAW.
13380 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
13381 (QUIT): Redefine as a nop except for NTemacs.
13382 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13383 indentation of the greedy-op and shy-group code.
13384 (at_(beg|end)line_loc_p): Fix argument's types.
13385 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13386 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13387 (MATCHING_IN_FIRST_STRING): Remove.
13388 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13389 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13390 QUIT unconditionally.
13391
13392 2000-03-15 Gerd Moellmann <gerd@gnu.org>
13393
13394 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13395 a sole completion.
13396
13397 * process.c (send_process): Add a hint that the function
13398 can call Lisp code to its comment.
13399
13400 * lread.c (load_dangerous_libraries): New variable.
13401 (Vbytecomp_version_regexp): New variable.
13402 (safe_to_load_p): New function.
13403 (Fload): Handle files not compiled with Emacs specially.
13404 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13405
13406 2000-03-14 Gerd Moellmann <gerd@gnu.org>
13407
13408 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13409
13410 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13411 support functions only if HAVE_X11R6_XIM is defined.
13412 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13413
13414 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13415
13416 * xfns.c (X_I18N_INHIBITED): Don't define.
13417 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
13418 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13419
13420 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13421 (HAVE_X11R6_XIM): Define.
13422
13423 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13424
13425 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13426 If set, call XSynchronize.
13427
13428 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13429
13430 * regex.c: Declare a new type `re_char' used throughout the code
13431 for the string char type. It's `const unsigned char' to match the
13432 rest of Emacs. Consistently make sure all pointers to strings use
13433 it and make sure all pointers into the pattern use `unsigned char'.
13434 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
13435 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13436 code duplication.
13437
13438 * charset.h (GET_CHAR_AFTER_2): Remove.
13439 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13440
13441 2000-03-12 Ken Raeburn <raeburn@gnu.org>
13442
13443 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13444 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13445 of them try to use backquotes.
13446
13447 2000-03-12 Dave Love <fx@gnu.org>
13448
13449 * unexelf.c: Restore changes of 1999-10-19.
13450 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13451 fix its type and alignment; copy it from current process.
13452
13453 2000-03-12 Gerd Moellmann <gerd@gnu.org>
13454
13455 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13456 has been found. Fix bug not computing timer's predecessor.
13457
13458 * fileio.c (Fread_file_name): Handle case that DIR contains a
13459 file name.
13460
13461 * window.c (Fsave_window_excursion): Doc fix.
13462
13463 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
13464
13465 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13466
13467 * msdos.c (vga_installed): New function, code moved from
13468 dos_set_window_size.
13469 (Qbar, Qcursor_type, outside_cursor): New variables.
13470 (syms_of_msdos): Intern and staticpro them.
13471 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13472 shape used outside Emacs when called for the first time.
13473 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13474 cursor shape used outside Emacs.
13475 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13476 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13477 type has changed.
13478 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13479 parameters specify the cursor. Make qreverse a global
13480 variable (renamed to Qreverse).
13481
13482 2000-03-09 Gerd Moellmann <gerd@gnu.org>
13483
13484 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13485
13486 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13487
13488 This is a big redesign of failure-stack and register handling, prompted
13489 by bugs revealed when trying to add shy-groups. Overall, what happened
13490 is that loops are now structured a little differently, groups can be
13491 shy and the code is a little simpler.
13492
13493 * regex.h: Update the copyright.
13494 (RE_SHY_GROUPS): New value.
13495 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13496 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13497
13498 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13499 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13500 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13501 for (start|stop)_memory since they now only take one argument (the
13502 second has becomes unnecessary).
13503 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
13504 (print_compiled_pattern): Use %ld to printf long ints and flush to
13505 make debugging a little easier.
13506 (union fail_stack_elt): Make the integer unsigned.
13507 (struct fail_stack_type): Add a `frame' element.
13508 (INIT_FAIL_STACK): Init `frame' as well.
13509 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13510 (DEBUG_PUSH, DEBUG_POP): Remove.
13511 (NUM_REG_ITEMS): Remove.
13512 (NUM_NONREG_ITEMS): Adjust.
13513 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13514 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
13515 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
13516 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13517 New macros.
13518 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13519 address pushed is not the destination of the jump but the source
13520 of it instead.
13521 (NUM_FAILURE_ITEMS): Remove.
13522 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
13523 registers before the actual failure point). Don't hardcode any
13524 meaning for str==NULL anymore.
13525 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
13526 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13527 Remove.
13528 (REG_UNSET_VALUE): Use NULL (why not?).
13529 (compile_range): Remove declaration since it doesn't exist.
13530 (struct compile_stack_elt_t): Remove inner_group_offset.
13531 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13532 (regex_grow_registers): Remove dead code.
13533 (FIXUP_ALT_JUMP): New macro.
13534 (regex_compile): Add shy-groups Change loops to use
13535 on_failure_jump_smart&jump instead of
13536 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13537 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13538 variable to me). Use `jump' instead of `jump_past_alt' and don't
13539 bother with push_dummy_failure in alternatives since it is now
13540 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13541 emacs' for (re)allocating the stack.
13542 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13543 from loop when bufp->can_be_null rather than jumping to `done'.
13544 Avoid jumping backwards so as to ensure termination. Use
13545 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13546 backreferences. Remove dead code in handling of `anychar'.
13547 (skip_noops, mutually_exclusive_p): New functions taken from the
13548 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13549 improve mutually_exclusive_p to handle ".+\n".
13550 (lowest_active_reg, highest_active_reg)
13551 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
13552 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13553 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13554 variables. Push register (in `start_memory') on the stack rather
13555 than storing it in old_reg(start|end). Remove the cycle detection
13556 from `stop_memory', replaced by the use of on_failure_jump_loop
13557 for greedy loops. Add code for the new on_failure_jump_<foo>.
13558 Remove ad-hoc code in `on_failure_jump' to push more registers in
13559 the case of a loop. Take out code from `maybe_pop_jump' into
13560 separate functions and adapt it to the semantics of
13561 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13562 and push_dummy_failure. Remove dummy_failure handling and
13563 handling of `failures to jump to on_failure_jump' (this last one
13564 was already dead code, it seems).
13565 (group_match_null_string_p, alt_match_null_string_p)
13566 (common_op_match_null_string_p): Remove.
13567
13568 2000-03-08 Dave Love <fx@gnu.org>
13569
13570 * config.in: Don't depend on __STDC__ for volatile.
13571 Add POINTER_TYPE, PTR, PROTOTYPES.
13572
13573 * hftctl.c, strftime.c: Use PROTOTYPES.
13574 * eval.c (find_handler_clause): Likewise.
13575
13576 * mem-limits.h: Use POINTER_TYPE.
13577
13578 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13579 (memory_warnings): Declare using POINTER_TYPE.
13580
13581 2000-03-08 Gerd Moellmann <gerd@gnu.org>
13582
13583 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13584
13585 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
13586
13587 * xfns.c: Remove obsolete code in #if 0.
13588 (Fx_focus_frame): New function.
13589
13590 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13591
13592 * coding.c (coding_category_name): Add coding-category-utf-8,
13593 coding-category-utf-16-be, coding-category-utf-16-le.
13594 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13595 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13596 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13597 (detect_coding_utf_8): New function.
13598 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13599 UTF_16_LOW_SURROGATE_P): New macros.
13600 (detect_coding_utf_16): New function
13601 (detect_coding_mask): When priorities are specified, skip any
13602 categories that have `nil' coding-system. Fix bug of returning
13603 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13604 returns a mask not set in PRIORITIES.
13605 (detect_eol_type_in_2_octet_form): New function.
13606 (detect_eol): selects detect_eol_type_XXX to call according to
13607 cooding->category_idx.
13608 (detect_coding_system): Remove `nil' coding-system in the result.
13609 (Fupdate_coding_systems_internal): Update all coding-categories.
13610
13611 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13612 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13613 New macros.
13614 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13615 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13616 (CODING_CATEGORY_IDX_UTF_16_LE)
13617 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13618 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
13619 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13620 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13621
13622 2000-03-07 Gerd Moellmann <gerd@gnu.org>
13623
13624 * doc.c (Fdocumentation_property): If value is not a string,
13625 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13626
13627 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13628 close the display with XtCloseDisplay. This caused a bus error
13629 on OpenWindows.
13630
13631 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13632 complete but not unique.
13633
13634 2000-03-06 Gerd Moellmann <gerd@gnu.org>
13635
13636 * process.c (send_process): Remove local variable `procname' that
13637 might become invalid when a GC happens. Instead, access the
13638 process name slot directly.
13639
13640 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13641 orig_height if set.
13642
13643 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13644 orig_height if set.
13645
13646 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13647
13648 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13649 glyph matrices have been freed.
13650
13651 2000-03-05 Gerd Moellmann <gerd@gnu.org>
13652
13653 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
13654 (bootstrap-temacs): Set LC_ALL to C like for temacs.
13655
13656 * xfns.c (QCdata): Moved to xdisp.c.
13657
13658 * xdisp.c (QCdata): Moved here from xfns.c.
13659 (syms_of_xdisp): Initialize QCdata.
13660
13661 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13662
13663 * window.c (coordinates_in_window): Use
13664 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13665 FRAME_INTERNAL_BORDER_WIDTH.
13666
13667 * xdisp.c (try_window_id): Recompute unchanged information if
13668 it is obviously invalid.
13669
13670 * xterm.c (x_term_init): Create a colormap if not using the
13671 default visual.
13672
13673 * xterm.h (select_visual): Change prototype.
13674
13675 * xfns.c (select_visual): Rewritten. Recognize user-specified
13676 visual classes.
13677 (visual_classes): New variable.
13678
13679 2000-03-04 Gerd Moellmann <gerd@gnu.org>
13680
13681 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13682 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13683 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
13684 (x_decode_color): Don't handle allocation of white and black specially.
13685 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13686 XtNcolormap resources.
13687 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13688 (Fx_create_frame): Initialize color members of x_output structure.
13689 (xpm_load): Pass colormap to XPM lib.
13690
13691 * xfaces.c (x_free_colors): Access colormap of frame using
13692 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13693 when default colormap is used.
13694
13695 * xterm.c (x_term_init): Set Colormap member of x_display_info
13696 structure. Copy colormap if resource `privateColormap' is
13697 specified (PseudoColor only).
13698 (x_setup_relief_color): Access colormap of frame using
13699 FRAME_X_COLORMAP.
13700
13701 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13702 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13703
13704 2000-03-04 Jason Rumney <jasonr@gnu.org>
13705
13706 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13707 other non-platform-specific equivalents.
13708 [WINDOWSNT]: Include w32term.h, fontset.h and define X
13709 specific functions and macros as their w32 equivalents where
13710 non-platform-specifics are not available.
13711 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13712 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13713 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13714 (frame_update_line_height): Use macros to access f->output_data.
13715 (defined_color): Remove FIXME comments; fixed.
13716 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13717 into #ifdef blocks. Add WINDOWSNT blocks.
13718 (Fx_list_fonts): Use macros for accessing font data.
13719 (set_lface_from_font_name): Different default fonts for X and
13720 WINDOWSNT.
13721 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13722 scalable for backward compatibility.
13723 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
13724 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13725
13726 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
13727 syms_of_w32faces.
13728
13729 * makefile.nt (w32faces.obj): Remove.
13730 (xfaces.obj): Add.
13731
13732 2000-03-03 Jason Rumney <jasonr@gnu.org>
13733
13734 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13735 correct parameters.
13736
13737 2000-03-03 Ken Raeburn <raeburn@gnu.org>
13738
13739 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13740 standard ELF definitions here if the system header does not.
13741
13742 2000-03-03 Gerd Moellmann <gerd@gnu.org>
13743
13744 * xterm.c (PER_CHAR_METRIC): Removed.
13745 (x_per_char_metric_1, x_default_char): New functions.
13746 (x_per_char_metric): If font's default char is invalid, return
13747 metrics of a suitably chosen usable default char.
13748 (x_draw_glyph_string_foreground): If font has an invalid default
13749 char, replace occurrences of unprintable chars with a suitably
13750 chosen usable default char.
13751
13752 2000-03-02 Gerd Moellmann <gerd@gnu.org>
13753
13754 * xterm.c (note_mouse_highlight): Return quickly if frame's
13755 glyph matrices have been freed.
13756
13757 * dispnew.c (free_glyphs): Block input while freeing matrices.
13758
13759 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13760
13761 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13762 Use x_free_colors.
13763
13764 * dispextern.h (x_free_colors): Add prototype.
13765
13766 * xfaces.c (x_free_colors): New function.
13767 (unload_color, free_face_colors): Use it.
13768
13769 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13770
13771 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13772
13773 * window.c [MSDOS]: Include msdos.h.
13774
13775 2000-03-02 Dave Love <fx@gnu.org>
13776
13777 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13778
13779 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13780 set C_OPTIMIZE_SWITCH for gcc.
13781
13782 2000-03-02 Kenichi Handa <handa@etl.go.jp>
13783
13784 * coding.c (coding_save_composition): Be sure to allocate
13785 composition data area in coding even if there's no composition in
13786 the current run.
13787
13788 2000-03-01 Jason Rumney <jasonr@gnu.org>
13789
13790 * w32term.c: Equivalent changes to those made to xterm.c on
13791 2000-02-25 and 2000-02-24.
13792
13793 * w32fns.c: Equivalent changes to those made to xfns.c on
13794 2000-02-25 and 2000-02-21.
13795
13796 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13797 correct line-end convention is followed.
13798
13799 * w32menu.c [HAVE_BOXES]: Remove #undef.
13800 (single_keymap_panes): Remove code for simulating checkmarks.
13801 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13802 Remove code for drawing simulated checkmarks.
13803 (w32_menu_show): make unibyte help string correctly.
13804 (add_menu_item): draw standard Windows checkmarks. Draw radio
13805 buttons as radio buttons if possible.
13806
13807 2000-03-01 Gerd Moellmann <gerd@gnu.org>
13808
13809 * sysdep.c (start_of_text): Don't define this function for NetBSD
13810 with ELF.
13811
13812 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
13813 Don't define.
13814 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13815 (LINKER): Don't undef if __NetBSD__ is defined.
13816
13817 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13818
13819 * fileio.c [__NetBSD__]: Define `unix'.
13820
13821 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13822
13823 2000-02-29 Gerd Moellmann <gerd@gnu.org>
13824
13825 * atimer.c (start_atimer): Don't abort when timers are stopped.
13826 (append_atimer_lists): New function.
13827 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13828 arbitrary lists of stopped and running atimers.
13829
13830 * atimer.c (cancel_atimer): Handle canceling an atimer when
13831 some timers are stopped.
13832
13833 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13834 after canceling it.
13835
13836 * fns.c (maybe_resize_hash_table): Handle case of new size
13837 coming out as being the same as old size.
13838
13839 2000-02-27 Jason Rumney <jasonr@gnu.org>
13840
13841 * makefile.nt: Add atimer.h to dependencies.
13842 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13843 * w32console.c: Only disable window system features for dispextern.h
13844 (initialize_w32_display): Build a display info for the console.
13845 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13846 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13847 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13848 as 2 button mice.
13849 * w32gui.h (struct W32FontStruct): Revert last change after change
13850 to xdisp.c.
13851 * w32menu.c (single_submenu): Set up help string.
13852 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13853 (w32_dialog_show): Set up help string.
13854 * w32term.c (w32_display_info_for_display): Remove unused function.
13855 (w32_draw_bitmap): Use pre-built bitmaps.
13856 (w32_initialize_display_info): New function to initialize parts of
13857 display info that are common to both GUI and console frames.
13858 (w32_term_init): Use w32_initialize_display_info. Do not set
13859 Vw32_num_mouse_buttons here, as it is not called for console
13860 frames. Build bitmaps for indicating truncated lines etc.
13861 (x_delete_display): Destroy pre-built bitmaps.
13862 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13863 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13864
13865 2000-02-27 Dave Love <fx@gnu.org>
13866
13867 * lisp.h: Add a bunch of prototypes.
13868
13869 2000-02-26 Kenichi Handa <handa@etl.go.jp>
13870
13871 * keyboard.c (read_char): Set `usec' correctly.
13872
13873 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13874
13875 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13876 `lambda', set reg[RRR] to the map index.
13877 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13878 reg[RRR] to 0. Otherwise, set it to -1.
13879
13880 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13881
13882 * emacs.c (main): Remove code snippet commented out with `//'.
13883
13884 2000-02-25 Richard M. Stallman <rms@gnu.org>
13885
13886 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13887 and contains a `:', prepend `/:'.
13888
13889 * window.c (select_window_1): If selected_window is nil,
13890 don't "swap out" the buffer's point.
13891 (Fset_window_configuration): Set selected_window to nil
13892 before calling Fselect_window.
13893 (unshow_buffer): Don't set point in buffer from window's point
13894 if another more recently selected window also shows the buffer.
13895
13896 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13897
13898 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13899
13900 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13901 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
13902 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13903 New variables.
13904 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13905 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13906 (hide_busy_cursor): New functions.
13907 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13908
13909 * minibuf.c (read_minibuf): Cancel busy-cursor.
13910
13911 * keyboard.c (command_loop_1): Call start_busy_cursor before
13912 Fcommand_execute and cancel_busy_cursor after it.
13913 (timer_check): Remove busy-cursor code.
13914 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13915 cursor timer.
13916
13917 * process.c (wait_reading_process_input): Remove busy-cursor code.
13918
13919 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13920 Fx_hide_busy_cursor.
13921
13922 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13923 Remove prototyoes.
13924 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13925
13926 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13927
13928 * xterm.c (XTread_socket): Remove busy-cursor code.
13929
13930 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13931 (build_frame_matrix_from_leaf_window): Put code handling
13932 glyph row's not being a slice of a frame row in #if 0.
13933 (sync_window_with_frame_matrix_rows): New function.
13934 (frame_row_to_window): New function.
13935 (mirror_line_dance): Handle copies between windows.
13936
13937 * lread.c (Fload): Use `xfree' instead of `free'.
13938 (init_obarray): Use `xmalloc' instead of `malloc'.
13939
13940 * window.c (Fset_window_buffer): Set WINDOW to the window
13941 after decoding.
13942 (coordinates_in_window): Take frame's internal border width
13943 into account.
13944
13945 2000-02-24 Gerd Moellmann <gerd@gnu.org>
13946
13947 * xterm.c (x_display_and_set_cursor): Display cursor of
13948 non-selected windows depending on the setting of
13949 cursor_in_non_selected_windows.
13950
13951 * xdisp.c (cursor_in_non_selected_windows): New variable.
13952 (syms_of_xdisp): DEFVAR_BOOL it.
13953
13954 2000-02-23 Gerd Moellmann <gerd@gnu.org>
13955
13956 * data.c (Fstring_to_number): If number is greater than what
13957 fits into an integer, return a float.
13958
13959 * eval.c (specbind): Remove references to
13960 keyword_symbols_constant_flag.
13961
13962 * data.c (keyword_symbols_constant_flag): Removed.
13963 (Fmakunbound, set_internal, syms_of_data): Remove references to
13964 keyword_symbols_constant_flag.
13965
13966 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13967
13968 2000-02-23 Kenichi Handa <handa@etl.go.jp>
13969
13970 * syntax.c (multibyte_syntax_as_symbol): New variable.
13971 (syms_of_syntax): Declare it as a Lisp variable.
13972 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13973 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13974 nonzero, treat all multibyte characters as symbol.
13975 (init_syntax_once): Give syntax `word' to all multibyte characters.
13976
13977 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13978
13979 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
13980 a deleted frame.
13981
13982 2000-02-21 Gerd Moellmann <gerd@gnu.org>
13983
13984 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13985
13986 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13987 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13988
13989 2000-02-21 Dave Love <fx@gnu.org>
13990
13991 * frame.c (Vmouse_position_function): New variable.
13992 (Fmouse_position): Use it.
13993 (syms_of_frame): Install it.
13994
13995 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13996
13997 2000-02-20 Gerd Moellmann <gerd@gnu.org>
13998
13999 * fileio.c (Finsert_file_contents): Unbind the binding of
14000 standard-output done by temp_output_buffer_setup.
14001
14002 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14003 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14004 (specbind, unbind_to): Handle most common case of non-constant
14005 symbol with trivial value specially.
14006
14007 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14008
14009 2000-02-20 Richard M. Stallman <rms@gnu.org>
14010
14011 * data.c (Fmake_variable_buffer_local): Doc fix.
14012 Init found_for_buffer to 0.
14013 (Fmake_variable_frame_local): If the variable has already
14014 been buffer-local, set the check_frame field.
14015
14016 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14017
14018 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14019 produced for CODING_MODE_LAST_BLOCK requires.
14020
14021 2000-02-18 Dave Love <fx@gnu.org>
14022
14023 * keyboard.c (echo_keystrokes): Remove declaration.
14024 (Vecho_keystrokes) New variable.
14025 (read_char, record_menu_key, read_key_sequence): Use it to allow
14026 use of float value.
14027 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14028
14029 * lread.c: Undef feature selection macros before defining.
14030
14031 2000-02-18 Gerd Moellmann <gerd@gnu.org>
14032
14033 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14034 for symbols other than the symbol in question.
14035
14036 2000-02-17 Dave Love <fx@gnu.org>
14037
14038 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14039
14040 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14041
14042 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14043
14044 * alloc.c (enum mem_type): Compile unconditionally.
14045
14046 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14047
14048 * xfaces.c (tty_defined_color): Don't return faulire indication
14049 for unspecified-fg and unspecified-bg pseudo-colors.
14050
14051 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14052
14053 * alloc.c (mark_object): Don't mark symbol names in pure space.
14054 (gc_sweep): Don't unmark symbol names in pure space.
14055
14056 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14057 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14058 [GC_MARK_STACK]: New defines.
14059 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
14060 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14061
14062 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14063
14064 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14065 allocate_buffer instead of xmalloc.
14066
14067 * alloc.c (toplevel): Include setjmp.h.
14068 (PURE_POINTER_P): New define.
14069 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14070 (Vdead) [GC_MARK_STACK]: New variable.
14071 (lisp_malloc): Add parameter TYPE, call mem_insert if
14072 GC_MARK_STACK is defined.
14073 (allocate_buffer): New function.
14074 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
14075 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14076 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14077 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14078 (MEM_NIL) [GC_MARK_STACK]: New define.
14079 (struct mem_node) [GC_MARK_STACK]: New structure.
14080 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14081 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14082 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14083 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14084 (mark_stack) [GC_MARK_STACK]: New functions.
14085 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14086 (clear_marks): Removed.
14087 (gc_sweep): Set free conses' car, free floats' type, free
14088 symbols' function to Vdead. Use lisp_free to free buffers.
14089 (init_alloc_once): Initialize Vdead.
14090 (survives_gc_p): Return non-zero for pure objects.
14091
14092 * alloc.c: Add comments throughout the file.
14093
14094 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14095 that unblocks alarms.
14096
14097 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14098 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14099 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14100
14101 * frame.c (make_frame): Set frame initiallly to `garbaged'.
14102
14103 2000-02-17 Kenichi Handa <handa@etl.go.jp>
14104
14105 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14106 avoid infinite error signaling. Allocate sufficient memory for
14107 eol_str in the case that eoltype is Lisp_Int.
14108
14109 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14110
14111 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14112 depends on the previous behavior.
14113
14114 2000-02-16 Gerd Moellmann <gerd@gnu.org>
14115
14116 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14117
14118 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14119
14120 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14121
14122 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
14123 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
14124 write(2).
14125
14126 2000-02-15 Richard M. Stallman <rms@gnu.org>
14127
14128 * data.c (set_internal): Don't make variable buffer-local
14129 if within a let-binding for the same buffer.
14130 (let_shadows_buffer_binding_p): New function.
14131
14132 * eval.c (specbind): For buffer-local value,
14133 record the current buffer also.
14134 (unbind_to): Cope with that change.
14135
14136 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14137
14138 * window.c (Fsave_window_excursion): Doc fix.
14139
14140 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14141
14142 * syntax.c (back_comment): Make sure we only consider comment-starters
14143 of the relevant style and return -1 in case of a failure to find the
14144 beginning of the comment.
14145 (Fforward_comment): If back_comment fails, go back to the position just
14146 after the comment-end.
14147 (scan_lists): Add comment describing a very minor bug.
14148
14149 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14150
14151 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14152 `completion-regexp-list' in the docstring.
14153
14154 2000-02-14 Dave Love <fx@gnu.org>
14155
14156 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14157
14158 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14159
14160 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14161 to Emacs' syntax. Also fix the comment about set/not-set meanings
14162 since Emacs syntax is not the value 0 any more.
14163 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14164 since it's now part of RE_SYNTAX_EMACS.
14165
14166 2000-02-12 Dave Love <fx@gnu.org>
14167
14168 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
14169
14170 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14171
14172 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14173
14174 2000-02-12 Dave Love <fx@gnu.org>
14175
14176 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14177
14178 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
14179 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14180 * s/hpux.h: Don't define HAVE_VFORK.
14181
14182 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14183
14184 * s/nextstep.h: Don't define HAVE_ALLOCA.
14185
14186 * config.in: Add vfork bits.
14187
14188 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14189
14190 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14191 unwind function to undo the effect of stopping atimers.
14192
14193 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
14194
14195 * atimer.c (stopped_atimers): New variable.
14196 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14197 New functions.
14198
14199 * atimer.h (stop_other_atimers, run_all_atimers)
14200 (unwind_stop_other_atimers): Add function prototypes.
14201
14202 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14203
14204 2000-02-11 Ken Raeburn <raeburn@gnu.org>
14205
14206 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14207 library may depend on jpeg.
14208 (atimer.o): Depends on atimer.c.
14209
14210 2000-02-11 Kenichi Handa <handa@etl.go.jp>
14211
14212 * insdel.c (del_range_1): Call update_compositions.
14213 (del_range_both): Call update_compositions just once..
14214
14215 2000-02-10 Dave Love <fx@gnu.org>
14216
14217 * xfns.c (create_frame_xic): Fix initialization of automatic
14218 aggregates for pcc.
14219
14220 2000-02-09 Kenichi Handa <handa@etl.go.jp>
14221
14222 * ccl.c (CCL_MAKE_CHAR): New macro.
14223 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14224 registers by CCL_MAKE_CHAR before calling translate_char.
14225 <CCL_TranslateCharacterConstTbl> Likewise.
14226
14227 2000-02-08 Dave Love <fx@gnu.org>
14228
14229 * lread.c (__EXTENSIONS__): Define.
14230
14231 2000-02-08 Gerd Moellmann <gerd@gnu.org>
14232
14233 * puresize.h (BASE_PURESIZE): Increase to 650000.
14234
14235 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14236
14237 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14238 the help message.
14239
14240 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14241
14242 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14243 md, mh, mb, mr, and me to the fake termcap entry.
14244
14245 2000-02-06 Ken Raeburn <raeburn@gnu.org>
14246
14247 * sound.c (sound_cleanup): Don't call device close routine if the
14248 function pointer is null.
14249
14250 2000-02-06 Andrew Innes <andrewi@gnu.org>
14251
14252 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14253 around image definitions and prototypes.
14254 (gamma_correct) [WINDOWSNT]: New prototype.
14255
14256 * w32term.c (x_make_frame_visible): Replace call to
14257 input_poll_signal with poll_for_input.
14258
14259 * window.c [WINDOWSNT]: Include w32term.h.
14260
14261 * xdisp.c [WINDOWSNT]: Include w32term.h.
14262
14263 * makefile.nt: Add dependencies on w32gui.h.
14264 (OBJ1): Include atimer.obj.
14265 ($(BLD)\atimer.obj): New dependency rule.
14266
14267 * w32.c (sigmask): New function (does nothing).
14268 (sigunblock): Ditto.
14269
14270 * frame.c [WINDOWSNT]: Include w32term.h.
14271
14272 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14273
14274 * lread.c (syms_of_lread): Fix literal newlines.
14275
14276 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14277 the string constant limit (2048 bytes) in MSVC.
14278 (main): Ditto.
14279
14280 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14281
14282 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
14283 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14284 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14285 dispatch the event.
14286
14287 2000-02-04 Dave Love <fx@gnu.org>
14288
14289 * fileio.c: Remove some unused vars.
14290 (_GNU_SOURCE): Define (for euidaccess).
14291
14292 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14293
14294 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14295 gcpro1, gcpro2.
14296 (read_minibuf): Deal with allow_props correctly.
14297
14298 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14299
14300 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14301
14302 2000-02-03 Ken Raeburn <raeburn@gnu.org>
14303
14304 * search.c (compile_pattern): If a cache entry has a nil regexp,
14305 fill in that entry instead of clobbering a previously cached
14306 string regexp.
14307
14308 2000-02-02 Ken Raeburn <raeburn@gnu.org>
14309
14310 * puresize.h (BASE_PURESIZE): Increase to 610000.
14311
14312 2000-02-02 Gerd Moellmann <gerd@gnu.org>
14313
14314 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14315 can GC.
14316
14317 2000-02-02 Kenichi Handa <handa@etl.go.jp>
14318
14319 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14320 instead of incrementing ic directly.
14321 <CCL_WriteExprConst> Likewise.
14322 <ccl_set_expr>: Set ic to jump_address.
14323
14324 * fileio.c (e_write): Fix the handling of
14325 CODING_FINISH_INSUFFICIENT_SRC.
14326
14327 2000-02-01 Dave Love <fx@gnu.org>
14328
14329 * editfns.c (Fpropertize): Doc fix.
14330
14331 * process.c (Fstart_process): Doc fix.
14332
14333 * eval.c: Fix various doc strings not to duplicate information
14334 from help-manyarg-func-alist.
14335
14336 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
14337
14338 * doc.c (Vhelp_manyarg_func_alist): New variable.
14339 (Fdocumentation): Use it.
14340 (syms_of_doc): Define it.
14341
14342 2000-01-31 Gerd Moellmann <gerd@gnu.org>
14343
14344 * xterm.c (xim_open_dpy): Remove unused local variable.
14345
14346 * emacs.c (USAGE): Use term `display options' instead of `X options'.
14347
14348 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14349 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14350
14351 * fns.c (sweep_weak_table): New function.
14352 (sweep_weak_hash_tables): Use it. Keep on marking until there
14353 is no more change.
14354
14355 2000-01-30 Gerd Moellmann <gerd@gnu.org>
14356
14357 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14358 that XTread_socket does not crash by trying to call XNoOp on a
14359 closed display.
14360
14361 2000-01-30 Jason Rumney <jasonr@gnu.org>
14362
14363 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14364 Change selected_frame to SELECTED_FRAME ().
14365 (w32_console_mouse_position): Remove #ifndef MULE from around
14366 `insist' parameter.
14367
14368 * makefile.nt: Remove dosfns.obj.
14369
14370 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14371
14372 * w32fns.c (w32_defined_color): Check for valid frame before
14373 applying gamma correction. Eliminate dependency on frame elsewhere.
14374 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14375 (w32_to_x_font): Use resx and resy not height_in and width_in.
14376 (x_to_w32_font): Doc fix.
14377 (xlfd_strip_height): New function to strip and return font height.
14378 (w32_font_match): Compare height separately from rest of xlfd
14379 spec, using xlfd_strip_height.
14380
14381 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14382 width_in. Use w32_defined_color in place of defined_color.
14383
14384 * w32faces.c: Merge more of DOS and X specifics in preparation for
14385 merge with xfaces.c.
14386 (defined_color): Remove FIXME comment.
14387 (tty_color_name): Provide w32-specific function.
14388 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14389
14390 * w32console.c (turn_on_face, turn_off_face): Removed.
14391 (w32_face_attributes): New function.
14392 (Global_variables): Reduce scope where possible.
14393 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14394 fill attribute.
14395 (hl_mode): Don't modify text attributes.
14396 (write_glyphs): Don't do anything if len <= 0. Use
14397 w32_face_attributes to get attributes for drawing. Write
14398 terminating codes using char_attr_normal.
14399 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14400 (update_begin, update_end): Likewise.
14401 (vga_stdcolor_name): New function.
14402 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14403 (Fset_screen_color): Remove char_attr_reverse.
14404
14405 2000-01-29 Gerd Moellmann <gerd@gnu.org>
14406
14407 * xfns.c (xic_set_preeditarea): Take window parameter and
14408 window-relative pixel-positions.
14409
14410 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14411 is its frame's selected window.
14412 (xim_instantiate_callback): Likewise.
14413
14414 * xfns.c (x_create_im): Removed.
14415 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14416 (supported_xim_styles): Renamed from supported_styles.
14417 (best_xim_style): Renamed from best_style.
14418 (create_frame_xic): Renamed from xic_create_frame.
14419 (free_frame_xic): Renamed from xic_destroy_frame.
14420
14421 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14422
14423 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14424 our frames, call XFilterEvent with 2nd parameter `None'.
14425 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14426 returning XBufferOverflow.
14427 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
14428 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14429 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14430 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14431 (xim_initialize, xim_close)
14432 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14433 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14434 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14435 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14436
14437 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14438 and `xim_styles'.
14439 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14440 `xic_style' and `xic_xfs'.
14441 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14442 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14443 (FRAME_XIM): Removed.
14444
14445 * xfns.c (supported_styles): New variable.
14446 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14447 (xic_create_xfontset, best_style, xic_create_frame)
14448 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14449 (xic_set_xfontset): New functions.
14450
14451 2000-01-28 Dave Love <fx@gnu.org>
14452
14453 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14454
14455 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14456
14457 2000-01-28 Gerd Moellmann <gerd@gnu.org>
14458
14459 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14460 for *scratch* if it already existed.
14461
14462 * emacs.c (USAGE): New macro.
14463 (main): Use it to display usage information.
14464
14465 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14466
14467 Support for the menu-help feature:
14468
14469 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
14470
14471 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14472 part of the line to the termscript file.
14473 (IT_clear_to_end): Clear the entire line, not just its beginning.
14474 (menu_help_message, prev_menu_help_message): New variables.
14475 (IT_menu_make_room): Make room for the help_text member.
14476 (IT_menu_display): New argument disp_help; all callers changed.
14477 If disp_help is non-zero, store the help text of the active menu
14478 item in menu_help_message.
14479 (XMenuAddPane): Initialize the help_text member to NULL.
14480 (XMenuAddSelection): New argument help_text. Store it in the
14481 XMenu structure.
14482 (XMenuActivate): New argument help_callback. If the value of
14483 menu_help_message has changed since the last time, display the
14484 menu help message text while waiting for the mouse to move. Clear
14485 the echo area before exiting.
14486 (XMenuDestroy): Free the help_text member.
14487
14488 2000-01-27 Gerd Moellmann <gerd@gnu.org>
14489
14490 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14491 XMenuAddSelection. Pass help callback to XMenuActivate.
14492 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14493
14494 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14495
14496 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14497 and EMACS_SET_USECS.
14498
14499 2000-01-26 Dave Love <fx@gnu.org>
14500
14501 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14502
14503 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14504 an error may be signalled.
14505
14506 2000-01-26 Gerd Moellmann <gerd@gnu.org>
14507
14508 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14509 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14510
14511 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14512
14513 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14514
14515 * charset.c (Fstring): If there is a multibyte char among
14516 the args, always return a multibyte string.
14517
14518 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14519
14520 * sysdep.c (sys_select): Turn atimers off and on instead of
14521 recording and restoring old alarm handler
14522
14523 * process.c (toplevel): Include atimer.h.
14524 (create_process_1): Rewritten.
14525 (create_process): Use atimers instead of alarm.
14526 (wait_reading_process_input) [hpux]: Turn atimers off instead
14527 of turning off SIGALRM.
14528 (wait_reading_process_input): Turn off atimers instead off
14529 calling stop_polling.
14530
14531 * emacs.c (main): Call init_atimer.
14532
14533 * keyboard.c (toplevel): Include systime.h and atimer.h.
14534 (polling_for_input): Removed because unused.
14535 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14536 (poll_timer): New variable.
14537 (poll_for_input, poll_for_input_1): New functions.
14538 (start_polling, stop_polling): Rewritten.
14539
14540 * keyboard.h (polling_for_input): Removed.
14541
14542 * atimer.h, atimer.c: New files.
14543
14544 * Makefile.in (obj): Add atimer.o.
14545 (atimer.o): New target.
14546
14547 * blockinput.h (pending_atimers): Add extern declaration.
14548 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14549
14550 * lisp.h (popup_activated_flag): Add extern declaration.
14551
14552 * xmenu.c (popup_activated_flag): Make externally visible.
14553 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
14554 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14555
14556 * xterm.c (toplevel): Include atimer.h.
14557 (toolkit_scroll_bar_interaction): New variable.
14558 (Fxt_process_timeouts): Removed.
14559 (x_process_timeouts): New function.
14560 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14561 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14562 (x_make_frame_visible): Call poll_for_input_1 instead of
14563 input_poll_signal. Don't call alarm.
14564 (x_initialize): Install timer calling x_process_timeouts.
14565
14566 2000-01-24 Dave Love <fx@gnu.org>
14567
14568 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
14569 Don't use -cckr -- apparently not now necessary.
14570
14571 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14572
14573 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14574 screen boundary.
14575
14576 2000-01-23 Jason Rumney <jasonr@gnu.org>
14577
14578 * w32fns.c (w32_defined_color): Apply gamma correction before
14579 trying to map to the palette.
14580 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14581 to w32_clear_rect.
14582
14583 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14584 here. Callers changed to always pass real device context.
14585 (w32_draw_bitmap): Likewise.
14586 (w32_get_glyph_overhangs): Likewise.
14587 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
14588 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14589 pfnSetScrollInfo and SetScrollRange.
14590 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14591 back into MULE characters after decoding them.
14592 (x_get_glyph_face_and_encoding): Likewise.
14593 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14594 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14595 (x_produce_glyphs): Calculate per char metrics for a character
14596 that we know exists in default font when font_not_found_p is true.
14597
14598 2000-01-22 Jason Rumney <jasonr@gnu.org>
14599
14600 * makefile.nt (intervals.obj, composite.obj): New modules.
14601 (composite.h): Added as dependency where appropriate.
14602
14603 * w32gui.h (XGCValue): New struct for emulating X GCs.
14604
14605 * w32term.h (XCharStruct): New struct for emulating X.
14606
14607 * w32console.c (turn_on_face, turn_off_face): New functions.
14608 (change_line_highlight): New prototype for new redisplay.
14609 (write_glyphs): Support multibyte text. Support faces.
14610
14611 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
14612
14613 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14614 throughout. struct frame * in place of FRAME_PTR.
14615 Skeleton support for images, toolbars, tooltips from xfns.c.
14616 (Fx_create_frame): Use system default for default scroll bar width.
14617 (w32_get_arg): Renamed from x_get_arg.
14618 (Fx_file_dialog): New function.
14619 (w32_list_fonts): Check cache before asking system.
14620 (Vw32_enable_synthesized_fonts): New variable.
14621 (Vw32_enable_italics): Obsolete, removed.
14622
14623 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14624 Use SELECTED_FRAME macro.
14625
14626 * w32menu.c: Add skeleton support for help strings on menus.
14627 (add_menu_item): Native checkbox and radio support added, but not
14628 yet enabled due to bugs.
14629 (push_menu_item): Add parameters type, selection and help.
14630 Callers updated.
14631 Formatting changes to reduce unnecessary diffs with xmenu.c.
14632
14633 * w32select.c (Fw32_set_clipboard_data): Update call to
14634 find_charset_in_str.
14635
14636 * w32term.c: Complete rewrite for new redisplay based on new
14637 xterm.c with necessary sections merged back in from old w32term.c.
14638
14639 2000-01-21 Richard M. Stallman <rms@gnu.org>
14640
14641 * data.c (set_internal): Further fix in same criterion.
14642
14643 2000-01-20 Richard M. Stallman <rms@gnu.org>
14644
14645 * data.c (set_internal): Fix the criteria for whether
14646 to swap out the old cached binding.
14647
14648 2000-01-19 Dave Love <fx@gnu.org>
14649
14650 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14651
14652 2000-01-18 Kenichi Handa <handa@etl.go.jp>
14653
14654 * regex.c (re_compile_fastmap): While checking a range table for
14655 `charset', skip flag bits for a character class correctly.
14656
14657 2000-01-17 Gerd Moellmann <gerd@gnu.org>
14658
14659 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14660
14661 * xfns.c (x_window): Call lw_create_widget with new parameter list.
14662
14663 * widget.c (EmacsFrameSetCharSize): Change size of children first
14664 because of problems with main window geometry management under Lesstif.
14665
14666 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14667 MENU_ITEMS_ITEM_.*.
14668 (MENU_ITEMS_ITEM_HELP): New enumerator.
14669 (push_menu_item): Add parameter HELP. Record help in menu_items.
14670 (single_menu_item, single_submenu, list_of_items): Call
14671 push_menu_item with new parameter.
14672 (single_submenu): Set help string in widget value.
14673 (menu_highlight_callback): New function.
14674 (set_frame_menubar): Call lw_create_widget with new
14675 parameter list.
14676 (xmenu_show, xdialog_show): Ditto.
14677
14678 2000-01-13 Gerd Moellmann <gerd@gnu.org>
14679
14680 * sound.c (Fplay_sound): Improve doc string.
14681
14682 2000-01-11 Richard M. Stallman <rms@gnu.org>
14683
14684 * lisp.h (set_internal): Enter the new arg.
14685
14686 * eval.c (specbind): Record buffer-local variables specially,
14687 indicating which buffer's binding was saved.
14688 (unbind_to): Restore buffer-local variables specially
14689 in the proper buffer.
14690
14691 * data.c (set_internal): New arg BUF.
14692
14693 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14694 * data.c (Fset): Pass new arg to set_internal.
14695 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
14696
14697 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14698
14699 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
14700
14701 2000-01-11 Richard M. Stallman <rms@gnu.org>
14702
14703 * minibuf.c (Ftry_completion): Doc fix.
14704
14705 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14706
14707 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14708 vector, too.
14709
14710 2000-01-11 Andreas Schwab <schwab@suse.de>
14711
14712 * coding.c (code_convert_region): Initialize total_skip.
14713
14714 2000-01-08 Dave Love <fx@gnu.org>
14715
14716 * eval.c (Fuser_variable_p): Check customizability too.
14717
14718 2000-01-07 Gerd Moellmann <gerd@gnu.org>
14719
14720 * minibuf.c (Fcompleting_read): Doc fix.
14721
14722 2000-01-05 Gerd Moellmann <gerd@gnu.org>
14723
14724 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14725 -L /usr/local/lib.
14726
14727 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14728 Check that input style is supported before trying to create an
14729 IC for it.
14730 (x_window): Call x_create_im.
14731
14732 2000-01-04 Gerd Moellmann <gerd@gnu.org>
14733
14734 * xfns.c (current_gif_memory_src): New variable.
14735 (gif_load): Record the address of the current memory source
14736 in current_gif_memory_src.
14737 (gif_read_from_memory): Use current_gif_memory_src.
14738
14739 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14740 macros statement form.
14741
14742 * sound.c (struct sound): Renamed from struct sound_file.
14743 (struct sound): Add members `data' and `header_size'.
14744 (enum sound_attr): Add SOUND_DATA.
14745 (current_sound, current_sound_device): Variables renamed from
14746 sound_file and sound_device.
14747 (parse_sound): Parse :data.
14748 (parse_sound): Handle sound data in strings.
14749 (find_sound_type): Function renamed from find_sound_file_type.
14750 (wav_init, au_init): Fail if sound's header_size is smaller than
14751 needed header size.
14752 (wav_play, au_play): Play sounds from string data.
14753
14754 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14755
14756 * lisp.h: Add prototype for allocate_string_data.
14757
14758 * alloc.c (Fgarbage_collect): Return number of live and free strings.
14759
14760 * alloc.c (mark_buffer): Remove code in #if 0.
14761 (gc_sweep): Ditto.
14762 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14763 (strings_consed): New variable.
14764 (allocate_string): Set it.
14765 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14766 (Fmemory_use_counts): Return strings_consed. Use Flist.
14767
14768 * alloc.c: General cleanup in comments etc. Remove conditional
14769 compilation for `standalone'.
14770
14771 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14772
14773 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14774 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14775 (DONT_COPY_FLAG): Removed.
14776 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14777 (struct sdata, struct sblock): New
14778 (struct string_block): Rewritten.
14779 (STRINGS_IN_STRING_BLOCK): New macro.
14780 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14781 (large_sblocks, string_blocks, string_free_list): New variables.
14782 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14783 (init_strings): Rewritten.
14784 (allocate_string, allocate_string_data, compact_small_strings)
14785 (free_large_strings, sweep_strings): New functions.
14786 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14787 (struct string_block_head, current_string_block)
14788 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14789 (STRING_PAD): Removed.
14790 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14791 (Fgarbage_collect): Don't set mark bit in large strings.
14792 (mark_object): Mark strings differently. Mark symbol names
14793 differently.
14794 (survives_gc_p): Test marked strings differently.
14795 (gc_sweep): Sweep strings differently, unmark strings in
14796 symbol names.
14797 (compact_strings): Removed.
14798
14799 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14800
14801 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14802 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14803
14804 2000-01-04 Kenichi Handa <handa@etl.go.jp>
14805
14806 * fileio.c (Finsert_file_contents): Signal error if visiting file
14807 in a non-empty buffer.
14808
14809 * term.c (encode_terminal_code): Fix the previous change.
14810
14811 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14812
14813 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14814 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14815
14816 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14817
14818 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14819
14820 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14821 need to test for MSDOS frames.
14822
14823 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14824
14825 * dosfns.c (unspecified_colors): Remove.
14826 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14827 unspecified_bg.
14828 (msdos_stdcolor_name): Return strings for unspecified fore- and
14829 back-ground colors.
14830
14831 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
14832 (syms_of_xfaces): Remove their staticpro's.
14833 (tty_color_name): Return Lisp strings for unspecified fore- and
14834 back-ground colors.
14835 (Finternal_set_lisp_face_attribute): Remove the special treatment
14836 for Qunspecified_{f,b}g.
14837 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
14838
14839 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14840
14841 * xdisp.c (reseat_at_next_visible_line_start): Position before
14842 newline only if ending up on a newline.
14843 (next_element_from_ellipsis): Return success. Handle case of
14844 displaying no ellipsis. Fix case of ellipsis defined in display table.
14845 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14846 returns 0.
14847
14848 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14849
14850 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14851 (Fcolor_supported_p): Renamed from face-color-supported-p.
14852
14853 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14854
14855 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14856 list of colors renamed to tty-defined-color-alist.
14857 (tty_color_name): Pass the frame to tty-color-by-index.
14858 (realize_tty_face): tty-color-alist is now a function which
14859 accepts the frame as argument.
14860
14861 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
14862
14863 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14864
14865 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14866 encode_terminal_code.
14867
14868 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14869
14870 * dispnew.c (mode_line_string): Support termcap frames as well.
14871
14872 2000-01-01 Gerd Moellmann <gerd@gnu.org>
14873
14874 * syntax.c (Fforward_word): Undo previous change.
14875
14876 * editfns.c (Fconstrain_to_field): Don't constrain if
14877 inhibit-field-text-motion is non-nil.
14878 (Fline_beginning_position): Undo previous change.
14879 (Fline_end_position): Ditto.
14880
14881 * syntax.c (Fforward_word): Notice field boundaries only if
14882 inhibit-field-text-motion is nil.
14883
14884 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14885
14886 * editfns.c (Vinhibit_field_text_motion): New variable.
14887 (inhibit-field-text-motion): New DEFVAR_LISP.
14888 (Fline_beginning_position, Fline_end_position): Notice field
14889 boundaries only if inhibit-field-text-motion is nil.
14890
14891 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14892 All calls adjusted.
14893 (x_build_heuristic_mask): Likewise.
14894 (xbm_load_image_from_file): Change error output.
14895 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14896 (gif_load, gs_load, x_kill_gs_process): Ditto.
14897
14898 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14899 color indices when accessing raster pixels.
14900 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14901 one of :file or :data.
14902 (enum pbm_keyword_index): Add PBM_DATA.
14903 (pbm_format): Add :data.
14904 (pbm_image_p): Allow either :file or :data.
14905 (pbm_read_file): New function.
14906 (pbm_scan_number): Rewritten to read from string.
14907 (pbm_load): Support :data.
14908
14909 See ChangeLog.8 for earlier changes.
14910
14911 ;; Local Variables:
14912 ;; coding: iso-2022-7bit
14913 ;; End:
14914
14915 Copyright (C) 2001 Free Software Foundation, Inc.
14916 Copying and distribution of this file, with or without modification,
14917 are permitted provided the copyright notice and this notice are preserved.