*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
1 2001-12-01 Gerd Moellmann <gerd@gnu.org>
2
3 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
4
5 2001-12-01 Jason Rumney <jasonr@gnu.org>
6
7 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
8
9 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
10 [!WM_MOUSELEAVE]: Define.
11
12 * w32menu.c (current_popup_menu, get_menu_item_info):
13 (set_menu_item_info): New vars.
14 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
15 (w32_menu_show): Set current_popup_menu.
16 (add_menu_item): Allocate new strings for owner-drawn menu items
17 and help strings.
18 Use owner-draw for disabled menu items again.
19 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
20 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
21
22 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
23 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
24 <WM_EXITMENULOOP>: Free menu strings.
25 <WM_MOUSELEAVE>: Stop tracking mouse.
26 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
27
28 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
29 and mouse face.
30
31 2001-12-01 Kim F. Storm <storm@cua.dk>
32
33 The following changes add left-fringe and right-fringe
34 frame parameters to adjust fringe widths, or remove one or
35 both fringes.
36
37 * frame.h (struct frame): Remove trunc_area_pixel_width and
38 trunc_area_cols fields.
39 (Qleft_fringe, Qright_fringe): Declare.
40 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
41
42 * frame.c (Qleft_fringe, Qright_fringe): New vars.
43 (syms_of_frame): Initialize them.
44
45 * window.c (coordinates_in_window): Handle separate left and right
46 fringe widths.
47
48 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
49 and fringe_cols fields.
50 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
51 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
52 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
53 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
54 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
55 (x_compute_fringe_widths): Add prototype.
56
57 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
58 fill fringe evenly with small dashes.
59 (x_draw_fringe_bitmap): Clear background if necessary. Align and
60 clip the new ZV bitmap to avoid jitter between rows.
61 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
62 background. Don't draw fringe bitmaps if fringe width is zero.
63 (x_compute_fringe_widths): New function.
64 (x_new_font, x_set_window_size_1): Use it.
65
66 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
67 (x_set_frame_parameters): Process Process `font' parameter before other
68 parameters as fringe widths depend on it.
69 (x_set_fringe_width): New function.
70 (x_figure_window_size): Use x_compute_fringe_widths.
71 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
72 parameters.
73
74 * widget.c (set_frame_size): Use x_compute_fringe_widths.
75 (EmacsFrameSetCharSize): Ditto.
76
77 * w32term.h: Merged changes from xterm.h.
78 * w32term.c: Merged changes from xterm.c.
79 * w32fns.c: Merged changes from xfns.c.
80
81 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
82
83 * COPYING: Removed.
84
85 2001-11-29 Dave Love <fx@gnu.org>
86
87 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
88 extra extra slot.
89 (detect_coding_mask): Fix call of detect_coding_iso2022.
90
91 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
92
93 * fileio.c (file-name-coding-system)
94 (default-file-name-coding-system): Doc fix (links to referenced
95 variables added).
96
97 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
98
99 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
100 Add dummy uses of gcproN variables.
101
102 * category.c (describe_category, describe_category_1)
103 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
104 (syms_of_category): Don't defsubr Sdescribe_categories.
105
106 2001-11-28 Richard M. Stallman <rms@gnu.org>
107
108 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
109
110 * Makefile.in (lispdir): New variable, referring to build dir.
111 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
112
113 2001-11-28 Andrew Innes <andrewi@gnu.org>
114
115 * w32menu.c (w32_menu_display_help): Actually add the new argument
116 OWNER.
117
118 2001-11-28 Jason Rumney <jasonr@gnu.org>
119
120 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
121 menu items. From David Ponce <dponce@wanadoo.fr>.
122 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
123 conditionally.
124 (w32_menu_display_help): New argument OWNER. Rewritten to store a
125 help event in the owner frame's keyboard buffer.
126
127 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
128 (Fx_show_tip): Don't subtract last width from row width.
129
130 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
131 (w32_read_socket): Use EQ to compare frames.
132
133 2001-11-28 Gerd Moellmann <gerd@gnu.org>
134
135 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
136 OVERLAPS_P.
137
138 2001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
139
140 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
141 `gcpro3' and `gcpro4'.
142
143 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
144
145 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
146
147 * ccl.c: Use AREF and ASIZE.
148
149 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
150
151 * lisp.h (run_hook_list_with_args): Remove.
152 (LIST_END_P): Fix call to wrong_type_argument.
153 (make_fixnum_or_float): Use EMACS_INT rather than int.
154
155 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
156
157 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
158 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
159
160 * eval.c: Use AREF and ASIZE.
161 (Ffetch_bytecode): Add the file name to the error message.
162
163 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
164 which match the end of the file-name.
165 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
166 is not a valid env var, but leave it as is instead.
167
168 * keymap.c (access_keymap): Handle t bindings like nil bindings.
169 Make nil bindings in char-tables transparent.
170 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
171
172 2001-11-26 Richard M. Stallman <rms@gnu.org>
173
174 * textprop.c (set_text_properties_1): Allow START, END in either order.
175 Do nothing if range is empty.
176
177 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
178
179 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
180 (clean): Not here.
181
182 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
183
184 * textprop.c (set_text_properties_1): Clearly mark that the
185 interval should not be empty.
186
187 * intervals.c (graft_intervals_into_buffer):
188 Don't call set_text_properties_1 on an empty interval.
189
190 2001-11-25 Richard M. Stallman <rms@gnu.org>
191
192 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
193
194 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
195 don't lose the data in it.
196
197 2001-11-25 Juanma Barranquero <lektu@terra.es>
198
199 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
200
201 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
202
203 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
204
205 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
206
207 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
208
209 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
210
211 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
212 Niemitalo <kon@iki.fi>.
213
214 2001-11-25 Jason Rumney <jasonr@gnu.org>
215
216 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
217
218 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
219 (Fx_show_tip): Block input during frame creation.
220 (Fx_show_tip, Fx_hide_tip): Enable.
221
222 2001-11-24 Richard M. Stallman <rms@gnu.org>
223
224 * lread.c (Fload): Detect recursive load error for more than 3
225 nestings of the same file.
226 (Vrecursive_load_depth_limit): Variable deleted.
227 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
228
229 2001-11-24 Jason Rumney <jasonr@gnu.org>
230
231 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
232 mouse position if either left or top is not specified.
233
234 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
235 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
236 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
237 (my_create_tip_window): Assign tip_window.
238 (x_create_tip_frame): Use same defaults as X.
239 (compute_tip_xy): Remove unused variable. Use full screen width.
240 (Fx_show_tip): Do not double height. Call ShowWindow directly.
241
242 * w32term.c (x_after_update_window_line): Doc fix.
243 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
244 frames.
245 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
246
247 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
248 for all Windowed systems.
249
250 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
251
252 * msdos.c (IT_clear_screen): If the frame's faces are not yet
253 realized, use the initial screen colors to clear the screen.
254
255 2001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
256
257 * textprop.c (Fset_text_properties): Remove unused variables
258 `unchanged', `prev_changed', `s' and `len'.
259
260 * search.c (Freplace_match): Remove unused variable `inslen'.
261
262 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
263
264 2001-11-22 Jason Rumney <jasonr@gnu.org>
265
266 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
267 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
268 (my_create_tip_window): New function.
269 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
270 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
271
272 2001-11-20 Jason Rumney <jasonr@gnu.org>
273
274 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
275 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
276
277 * w32fns.c (Vw32_system_coding_system): Remove.
278 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
279
280 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
281
282 * fileio.c (Fwrite_region): Move choose_write_coding_system to
283 after build_annotations.
284
285 * syntax.c (describe_syntax): Add dummy arg.
286 (describe_syntax_1): Update call to describe_vector.
287
288 * category.c (describe_category): Add dummy arg.
289 (describe_category_1): Update call to describe_vector.
290
291 * keymap.c (Fdescribe_vector): Add `describer' parameter.
292 (describe_command, describe_translation): Add dummy second param.
293 (describe_map): Call elt_describer with two arguments.
294 (describe_vector_princ): Add `fun' parameter.
295 Call it instead of the hardcoded `princ'.
296 (describe_vector): Add arg `args'.
297 Pass it as a new second argument to elt_describer.
298
299 * keymap.h (describe_vector): Update prototype.
300
301 * frame.c: Don't include keymap.h any more.
302 (keys_of_frame): Remove.
303
304 * lisp.h (keys_of_frame): Remove declaration.
305
306 * emacs.c (main): Don't call `keys_of_frame' any more.
307
308 2001-11-14 Andreas Schwab <schwab@suse.de>
309
310 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
311 if defined, 0 otherwise.
312 (MAP_FAILED): Define if not defined and use it to test mmap failure.
313 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
314
315 2001-11-19 Richard M. Stallman <rms@gnu.org>
316
317 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
318
319 2001-11-18 Jason Rumney <jasonr@gnu.org>
320
321 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
322 (x_draw_bar_cursor): If the background color of the glyph under
323 the cursor equals the frame's cursor color, use the glyph's
324 foreground color for drawing the bar cursor.
325 (x_after_update_window_line): Clear internal border in different
326 circumstances.
327 (w32_set_vertical_scroll_bar): Check for width and height > 0.
328 (w32_draw_relief_rect): Correct relief by 1 pixel.
329 (x_set_glyph_string_background_width):
330 Set extends_to_end_of_line_p if the row's fill_line_p is set and
331 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
332 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
333 if cursor_in_non_selected_windows is false.
334 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
335 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
336 Notice if cursor gets overwritten.
337 (notice_overwritten_cursor): Renamed from
338 note_overwritten_text_cursor. Rewritten to take glyph widths
339 into account, and to take X positions as parameters.
340 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
341 around call to x_draw_glyphs.
342 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
343 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
344 color to use for image glyph reliefs.
345 (x_draw_image_relief): Accept zero tool_bar_button_relief.
346 (glyph_rect): Remove unused variable `area'.
347
348 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
349 some items.
350 (x_set_internal_border_width): Set frame garbaged when window
351 doesn't exist yet.
352 (Fx_create_frame): Accept zero tool_bar_button_relief.
353 (x_clear_image_1, four_corners_best, image_background)
354 (image_background_transparent): New functions.
355 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
356 (gs_format): Add `:background' entry.
357 (lookup_image): Set IMG's background color if specified.
358 (pbm_load, xbm_load_image, png_load): Set IMG's background field
359 when appropriate.
360 (x_clear_image_1): Reset `background_valid' and
361 `background_transparent_valid' fields.
362 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
363 calculating it here. Set IMG's background_transparent field.
364 (enum xpm_keyword_index): Add XPM_BACKGROUND.
365 (enum png_keyword_index): Add PNG_BACKGROUND.
366 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
367 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
368 (enum gif_keyword_index): Add GIF_BACKGROUND.
369 (enum gs_keyword_index): Add GS_BACKGROUND.
370 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
371 Pre-calculate image background color where necessary.
372 (x_create_x_image_and_pixmap, xbm_load, gs_load):
373 Use display info's n_cbits entry for screen depth.
374 (Fx_show_tip): Remove unused variables `buffer', `top',
375 `left', `max_width' and `max_height'.
376
377 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
378
379 2001-11-18 Gerd Moellmann <gerd@gnu.org>
380
381 * puresize.h (BASE_PURESIZE): Increase to 750000.
382
383 2001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
384
385 * frame.c (Fframe_live_p): Doc fix.
386
387 2001-11-18 Richard M. Stallman <rms@gnu.org>
388
389 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
390 (message_dolog_marker3): New static variables hold three markers.
391 (syms_of_xdisp): Initialize and staticpro them.
392 (message_dolog): Use message_dolog_marker1..3 instead of
393 allocating markers each time. Unchain them when done.
394
395 2001-11-17 Richard M. Stallman <rms@gnu.org>
396
397 * doc.c (Fsnarf_documentation): Doc fix.
398
399 2001-11-17 Andreas Schwab <schwab@suse.de>
400
401 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
402
403 2001-11-17 Richard M. Stallman <rms@gnu.org>
404
405 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
406
407 2001-11-17 Jason Rumney <jasonr@gnu.org>
408
409 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
410
411 2001-11-17 Gerd Moellmann <gerd@gnu.org>
412
413 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
414 with invalid position.
415
416 2001-11-16 Richard M. Stallman <rms@gnu.org>
417
418 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
419
420 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
421 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
422 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
423
424 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
425
426 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
427
428 * fileio.c (build_annotations): Split off the tail.
429 (build_annotations_2): New fun. Extracted from build_annotations.
430 (Fwrite_region): Split the call to build_annotations into two
431 calls to build_annotations and build_annotations_2.
432
433 2001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
434
435 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
436 clear_waiting_for_input with argument.
437
438 * xterm.h (x_update_cursor): Remove duplicated prototype.
439
440 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
441
442 * xterm.c (waiting_for_input): Remove unnecessary declaration.
443
444 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
445
446 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
447
448 * fileio.c (choose_write_coding_system): New fun, extracted
449 from Fwrite_region.
450 (Fwrite_region): Use it.
451
452 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
453 (funcall_lambda, run_hook_with_args): Make static and add prototype.
454 (ml_apply, find_handler_clause): Add prototype.
455
456 2001-11-16 Eli Zaretskii <eliz@gnu.org>
457
458 * config.in: Add #undef HAVE_COFF_H.
459
460 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
461 Required for ISC 4.1.
462
463 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
464
465 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
466 Andrew Wiseman <a.wiseman@btclick.com>.
467
468 2001-11-16 Kim F. Storm <storm@cua.dk>
469
470 The following changes are made to clean up the various internal
471 references to the fringes to actually use the term `fringe' for
472 them. Previously, they were called `flags areas', `bitmap areas',
473 `left/right side of windows', or implicitly as `flags' or
474 `bitmaps':
475
476 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
477 Comments fixed. Use renamed symbols.
478
479 * dispnew.c: Comment fix. Use renamed symbols.
480
481 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
482 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
483 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
484
485 * msdos.c: Comment fix.
486
487 * w32fns.c: Use renamed symbols.
488
489 * w32term.c: Comment fixes. Use renamed symbols.
490 (fringe_bitmap_type): Renamed from bitmap_type.
491 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
492 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
493 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
494
495 * w32term.h: Comment fixes. Use renamed symbols.
496 (fringes_extra): Renamed from flags_areas_extra.
497 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
498 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
499 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
500 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
501 (FRAME_X_LEFT_FRINGE_WIDTH):
502 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
503 (FRAME_X_RIGHT_FRINGE_WIDTH):
504 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
505
506 * widget.c: Use renamed symbols.
507
508 * window.c: Comment fixes. Use renamed symbols.
509 (coordinates-in-window-p): Doc fix.
510
511 * xdisp.c: Comment fixes. Use renamed symbols.
512
513 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
514
515 * xfns.c: Use renamed symbols.
516
517 * xterm.c: Comment fixes. Use renamed symbols.
518 (fringe_bitmap_type): Renamed from bitmap_type.
519 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
520 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
521 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
522
523 * xterm.h: Comment fixes. Use renamed symbols.
524 (fringes_extra): Renamed from flags_areas_extra.
525 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
526 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
527 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
528 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
529 (FRAME_X_LEFT_FRINGE_WIDTH):
530 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
531 (FRAME_X_RIGHT_FRINGE_WIDTH):
532 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
533
534 2001-11-15 Jason Rumney <jasonr@gnu.org>
535
536 * w32menu.c (add-menu-item): Make help_echo and radio buttons
537 work for most menu items. From David Ponce
538 <david.ponce@wanadoo.fr>.
539
540 2001-11-15 Gerd Moellmann <gerd@gnu.org>
541
542 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
543 Some x_set_* function expect to be called even if old and new
544 value are equal.
545
546 * xdisp.c (build_desired_tool_bar_string): Accept zero
547 tool_bar_button_relief.
548
549 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
550
551 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
552
553 * xterm.c (x_draw_bar_cursor): If the background color of the
554 glyph under the cursor equals the frame's cursor color, use
555 the glyph's foreground color for drawing the bar cursor.
556
557 * dispnew.c (direct_output_forward_char): Fix character/byte
558 position comparison.
559
560 2001-11-15 Miles Bader <miles@gnu.org>
561
562 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
563 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
564 Update arguments to find_field.
565 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
566 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
567 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
568 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
569
570 2001-11-14 Richard M. Stallman <rms@gnu.org>
571
572 * editfns.c (Fpropertize): Allow call with 1 arg.
573
574 * dispextern.h (image_background, image_background_transparent):
575 Conditionalize on HAVE_X_WINDOWS.
576
577 2001-11-13 Richard M. Stallman <rms@gnu.org>
578
579 * print.c (Fprin1_to_string): Doc fix.
580
581 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
582
583 * floatfns.c (Fceiling, Ffloor): Doc fixes.
584
585 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
586
587 * fileio.c (Ffile_accessible_directory_p): Doc fix.
588
589 * eval.c (syms_of_eval): Doc fix.
590
591 * coding.c (syms_of_coding): Doc fix.
592
593 * doc.c (Fsnarf_documentation): Doc fix.
594
595 * dispnew.c (syms_of_display): Doc fix.
596
597 * category.c (Fget_unused_category): Doc fix.
598
599 * buffer.c (syms_of_buffer): Doc fixes.
600
601 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
602
603 * print.c (prin1, print): Doc fix.
604
605 2001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
606
607 * fontset.h: Remove declarations of variables
608 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
609
610 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
611 `Vclip_large_size_font'.
612
613 2001-11-13 Jason Rumney <jasonr@gnu.org>
614
615 * w32fns.c: Doc fix.
616
617 2001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
618
619 * xfaces.c (Fface_attributes_as_vector): Doc fix.
620
621 * w32fns.c (Fx_synchronize): Reindent.
622
623 * fns.c: Doc fix.
624
625 * emacs.c: Doc fix.
626
627 * coding.c: Doc fix.
628
629 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
630 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
631 `new style' [w/`doc:' keyword].
632
633 * xmenu.c (x-popup-menu): Reindent.
634 (x-popup-dialog): Likewise.
635
636 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
637
638 * xdisp.c (Fdump_tool_bar_row): Reindent.
639
640 * minibuf.c (Fminibuffer_complete_word): Reindent.
641 (Fminibuffer_complete_and_exit): Likewise.
642 (Fminibuffer_completion_help): Likewise.
643 (Fminibuffer_message): Likewise.
644
645 * fns.c (Freverse): Reindent.
646
647 * eval.c (Fif): Reindent.
648 (Fand): Likewise.
649
650 * editfns.c (Fuser_real_login_name): Reindent.
651 (Finsert_buffer_substring): Likewise.
652 (Fcompare_buffer_substrings): Likewise.
653 (Fsubst_char_in_region): Likewise.
654
655 * dispnew.c (Fsit_for): Reindent.
656 (Fframe_or_buffer_changed_p): Likewise.
657 (Finternal_show_cursor_p): Likewise.
658 (syms_of_display): Likewise.
659
660 * alloc.c (Flist): Reindent.
661 (Fvector): Likewise.
662
663 2001-11-12 Richard M. Stallman <rms@gnu.org>
664
665 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
666 LeaveNotify events. Only FocusIn and FocusOut do that now.
667 (x_display_and_set_cursor): Do display hollow cursors in active
668 minibuffer windows when they are not selected.
669
670 2001-11-12 Jason Rumney <jasonr@gnu.org>
671
672 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
673 * w32term.c: Change doc-string comments to `new style'.
674 [w/`doc:' keyword]. Doc fixes.
675
676 * w32fns.c: Don't define max.
677 (Fx_open_connection): Only execute once.
678
679 2001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
680
681 * ccl.c: Change macros to use do-while block instead of if-else.
682 Use braces to follow GNU Coding Standards.
683
684 2001-11-11 Richard M. Stallman <rms@gnu.org>
685
686 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
687
688 * lread.c (read_escape): Use end_of_file_error for reporting eof.
689
690 * insdel.c (replace_range): Use adjust_markers_for_replace
691 instead of adjust_markers_for_delete and adjust_markers_for_insert.
692
693 * intervals.h: Declare set_text_properties and set_text_properties_1.
694
695 * textprop.c (set_text_properties_1): New subroutine
696 broken out of set_text_properties.
697 (set_text_properties): Use set_text_properties_1.
698
699 * intervals.c (graft_intervals_into_buffer):
700 Use set_text_properties_1 to clear out properties.
701
702 * search.c (Freplace_match): Use replace_range to insert
703 and delete. Don't request property inheritance from
704 surrounding text.
705
706 2001-11-10 Jason Rumney <jasonr@gnu.org>
707
708 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
709 vertical fonts. Allow them if face name is explicitly specified.
710 Do not give up if we find a font that cannot be converted to an xlfd.
711
712 2001-11-10 Gerd Moellmann <gerd@gnu.org>
713
714 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
715 instead of malloc/free.
716
717 2001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
718
719 * xfaces.c (merge_face_vectors): Use braces to follow GNU
720 Coding Standards.
721 (Finternal_set_lisp_face_attribute): Likewise.
722
723 * buffer.c (Fbury_buffer): Likewise.
724
725 * indent.c (current_column_1): Remove unused variable `prev_col'.
726
727 * coding.c (encode_coding): Use precomputed value of `src'.
728 (encode_coding): Remove unused variable `src_end'.
729 (code_convert_region): Remove unused variables `count'.
730
731 2001-11-07 Jason Rumney <jasonr@gnu.org>
732
733 * w32term.c (x_display_and_set_cursor): Do not move system caret
734 if cursor_glyph is NULL.
735
736 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
737
738 * keymap.c (access_keymap): Fix compilation error.
739
740 2001-11-07 Miles Bader <miles@gnu.org>
741
742 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
743
744 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
745
746 * intervals.c (graft_intervals_into_buffer):
747 Remove #ifdef'd-out code.
748 (graft_intervals_into_buffer): Remove unused variable `middle'.
749
750 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
751 code (eval-current-buffer).
752 Change doc-string comments to `new style' [w/`doc:' keyword].
753
754 2001-11-06 Richard M. Stallman <rms@gnu.org>
755
756 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
757
758 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
759
760 * lread.c (read1): Fix behavior with nested backquoting.
761
762 * keyboard.c (make_lispy_event): Check integerness and fix
763 Lisp_Object/int mixup.
764
765 2001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
766
767 * fns.c (copy_hash_table): Remove unused variable `v'.
768
769 * fontset.c (fontset_font_pattern): Remove unused variable
770 `family_registry'.
771
772 * indent.c (current_column_1): Remove unused variable `prev_col'.
773
774 2001-11-05 Richard M. Stallman <rms@gnu.org>
775
776 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
777
778 * buffer.c (Fkill_buffer): Don't delete auto save file
779 if buffer is modified.
780
781 2001-11-05 Andrew Innes <andrewi@gnu.org>
782
783 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
784 CHECK_NUMBER_CDR.
785
786 2001-11-05 Richard M. Stallman <rms@gnu.org>
787
788 * unexelf.c (unexec): Minor changes; clean up comments.
789
790 2001-11-05 Sam Steingold <sds@gnu.org>
791
792 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
793
794 2001-11-05 Andreas Schwab <schwab@suse.de>
795
796 * sound.c (sound_perror): Save errno from being clobbered.
797
798 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
799
800 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
801 the program image directly.
802
803 2001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
804
805 * buffer.h (Fbuffer_local_value): Add prototype.
806
807 2001-11-04 Richard M. Stallman <rms@gnu.org>
808
809 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
810 and CHECK_BUFFER.
811
812 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
813 (record_char): Likewise.
814
815 * keyboard.c (make_lispy_event): Don't insist a drag event must
816 move to a different buffer position. Instead, check for moving at
817 least double_click_fuzz.
818
819 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
820
821 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
822
823 * indent.c (current_column_1, Fmove_to_column): Separate the code
824 for display-table glyphs from the code buffer text, to fix
825 bugs in the former.
826
827 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
828
829 * buffer.c (Fbuffer_local_value): New function.
830 (syms_of_buffer): Defsubr it.
831
832 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
833 value of `cursor-in-non-selected-windows'.
834
835 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
836 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
837 (syms_of_xdisp): Initialize it.
838
839 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
840
841 * xfns.c (Fx_create_frame): Doc fix.
842
843 * coding.c: Change doc-string comments to `new style' [w/`doc:'
844 keyword].
845
846 * eval.c (top_level_value, top_level_set): Remove commented and
847 #ifdef'd-out code.
848 (Fdefvar): Fix usage in doc-string.
849
850 2001-11-03 Richard M. Stallman <rms@gnu.org>
851
852 * xfns.c: Include unistd.h, if it exists.
853
854 * editfns.c: Move the include of ctype.h after unistd.h.
855
856 * gmalloc.c: Test BROKEN_PROTOTYPES.
857
858 2001-11-03 Ken Raeburn <raeburn@gnu.org>
859
860 * lisp.h (CHECK_STRING_CAR): New macro.
861 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
862 treating XCAR and XCDR as lvalues.
863 (openp): Use CHECK_STRING_CAR.
864 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
865
866 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
867
868 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
869 (SIGMASKTYPE): Define.
870
871 * syssignal.h (sigunblock): Don't define if already defined.
872
873 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
874
875 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
876 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
877 Fix typos in comments.
878
879 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
880 and #ifdef'd-out code.
881 Fix and reindent comments.
882
883 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
884
885 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
886 argument `i' in macros.
887
888 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
889 `i' in macros.
890
891 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
892 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
893 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
894 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
895 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
896 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
897 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
898 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
899 in macros.
900
901 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
902 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
903 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
904 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
905 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
906 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
907 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
908 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
909 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
910 (remove unused second argument).
911
912 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
913
914 * syntax.c (describe_syntax): New wrapper.
915 (Finternal_describe_syntax_value): Rename from describe_syntax.
916 Don't insert space at front and \n at the end.
917 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
918
919 * regex.c (re_wctype): Try to fix some warnings.
920 (regcomp, regexec): Don't forget the __restrict.
921
922 2001-11-02 Richard M. Stallman <rms@gnu.org>
923
924 * textprop.c (Fget_char_property): Doc fix.
925
926 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
927
928 * process.c (Fstart_process): Add usage to doc-string.
929
930 * data.c (Fsetq_default): Ditto.
931
932 * callint.c (Finteractive): Ditto.
933
934 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
935
936 * macros.c: Don't include keymap.h any more.
937
938 2001-11-01 Richard M. Stallman <rms@gnu.org>
939
940 * data.c (Fmake_local_variable): Doc fix.
941
942 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
943 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
944
945 * keymap.c (Fdescribe_buffer_bindings): Print character property
946 bindings along with or instead of the buffer local map.
947 Make the overriding maps override what they should.
948
949 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
950
951 * window.c (grow_mini_window): Fix typo in comment.
952
953 2001-11-01 Gerd Moellmann <gerd@gnu.org>
954
955 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
956 (XTset_vertical_scroll_bar): Likewise.
957
958 * xfns.c (x_build_heuristic_mask): Use four_corners_best
959 instead of IMAGE_BACKGROUND.
960
961 * xfns.c (four_corners_best): Reindent.
962
963 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
964 Handle :box so that it is possible to specify sexprs.
965
966 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
967
968 * xfaces.c (Finternal_merge_in_global_face): Reindent.
969 (Fface_font): Ditto.
970 (Finternal_set_alternative_font_registry_alist): Ditto.
971 (Ftty_suppress_bold_inverse_default_colors): Ditto.
972
973 * xfns.c (x-get-resource): Reindent.
974
975 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
976
977 * s/hpux11.h: New file.
978
979 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
980
981 * emacs.c (USAGE1): Show command line option --no-window-system
982 instead of --no-windows in usage.
983 (standard_args): Rename --no-windows to --no-window-system.
984 (bug_reporting_address): Follow Emacs coding conventions.
985
986 * eval.c (Fcommandp): Doc fix.
987 Change doc-string comments to `new style' [w/`doc:' keyword].
988
989 * frame.c (Fframe_live_p): Doc fix.
990
991 * buffer.c (selective-display-ellipses): Doc fix.
992
993 2001-10-31 Gerd Moellmann <gerd@gnu.org>
994
995 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
996
997 * xfaces.c (realize_x_face): If C is not a single-byte character,
998 set the face's colors_copied_bitwise_p instead of the defaulted_p
999 members which have a different meaning.
1000 (free_face_colors): Do nothing for a face whose colors have been
1001 copied bitwise.
1002
1003 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
1004
1005 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1006
1007 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1008 [w/`doc:' keyword].
1009
1010 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1011
1012 * fns.c (require_unwind): Return Lisp_Object.
1013
1014 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1015
1016 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1017 (last-input-char): Revert doc-string to be the same as the
1018 doc-string of `last-input-event'.
1019
1020 * xdisp.c: Fix typos in comments.
1021
1022 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1023
1024 * window.c (grow_mini_window): Handle case that the root
1025 window is already smaller than the nominal mininum height.
1026
1027 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1028
1029 * emacs.c (main): Don't call keys_of_macros any more.
1030
1031 * lisp.h (keys_of_macros): Remove.
1032
1033 * macros.c (keys_of_macros): Remove.
1034
1035 * xfaces.c (Fface_attribute_relative_p): Declare args.
1036
1037 2001-10-30 Jason Rumney <jasonr@gnu.org>
1038
1039 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1040 (enum_font_cb2): Ignore fonts with vertical orientation.
1041
1042 2001-10-30 Richard M. Stallman <rms@gnu.org>
1043
1044 * keyboard.c (Finput_pending_p): Doc fix.
1045
1046 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1047
1048 * xterm.c (x_after_update_window_line): Don't run the code
1049 clearing in borders for rows whose visible height is 0.
1050
1051 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1052 resized_p flag is set. If not set, use the much less flickering
1053 method previously used.
1054
1055 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1056
1057 * frame.h (struct frame) <resized_p>: New member.
1058
1059 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1060 as large as the number of bytes to convert.
1061
1062 * lread.c (to_multibyte): New function.
1063 (read1): Use it.
1064
1065 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1066
1067 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1068
1069 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1070
1071 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
1072 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1073 if the row's fill_line_p is set and drawing the last glyph with
1074 DRAW_IMAGE_{RAISED,SUNKEN}.
1075
1076 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1077
1078 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1079
1080 * xmenu.c: Include coding.h and charset.h.
1081 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1082 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1083 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1084 Explicitly set wv->help. Use `TRUE' rather than `True'.
1085 (menu_help_callback): Use empty_string.
1086
1087 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1088 (Fx_popup_dialog): Explicitly init f.
1089 (w32_menu_display_help): Use empty_string.
1090
1091 2001-10-29 Richard M. Stallman <rms@gnu.org>
1092
1093 * fns.c (Frequire): Detect recursive try to require the same
1094 feature 3 or more levels deep, and get error.
1095 (require_unwind): New subroutine.
1096 (require_nesting_list): New variable.
1097 (syms_of_fns): Init and staticpro it.
1098
1099 * print.c (print_object): Clarify indication of insertion type.
1100
1101 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1102
1103 * coding.c (syms_of_coding): Document that locale-coding-system is
1104 used for decoding input on X.
1105
1106 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1107
1108 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1109
1110 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1111 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1112
1113 2001-10-29 Gerd Moellmann <gerd@gnu.org>
1114
1115 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1116 use NO_CURSOR if cursor_in_non_selected_windows is false.
1117
1118 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1119 the slant attribute if FRAME is t.
1120
1121 * xfns.c (x_set_internal_border_width): Set frame garbaged
1122 when X window doesn't exist yet.
1123
1124 * xterm.c (x_after_update_window_line): Clear internal border
1125 in different circumstances.
1126
1127 * xterm.c (XTread_socket) <KeyPress>: Don't use
1128 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1129 <handa@etl.go.jp>.
1130
1131 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1132
1133 * m/ibms390.h: New file. From Adam Thornton
1134 <athornton@sinenomine.net>.
1135
1136 2001-10-28 Gerd Moellmann <gerd@gnu.org>
1137
1138 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
1139
1140 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1141 a loop counter.
1142
1143 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1144
1145 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1146
1147 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1148 keyword].
1149 Fix typos in comments.
1150
1151 * emacs.c (bug_reporting_address): New function.
1152 Use it when displaying usage message.
1153
1154 * minibuf.c (read_minibuf): Remove unused external declaration of
1155 variable `Qread_only'.
1156
1157 * keymap.c (access_keymap): Remove unused variable `charset'.
1158
1159 2001-10-28 Miles Bader <miles@gnu.org>
1160
1161 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1162 Remove #ifdef'd-out code.
1163 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1164 (syms_of_xfaces): Initialize them.
1165
1166 2001-10-27 Jason Rumney <jasonr@gnu.org>
1167
1168 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1169 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1170 position using the system caret.
1171
1172 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1173 (w32_system_caret_height, w32_system_caret_x)
1174 (w32_system_caret_y): New variables for tracking system caret.
1175 (w32_initialize): Initialize them.
1176 (x_display_and_set_cursor): Make system caret follow the active cursor.
1177
1178 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1179 New messages types.
1180
1181 * w32term.c (note_mouse_highlight): Clear old help_echo.
1182
1183 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1184
1185 * xterm.c: Fix typo in a comment.
1186
1187 * emacs.c: Fix typos in comments.
1188 Remove unnecessary spaces.
1189 Change doc-string comments to `new style' [w/`doc:' keyword].
1190 (USAGE2): Fix typos in usage string.
1191
1192 * xterm.c: Fix typo in a comment.
1193
1194 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1195 emacs.c.
1196
1197 2001-10-27 Gerd Moellmann <gerd@gnu.org>
1198
1199 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
1200 instead of 1/2 line_height in the heuristic for skipping
1201 farther backward when target_y was not reached.
1202
1203 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1204 Display errno only if non-zero.
1205 (sound_warning): New function.
1206 (vox_configure): Don't treat failing to set sample rate as error.
1207 (various places): Improve error messages.
1208
1209 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1210
1211 * fileio.c (Faccess_file): Run the argument filename through
1212 Fexpand_file_name, before using it.
1213
1214 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1215 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1216
1217 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1218
1219 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1220
1221 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1222 Fix clearing in the case of scroll bars on the right.
1223
1224 2001-10-26 Juanma Barranquero <lektu@terra.es>
1225
1226 * w32gui.h (XImage): Add a dummy typedef.
1227
1228 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1229
1230 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
1231
1232 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1233
1234 * frame.c (Fframe_parameter): Fix last change.
1235
1236 * fileio.c: Revert last change (which removed old commented-out
1237 version of expand-file-name). Add a comment that explains why
1238 this old version should not be removed.
1239
1240 2001-10-25 Gerd Moellmann <gerd@gnu.org>
1241
1242 * frame.c (Fframe_parameter): Fix a bug whereby some
1243 ``artificial'' frame parameters, like `minibuffer' were not
1244 obtained by calling Fframe_parameters.
1245
1246 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1247 cursor differently.
1248
1249 * xdisp.c (move_it_vertically_backward): Compute line height
1250 differently. Add heuristic to try to be more compatible to 20.x.
1251
1252 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1253
1254 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1255
1256 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1257 boolean.
1258
1259 2001-10-25 Miles Bader <miles@gnu.org>
1260
1261 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1262 BG is a pointer to a structure, not a structure.
1263 (gif_format, png_format): Add missing commas.
1264
1265 2001-10-24 Richard M. Stallman <rms@gnu.org>
1266
1267 * xfaces.c (Fface_attributes_as_vector): New function.
1268 (syms_of_xfaces): Defsubr it.
1269
1270 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1271
1272 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1273 variable `area'.
1274
1275 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1276
1277 * search.c (scan_newline): Remove unused variable `selective_display'.
1278
1279 2001-10-25 Miles Bader <miles@gnu.org>
1280
1281 * dispextern.h (struct image): Add `background',
1282 `background_valid', and `background_transparent' fields.
1283 (image_background, image_background_transparent): New declarations.
1284 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1285 * xfns.c (image_background, image_background_transparent)
1286 (four_corners_best): New functions.
1287 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1288 (gs_format): Add `:background' entry.
1289 (lookup_image): Set IMG's background color if specified.
1290 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1291 when appropriate.
1292 (x_clear_image_1): Reset `background_valid' and
1293 `background_transparent_valid' fields.
1294 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1295 calculating it here. Set IMG's background_transparent field.
1296 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1297 (enum png_keyword_index): Add PNG_BACKGROUND.
1298 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1299 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1300 (enum gif_keyword_index): Add GIF_BACKGROUND.
1301 (enum gs_keyword_index): Add GS_BACKGROUND.
1302 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1303 Pre-calculate image background color where necessary.
1304 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1305 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1306 color to use for image glyph reliefs.
1307
1308 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1309
1310 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1311 in full-width rows.
1312
1313 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1314 Fix clearing of area not covered by scroll bar.
1315
1316 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1317
1318 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1319 and `real_start'.
1320 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
1321 (glyph_rect): Remove unused variable `area'.
1322
1323 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1324
1325 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
1326
1327 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1328 (row_containing_pos): Take additional argument DY.
1329 Treat rows ending in middle of char differently.
1330 (display_line): Handle tabs on window systems differently.
1331
1332 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1333 with additional argument.
1334
1335 * dispextern.h (row_containing_pos): Adjust prototype.
1336
1337 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1338 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1339 (try_window_id, try_window_reusing_current_matrix)
1340 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1341 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1342
1343 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1344
1345 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1346 gnuemacs).
1347 (HAVE_BOXES): Fix typo in comment.
1348 (push_menu_pane): Fix typo in comment.
1349
1350 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1351 of `Qwhen'.
1352 (single_display_prop_string_p): Remove unused local declarations
1353 of `Qwhen' and `Qmargin'.
1354 (string_buffer_position): Remove unused variable `around'.
1355 (store_frame_title): Remove unused variable `width'.
1356
1357 * window.c: Don't define max.
1358 (coordinates_in_window): Remove unused variable `uy'.
1359
1360 * widget.c: Don't define max.
1361
1362 * process.c: Don't define max.
1363 (create_process): Remove unused variable `buffer'.
1364
1365 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1366
1367 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
1368
1369 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1370
1371 * xfaces.c (Finternal_set_lisp_face_attribute)
1372 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1373 frame is on a windowed display.
1374
1375 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1376
1377 * dispnew.c (sync_window_with_frame_matrix_rows):
1378 Fix handling of windows which aren't full-width, fix handling
1379 of marginal areas.
1380
1381 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
1382
1383 2001-10-23 Andreas Schwab <schwab@suse.de>
1384
1385 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1386 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1387
1388 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1389
1390 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
1391 REAL_END. Notice if cursor gets overwritten.
1392 (notice_overwritten_cursor): Take X positions as parameters.
1393 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1394 around call to x_draw_glyphs.
1395
1396 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1397
1398 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1399 instead of C) and usage.
1400
1401 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1402 of C) and usage.
1403
1404 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1405 `left', `max_width' and `max_height'.
1406
1407 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1408
1409 * xdisp.c (display_line): For a tab continued to the next line,
1410 set row's ends_in_middle_of_char_p.
1411
1412 2001-10-22 Gerd Moellmann <gerd@gnu.org>
1413
1414 * xdisp.c (display_line): Fix computation of continuation lines
1415 width for TABs.
1416
1417 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1418
1419 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1420 `Qlaplace'.
1421
1422 * fileio.c: Remove unused code.
1423
1424 2001-10-22 Miles Bader <miles@gnu.org>
1425
1426 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1427 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1428 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1429
1430 2001-10-21 Jason Rumney <jasonr@gnu.org>
1431
1432 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1433
1434 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1435
1436 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1437 (Finsert_string): Avoid the multi-line string literals warning.
1438
1439 2001-10-22 Miles Bader <miles@gnu.org>
1440
1441 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1442 (Fdocumentation): Don't use it.
1443 (syms_of_doc): Don't initialize it.
1444
1445 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1446 * print.c (Fwith_output_to_temp_buffer): Likewise.
1447 * window.c (Fsave_window_excursion): Likewise.
1448 * editfns.c (Fsave_excursion, Fsave_current_buffer)
1449 (Fsave_restriction): Likewise.
1450 * eval.c (Frun_hooks, Frun_hook_with_args)
1451 (Frun_hook_with_args_until_failure)
1452 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1453 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1454 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
1455 (Funwind_protect, Fcondition_case): Likewise.
1456 * coding.c (Ffind_operation_coding_system): Likewise.
1457 * keyboard.c (Ftrack_mouse): Likewise.
1458
1459 2001-10-21 Miles Bader <miles@gnu.org>
1460
1461 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
1462 (Fmake_hash_table): Add usage: string to doc string.
1463 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
1464 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
1465 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1466 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1467 (Fml_prefix_argument_loop): Likewise.
1468
1469 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1470
1471 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
1472
1473 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1474 style' [w/`doc:' keyword].
1475
1476 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1477 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1478 comments to `new style' [w/`doc:' keyword].
1479
1480 2001-10-21 Jason Rumney <jasonr@gnu.org>
1481
1482 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1483
1484 * w32term.c (remember_mouse_glyph): New function.
1485 (w32_mouse_position): Use it.
1486 (note_mouse_movement): If the mouse moved off the glyph, remember
1487 its new position.
1488
1489 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1490 (w32_display_info): Add mouse_face_overlay.
1491
1492 * w32term.c (notice_overwritten_cursor): Renamed from
1493 note_overwritten_text_cursor. Rewritten to take glyph widths into
1494 account.
1495 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1496 (fast_find_string_pos): New function.
1497 (fast_find_position): Return the correct vpos. Add parameter
1498 STOP. In the final row, stop before glyphs having STOP as object.
1499 Don't consider glyphs that are not from a buffer.
1500 (fast_find_position) [0]: Add a presumably more correct version
1501 for after 21.1.
1502 (expose_window_tree, expose_frame): Don't compute intersections here.
1503 (expose_window): Do it here instead.
1504 (expose_window_tree, expose_window, expose_line): Return 1 when
1505 overwriting mouse-face.
1506 (expose_window): If W is the window currently being updated, mark
1507 the frame garbaged.
1508 (expose_frame): If mouse-face was overwritten, redo it.
1509 (x_use_underline_position_properties): New variable.
1510 (syms_of_xterm): DEFVAR_BOOL it.
1511 (x_draw_glyph_string): Add comment to use it in future.
1512 (x_draw_glyph_string): Restore clipping after drawing box.
1513 Fix a computation of the underline position.
1514 (w32_get_glyph_string_clip_rect): Minor cleanup.
1515 (x_fill_stretch_glyph_string): Remove an assertion.
1516 (x_produce_glyphs): Don't convert multibyte characters
1517 to unibyte characters in unibyte buffers.
1518 (cursor_in_mouse_face_p): New function.
1519 (x_draw_stretch_glyph_string): Use it to choose a different GC
1520 when drawing a cursor within highlighted text. Don't draw
1521 background again if it has already been drawn.
1522 (x_draw_glyph_string_box): Don't draw a full-width
1523 box just because the glyph row's full_width_p flag is set.
1524 (x_draw_glyphs): Fix computation of rightmost x for
1525 full-width rows.
1526 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1527 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1528 change bottom shadow accordingly. Some cleanup.
1529 (x_update_window_end): Handle overwritten mouse face
1530 also for tool bar windows.
1531 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1532 DRAW is DRAW_IMAGE_RAISED.
1533 (clear_mouse_face): Return 1 if text with mouse face was
1534 actually redrawn. Make the function static. Reset
1535 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1536 optimize away highlighting if we pass over that same overlay again.
1537 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1538 to detect a case where we have to highlight a different region
1539 despite not having left the currently highlighted region.
1540 Set mouse_face_overlay in the x_display_info. Avoid changing the
1541 mouse pointer shape when show_mouse_face has already done it, or
1542 there is no need. Handle mouse-face and help-echo in strings.
1543 (glyph_rect): New function.
1544 (w32_mouse_position): Use it to raise the threshold for mouse
1545 movement event generation.
1546 (w32_initialize_display_info): Initialize the x_display_info's
1547 mouse_face_overlay.
1548 (w32_set_vertical_scroll_bar): Don't clear a zero height
1549 or width area.
1550 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1551 a widget to zero height.
1552
1553 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
1554 Protect unibyte strings created by replacing their multibyte
1555 equivalents in menu_items.
1556 (w32_menu_show): Don't overwrite an item's name with its key
1557 description in case the description is a multibyte string.
1558 (single_submenu): Some cleanup.
1559
1560 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1561 (postprocess_image): New function.
1562 (lookup_image): Call it for all image types except PostScript.
1563 (x_kill_gs_process): Call postprocess_image.
1564 (tiff_error_handler, tiff_warning_handler): New functions.
1565 (tiff_load): Install them as handlers.
1566 (x_kill_gs_process): Recognize if someone has cleared the image
1567 cache under us.
1568 (valid_image_p): Protect better against invalid image
1569 specifications. Previous code could signal an error.
1570 (Fx_hide_tip, Fshow_tip): Doc fix.
1571 (Fv_max_tooltip_size): New variable.
1572 (syns_of_xfns): DEFVAR_LISP it.
1573 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1574 window buffer to *tip* right after creating the frame. Set frame's
1575 window_width. Use a maximum tooltip size specified by
1576 Vx_max_tooltip_size, if that has valid contents.
1577 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1578 Make sure the tooltip is completely visible.
1579 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1580 (Fx_create_frame): Adjust the frame's height for presence
1581 of the tool bar before calling x_figure_window_size.
1582 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1583 when the window gets smaller.
1584 (x_set_foreground_color): Set frame's cursor_pixel.
1585 (x_set_foreground_color, x_set_background_color): Cleaned up.
1586 (x_set_font): Handle case of x_new_fontset returning the same name
1587 as before, although there was a change in fontsets.
1588
1589 2001-10-21 Miles Bader <miles@gnu.org>
1590
1591 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
1592 (Flogxor): Add usage: string to doc string.
1593 * charset.c (Fstring): Likewise.
1594 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1595 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1596
1597 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1598
1599 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1600
1601 * alloc.c: Reindent DEFUNs with doc: keywords.
1602
1603 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1604
1605 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1606 keyword].
1607
1608 2001-10-20 Gerd Moellmann <gerd@gnu.org>
1609
1610 * (Version 21.1 released.)
1611
1612 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1613
1614 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
1615
1616 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1617 0 because unused.
1618
1619 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
1620 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1621 Change doc-string comments to `new style' [w/`doc:' keyword].
1622
1623 2001-10-20 Miles Bader <miles@gnu.org>
1624
1625 The following changes remove the glyph_row `inverse_p' field,
1626 which is never set anymore, due to other changes:
1627
1628 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1629 (reassert_line_highlight, change_line_highlight): Declarations removed.
1630 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
1631 (line_hash_code, row_equal_p, fake_current_matrices)
1632 (build_frame_matrix_from_leaf_window, update_frame_line)
1633 (update_frame_line, update_frame_line, update_frame_line):
1634 Don't use `inverse_p' field.
1635 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1636 change_line_highlight_hook.
1637 (XTreassert_line_highlight, x_change_line_highlight):
1638 Functions removed.
1639 (x_fix_overlapping_area, x_write_glyphs, expose_area)
1640 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1641 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1642 `inverse_p' field.
1643 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
1644 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1645 (w32_reassert_line_highlight, x_change_line_highlight):
1646 Functions removed.
1647 * w32console.c (reassert_line_highlight, change_line_highlight):
1648 Functions removed.
1649 (initialize_w32_display): Don't set reassert_line_highlight_hook
1650 or change_line_highlight_hook.
1651 (hl_mode): Function removed.
1652 (reset_terminal_modes, set_terminal_modes, update_begin)
1653 (update_end, w32_face_attributes, initialize_w32_display):
1654 (clear_frame, ins_del_lines): Don't call it.
1655 * termhooks.h (reassert_line_highlight_hook)
1656 (change_line_highlight_hook): Declarations removed.
1657 * term.c (reassert_line_highlight_hook)
1658 (change_line_highlight_hook): Variables removed.
1659 (reassert_line_highlight, change_line_highlight): Functions removed.
1660 * msdos.c (IT_reassert_line_highlight)
1661 (IT_change_line_highlight): Functions removed.
1662 (internal_terminal_init): Don't set reassert_line_highlight_hook
1663 or change_line_highlight_hook.
1664 (highlight): Variable removed.
1665 (IT_set_face, IT_update_begin, IT_update_end)
1666 (IT_set_terminal_modes): Don't set or use it.
1667
1668 The following changes remove inverse-video support for terminals
1669 that use a `magic cookie' standout mode. Due to changes in the
1670 way mode-lines are displayed, such support no longer works
1671 anyway, and it's probable that almost no one uses such terminals
1672 anymore:
1673
1674 * term.c (standout_requested): Variable removed.
1675 (update_end, highlight_if_desired): Don't use it.
1676 (chars_wasted, copybuf): Variables removed.
1677 (write_standout_marker): Function removed.
1678 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
1679 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1680 Don't use `chars_wasted' or `copybuf'.
1681 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1682 Set `costs_set' to true.
1683 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1684 `chars_wasted'.
1685 (clear_end_of_line): Function removed.
1686 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1687 (clear_to_end): Call `clear_end_of_line' instead of
1688 `clear_end_of_line_raw'.
1689 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1690 (term_init): Don't set them.
1691 Turn off any standout/underline modes that require magic cookies.
1692 (ins_del_lines, highlight_if_desired, background_highlight)
1693 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1694 Remove special processing for magic-cookie standout modes.
1695 (turn_off_face, turn_on_face): Remove special processing for
1696 underline magic-cookie glitch.
1697
1698 2001-10-19 Richard M. Stallman <rms@gnu.org>
1699
1700 * eval.c (syms_of_eval): Doc fixes.
1701
1702 2001-10-19 Gerd Moellmann <gerd@gnu.org>
1703
1704 * xdisp.c (redisplay_internal): Don't clear echo area if the
1705 mini-window is selected.
1706
1707 2001-10-19 Miles Bader <miles@gnu.org>
1708
1709 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1710 doesn't take precedence if the affected property's value is nil.
1711
1712 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1713
1714 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1715 with fields and suggest using `forward-line' to avoid them.
1716 * editfns.c (Fline_beginning_position, Fline_end_position):
1717 Clarify documentation.
1718
1719 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1720
1721 * keymap.c (current_minor_maps): `override' only shadows its
1722 correspondent in minor-mode-map-alist, not the whole tail.
1723
1724 2001-10-18 Andrew Innes <andrewi@gnu.org>
1725
1726 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1727 optimization. The fontp->encoding array was not being initialized
1728 correctly when compiled with optimizations by MSVC.
1729
1730 2001-10-18 Gerd Moellmann <gerd@gnu.org>
1731
1732 * xdisp.c (display_line): Indicate empty lines in active mini-window.
1733
1734 2001-10-17 Andrew Innes <andrewi@gnu.org>
1735
1736 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1737
1738 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1739 font_info.charset field.
1740
1741 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1742 rather than working it out by calling w32_codepage_for_font for
1743 every glyph.
1744
1745 2001-10-17 Andrew Innes <andrewi@gnu.org>
1746
1747 * w32term.c (w32_read_socket): Determine clipping rectangle for
1748 the entire frame, including areas covered by scrollbars and the
1749 menubar. This avoids internal arguments about whether a frame is
1750 fully obscured or not.
1751
1752 2001-10-17 Gerd Moellmann <gerd@gnu.org>
1753
1754 * xdisp.c (try_window_id): Undo last change. Give up if
1755 window ends in strings.
1756
1757 * xdisp.c (try_window_id): Don't display lines after the window
1758 end if the rest of the window after the window end was already blank.
1759
1760 * xdisp.c (try_window_id): Remove code that was only there
1761 for the release of 21.1.
1762
1763 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
1764
1765 2001-10-17 Miles Bader <miles@gnu.org>
1766
1767 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1768 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1769 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1770 Change doc-string comments to `new style' [w/`doc:' keyword].
1771 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1772 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1773 out make-docfile.
1774
1775 2001-10-16 Miles Bader <miles@gnu.org>
1776
1777 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1778
1779 2001-10-16 Gerd Moellmann <gerd@gnu.org>
1780
1781 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1782 *scratch*.
1783
1784 2001-10-16 Ken Raeburn <raeburn@gnu.org>
1785
1786 Avoid the assumption that car and cdr slots of cons cells are
1787 addressable lvalues; this allows for easier experimentation with
1788 other lisp implementations that may not permit such accesses for
1789 various reasons. Not quite complete -- buffer.c still needs some
1790 work, and w32/mac files need rechecking -- so compile-time
1791 enforcement is left disabled for now.
1792
1793 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
1794 gcc with a union-based Lisp object rep. Redefine as no-op for now.
1795 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1796 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1797 (XSETCAR, XSETCDR): New macros.
1798 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1799 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1800 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1801 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1802 XSETCDR.
1803 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
1804 * buffer.c (record_buffer, Fbury_buffer)
1805 (swap_out_buffer_local_variables, recenter_overlay_lists)
1806 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
1807 fields of a cons cell respectively.
1808 * callint.c (quotify_args, Fcall_interactively): Likewise.
1809 * ccl.c (Fregister_code_conversion_map): Likewise.
1810 * coding.c (detect_coding_system): Likewise.
1811 * composite.c (get_composition_id, make_composition_value_copy):
1812 Likewise.
1813 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1814 (swap_in_symval_forwarding, set_internal, Fset_default)
1815 (Fmake_variable_buffer_local, Fmake_local_variable)
1816 (Fmake_variable_frame_local): Likewise.
1817 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
1818 * keymap.c (Fset_keymap_parent, store_in_keymap)
1819 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
1820 * minibuf.c (get_minibuffer): Likewise.
1821 * search.c (Fmatch_data): Likewise.
1822 * textprop.c (extend_property_ranges): Likewise.
1823 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
1824 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1825 Likewise.
1826 * w32term.c (x_delete_display): Likewise.
1827 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1828 Likewise.
1829 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
1830 * doc.c (store_function_docstring): Use XSETCARFASTINT.
1831 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
1832 (Fread_file_name): Use XSETCAR.
1833 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1834 CHECK_NUMBER_CDR.
1835 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1836 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1837 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1838 CHECK_NUMBER_CDR.
1839 * keyboard.c (read_char): Alter list traversal to avoid taking the
1840 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1841 (parse_menu_item): Use XSETCAR and XSETCDR.
1842 (reach_char_x_menu_prompt): Use XSETCAR.
1843 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1844 (Fcommand_execute): Use XSETCDR.
1845 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1846 (openp): Change list traversal to avoid using XCAR as lvalue.
1847 (read_list): Use XSETCDR.
1848 * process.c (wait_reading_process_input): Change wait_for_cell
1849 handling to avoid taking addresses of cons cell slots.
1850 * xselect.c (x_own_selection, x_handle_selection_clear)
1851 (x_clear_frame_selections): Use XSETCDR.
1852 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1853 (x_handle_property_notify, x_get_foreign_selection)
1854 (x_handle_selection_notify): Use XSETCAR.
1855
1856 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1857
1858 * buffer.c: Put doc strings in comments.
1859
1860 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
1861
1862 2001-10-15 Sam Steingold <sds@gnu.org>
1863
1864 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1865
1866 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1867
1868 * process.c (process-inherit-coding-system-flag)
1869 (get-buffer-process): Do not confuse make-docfile with doc strings
1870 in comment.
1871
1872 * editfns.c (Fchar_to_string): Make doc string consistent with
1873 arguments. Put doc strings in comments.
1874
1875 * abbrev.c, minibuf.c: Put doc strings in comments.
1876
1877 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1878
1879 * window.c (window_loop): Don't check for Fother_buffer returning nil.
1880
1881 * window.c (select_window_1): Unfreeze window start. Remove a
1882 doubled test for WINDOW being live.
1883
1884 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1885
1886 * fns.c (Fmapconcat): Fix typo in a doc string.
1887
1888 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1889
1890 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1891
1892 * xterm.c (x_draw_glyph_string): Restore clipping after
1893 drawing box.
1894
1895 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1896
1897 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
1898
1899 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1900
1901 * indent.c (skip_invisible): Use new retval of
1902 TEXT_PROP_MEANS_INVISIBLE.
1903
1904 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1905 If a parent is reached and noinherit is set, exit immediately.
1906 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1907
1908 * s/ms-w32.h (EXEC_SUFFIXES):
1909 * s/msdos.h (EXEC_SUFFIXES):
1910 * process.h (EXEC_SUFFIXES): Remove.
1911
1912 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1913 (decode_suffixes): Remove.
1914
1915 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
1916 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1917 (invisible_ellipsis_p): Remove.
1918
1919 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1920 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1921 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
1922 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1923 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
1924
1925 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1926
1927 * lisp.h (Ftop_level): Add prototype.
1928
1929 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1930 (XTread_socket): Improve style of comments to follow other
1931 comments.
1932
1933 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1934 is already prototyped in included lisp.h).
1935
1936 * frame.c (Fset_mouse_position): Improve style of comment to
1937 follow other comments.
1938 (Fset_mouse_pixel_position): Improve style of comment to follow
1939 other comments.
1940 (Fmake_frame_visible): Doc fix and typo in comment.
1941 (Fmake_frame_invisible): Doc fix and typo in comment.
1942 (Ficonify_frame): Fix typo in comment.
1943
1944 2001-10-14 Gerd Moellmann <gerd@gnu.org>
1945
1946 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
1947 * term.c, alloc.c: Put doc strings in comments.
1948
1949 2001-10-13 Gerd Moellmann <gerd@gnu.org>
1950
1951 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1952 Provide definitions for doc strings in comments.
1953
1954 * fns.c: Put doc strings in comments.
1955
1956 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1957
1958 * dired.c (file_name_completion): Ignore a candidate directory if
1959 it matches an element in completion-ignored-extensions that ends
1960 in a slash.
1961 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1962 feature in the doc string.
1963 (Ffile_name_completion): Ditto.
1964
1965 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1966
1967 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1968
1969 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1970
1971 * lisp.h (Fprovide): Update prototype.
1972 (Ffeaturep, invisible_p): Remove.
1973
1974 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
1975 (DOLIST, LOOP_PROPVAL): New macros.
1976 (invisible_p, invisible_ellipsis_p): Use them.
1977 (invisible_noellipsis_p): New function.
1978 (syms_of_xdisp): Use empty_string.
1979
1980 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1981
1982 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1983 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1984
1985 * print.c (Fwith_output_to_temp_buffer): Align with
1986 internal_with_output_to_temp_buffer.
1987 (print_preprocess): Use traverse_intervals_noorder.
1988 (print_object): Update call to traverse_intervals.
1989
1990 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1991 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1992
1993 * intervals.c (traverse_intervals_noorder): New function.
1994 (search_for_interval, count_intervals): Use it.
1995 (traverse_intervals): Use less stack space and drop `depth' arg.
1996
1997 * fns.c (Ffeaturep): Add new `subfeature' arg.
1998 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1999 (Qsubfeatures): New var.
2000 (syms_of_fns): Initialize it.
2001
2002 * keymap.c (Fkey_description): Use empty_string.
2003 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2004 (syms_of_keymap): Setup inheritance between maps.
2005 Don't export Sdescribe_bindings_internal any more.
2006
2007 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2008
2009 2001-10-12 Gerd Moellmann <gerd@gnu.org>
2010
2011 * xterm.c (notice_overwritten_cursor): Renamed from
2012 note_overwritten_text_cursor. Rewritten to take glyph widths into
2013 account.
2014
2015 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2016
2017 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2018 multi-line strings without a trailing "\n\".
2019
2020 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2021
2022 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2023 defined.
2024
2025 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2026
2027 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2028
2029 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2030 * w32proc.c (sys_spawnve):
2031 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2032 * w32.c (check_windows_init_file):
2033 * sound.c (Fplay_sound):
2034 * emacs.c (init_cmdargs):
2035 * process.c (Fstart_process): Update calls to openp.
2036
2037 * callproc.c (Vexec_suffixes): New var.
2038 (Fcall_process): Update call to openp.
2039 (decode_suffixes): New function.
2040 (syms_of_callproc): Init exec-suffixes.
2041
2042 * lread.c (Vload_suffixes, default_suffixes): New vars.
2043 (openp): Take a lisp list of suffixes.
2044 Check for file-name-handlers even if the file was absolute already.
2045 (syms_of_lread): Declare load-suffixes.
2046 (Fload): Fix up call to openp.
2047 Don't bother checking for file-name-handler at the very beginning.
2048
2049 * keymap.h (Fcopy_keymap): Don't export.
2050
2051 * lisp.h (empty_string): Declare.
2052 (Vload_suffixes, Vexec_suffixes): Declare.
2053 (openp): Update prototype.
2054
2055 * emacs.c (empty_string): New var.
2056 (syms_of_emacs): Initialize it.
2057
2058 * search.c (wordify): Use it.
2059
2060 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2061 selected window if it's not displayed there. Handle the case
2062 when the window is dedicated.
2063 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2064
2065 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2066
2067 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2068 Remove left_ok and right_ok.
2069 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2070 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2071 new meaning of b_property.
2072
2073 * syntax.c (update_syntax_table): Simplify.
2074 (Fforward_comment): Don't skip quoted chars when going backward.
2075
2076 2001-10-11 Gerd Moellmann <gerd@gnu.org>
2077
2078 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2079 in case I is of some unsigned type, in which case
2080 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2081 comparison becomes bogus.
2082
2083 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2084 (Fuser_full_name): Fix bug treating a float as a fixnum.
2085
2086 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2087
2088 * lisp.h (make_fixnum_or_float): New macro.
2089
2090 * lisp.h (circular_list_error): Add prototype.
2091
2092 * data.c (Qcircular_list): New variable.
2093 (circular_list_error): New function.
2094 (syms_of_data): Initialize it Qcircular_list.
2095
2096 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2097
2098 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2099 casefiddle.c, buffer.c: Include keymap.h.
2100
2101 2001-10-10 Gerd Moellmann <gerd@gnu.org>
2102
2103 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2104 options. From Dave Love <d.love@dl.ac.uk>.
2105
2106 2001-10-09 Gerd Moellmann <gerd@gnu.org>
2107
2108 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2109 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2110
2111 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2112 unsigned char.
2113 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2114
2115 2001-10-08 Andrew Innes <andrewi@gnu.org>
2116
2117 * lisp.h [max]: Undef min and max before redefining them.
2118
2119 * w32gui.h: Do not undef min and max.
2120
2121 * w32heap.h: Do not undef min and max.
2122
2123 * s/ms-w32.h: Do not undef min and max.
2124
2125 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2126
2127 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2128
2129 2001-10-08 Sam Steingold <sds@gnu.org>
2130
2131 * keymap.c (current-active-maps): Quote newlines (compilation error).
2132
2133 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2134
2135 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2136 bindings.elc, since otherwise doc strings in bindings.el get wrong
2137 offsets in etc/DOC.
2138
2139 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2140
2141 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2142
2143 * keyboard.h (map_prompt): Remove.
2144
2145 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
2146 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
2147
2148 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2149
2150 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2151
2152 * keyboard.c (map_prompt): Remove.
2153 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2154 Use Fkeymap_prompt.
2155
2156 * keymap.h: New file. Extracted from lisp.h.
2157
2158 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2159 (accessible_keymaps_1): New function.
2160 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2161 (Fwhere_is_internal): Use Fcurrent_active_maps.
2162 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2163 Insert in current buffer rather than standard-output.
2164 Don't call `help-mode'. Export to elisp.
2165 (describe_buffer_bindings): New wrapper.
2166 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2167 and Sdescribe_buffer_bindings.
2168
2169 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2170
2171 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
2172 Remove code setting signal handler.
2173
2174 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
2175 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2176
2177 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2178
2179 * keyboard.c: Don't define min/max.
2180
2181 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2182
2183 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
2184 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
2185 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
2186 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
2187 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
2188 Don't define min/max.
2189
2190 * lisp.h (min, max): New macros.
2191
2192 * puresize.h (BASE_PURESIZE): Increase to 725000.
2193
2194 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2195
2196 * xfaces.c (free_frame_menubar): Add prototype.
2197
2198 * lisp.h (init_window): Add prototype.
2199
2200 * editfns.c: Include ctype.h.
2201
2202 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
2203 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
2204 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2205 variable `sb'.
2206
2207 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2208 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2209 `popup_activated_flag' and `title'.
2210
2211 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2212
2213 * emacs.c (main): Remove extra `;'.
2214
2215 * atimer.h (struct atimer): Fix typos in a comment.
2216
2217 * atimer.c: Fix typo.
2218
2219 * Makefile.in: Fix typo.
2220
2221 * README: Remove obsolete part mentioning removed VMS file.
2222
2223 2001-10-07 Miles Bader <miles@gnu.org>
2224
2225 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2226
2227 2001-10-07 Ken Raeburn <raeburn@gnu.org>
2228
2229 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2230 Lisp_Object.
2231
2232 * lisp.h (Ffield_end): Declare.
2233
2234 2001-10-07 Gerd Moellmann <gerd@gnu.org>
2235
2236 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2237
2238 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2239
2240 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2241
2242 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2243
2244 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2245 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2246
2247 * alloc.c (inhibit_garbage_collection): Simplify.
2248 (Fmemory_use_counts): Ditto.
2249
2250 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
2251 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2252 most-negative-fixnum.
2253
2254 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
2255 (FIXNUM_OVERFLOW_P): New macros.
2256
2257 2001-10-06 Miles Bader <miles@gnu.org>
2258
2259 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2260 scroll_bar_bottom_shadow_pixel fields.
2261 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2262 for the shadows, and tell the toolkit about them if we succeed.
2263 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2264 Free scroll-bar shadow colors.
2265 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2266 Free scroll-bar shadow colors when the background color changes.
2267 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2268 Initialize scroll-bar shadow-color fields.
2269
2270 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2271
2272 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2273
2274 2001-10-05 Miles Bader <miles@gnu.org>
2275
2276 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2277 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
2278 New functions (were in simple.el).
2279 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2280 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2281 (syms_of_minibuf): Initialize them.
2282
2283 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2284
2285 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2286 (tiff_load): Install them as error and warning handler.
2287
2288 2001-10-04 Andrew Innes <andrewi@gnu.org>
2289
2290 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2291 (w32_load_system_font): Don't believe what GetLanguageFontInfo
2292 says; query codepage info directly to determine if font is double byte.
2293 (x_to_w32_charset): Handle private format for unknown charsets.
2294 Handle wildcards in charset spec, by ignoring them.
2295 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2296 "*-" prefix from charset.
2297 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2298 handle the truncated font spec form constructed by font_list_1, so
2299 that we correctly identify the charset fields. Don't remove "*-"
2300 prefix from charset.
2301 (w32_list_synthesized_fonts): Fix argument to alloca.
2302
2303 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2304
2305 * window.h (MINI_WINDOW_P): Use NILP.
2306
2307 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2308
2309 * termhooks.h (struct input_event): Use proper type for `kind'.
2310
2311 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2312
2313 This handles unknown keysyms better than before. For example,
2314 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2315 Emacs formerly completely ignored F5. With the change, it derives
2316 a key symbol from the name of the X keysym, `ccaron' in this case.
2317 Reported by Martin Buchholz.
2318
2319 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2320 unknown keysyms.
2321
2322 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2323 that EVENT->code isn't a function key, use the keysym's name.
2324
2325 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2326
2327 FOREACH is a macro that should make it easier to loop over Lisp
2328 lists with checks for cycles and proper lists.
2329
2330 * lisp.h (LIST_END_P, FOREACH): New macros.
2331
2332 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2333
2334 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2335 called for a lost connection. Prevent dumping core in this case.
2336 Instead print the X error, and exit. On user request.
2337
2338 * xterm.c (error_msg): New variable.
2339 (x_fatal_error_signal): New function.
2340 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2341 as fatal_error_signal_hook around the call to XtCloseDisplay.
2342
2343 * emacs.c (fatal_error_signal_hook): New variable.
2344 (fatal_error_signal): Call that function.
2345
2346 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2347
2348 With this, Emacs prints how much pure storage it will
2349 approximately need in case pure storage overflows while dumping.
2350
2351 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2352 New variables.
2353 (init_alloc_once): Initialize new variables.
2354 (PURE_POINTER_P): Use new variables.
2355 (pure_alloc): If pure storage overflows, allocate from the heap.
2356 (check_pure_size): New function.
2357 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2358
2359 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2360 (check_pure_size): Add prototype.
2361
2362 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2363
2364 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2365
2366 This adds a post-gc-hook that's run with GC inhibited.
2367 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2368
2369 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2370 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2371 (Fgarbage_collect): Run post-gc-hook.
2372
2373 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2374
2375 This adds `defvaralias' and `indirect-variable'. Changes not
2376 directly related to this feature are there to gain the same
2377 performance again as before variable aliases.
2378
2379 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2380 code to get and set symbol values, to take defvaralias into account.
2381
2382 (Note: the new `constant' bit-flag in symbols would make it
2383 possible to define arbitrary read-only variables, e.g. with
2384 `defconst'.)
2385
2386 Documentation is in lispref/variables.texi. Added to NEWS.
2387
2388 * lisp.h (enum symbol_interned): New enumeration.
2389 (struct Lisp_Symbol): Remove member `obarray', add
2390 `indirect_variable', `constant', and `interned'.
2391 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2392 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2393 (indirect_variable): Add prototype.
2394
2395 * print.c (print_preprocess, print_object): Test internedness of
2396 symbols differently.
2397
2398 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2399 bit-fields.
2400 (init_obarray): Likewise for t and nil.
2401
2402 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2403 (Fdefvaralias): New function.
2404 (specbind): Simplify the test if symbol is a constant.
2405 (syms_of_eval): Defsubr Fdefvaralias.
2406
2407 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2408 (Qcyclic_variable_indirection): New variable.
2409 (Fkeywordp): Check for internedness differently.
2410 (Fmakunbound): Simplify the test if symbol is a constant.
2411 (indirect_variable, Findirect_variable): New functions.
2412 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2413 aliased symbol.
2414 (let_shadows_buffer_binding_p): Check for variable aliases.
2415 (set_internal): Simplify the test if SYMBOL is a constant.
2416 If SYMBOL has a buffer-local value and is an alias, use the aliased
2417 symbol instead.
2418 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2419 Sindirect_variable.
2420
2421 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2422 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2423 set directly.
2424
2425 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2426
2427 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2428 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2429 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2430
2431 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2432
2433 * Branch for 21.1.
2434
2435 2001-10-03 Miles Bader <miles@gnu.org>
2436
2437 * callproc.c (syms_of_callproc): Explicitly state in the
2438 documentation for `process-environment' that earlier entries take
2439 precedence over later ones.
2440
2441 2001-10-02 Miles Bader <miles@gnu.org>
2442
2443 * textprop.c (Fnext_char_property_change)
2444 (Fprevious_char_property_change): Remove reference to non-existant
2445 argument OBJECT from doc-string.
2446
2447 2001-10-01 Gerd Moellmann <gerd@gnu.org>
2448
2449 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2450 (try_window_id): Skip back over lines ending in a newline from a
2451 string.
2452
2453 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2454 New bit flag
2455
2456 2001-10-01 Richard M. Stallman <rms@gnu.org>
2457
2458 * search.c (Freplace_match): Doc fix.
2459
2460 2001-09-28 Andrew Innes <andrewi@gnu.org>
2461
2462 * w32menu.c (set_frame_menubar): Take into account that
2463 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2464 <raeburn@gnu.org>.
2465
2466 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2467
2468 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2469
2470 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2471
2472 * s/gnu-linux.h: Fix a typo in comment.
2473
2474 2001-09-28 Andreas Schwab <schwab@suse.de>
2475
2476 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2477 nocombreloc, in case -z combreloc is the default.
2478
2479 2001-09-28 Gerd Moellmann <gerd@gnu.org>
2480
2481 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2482 really going on here.
2483
2484 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2485
2486 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2487
2488 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2489
2490 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2491 utf-8, menu-bar, and latin-N.
2492 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2493 unconditionally now.
2494 (lisp): Add latin-N, since they are preloaded.
2495
2496 2001-09-27 Gerd Moellmann <gerd@gnu.org>
2497
2498 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2499 to the left. Some cleanup.
2500
2501 * xdisp.c (display_mode_element): One more case where a string's
2502 multibyteness should be used for display.
2503
2504 2001-09-26 Gerd Moellmann <gerd@gnu.org>
2505
2506 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2507 reading at EOF.
2508
2509 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
2510 of the only temporarily set echoing flag for deciding when
2511 the cancel echoing.
2512
2513 * keyboard.c (echo_kboard): Make externally visible.
2514
2515 * lisp.h (echo_kboard): Declare extern.
2516
2517 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
2518 fonts_changed_p if we need larger matrices due to vscrolling.
2519 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2520 this round of redisplay if make_cursor_line_fully_visible fails.
2521 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
2522 (try_cursor_movement, try_scrolling): Use them instead of integers.
2523
2524 * dispextern.h (required_matrix_width, required_matrix_height):
2525 Add prototypes.
2526
2527 * dispnew.c (required_matrix_width, required_matrix_height):
2528 New functions.
2529 (allocate_matrices_for_window_redisplay)
2530 (allocate_matrices_for_frame_redisplay: Use them.
2531 Remove parameters CH_DIM.
2532
2533 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2534 and selected_window to the frame of the window whose mode-lines
2535 are displayed, and to the window itself.
2536 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
2537 here.
2538
2539 2001-09-25 Gerd Moellmann <gerd@gnu.org>
2540
2541 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2542 the image cache under us.
2543
2544 * xdisp.c (display_mode_element): If the mode element is a symbol
2545 with a string value, use that string's multibyteness for displaying.
2546
2547 * keyboard.c (read_char): Don't clear a message for a switch-frame
2548 event. From Stefan Monnier <monnier@cs.yale.edu>.
2549
2550 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2551 version for after 21.1.
2552
2553 * xdisp.c (row_containing_pos): Make externally visible.
2554
2555 * dispextern.h (row_containing_pos): Add prototype.
2556
2557 * process.c (send_process): Disable composition if from_byte < 0.
2558 From Kenichi Handa <handa@etl.go.jp>.
2559
2560 2001-09-24 Gerd Moellmann <gerd@gnu.org>
2561
2562 * xterm.c (refreshicon): Function removed.
2563
2564 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2565
2566 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2567
2568 * xterm.c (toplevel): Remove includes in #if 0.
2569
2570 * process.c (sigchld_handler) [LINUX]: Don't return from
2571 the signal handler at the end of the loop.
2572
2573 2001-09-21 Gerd Moellmann <gerd@gnu.org>
2574
2575 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2576 Terminate only if kill returns -1, and errno is ESRCH.
2577
2578 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
2579
2580 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2581
2582 2001-09-20 Gerd Moellmann <gerd@gnu.org>
2583
2584 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2585 since this function can be called during GC.
2586
2587 * callproc.c (Fcall_process): Handle errors from pipe(2).
2588 (child_setup): Delete code in #ifdef vipc.
2589
2590 2001-09-19 Gerd Moellmann <gerd@gnu.org>
2591
2592 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2593 (display_mode_element): Display the string from decode_mode_spec
2594 depending on its multibyteness.
2595
2596 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2597
2598 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2599
2600 2001-09-18 Gerd Moellmann <gerd@gnu.org>
2601
2602 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2603 recursive_edit_unwind.
2604 (recursive_edit_unwind): Set kboard state according to
2605 SINGLE-KBOARD.
2606
2607 * buffer.c (modify_overlay): Don't do nothing if START == END;
2608 This can still be a modification, for example when an overlay has
2609 a before-string or after-string.
2610 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2611 an overlay with before-string or after-string.
2612
2613 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2614 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2615
2616 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2617 first_unchanged_at_end_row is in front of
2618 last_unchanged_at_beg_row. This code should be removed after the
2619 release of 21.1.
2620
2621 2001-09-17 Gerd Moellmann <gerd@gnu.org>
2622
2623 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2624 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2625
2626 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2627 versions >= 2.95.
2628
2629 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2630
2631 * dired.c (Ffile_attributes): Doc fix.
2632
2633 2001-09-14 Gerd Moellmann <gerd@gnu.org>
2634
2635 * fileio.c (Ffile_symlink_p): Fix last change.
2636
2637 * filelock.c (current_lock_owner): Fix last change.
2638
2639 2001-09-13 Gerd Moellmann <gerd@gnu.org>
2640
2641 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2642 take that to mean that the buffer is too small.
2643
2644 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2645 that to mean that the buffer is too small.
2646
2647 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2648 current buffer's multibyteness when discarding the iterator's
2649 stack.
2650
2651 * xfns.c (Fx_window_property): Handle case that property gets
2652 deleted between the two calls to XGetWindowProperty.
2653
2654 2001-09-11 Gerd Moellmann <gerd@gnu.org>
2655
2656 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
2657
2658 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2659 in addition to read-only.
2660
2661 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2662 to t in addition to read-only.
2663
2664 * lisp.h (Qinhibit_modification_hooks): Declare.
2665
2666 * insdel.c (Qinhibit_modification_hooks): New variable.
2667 (syms_of_insdel): Initialize and staticpro it.
2668
2669 * textprop.c (verify_interval_modification): Don't run
2670 modification-hooks if inhibit_modification_hooks.
2671
2672 * dispnew.c (set_window_cursor_after_update): Fix code
2673 finding glyph row containing cursor when cursor_in_echo_area
2674 is >= 0.
2675
2676 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2677 (add_to_log): Use bcopy instead of strcpy.
2678 (init_from_display_pos): Use an explicit loop over bytes in
2679 overlay strings instead of calling index.
2680
2681 2001-09-10 Gerd Moellmann <gerd@gnu.org>
2682
2683 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2684
2685 * dispnew.c (direct_output_for_insert): Don't change IT's
2686 stop_charpos to something in front of its current position.
2687
2688 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2689 `format'.
2690
2691 2001-09-10 Richard M. Stallman <rms@gnu.org>
2692
2693 * frame.c (Fmouse_position): Doc fix.
2694
2695 2001-09-07 Gerd Moellmann <gerd@gnu.org>
2696
2697 * xdisp.c (init_from_display_pos): Don't compare the result
2698 of calling index with NULL.
2699
2700 2001-09-06 Gerd Moellmann <gerd@gnu.org>
2701
2702 * xfns.c (x_set_background_color): Don't change the colors
2703 of the X window of scroll bar widgets.
2704
2705 2001-09-05 Andrew Innes <andrewi@gnu.org>
2706
2707 * w32fns.c (w32_createwindow): Undo last change.
2708
2709 2001-09-05 Gerd Moellmann <gerd@gnu.org>
2710
2711 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2712
2713 * xdisp.c (string_buffer_position): Use *single_char_property*
2714 functions instead of the *single_property* functions.
2715
2716 2001-09-04 Andrew Innes <andrewi@gnu.org>
2717
2718 * w32term.c (w32_read_socket): Add more information to debugging
2719 output.
2720
2721 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2722 from Emacs frames, so that calls to GetClipBox in w32term.c
2723 correctly report when part of a frame is visible (including
2724 scrollbars, etc). This prevents repeated redrawing of frames when
2725 only a scrollbar is visible.
2726 (w32_wnd_proc): Add more frame information to debugging output.
2727
2728 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2729
2730 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2731
2732 2001-09-03 Gerd Moellmann <gerd@gnu.org>
2733
2734 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2735 help-echo for a string which doesn't have help-echo itself, use
2736 get-char-property to obtain the help-echo from the string's buffer
2737 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2738 have mouse-face, look ``under'' the string for mouse-face from an
2739 overlay.
2740 (fast_find_position): Add parameter STOP. In the final row, stop
2741 before glyphs having STOP as object. Don't consider glyphs that
2742 are not from a buffer.
2743
2744 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2745
2746 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2747
2748 * fns.c (Fmd5): Doc fix.
2749
2750 2001-08-31 Gerd Moellmann <gerd@gnu.org>
2751
2752 * composite.c (update_compositions): Do nothing if
2753 inhibit-modification-hooks is set.
2754
2755 2001-08-30 Gerd Moellmann <gerd@gnu.org>
2756
2757 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
2758 and check_message_stack if terminating abnormally. We want
2759 glyph matrices etc. in a core dump.
2760
2761 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2762 (syms_of_xdisp): Initialize them.
2763 (handle_single_display_prop): Don't change point, bind `object',
2764 `position', and `buffer-position' instead to the object having the
2765 `display' property, position in the object and position in the buffer.
2766
2767 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2768 of the buffer if REPLACE is non-nil.
2769
2770 2001-08-29 Gerd Moellmann <gerd@gnu.org>
2771
2772 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2773
2774 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2775
2776 * w32term.c (x_set_glyph_string_background_width)
2777 (show_mouse_face): Track the last changes in xterm.c.
2778
2779 2001-08-28 Gerd Moellmann <gerd@gnu.org>
2780
2781 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2782 string's background width so that multi-line mouse-face is drawn
2783 to the right edge of the window.
2784 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2785 glyphs.
2786
2787 * dispnew.c (direct_output_for_insert): Set updated_area
2788 before inserting/writing glyphs.
2789
2790 * xdisp.c (display_mode_element): Use string_byte_to_char to
2791 determine character positions in strings, use chars_in_text
2792 instead of strwidth.
2793 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2794 a matrix as parameter; this is easier to use from GDB.
2795
2796 2001-08-28 Miles Bader <miles@gnu.org>
2797
2798 * textprop.c (Fprevious_single_char_property_change)
2799 (Fnext_single_char_property_change): Doc fixes.
2800
2801 2001-08-27 Gerd Moellmann <gerd@gnu.org>
2802
2803 * fileio.c (Finsert_file_contents): Allocate, restore, and
2804 free composition data in the case of REPLACE not being nil.
2805
2806 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2807 there exist overlay strings with newlines at POS.
2808 (text_outside_line_unchanged_p): Return 0 if changes start at
2809 START and overlays exist at START. Likewise for END.
2810 (try_window_id): Give up if init_to_row_end returns 0.
2811
2812 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2813 unconditionally.
2814
2815 2001-08-24 Gerd Moellmann <gerd@gnu.org>
2816
2817 * keymap.c (access_keymap): Return the cdr of the binding of
2818 a generic character instead of its definition (KEY . BINDING).
2819
2820 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2821 to 0 also in the REPLACE case.
2822
2823 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2824
2825 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2826 open to determine whether file is readable (as for DOS_NT).
2827
2828 2001-08-23 Gerd Moellmann <gerd@gnu.org>
2829
2830 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2831 coding.type is coding_type_no_conversion or coding_type_raw_text,
2832 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2833 non-nil instead of just setting enable_multibyte_characters in the
2834 buffer to nil.
2835
2836 2001-08-22 Gerd Moellmann <gerd@gnu.org>
2837
2838 * dispextern.h (struct face_cache): Add member
2839 menu_face_changed_p.
2840
2841 * xfaces.c (menu_face_changed_default): New variable.
2842 (menu_face_changed_count): Variable removed.
2843 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2844 the menu_face_changed_default flag, otherwise set the FRAME's
2845 menu_face_changed_p flag if the `menu' face has been changed.
2846 Prevent calling set_font_frame_param if FRAME is t.
2847 (make_face_cache): Initialize cache's menu_face_changed_p
2848 from menu_face_changed_default.
2849 (realize_basic_faces): Look into the frame's face cache to
2850 determine if the menu appearance needs updating.
2851
2852 * keymap.c (access_keymap): Fix last change to not consider
2853 IDX when it has modifiers.
2854
2855 2001-08-21 Gerd Moellmann <gerd@gnu.org>
2856
2857 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2858 . BINDING) exists, where GENERIC-CHAR is the generic character of
2859 the charset of IDX, return BINDING unless there exists a binding
2860 for IDX itself.
2861
2862 2001-08-16 Gerd Moellmann <gerd@gnu.org>
2863
2864 * xrdb.c (SYSV): Don't define on Solaris 2.
2865 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2866
2867 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2868 of the screen line, not text line, containing IT's current position.
2869
2870 2001-08-15 Gerd Moellmann <gerd@gnu.org>
2871
2872 * window.c (window_scroll_pixel_based): Don't recenter if
2873 PT is partially visible in the window.
2874
2875 * xterm.c (expose_window_tree, expose_window, expose_line):
2876 Return 1 when overwriting mouse-face.
2877 (expose_frame): If mouse-face was overwritten, redo it.
2878
2879 * xfaces.c (x_update_menu_appearance): Don't call
2880 set_frame_menubar, let the next redisplay do it.
2881
2882 2001-08-14 Andrew Innes <andrewi@gnu.org>
2883
2884 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2885 drawing glyph string.
2886
2887 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2888
2889 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2890 running HI-UX/MPP.
2891
2892 2001-08-14 Gerd Moellmann <gerd@gnu.org>
2893
2894 * xfaces.c (x_update_menu_appearance): Save and restore value of
2895 interrupt_input_blocked.
2896
2897 2001-08-13 Gerd Moellmann <gerd@gnu.org>
2898
2899 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2900 a line start, move back to the line start.
2901
2902 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2903 exactly when a mini-buffer is active.
2904
2905 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2906 in units of 1/8 character on non window-system frames.
2907 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2908
2909 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2910
2911 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2912 a doc string.
2913
2914 2001-08-09 Gerd Moellmann <gerd@gnu.org>
2915
2916 * keyboard.c (Vpre_help_message): New variable.
2917 (syms_of_keyboard): Initialize and staticpro it.
2918 (show_help_echo): Record current message before displaying a
2919 help-echo, and restore that message when clearing the help.
2920
2921 * xfns.c (x_create_im): Remove prototype.
2922
2923 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2924
2925 * dispnew.c (adjust_glyph_matrix): Undo last change.
2926
2927 2001-08-08 Gerd Moellmann <gerd@gnu.org>
2928
2929 * dispnew.c (adjust_glyph_matrix): In the optimization for
2930 windows whose height has changed, disable partially visible lines.
2931
2932 2001-08-07 Gerd Moellmann <gerd@gnu.org>
2933
2934 * window.c (Frecenter): If ARG < 0, and on a window system
2935 frame, count in some empty lines when we can't move -ARG lines down.
2936
2937 * xdisp.c (start_display): Don't try to determine the continuation
2938 lines width if lines are truncated. It's superfluous and leads to
2939 incorrect results if POS is not visible in the window after
2940 reseating the iterator at the previous line start.
2941
2942 2001-08-06 Gerd Moellmann <gerd@gnu.org>
2943
2944 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2945
2946 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2947
2948 * alloc.c (init_stack): Remove declaration.
2949
2950 2001-08-03 Gerd Moellmann <gerd@gnu.org>
2951
2952 * keyboard.c (read_key_sequence): Check that key is an integer
2953 before comparing it with quit_char.
2954 (add_command_key): Use larger_vector.
2955 (read_char_x_menu_prompt): Instead of converting symbol and
2956 integer events into conses (EVENT . nil), use (EVENT . disabled)
2957 which cannot be confused with valid events.
2958 (read_char): When reading from Vunread_command_events, check for
2959 events of the form (EVENT . disabled) instead of
2960 (EVENT . nil).
2961
2962 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2963 a float, determine the max height from the frame's height.
2964
2965 2001-08-02 Gerd Moellmann <gerd@gnu.org>
2966
2967 * xdisp.c (redisplay_internal): Take message_cleared_p into
2968 account only if minibuf_level == 0.
2969
2970 2001-08-01 Gerd Moellmann <gerd@gnu.org>
2971
2972 * xdisp.c (redisplay_internal): Add a check for the last
2973 displayed message.
2974
2975 * xdisp.c (message_cleared_p): New variable.
2976 (clear_message): Set message_cleared_p when clearing the current
2977 message.
2978 (redisplay_internal): Look at message_cleared_p to capture
2979 the case that the echo area should be cleared.
2980
2981 * keyboard.c (command_loop_1): Fix spelling of
2982 resize_echo_area_exactly.
2983
2984 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
2985
2986 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2987
2988 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2989 current matrix when the window gets smaller.
2990
2991 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2992
2993 * print.c (strout): Cast the character passed to insert_char to
2994 unsigned char, to avoid sign extension when it is promoted to int.
2995
2996 2001-07-31 Gerd Moellmann <gerd@gnu.org>
2997
2998 * fileio.c (Finsert_file_contents): Don't treat a return value
2999 of 0 from emacs_read as an IO error.
3000
3001 2001-07-30 Gerd Moellmann <gerd@gnu.org>
3002
3003 * keyboard.c (abs): New macro.
3004 (double_click_fuzz): New variable.
3005 (make_lispy_event): Use it to determine what makes a double-click.
3006 (syms_of_keyboard): DEFVAR_INT it.
3007
3008 * xmenu.c (set_frame_menubar): Take into account that
3009 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3010 <raeburn@gnu.org>.
3011
3012 2001-07-27 Gerd Moellmann <gerd@gnu.org>
3013
3014 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3015
3016 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3017 of row's visible height.
3018
3019 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3020 deal with the first overlay string having an image `display' property.
3021 (try_window_reusing_current_matrix, compute_line_metrics):
3022 Fix computation of row's visible height for the case that part of the
3023 row is invisible above and part of the row is at the same time
3024 invisible below the window.
3025
3026 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3027
3028 * xfns.c (x-show-tip): Doc fix.
3029
3030 * xfns.c (Vx_max_tooltip_size): New variable.
3031 (syms_of_xfns): DEFVAR_LISP it.
3032 (Fx_show_tip): Set frame's window_width to the width of the
3033 window. Use a maximum tooltip size specified by
3034 Vx_max_tooltip_size, if that has valid contents.
3035 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3036
3037 2001-07-26 Andrew Innes <andrewi@gnu.org>
3038
3039 * w32term.c (x_display_list): New variable.
3040 (w32_term_init): Set it.
3041
3042 * w32term.h (x_display_list): New extern.
3043
3044 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3045
3046 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3047 is non-nil, instead of when redisplaying_p is non-zero.
3048 See comment there.
3049 (mark_window_display_accurate_1): Add an assertion.
3050
3051 2001-07-25 Gerd Moellmann <gerd@gnu.org>
3052
3053 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3054
3055 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3056 events so that we get a chance of processing expose events.
3057
3058 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3059
3060 2001-07-24 Gerd Moellmann <gerd@gnu.org>
3061
3062 * xfns.c (valid_image_p): Protect better against invalid image
3063 specifications. Previous code could signal an error.
3064
3065 2001-07-23 Gerd Moellmann <gerd@gnu.org>
3066
3067 * indent.c (current_column): Fix column computation in the
3068 presence of display table entries.
3069 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3070
3071 * dispnew.c (adjust_glyph_matrix): In the optimization for
3072 windows whose height has changed, use the new window height
3073 to compute which rows to invalidate.
3074
3075 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3076 (MAX_10_EXP): New macro.
3077 (Fformat): Use it.
3078
3079 * coding.c (code_convert_region): Handle the multibyte case if
3080 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3081
3082 2001-07-20 Gerd Moellmann <gerd@gnu.org>
3083
3084 * dispextern.h (struct face): Change type of `stipple' to
3085 int; it's an ID.
3086
3087 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3088
3089 2001-07-19 Gerd Moellmann <gerd@gnu.org>
3090
3091 * dispnew.c (update_window): Don't set the cursor at the end
3092 of the update if display update has been paused.
3093
3094 * composite.h (syms_of_composite): Renamed from syms_of_composition.
3095
3096 2001-07-18 Ken Raeburn <raeburn@gnu.org>
3097
3098 * fns.c (Fset_char_table_default): Check that a charset is defined
3099 before checking its dimension.
3100
3101 2001-07-17 Ken Raeburn <raeburn@gnu.org>
3102
3103 * coding.c (setup_coding_system): Don't do any designation based
3104 on reg_bits if charset is not yet defined.
3105
3106 * lisp.h (XVECTOR): Verify correct object type before returning a
3107 pointer, using eassert.
3108
3109 2001-07-17 Gerd Moellmann <gerd@gnu.org>
3110
3111 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3112 Increase to 4096 because of paste problems reported on GNU/Linux.
3113
3114 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3115
3116 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3117
3118 2001-07-16 Gerd Moellmann <gerd@gnu.org>
3119
3120 * fileio.c (unwind_read): Function removed.
3121 (read_non_regular, read_non_regular_quit): New functions.
3122 (Finsert_file_contents): When reading from non-regular files,
3123 arrange to catch a `quit' and terminate the loop. Rearrange
3124 code so that a `quit' when reading from a regular file doesn't
3125 insert text in the buffer.
3126
3127 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3128 Clear faces afterwards.
3129 (clear_font_table): Take a x_display_info parameter. Don't free
3130 fonts being the default font of any frame on the given display.
3131
3132 2001-07-13 Gerd Moellmann <gerd@gnu.org>
3133
3134 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3135 instead of CHAR_STRING which can signal an error.
3136
3137 * charset.c (char_to_string_1): Extracted from char_to_string.
3138 Return -1 instead of signaling an error.
3139 (char_to_string): Use it.
3140
3141 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3142
3143 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3144
3145 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3146 is t, don't try to append anything to it.
3147
3148 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3149
3150 * dired.c (file_name_completion): Pass dp->d_name to
3151 Fstring_match, not elt, which is always nil here.
3152
3153 2001-07-12 Gerd Moellmann <gerd@gnu.org>
3154
3155 * xselect.c (x_decline_selection_request): Handle errors
3156 caused by receivers that have vanished.
3157
3158 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3159 ignoring events on foreign windows in #if 0. Always dispatch
3160 the event after checking it with x_handle_property_notify.
3161
3162 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
3163 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3164 TRACE macros to facilitate debugging. Add additional trace statements.
3165 (toplevel): Add prototypes for file-local functions.
3166 (x_atom_to_symbol): Remove DPYINFO parameter.
3167
3168 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3169
3170 * w32menu.c (menubar_selection_callback, w32_menu_show):
3171 Initialize `entry' to nil.
3172 (w32_dialog_show): Remove unused `save_wv' variable.
3173 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3174
3175 2001-07-11 Gerd Moellmann <gerd@gnu.org>
3176
3177 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3178
3179 * fileio.c (unwind_read): Print a message when discarding inserted
3180 text or switching the buffer to unibyte. Change parameter.
3181 (Finsert_file_contents): Don't pass VISIT to unwind_read.
3182
3183 * fileio.c (unwind_read): New function.
3184 (Finsert_file_contents): Record it as unwind-function for
3185 the case that reading is interrupted by C-g.
3186
3187 2001-07-10 Gerd Moellmann <gerd@gnu.org>
3188
3189 * dispnew.c (update_window): Don't skip the header-line
3190 update when scrolling_window returns 0.
3191
3192 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3193
3194 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
3195 for the case that x_decode_color signals an error.
3196
3197 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3198
3199 2001-07-09 Gerd Moellmann <gerd@gnu.org>
3200
3201 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3202 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3203 around ioctls.
3204
3205 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3206
3207 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3208 doc string line for dos-timezone-offset.
3209
3210 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3211 inline assembly, to avoid compiler warnings.
3212 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3213 line for dos-unsupported-char-glyph.
3214
3215 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3216
3217 2001-07-05 Gerd Moellmann <gerd@gnu.org>
3218
3219 * sound.c: Include Emacs' header files with #include "...".
3220
3221 * eval.c (specbind): Additionally record the buffer that was
3222 current when a buffer-local or frame-local variable was bound.
3223
3224 2001-07-04 Gerd Moellmann <gerd@gnu.org>
3225
3226 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3227 to unibyte characters in unibyte buffers.
3228
3229 2001-07-03 Gerd Moellmann <gerd@gnu.org>
3230
3231 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3232 the frame on the binding stack. Change format of entries for
3233 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3234 (unbind_to): Handle unbinding a frame-local variable.
3235
3236 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
3237 glyphs and truncation glyphs at the end of a row from its pixel width.
3238 (dump_glyph_row): Print row's continuation_lines_width.
3239 (try_window_id): Take the shortcut if ZV is visible in the
3240 window, but there are actually no changes at ZV.
3241
3242 2001-07-02 Gerd Moellmann <gerd@gnu.org>
3243
3244 * xterm.h (x_free_dpy_colors): Add prototype.
3245
3246 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3247 right number of arguments.
3248
3249 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3250 ($(lwlibdir)TAGS): New target.
3251 (TAGS): Fix dependency list.
3252
3253 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3254 with input blocked.
3255
3256 2001-06-30 Gerd Moellmann <gerd@gnu.org>
3257
3258 * emacs.c (main): Remove extern declaration for sys_nerr, which
3259 isn't used and causes a compilation error with GCC 3.0 on
3260 FreeBSD 4.3.
3261
3262 2001-06-27 Gerd Moellmann <gerd@gnu.org>
3263
3264 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3265 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
3266 (toplevel): Include <signal.h> and syssignal.h.
3267
3268 * sound.c (vox_configure, vox_close): Turn off atimers
3269 around ioctls.
3270
3271 2001-06-26 Gerd Moellmann <gerd@gnu.org>
3272
3273 * keyboard.c (read_char) <non_reread>: Record the previous idle
3274 start time before calling timer_stop_idle.
3275 (read_char) <reread_first>: After processing a help-echo event,
3276 restore the previous idle start time.
3277
3278 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3279 the start of invisible text.
3280 (setup_for_ellipsis): New function.
3281 (next_overlay_string): After all overlay strings have been
3282 processed, display an ellipsis if necessary.
3283 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3284 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3285
3286 * dispextern.h (struct iterator_stack_entry): Add member
3287 display_ellipsis_p.
3288
3289 2001-06-25 Gerd Moellmann <gerd@gnu.org>
3290
3291 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3292 on the value of the wait-for-wm frame parameter.
3293
3294 * xterm.h (struct x_output): Add member wait_for_wm.
3295
3296 * xfns.c (Qwait_for_wm): New variable.
3297 (x_frame_parms): Add entry for `wait-for-wm".
3298 (x_set_wait_for_wm): New function.
3299 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3300 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3301
3302 * xdisp.c (try_window_id) <all changes below window end>: Don't
3303 take this shortcut if ZV is visible in the window.
3304 (try_window_id): When checking for window start being in changed
3305 text, don't check that the buffer's size has changed.
3306
3307 2001-06-23 Richard M. Stallman <rms@gnu.org>
3308
3309 * minibuf.c (Fcompleting_read): Doc fix.
3310
3311 2001-06-19 Gerd Moellmann <gerd@gnu.org>
3312
3313 * composite.c (Ffind_composition_internal): Accept ZV
3314 and a string's end position as POS.
3315
3316 2001-06-18 Gerd Moellmann <gerd@gnu.org>
3317
3318 * composite.c (Ffind_composition_internal): Check POS
3319 for validity.
3320
3321 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3322
3323 * editfns.c (Fmessage_box): If the frame is not under a window
3324 system, output the message in the echo area.
3325
3326 2001-06-14 Richard M. Stallman <rms@gnu.org>
3327
3328 * xdisp.c (try_window_id): When EOB is visible, don't treat
3329 insertion at EOB as if it were "off the bottom of the screen."
3330
3331 2001-06-11 Andrew Innes <andrewi@gnu.org>
3332
3333 * w32proc.c (create_child): Add new parameter is_gui_app.
3334 (w32_executable_type): Add new parameter is_gui_app.
3335 (sys_spawnve): Use it.
3336 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3337 SIGQUIT. This matches better how the signals are interpreted by
3338 MSVC compiled programs.
3339 (syms_of_ntproc): Update docstring.
3340
3341 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3342
3343 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3344 well otherwise note_mouse_highlight might optimize away highlighting
3345 if we pass over that same overlay again.
3346
3347 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3348
3349 * lread.c (Fload): Document that the argument is run via
3350 substitute-in-file-name.
3351
3352 2001-05-31 Gerd Moellmann <gerd@gnu.org>
3353
3354 * Makefile.in (bootstrap-doc): New target.
3355 (bootstrap-emacs): Depend on it.
3356
3357 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3358 auto-save-list-file-name when shutting down Emacs, because
3359 creating the directory might signal an error, and leaves
3360 Emacs in a strange state.
3361
3362 * term.c: (tty_cursor_hidden): New variable.
3363 (update_begin): Don't call tty_hide_cursor. Clean up.
3364 (update_end, set_terminal_window, set_scroll_region): Clean up.
3365 (ring_bell, reset_terminal_modes): Clean up.
3366 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3367 on tty_cursor_hidden.
3368 (write_glyphs): Call tty_hide_cursor.
3369
3370 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3371
3372 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3373
3374 2001-05-30 Gerd Moellmann <gerd@gnu.org>
3375
3376 * xfns.c (enum image_value_type): New enumerator
3377 IMAGE_STRING_OR_NIL_VALUE.
3378 (parse_image_spec): Handle it.
3379 (xbm_format, pbm_format): Use it for :foreground and :background.
3380 (xbm_load, pbm_load): Check for nil color names.
3381
3382 * xterm.c (note_mouse_highlight): If an overlapping overlay
3383 exists, but we find that we highlight the same overlay as before,
3384 don't do the highlighting again.
3385
3386 2001-05-29 Gerd Moellmann <gerd@gnu.org>
3387
3388 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3389 Protect unibyte strings created by replacing their multibyte
3390 equivalents in menu_items.
3391
3392 * keymap.c (Fsingle_key_description): NUL-terminate the string
3393 buffer before calling build_string.
3394
3395 * callproc.c (Fcall_process): Deal with decode_coding returning
3396 CODING_FINISH_INCONSISTENT_EOL.
3397
3398 2001-05-28 Gerd Moellmann <gerd@gnu.org>
3399
3400 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3401 an item's name with its key description in case the description
3402 is a multibyte string.
3403
3404 * keymap.c (Fsingle_key_description): Create a multibyte string
3405 only if necessary.
3406
3407 * macros.c (Fstart_kbd_macro): Doc fix.
3408
3409 * xterm.c (cursor_in_mouse_face_p): New function.
3410 (x_draw_stretch_glyph_string): Use it to choose a different GC
3411 when drawing a cursor within highlighted text.
3412
3413 * editfns.c (char_property_eq): Put in #if 0.
3414
3415 * indent.c (string_display_width): Put in #if 0.
3416
3417 * lread.c (Fload): Remove unused label.
3418
3419 * termcap.c (speeds): Put in #if 0.
3420
3421 2001-05-18 Gerd Moellmann <gerd@gnu.org>
3422
3423 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3424
3425 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3426 transformation matrix by 10.
3427
3428 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3429
3430 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3431 only if it's equal to the former foreground pixel color.
3432 (x_set_foreground_color, x_set_background_color)
3433 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3434
3435 2001-05-16 Dave Love <fx@gnu.org>
3436
3437 * insdel.c (signal_before_change, signal_after_change): Consider a
3438 local change hook which changes the buffer.
3439
3440 * process.c (read_process_output): Don't call signal_after_change
3441 and update_compositions after insert_from_string_before_markers.
3442
3443 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3444
3445 * xfaces.c (split_font_name): Use the right field when
3446 checking for `[...]' syntax.
3447
3448 * buffer.c (copy_overlays): New function.
3449 (clone_per_buffer_values): Use it.
3450
3451 * buffer.h (OVERLAY_PLIST): New macro.
3452
3453 * keymap.c (Fsingle_key_description): Replace a build_string with
3454 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3455
3456 * fontset.c (Ffontset_info): Check that face is non-null
3457 before accessing its fields.
3458
3459 2001-05-15 Gerd Moellmann <gerd@gnu.org>
3460
3461 * keyboard.c (read_key_sequence): Prevent generating a fake
3462 prefix key twice.
3463
3464 * xfaces.c (split_font_name): Handle `[...]' for the right
3465 font name fields.
3466
3467 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3468 of CCL_STAT_INVALID_CMD.
3469
3470 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3471
3472 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3473 in <var> has no default value yet.
3474
3475 * xfaces.c (try_alternative_families): First try the FAMILY.
3476 And if nothing is found in the end, try again with scalable fonts.
3477 (try_font_list): Let try_alternative_families do a bit more of
3478 the work. Only use FAMILY if it is not nil.
3479 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3480
3481 2001-05-14 Gerd Moellmann <gerd@gnu.org>
3482
3483 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3484 pointer shape when show_mouse_face has already done it.
3485
3486 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
3487 full-width rows.
3488
3489 * xfaces.c (split_font_name): Make sure to leave the loop
3490 with the right value of `i'.
3491
3492 * xfaces.c (split_font_name): Handle matrix transformations
3493 in the pixel and point size fields of XLFD font names.
3494 (xlfd_point_size): Likewise.
3495
3496 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3497
3498 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
3499 (x_to_w32_font): Add prototype.
3500
3501 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3502 redefining, to avoid compiler warnings.
3503
3504 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3505
3506 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3507 (w32_get_bdf_glyph): Cast between unsigned char and char when
3508 passing arguments to subroutines, to shut up compiler warnings.
3509 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3510 GET_HEX_VAL.
3511
3512 * xfaces.c: Include keyboard.h before frame.h, not after it.
3513
3514 * widget.c: Include keyboard.h before frame.h.
3515
3516 * w32term.h (struct image, struct face): Forward declaration, to
3517 avoid compiler warnings.
3518
3519 2001-05-11 Gerd Moellmann <gerd@gnu.org>
3520
3521 * keyboard.c (read_key_sequence): Don't modify events when
3522 generating fake prefix keys (mode-line, scroll-bar, ...) since
3523 this prevents proper processing of such events when pushed back
3524 into unread-command-events.
3525
3526 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3527 actually redrawn. Make the function static.
3528 (note_mouse_highlight): Fix a case where the mouse cursor
3529 was changed back to the text cursor.
3530
3531 * xterm.h (clear_mouse_face): Remove prototype.
3532
3533 * xdisp.c (try_window_id): Fix the fix and set the right
3534 window_end_vpos.
3535
3536 * xdisp.c (try_window_id): Fix computation of window end in the
3537 case that lines were deleted at the end of the window. Add some
3538 more debug_method_adds.
3539
3540 * xfaces.c (try_alternative_families): New function.
3541 (try_font_list): Use it. If ATTRS specifies a family, check
3542 fonts from that family first.
3543 (choose_face_font): Remove code setting the family part of
3544 the pattern to nil.
3545
3546 2001-05-10 Gerd Moellmann <gerd@gnu.org>
3547
3548 * xdisp.c (try_window_id): Fix case of all changes before
3549 the window start.
3550
3551 * xdisp.c (try_window_id): Add some xasserts.
3552
3553 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3554
3555 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3556
3557 2001-05-09 Dave Love <fx@gnu.org>
3558
3559 * xdisp.c (GIVE_UP): Fix for K&R C.
3560
3561 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3562
3563 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3564
3565 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3566 back to the text cursor shape without need.
3567
3568 2001-05-07 Gerd Moellmann <gerd@gnu.org>
3569
3570 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3571
3572 * dispextern.h (inverse_video): Declare extern.
3573
3574 * keyboard.c (delete_kboard): Handle the case that selected_frame
3575 has been deleted in the course of x_connection_closed.
3576
3577 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3578
3579 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3580 Fix the change from 2001-04-30.
3581
3582 2001-05-03 Gerd Moellmann <gerd@gnu.org>
3583
3584 * xfns.c (file_dialog_unmap_cb): New function.
3585 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3586 where a dialog is closed via the window manager.
3587
3588 * xdisp.c (try_window_id): Cases of changes all in front of
3589 the window start or all below the window end mostly rewritten.
3590 (redisplay_window): Move the tests if try_window_id is
3591 applicable to try_window_id.
3592 (GIVE_UP): New macro.
3593
3594 2001-05-02 Gerd Moellmann <gerd@gnu.org>
3595
3596 * xterm.c (expose_window): Return int. If W is the window
3597 currently being updated, mark the frame garbaged.
3598 Fix computation of rows intersecting the exposed rectangle.
3599 (expose_window_tree): Stop when expose_window returns 0.
3600
3601 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3602 again if it has already been drawn.
3603
3604 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3605
3606 * syntax.c (update_syntax_table): Check that oldi has the same
3607 properties as old_prop before deciding not to invalidate.
3608
3609 2001-04-30 Gerd Moellmann <gerd@gnu.org>
3610
3611 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3612 read-only text that is so because of text properties.
3613
3614 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
3615 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
3616 windows that are components of a Lucid menu bar.
3617
3618 2001-04-27 Gerd Moellmann <gerd@gnu.org>
3619
3620 * term.c (turn_on_face): Fix reverse video handling on terminals
3621 that don't support colors.
3622
3623 2001-04-26 Gerd Moellmann <gerd@gnu.org>
3624
3625 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3626 a non-buffer.
3627
3628 2001-04-25 Gerd Moellmann <gerd@gnu.org>
3629
3630 * term.c (toggle_highlight): New function.
3631 (turn_on_face): Change handling of reverse video.
3632
3633 * process.c (wait_reading_process_input):
3634 Call record_asynch_buffer_change only if a timer really changed buffers.
3635
3636 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3637 of the number of overlays to check.
3638
3639 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3640
3641 * xdisp.c (try_window_id): Fix a case where window_end_pos
3642 and window_end_bytepos were not adjusted.
3643
3644 2001-04-23 Gerd Moellmann <gerd@gnu.org>
3645
3646 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3647 zero instead of -1.
3648
3649 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3650
3651 * process.c (wait_reading_process_input) [!subprocesses]:
3652 Don't reference waiting_for_user_input_p, it's not defined in the
3653 branch without async subprocesses support.
3654
3655 2001-04-19 Gerd Moellmann <gerd@gnu.org>
3656
3657 * keyboard.c (delete_kboard): Prevent a dangling reference
3658 from current_kboard to KB, which is freed.
3659
3660 * process.c (wait_reading_process_input):
3661 Call record_asynch_buffer_change after running timers, to make
3662 read_key_sequence aware of buffer changes from under it.
3663
3664 2001-04-18 Gerd Moellmann <gerd@gnu.org>
3665
3666 * xfaces.c (Qscalable_fonts_allowed): New variable.
3667 (realizing_basic_faces_p): Removed.
3668 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3669 removed.
3670 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
3671 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3672 for scalable-fonts-allowed to t.
3673
3674 * fileio.c (Finsert_file_contents): If the file size returned from
3675 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
3676 read from files on a procfs whose contents are generated dynamically.
3677
3678 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3679
3680 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3681 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3682 (__memalign_hook): Make the two prototypes consistent.
3683
3684 2001-04-17 Gerd Moellmann <gerd@gnu.org>
3685
3686 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3687 matrix of mini-windows.
3688
3689 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3690
3691 * intervals.c (find_interval): Don't rebalance during signal handling.
3692
3693 2001-04-11 Gerd Moellmann <gerd@gnu.org>
3694
3695 * fns.c: Include blockinput.h.
3696
3697 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3698
3699 2001-04-10 Gerd Moellmann <gerd@gnu.org>
3700
3701 * fns.c (Fcompare_strings): Fix return values.
3702
3703 * window.c (window_scroll): Change the meaning of N to mean
3704 N screen-fulls or N lines.
3705 (window_scroll_pixel_based, window_scroll_line_based)
3706 (scroll_command, Fscroll_other_window): Change accordingly.
3707
3708 * window.c (window_scroll_pixel_based, Frecenter):
3709 Call window_box_height instead of using it.last_visible_y for the
3710 height of the window.
3711
3712 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3713 instead of using it.last_visible_y for the height of the window.
3714
3715 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
3716 From Dan Holmsand <dan@eyebee.com>.
3717
3718 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
3719 able to write to hidden and system files. From Dan Holmsand
3720 <dan@eyebee.com>.
3721
3722 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3723 Holmsand <dan@eyebee.com>.
3724
3725 2001-04-09 Gerd Moellmann <gerd@gnu.org>
3726
3727 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3728
3729 * window.c (window_internal_height): Return 1 less if the
3730 window has a header line.
3731
3732 * xdisp.c (try_window_id): When scrolling on a terminal, take
3733 the change of window_internal_height into account.
3734
3735 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3736
3737 * gmalloc.c (align): If the argument SIZE would overflow
3738 __malloc_ptrdiff_t, fail right away.
3739
3740 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3741
3742 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3743 Make sure the tooltip is completely visible.
3744 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3745
3746 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3747
3748 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3749
3750 2001-04-06 Dave Love <fx@gnu.org>
3751
3752 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3753 Fix test of `from'.
3754
3755 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3756
3757 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
3758
3759 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3760
3761 2001-04-05 Gerd Moellmann <gerd@gnu.org>
3762
3763 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3764
3765 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
3766
3767 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3768 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3769
3770 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3771 shell widget's position only if it is non-null.
3772
3773 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3774 Set f->output_data.x->widget to null after destroying it.
3775
3776 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3777 FILENAME to bring it in synch with the documentation.
3778
3779 * xfaces.c (realizing_basic_faces_p): Renamed from
3780 realize_default_face_p.
3781 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3782 (realize_default_face): Don't set the flag.
3783
3784 2001-04-04 Gerd Moellmann <gerd@gnu.org>
3785
3786 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3787
3788 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3789
3790 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3791 the buffer that was used for echoing.
3792
3793 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3794 (first_font_matching): Removed unused function.
3795 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3796 (may_use_scalable_font_p): Remove parameter FONT; rename
3797 parameter NAME to FONT.
3798 (x_face_list_fonts): Fix missing bounds check.
3799 (realizing_default_face_p): New variable.
3800 (realize_default_face): Set and clear that flag.
3801 (x_face_list_fonts): When called during the realization of the
3802 default face, and no matching fonts are found when ignoring
3803 scalable fonts and fonts matching a regexp from
3804 face-ignored-fonts, try without ignoring fonts.
3805
3806 2001-04-03 Gerd Moellmann <gerd@gnu.org>
3807
3808 * xfns.c (postprocess_image): New function.
3809 (lookup_image): Call it for all image types except PostScript.
3810 (x_kill_gs_process): Call postprocess_image.
3811
3812 * xterm.c (x_use_underline_position_properties): New variable.
3813 (x_draw_glyph_string): Use it.
3814 (syms_of_xterm): DEFVAR_BOOL it.
3815
3816 2001-04-02 Gerd Moellmann <gerd@gnu.org>
3817
3818 * xterm.c (x_alloc_nearest_color_1): New function.
3819 (x_alloc_nearest_color): Use it.
3820 (x_color_cells): Take a Display as argument, instead of a frame.
3821 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3822 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3823 (x_initialize): Register cvt_string_to_pixel as resource converter
3824 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3825
3826 2001-03-30 Gerd Moellmann <gerd@gnu.org>
3827
3828 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3829 (set_iterator_to_next): If a string from a display property ends,
3830 consider the case that this might also be the end of an
3831 overlay string having the display property.
3832
3833 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
3834
3835 * xdisp.c (reseat_to_string): Undo last change.
3836
3837 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3838 matrix of a window when the header line changes, when
3839 new rows are allocated, or when the width changes.
3840
3841 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3842
3843 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
3844
3845 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3846
3847 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3848 deprecated.
3849
3850 2001-03-29 Gerd Moellmann <gerd@gnu.org>
3851
3852 * data.c (Fsubr_interactive_form): New function.
3853 (syms_of_data): Defsubr it.
3854
3855 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3856 (live_float_p, live_misc_p): Return 1 only if the offset of the
3857 pointer in its block is >= 0.
3858
3859 2001-03-28 Paul Eggert <eggert@twinsun.com>
3860
3861 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3862 microseconds calcuation. Avoid double-rounding problem.
3863 In doc string, warn that the result is approximate.
3864
3865 2001-03-28 Gerd Moellmann <gerd@gnu.org>
3866
3867 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3868 bind `inhibit-eval-during-redisplay' to t.
3869
3870 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3871
3872 * xdisp.c (inhibit_eval_during_redisplay)
3873 (Qinhibit_eval_during_redisplay): New variables.
3874 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3875 don't eval, return nil instead.
3876 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3877 Initialize Qinhibit_eval_during_redisplay.
3878
3879 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3880 the iterator's multibyte_p flag.
3881
3882 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3883 instead of setting it to zero; it's incremented for each frame
3884 where the menu face is changed.
3885
3886 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3887 change bottom shadow accordingly.
3888
3889 * xterm.c (expose_window_tree, expose_frame): Don't compute
3890 intersections here.
3891 (expose_window): Do it here instead.
3892 (x_draw_glyph_string): Fix a computation of the underline position.
3893
3894 * bytecode.c (BYTE_CODE_QUIT): New macro.
3895 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3896
3897 2001-03-27 Gerd Moellmann <gerd@gnu.org>
3898
3899 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3900 Give up if matrix starts in an ellipsis.
3901 (init_from_display_pos): Do nothing if POS doesn't specify
3902 a dpvec_index but the iterator has such a position.
3903
3904 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3905
3906 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3907 x/y position is (0, 0) after destroying the menu bar, restore
3908 its original position.
3909
3910 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3911 (init_from_display_pos): Use it.
3912 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3913
3914 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3915
3916 * xdisp.c (try_window_id): Undo last change.
3917
3918 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3919
3920 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3921
3922 * buffer.c (syms_of_buffer): Doc fix.
3923
3924 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3925
3926 * xfaces.c (x_update_menu_appearance): Use local variable
3927 popup_path for setting font resources.
3928
3929 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3930
3931 * frame.c (Fframe_list): Don't reference tip_frame if
3932 HAVE_WINDOW_SYSTEM is not defined.
3933
3934 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3935 <wl@gnu.org>.
3936
3937 2001-03-25 Gerd Moellmann <gerd@gnu.org>
3938
3939 * xdisp.c (init_from_display_pos): Test invisible property
3940 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
3941
3942 * xdisp.c (redisplay_internal) <update one window>: Make sure
3943 last_arrow_position and last_arrow_string are set.
3944
3945 * frame.c (Fframe_list): Don't return a tooltip frame.
3946
3947 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3948
3949 * xdisp.c (mark_window_display_accurate_1): New function,
3950 extracted from mark_window_display_accurate.
3951 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
3952 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3953 (mark_window_display_accurate): Use it.
3954 (redisplay_internal): Use it for the selected window.
3955 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3956 for the selected frame.
3957
3958 * xdisp.c Use make_number, for readability.
3959 (try_window_id): Disable rows below the window end.
3960 (try_window_reusing_current_matrix): Use cursor_row_p.
3961 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3962 of rows.
3963 (init_from_display_pos): If POS specifies a position in a display
3964 vector, maybe get the iterator set up for that ellipsis.
3965
3966 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3967
3968 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3969
3970 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3971
3972 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3973
3974 * xfaces.c (x_update_menu_appearance): Use a different path
3975 for Lucid popup menus.
3976
3977 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3978
3979 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3980
3981 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3982 (string_buffer_position): Use `make_number'.
3983
3984 2001-03-22 Gerd Moellmann <gerd@gnu.org>
3985
3986 * xfaces.c (x_update_menu_appearance): Renamed from
3987 x_set_menu_face_resources. Use different resources for popups.
3988
3989 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3990 (GC_CHECK_STRING_BYTES): Don't define.
3991
3992 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3993 Removed, together with subroutines.
3994 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
3995 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
3996
3997 * dispextern.h (x_set_menu_resources_from_menu_face):
3998 Remove prototype.
3999
4000 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
4001 Remove calls to x_set_menu_resources_from_menu_face.
4002
4003 * xfaces.c (xm_set_menu_resources_from_menu_face):
4004 Remove #ifndef LESSTIF_VERSION.
4005
4006 * xmenu.c: Include widget.h.
4007 (single_submenu): Return int. Some cleanup.
4008 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4009
4010 2001-03-21 Gerd Moellmann <gerd@gnu.org>
4011
4012 * xterm.c (x_update_window_end): Handle overwritten mouse face
4013 also for tool bar windows.
4014 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4015 DRAW is DRAW_IMAGE_RAISED.
4016
4017 2001-03-20 Gerd Moellmann <gerd@gnu.org>
4018
4019 * print.c (syms_of_print): Doc fixes.
4020
4021 * fns.c (Fmd5): Doc fix.
4022
4023 2001-03-19 Gerd Moellmann <gerd@gnu.org>
4024
4025 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4026 Clear area of the frame not occupied by the scroll bar.
4027
4028 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4029 tip frame's root window buffer to *tip* right after creating
4030 the frame.
4031
4032 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4033 is an integer don't have to be for space characters.
4034
4035 2001-03-16 Gerd Moellmann <gerd@gnu.org>
4036
4037 * indent.c (current_column, current_column_1, Fmove_to_column)
4038 (compute_motion): Handle characters from display vectors differently.
4039
4040 2001-03-15 Kenichi Handa <handa@etl.go.jp>
4041
4042 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4043 drawing glyph string.
4044
4045 2001-03-15 Gerd Moellmann <gerd@gnu.org>
4046
4047 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4048 (command_loop_1): Undo last change.
4049
4050 * xterm.c (fast_find_position): Return the correct vpos.
4051
4052 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
4053 non-null, set a per-buffer value in BUF instead of the current buffer.
4054 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4055 Call store_symval_forwarding with BUF null.
4056 (set_internal): Call store_symval_forwarding with the BUF
4057 parameter passed to set_internal. Formerly, the value was always
4058 set in the current buffer; the buffer recorded in specbind for
4059 this case wasn't used.
4060 (arith_driver): Reindent.
4061
4062 * buffer.c (swap_out_buffer_local_variables):
4063 Call store_symval_forwarding with BUF null.
4064
4065 * lisp.h (store_symval_forwarding): Change prototype.
4066
4067 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4068
4069 2001-03-14 Gerd Moellmann <gerd@gnu.org>
4070
4071 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4072 FOR_DELETION. Avoid resizing the mini-window of the selected
4073 frame if FOR_DELETION is set.
4074 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4075 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4076 signature.
4077
4078 * window.c (Fset_window_configuration): Change call to
4079 do_switch_frame to new format.
4080
4081 * keyboard.c (quit_throw_to_read_char): Change call to
4082 do_switch_frame to new format.
4083
4084 * lisp.h (do_switch_frame): Change prototype.
4085
4086 * frame.c (Fframe_parameters): In the `buffer-list' frame
4087 parameter, store the buffer list of FRAME, not the list of the
4088 selected frame.
4089
4090 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4091 box just because the glyph row's full_width_p flag is set.
4092
4093 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4094
4095 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4096 skip the padding blanks inserted in extend_face_to_end_of_line,
4097 before checking for trailing whitespace.
4098
4099 2001-03-13 Gerd Moellmann <gerd@gnu.org>
4100
4101 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
4102 Remove special handling for LessTif/Motif.
4103 (toplevel): Don't include Xm/Xm.h.
4104
4105 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4106 Remove workaround code for LessTif; it doesn't work anymore.
4107
4108 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
4109 Xm/ScrollBarP.h.
4110
4111 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4112 Don't access private scroll bar data; it's no longer necessary with
4113 contemporary LessTif.
4114
4115 * xfaces.c (xm_set_menu_resources_from_menu_face):
4116 Change #if 0 to #ifndef LESSTIF_VERSION.
4117
4118 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4119 removing button grabs.
4120
4121 2001-03-13 Kenichi Handa <handa@etl.go.jp>
4122
4123 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4124 and clip-large-size-font as obsolete.
4125
4126 * lread.c (read_multibyte): Check the validity of multibyte
4127 sequence. If invalid, return the first byte.
4128
4129 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4130
4131 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4132 before running the command; timer functions or process
4133 filters may have set it.
4134
4135 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4136
4137 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4138 Doc fix.
4139
4140 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4141
4142 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4143 to sprintf.
4144
4145 2001-03-09 Gerd Moellmann <gerd@gnu.org>
4146
4147 * dispextern.h (string_buffer_position): Add prototype.
4148
4149 * xdisp.c (string_buffer_position, display_prop_string_p)
4150 (single_display_prop_string_p): New functions.
4151
4152 * xterm.c (note_mouse_highlight): If there's no help-echo on
4153 a string, look at the buffer text ``under'' it.
4154
4155 * keyboard.c (make_lispy_event): Add string info to the event,
4156 analogous to what's done on mode lines.
4157 (read_key_sequence): For a click on a string, consider `local-map'
4158 and `keymap' of that string.
4159
4160 * keyboard.c (make_lispy_event, make_lispy_movement):
4161 Adjust calls to buffer_posn_from_coords to new format.
4162
4163 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4164
4165 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4166 POS; return void.
4167
4168 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4169 flags argument to emacs_open; it seems to conflict with O_EXCL.
4170
4171 2001-03-09 Kenichi Handa <handa@etl.go.jp>
4172
4173 * composite.h (struct composition): Change types of members;
4174 glyph_len to unsigned, width to unsigned short.
4175
4176 2001-03-08 Andrew Innes <andrewi@gnu.org>
4177
4178 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4179 menu titles.
4180
4181 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4182
4183 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4184 instead of nil.
4185
4186 * xterm.c (note_mouse_highlight): Handle mouse-face and
4187 help-echo in strings.
4188 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4189 (fast_find_string_pos): New function.
4190
4191 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4192 (display_string): Call face_at_string_position with new parameter.
4193
4194 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4195 Handle `mouse-face'.
4196
4197 * dispextern.h (face_at_string_position): Change prototype.
4198
4199 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
4200
4201 * keyboard.c (make_lispy_event): Avoid generating drag events
4202 if the mouse hasn't actually moved to another buffer position.
4203
4204 2001-03-08 Dave Love <fx@gnu.org>
4205
4206 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
4207
4208 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4209
4210 * process.c (Fset_process_window_size): Fix a typo.
4211
4212 2001-03-08 Kenichi Handa <handa@etl.go.jp>
4213
4214 * coding.c (detect_coding_sjis): Do more rigid check.
4215 (detect_coding_big5): Likewise.
4216 (decode_coding_sjis_big5): Likewise.
4217 (Fdetect_coding_region): Call detect_coding_system with tailing
4218 anchor byte `\0' for more rigid detection.
4219 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
4220 (Fdetect_coding_string): Likewise.
4221
4222 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4223
4224 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4225 a string before extracting its data.
4226
4227 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4228
4229 * window.c (Frecenter): Rewrite code handling negative values
4230 of ARG on graphical frames.
4231
4232 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4233
4234 * window.c (displayed_window_lines): If W->start is outside the
4235 accessible portion of the buffer, call start_display with BEGV or
4236 ZV instead of W->start.
4237
4238 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4239
4240 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4241
4242 * process.c (Fset_process_filter): Don't crash if the input
4243 file descriptor of PROCESS is closed.
4244 (Fset_process_window_size): Likewise.
4245
4246 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4247
4248 * xterm.c (XTflash): Make the timeout of select shorter, and call
4249 select repeatedly until the desired time expires.
4250
4251 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4252
4253 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4254
4255 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4256
4257 * lisp.h (Vwindow_list): Declare extern.
4258
4259 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4260
4261 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4262
4263 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4264
4265 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4266 to detect a case where we have to highlight a different region
4267 despite not having left the currently highlighted region.
4268 Set mouse_face_overlay in the x_display_info.
4269 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
4270
4271 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4272
4273 * buffer.c (mouse_face_overlay_overlaps): New function.
4274
4275 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4276 (Qmouse_face): Declare extern.
4277
4278 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4279 if face_change_count is non-zero.
4280
4281 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4282
4283 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4284 that the source is unibyte.
4285
4286 2001-03-05 Dave Love <fx@gnu.org>
4287
4288 * xterm.c (XTmouse_position): Fix typo.
4289
4290 2001-03-05 Gerd Moellmann <gerd@gnu.org>
4291
4292 * minibuf.c (read_minibuf): Clean up the binding stack if
4293 called noninteractively.
4294
4295 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4296
4297 * coding.c (syms_of_coding): Docstring modified.
4298
4299 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4300
4301 * charset.c (char_to_string): If a single byte char has modifier
4302 bits that can't be reflected to the character code, ignore them
4303 instead of signaling an error.
4304
4305 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4306
4307 * s/msdos.h: Update copyright notice.
4308
4309 * dosfns.h: Update copyright notice.
4310
4311 * dosfns.c: Update copyright notice.
4312
4313 * msdos.c: Update copyright notice.
4314
4315 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4316
4317 * xterm.c (glyph_rect): New function.
4318 (XTmouse_position): Use it to raise the threshold for mouse
4319 movement event generation.
4320
4321 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4322
4323 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4324 specifies (reverse . t), reverse the initial screen colors.
4325 (IT_set_frame_parameters): If the property is foreground-color,
4326 but we are reversing the colors, set bg_set, not fg_set.
4327 Likewise for setting background-color and reversing: set fg_set.
4328 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
4329 in effect.
4330
4331 * xfaces.c (Finternal_set_lisp_face_attribute)
4332 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4333 parameters alist.
4334
4335 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4336
4337 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4338 to a single slash in the middle of file names.
4339
4340 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
4341 Accept only alphanumeric time zone names.
4342
4343 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4344 or width area.
4345 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4346 a widget to zero height.
4347
4348 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4349
4350 * window.c (Fwindow_end): Call move_it_past_eol only if
4351 ending up on a partially visible line.
4352
4353 2001-03-01 Dave Love <fx@gnu.org>
4354
4355 * ccl.c (Fccl_execute): Doc fix.
4356
4357 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4358
4359 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4360 of the tool bar before calling x_figure_window_size.
4361
4362 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4363 NULL after destroying it, otherwise XTread_socket can access a
4364 destroyed widget when input is unblocked.
4365
4366 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
4367
4368 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4369 same name as before, although there was a change in fontsets.
4370
4371 2001-02-28 Ken Raeburn <raeburn@gnu.org>
4372
4373 * lisp.h (Fframe_parameter): Declare.
4374
4375 * window.c (set_window_buffer): Field vscroll is an int, not a
4376 Lisp_Object.
4377
4378 2001-02-28 Gerd Moellmann <gerd@gnu.org>
4379
4380 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4381 NULL instead.
4382
4383 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4384 NULL instead.
4385
4386 * alloc.c (toplevel): Include process.h.
4387 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4388 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4389 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
4390 (allocate_vector, allocate_hash_table, allocate_window)
4391 (allocate_frame, allocate_process, allocate_other_vector):
4392 New functions.
4393 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4394 (mark_maybe_pointer): New function.
4395 (mark_memory): Also mark Lisp data to which only pointers
4396 remain and not Lisp_Objects.
4397 (min_heap_address, max_heap_address): New variables.
4398 (mem_find): Return MEM_NIL if START is below min_heap_address or
4399 above max_heap_address.
4400 (mem_insert): Compute min_heap_address and max_heap_address.
4401
4402 * process.c (make_process): Use allocate_process.
4403
4404 * frame.c (make_frame): Use allocate_frame.
4405
4406 * window.c (make_window, make_dummy_parent): Use allocate_window.
4407 (Fcurrent_window_configuration): Use allocate_other_vector.
4408
4409 * lisp.h (allocate_vectorlike): Remove prototype.
4410 (allocate_vector, allocate_other_vector, allocate_frame)
4411 (allocate_window, allocate_process, allocate_hash_table):
4412 Add prototypes.
4413
4414 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4415 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4416
4417 2001-02-27 Kenichi Handa <handa@etl.go.jp>
4418
4419 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4420 treat the produced bytes as a valid multibyte sequence.
4421
4422 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
4423 (ccl_driver) <CCL_WriteMultibyteChar2>:
4424 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
4425 <ccl_finish>: Set ccl->eight_bit_control properly.
4426
4427 * ccl.h (struct ccl_program): New member eight_bit_control.
4428
4429 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4430
4431 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4432 accessible_keymaps_char_table.
4433 (accessible_keymaps_char_table): Obey `is_metized'.
4434 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4435 Lisp_Object.
4436
4437 2001-02-26 Gerd Moellmann <gerd@gnu.org>
4438
4439 * dispnew.c: Check HAVE_TERM_H before including term.h.
4440
4441 2001-02-24 Andrew Innes <andrewi@gnu.org>
4442
4443 * makefile.w32-in: Update copyright notice.
4444
4445 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4446
4447 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4448
4449 2001-02-24 Kenichi Handa <handa@etl.go.jp>
4450
4451 * Makefile.in (lisp): Add international/utf-8.elc.
4452
4453 * fontset.c (Fnew_fontset): Fix handling of the case that an
4454 element of FONTLIST is a cons of family and registry.
4455
4456 2001-02-23 Jason Rumney <jasonr@gnu.org>
4457
4458 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4459 to height unconditionally.
4460
4461 * w32term.c (x_set_glyph_string_background_width): Extend the
4462 background face to the end of the drawing area in the text area, only.
4463 (x_insert_glyphs): Call window_box_left to obtain the left
4464 x-coordinate of the area to shift.
4465
4466 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4467 safe_run_hooks.
4468
4469 2001-02-22 Andrew Innes <andrewi@gnu.org>
4470
4471 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
4472 ($(BLD)\dispnew.obj):
4473 ($(BLD)\editfns.obj):
4474 ($(BLD)\fileio.obj):
4475 ($(BLD)\filelock.obj):
4476 ($(BLD)\keyboard.obj):
4477 ($(BLD)\w32proc.obj):
4478 ($(BLD)\process.obj):
4479 ($(BLD)\sysdep.obj): Ditto.
4480
4481 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4482 header files.
4483 ($(BLD)/dispnew.$(O)):
4484 ($(BLD)/editfns.$(O)):
4485 ($(BLD)/fileio.$(O)):
4486 ($(BLD)/filelock.$(O)):
4487 ($(BLD)/keyboard.$(O)):
4488 ($(BLD)/w32proc.$(O)):
4489 ($(BLD)/process.$(O)):
4490 ($(BLD)/sysdep.$(O)): Ditto.
4491
4492 2001-02-22 Gerd Moellmann <gerd@gnu.org>
4493
4494 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4495 at the start of the function, check that the \n in it->c is
4496 from the iterator's current position.
4497
4498 * xdisp.c (handle_single_display_prop): Add parameter
4499 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4500 properties which replace the display of text with something else.
4501 (handle_display_prop): Call handle_single_display_prop with
4502 additional argument saying if we already replaced text display
4503 with something else. Use AREF.
4504 (with_echo_area_buffer_unwind_data, display_menu_bar)
4505 (decode_mode_spec_coding): Use AREF and ASIZE.
4506
4507 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4508 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4509 * vmstime.h: Files removed.
4510
4511 * unexencap.c, unexfx2800.c: Files removed.
4512
4513 * dispnew.c (direct_output_for_insert): Give up if we are showing
4514 a message or just cleared the message because we might need to
4515 resize the echo area window or display an empty echo area.
4516
4517 2001-02-21 Gerd Moellmann <gerd@gnu.org>
4518
4519 * xdisp.c (redisplay_internal): Do the
4520 mark_window_display_accurate after all windows have been
4521 redisplayed because this call resets flags in buffers which are
4522 needed for proper redisplay.
4523
4524 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4525 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
4526 the old names.
4527
4528 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4529 busy_window to hourglass_window, busy_p to hourglass_p.
4530
4531 * msdos.h (struct x_output): Rename busy_window to
4532 hourglass_window, busy_p to hourglass_p.
4533
4534 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4535 busy_window to hourglass_window, busy_p to hourglass_p.
4536
4537 * xfns.c: Rename everything containing *busy_cursor* and similar
4538 to *hourglass*.
4539 (syms_of_w32fns): Rename x-busy-pointer-shape to
4540 x-hourglass-pointer-shape, display-busy-cursor to
4541 display-hourglass, busy-cursor-delay to hourglass-delay.
4542
4543 * w32fns.c: Rename everything containing *busy_cursor* and similar
4544 to *hourglass*.
4545 (syms_of_w32fns): Rename x-busy-pointer-shape to
4546 x-hourglass-pointer-shape, display-busy-cursor to
4547 display-hourglass, busy-cursor-delay to hourglass-delay.
4548
4549 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4550 of its busy_p flag.
4551
4552 * dispextern.h (start_hourglass, cancel_hourglass)
4553 (display_hourglass_p): Renamed from *busy_cursor*.
4554
4555 2001-02-20 Gerd Moellmann <gerd@gnu.org>
4556
4557 * keyboard.c (read_char): When an event from unread-command-events
4558 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4559
4560 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4561 equal to the current buffer.
4562
4563 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4564 nil, otherwise we're left with truncate_lines t when a message
4565 is printed with message-truncate-lines bound to t.
4566
4567 2001-02-19 Gerd Moellmann <gerd@gnu.org>
4568
4569 * window.c (Fmove_to_window_line): Undo last change.
4570 (displayed_window_lines): Call line_bottom_y to determine
4571 the line's bottom position.
4572
4573 * dispextern.h (line_bottom_y): Add prototype.
4574
4575 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
4576 (pos_visible_p): Use it.
4577
4578 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4579 set redisplaying_p to 0 here instead of in Frecursive_edit.
4580 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4581 set redisplaying_p.
4582
4583 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
4584 New variables.
4585 (syms_of_xdisp): Initialize new variables.
4586 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4587 Specbind `inhibit-menubar-update' when updating the menu bar.
4588
4589 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4590 safe_run_hooks.
4591
4592 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4593 safe_run_hooks.
4594
4595 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4596 is null.
4597
4598 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4599 to the start of the file.
4600
4601 2001-02-16 Gerd Moellmann <gerd@gnu.org>
4602
4603 * window.c (set_window_buffer): Fix last change.
4604
4605 * window.c (set_window_buffer): Set window's vscroll to 0.
4606
4607 * window.c (coordinates_in_window): Increase width of area
4608 where the vertical line can be dragged.
4609
4610 * xterm.c (x_set_glyph_string_background_width): Extend the
4611 background face to the end of the drawing area in the text
4612 area, only.
4613
4614 * xdisp.c (handle_single_display_prop): Set iterator's position
4615 to where the `display' property starts, like for images.
4616 (dump_glyph): New function.
4617 (dump_glyph_row): Use it. Dump info about marginal areas.
4618
4619 * dispnew.c (direct_output_for_insert): Recognize more cases where
4620 glyphs can be written instead of being inserted.
4621
4622 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4623 the left x-coordinate of the area to shift.
4624
4625 * dired.c (directory_files_internal): Set result list to nil
4626 before retrying.
4627
4628 2001-02-15 Kenichi Handa <handa@etl.go.jp>
4629
4630 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4631 invalid multibyte sequence, treat *SRC as a character of
4632 eight-bit-graphic.
4633
4634 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4635
4636 * textprop.c (Fset_text_properties): Doc fix.
4637
4638 2001-02-15 Gerd Moellmann <gerd@gnu.org>
4639
4640 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4641
4642 2001-02-14 Dave Love <fx@gnu.org>
4643
4644 * coding.c: Doc and message fixes.
4645
4646 2001-02-14 Andrew Innes <andrewi@gnu.org>
4647
4648 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4649 Emacs frame above the screen size.
4650
4651 2001-02-14 Gerd Moellmann <gerd@gnu.org>
4652
4653 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4654
4655 2001-02-13 Gerd Moellmann <gerd@gnu.org>
4656
4657 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4658 case that TO ends up beyond ZV after running before-change-functions.
4659
4660 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4661 the selected window if it is showing the buffer in question.
4662
4663 * dired.c (directory_files_internal): Initialize errno.
4664 (toplevel): Include errno.h.
4665
4666 2001-02-13 Kenichi Handa <handa@etl.go.jp>
4667
4668 * xfaces.c (best_matching_font): New parameter width_ratio.
4669 Multiply avgwidth by width_ratio.
4670 (choose_face_font): Call best_matching_font with width_ratio
4671 calculated from the column width of C.
4672
4673 2001-02-12 Andrew Innes <andrewi@gnu.org>
4674
4675 The following changes are to draw box lines inside characters area
4676 if line-width is negative.
4677
4678 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4679 face->box_line_width is negative.
4680 (x_produce_stretch_glyph): Likewise.
4681 (x_produce_glyphs): Likewise.
4682 (x_estimate_mode_line_height): Likewise.
4683 (x_draw_glyph_string_background): Likewise.
4684 (x_draw_glyph_string_foreground): Likewise.
4685 (x_draw_composite_glyph_string_foreground): Likewise.
4686 (x_draw_glyph_string_box): Likewise.
4687 (x_draw_image_foreground): Likewise.
4688 (x_draw_image_relief): Likewise.
4689 (x_draw_image_foreground_1): Likewise.
4690 (x_draw_image_glyph_string): Likewise.
4691
4692 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4693
4694 The following changes are to draw box lines inside characters area
4695 if line-width is negative.
4696
4697 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4698 face->box_line_width is negative.
4699 (x_produce_stretch_glyph): Likewise.
4700 (x_produce_glyphs): Likewise.
4701 (x_estimate_mode_line_height): Likewise.
4702 (x_draw_glyph_string_background): Likewise.
4703 (x_draw_glyph_string_foreground): Likewise.
4704 (x_draw_composite_glyph_string_foreground): Likewise.
4705 (x_draw_glyph_string_box): Likewise.
4706 (x_draw_image_foreground): Likewise.
4707 (x_draw_image_relief): Likewise.
4708 (x_draw_image_foreground_1): Likewise.
4709 (x_draw_image_glyph_string): Likewise.
4710
4711 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4712 and :line-width can be negative.
4713 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
4714
4715 2001-02-09 Jason Rumney <jasonr@gnu.org>
4716
4717 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4718 characters the same as ASCII and latin-1.
4719 (x_display_and_set_cursor): Check for the focus frame's selected
4720 window instead of selected_window.
4721 (x_after_update_window_line): Don't clear if frame's internal
4722 border width is zero.
4723 (x_new_font): Don't change a tooltip's size.
4724 (w32_initialize): Set char_ins_del_ok to 1.
4725
4726 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4727 (x_set_font): If font hasn't changed, avoid recomputing
4728 faces and other things.
4729 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4730 (Fx_create_frame): Add the tool bar height to the frame height.
4731 (x_create_tip_frame): Prevent changing the tooltip's
4732 background color by specifying a color for the default font
4733 in .Xdefaults.
4734 (Qcancel_timer): New variable.
4735 (syms_of_w32fns): Initialize and staticpro it.
4736 (Fx_hide_tip, Fx_show_tip): Use it.
4737 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4738 the timer.
4739 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4740
4741 * w32.c (init_environment): Duplicate local string before putenv.
4742
4743 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4744
4745 * charset.c (Fstring): A typo.
4746
4747 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4748
4749 * charset.c (Fstring): If all arguments are less than 256, return
4750 a unibyte string.
4751
4752 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4753 return a unibyte string.
4754
4755 * coding.c (code_convert_region): After detecting a coding, if
4756 nothing found, set coding->composing to COMPOSITION_NO.
4757 (decode_coding_string): Likewise.
4758
4759 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4760
4761 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4762 to avoid overflow.
4763
4764 2001-02-07 Kenichi Handa <handa@etl.go.jp>
4765
4766 * charset.c (parse_str_to_multibyte): New function.
4767
4768 * charset.h (parse_str_to_multibyte): Extern it.
4769
4770 * print.c (print_string): If we are going to print a unibyte
4771 string into a multibyte buffer, convert the string to multibyte by
4772 str_to_multibyte.
4773
4774 2001-02-06 Andrew Innes <andrewi@gnu.org>
4775
4776 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4777 been created. It seems we can get sent window messages such as
4778 WM_ERASEBKGND before we properly update a frame.
4779
4780 2001-02-06 Gerd Moellmann <gerd@gnu.org>
4781
4782 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4783 Avoid some unnecessary cursor positioning.
4784
4785 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4786
4787 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
4788 (LFACE_AVGWIDTH): New macro.
4789 (LFACEP): Use AREF.
4790 (check_lface_attrs): Check LFACE_AVGWIDTH.
4791 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4792 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4793 (merge_face_vectors): Check LFACE_AVGWIDTH.
4794 (Finternal_make_lisp_face): Use AREF.
4795 (xm_set_menu_resources_from_menu_face)
4796 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4797 (Finternal_lisp_face_empty_p): Use AREF.
4798 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4799 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4800 Compare average widths..
4801 (best_matching_font): Arrange for comparing average widths.
4802
4803 * dispextern.h (enum lface_attribute_index):
4804 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4805
4806 2001-02-05 Dave Love <fx@gnu.org>
4807
4808 * puresize.h: Revert last change following loadup.el change.
4809
4810 2001-02-05 Andrew Innes <andrewi@gnu.org>
4811
4812 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4813 invocation of temacs, to work with Windows 2000.
4814 (bootstrap-emacs): Ditto.
4815
4816 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4817
4818 * xterm.c (x_display_and_set_cursor): Check for the focus
4819 frame's selected window instead of selected_window.
4820
4821 * xdisp.c (try_scrolling): If point is in the line below the
4822 window, make sure to move the iterator at least a canonical
4823 char height down.
4824
4825 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
4826
4827 2001-02-05 Kenichi Handa <handa@etl.go.jp>
4828
4829 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4830 If invalid, execute CCL_INVALID_CMD.
4831 (ccl_driver): If the CCL program is terminated because of
4832 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4833 destination instead of throwing them away.
4834
4835 2001-02-02 Gerd Moellmann <gerd@gnu.org>
4836
4837 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4838 faces and other things.
4839
4840 * xdisp.c (get_next_display_element): Fix case of empty
4841 display table entry.
4842
4843 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4844
4845 * editfns.c (Fconstrain_to_field): Doc fix.
4846
4847 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4848 into `thoroughly', to make it consistent with the doc string.
4849
4850 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4851
4852 2001-02-01 Gerd Moellmann <gerd@gnu.org>
4853
4854 * search.c (search_buffer): Call set_search_regs with a byte
4855 position, not a character position.
4856
4857 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4858 minibuffer-only,
4859
4860 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4861
4862 * frame.c (Fmodify_frame_parameters): Doc fix.
4863
4864 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4865
4866 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4867 identifier which is not reserved by Standard C.
4868
4869 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4870
4871 * window.c (enum window_part): New enumeration.
4872 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4873 Qright_bitmap_area.
4874 (coordinates_in_window): Return an enumerator from enum
4875 window_part. Fix handling of right scroll bar.
4876 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4877 `right-fringe' instead of `left-bitmap-area' and
4878 `right-bitmap-area'. Use enumerators from enum window_part
4879 instead of hard-coded integers.
4880 (check_window_containing, window_from_coordinates):
4881 Use enumerators from enum window_part instead of hard-coded integers.
4882 (syms_of_window): Replace Qleft_bitmap_area and
4883 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4884
4885 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4886
4887 * editfns.c (Fformat_time_string): Doc fix.
4888
4889 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4890
4891 * keymap.c (Fwhere_is_internal): Use the first valid binding
4892 if no ascii binding is found (when firstonly is t).
4893
4894 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4895
4896 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4897 instead of Finteractive_p.
4898
4899 * lisp.h (interactive_p): Add prototype.
4900
4901 * eval.c (interactive_p): New function.
4902 (Finteractive_p): Use it.
4903
4904 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4905
4906 2001-01-31 Dave Love <fx@gnu.org>
4907
4908 * .gdbinit (hook-run): Define to run xreload.
4909
4910 * textprop.c (Fset_text_properties): Fix newline in doc string.
4911
4912 2001-01-30 Gerd Moellmann <gerd@gnu.org>
4913
4914 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4915 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
4916
4917 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
4918 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
4919 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4920
4921 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4922 height.
4923
4924 2001-01-30 Dave Love <fx@gnu.org>
4925
4926 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4927 AFTER_POTENTIAL_GC.
4928
4929 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4930
4931 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4932 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
4933
4934 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4935
4936 * textprop.c (Fset_text_properties): Doc fix.
4937
4938 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4939
4940 * xdisp.c (forward_to_next_line_start): Remove xassert.
4941
4942 2001-01-29 Jason Rumney <jasonr@gnu.org>
4943
4944 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
4945 returning without releasing it.
4946
4947 2001-01-29 Kenichi Handa <handa@etl.go.jp>
4948
4949 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4950 for '^', '$', and '\0'.
4951
4952 2001-01-28 Andrew Choi <akochoi@i-cable.com>
4953
4954 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4955 regex for '^', '$', and '\0'.
4956
4957 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4958 only if current_sblock has been initialized.
4959
4960 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4961 terminal frame even if it is the only visible frame.
4962
4963 2001-01-28 Kenichi Handa <handa@etl.go.jp>
4964
4965 * fontset.c (font_family_registry): Even if FONTNAME conform to
4966 XLFD, if it specifies other fields than family and registry,
4967 return FONTANME. New argument FORCE if nonzero cancel that feature.
4968 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
4969 a signle byte character. Don't set FAMILY part to nil here.
4970 It is handled by the caller choose_face_font.
4971 (Fnew_fontset): Call font_family_registry with FORCE 0.
4972 (Fset_fontset_font): Likewise.
4973
4974 2001-01-27 Gerd Moellmann <gerd@gnu.org>
4975
4976 * xdisp.c (display_line): Don't treat a newline as fitting
4977 on the line.
4978
4979 2001-01-26 Gerd Moellmann <gerd@gnu.org>
4980
4981 * window.c (size_window): Set the window's orig_top to nil when
4982 changing heights, so that a future shrink_mini_window won't
4983 restore a bogus height.
4984
4985 * frame.c (do_switch_frame): If selected frame has a mini-window,
4986 resize that to exact size.
4987
4988 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4989
4990 * xdisp.c (display_line): Simplify check for glyphs fitting
4991 entirely in the line.
4992
4993 * xfns.c (xic_style): New variable.
4994 (create_frame_xic): Move static variable to global scope for
4995 the case that `static' gets defined away.
4996
4997 2001-01-26 Kenichi Handa <handa@etl.go.jp>
4998
4999 * coding.c (decode_coding): Set a flag for inhibiting
5000 inconsistent eol.
5001 (code_convert_region): Always set saved_coding_symbol.
5002 (decode_coding_string): Likewise. Update coding->symbol when we
5003 encounter a inconsistent eol by the same way as code_convert_region.
5004
5005 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5006
5007 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5008 XClearArea.
5009
5010 * xterm.c (x_after_update_window_line): Don't clear if frame's
5011 internal border width is zero.
5012 (x_clear_area): New function.
5013 (x_after_update_window_line, x_clear_end_of_line)
5014 (x_scroll_bar_create, x_scroll_bar_set_handle)
5015 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5016 instead of XClearArea.
5017
5018 * xterm.h (x_clear_area): Add prototype.
5019
5020 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5021 which doesn't seem necessary anymore with Lesstif 0.92.
5022
5023 2001-01-25 Dave Love <fx@gnu.org>
5024
5025 * puresize.h (BASE_PURESIZE): Up to 720000.
5026
5027 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5028
5029 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5030
5031 * xdisp.c (echo_area_display): Don't call redisplay_internal
5032 when Emacs is shutting down. We can't run hooks etc. that
5033 would be necessary to do a redisplay.
5034
5035 * lread.c (read_integer): Use type EMACS_INT instead of int.
5036
5037 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5038
5039 * ccl.c (ccl_driver): Fix last change.
5040
5041 2001-01-25 Kenichi Handa <handa@etl.go.jp>
5042
5043 * ccl.h (sturct ccl_program): New member suppress_error.
5044
5045 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
5046 insert error message to the output.
5047 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5048
5049 * coding.h (struct coding_system): New member suppress_error.
5050
5051 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5052 (Fset_terminal_coding_system_internal): Set the member
5053 suppress_error to 1.
5054 (Fset_safe_terminal_coding_system_internal): Likewise.
5055
5056 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5057
5058 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5059 as if it was a `charset'.
5060
5061 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5062
5063 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5064 value in where_is_cache; the next lookup in the cache returns
5065 something bogus if we do.
5066
5067 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5068
5069 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5070 if HAVE_WINDOW_SYSTEM isn't defined.
5071
5072 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5073
5074 * fns.c (sweep_weak_table): Fix code taking items out of
5075 the hash collision chain. Some cleanup.
5076
5077 * xterm.c (x_new_font): Don't change a tooltip's size.
5078
5079 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5080 background color by specifying a color for the default font
5081 in .Xdefaults.
5082
5083 2001-01-24 Kenichi Handa <handa@etl.go.jp>
5084
5085 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5086 a workaround for SunOS 4's cc.
5087 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5088 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5089 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5090 statement.
5091
5092 2001-01-23 Gerd Moellmann <gerd@gnu.org>
5093
5094 * xterm.c (x_set_window_size_1): New function extracted from
5095 x_set_window_size.
5096 (x_set_window_size): Use it.
5097 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5098 doesn't have a widget, like tooltips.
5099
5100 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5101
5102 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5103
5104 2001-01-23 Kenichi Handa <handa@etl.go.jp>
5105
5106 * fns.c (Fset_char_table_default): Fix to make sub char-table
5107 correctly.
5108
5109 2001-01-22 Gerd Moellmann <gerd@gnu.org>
5110
5111 * xdisp.c (build_desired_tool_bar_string): Make sure we have
5112 a desired tool bar string, even if there are no tool bar items.
5113
5114 * xdisp.c (Ftool_bar_lines_needed): New function.
5115 (syms_of_xdisp): Defsubr it.
5116
5117 * editfns.c (Fformat): Don't extend text properties from arguments
5118 to padding chars in the result.
5119
5120 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5121
5122 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5123
5124 2001-01-20 Andrew Innes <andrewi@gnu.org>
5125
5126 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
5127 (w32_initialize): Don't set term hooks that aren't actually needed
5128 in windowed mode.
5129
5130 * xfaces.c (realize_default_face):
5131 (realize_face):
5132 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5133
5134 * xdisp.c (handle_single_display_prop): Remove references to
5135 FRAME_W32_CONSOLE_P.
5136
5137 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
5138
5139 * frame.h (output_method): Remove output_w32_console method.
5140 (FRAME_W32_CONSOLE_P): Remove macro.
5141
5142 * frame.c (Qw32_console): Remove variable.
5143 (Fframep): Remove references to it.
5144 (syms_of_frame): Ditto.
5145 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5146
5147 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5148 redefinition.
5149
5150 2001-01-20 Kenichi Handa <handa@etl.go.jp>
5151
5152 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5153
5154 2001-01-19 Andrew Innes <andrewi@gnu.org>
5155
5156 * w32.c (init_environment): Add a version-independent site-lisp
5157 directory to EMACSLOADPATH, after the version dependent one.
5158
5159 2001-01-19 Gerd Moellmann <gerd@gnu.org>
5160
5161 * editfns.c (Fbuffer_substring): Doc fix.
5162
5163 * xdisp.c (message_dolog, message2, message2_nolog):
5164 Rename parameter LEN to NBYTES.
5165
5166 2001-01-19 Kenichi Handa <handa@etl.go.jp>
5167
5168 * charset.c (strwidth): Use c_string_width.
5169 (c_string_width): New function.
5170 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5171 Caller changed.
5172
5173 * charset.h (c_string_width, lisp_string_width): Extern them.
5174
5175 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
5176
5177 * indent.c (check_composition): Check validity of composition.
5178
5179 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5180 characters by calling c_string_width.
5181 (x_consider_frame_title): Get byte length of frame tile string
5182 correctly.
5183 (display_mode_element): Pay attention to width of non-ASCII
5184 characters by calling strwidth.
5185
5186 2001-01-18 Gerd Moellmann <gerd@gnu.org>
5187
5188 * xfns.c (Qcancel_timer): New variable.
5189 (syms_of_xfns): Initialize and staticpro it.
5190 (Fx_hide_tip, Fx_show_tip): Use it.
5191 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5192 the timer.
5193 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5194
5195 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5196
5197 * window.h (WINDOW_LIVE_P): New macro.
5198
5199 * window.c (window_size_fixed): New variable.
5200 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5201 the doc string.
5202
5203 * eval.c (specbind): If binding a per-buffer variable which
5204 doesn't have a buffer-local value in the current buffer, change
5205 the global value by changing the value of the symbol bound in all
5206 buffers not having their own value, to make it consistent with
5207 what happens with other buffer-local variables.
5208
5209 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5210
5211 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5212 when searching for a newline.
5213
5214 2001-01-18 Kenichi Handa <handa@etl.go.jp>
5215
5216 * xdisp.c (display_string): Fix previous change.
5217
5218 2001-01-18 Jason Rumney <jasonr@gnu.org>
5219
5220 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5221 GLYPH_DEBUG is defined.
5222 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5223 true for images with `:ascent 100'.
5224 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5225 meantime, use face MOUSE_FACE_ID.
5226 If first glyph isn't a character glyph, use the ASCII NUL
5227 character to determine the face.
5228 (expose_area): Do not treat left margin specially.
5229 (note_mode_line_highlight): If no local_map, check global keymap.
5230 (note_mouse_highlight): Initialize overlay.
5231 (clear_mouse_face): Don't return if tip_frame is non-nil.
5232 (show_scroll_bars): Remove unused function.
5233 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5234 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5235 Clip to row.
5236 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
5237 (x_free_frame_resources): Unload relief colors.
5238
5239 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5240
5241 * xdisp.c (forward_to_next_line_start): Avoid calling
5242 get_next_display_element when the newline is already found.
5243 This may change the iterator's position, when its current position is
5244 equal to the iterator's stop_charpos.
5245
5246 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5247 zero, use this method only at the end of a line.
5248
5249 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
5250 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5251 if SCALABLE_FONTS_P is set.
5252
5253 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5254 so that scalable fonts are included.
5255
5256 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5257 In the cache, use a key containing the information if scalable
5258 fonts are included.
5259 (x_load_font): Adapt to change of keys in the font cache.
5260
5261 2001-01-17 Kim F. Storm <storm@filanet.dk>
5262
5263 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5264 XListFonts to take advantage of font caching.
5265
5266 * xterm.c (x_list_fonts): Ensure caching font information when
5267 called for a null frame, which is the case frequently when Emacs
5268 starts.
5269
5270 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5271
5272 * xfns.c (QCconversion): Replaces QCalgorithm.
5273
5274 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5275
5276 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5277 of :algorithm.
5278
5279 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5280 not everything could be displayed.
5281
5282 * line.h, x-list-font.c: Files removed because unused.
5283
5284 2001-01-17 Andrew Innes <andrewi@gnu.org>
5285
5286 * dired.c (directory_files_internal): Convert result from readdir
5287 to a unibyte string initially, to avoid possible misinterpretation
5288 of some bytes as the internal form of Emacs characters.
5289
5290 2001-01-17 Kenichi Handa <handa@etl.go.jp>
5291
5292 * fns.c (concat): Be sure to avoid putting the same `composition'
5293 property on the adjacent regions.
5294
5295 2001-01-16 Gerd Moellmann <gerd@gnu.org>
5296
5297 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
5298 (Fscroll_right, Fscroll_left): Set it here instead, if called
5299 interactively.
5300
5301 * buffer.c (Fset_buffer_modified_p): Set buffer's
5302 prevent_redisplay_optimizations_p flag.
5303
5304 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
5305 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5306 with additional arg.
5307
5308 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5309 Change prototype.
5310
5311 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5312 FROM_WHERE, for debugging.
5313
5314 2001-01-16 Kenichi Handa <handa@etl.go.jp>
5315
5316 * ccl.c (Fregister_ccl_program): Handle the return value of
5317 resolve_symbol_ccl_program correctly.
5318 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
5319
5320 2001-01-15 Gerd Moellmann <gerd@gnu.org>
5321
5322 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5323 has gone in the meantime, use face MOUSE_FACE_ID.
5324
5325 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5326 If x_display_info_for_display returns null, don't try to close
5327 the display; we didn't open it.
5328
5329 * dispnew.c (save_or_restore_current_matrices): Function removed.
5330 (save_current_matrix, restore_current_matrix): New functions.
5331 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5332 restore the frame's current matrix. Due to the glyph pointer
5333 setup done in adjust_glyph_matrix, there is no easy way to make
5334 saving the current matrix in the desired matrix generally correct,
5335 so don't try it.
5336
5337 2001-01-15 Kenichi Handa <handa@etl.go.jp>
5338
5339 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5340 truncation glyphs.
5341 (display_line): Optimize for wide characters.
5342 (display_string): Don't try to display a multi-column character
5343 partially. On ttys, produce more than one truncation glyph for
5344 multi-column characters that don't fit on the line.
5345
5346 2001-01-13 Kenichi Handa <handa@etl.go.jp>
5347
5348 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5349 Define it instead of WORDS_BIGENDIAN. Caller changed.
5350
5351 2001-01-13 Jason Rumney <jasonr@gnu.org>
5352
5353 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5354 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
5355 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5356 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
5357
5358 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5359 (x_draw_image_relief, x_draw_image_foreground_1)
5360 (x_draw_image_glyph_string): Adapt to change of image margins.
5361
5362 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5363 variables.
5364
5365 * w32bdf.c (search_file_line, get_cached_font_char)
5366 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5367
5368 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5369
5370 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5371 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5372 (Fw32_send_sys_command): Remove unused variables.
5373 (w32_msg_pump): Add parentheses.
5374
5375 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5376 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5377 Add parentheses.
5378
5379 2001-01-12 Gerd Moellmann <gerd@gnu.org>
5380
5381 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5382 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5383 being a pair of margins.
5384 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5385 to DEFVAR_LISP. Extend doc.
5386
5387 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5388 margins.
5389 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5390 pair of integers `(X . Y)', use X for the horizontal and Y for the
5391 vertical margin.
5392 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5393 (parse_image_spec): Check it.
5394 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5395 (tiff_format, gif_format, gs_format):
5396 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
5397
5398 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5399 (x_draw_image_relief, x_draw_image_foreground_1)
5400 (x_draw_image_glyph_string): Adapt to the change of image margins.
5401
5402 * dispextern.h (struct image): Replace member `margin' with
5403 `hmargin' and `vmargin'.
5404
5405 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5406 and GLYPHS.
5407
5408 * dispnew.c (update_text_area): Put code which decrements the
5409 stop position when the row's face extends to the end of the
5410 line in #if 0.
5411
5412 * xfns.c (x_set_mouse_color): Fix color allocation.
5413
5414 * keyboard.c: Call get_local_map with new argument list.
5415
5416 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5417
5418 * intervals.h (enum map_property): Removed.
5419 (get_local_map): Change prototype.
5420
5421 * keymap.c: Call get_local_map with new argument list.
5422 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5423
5424 2001-01-11 Gerd Moellmann <gerd@gnu.org>
5425
5426 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5427 of the size needed for the tool bar string. For the last image,
5428 use a `display' property that reaches to the end of the string.
5429
5430 * xselect.c (selection_request_dpyinfo): New variable.
5431 (x_handle_selection_request): Set it.
5432 (x_selection_request_lisp_error): Don't call
5433 x_decline_selection_request if selection request's display has
5434 been closed.
5435
5436 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5437 Do the unregister_colors before calling XFreeColors.
5438
5439 2001-01-10 Dave Love <fx@gnu.org>
5440
5441 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5442 ${SOME_MACHINE_LISP}, not ${lisp}.
5443
5444 2001-01-10 Gerd Moellmann <gerd@gnu.org>
5445
5446 * xdisp.c (display_line): On ttys, produce more than one truncation
5447 glyph for multi-column characters that don't fit on the line.
5448
5449 * xselect.c (x_reply_selection_request): Add a comment.
5450
5451 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5452 XkbGetNames instead of XkbGetKeyboard.
5453
5454 2001-01-10 Dave Love <fx@gnu.org>
5455
5456 * sysdep.c (random): Revert the declaration.
5457
5458 2001-01-09 Gerd Moellmann <gerd@gnu.org>
5459
5460 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5461 Call function string_bytes.
5462 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5463
5464 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5465 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5466 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5467 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5468 the current sblock.
5469 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5470 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5471 after sweeping strings, and at the end.
5472 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5473
5474 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5475 ensure that pop_message is called.
5476
5477 * keyboard.c (Fexecute_extended_command): Use a
5478 record_unwind_protect to ensure that pop_message is called.
5479
5480 * lisp.h (push_message_unwind): Add prototype.
5481
5482 * xdisp.c (push_message_unwind): New function.
5483
5484 * fileio.c (do_auto_save_unwind): Do the pop_message here
5485 instead of in Fdo_auto_save.
5486 (Fdo_auto_save): Don't call pop_message.
5487
5488 2001-01-08 Ken Raeburn <raeburn@gnu.org>
5489
5490 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5491 in inner block.
5492
5493 2001-01-08 Gerd Moellmann <gerd@gnu.org>
5494
5495 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5496 when increasing window's vscroll.
5497
5498 * macros.c (Qkbd_macro_termination_hook): New variable.
5499 (syms_of_macros): Initialize and staticpro it.
5500 (pop_kbd_macro): Run kbd-macro-termination-hook.
5501
5502 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5503
5504 2001-01-07 Dave Love <fx@gnu.org>
5505
5506 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5507 arglist, for documentation's sake.
5508
5509 2001-01-06 Andrew Innes <andrewi@gnu.org>
5510
5511 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5512 of *.pdb.
5513
5514 2001-01-05 Andrew Innes <andrewi@gnu.org>
5515
5516 * term.c (update_end): Don't check updating_frame; for some reason
5517 this can be 0 sometimes, such as after dismissing a popup menu,
5518 and isn't necessary given the explicit frame argument.
5519
5520 2001-01-05 Gerd Moellmann <gerd@gnu.org>
5521
5522 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5523 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5524
5525 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5526
5527 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
5528
5529 * xfns.c (x_create_tip_frame): Preserve the value of
5530 face_change_count around the creation of the tip frame.
5531
5532 * xfns.c (last_show_tip_args): New variable.
5533 (compute_tip_xy): New function.
5534 (Fx_show_tip): Reuse an existing tip frame, if possible.
5535 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5536
5537 2001-01-04 Dave Love <fx@gnu.org>
5538
5539 * editfns.c (Fformat): Doc fix.
5540
5541 * systime.h (set_file_times): Prototype.
5542
5543 * widget.h (EmacsFrameSetCharSize_): Prototype.
5544
5545 * sysdep.c (random, srandom): Declare explicitly.
5546
5547 * dispextern.h (move_it_vertically_backward): Declare.
5548
5549 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5550
5551 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5552 like in Fx_create_frame.
5553
5554 * xfaces.c (set_font_frame_param): Don't do anything for
5555 non-graphical frames.
5556
5557 * window.c (Fdelete_other_windows): Set window's window_end_valid
5558 to nil when changing the window's start. Don't change the
5559 window's start when its top position hasn't changed. If we do,
5560 this will set the window's optional_new_start, which act's like a
5561 force_start during redisplay with C-x 1 M-> under particular
5562 circumstances (see report from Per Starback to emacs-pretest-bug
5563 from 2000-12-13.).
5564
5565 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5566
5567 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5568 short cut at the start of the function. Add an assertion.
5569 (reseat_at_next_visible_line_start): Add an assertion.
5570
5571 * window.c (Frecenter): When changing the window start, set the
5572 window's window_end_valid to nil.
5573 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5574
5575 * dispextern.h (move_it_past_eol): Add prototype.
5576
5577 * xdisp.c (move_it_past_eol): New function.
5578
5579 * window.c (Fwindow_end): Doc fix.
5580
5581 2001-01-03 Dave Love <fx@gnu.org>
5582
5583 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
5584
5585 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5586
5587 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5588 the enabled_p flag of the glyph row at window_end_vpos to 0.
5589 (handle_single_display_prop): Fix last change.
5590
5591 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5592
5593 * window.c (Frecenter): Doc fix.
5594
5595 2001-01-02 Andrew Innes <andrewi@gnu.org>
5596
5597 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5598
5599 * frame.h (output_method): Add output_w32_console method.
5600 (FRAME_W32_CONSOLE_P): New macro.
5601
5602 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5603 use output_w32_console method.
5604 (Qw32_console): New Lisp_Object.
5605 (Fframep): Return it.
5606 (syms_of_frame): Init it.
5607 (Fframe_parameters): Report w32console as font for w32_console frames.
5608
5609 * xfaces.c (realize_default_face): Set face foreground and
5610 background to unspecified for w32_console frames.
5611 (realize_face): Realize face cache for w32_console frames.
5612 (realize_tty_face): Accept w32_console frames.
5613
5614 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
5615 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5616 necessary, even if running interactively.
5617
5618 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5619 w32_console frames.
5620
5621 * w32term.c (x_update_begin):
5622 (x_update_end):
5623 (x_clear_frame):
5624 (x_ins_del_lines):
5625 (x_change_line_highlight):
5626 (x_delete_glyphs):
5627 (w32_ring_bell):
5628 (x_update_begin):
5629 (x_update_end):
5630 (w32_reassert_line_highlight):
5631 (w32_frame_rehighlight):
5632 (w32_frame_raise_lower): Do nothing if not w32 frame.
5633
5634 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5635
5636 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5637 system doesn't tell us directly.
5638 (Fx_display_visual_class): Implement properly.
5639
5640 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5641
5642 * window.c (Frecenter): Handle centering in graphical frames
5643 specially. Centering on the basis of line counts doesn't work
5644 reliably with variable-height lines.
5645
5646 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5647
5648 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5649 and al[].
5650
5651 * composite.c (run_composition_function): Remove unused var `val'.
5652 (update_compositions): Remove unused variable `hook'.
5653
5654 * intervals.c (get_local_map): Remove unused variable `tem'.
5655
5656 * doprnt.c (doprnt1): Remove unused variable `size'.
5657
5658 * fns.c (Flength): Remove unused variable `tail'.
5659 (Fdelete): Remove unused variable `size'.
5660
5661 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5662 and `gcpro2'.
5663
5664 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
5665
5666 * data.c (find_symbol_value): Remove extra 3rd argument in the
5667 call to swap_in_symval_forwarding.
5668
5669 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
5670
5671 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5672 (trivial_regexp_p): Remove unused variable `c'.
5673 (boyer_moore): Remove unused variable `k'.
5674
5675 * indent.c (current_column): Remove unused variable `stopchar'.
5676 (Fcompute_motion): Remove unused variable `contin'.
5677
5678 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5679
5680 * dired.c (directory_files_internal): Fix a typo in a comment.
5681 Remove an unused variable `handler'.
5682 (file_name_completion): Remove unused function-scope variable `dp'.
5683 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5684 on BSD4_2.
5685
5686 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
5687
5688 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5689 and `buf'.
5690 (Fmarker_insertion_type): Remove unused variable `buf'.
5691
5692 * insdel.c (make_gap): Remove unused variable `result'.
5693
5694 * keyboard.c (record_char): Remove unused function-scope var `help'.
5695 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5696 (menu_bar_items): Remove unused function-scope variable `tem'.
5697
5698 * fontset.c (fontset_ref): Remove unused variable `i'.
5699 (fontset_set): Remove unused variables `j' and `tmp'.
5700 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
5701 (make_fontset_for_ascii_face): Remove unused variable `name'.
5702 (fs_load_font): Remove unused variable `font_idx'.
5703 (fs_query_fontset): Remove unused function-local variable `fontset'.
5704 (list_fontsets): Remove unused variable `tail'.
5705 (Fnew_fontset): Remove unused variables `family' and `registry'.
5706 (accumulate_font_info): Remove unused variable `tmp'.
5707 (Ffontset_font): Remove unused variable `id'.
5708 (syms_of_fontset): Remove unused variable `i'.
5709
5710 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5711 to x_term_init.
5712 (lookup_image): Remove unused variable `file'.
5713 (xbm_load): Remove unused variables `bitmap_data', `height', and
5714 `width'. Remove function-local variable `i', leave the
5715 block-local one.
5716 (gif_load): Remove unused variable `inc'.
5717
5718 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
5719 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5720 leave only the one in the inner block.
5721
5722 * xfaces.c (face_fontset, realize_default_face): Remove unused
5723 variable `fontset'.
5724 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5725
5726 * term.c (encode_terminal_code): Remove unused variable `c'.
5727
5728 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5729 char *' instead of `char *'.
5730
5731 * category.c (Fcategory_docstring): Remove unused variable `doc'.
5732 (Fget_unused_category): Remove unused variable `docstring_vector'.
5733 (Fchar_category_set): Remove unused variables `val', `charset',
5734 `c1' and `c2'.
5735
5736 * coding.c (detect_coding_iso2022, setup_coding_system):
5737 Remove unused variable `i'.
5738 (detect_coding_mask): Remove unused variable `idx'.
5739 (detect_coding): Remove unused variable `i'.
5740 (ccl_coding_driver): Remove unused variable `result'.
5741 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
5742 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
5743 (encode_coding_string): Remove unused variables `gcpro1' and
5744 `saved_coding_symbol'.
5745 (Ffind_coding_systems_region_internal): Remove function-local
5746 variable args[], leave only the block-local one.
5747 (code_convert_region1): Remove unused variable `len'.
5748
5749 * charset.c (char_printable_p): Remove unused variable `chars'.
5750 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5751 (str_to_multibyte): Remove unused variable `c'.
5752
5753 * window.c (size_window): Remove block-local variable `min_size'.
5754
5755 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5756 `header_line_height'.
5757 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5758 enum display_element_type.
5759
5760 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5761
5762 * xterm.c (x_connection_closed): Catch X errors around all
5763 statements that call X. Save away the error message in a local copy.
5764
5765 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5766 the start.
5767
5768 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5769 in or at the start of invisible text.
5770
5771 * dispnew.c (update_window): Don't check_current_matrix_flags.
5772
5773 2001-01-01 Jason Rumney <jasonr@gnu.org>
5774
5775 * w32fns.c (x_figure_window_size): Do not allow new_height and
5776 new_width of frame to override specified values.
5777
5778 2000-12-30 Kenichi Handa <handa@etl.go.jp>
5779
5780 * composite.c (find_composition): Fix a code for searching backward.
5781
5782 2000-12-29 Gerd Moellmann <gerd@gnu.org>
5783
5784 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
5785 (update_window) [GLYPH_DEBUG]: Call it.
5786 (scrolling_window): Prevent including current rows which are below
5787 what's displayed in the window.
5788
5789 * xdisp.c (try_window_reusing_current_matrix)
5790 <new start <= old start>: Disable rows in the current matrix
5791 which are below the window after scrolling.
5792
5793 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5794 is zero. It's not worth the complexity.
5795 (invisible_text_between_p): Put in #if 0 because unused.
5796
5797 2000-12-28 Gerd Moellmann <gerd@gnu.org>
5798
5799 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5800 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5801
5802 * keyboard.c (echo_char): If C is an integer, always call
5803 push_key_description. Former code could signal an invalid
5804 character error.
5805
5806 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5807 If set, print multibyte text.
5808 (Fsingle_key_description): Call push_key_description with
5809 FORCE_MULTIBYTE set.
5810 (describe_buffer_bindings): Likewise.
5811
5812 * lisp.h (push_key_description): Add prototype.
5813
5814 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5815 around the call to redisplay_internal.
5816
5817 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5818
5819 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5820
5821 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5822
5823 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5824 (ccl_driver): New local variable `extra_bytes'.
5825
5826 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5827
5828 * coding.c (setup_coding_system):
5829 Initialize coding->spec.ccl.eight_bit_carryover.
5830 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5831
5832 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5833
5834 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5835 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5836 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5837 (decode_composition_emacs_mule): New function.
5838 (decode_coding_emacs_mule): Decode composition sequence by calling
5839 decode_composition_emacs_mule.
5840 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
5841 (encode_coding_emacs_mule): Changed from macro to function.
5842 If a text contains compositions, encode them correctly.
5843 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5844 that decoding and encoding are required.
5845
5846 2000-12-27 Gerd Moellmann <gerd@gnu.org>
5847
5848 * xfaces.c (PT_PER_INCH): New macro.
5849 (xlfd_point_size): Compute real point size from font's pixel size.
5850 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5851 instead of 72.
5852
5853 * .gdbinit: Comment out the line pointing to the Lesstif source
5854 directory.
5855
5856 * window.c (Frecenter): Use displayed_window_lines instead
5857 of window_internal_height.
5858
5859 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5860 instead of x-toolkit-scroll-bars-p.
5861 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5862
5863 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5864 instead of x-toolkit-scroll-bars-p.
5865 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5866
5867 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5868 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
5869 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5870 New variables.
5871 (add_window_display_history, add_frame_display_history)
5872 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5873 (build_frame_matrix_from_leaf_window): Remove unused code.
5874 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5875 redisplay history.
5876 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5877 (update_window) [GLYPH_DEBUG]: Likewise.
5878 (syms_of_display): Defsubr dump-redisplay-history.
5879
5880 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5881
5882 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5883 the end of the prompt. Set echo_after_prompt to the offset
5884 of echoptr in echobuf.
5885
5886 * xdisp.c (init_from_display_pos): Pop until the iterator's
5887 stack is empty; there may be frames for stretch or images
5888 on the stack.
5889
5890 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5891 (save_or_restore_current_matrix): New function for the same
5892 purpose, but more efficient.
5893 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5894
5895 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5896
5897 * xdisp.c (syms_of_xdisp): Fix last change.
5898
5899 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5900
5901 * xdisp.c (syms_of_xdisp): Doc fix.
5902
5903 * xdisp.c (redisplay_window): Remove label restore_buffers;
5904 use finish_scroll_bars instead to make sure that scroll bars
5905 are redeemed. If we don't do this, flickering can result from
5906 scroll bars being destroyed and recreated.
5907
5908 2000-12-22 Jason Rumney <jasonr@gnu.org>
5909
5910 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5911 in the wrong colors when the foreground is not black.
5912 (expose_window): Don't redraw the window that's currently being
5913 updated.
5914
5915 2000-12-22 Gerd Moellmann <gerd@gnu.org>
5916
5917 * window.c (size_window): When setting the window's too_small_ok
5918 flag, compare old size with minimum size depending on WIDTH_P,
5919 don't compare with window_min_width.
5920
5921 * window.c (delete_window): Simplify somewhat.
5922 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5923 freeing window matrices. The flag windows_or_buffers_changed is
5924 set, so the next redisplay will consider all windows; this should
5925 suffice.
5926
5927 2000-12-22 Kenichi Handa <handa@etl.go.jp>
5928
5929 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5930
5931 * ccl.h (struct ccl_program): New member cr_consumed.
5932
5933 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5934 (CCL_READ_CHAR): Handle EOL conversion here.
5935 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5936
5937 2000-12-21 Gerd Moellmann <gerd@gnu.org>
5938
5939 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
5940
5941 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5942 otherwise tabs of different size compare equal.
5943
5944 * callint.c (Fcall_interactively): Prevent a compiler warning.
5945
5946 * print.c (print_unwind): Return nil.
5947 (PRINTDECLARE): Initialize all local variables.
5948 (print_preprocess): Add a default case.
5949
5950 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5951
5952 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5953
5954 * window.c (delete_window, Fsplit_window)
5955 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5956
5957 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5958
5959 * dispnew.c (ensure_frame_matrix): Removed.
5960 (save_frame_matrix, restore_frame_matrix): New functions.
5961 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5962
5963 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5964 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5965
5966 2000-12-21 Andrew Innes <andrewi@gnu.org>
5967
5968 * w32term.c (x_update_begin): Regenerate the palette here, rather
5969 than for each window.
5970
5971 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5972 palette is NULL, since this corrupts memory! Also get
5973 display_info reference from frame.
5974
5975 2000-12-21 Jason Rumney <jasonr@gnu.org>
5976
5977 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5978
5979 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5980 to avoid returning without releasing it.
5981
5982 2000-12-21 Kenichi Handa <handa@etl.go.jp>
5983
5984 * keymap.c (push_key_description): Don't convert eight-bit-control
5985 and eight-bit-graphic to multibyte character.
5986
5987 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5988 generic character and CODE1 is nil, return the smallest character
5989 in CHARSET.
5990
5991 2000-12-20 Dave Love <fx@gnu.org>
5992
5993 * s/osf5-0.h (NSIG): Don't redefine.
5994
5995 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5996
5997 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5998 excluding menu-bar and tool-bar.
5999 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6000 (menu_item_p): Remove.
6001 (where_is_internal_1): Don't ignore menu-items.
6002
6003 2000-12-20 Gerd Moellmann <gerd@gnu.org>
6004
6005 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6006 into account.
6007
6008 * window.c (make_window): Initialize window's min_hscroll.
6009 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6010 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6011 to zero.
6012 (struct saved_window): New member min_hscroll.
6013 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6014 (Fset_window_configuration): Set window's min_hscroll.
6015 (save_window_save): Save window's min_hscroll.
6016 (compare_window_configurations): Compare min_hscroll values.
6017
6018 * window.h (struct window): New member min_hscroll.
6019
6020 * keyboard.c (echo_prompt): Prevent a compiler warning.
6021
6022 * xdisp.c (try_cursor_movement): Fix last change. The real
6023 condition is that PT is at the end of the row, and should
6024 be displayed at the start of the next row.
6025
6026 * xdisp.c (try_cursor_movement): If we end on a partially
6027 visible line, end we already decided to scroll, return -1.
6028
6029 * dispextern.h (ensure_frame_matrix): Add prototype.
6030
6031 * window.c (delete_window, Fsplit_window)
6032 (Fset_window_configuration): Call ensure_frame_matrix.
6033
6034 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6035 New functions.
6036 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6037 completed, call fake_current_matrices instead of marking frame
6038 garbaged.
6039
6040 2000-12-20 Jason Rumney <jasonr@gnu.org>
6041
6042 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6043
6044 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6045
6046 * fns.c (Frequire): Doc fix.
6047
6048 2000-12-19 Gerd Moellmann <gerd@gnu.org>
6049
6050 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
6051
6052 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6053 currently displaying a message.
6054
6055 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6056 xterm.h.
6057 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6058
6059 2000-12-18 Andrew Innes <andrewi@gnu.org>
6060
6061 * w32.c (w32_strerror): New function.
6062
6063 * w32.h (w32_strerror): New extern.
6064
6065 * w32fns.c (Fw32_shell_execute): Use it.
6066
6067 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6068
6069 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6070
6071 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6072
6073 * msdos.c (IT_set_face): Obey inverse_video.
6074
6075 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6076
6077 * dired.c (directory_files_internal): Always return decoded filenames.
6078
6079 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6080
6081 * xterm.c (x_connection_closed): Prevent being called recursively
6082 because of an error condition in XtCloseDisplay.
6083
6084 * xdisp.c (init_iterator): If noninteractive, and the frame's
6085 face cache is null, make one.
6086
6087 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
6088
6089 * process.c (wait_reading_process_input): Check for pending
6090 input when running timers.
6091
6092 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6093
6094 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
6095
6096 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6097
6098 * process.c (read_process_output): Don't run a filter if the code
6099 decoder produces nothing but carryover.
6100
6101 2000-12-17 Andrew Innes <andrewi@gnu.org>
6102
6103 * w32.c (sys_rename): Only check errno against EEXIST, and not
6104 EACCES, when determining whether rename failed because the target
6105 exists. This was resulting in indefinite looping on Windows 9x if
6106 the source file was locked by another process.
6107
6108 * w32fns.c (Ffile_system_info): New function.
6109 (syms_of_w32fns): Defsubr it.
6110
6111 2000-12-17 Gerd Moellmann <gerd@gnu.org>
6112
6113 * window.c (coordinates_in_window): Fix computation for
6114 position on vertical line between mode lines.
6115
6116 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6117 Don't alter tip_frame or tip_window.
6118 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6119 was deleted.
6120
6121 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6122 Don't alter tip_frame or tip_window.
6123 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6124 was deleted.
6125
6126 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6127
6128 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6129 be consistent with the doc string. Reported by NAKAJIMA Mikio
6130 <minakaji@osaka.email.ne.jp>.
6131
6132 2000-12-16 Kenichi Handa <handa@etl.go.jp>
6133
6134 * xfaces.c (Vface_ignored_fonts): New variable.
6135 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6136 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6137
6138 2000-12-15 Gerd Moellmann <gerd@gnu.org>
6139
6140 * dispnew.c (update_window): Detect pending input every nth line
6141 updated, i.e. do it depending on real work done, and not on the
6142 vpos of the line.
6143
6144 * xterm.c (expose_window): Don't redraw the window that's
6145 currently being updated.
6146
6147 * window.c (Fset_window_point): Remove test for
6148 cursor_in_non_selected_windows.
6149
6150 * lread.c (read1): Recognize end of file after `\\'.
6151
6152 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6153 not unwind_create_frame.
6154
6155 2000-12-15 Dave Love <fx@gnu.org>
6156
6157 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6158 bcopy & al.
6159
6160 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6161
6162 2000-12-15 Kenichi Handa <handa@etl.go.jp>
6163
6164 * coding.c (setup_coding_system): Clear all members of the struct
6165 coding_system at first.
6166 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6167 argument.
6168 (code_convert_region): Don't override coding->src_multibyte and
6169 coding->dst_multibyte.
6170
6171 * fns.c (Fmd5): Docstring improved.
6172
6173 2000-12-15 Miles Bader <miles@gnu.org>
6174
6175 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6176 are actually marked as mode-lines; otherwise use
6177 estimate_mode_line_height.
6178
6179 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6180
6181 * editfns.c (Fformat): Prevent a buffer overrun when the format
6182 specifies a precision.
6183
6184 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6185
6186 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6187 argument is outside the range [2..3].
6188
6189 2000-12-14 Andrew Innes <andrewi@gnu.org>
6190
6191 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6192 nothing to do. Bind inhibit-quit.
6193 (tip_frame): Make it a Lisp_Object.
6194 (x_create_tip_frame): Set tip_frame after it has been added to
6195 Vframe_list.
6196 (Fx_show_tip): Don't set tip_frame here.
6197 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
6198 (unwind_create_frame, unwind_create_tip_frame): New functions.
6199 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6200 while a frame is only partially constructed.
6201
6202 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6203 (x_free_frame_resources): New function.
6204 (x_destroy_window): Use it.
6205
6206 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6207
6208 * xfns.c (Fx_backspace_delete_keys_p): New function.
6209 (syms_of_xfns): Defsubr it.
6210
6211 * config.in (HAVE_XKBGETKEYBOARD): Add.
6212
6213 2000-12-14 Kenichi Handa <handa@etl.go.jp>
6214
6215 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6216 Always store string in multibyte representation in echobuf.
6217 (echo_char): Always store string in multibyte representation in
6218 echobuf.
6219 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6220 (read_key_sequence): Adjusted for the change of echo_prompt.
6221
6222 * fns.c (Fmd5): Docstring improved.
6223
6224 * lisp.h (detect_coding_system): Prototype adjusted.
6225
6226 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6227 (detect_coding_emacs_mule, detect_coding_iso2022,)
6228 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
6229 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6230 New argument MULTIBYTEP. Callers changed.
6231 (detect_coding_mask, detect_coding_system): New argument
6232 MULTIBYTEP. Callers changed.
6233 (decode_coding_string): Set coding->src_multibyte and
6234 coding->dst_multibyte before calling detect_coding and detect_eol.
6235 Update them after some coding system is detected.
6236
6237 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6238
6239 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6240
6241 * keyboard.c (menu_bar_items, tool_bar_items):
6242 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6243
6244 2000-12-13 Gerd Moellmann <gerd@gnu.org>
6245
6246 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
6247 New variables.
6248 (unwind_create_frame, unwind_create_tip_frame): New functions.
6249 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6250 while a frame is only partially constructed.
6251
6252 * xterm.h (x_free_frame_resources): Declare.
6253
6254 * xterm.c (x_free_frame_resources): New function.
6255 (x_destroy_window): Use it.
6256
6257 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6258 don't interrupt the update for pending input initially, i.e.
6259 update at least some lines.
6260
6261 * keyboard.c (do_mouse_tracking): Make externally visible.
6262
6263 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
6264
6265 * xfns.c (gray_bitmap_bits): Declare `char *'.
6266
6267 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6268
6269 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6270 lines start with a relief line.
6271
6272 2000-12-12 Dave Love <fx@gnu.org>
6273
6274 * window.c (Fdisplay_buffer): Doc fix.
6275 (Fwindow_list): Remove unused var.
6276
6277 * buffer.h (mmap_set_vars): Declare.
6278
6279 * window.h (Fset_window_point): Declare.
6280
6281 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6282
6283 * msdos.c (fast_find_position): Don't overstep the last window row.
6284 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6285 variable `area'. When looking for a row under (X,Y), give up if some
6286 of the previous rows is not enabled.
6287
6288 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6289
6290 * window.c (Fset_window_point): If displaying cursors in windows
6291 other than the selected window, make sure redisplay updates
6292 other windows to show the new value of point in the window.
6293
6294 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6295
6296 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6297 the buffer is the sole visible buffer when in the mini-buffer.
6298
6299 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
6300 Bind `inhibit-read-only' to t.
6301 (unwind_with_echo_area_buffer): Use AREF.
6302
6303 * xfns.c (Fx_hide_tip): Simplified.
6304
6305 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6306 instead of `1'.
6307
6308 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6309
6310 2000-12-11 Gerd Moellmann <gerd@gnu.org>
6311
6312 * xfns.c (Fx_hide_tip): Fix last change.
6313
6314 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6315 nothing to do. Bind inhibit-quit.
6316 (tip_frame): Make it a Lisp_Object.
6317 (x_create_tip_frame): Set tip_frame after it has been added to
6318 Vframe_list.
6319 (Fx_show_tip): Don't set tip_frame here.
6320
6321 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6322
6323 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6324 Lisp_Object.
6325
6326 * dispextern.h: Change external declaration of tip_frame.
6327
6328 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6329 return an empty string.
6330
6331 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6332 of the window's update_mode_line flag, since the former is set by
6333 force-mode-line-update, not the latter. This makes
6334 column-number-mode slightly faster.
6335
6336 * xdisp.c (try_window_id) <all changes above window start>:
6337 Set the cursor.
6338
6339 2000-12-11 Paul Eggert <eggert@twinsun.com>
6340
6341 * config.in (HAVE_FTELLO): Remove.
6342 (HAVE_FSEEKO): Add.
6343 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6344 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6345 HAVE_FTELLO.
6346 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6347 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
6348
6349 2000-12-11 Miles Bader <miles@gnu.org>
6350
6351 * window.c (displayed_window_lines): Don't round up when
6352 converting empty space at bottom to lines.
6353 Handle non-newline-terminated final lines properly.
6354 (Fwindow_text_height): New function (used to be in lisp).
6355 (syms_of_window): Initialize it.
6356
6357 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6358
6359 * syntax.c (scan_lists): Check that the right quote char has the
6360 right Sstring syntax when jumping over strings.
6361 (init_syntax_once): Use Smax rather than 13.
6362
6363 2000-12-09 Miles Bader <miles@gnu.org>
6364
6365 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6366 with PARTIALLY, inverting the sense.
6367 (window_scroll_pixel_based): Scroll partially visible lines into
6368 place if we hit the beginning or end of the buffer.
6369 (displayed_window_lines): Don't include partially visible lines.
6370 (Fmove_to_window_line): Skip past any partially visible first line.
6371
6372 2000-12-08 Gerd Moellmann <gerd@gnu.org>
6373
6374 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6375
6376 * tparam.c (tparam1): Change the way buffers are reallocated to be
6377 portable and less obfuscated.
6378
6379 * termcap.c (tgetent): Change the way buffers are reallocated to
6380 be portable and less obfuscated.
6381
6382 * macros.c (store_kbd_macro_char): Change the way buffers are
6383 reallocated to be portable and less obfuscated.
6384
6385 * lread.c (read1): Change the way buffers are reallocated to be
6386 portable and less obfuscated.
6387
6388 * doc.c (Fsubstitute_command_keys): Change the way buffers
6389 are reallocated so that it is portable.
6390
6391 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6392
6393 * dosfns.c (Ffile_system_info): New function.
6394 (syms_of_dosfns): Defsubr it.
6395
6396 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6397
6398 * alloc.c (gc_sweep): Add comment.
6399
6400 2000-12-07 Gerd Moellmann <gerd@gnu.org>
6401
6402 * sound.c (vox_configure): Change order of ioctls.
6403 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
6404 Ignore errors when changing volume.
6405 (vox_close): Don't reset the device.
6406
6407 * process.c (read_process_output): Make sure the process marker's
6408 position is valid when the process buffer is changed in
6409 after-change functions. W3 does that.
6410
6411 * xfns.c (x_free_gcs): New function.
6412
6413 * xterm.h (x_free_gcs): Add prototype.
6414
6415 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6416 freeing GCs here.
6417
6418 * xterm.c (x_destroy_window): Call x_free_gcs so that
6419 resources of non-toolkit X windows will be freed.
6420
6421 2000-12-07 Andrew Innes <andrewi@gnu.org>
6422
6423 * w32fns.c (xlfd_charset_of_font): Fix last change.
6424
6425 2000-12-06 Dave Love <fx@gnu.org>
6426
6427 * md5.h (__P): Don't define -- it comes from config.h.
6428
6429 * strftime.c: Change some #if foo to #ifdef foo.
6430
6431 2000-12-06 Andrew Innes <andrewi@gnu.org>
6432
6433 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6434
6435 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
6436 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
6437 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
6438
6439 2000-12-06 Gerd Moellmann <gerd@gnu.org>
6440
6441 * alloc.c (gc_sweep): Prevent symbols read during loadup
6442 from being freed.
6443
6444 * xdisp.c (underlying_face_id): New function.
6445 (handle_face_prop, face_before_or_after_it_pos): Use it
6446 to determine the face ``under'' a string. Let strings inherit
6447 the face of the buffer under them.
6448
6449 * xfaces.c (face_at_string_position): Update function comment.
6450
6451 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6452 matrix if the window's left position has changed; we need to
6453 redraw it in this case.
6454
6455 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6456
6457 * window.c (coordinates_in_window): Check mouse on mode-line or
6458 header-line first.
6459
6460 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6461 advertized by the function documentation.
6462
6463 * window.c (syms_of_window): Doc fix.
6464
6465 * sound.c (vox_configure): Set volume for left and right channel.
6466 (sound_cleanup): Return nil.
6467
6468 * xdisp.c (move_it_by_lines): Fix paren typo.
6469
6470 * xterm.c (x_load_font): Don't use the font's max_bounds for
6471 computing the height of the font. If max_bounds' ascent or
6472 descent are greater than the font's ascent or descent, this means
6473 glyphs overlap, which should be handled now by redisplay.
6474
6475 * window.c (Veven_window_heights): New variable.
6476 (syms_of_window): DEFVAR_LISP it.
6477 (Fdisplay_buffer): Check Veven_window_heights before evening the
6478 window heights.
6479
6480 2000-12-06 Miles Bader <miles@gnu.org>
6481
6482 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6483 update `default-frame-alist' instead of setting no frame parameters.
6484
6485 2000-12-06 Kenichi Handa <handa@etl.go.jp>
6486
6487 * composite.c (update_compositions): Fix typo (use the correct
6488 variable).
6489
6490 2000-12-05 Jason Rumney <jasonr@gnu.org>
6491
6492 * md5.h: Remove underscores from function declarations.
6493 (__attribute__, __alignof__) [!__GNUC__]: Define.
6494
6495 * md5.c: Delay include of md5.h until after namespace cleaning.
6496
6497 * makefile.w32-in (fns.o): Depend on md5.h
6498 (md5.o): New target.
6499 (sunfns.o): Remove.
6500
6501 * makefile.nt: Likewise.
6502
6503 2000-12-05 Jason Rumney <jasonr@altavista.net>
6504
6505 * w32term.c (expose_area): Complete last change.
6506
6507 2000-12-05 Ken Raeburn <raeburn@gnu.org>
6508
6509 * minibuf.c: Include intervals.h.
6510
6511 2000-12-05 Jason Rumney <jasonr@gnu.org>
6512
6513 * w32term.c (x_produce_glyphs): If a font for a component of
6514 a composition is not found, use 1 pixel dot ascent and 0 dot
6515 descent value to avoid displaying terribly tall empty boxes.
6516 (expose_area): Pass x-coordinate relative to the exposed
6517 area to x_draw_glyphs instead of a window-relative coordinate.
6518
6519 2000-12-05 Gerd Moellmann <gerd@gnu.org>
6520
6521 * xdisp.c (next_element_from_ellipsis): Save face before selective
6522 display in saved_face_id, and set face_before_selective_p.
6523 (reseat_1): Reset face_before_selective_p.
6524 (append_space, extend_face_to_end_of_line): If iterator's
6525 face_before_selective_p is set, use the face from saved_face_id.
6526 (extend_face_to_end_of_line): For tty frames, make sure to
6527 use the right face id when producing spaces at the end of
6528 the line.
6529
6530 * dispextern.h (struct it): Add face_before_selective_p.
6531
6532 * keyboard.c (record_char): Don't record identical help-echo
6533 events in recent_keys.
6534
6535 * xterm.c [USE_X_TOOLKIT]: Close the display.
6536 (xim_close_dpy): Handle case that the display has been closed.
6537
6538 * xterm.c (x_destroy_window): Reset the frame's X window after
6539 destroying it.
6540
6541 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6542 variable window_width.
6543 (line_draw_cost): Fix code skipping over spaces at the end of the
6544 line when must_write_spaces is not set.
6545 (scrolling_window): Fix code inserting runs in list of all runs.
6546
6547 2000-12-05 Kenichi Handa <handa@etl.go.jp>
6548
6549 * coding.c (setup_coding_system): Be sure to initialize
6550 coding->category_idx.
6551
6552 2000-12-04 Gerd Moellmann <gerd@gnu.org>
6553
6554 * xterm.c (PER_CHAR_METRIC): Removed because not used.
6555
6556 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6557 area to x_draw_glyphs instead of a window-relative coordinate.
6558
6559 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6560 error in the message.
6561
6562 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6563 timer after having read a key. It's not good for code reading
6564 several keys in a loop, like an input method.
6565
6566 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6567 record undo information for format-decode.
6568
6569 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6570 current buffer is read-only, not if it isn't.
6571
6572 * keyboard.c (record_char): Record `help-echo' input events
6573 in recent_keys only if they display some help. Don't record
6574 `help-echo' events as macro char.
6575
6576 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6577
6578 * editfns.c (save_excursion_restore): Don't move point
6579 in another window if it is showing the wrong buffer.
6580 Avoid the call to Fwindow_live_p, for speed.
6581
6582 2000-12-04 Kenichi Handa <handa@etl.go.jp>
6583
6584 * xfaces.c (struct font_name): New member registry_priority.
6585 (split_font_name): Initialize the above member to zero.
6586 (concat_font_list): New function.
6587 (font_list): Include fonts of all alternative registries.
6588 (FONT_POINT_SIZE_QUANTUM): New macro.
6589 (better_font_p): Ignore point size difference less than
6590 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6591
6592 * xterm.c (x_produce_glyphs): If a font for a component of
6593 a composition is not found, use 1 pixel dot ascent and 0 dot
6594 descent value to avoid displaying terribly tall empty boxes.
6595
6596 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6597
6598 2000-12-03 Ken Raeburn <raeburn@gnu.org>
6599
6600 * coding.h (code_convert_string1): Declare.
6601
6602 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6603
6604 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
6605
6606 2000-12-02 Jason Rumney <jasonr@gnu.org>
6607
6608 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6609 correctly for single byte character case.
6610 (w32_per_char_metric): Do not try to make any assumptions about
6611 the metrics of BDF fonts.
6612 (x_estimate_mode_line_height): If `mode-line' face
6613 hasn't a font, use that of the frame, as drawing glyphs does.
6614 (note_mouse_highlight): Change the cursor shape on the vertical
6615 border between windows [not enabled].
6616
6617 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6618
6619 * w32fns.c (Fx_create_frame): Reintroduce the call to
6620 face-set-after-frame-defaults.
6621 (Vx_window_horizontal_drag_shape): New variable.
6622 (syms_of_xfns): DEFVAR_LISP it.
6623 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6624 enabled].
6625
6626 2000-12-02 Simon Josefsson <simon@josefsson.org>
6627
6628 * fns.c (Fmd5): Use a different logic to decide the coding system
6629 to use.
6630
6631 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6632
6633 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6634
6635 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
6636
6637 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6638
6639 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6640 height for YNegative.
6641 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6642 height; also see comment there.
6643
6644 * window.c (coordinates_in_window): Handle computations for
6645 positions on the vertical bar and fringes differently for
6646 window-system frames. Consider some pixels near the vertical bar
6647 as on the bar if the frame doesn't have vertical scroll bars.
6648 Associate positions between mode or header lines with the
6649 right window, the left one.
6650
6651 2000-12-01 Jason Rumney <jasonr@gnu.org>
6652
6653 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6654
6655 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6656 invalid frame.
6657
6658 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6659
6660 * window.c (struct saved_window): Add members orig_top and orig_height.
6661 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6662 (save_window_save, Fset_window_configuration): Save/restore
6663 window's orig_top and orig_height.
6664
6665 2000-12-01 Jason Rumney <jasonr@gnu.org>
6666
6667 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
6668
6669 * w32fns.c (x_set_cursor_color): Fix last change.
6670
6671 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6672
6673 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6674 sure that the next redisplay displays the minibuffer, so that
6675 the cursor will be replaced with what the minibuffer wants.
6676
6677 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6678 #ifndef instead of using #if.
6679 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6680 USE_TOOLKIT_SCROLL_BARS is defined.
6681
6682 2000-11-30 Jason Rumney <jasonr@gnu.org>
6683
6684 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6685 x_display_cursor.
6686
6687 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6688
6689 * fns.c (Fmd5): Doc fix.
6690
6691 2000-11-30 Simon Josefsson <simon@josefsson.org>
6692
6693 * fns.c (Fmd5): New function.
6694 (syms_of_fns): Defsubr md5.
6695
6696 * Makefile.in (obj): Add md5.o
6697
6698 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6699
6700 * md5.h, md5.c: New files, taken from glibc.
6701
6702 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6703
6704 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
6705 hasn't a font, use that of the frame, as drawing glyphs does.
6706
6707 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6708
6709 * eval.c (Frun_hooks): Allow 0 arguments.
6710
6711 2000-11-29 Gerd Moellmann <gerd@gnu.org>
6712
6713 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6714 is over the menu bar widget, say it's not on the frame.
6715
6716 * xfns.c (Fx_create_frame): Reintroduce the call to
6717 face-set-after-frame-defaults.
6718
6719 * eval.c (Fsignal): Reset handling_signal.
6720
6721 2000-11-28 Jason Rumney <jasonr@gnu.org>
6722
6723 * w32menu.c (add_menu_item): Reset menu item text when changing
6724 type to radio button.
6725
6726 2000-11-28 Gerd Moellmann <gerd@gnu.org>
6727
6728 * xselect.c: Update copyright.
6729
6730 * window.c (coordinates_in_window): If on a mode or header line,
6731 but sufficiently close to its start, return ``on vertical
6732 border''. This gives us a way to drag windows horizontally when
6733 using toolkit scroll bars.
6734
6735 * xterm.c (note_mouse_highlight): Change the cursor shape
6736 on the vertical border between windows.
6737
6738 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6739
6740 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6741 (syms_of_xfns): DEFVAR_LISP it.
6742 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6743
6744 * textprop.c (text_read_only): New function.
6745 (verify_interval_modification): Use it instead of signaling
6746 `text-read-only'. This makes it easier to catch this error
6747 with a breakpoint.:
6748
6749 * xdisp.c (forward_to_next_line_start): Check for newlines,
6750 not end of line, which includes CR.
6751
6752 2000-11-28 Kenichi Handa <handa@etl.go.jp>
6753
6754 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6755 include no-conversion.
6756
6757 2000-11-27 Jason Rumney <jasonr@gnu.org>
6758
6759 * w32fns.c (w32_load_system_font): Always mark font as double byte
6760 if codepage is unicode.
6761
6762 2000-11-27 Gerd Moellmann <gerd@gnu.org>
6763
6764 * xdisp.c (forward_to_next_line_start): If already on a newline,
6765 just consume it to avoid unintended skipping over invisible text below.
6766
6767 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6768 `vertical-line', `mode-line' and `header-line' events.
6769
6770 * xdisp.c (try_window_id): Avoid starting to display in the middle
6771 of a character, a TAB for instance. This is easier than to set
6772 up the iterator exactly, and it's not a frequent case, so the
6773 additional effort wouldn't really pay off.
6774
6775 2000-11-26 Andrew Choi <akochoi@i-cable.com>
6776
6777 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
6778 init_window_once.
6779
6780 2000-11-25 Jason Rumney <jasonr@gnu.org>
6781
6782 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6783 Args to window_from_coordinates should be pixel coordinates.
6784
6785 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6786 redisplay handles them properly.
6787
6788 2000-11-25 Miles Bader <miles@gnu.org>
6789
6790 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6791
6792 2000-11-24 Jason Rumney <jasonr@gnu.org>
6793
6794 * w32.c (init_environment): Set LANG environment variable based on
6795 locale settings, if not set.
6796
6797 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6798 making tool bar smaller. When clearing the frame, also
6799 clear current matrices. Clear frame when tool bar disappears.
6800 Don't use more lines for the tool-bar than is available.
6801 (x_change_window_heights): New function.
6802
6803 2000-11-24 Gerd Moellmann <gerd@gnu.org>
6804
6805 * xdisp.c (init_from_display_pos): If POS says we're already after
6806 an overlay string ending at POS, make sure to pop the iterator
6807 because it will be in front of that overlay string. When POS is
6808 ZV, we've thereby also ``processed'' overlay strings at ZV.
6809
6810 * xfaces.c (lface_from_face_name): Function comment fix.
6811
6812 2000-11-24 Miles Bader <miles@gnu.org>
6813
6814 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6815 apply `mode-line-inverse-video' -- zero means force display using
6816 the default face, non-zero means display using the specialized face.
6817 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6818
6819 2000-11-23 Kenichi Handa <handa@etl.go.jp>
6820
6821 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6822 hard coded `4'.
6823
6824 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6825
6826 * coding.c (decode_coding_emacs_mule): Fix the case of
6827 CODING_EOL_LF, which used uninitialized value of c.
6828
6829 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6830
6831 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6832
6833 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6834
6835 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6836 buffer object.
6837
6838 * frame.h (struct frame): Replace desired_tool_bar_items,
6839 current_tool_bar_items, n_desired_tool_bar_items,
6840 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
6841
6842 * frame.c (make_frame): Change initialization of tool bar
6843 items accordingly.
6844
6845 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
6846 Change references to members deleted from struct frame to use the
6847 new ones.
6848
6849 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
6850 references to members deleted from struct frame to use the new ones.
6851
6852 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
6853
6854 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6855
6856 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
6857 (note_tool_bar_highlight): Change references to members deleted
6858 from struct frame to use the new ones.
6859
6860 2000-11-23 Miles Bader <miles@gnu.org>
6861
6862 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6863 the face's inverse-video attribute, rather than overriding it.
6864
6865 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6866
6867 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6868 making tool bar smaller.
6869
6870 2000-11-22 Dave Love <fx@gnu.org>
6871
6872 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6873
6874 2000-11-22 Miles Bader <miles@gnu.org>
6875
6876 * keyboard.c (Vminibuffer_message_timeout): New variable.
6877 (command_loop_1): Use it to determine message timeout.
6878 (syms_of_keyboard): Initialize it.
6879
6880 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
6881
6882 2000-11-22 Kenichi Handa <handa@etl.go.jp>
6883
6884 * sysdep.c: Move the code for declaring h_errno after #include
6885 <netdb.h>.
6886
6887 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6888
6889 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6890 the menu bar when the tooltip is unmapped.
6891
6892 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6893 sole visible buffer when we're currently in the mini-buffer, and
6894 give up if so.
6895
6896 2000-11-21 Jason Rumney <jasonr@gnu.org>
6897
6898 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6899 put on the clipboard.
6900 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6901 copy of what Emacs last put there. If they are the same, do not
6902 use the clipboard copy to avoid losing data due to coding conversions.
6903
6904 2000-11-22 Miles Bader <miles@gnu.org>
6905
6906 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6907 (syms_of_minibuf): Initialize it.
6908 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6909 to prompt, don't make read-only.
6910
6911 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6912
6913 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6914 Add BEFORE/AFTER_POTENTIAL_GC.
6915
6916 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6917
6918 * buffer.c (mmap_free_1): Avoid a compiler warning.
6919
6920 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6921
6922 2000-11-21 Kenichi Handa <handa@etl.go.jp>
6923
6924 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6925 ... #endif scope.
6926
6927 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6928
6929 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
6930 screen supports it.
6931
6932 * s/gnu-linux.h: Don't use `#cpu'.
6933
6934 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6935 not defined in mman.h.
6936
6937 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
6938 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6939 and store an index in the XClientMessageEvent. Storing a
6940 Lisp_Object or pointer can fail on a 64 bit system, since X only
6941 transfers 32 bits.
6942 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6943
6944 2000-11-20 Dave Love <fx@gnu.org>
6945
6946 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6947
6948 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6949
6950 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6951
6952 2000-11-20 Kenichi Handa <handa@etl.go.jp>
6953
6954 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6955 by WIDTH.
6956
6957 * alloc.c (make_string): Fix previous change. Be sure to make
6958 unibyte string correctly.
6959
6960 2000-11-19 Gerd Moellmann <gerd@gnu.org>
6961
6962 * window.c (Fwindow_list): Change parameter list to be XEmacs
6963 compatible.
6964 (window_list_1): New function.
6965 (window_loop): Use it instead of Fwindow_list.
6966
6967 * sysdep.c (emacs_ospeed): New variable.
6968 (toplevel): Don't declare ospeed extern.
6969 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6970
6971 * termcap.c (ospeed): Remove.
6972 (tputs) [!emacs]: Remove unused code.
6973 (tgetent): Avoid a compiler warning.
6974
6975 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6976 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
6977 SCROLL_BAR_X_WIDGET with additional argument DPY.
6978
6979 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6980 removed.
6981 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6982 Take the X display as additional argument.
6983 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6984 `Widget' is a pointer type that's not easily stored in Lisp_Object
6985 form in a portable way.
6986
6987 * dispnew.c (update_text_area): Fix last change.
6988
6989 2000-11-18 Gerd Moellmann <gerd@gnu.org>
6990
6991 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6992
6993 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6994 clear current matrices.
6995
6996 * buffer.c (mmap_enlarge): Don't print a message on stderr
6997 if mapping new memory at the end of the existing region fails.
6998
6999 * dispnew.c (update_text_area): Don't skip over equal glyphs
7000 when the last current glyph overlaps the glyph to its right.
7001
7002 2000-11-18 Miles Bader <miles@gnu.org>
7003
7004 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7005 lines that *end* with "..." too (that's the most common case!).
7006
7007 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7008
7009 * xdisp.c (resize_mini_window): Temporarily change to the
7010 mini-window's buffer if necessary.
7011
7012 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7013 the tooltip obscures less text under it.
7014
7015 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7016
7017 * puresize.h (BASE_PURESIZE): Increase to 700000.
7018
7019 2000-11-18 Jason Rumney <jasonr@gnu.org>
7020
7021 * w32term.c (w32_draw_bitmap): Use face to set colors.
7022
7023 2000-11-17 Dave Love <fx@gnu.org>
7024
7025 * lread.c (Fload): Fix #ifdef for pcc.
7026
7027 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7028
7029 * xdisp.c (pos_visible_p): Compute the default character height
7030 differently.
7031
7032 2000-11-16 Gerd Moellmann <gerd@gnu.org>
7033
7034 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
7035 knowing the line's height; use the default font's height in that case.
7036
7037 * xfaces.c (weight_table): Add `demi' with the same meaning as
7038 `demibold'.
7039
7040 2000-11-16 Kenichi Handa <handa@etl.go.jp>
7041
7042 * dispnew.c (null_row): New global static variable.
7043 (clear_glyph_row): Delete local static variable null_row.
7044
7045 2000-11-15 Jason Rumney <jasonr@gnu.org>
7046
7047 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7048 (w32_alloc_lighter_color): Use new brightness calculations from
7049 xterm.c. Scale delta to be in the range expected by W32.
7050 (w32_draw_relief_rect): Use frame relief colors.
7051
7052 2000-11-15 Gerd Moellmann <gerd@gnu.org>
7053
7054 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7055 (Qinhibit_default_face_x_resources): New variable.
7056 (syms_of_frame): Initialize it.
7057 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7058
7059 * xdisp.c (pos_visible_p): Improve function comment.
7060
7061 * lisp.h (BINDING_STACK_SIZE): New macro.
7062
7063 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7064 reading the directory if readdir returns null and errno is EAGAIN
7065 or EINTR.
7066
7067 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7068
7069 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7070 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7071 Set amount_to_scroll to max of dx and scroll_step so that
7072 scroll-conservatively doesn't defeat scroll-step>1.
7073 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7074 scroll-conservatively for line-at-a-time scrolling.
7075
7076 2000-11-14 Gerd Moellmann <gerd@gnu.org>
7077
7078 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7079 extra argument.
7080
7081 * xdisp.c (current_mode_line_height, current_header_line_height):
7082 New variables.
7083 (init_xdisp): Initialize them.
7084 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7085 and use exact mode line heights if it is set.
7086
7087 * lisp.h (pos_visible_p): Change prototype.
7088
7089 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7090 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7091 and current_header_line_height first.
7092 (current_mode_line_height, current_header_line_height):
7093 Declare extern.
7094
7095 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7096
7097 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7098 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7099 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7100
7101 2000-11-14 Miles Bader <miles@gnu.org>
7102
7103 * xterm.c (x_alloc_lighter_color): Include an additive component
7104 too for dark colors, because FACTOR isn't enough.
7105 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7106 New macros.
7107
7108 2000-11-13 Gerd Moellmann <gerd@gnu.org>
7109
7110 * keyboard.c (show_help_echo): Call message3_nolog with number of
7111 bytes in the help string as 2nd parameter, instead of the number
7112 of characters.
7113
7114 2000-11-13 Miles Bader <miles@gnu.org>
7115
7116 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7117 (Fload): Use new openp return protocol.
7118 Don't try to use Vload_source_file_function to load .elc files.
7119 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7120 openp return protocol.
7121 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7122
7123 2000-11-11 Kenichi Handa <handa@etl.go.jp>
7124
7125 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7126
7127 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7128 Defined these macros.
7129 (NLIST_STRUCT): Avoid re-defining it.
7130
7131 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7132 -I/usr/contrib/X11R6/include.
7133 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7134
7135 2000-11-10 Jason Rumney <jasonr@gnu.org>
7136
7137 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7138
7139 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7140 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7141
7142 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7143 (Qw32_charset_vietnamese): New symbol.
7144 (xlfd_charset_of_font): New function.
7145 (w32_load_system_font): Use it.
7146 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7147 when Vw32_charset_info_alist is nil to ensure default face always
7148 has font. Use Fcar and Fcdr for safety.
7149 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7150 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7151 pseudo-codepages for special cases.
7152 (w32_to_x_font): New parameter to allow charset portion to be
7153 specified where there is many to one mapping. Callers changed.
7154 (w32_list_fonts): Avoid listing fonts that won't display.
7155
7156 2000-11-10 Gerd Moellmann <gerd@gnu.org>
7157
7158 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7159 (font_list_1): Renamed from font_list.
7160 (font_list): New function, trying alternative registries from
7161 Vface_alternative_font_registry_alist.
7162 (Finternal_set_alternative_font_registry_alist): New function.
7163 (syms_of_xfaces): Initialize and Staticpro
7164 Vface_alternative_font_registry_alist.
7165 Defsubr Finternal_set_alternative_font_registry_alist.
7166
7167 2000-11-09 Ken Raeburn <raeburn@gnu.org>
7168
7169 * lisp.h (Flooking_at): Declare.
7170
7171 2000-11-09 Gerd Moellmann <gerd@gnu.org>
7172
7173 * dired.c (directory_files_internal): Fix a braino.
7174
7175 * dired.c (directory_files_internal): Add missing GCPRO's.
7176 Some cleanup.
7177
7178 2000-11-08 Gerd Moellmann <gerd@gnu.org>
7179
7180 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7181 (resize_mini_window): Return quickly if Vresize_mini_window is
7182 nil. Don't return if Vmax_mini_window_height is nil.
7183
7184 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7185 (syms_of_xdisp): Initialize them.
7186 (resize_mini_window): Act according to the setting of
7187 Vresize_mini_window.
7188 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7189
7190 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7191 scroll bar widget after configuring it, so that it will appear at
7192 the right position from the start.
7193 (XTredeem_scroll_bar): Cleaned up.
7194
7195 2000-11-08 Kenichi Handa <handa@etl.go.jp>
7196
7197 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
7198 font is taller than the frame line, we don't have to bias the
7199 division by two.
7200
7201 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7202
7203 2000-11-07 Dave Love <fx@gnu.org>
7204
7205 * config.in (HAVE_MKSTEMP): Add.
7206
7207 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7208
7209 2000-11-07 Gerd Moellmann <gerd@gnu.org>
7210
7211 * window.c (Fset_window_configuration): Don't try to preserve
7212 point in the current buffer, if that buffer is displayed in more
7213 than one window.
7214
7215 * xfaces.c (lookup_named_face): If default face isn't realized,
7216 try to realize it. Return -1 if not successful.
7217 (Fx_list_fonts): Handle case that face cannot be determined.
7218 (Fface_font): Likewise.
7219
7220 2000-11-06 Gerd Moellmann <gerd@gnu.org>
7221
7222 * window.c (displayed_window_lines): Detect partially
7223 visible lines at the bottom correctly.
7224
7225 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7226
7227 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7228 when ensuring we don't do visit in indirect buffer.
7229
7230 2000-11-06 Kenichi Handa <handa@etl.go.jp>
7231
7232 * composite.h (compose_chars_in_text): Add prototype.
7233
7234 * composite.c (Vcomposition_function_table): New variable.
7235 (Qcomposition_function_table): New variable.
7236 (run_composition_function): Call
7237 Vcompose_chars_after_function with three arguments.
7238 (compose_chars_in_text): New function.
7239 (syms_of_composite): Modified the doc-string of
7240 Vcompose_chars_after_function. Declare composition-function-table
7241 as a lisp variable, and initialize it.
7242
7243 * xfns.c (x_encode_text): Suppress producing escape sequences for
7244 composition.
7245
7246 * xselect.c: Include composite.h.
7247 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7248
7249 2000-11-05 Andrew Innes <andrewi@gnu.org>
7250
7251 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7252
7253 * sysdep.c (read_input_waiting): Remove extraneous argument to
7254 read_socket_hook.
7255
7256 * w32fns.c (Fx_server_version): Include w32_build_number in the
7257 return list.
7258
7259 * w32heap.c (w32_build_number): New variable.
7260 (cache_system_info): Set it.
7261
7262 * w32heap.h (w32_build_number): Add extern.
7263
7264 * emacs.c (syms_of_emacs): Update docstring for
7265 system-configuration, to reflect the actual usage on MS-Windows.
7266
7267 2000-10-31 Gerd Moellmann <gerd@gnu.org>
7268
7269 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7270 process idle timers while waiting for another event.
7271
7272 * dispnew.c (update_frame_line): Handle case where spaces in
7273 the default face are colored.
7274
7275 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7276 window height hasn't changed.
7277
7278 2000-10-31 Jason Rumney <jasonr@gnu.org>
7279
7280 * w32term.c (x_produce_glyphs): Handle composite characters.
7281 (x_draw_glyph_string_foreground)
7282 (x_draw_composite_glyph_string_foreground): Restore old font.
7283
7284 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7285
7286 * minibuf.c (read_minibuf): Reset the undo history just before
7287 starting the recursive-edit.
7288
7289 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7290
7291 * xfaces.c (menu_face_change_count): New variable.
7292 (Finternal_set_lisp_face_attribute): Increment it for changes
7293 of the `menu' face.
7294 (realize_basic_faces): Reflect changes in the `menu' faces
7295 in menu bars.
7296
7297 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7298 dy obtained from the iterator's y-position after moving from
7299 scroll_margin_pos to PT; see comment there.
7300
7301 * xdisp.c (safe_eval_handler): Call add_to_log.
7302
7303 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7304 is not a symbol or string.
7305
7306 * xdisp.c (echo_area_display): Don't perform a display update from
7307 inside redisplay. The update will happen anyway at the end of
7308 redisplay, and it can confuse redisplay (GC messages while
7309 redisplaying, for instance.)
7310
7311 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7312
7313 * xrdb.c (x_load_resources): Use the class name in the defaults.
7314
7315 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7316 (regex_compile): Catch bogus \(\1\).
7317
7318 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7319
7320 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7321 RGB values.
7322
7323 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7324 we have a color cache, check that the cached color equals the
7325 allocated color. If not, clear the color cache.
7326
7327 * window.c (displayed_window_lines): Change buffers if necessary.
7328 Fix computation of displayed lines.
7329
7330 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7331 update_menu_bindings to DEFVAR_BOOL.
7332
7333 2000-10-30 Kenichi Handa <handa@etl.go.jp>
7334
7335 * search.c (Fset_match_data): Be sure to make search_regs always sane.
7336
7337 * puresize.h (BASE_PURESIZE): Increase to 680000.
7338
7339 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7340
7341 2000-10-29 Jason Rumney <jasonr@gnu.org>
7342
7343 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7344
7345 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7346 (w32_cache_char_metrics): Handle possibility that 'x' does not
7347 exist in a BDF font.
7348 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7349
7350 * w32bdf.h (bdffont): Add nchars.
7351
7352 * w32bdf.c (set_bdf_font_info): Set it.
7353 (w32_BDF_TextOut): Swap byte order of double byte characters.
7354 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7355
7356 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7357
7358 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7359 don't override the colors in frame's param_alist, unless they are
7360 unspecified.
7361
7362 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7363 reverse the effect of the highlight flag.
7364
7365 2000-10-27 Ken Raeburn <raeburn@gnu.org>
7366
7367 * window.h (Fwindow_live_p): Declare.
7368
7369 * undo.c (record_delete): Check that last_undo_buffer is really a
7370 buffer before applying XBUFFER to it.
7371
7372 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7373 Faref.
7374
7375 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7376
7377 * lisp.h (KEYMAPP): New macro.
7378 (get_keymap): Remove.
7379 (get_keymap_1): Rename get_keymap.
7380
7381 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7382
7383 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7384
7385 * xmenu.c (single_submenu): Use KEYMAPP.
7386 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7387 Use KEYMAPP rather than Fkeymapp.
7388
7389 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7390
7391 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7392 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7393 Use KEYMAPP rather than Fkeymapp.
7394 (single_submenu): Use KEYMAPP.
7395 (w32_menu_show, w32_dialog_show): Use TRUE.
7396
7397 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7398
7399 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7400 (Fkeymapp): Use KEYMAPP.
7401 (get_keymap): Rename from get_keymap_1. Remove old def.
7402 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7403 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7404 (Fminor_mode_key_binding): Don't raise an error if the binding
7405 is not a keymap.
7406 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7407 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7408
7409 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7410 Allow Vspecial_event_map to be autoloaded.
7411 (menu_bar_items): Fetch the keymap rather than using keymapp.
7412 (menu_bar_one_keymap): No need to follow func-indirect any more.
7413 (parse_menu_item): get_keymap_1 -> get_keymap.
7414 (tool_bar_items): Fetch the keymap rather than using keymapp.
7415 (read_key_sequence): Use KEYMAPP.
7416
7417 * intervals.c (get_local_map): Use get_keymap rather than following
7418 function-indirections explicitly.
7419
7420 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7421
7422 2000-10-27 Jason Rumney <jasonr@gnu.org>
7423
7424 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7425 point, as Windows has oversized fonts.
7426
7427 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7428
7429 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7430
7431 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7432 (freehook, reallochook): Handle null pointer arguments.
7433 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7434
7435 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7436
7437 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7438 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7439 Giving in to popular pressure to shut up the compiler with casts.
7440
7441 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7442
7443 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7444 signed value, and use a default value computed from the font's
7445 maximum descent.
7446
7447 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7448
7449 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7450 that specify a negative underline position can still use underlines.
7451
7452 * window.c (Fpos_visible_in_window_p): Make POS default to
7453 WINDOW's point, not the current buffer's point.
7454
7455 2000-10-26 Dave Love <fx@gnu.org>
7456
7457 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7458 when it's necessary.
7459
7460 2000-10-26 Gerd Moellmann <gerd@gnu.org>
7461
7462 * window.c (size_window): Compute size difference from sum of old
7463 child window sizes instead of from parent's size.
7464
7465 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7466 Handle obscured lines at the top of the window.
7467
7468 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7469 down after the last error condition check.
7470
7471 * frame.c (Fdelete_frame): Run delete-frame-hook.
7472
7473 2000-10-26 Kenichi Handa <handa@etl.go.jp>
7474
7475 * coding.c (decode_coding): Fix previous change (check also
7476 CODING_MODE_LAST_BLOCK).
7477
7478 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7479
7480 * regex.c: More `unsigned char' -> `re_char' changes.
7481 Also change several `int' into `re_wchar_t'.
7482 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7483 (PUSH_FAILURE_POINTER): Don't cast any more.
7484 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7485 We want GCC to complain, since this piece of code makes
7486 re_match non-reentrant, which *should* be fixed.
7487 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7488 (EXTEND_BUFFER): Use RETALLOC.
7489 (SET_LIST_BIT): Don't cast.
7490 (re_wchar_t): New type.
7491 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7492 that those two functions will always properly return.
7493 (IMMEDIATE_QUIT_CHECK): Cast to void.
7494 (analyse_first): Use recursion rather than an explicit stack.
7495 (re_compile_fastmap): Can't fail anymore.
7496 (re_search_2): Don't check re_compile_fastmap for failure.
7497 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7498 Now also sets the new value (passed in a new argument).
7499 (re_match_2_internal): Use it.
7500 Also, use a new var `reg' of type size_t when looping through regs
7501 rather than reuse the inappropriate `mcnt'.
7502
7503 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7504 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7505 (where_is_internal): Renamed from Fwhere_is_internal.
7506 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7507 (Fwhere_is_internal): New function wrapping where_is_internal.
7508 (where_is_internal_1): Handle the case where we're filling the cache.
7509 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7510
7511 2000-10-25 Miles Bader <miles@gnu.org>
7512
7513 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7514
7515 2000-10-25 Gerd Moellmann <gerd@gnu.org>
7516
7517 * window.c (pos_fully_visible_p): Removed.
7518 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7519 if position is visible and/or fully visible.
7520
7521 * lisp.h (pos_visible_p): Add prototype.
7522
7523 * xdisp.c (pos_visible_p): New function.
7524
7525 2000-10-25 Kenichi Handa <handa@etl.go.jp>
7526
7527 * process.c (send_process): If OBJECT is t, it means that the data
7528 is from C string, but we should encode it. Before calling
7529 setup_raw_text_coding_system, be sure to flush out data by the
7530 previous coding system.
7531
7532 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7533
7534 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7535 assignment of startpos to prev when startpos == pos.
7536
7537 * editfns.c (find_field): Set the field stickiness correctly from
7538 overlay fields. Use renamed `text_property_stickiness'.
7539 (text_property_stickiness): Renamed from `char_property_stickiness'.
7540 Only check text properties, not overlays.
7541 * textprop.c (get_char_property_and_overlay): New function.
7542 (Fget_char_property): Use it.
7543 * intervals.h (get_char_property_and_overlay): Add declaration.
7544
7545 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7546
7547 * keymap.c: Use AREF, ASET and ASIZE macros.
7548 (Fmake_sparse_keymap): Docstring fix.
7549 (synkey): Remove.
7550 (shadow_lookup): Move up.
7551 Handle the case where lookup-key returns an integer.
7552 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7553 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7554 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7555 Simplify/rewrite the keymap-finding code.
7556 Add check for command shadowing, using shadow_lookup.
7557
7558 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7559
7560 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7561 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7562 a symbol.
7563
7564 2000-10-24 Andrew Innes <andrewi@gnu.org>
7565
7566 * dired.c (directory_files_internal_unwind): New function.
7567 (directory_files_internal): Use it to ensure closedir is called
7568 even if expand-file-name or file-attributes throw, eg. because of
7569 a user interrupt. Also enable immediate_quit while calling
7570 re_search, so that matching can be interrupted as well.
7571
7572 2000-10-24 Andrew Innes <andrewi@gnu.org>
7573
7574 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7575 NT-Emacs only.
7576 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7577 so that re_search functions only quit when callers expect them to.
7578
7579 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7580
7581 * regex.c (regex_compile): Change the way of handling a range from
7582 a char less than 256 to a char not less than 256.
7583
7584 2000-10-24 Gerd Moellmann <gerd@gnu.org>
7585
7586 * window.c (size_window): Prevent setting window's width or
7587 height to a negative value (esp. with XSETFASTINT).
7588
7589 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7590 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7591 (protect_malloc_state) [GC_MALLOC_CHECK &&
7592 GC_PROTECT_MALLOC_STATE]: New function.
7593 (PROTECT_MALLOC_STATE): New macro.
7594 (__malloc_initialize, morecore, _malloc_internal)
7595 (_free_internal) _realloc_internal): Use it to make _heapinfo
7596 read-only outside of gmalloc.
7597
7598 * keymap.c: Update copyright.
7599
7600 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7601 a symbol.
7602
7603 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7604
7605 * filelock.c (unlock_all_files): Use unlock_file to expand each
7606 buffer's file_truename before trying remove its lock file.
7607
7608 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7609
7610 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7611 or CRLF, decode EOLs.
7612
7613 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7614
7615 * window.c (Fdisplay_buffer): Fix doc.
7616
7617 2000-10-23 Jason Rumney <jasonr@gnu.org>
7618
7619 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7620 ASCII font of default fontset on Windows.
7621
7622 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7623 xterm.c comment below).
7624
7625 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7626
7627 2000-10-23 Gerd Moellmann <gerd@gnu.org>
7628
7629 * xterm.c (x_connection_closed): Reset handling_signal.
7630
7631 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
7632
7633 2000-10-23 Miles Bader <miles@gnu.org>
7634
7635 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7636 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7637 maintain old behavior.
7638 * minibuf.c (Fminibuffer_complete): Likewise.
7639
7640 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7641
7642 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7643 that when a font can't be exactly centered, it errs up rather than
7644 down.
7645
7646 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
7647
7648 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
7649
7650 2000-10-23 Andrew Choi <akochoi@i-cable.com>
7651
7652 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7653
7654 * dispnew.c [macintosh]: Include macterm.h.
7655 (init_display) [macintosh]: Initialization for window system.
7656
7657 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7658 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7659 syms_of_search, x_term_init, and init_keyboard before calling
7660 init_window_once. Also, call syms_of_xmenu.
7661
7662 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7663 default fontset to Monaco.
7664
7665 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7666 NewMacWindow and DisposeMacWindow.
7667 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7668 instead of calling NewMacWindow and setting fields of
7669 f->output_data.mac directly. Call init_frame_faces.
7670 (Fdelete_frame) [macintosh]: Remove unused code.
7671 (Fmodify_frame_parameters) [macintosh]: Call
7672 x_set_frame_parameters instead of mac_set_frame_parameters.
7673
7674 * frame.h [macintosh]: Define menu_bar_lines field in struct
7675 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7676
7677 * keyboard.c [macintosh]: Include macterm.h.
7678 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7679 and menu_bar_activate_event type events as for X and NT.
7680 (make_lispy_event) [macintosh]: Construct lisp events of type
7681 MENU_BAR_EVENT as for X and NT.
7682
7683 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7684 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7685 (sys_subshell) [macintosh]: Remove definition entirely.
7686 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7687 Vwindow_system_version here. Remove initialization of
7688 Vx_bitmap_file_path.
7689 (read_input_waiting): Correct the number of parameters passed to
7690 read_socket_hook.
7691 Move all Macintosh functions to mac/mac.c.
7692
7693 * term.c [macintosh]: Include macterm.h.
7694
7695 * window.c [macintosh]: Include macterm.h.
7696
7697 * xdisp.c [macintosh]: Include macterm.h. Declare
7698 set_frame_menubar and pending_menu_activation.
7699 (echo_area_display) [macintosh]: Do not return if terminal frame
7700 is the selected frame.
7701 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7702 Allow only the selected frame to set menu bar.
7703 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7704 calling FRAME_EXTERNAL_MENU_BAR (f).
7705 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7706
7707 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7708 and check_x. Declare XCreateGC. Define x_create_gc and
7709 x_free_gc. Initialize font_sort_order.
7710 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7711 but call x_list_fonts instead of w32_list_fonts.
7712 (Finternal_face_x_get_resource) [macintosh]: Do not call
7713 display_x_get_resource.
7714 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7715 (realize_x_face) [macintosh]: Load the font if it is specified in
7716 ATTRS.
7717 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
7718
7719 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7720
7721 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7722 is nil: since we go to the end of submap anyway, we'd end up
7723 setting nil to nil.
7724 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7725 doesn't obey autoload.
7726
7727 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7728
7729 * msdos.c (dos_set_window_size): Update screen dimension variables.
7730
7731 2000-10-21 Jason Rumney <jasonr@gnu.org>
7732
7733 * w32term.c (w32_cache_char_metrics): Double check that font is
7734 really fixed pitch before trusting tmPitchAndFamily.
7735
7736 2000-10-21 Andrew Innes <andrewi@gnu.org>
7737
7738 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7739
7740 * w32term.h: Extern decl for w32_cache_char_metrics.
7741
7742 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7743
7744 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7745 (w32_unload_font): Free per_char array if present.
7746
7747 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7748 cached information in emulated XFontStruct to handle common cases
7749 quickly. Do not allocate XCharStruct for return.
7750 (w32_native_per_char_metric): New function.
7751 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7752 allocating one.
7753 (x_produce_glyphs): Don't get an HDC. Change calls to
7754 w32_per_char_metric to match arg change above. Remove calls to
7755 free results.
7756 (w32_get_glyph_overhangs): Ditto.
7757 (w32_cache_char_metrics): New function.
7758
7759 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7760 ($(BLD)/casefiddle.$(O)): Remove compile command.
7761 ($(BLD)/gmalloc.$(O)): Remove compile command.
7762 ($(BLD)/dispnew.obj):
7763 ($(BLD)/keyboard.obj):
7764 ($(BLD)/w32inevt.obj):
7765 ($(BLD)/w32bdf.obj):
7766 ($(BLD)/alloc.obj):
7767 ($(BLD)/buffer.obj):
7768 ($(BLD)/editfns.obj):
7769 ($(BLD)/emacs.obj):
7770 ($(BLD)/fileio.obj):
7771 ($(BLD)/fns.obj):
7772 ($(BLD)/indent.obj):
7773 ($(BLD)/insdel.obj):
7774 ($(BLD)/intervals.obj):
7775 ($(BLD)/minibuf.obj):
7776 ($(BLD)/print.obj):
7777 ($(BLD)/scroll.obj):
7778 ($(BLD)/sysdep.obj):
7779 ($(BLD)/textprop.obj):
7780 ($(BLD)/widget.obj):
7781 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7782 ($(BLD)/term.obj): Add dependency on dispextern.h.
7783
7784 * makefile.nt ($(BLD)\dispnew.obj):
7785 ($(BLD)\keyboard.obj):
7786 ($(BLD)\w32inevt.obj):
7787 ($(BLD)\w32bdf.obj):
7788 ($(BLD)\alloc.obj):
7789 ($(BLD)\buffer.obj):
7790 ($(BLD)\editfns.obj):
7791 ($(BLD)\emacs.obj):
7792 ($(BLD)\fileio.obj):
7793 ($(BLD)\fns.obj):
7794 ($(BLD)\indent.obj):
7795 ($(BLD)\insdel.obj):
7796 ($(BLD)\intervals.obj):
7797 ($(BLD)\minibuf.obj):
7798 ($(BLD)\print.obj):
7799 ($(BLD)\scroll.obj):
7800 ($(BLD)\sysdep.obj):
7801 ($(BLD)\textprop.obj):
7802 ($(BLD)\widget.obj):
7803 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7804 ($(BLD)\term.obj): Add dependency on dispextern.h
7805
7806 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7807
7808 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7809 with an additional argument of Qt.
7810
7811 2000-10-21 Miles Bader <miles@gnu.org>
7812
7813 * window.c (pos_fully_visible_in_window_p): New function.
7814 (Fpos_visible_in_window_p): Add FULLY argument.
7815 Use pos_fully_visible_in_window_p.
7816 (window_scroll_pixel_based, window_scroll_line_based): Update
7817 calls to Fpos_visible_in_window_p.
7818 * lisp.h (Fpos_visible_in_window_p): Update prototype
7819
7820 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7821
7822 * alloc.c (toplevel): Conditionalize compilation of mem_*
7823 functions differently.
7824
7825 2000-10-20 Jason Rumney <jasonr@gnu.org>
7826
7827 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7828 mem_init where it used to be. mem_z etc not defined otherwise.
7829
7830 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7831
7832 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7833 GC_MALLOC_CHECK.
7834 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7835 structure definition and related variabled to the top of the file.
7836 Include this code when GC_MALLOC_CHECK is defined.
7837 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7838 register/unregister allocated region.
7839 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7840 which isn't allocated.
7841 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7842 something which is already in use.
7843 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7844 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7845 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7846 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7847
7848 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7849 _malloc_internal instead of malloc.
7850 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7851 of free.
7852
7853 2000-10-20 Andrew Innes <andrewi@gnu.org>
7854
7855 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7856 Windows.
7857 (my_strftime) <macro>: Don't use macro arg list when redefining as
7858 _strftime_copytm.
7859 (my_strftime) <function>: Supply 0 as ut argument.
7860
7861 2000-10-19 Jason Rumney <jasonr@altavista.net>
7862
7863 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7864 including dispextern.h, as it stops faces from working.
7865
7866 * w32fns.c (Fx_create_frame): Don't bother calling
7867 face-set-after-frame-default since the caller does it for us
7868 anyway. Clean up calls to x_get_arg to be consistent with X.
7869
7870 * w32term.c (x_produce_glyphs): Handle
7871 unibyte_display_via_language_environment correctly.
7872 (w32_draw_box_rect): Fix the calculation of width and height.
7873
7874 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7875 as it has stopped working.
7876 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7877 menu-bar.
7878
7879 2000-10-19 Gerd Moellmann <gerd@gnu.org>
7880
7881 * eval.c (skip_debugger): Prevent a compiler warning.
7882 (Fcondition_case): Likewise.
7883 (Fbacktrace_frame): Use a null interactive spec.
7884
7885 2000-10-19 Kenichi Handa <handa@etl.go.jp>
7886
7887 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7888
7889 2000-10-18 Gerd Moellmann <gerd@gnu.org>
7890
7891 * strftime.c: Sync with glibc, file version 1.78.
7892 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7893 should no longer be used according to ISO 8601.
7894
7895 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7896 no map for meta_prefix_char, don't try to use it as a keymap.
7897 Instead, if T_OK is non-zero, look up a default binding, if any,
7898 otherwise, if T_OK is zero, return nil.
7899
7900 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7901 (x_to_xcolors, png_load): Use x_query_color.
7902
7903 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7904 New functions.
7905 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7906 which can be slow.
7907 (x_copy_color, x_alloc_lighter_color): Likewise.
7908
7909 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7910 (x_query_color, x_query_colors): Add prototype.
7911
7912 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7913 check_string_bytes only if not noninteractive, increase count to 50.
7914
7915 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7916
7917 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7918 markers correctly.
7919
7920 2000-10-17 Gerd Moellmann <gerd@gnu.org>
7921
7922 * alloc.c (pure_bytes_used): Renamed from pureptr.
7923 (ALIGN): New macro.
7924 (pure_alloc): New function.
7925 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7926 Use it.
7927 (Fpurecopy): Use PURE_POINTER_P.
7928
7929 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7930 PT has moved backward.
7931
7932 * xdisp.c (cursor_row_p): Take continued lines into account.
7933
7934 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7935 string's size_byte.
7936 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7937 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7938 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7939 string allocated.
7940
7941 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7942 of selective display off while searching for the next line start.
7943
7944 2000-10-17 Kenichi Handa <handa@etl.go.jp>
7945
7946 * Makefile.in (term.o): Depend on dispextern.h.
7947
7948 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7949
7950 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7951
7952 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7953
7954 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7955 the iterator at the beginning, so that they can be set later on,
7956 for instance in reseat_at_next_visible_line_start, without being
7957 overwritten.
7958
7959 * xfns.c (pbm_format): Add :foreground and :background keywords.
7960 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
7961 (xbm_load): Recognize foreground and background color specifications.
7962
7963 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7964
7965 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7966
7967 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
7968
7969 * msdos.c (IT_set_face): Compare highlighted face with the default
7970 face, and invert colors if these faces' colors are identical.
7971 (Fmsdos_remember_default_colors): Don't swap foreground and
7972 background colors in initial_colors[].
7973 (IT_set_frame_parameters): Don't swap frame's foreground and
7974 background pixels. If ALIST includes "(reverse . t)", swap
7975 foreground-color and background-color properties in frame's
7976 param_alist. If the original frame's param_alist doesn't specify
7977 the colors, store unspecified-fg and unspecified-bg, reversed if
7978 required.
7979
7980 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7981 the colors are unspecified and reversed, reverse fore- and back-
7982 ground in the returned value.
7983 (Fframe_parameter): Ditto.
7984
7985 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7986
7987 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7988 get_last_unchanged_at_beg_row.
7989 (find_first_unchanged_at_end_row): Renamed from
7990 get_first_unchanged_at_end_row.
7991 (find_first_unchanged_at_end_row): Convert assertions to
7992 unconditional tests which abort. When looking for a row in
7993 unchanged text, don't go further back than first_text_row.
7994
7995 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7996 Don't add in the last line's height when deciding if the new
7997 position is below the scroll margin.
7998
7999 2000-10-16 Miles Bader <miles@gnu.org>
8000
8001 * editfns.c (Fconstrain_to_field): Check carefully for field
8002 boundaries if either OLD_POS or NEW_POS has a non-nil field
8003 property, even if they're the same.
8004
8005 2000-10-16 Kenichi Handa <handa@etl.go.jp>
8006
8007 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8008 height for XFillRectangle.
8009
8010 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8011
8012 * syntax.c (Fstring_to_syntax): New function extracted from
8013 Fmodify_syntax_entry.
8014 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8015 (skip_chars, Fforward_comment): Remove unused variables.
8016 (syms_of_syntax): Add defsubr for string-to-syntax.
8017 (describe_syntax): Add code for comment and string fences.
8018
8019 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8020
8021 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8022 Do the meta->esc mapping. Call get_keyelt before returning.
8023 Start scanning from the second element (the first is always `keymap')
8024 to make it easier to detect when we reach a parent map.
8025 Handle the case of inheriting from a symbol whose function is a map.
8026 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8027 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8028 (get_keyelt, Flookup_key): Update call to access_keymap.
8029 Remove the meta->esc mappings.
8030 (define_as_prefix): Delete old disabled code.
8031 (menu_item_p): New function.
8032 (where_is_internal_1): Skip over the few remaining menu items.
8033 * lisp.h (access_keymap): Update prototype.
8034 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8035 Update call to access_keymap.
8036 (follow_key, read_key_sequence): Update calls to access_keymap.
8037 Remove the meta->esc mappings.
8038
8039 2000-10-13 Gerd Moellmann <gerd@gnu.org>
8040
8041 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8042 with additional argument.
8043
8044 * xdisp.c (cursor_row_p): New function.
8045 (try_cursor_movement, display_line): Use it.
8046
8047 * xdisp.c (append_space): Also save/restore iterator's current
8048 character and its length.
8049
8050 * xdisp.c (init_from_display_pos): Add an assertion.
8051 (handle_stop): Don't set iterator's add_overlay_start.
8052 (handle_invisible_prop): Likewise.
8053 (load_overlay_strings): If text under an overlay is invisible,
8054 take both before- and after-strings into account when the iterator
8055 is positioned either at the start or at the end of the overlay.
8056 (forward_to_next_line_start): Rewritten.
8057 (reseat_at_next_visible_line_start): Rewritten.
8058 (set_iterator_to_next): Add parameter RESEAT_P.
8059
8060 * dispextern.h (struct it): Remove member add_overlay_start.
8061 (set_iterator_to_next): Change prototype.
8062
8063 2000-10-13 Kenichi Handa <handa@etl.go.jp>
8064
8065 * coding.c (code_convert_region): Be sure to initialize
8066 coding->category_idx.
8067 (decode_coding_string): Set coding->src_multibyte and
8068 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8069 (encode_coding_string): Set coding->src_multibyte and
8070 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
8071
8072 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8073
8074 * xfns.c (Fx_create_frame): Don't bother calling
8075 face-set-after-frame-default since the caller does it for us anyway.
8076
8077 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8078
8079 * window.c (coordinates_in_window): Fix detection of vertical line
8080 on character terminals.
8081
8082 2000-10-12 Gerd Moellmann <gerd@gnu.org>
8083
8084 * editfns.c (save_excursion_save): Additionally record the
8085 selected window.
8086 (save_excursion_restore): If buffer was visible in a window, and a
8087 different window was selected, and the old selected window is
8088 still live, restore point in that window.
8089
8090 2000-10-12 Kenichi Handa <handa@etl.go.jp>
8091
8092 * xterm.c (x_produce_glyphs): Handle
8093 unibyte_display_via_language_environment correctly.
8094
8095 * regex.c (regex_compile): Change the way of handling a range from
8096 unibyte char to multibyte char.
8097
8098 * syntax.c (skip_chars): Change the way of handling a range from
8099 unibyte char to multibyte char.
8100
8101 * process.c (read_process_output): Cancel previous change.
8102
8103 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8104
8105 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8106
8107 * charset.c (Ffind_charset_string): Doc fix.
8108 (Ffind_charset_region): Doc fix.
8109
8110 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
8111
8112 * process.c (read_process_output): Fix previous change. Adjust
8113 multibyteness of text to insert in a buffer by
8114 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
8115
8116 2000-10-10 Andreas Schwab <schwab@suse.de>
8117
8118 * alloc.c (mark_object): Remove all workarounds installed on
8119 1993-08-08.
8120
8121 2000-10-10 Kenichi Handa <handa@etl.go.jp>
8122
8123 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
8124 (base64_encode_1): Make it work for a text of multibyte form.
8125 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8126 case. Don't call str_to_multibyte because base64_decode_1
8127 produces correct multibyte form for eight-bit codes.
8128 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
8129 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8130 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8131 codes.
8132
8133 * charset.h (CHAR_STRING): Optimized for single byte characters.
8134
8135 2000-10-09 Andreas Schwab <schwab@suse.de>
8136
8137 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8138 -1 after socket is closed, to fall through to error processing.
8139
8140 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8141
8142 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
8143 variables. If ALIST includes foreground-color or
8144 background-color, change also the colors of the default face for
8145 this frame.
8146
8147 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8148
8149 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8150 them extern (they are defined on xfaces.c).
8151 (syms_of_msdos): Don't intern and don't staticpro
8152 Qbackground_color and Qforeground_color.
8153
8154 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8155
8156 * frame.c (Fframe_parameter): For non-windowed frames, if
8157 f->param_alist says foreground or background color is unspecified,
8158 call tty_color_name to return the color name computed from the
8159 frame's current colors.
8160
8161 2000-10-06 Dave Love <fx@gnu.org>
8162
8163 * terminfo.c (ospeed): Don't declare.
8164
8165 * sysdep.c: Don't include string.h.
8166 (h_errno): Declare conditional also on TRY_AGAIN.
8167
8168 * charset.c (Ffind_charset_string): Doc fix.
8169
8170 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
8171 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8172 error messages.
8173
8174 2000-10-05 Dave Love <fx@gnu.org>
8175
8176 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8177 position like menu-bar.
8178
8179 2000-10-05 Gerd Moellmann <gerd@gnu.org>
8180
8181 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8182
8183 * xdisp.c (handle_single_display_prop): Use safe_call1.
8184 (safe_call): Renamed from call_function.
8185 (safe_call1): New function.
8186 (handle_fontified_prop): Use safe_call1 instead of call1.
8187 (safe_eval): Renamed from eval_form.
8188 (safe_eval_handler): Renamed from eval_handler.
8189 (handle_single_display_prop, display_mode_element): Use safe_eval
8190 instead of eval_form.
8191
8192 * xfaces.c (merge_face_heights): Use safe_call instead of
8193 call_function.
8194
8195 * keyboard.c (show_help_echo): Use safe_call instead of
8196 call_function; use safe_eval instead of eval_form.
8197
8198 * lisp.h (safe_call): Renamed from call_function.
8199 (safe_eval): Renamed from eval_form.
8200 (safe_call1): Add prototype.
8201
8202 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8203
8204 * xfns.c (image_ascent): Rearrange ascent calculation for the
8205 has-a-font case.
8206
8207 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8208
8209 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8210 (where_is_internal_1): Don't bother ignoring menu-items any more.
8211
8212 2000-10-04 Gerd Moellmann <gerd@gnu.org>
8213
8214 * keyboard.c (update_menu_bindings): New variable.
8215 (parse_menu_item): Use AREF. If update_menu_bindings
8216 is 0, don't update menu bindings.
8217 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8218
8219 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8220
8221 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8222 to `mark_object'.
8223
8224 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8225
8226 * syntax.c (forw_comment): Match nestedness of ender/starter.
8227 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8228 (prev_char_comstart_first): Remove.
8229 (back_comment): Check two-char comment markers more carefully
8230 to better handle overlapping cases like *//* or /* */* */ ...
8231 Match nestedness of ender/starter.
8232
8233 2000-10-02 Dave Love <fx@gnu.org>
8234
8235 * config.in (HAVE_GAI_STRERROR): Add undef.
8236
8237 * process.c (Fopen_network_stream): Use it.
8238
8239 * m/alpha.h (NO_REMAP): Don't define.
8240
8241 2000-10-02 Gerd Moellmann <gerd@gnu.org>
8242
8243 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8244 return with a string converted to an integer or vice versa when
8245 Vmocklisp_arguments is t.
8246 (Fsignal): Likewise. The function can return for `quit'.
8247 (struct gcpro): Declare member `var' to point to a volatile
8248 Lisp_Object.
8249
8250 * eval.c (error): Prevent compiler warning.
8251
8252 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8253
8254 * keymap.c (keymap_memberp): New function.
8255 (Fset_keymap_parent): Use it.
8256 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8257 Use keymap_memberp to avoid creating cycles.
8258 (access_keymap): Use KEYMAPP.
8259
8260 2000-09-30 Gerd Moellmann <gerd@gnu.org>
8261
8262 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
8263 gai_strerror. Make sure xerrno is set if connect fails. Improve
8264 error recovery.
8265
8266 2000-09-29 Jason Rumney <jasonr@gnu.org>
8267
8268 * w32term.c (w32_char_font_type, w32_encode_char)
8269 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8270 (w32_bdf_per_char_metric): New function.
8271 (w32_per_char_metric): Use it.
8272 (x_draw_glyph_string_background): Always draw background for BDF
8273 glyphs.
8274
8275 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8276 GDI object which is a scarce resource.
8277
8278 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8279 (get_quoted_string): Fix limit on memchr search.
8280 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8281 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8282 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8283 (get_cached_font_char, cache_char_offset): Use macro
8284 BDF_CODEPOINT_RANGE_COVER_P.
8285 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8286 (clear_cached_bitmap_slots): New function.
8287 (GET_HEX_VALUE): G-Z, g-z are not hex.
8288 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8289 (get_bitmap_with_cache): Use new cache implementation.
8290 (create_offscreen_bitmap): New function.
8291 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8292
8293 * w32term.c (x_produce_glyphs): If the distance from the current
8294 position to the next tab stop is less than a canonical character
8295 width, use the tab stop after that.
8296 (x_draw_glyphs): Handle case START and END are out of bounds more
8297 carefully.
8298 (x_clear_mouse_face): Block/unblock input.
8299 (x_display_and_set_cursor): Don't show a hollow box cursor for
8300 buffers whose cursor_type is nil.
8301
8302 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8303
8304 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
8305
8306 * dispextern.h (updating_frame): Declare extern.
8307
8308 2000-09-29 Andreas Schwab <schwab@suse.de>
8309
8310 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8311
8312 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8313
8314 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8315 use its function definition.
8316 (tool_bar_items): Likewise.
8317
8318 * lisp.h (fatal): Declare NO_RETURN.
8319
8320 2000-09-29 Kenichi Handa <handa@etl.go.jp>
8321
8322 * keymap.c: Remove the line "#undef NULL".
8323
8324 2000-09-28 Gerd Moellmann <gerd@gnu.org>
8325
8326 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
8327
8328 2000-09-28 Dave Love <fx@gnu.org>
8329
8330 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8331
8332 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8333
8334 * .gdbinit (xreload): Note its need on GNU/Linux.
8335
8336 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8337 r_alloc, r_alloc_free.
8338
8339 2000-09-28 Kenichi Handa <handa@etl.go.jp>
8340
8341 * syntax.c (skip_chars): Handle negation correctly.
8342
8343 2000-09-27 Gerd Moellmann <gerd@gnu.org>
8344
8345 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8346 with non-zero FORCE_P argument.
8347
8348 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8349 Add assertions.
8350
8351 * xdisp.c (window_box_height): Add an assertion.
8352
8353 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8354 tool-bar than is available.
8355 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8356
8357 2000-09-27 Dave Love <fx@gnu.org>
8358
8359 * s/irix6-5.h: Now works 64-bit. Tidied.
8360
8361 2000-09-26 Gerd Moellmann <gerd@gnu.org>
8362
8363 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8364 instead of BITS_PER_INT.
8365 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8366 EMACS_UINT, respectively.
8367 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8368
8369 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8370
8371 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8372
8373 * window.c (freeze_window_starts): Construct last argument for
8374 foreach_window differently.
8375
8376 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8377
8378 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8379 EMACS_UINT instead of `int' and `unsigned int'.
8380 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8381
8382 * frame.h (struct frame): Make the `nothing' member of union
8383 output_data an EMACS_INT.
8384
8385 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
8386 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8387 size in the sdata structure.
8388 (SDATA_NBYTES, SDATA_DATA): New macros.
8389 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8390 differently for the different layout of the sdata structure.
8391 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8392 in sdata.
8393 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8394 Check that size recorded in the string size and size recorded in
8395 the sdata structure agree.
8396
8397 2000-09-25 Dave Love <fx@gnu.org>
8398
8399 * buffer.c: Include stdio.h.
8400
8401 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
8402
8403 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8404
8405 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
8406 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
8407 (__malloc_extra_blocks): Declare as __malloc_size_t.
8408
8409 2000-09-25 Gerd Moellmann <gerd@gnu.org>
8410
8411 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8412
8413 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8414 (read_char): If help-echo is showing, preserve the echo area
8415 when redisplaying.
8416
8417 * xdisp.c (help_echo_showing_p): New variable.
8418 (set_message): Reset it to 0.
8419 (init_xdisp): Initialize help_echo_showing_p.
8420
8421 * dispextern.h (help_echo_showing_p): Declare extern.
8422
8423 * config.in: Fix typo in __GNUC_MINOR__.
8424
8425 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8426
8427 * s/freebsd.h (POSIX_SIGNALS): Define.
8428
8429 * xterm.c (x_clear_mouse_face): Block/unblock input.
8430
8431 2000-09-24 Dave Love <fx@gnu.org>
8432
8433 * fns.c (base64_encode_1): Fix last change.
8434
8435 2000-09-22 Gerd Moellmann <gerd@gnu.org>
8436
8437 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8438
8439 * xdisp.c (try_window_reusing_current_matrix): More fixes
8440 for the case window has a header-line.
8441
8442 2000-09-22 Dave Love <fx@gnu.org>
8443
8444 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8445 a doc string.
8446
8447 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8448
8449 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8450
8451 2000-09-21 Gerd Moellmann <gerd@gnu.org>
8452
8453 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
8454 for GCC >= 2.5.
8455
8456 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8457 Declare NO_RETURN.
8458
8459 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8460 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8461 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8462 warnings.
8463
8464 * marker.c (byte_char_debug_check): Return void.
8465
8466 * xfns.c (Fx_create_frame): Set default frame parameter value
8467 for tool-bar-lines to 1.
8468
8469 * dispnew.c (scrolling_window): Compare y-positions of rows
8470 equal at the start. Some simplification.
8471
8472 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8473 reused rows' y-position in the case window has a header-line, and
8474 new window start is greater than old window start.
8475
8476 * process.c (process_sent_to): New variable.
8477 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8478 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8479 Declare more parameters volatile.
8480
8481 * lread.c (Vrecursive_load_depth_limit): New variable.
8482 (Fload): Check recursive loads whose recursion depth exceeds
8483 Vrecursive_load_depth_limit.
8484 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8485
8486 2000-09-20 Gerd Moellmann <gerd@gnu.org>
8487
8488 * fileio.c (Fread_file_name): Doc fix.
8489
8490 * editfns.c (Fmessage_or_box): Doc fix.
8491
8492 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8493
8494 * xfns.c (xbm_scan): Allow C-style comments.
8495
8496 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8497 symbols are specified, add color translations to the cache.
8498 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8499 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8500 xpm_cache_color.
8501 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8502 structures to xpm_init_color_cache.
8503
8504 2000-09-19 Gerd Moellmann <gerd@gnu.org>
8505
8506 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
8507
8508 2000-09-19 Andrew Innes <andrewi@gnu.org>
8509
8510 * makefile.nt (bootstrap-emacs): Don't change directory.
8511
8512 2000-09-19 Kenichi Handa <handa@etl.go.jp>
8513
8514 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8515
8516 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8517 If output buffer is too small, signal an appropriated error.
8518
8519 2000-09-18 Dave Love <fx@gnu.org>
8520
8521 * keyboard.c (menu_bar_items, tool_bar_items)
8522 (current_active_maps): Remove redundant get_local_map call.
8523
8524 2000-09-18 Gerd Moellmann <gerd@gnu.org>
8525
8526 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8527 cursor for buffers whose cursor_type is nil.
8528
8529 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8530 a feature to implement that is already implemented.
8531 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8532 warnings.
8533
8534 * xfns.c (x_clear_image_1): New function.
8535 (x_clear_image): Use it.
8536 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
8537
8538 * dispnew.c (update_window): Move test for invisible lines
8539 at the top to update_window_line.
8540 (update_window_line): Handle invisible lines here.
8541
8542 * xfns.c (clear_image_cache): Clear current matrices of all
8543 frames sharing an image cache. Block input while freeing
8544 images. Fix timestamp comparison.
8545 (x_clear_image): Also free the mask.
8546
8547 * xfns.c (lookup_image): Block input while loading the image so
8548 that we won't get interrupted in a state where the image isn't yet
8549 set up completely.
8550 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8551 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8552 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
8553 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
8554
8555 2000-09-16 Gerd Moellmann <gerd@gnu.org>
8556
8557 * dispnew.c (update_window): Make sure to make desired rows
8558 current even if they are completely invisible at the top
8559 of a window.
8560
8561 2000-09-15 Gerd Moellmann <gerd@gnu.org>
8562
8563 * xfns.c (lookup_image): Build mask before applying an algorithm.
8564 Recognize algorithm `disabled'.
8565 (cross_disabled_images): New variable.
8566 (COLOR_INTENSITY): New macro.
8567 (x_detect_edges): Use COLOR_INTENSITY.
8568 (x_disable_image): New function.
8569 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8570
8571 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8572 disabled state, don't apply an image transformation algorithm if
8573 the user specified an image for the disabled state. Use
8574 `:algorithm disabled' for creating a disabled item's image if the
8575 user hasn't specified an image.
8576
8577 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8578 allocation functions with the XPM lib.
8579 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8580 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8581 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8582 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
8583 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
8584 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8585 functions, if possible, because these handle color allocation
8586 failure more gracefully.
8587 (Fimage_mask_p): New function.
8588
8589 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8590 (Qedge_detection, Qheuristic): New symbols.
8591 (syms_of_xfns): Initialize new symbols.
8592 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8593 `algorithm (edge-detection ...)'.
8594 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8595 (tiff_format, gif_format, gs_format): Add `:mask'.
8596 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8597 (GIF_MASK, GS_MASK): New enumerators.
8598 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8599 (emboss_matrix, laplace_matrix): New variables.
8600 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8601 (x_edge_detection): New functions.
8602 (x_laplace): Rewritten in terms of x_detect_edges.
8603 (x_build_heuristic_mask): If image has a mask, free it.
8604
8605 2000-09-14 Andrew Innes <andrewi@gnu.org>
8606
8607 * makefile.w32-in: Revert to Unix line endings.
8608
8609 2000-09-14 Andrew Innes <andrewi@gnu.org>
8610
8611 * makefile.w32-in: Standardize indentation somewhat.
8612 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8613 cater for differences between shells.
8614
8615 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8616
8617 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8618
8619 * xterm.c (x_produce_glyphs): If the distance from the current
8620 position to the next tab stop is less than a canonical character
8621 width, use the tab stop after that.
8622
8623 2000-09-14 Dave Love <fx@gnu.org>
8624
8625 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8626
8627 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8628
8629 * xdisp.c (handle_fontified_prop): While running fontification
8630 functions, bind `fontification-functions' and
8631 `after-change-functions' to nil.
8632
8633 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8634 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8635
8636 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8637
8638 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8639 USE_MMAP_FOR_BUFFERS.
8640
8641 * insdel.c (make_gap): Use enlarge_buffer_text.
8642
8643 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8644 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8645 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8646 from former r_alloc_* functions in ralloc.c.
8647 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
8648 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8649 (mmap_init) [REL_ALLOC_MMAP]: New function.
8650 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8651 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8652 BUFFER_FREE.
8653
8654 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8655 (enlarge_buffer_text): Add prototype.
8656
8657 * ralloc.c: Remove everything having to do with the use of mmap.
8658
8659 2000-09-13 Gerd Moellmann <gerd@gnu.org>
8660
8661 * sound.c (Fplay_sound): Doc fix.
8662
8663 * keyboard.c: Avoid some more compiler warnings.
8664 (parse_tool_bar_item): Ignore cached key bindings.
8665
8666 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8667 and allocation of Lisp data.
8668
8669 2000-09-12 Gerd Moellmann <gerd@gnu.org>
8670
8671 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8672 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8673 defaults first.
8674
8675 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8676
8677 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
8678
8679 * ccl.c: Comment fixed.
8680 (MAX_MAP_SET_LEVEL): Increased to 30.
8681 (PUSH_MAPPING_STACK): Enclose with do-while block.
8682 (POP_MAPPING_STACK): Likewise.
8683 (stack_idx_of_map_multiple): New variable.
8684 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8685 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
8686 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
8687 (ccl_driver) <CCL_MapSingle>: Likewise.
8688 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8689 with the case where looking up process reaches to the end of
8690 map-set, and call CCL programs as the above change.
8691
8692 2000-09-11 Gerd Moellmann <gerd@gnu.org>
8693
8694 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8695 that might be clobbered by longjmp.
8696 (check_x_display_info, x_decode_color, create_frame_xic)
8697 (Fx_display_backing_store, Fx_display_visual_class)
8698 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8699
8700 * lread.c (init_lread): Set Vloads_in_progress to nil.
8701 (Fload): Show list of recursively loaded files, when signaling an
8702 error.
8703
8704 * lread.c (Vloads_in_progress): New variable.
8705 (record_load_unwind): New function.
8706 (Fload): Check for recursive loads.
8707 (syms_of_lread): Initialize Vloads_in_progress.
8708 (read_integer, read1): Avoid some compiler warnings.
8709
8710 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8711 compiler warnings.
8712
8713 2000-09-11 Miles Bader <miles@gnu.org>
8714
8715 * editfns.c (Fbuffer_string): Doc fix.
8716
8717 2000-09-10 Gerd Moellmann <gerd@gnu.org>
8718
8719 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8720
8721 2000-09-09 Ken Raeburn <raeburn@gnu.org>
8722
8723 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8724 whether to include other header files.
8725
8726 2000-09-09 Gerd Moellmann <gerd@gnu.org>
8727
8728 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
8729 by Fmemq as a boolean.
8730
8731 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8732
8733 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8734
8735 2000-09-08 Gerd Moellmann <gerd@gnu.org>
8736
8737 * ralloc.c (mmap_fd): Remove initializer which can make it
8738 read-only in a dumped Emacs.
8739 (mmap_fd_1): New variable.
8740 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8741 restore it from there.
8742 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8743 unconditionally so that mmap_fd can be initialized there.
8744 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8745 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8746 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8747
8748 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8749
8750 * xdisp.c (dump_glyph_row): Fix printf format string.
8751 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
8752
8753 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8754
8755 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8756 inheritance.
8757
8758 * xdisp.c (try_window_id): When trying to locate cursor in
8759 unchanged rows at the top, handle the case that we can't find it.
8760
8761 * xterm.c (x_draw_glyphs): Handle case START and END are out
8762 of bounds more carefully.
8763
8764 2000-09-08 Dave Love <fx@gnu.org>
8765
8766 * s/sol2.h (REL_ALLOC_MMAP): Define.
8767 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8768
8769 * ralloc.c: Don't include string.h (redundant).
8770 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8771 [!MAP_ANON]: Include fcntl.h.
8772 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8773 (r_alloc, r_re_alloc, r_alloc_free)
8774 (mmap_enlarge, mmap_set_vars): Use it.
8775 (r_alloc_init_fd): New function.
8776 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8777 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8778 malloc type.
8779
8780 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8781 Remove vm-limit.o.
8782
8783 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8784 change to __NetBSD__.
8785
8786 2000-09-08 Kenichi Handa <handa@etl.go.jp>
8787
8788 * search.c (compile_pattern): Check the multibyteness of cached
8789 string and PATTERN.
8790
8791 2000-09-08 Miles Bader <miles@gnu.org>
8792
8793 * xfaces.c (default_face_vector): Function removed.
8794 (Finternal_merge_in_global_face): Restore old global/local
8795 attribute override order. Use inline loop instead of calling
8796 default_face_vector.
8797
8798 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8799
8800 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8801 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8802 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8803 where necessary, in case POINTER_TYPE is `void'.
8804
8805 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8806
8807 * frame.c (make_terminal_frame): Initialize frame foreground and
8808 background colors to unspecified, for the initial instance of an
8809 MSDOS frame.
8810
8811 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8812
8813 * ralloc.c (mmap_find): Fix overlap computation.
8814 (mmap_enlarge): Compute nbytes before trying to find an
8815 overlapping region.
8816
8817 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8818 instead of `!='.
8819
8820 * lread.c (syms_of_lread): Change value of regexp
8821 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8822
8823 * xmenu.c (xdialog_show): When looking up the selection in
8824 menu_items, take `quote' boundaries into account; this corresponds
8825 to a nil ITEM in x-popup-dialog.
8826
8827 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8828
8829 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8830 not 0x81.
8831 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8832
8833 * coding.c (encode_coding_sjis_big5): Use translation table for
8834 encoding, not decoding. Fix the handling of latin-jisx0201.
8835 Check for the charset katakana-jisx0201 too.
8836 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
8837 (detect_coding_sjis): Check the byte sequence more rigidly.
8838
8839 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8840
8841 * xfaces.c (Vparam_value_alist): New variable.
8842 (syms_of_xfaces): Initialize it.
8843 (Finternal_set_lisp_face_attribute): Avoid more consing.
8844
8845 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8846 specially.
8847 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8848 (Qbackground_mode): New variable.
8849 (syms_of_frame_1): Initialize Qbackground_mode.
8850
8851 * lisp.h (Qdisplay): Declare extern.
8852
8853 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8854 change face on all frames, and change the default for new frames.
8855
8856 2000-09-07 Dave Love <fx@gnu.org>
8857
8858 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8859
8860 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8861
8862 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8863
8864 * charset.c: Include composite.h
8865 (lisp_string_width): New function.
8866 (Fstring_width): Call lisp_string_width instead of strwidth.
8867
8868 * Makefile.in (charset.o): Depends on composite.h.
8869
8870 * process.c (read_process_output): Before inserting the decoded
8871 text in the buffer, adjust the multibyteness.
8872
8873 2000-09-06 Gerd Moellmann <gerd@gnu.org>
8874
8875 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
8876 buffer's text buffer is null, map new memory.
8877
8878 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8879 POINTER_TYPE and size_t.
8880 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8881 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8882 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8883 [REL_ALLOC_MMAP]: New macros.
8884 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8885 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8886 [REL_ALLOC_MMAP]: New functions.
8887
8888 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8889 before and after unexec.
8890
8891 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8892 text buffers if necessary.
8893
8894 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8895 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8896 in prototypes.
8897
8898 * config.in (HAVE_MMAP): Add #undef.
8899
8900 2000-09-05 Gerd Moellmann <gerd@gnu.org>
8901
8902 * frame.c (Qdisplay_type): New variable.
8903 (syms_of_frame_1): Initialize it.
8904 (Fframe_parameter): New function that avoids consing.
8905 (syms_of_frame): Defsubr it.
8906
8907 * buffer.c (Fother_buffer): Consider buffers as invisible when
8908 they are displayed in a window on an invisible frame.
8909
8910 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8911 get-largest-window always return nil.
8912
8913 2000-09-04 Gerd Moellmann <gerd@gnu.org>
8914
8915 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8916 variable; recognize Emacs 19 elc files.
8917
8918 2000-09-04 Miles Bader <miles@gnu.org>
8919
8920 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8921 before initially popping up the menu, so the menu doesn't flash
8922 when the face settings are significantly different from the defaults.
8923
8924 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8925
8926 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8927 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8928 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8929 (BIT_UNIBYTE): Remove.
8930 (re_match_2_internal): Delete corresponding code and streamline the
8931 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8932 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8933 (re_wctype_t): New type.
8934 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8935 (regex_compile): Use them and fix handling of overly long char classes.
8936
8937 2000-09-03 Andrew Innes <andrewi@gnu.org>
8938
8939 * makefile.w32-in: Change to DOS line endings.
8940
8941 * s/ms-w32.h (ORDINARY_LINK): New define.
8942
8943 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8944 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8945
8946 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8947 (distclean): Delete them here instead.
8948
8949 * w32proc.c (compare_env): Convert to uppercase for comparison,
8950 not lowercase, to match how the native Windows shell works.
8951
8952 2000-09-03 Jason Rumney <jasonr@gnu.org>
8953
8954 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8955 CVS changes the line-ends when checking in/out on DOS/Windows.
8956
8957 * makefile.nt (emacs): Do not change directory to run temacs, as
8958 the load-path is set relative to current directory.
8959
8960 2000-09-03 Miles Bader <miles@gnu.org>
8961
8962 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8963
8964 2000-09-02 Gerd Moellmann <gerd@gnu.org>
8965
8966 * xdisp.c (redisplay_mode_lines): New function.
8967 (display_mode_lines): Return number of mode lines displayed.
8968 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8969 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8970
8971 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8972 string.h and strings.h.
8973 (index) [HAVE_INDEX]: Add prototype.
8974
8975 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8976 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8977
8978 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8979 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8980
8981 2000-09-01 Gerd Moellmann <gerd@gnu.org>
8982
8983 * lread.c (read1): Accept `?' as symbol constituent, for
8984 compatiblity with XEmacs.
8985
8986 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8987
8988 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8989 (struct re_pattern_buffer): Remove newline_anchor.
8990 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8991 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8992 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8993 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8994 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8995 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8996 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8997 Get rid of references to newline_anchor.
8998 (regcomp): Allocate and precompute a fastmap.
8999
9000 2000-08-31 Gerd Moellmann <gerd@gnu.org>
9001
9002 * lread.c (openp): GCPRO local variable `filename'.
9003
9004 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9005
9006 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9007
9008 * regex.c: Merge some changes from GNU libc. Add prototypes.
9009 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9010 Use memcmp and memcpy instead of bcopy and bcmp.
9011 (init_syntax_once): Use ISALNUM.
9012 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9013 (REG_UNSET_VALUE): Remove. Use NULL instead.
9014 (REG_UNSET, re_match_2_internal): Use NULL.
9015 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9016 New macros.
9017 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9018 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9019 (regex_compile): In handle_interval, return an error rather than try to
9020 unfetch the interval if we can't find the closing brace.
9021 Obey the RE_NO_GNU_OPS syntax bit.
9022 (TOLOWER): New macro.
9023 (regcomp): Use it.
9024 (regexec): Allocate regs.start and regs.end as one block.
9025
9026 2000-08-30 Gerd Moellmann <gerd@gnu.org>
9027
9028 * xdisp.c (echo_area_display): Check display_completed instead
9029 of calling detect_input_pending.
9030
9031 * dispnew.c (update_frame): Only set display_completed here; move
9032 the update_begin and update_end calls here from update_frame_1.
9033 (update_frame_1): Don't set display_completed here, don't call
9034 update_begin/update_end.
9035
9036 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9037 instead of store_frame_param.
9038
9039 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9040
9041 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9042 desired window matrix hasn't been displayed, use the current row
9043 instead. Make sure that only those frame rows are updated for
9044 which there exists a corresponding enabled desired row.
9045
9046 2000-08-29 Miles Bader <miles@gnu.org>
9047
9048 * xfaces.c (default_face_vector): New function.
9049 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9050
9051 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9052
9053 * lread.c (openp): Prevent temporary string passed to
9054 Ffile_readable_p from being garbage collected.
9055
9056 2000-08-28 Dave Love <fx@gnu.org>
9057
9058 * keymap.c (store_in_keymap): Add `static' to declaration.
9059
9060 2000-08-28 Gerd Moellmann <gerd@gnu.org>
9061
9062 * emacs.c, callint.c, doc.c, editfns.c
9063 (toplevel) [HAVE_STRING_H]: Include string.h.
9064 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9065 (index): Remove prototypes which might conflict with non-standard
9066 definitions of index/strchr.
9067
9068 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9069 (rindex): Define only if !HAVE_RINDEX.
9070
9071 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9072
9073 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9074
9075 2000-08-28 Miles Bader <miles@gnu.org>
9076
9077 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9078 made inconsistent by a font-related attribute in FROM.
9079 (merge_face_inheritance): Add function comment.
9080
9081 2000-08-28 Kenichi Handa <handa@etl.go.jp>
9082
9083 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9084 the 4th arg (PREV_EVENT) Qt to suppress input method.
9085
9086 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9087
9088 * regex.c: Indent cpp directives and remove parens after `defined'.
9089 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9090 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9091 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9092 (re_compile_pattern): Use size_t for length.
9093 (init_syntax_once): Move to a better place.
9094 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9095 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9096
9097 * syntax.c (back_comment): Detect cases where a comment-starter is
9098 actually inside another comment as in: /* a // b */ c // d \n.
9099 Make it clear that `comstart_pos' is unused for nested comments.
9100
9101 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9102 (KEYMAPP): New macro.
9103 (Fkeymap_parent, Fset_keymap_parent): Use it.
9104 (fix_submap_inheritance): Mark it static.
9105 (define_as_prefix, describe_buffer_bindings, describe_command)
9106 (describe_translation, describe_map): Complete prototypes.
9107
9108 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9109
9110 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9111 to better match the key-lookup behavior.
9112
9113 2000-08-27 Gerd Moellmann <gerd@gnu.org>
9114
9115 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9116 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9117
9118 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9119
9120 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9121 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9122 (xterm.o): Depend on coding.h
9123
9124 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9125
9126 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9127 the corresponding '#endif'.
9128
9129 2000-08-26 Miles Bader <miles@gnu.org>
9130
9131 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9132 * xfaces.c (QCinherit): New variable.
9133 (syms_of_xfaces): Initialize it.
9134 (LFACE_INHERIT): New macro.
9135 (Finternal_get_lisp_face_attribute)
9136 (merge_face_vector_with_property)
9137 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9138 (check_lface_attrs): Allow new types of face height. Check
9139 inherit attribute.
9140 (CYCLE_CHECK): New macro.
9141 (merge_face_inheritance): New function.
9142 (merge_face_vectors): Merge inherited faces too. Add F and
9143 CYCLE_CHECK arguments.
9144 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9145 (lookup_named_face, lookup_derived_face, realize_named_face)
9146 (face_at_string_position, face_at_buffer_position): Supply
9147 new F and CYCLE_CHECK arguments to merge_face_vectors.
9148 (merge_face_heights): New function.
9149 (merge_face_vectors, merge_face_vector_with_property)
9150 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9151 handle relative face heights.
9152 (lface_same_font_attributes_p): Compare heights using EQ.
9153
9154 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9155
9156 * charset.c (char_to_string): Check the character validity.
9157 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
9158
9159 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9160
9161 * regex.c (PUSH_FAILURE_COUNT): New macro.
9162 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9163 Handle popping of a register's or a counter's data.
9164 (POP_FAILURE_POINT): Use the new name.
9165 (re_match_2_internal): Push counter data on the stack for succeed_n,
9166 jump_n and set_number_at and remove misleading dead code in succeed_n.
9167
9168 2000-08-25 Gerd Moellmann <gerd@gnu.org>
9169
9170 * xdisp.c (redisplay_internal): If considering all windows on all
9171 frames, update the display for each frame as soon as possible,
9172 instead of first building all desired matrices for all frames, and
9173 then updating them all.
9174 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9175
9176 2000-08-24 Gerd Moellmann <gerd@gnu.org>
9177
9178 * bytecode.c (mark_byte_stack): Add a comment.
9179
9180 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9181 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
9182 a graphical frame.
9183
9184 2000-08-24 Kenichi Handa <handa@etl.go.jp>
9185
9186 * minibuf.c (do_completion): Always use compare-string, not
9187 string-equal because the latter doesn't pay attention to
9188 multibyteness of strings.
9189
9190 * process.c (create_process): Don't setup raw-text coding here.
9191 (Fopen_network_stream): Don't set coding->src_multibyte and
9192 coding->dst_multibyte here.
9193 (read_process_output): For process filter, return unibyte string
9194 if default-enable-multibyte-characters is nil.
9195 (send_process): If OBJECT is multibyte text, be sure to encoded it
9196 by the specified coding system for the process. Otherwise, setup
9197 raw-text coding.
9198 (init_process): Don't initialize default-process-coding-system here.
9199
9200 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9201
9202 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9203 <scroll-down-aggressively>: Likewise.
9204
9205 2000-08-23 Kenichi Handa <handa@etl.go.jp>
9206
9207 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9208 zero. Set coding->produced_char correctly.
9209
9210 2000-08-22 Andrew Innes <andrewi@gnu.org>
9211
9212 * makefile.w32-in: New file.
9213
9214 * unexw32.c (unexec): Ignore old_name, and use the actual location
9215 of the current executable instead. Base new_name on this.
9216
9217 * w32proc.c (create_child): Remove reference to security
9218 descriptor, which isn't needed and doesn't compile with mingw32.
9219
9220 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9221 up dllimport attributes.
9222 (x_update_window_end): Update prototype.
9223
9224 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9225 extern, which screws up dllimport attributes.
9226
9227 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9228 up dllimport attributes.
9229
9230 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9231 screws up dllimport attributes.
9232
9233 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9234 up dllimport attributes.
9235 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9236 screws up dllimport attributes.
9237
9238 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9239 up dllimport attributes.
9240
9241 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9242 screws up dllimport attributes.
9243
9244 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9245 screws up dllimport attributes.
9246
9247 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9248 up dllimport attributes.
9249
9250 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9251 unnecessary extern, which screws up dllimport attributes.
9252 (main): Ditto.
9253
9254 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9255 up dllimport attributes.
9256
9257 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9258 unnecessary extern, which screws up dllimport attributes.
9259
9260 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9261 screws up dllimport attributes.
9262
9263 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9264 up dllimport attributes.
9265
9266 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9267
9268 * w32bdf.c (search_file_line):
9269 (set_bdf_font_info):
9270 (seek_char):
9271 (w32_get_bdf_glyph):
9272 (w32_BDF_to_x_font): Fix compile warnings.
9273
9274 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
9275
9276 * w32select.c: Include keyboard.h before frame.h.
9277
9278 * w32fns.c (max): Define macro.
9279 (JOHAB_CHARSET): Define if not known.
9280 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9281 (Fx_show_tip): Synch with X version.
9282
9283 * w32xfns.c: Include keyboard.h before frame.h.
9284
9285 * w32fns.c: Include keyboard.h before frame.h.
9286
9287 * w32term.c: Include keyboard.h before frame.h.
9288
9289 * fontset.c: Include keyboard.h before frame.h.
9290
9291 * w32inevt.c: Include keyboard.h before frame.h.
9292 (MOUSE_MOVED): Define if not known.
9293
9294 * minibuf.c: Include keyboard.h before frame.h.
9295
9296 * keyboard.c: Include keyboard.h before frame.h.
9297
9298 * indent.c: Include keyboard.h before frame.h.
9299
9300 * dispnew.c: Include keyboard.h before frame.h.
9301
9302 * buffer.c: Include keyboard.h before frame.h.
9303
9304 * alloc.c: Include keyboard.h before frame.h.
9305
9306 * print.c: Include keyboard.h before frame.h.
9307
9308 * process.c: Include keyboard.h before frame.h.
9309
9310 * scroll.c: Include keyboard.h before frame.h.
9311
9312 * sysdep.c: Include keyboard.h before frame.h.
9313
9314 * term.c: Include keyboard.h before frame.h.
9315
9316 * window.c: Include keyboard.h before frame.h.
9317
9318 * xdisp.c: Include keyboard.h before frame.h.
9319 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9320
9321 * frame.c: Include keyboard.h before frame.h.
9322
9323 * w32heap.h: Undefine min, max.
9324
9325 * w32gui.h: Undefine min, max.
9326
9327 * unexw32.c: Change PUCHAR to PCHAR.
9328 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
9329 (relocate_offset):
9330 (get_section_info):
9331 (copy_executable_and_dump_data): Remove unnecessary static defs.
9332 (copy_executable_and_dump_data): Fix compile warnings.
9333
9334 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9335
9336 * w32console.c (min): Define macro.
9337 (clear_frame, write_glyphs): Fix compile warning.
9338
9339 * w32proc.c (compare_env):
9340 (find_child_console): Fix compile warning.
9341
9342 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9343 sys_errlist instead of _sys_errlist.
9344 (get_emacs_configuration_options): New function.
9345
9346 * s/ms-w32.h (sys_nerr): Provide default definition.
9347 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9348 name with _ prepended.
9349 (NSIG): Define if not known.
9350 (get_emacs_configuration): Provide extern declaration.
9351 (get_emacs_configuration_options): Provide extern declaration.
9352 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9353
9354 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
9355 (map_w32_filename):
9356 (read_unc_volume): Fix compile warning.
9357
9358 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9359 definitions from being used.
9360
9361 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9362
9363 * w32.c (unc_volume_file_attributes):
9364 (open_unc_volume): Make arg const.
9365
9366 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9367 (read_input_waiting): Remove excess parameter.
9368
9369 * w32.c (init_environment): Call _access.
9370 (check_windows_init_file): Call _close.
9371 (init_user_info): Call _putenv.
9372 (init_environment): Call _putenv and _strdup.
9373 (init_ntproc): Reset volume info cache on startup.
9374
9375 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9376 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9377 cannot override the CRT malloc.
9378
9379 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9380 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9381
9382 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9383 unless we are linking with a static CRT.
9384 (RVA_TO_PTR): Cast result to unsigned char*.
9385
9386 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9387 (add_volume_info): Use xstrdup.
9388
9389 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9390
9391 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9392 (do_completion, Fminibuffer_complete_word): Use it.
9393 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9394 var so it can take non-boolean values.
9395
9396 2000-08-21 Gerd Moellmann <gerd@gnu.org>
9397
9398 * editfns.c (find_field): Formatting changes.
9399 (toplevel): Some old-style function forward declarations
9400 changed to prototypes, some new protypes added, some functions
9401 made static.
9402
9403 * lisp.h (set_time_zone_rule): Add prototype.
9404 (use_dialog_box): External declaration.
9405
9406 * keyboard.c (gen_help_event): Add parameter SIZE.
9407 (kbd_buffer_events_waiting): Slightly rewritten.
9408 (clear_event): New function.
9409 (kbd_buffer_get_event): Use it, and clear the input_events of
9410 HELP_EVENTs.
9411 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9412 don't fill the newly created array with nils.
9413 (toplevel): Convert some old-style function forward declarations
9414 to prototypes.
9415
9416 * keyboard.h (gen_help_event): Change prototype.
9417
9418 * xterm.c (XTread_socket): Change calls to gen_help_event.
9419
9420 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9421
9422 * eval.c (Fmacroexpand): Doc fix.
9423
9424 2000-08-20 Jason Rumney <jasonr@gnu.org>
9425
9426 * w32term.h (x_display_info_for_display): Remove as this function
9427 does not exist on W32.
9428
9429 * w32term.c (help_echo_window): New variable.
9430 (syms_of_w32term): staticpro it.
9431 (note_mode_line_highlight): Set it.
9432 (XTextExtents16): Removed as there is no equivalent on W32.
9433 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9434 the X way of doing this will not work for W32.
9435 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9436 (x_draw_image_foreground): Avoid drawing outside of the clip area
9437 when image doesn't have a mask.
9438 (note_mouse_highlight): Process overlays in the right order of
9439 priority. Set help_echo_window.
9440 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9441 because that's more visible for large images.
9442
9443 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9444 name to single_keymap_panes.
9445 (w32_menu_show): Set wv->title when dealing with titles.
9446 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9447
9448 2000-08-21 Miles Bader <miles@gnu.org>
9449
9450 * minibuf.c (do_completion): Try again if we rewrite the input
9451 string, but no completion was done, so that any completion message
9452 will be correct.
9453
9454 2000-08-20 Gerd Moellmann <gerd@gnu.org>
9455
9456 * xfaces.c (lface_equal_p): Compare strings differently.
9457 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9458 (realize_tty_face): Use them.
9459 (syms_of_xfaces): Initialize new variables.
9460 (map_tty_color): New function, extracted from realize_tty_face.
9461 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9462 foreground or background color, store the new color name in the
9463 realized face; previous code trying to do this had no effect.
9464 (realize_tty_face): Use map_tty_color.
9465 (Fclear_face_cache): Set face_change_count and ensure thorough
9466 redisplay.
9467
9468 2000-08-19 Gerd Moellmann <gerd@gnu.org>
9469
9470 * undo.c (record_first_change, record_marker_adjustment): Don't
9471 use XBUFFER on last_undo_buffer which might not be a buffer.
9472
9473 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9474
9475 * coding.c (decode_coding_string): Set members consumed,
9476 consumed_char, produced, produced_char of *coding correctly. If
9477 decode_coding doesn't consume any byte, don't try anymore.
9478 (encode_coding_string): Likewise.
9479
9480 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9481
9482 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9483 conditional have void type, for Standard C compilers.
9484
9485 * xdisp.c (redisplay_internal): Compare windows for equality with
9486 EQ, instead of applying XWINDOW to something that might not
9487 be a window.
9488
9489 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9490
9491 * fontset.c (Finternal_char_font): Search only the selected frame
9492 for a window of the current buffer.
9493
9494 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9495
9496 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
9497 Lisp_Objects.
9498
9499 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9500 second half of a HELP_EVENT is found at the start of kbd_buffer.
9501
9502 2000-08-18 Miles Bader <miles@gnu.org>
9503
9504 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9505
9506 * editfns.c (save_restriction_save): Rewrite to use markers.
9507 (save_restriction_restore): Rewrite to understand new form of data
9508 saved by save_restriction_save.
9509 (Fsave_restriction): Remove cautionary note in doc-string.
9510
9511 2000-08-17 Gerd Moellmann <gerd@gnu.org>
9512
9513 * fileio.c (build_annotations): Add a comment explaining the
9514 return value of format-annotate-function. Replace a spurious call
9515 to Flength with a CONSP test. Call format-annotate-function with
9516 a fifth arg specifying how many times the function is been called
9517 in a row, to let it choose temporary buffers appropriately.
9518
9519 2000-08-17 Dave Love <fx@gnu.org>
9520
9521 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9522 declare make_temp_name twice.
9523
9524 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
9525 (unreadpure): Give it an arg.
9526
9527 * unexalpha.c: Prototype fatal_unexec, mark_x,
9528 update_dynamic_symbols. Declare unexec as void.
9529
9530 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9531 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9532
9533 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
9534 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
9535
9536 * alloca.c: Use #error.
9537 [POINTER_TYPE]: Use it.
9538
9539 * eval.c (Fdefvar): Doc fix.
9540
9541 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9542 INITIALIZE_INTERVAL.
9543
9544 * buffer.h: Avoid DECLARE_INTERVALS.
9545
9546 * config.in: Add size_t.
9547
9548 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9549
9550 * w16select.c (set_clipboard_data): If there's not enough memory
9551 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9552 expects. In case of other failures, return 3.
9553 (system_error_msg): New error message.
9554 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9555 system_error_msg.
9556
9557 2000-08-16 Gerd Moellmann <gerd@gnu.org>
9558
9559 * term.c (write_glyphs): Also turn off inverse video after turning
9560 off other appearances in case TS_exit_attribute_mode is not equal
9561 to TS_end_standout_mode.
9562 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9563 with the same face.
9564 (turn_off_face): Reset standout_mode only if
9565 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9566 is equal to TS_end_standout_mode.
9567
9568 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9569
9570 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9571 sequence at the end of the source block.
9572
9573 * ccl.c (Fccl_program_p): Docstring modified.
9574 (Fccl_execute): Likewise.
9575 (Fccl_execute_on_string): Likewise.
9576
9577 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9578
9579 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9580
9581 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9582
9583 The following changes are mainly to fix bugs of
9584 encode/decode-coding-string failing if encoding/decoding return
9585 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9586 variable conversion_buffer.
9587
9588 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9589 decrement dst_end to avoid buffer overflow in the later call of
9590 string_as_multibyte
9591
9592 * coding.h (conversion_buffer_size, conversion_buffer)
9593 (get_conversion_buffer): Extern deleted.
9594
9595 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9596 (conversion_buffer, conversion_buffer_size): Variables deleted.
9597 (get_conversion_buffer): Function deleted.
9598 (struct conversion_buffer): New structure.
9599 (MAX_ALLOCA): New macro.
9600 (allocate_conversion_buffer): New macro.
9601 (extend_conversion_buffer, free_conversion_buffer): New functions.
9602 (ccl_coding_driver): Set coding->result.
9603 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9604 this is the last block of source.
9605 (encode_coding): Likewise. Handle the source block as the last
9606 one only when the whole source text is consumed.
9607 (decode_coding_string): Handle the case that the output buffer is
9608 too small to decode the whole source text. Use
9609 allocate_conversion_buffer, extend_conversion_buffer and
9610 free_conversion_buffer, not get_conversion_buffer.
9611 (encode_coding_string): Likewise.
9612 (init_coding): Function deleted.
9613 (init_coding_once): Delete code to initialize conversion_buffer_size.
9614
9615 * emacs.c (main): Don't call init_coding.
9616
9617 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
9618
9619 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9620 (insert_glyphs): Likewise.
9621
9622 * w32console.c (write_glyphs): Use a locally declared
9623 conversion_buffer.
9624
9625 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9626
9627 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9628 member of display_info is NULL.
9629
9630 2000-08-15 Gerd Moellmann <gerd@gnu.org>
9631
9632 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
9633
9634 * term.c (turn_off_face): Reset standout_mode when resetting
9635 appearances with capability `me'.
9636 (write_glyphs): Switch on inverse video before each face change.
9637
9638 2000-08-14 Dave Love <fx@gnu.org>
9639
9640 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9641 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9642 (lisp_free): Declare and make static.
9643
9644 * window.c: Fix embedded comment.
9645 (syms_of_window): Fix doc string.
9646
9647 2000-08-14 Gerd Moellmann <gerd@gnu.org>
9648
9649 * keymap.c (push_key_description): If C without modifiers is < 32,
9650 make sure to print `C-' before `M-', like in the manual.
9651
9652 2000-08-11 Gerd Moellmann <gerd@gnu.org>
9653
9654 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9655 since they aren't relocated anymore.
9656 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
9657
9658 * xdisp.c (try_cursor_movement): Fix handling of cursor in
9659 partially visible line which is smaller than the window's height.
9660
9661 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9662
9663 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
9664 the multibyte form of eight-bit-control characters.
9665 (Fccl_execute_on_string): Initialize ccl->multibyte.
9666
9667 * ccl.h (struct ccl_program): New member multibyte.
9668
9669 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9670
9671 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9672
9673 * regex.c (regex_compile) <normal_char>: Pay attention to
9674 multibyteness.
9675 (analyse_first) <exactn>: Setup fastmap correctly for
9676 eight-bit-control characters.
9677
9678 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9679
9680 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
9681
9682 * keyboard.c (make_lispy_event): Handle the new event type
9683 multibyte_char_keystroke.
9684
9685 * xterm.c: Include coding.h.
9686 (XTread_socket): Work around a bug of XmbLookupString. If the
9687 input is from XIM, decode it according to the current locale. In
9688 that case, generate multibyte_char_keystroke events.
9689
9690 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9691
9692 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9693 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9694
9695 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9696
9697 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9698 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9699 (move_it_in_display_line_to): Record iterator's ascent and descent
9700 before producing glyphs, and restore them when we know the glyph
9701 doesn't fit on the line.
9702 (move_it_to): Restructured so that it's easier to debug. If
9703 moving to a vpos, and not moving to an x or character position,
9704 stop as soon as the specified vpos is reached; don't move further
9705 into that line because that might change the computed line height.
9706 (try_cursor_movement): New function, extracted from the cursor
9707 movement branch of redisplay_window. If ending on a partially
9708 visible line, don't try to scroll if the cursor line is taller
9709 than the window.
9710 (redisplay_window): Use try_cursor_movement.
9711
9712 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9713 because that function doesn't cope with variable-height lines.
9714
9715 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9716 box cursor because that's better visible for large images.
9717
9718 2000-08-10 Miles Bader <miles@gnu.org>
9719
9720 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9721
9722 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9723
9724 * xdisp.c (Vmessages_buffer_name): New variable.
9725 (message_dolog): Use it.
9726 (syms_of_xdisp): Initialize it.
9727
9728 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9729
9730 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
9731 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9732 redundant now that keyboard.h is included.
9733
9734 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9735
9736 * keyboard.c (kbd_buffer_events_waiting): New function.
9737
9738 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9739
9740 * msdos.c: Include keyboard.h.
9741 (XMenuActivate): Empty no_event events from the event buffer. If
9742 no events are left after that, call clear_input_pending.
9743 (mouse_clear_clicks): New function, code moved from mouse_init.
9744 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9745 mouse driver to ``forget'' any past clicks.
9746
9747 * Makefile.in (msdos.o): Depend on keyboard.h.
9748
9749 2000-08-09 Gerd Moellmann <gerd@gnu.org>
9750
9751 * lisp.h (input_pending): External declaration.
9752
9753 * dispextern.h (Qredisplay_dont_pause): Declare extern.
9754
9755 * xdisp.c (echo_area_display): Display thoroughly if input is
9756 pending. Bind redisplay-dont-pause to t during the redisplay.
9757 in case input is pending.
9758
9759 * dispnew.c (Qredisplay_dont_pause): New variable.
9760 (syms_of_display): Initialize and staticpro it.
9761 (update_frame_1): Don't interrupt the display for pending input if
9762 redisplay_dont_pause is set.
9763
9764 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9765
9766 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9767
9768 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9769
9770 * callproc.c (Fcall_process): Terminate the unwind-protect around
9771 the post-read-conversion of coding system.
9772
9773 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9774 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9775 * buffer.h (overlays_at): Update prototype.
9776 * xdisp.c (next_overlay_change): Update call to overlays_at.
9777 * xfaces.c (face_at_buffer_position): Likewise.
9778 * textprop.c (Fget_char_property): Likewise.
9779 * xterm.c (note_mouse_highlight): Likewise.
9780
9781 * minibuf.c (do_completion): Don't consider a simple change of
9782 case as `completion'.
9783
9784 2000-08-08 Ken Raeburn <raeburn@gnu.org>
9785
9786 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
9787 * undo.c (record_delete): Make sure last_point_position_buffer is
9788 a buffer before comparing pointers.
9789
9790 * coding.h (decode_coding_string): Declare.
9791
9792 * intervals.h (Fprevious_single_char_property_change): Declare.
9793
9794 * textprop.c (Fprevious_single_char_property_change): Don't do
9795 arithmetic directly on lisp objects.
9796
9797 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
9798
9799 * keyboard.h (menu_item_eval_property): Declare.
9800
9801 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9802 reuse as buffer name, instead of recreating (and discarding) every
9803 time a message is logged.
9804 (with_echo_area_buffer): Make callback arg A2 a lisp object.
9805 (current_message_1, truncate_message_1, set_message_1)
9806 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9807 (current_message, truncate_echo_area, display_echo_area)
9808 (resize_echo_area_axactly): Changed calls.
9809
9810 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
9811 Lisp object.
9812 (Ffind_coding_systems_region_internal): First argument to Fappend
9813 must be an integer, not a Lisp object.
9814
9815 2000-08-08 Kenichi Handa <handa@etl.go.jp>
9816
9817 * charset.c (Fchar_width): Doc fix.
9818
9819 2000-08-08 Gerd Moellmann <gerd@gnu.org>
9820
9821 * charset.c (Fstring_width): Doc fix.
9822
9823 2000-08-07 Gerd Moellmann <gerd@gnu.org>
9824
9825 * xdisp.c (start_display): When starting display on a continuation
9826 line, clear ascent and descent members of the iterator structure;
9827 the height of the continued line does not affect the height of the
9828 continuation line.
9829 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9830 line taller than the window.
9831 (redisplay_window) <forced window start>: Handle case that the
9832 middle of the window is not found in any row.
9833 (dump_glyph_row): Show more information.
9834 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9835 first text line in a glyph matrix.
9836
9837 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9838 of the clip area when image doesn't have a mask.
9839
9840 * fns.c (sweep_weak_table): Fix survival conditions for
9841 key-or-value and key-and-value weakness.
9842
9843 * .gdbinit (xhashtable): New command.
9844
9845 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9846 tables out of the list of all weak hash tables.
9847
9848 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9849 a new buffer is created, make sure echo_area_buffer[] references
9850 the new buffer.
9851
9852 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9853
9854 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9855 the doc string.
9856
9857 2000-08-07 Kenichi Handa <handa@etl.go.jp>
9858
9859 * syntax.c (skip_chars): Fix previous change. Make the handling
9860 of unibyte string consistent with that of regex search.
9861
9862 2000-08-05 Gerd Moellmann <gerd@gnu.org>
9863
9864 * xmenu.c (popup_get_selection): Use xfree instead of free.
9865
9866 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9867
9868 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9869
9870 * callproc.c (child_setup): Use xfree instead of free.
9871
9872 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9873 instead of malloc.
9874 (run_mac_command, closedir): Use `xfree' instead of `free'.
9875
9876 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9877
9878 * eval.c (error): Use xfree instead of free.
9879
9880 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9881
9882 * fns.c: Replace `illegal' with `invalid'.
9883 (Fmake_hash_table, make_hash_table): Allow table size of 0.
9884
9885 2000-08-05 Kenichi Handa <handa@etl.go.jp>
9886
9887 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9888 conversion.
9889
9890 2000-08-04 Noah Friedman <friedman@splode.com>
9891
9892 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9893 docstring.
9894
9895 2000-08-04 Gerd Moellmann <gerd@gnu.org>
9896
9897 * syntax.c (skip_chars): Fix typo in error message.
9898
9899 2000-08-04 Andreas Schwab <schwab@suse.de>
9900
9901 * m/ia64.h: Moved from s/ia64.h.
9902
9903 2000-08-04 Kenichi Handa <handa@etl.go.jp>
9904
9905 * process.c (read_process_output): Big simplification. Handle
9906 composition and post-read-conversion of coding system correctly.
9907 (send_process): Handle composition correctly.
9908
9909 * callproc.c (Fcall_process): Handle post-read-conversion of
9910 coding system if any.
9911
9912 * coding.c (decode_coding_iso2022): More strict check for handling
9913 single shifting.
9914 (coding_restore_composition): Pay attention to the case that
9915 cmp_data is not set properly (because of invalid code in the
9916 source text).
9917 (run_pre_post_conversion_on_str): Include text properties in the
9918 resulting string.
9919 (decode_coding_string): Set members of coding correctly.
9920
9921 2000-08-03 Gerd Moellmann <gerd@gnu.org>
9922
9923 * s/ia64.h: New file.
9924
9925 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9926 Use NULL instead of 0 at the end of variable argument list of
9927 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9928 sizeof (int) < sizeof (void *).
9929
9930 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9931 of variable argument lists of XtVaGetValues and XtVaSetValues.
9932
9933 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9934 variable argument lists of XtVaGetValues and XtVaSetValues.
9935
9936 2000-08-02 Gerd Moellmann <gerd@gnu.org>
9937
9938 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9939 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9940
9941 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9942 prototype.
9943
9944 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9945 in call to Fsingle_key_description.
9946
9947 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9948 Callers changed.
9949
9950 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9951
9952 * window.c (display_buffer_reuse_frames): New variable.
9953 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9954 frames displaying BUFFER.
9955 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
9956
9957 2000-08-01 Miles Bader <miles@gnu.org>
9958
9959 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9960 when to constrain NEW_POS (they were pretty screwed up before).
9961
9962 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9963
9964 * msdos.c (run_msdos_command): Save and restore the master
9965 environment, for the case that child_setup signals an error.
9966 When mirroring slashes in DOS shell commands, don't fail when
9967 argv[2] has embedded blanks.
9968 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9969 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9970 (dos_ttraw): Call mouse_setup_buttons.
9971
9972 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9973 using alloca; free it after run_msdos_command returns.
9974
9975 2000-07-27 Dave Love <fx@gnu.org>
9976
9977 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9978 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
9979
9980 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9981
9982 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9983
9984 * editfns.c (lisp_time_argument): Fix last change.
9985
9986 2000-07-27 Gerd Moellmann <gerd@gnu.org>
9987
9988 * fns.c (Fdelete): Make it work on vectors and strings in addition
9989 to lists.
9990
9991 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9992 (syms_of_fns): Initialize new variables.
9993 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
9994 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9995 weakness, with t meaning the same as `key-and-value'.
9996
9997 2000-07-27 Kenichi Handa <handa@etl.go.jp>
9998
9999 * coding.h (struct coding_system): Member safe_charset deleted.
10000
10001 * coding.c (Qsafe_charsets): This variable deleted.
10002 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10003 New variables.
10004 (coding_safe_chars): New function.
10005 (CODING_SAFE_CHAR_P): New macro.
10006 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
10007 checking safe_charsets member of the coding system. Caller changed.
10008 (detect_coding_iso2022): New local variable safe_chars.
10009 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10010 safe_charsets member of the coding system.
10011 (decode_coding_iso2022): New local variable safe_chars.
10012 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10013 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10014 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10015 (ENCODE_UNSAFE_CHARACTER): New macro.
10016 (encode_coding_iso2022): New local variable safe_chars. Check
10017 unsafe chars.
10018 (setup_coding_system): Delete the code to initialize
10019 coding->safe_charses
10020 (intersection, find_safe_codings): New functions.
10021 (Ffind_coding_systems_region_internal): New function.
10022 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10023 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10024 variable and initialize it.
10025
10026 * fns.c (char_table_ref_and_index): New function.
10027
10028 * lisp.h (char_table_ref_and_index): Add prototype.
10029
10030 2000-07-26 Sam Steingold <sds@gnu.org>
10031
10032 * editfns.c (lisp_time_argument): Added third argument `usec'.
10033 (Ffloat_time): New built-in Lisp function.
10034
10035 2000-07-26 Gerd Moellmann <gerd@gnu.org>
10036
10037 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10038 for the character code.
10039
10040 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10041 GNU/Linux.
10042
10043 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10044 if called for a popup menu.
10045 (xmenu_show): Store help string in widget values.
10046
10047 2000-07-26 Dave Love <fx@gnu.org>
10048
10049 * syswait.h: Move some definitions.
10050 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10051 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10052 perspicuous definitions.
10053 (WTERMSIG): Fix bit pattern used.
10054
10055 2000-07-26 Kenichi Handa <handa@etl.go.jp>
10056
10057 * print.c (print_object): If vector printing is truncated, print
10058 "..." to indicate it as well as the case of list printing.
10059
10060 2000-07-25 Gerd Moellmann <gerd@gnu.org>
10061
10062 * xdisp.c (next_element_from_display_vector): Improve comments.
10063
10064 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10065 for the character code, and the rest for the face id as in 20.x.
10066 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10067
10068 * window.c (window_display_table): Cleaned up.
10069
10070 * syntax.c (Fforward_word): Add last arg nil in call of
10071 Fconstrain_to_field.
10072
10073 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10074
10075 * fileio.c (Frename_file) [DOS_NT]: If the file names are
10076 identical but for the letter-case, don't call
10077 barf_or_query_if_file_exists.
10078
10079 2000-07-25 Miles Bader <miles@gnu.org>
10080
10081 * editfns.c (find_field): Honor special `boundary' fields.
10082 (Qboundary): New variables.
10083 (syms_of_editfns): Initialize Qboundary.
10084 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10085 Use scan_buffer instead of find_before_next_newline, because it
10086 allows us to detect the boundary case where there's a newline at
10087 the search limit.
10088 * lisp.h (Fconstrain_to_field): Update external declaration.
10089
10090 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10091
10092 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10093 if that is nil.
10094
10095 2000-07-24 Dave Love <fx@gnu.org>
10096
10097 * s/sunos4-0.h, s/sol2.h:
10098 (LIBS_TERMCAP): Move from m/sparc.h.
10099
10100 * m/sparc.h (TERMINFO): Moved to system files (probably only
10101 relevant for sunos4 judging by its vintage).
10102 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10103 __arch64__.
10104
10105 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10106
10107 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10108 name to single_keymap_panes.
10109
10110 2000-07-24 Andreas Schwab <schwab@suse.de>
10111
10112 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10113
10114 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10115
10116 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10117 parameters instead of using int parameters. Expect FN to accept
10118 EMACS_INT parameters.
10119 (display_echo_area, resize_echo_area_axactly, current_message)
10120 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10121 with new argument list.
10122 (resize_mini_window_1): New callback function.
10123 (current_message_1, truncate_message_1, set_message_1): Change
10124 parameter lists to the new format expected by with_echo_area_buffer.
10125
10126 2000-07-24 Kenichi Handa <handa@etl.go.jp>
10127
10128 * fontset.c (fontset_ref): Remove INLINE declaration.
10129 (fontset_ref_via_base): Likewise.
10130 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10131 to downcase.
10132
10133 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10134
10135 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10136 correct order of priority. If help echo was found in an overlay,
10137 use that overlay as the object in which the help echo was found.
10138
10139 2000-07-22 Miles Bader <miles@gnu.org>
10140
10141 * textprop.c (Fprevious_single_char_property_change): The initial
10142 property value should be from the position preceding POSITION, not
10143 following it.
10144
10145 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10146
10147 * coding.c (syms_of_coding): Doc fix for
10148 inhibit-iso-escape-detection.
10149
10150 2000-07-21 Gerd Moellmann <gerd@gnu.org>
10151
10152 * xterm.c (note_mouse_highlight): Process overlays in the right
10153 order of priority.
10154
10155 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10156
10157 * xterm.c (note_mouse_highlight): If help-echo was found in an
10158 overlay, use that overlay as the object in which the help was found.
10159
10160 * window.c (foreach_window_1): Fix typo reversing an if-condition.
10161
10162 * window.c (foreach_window): Instead of a fake variable argument
10163 list, take one USER_DATA argument.
10164 (foreach_window_1): Likewise, and call callback functions with two
10165 args, the window and USER_DATA.
10166 (struct check_window_data): New struct.
10167 (check_window_containing): Use it.
10168 (window_from_coordinates): Set up a struct check_window_data for
10169 foreach_window.
10170 (add_window_to_list, freeze_window_start): Change parameters
10171 according to new calling convention.
10172
10173 * window.h (foreach_window): Change prototype.
10174
10175 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10176
10177 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10178
10179 * xmenu.c (menu_help_callback): Call show_help_echo with
10180 additional arguments OBJECT and POS.
10181
10182 2000-07-21 Kenichi Handa <handa@etl.go.jp>
10183
10184 * data.c (Faset): Allow storing any multibyte character in a
10185 string. Convert unibyte string to multibyte if necessary.
10186
10187 * xfns.c (x_encode_text): New function.
10188 (x_set_name): Use x_encode_text.
10189 (x_set_title): Likewise.
10190
10191 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10192
10193 * xterm.h (x_encode_text): Add prototype.
10194
10195 2000-07-20 Dave Love <fx@gnu.org>
10196
10197 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10198 xfree, not free.
10199
10200 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10201
10202 * msdos.c (help_echo_window): New variable.
10203 (syms_of_msdos): Initialize and staticpro it.
10204 (IT_note_mode_line_highlight): Set help_echo_window.
10205 (IT_note_mouse_highlight): Ditto.
10206 (dos_rawgetc): Store help_echo_window in the second event produced
10207 for HELP_EVENTs.
10208
10209 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10210 Record the object that generated the help echo and the position of
10211 that object in help_echo_object and help_echo_pos. Record that
10212 some glyphs in a row are displayed in mouse-face.
10213 (IT_update_begin): Don't clear mouse highlight unless one of the
10214 enabled glyph rows is marked as being displayed in mouse-face.
10215 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10216 and position recorded in help_echo_object and help_echo_pos to the
10217 event queue.
10218 (IT_menu_display): Accept a new argument PN: the pane number of
10219 the current menu pane. Record the pane number and the item
10220 number of the item which has associated help string.
10221 (XMenuActivate): Update the prototype for help_callback in
10222 function declaration. Call IT_menu_display with the current menu
10223 pane number as an additional argument. Call help_callback with
10224 two additional arguments: the pane number and the item number of
10225 the menu item associated with the help text.
10226 (help_echo_object, help_echo_pos): New variables.
10227 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10228
10229 * msdos.h (XMenuActivate): Update prototype.
10230
10231 2000-07-19 Gerd Moellmann <gerd@gnu.org>
10232
10233 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10234 Add some more prototypes.
10235
10236 * xterm.c, xterm.h: Add some more prototypes.
10237
10238 * lisp.h (Fnext_single_char_property_change): Add prototype.
10239
10240 * dispnew.c (direct_output_for_insert): Remove confusing
10241 outer local variable mouse_face_overwritten_p.
10242 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10243
10244 * alloc.c (allocate_string_data): Don't copy old string contents.
10245
10246 2000-07-19 Kenichi Handa <handa@etl.go.jp>
10247
10248 * coding.c (code_convert_region): Delete text properties before
10249 shrinking the conversion region.
10250
10251 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10252
10253 * dispnew.c (update_text_area): Write the whole row if it
10254 has mouse-face in it.
10255
10256 * xfaces.c (face-alternative-font-family-alist): Remove
10257 DEFVAR_LISP; staticpro instead.
10258
10259 * xmenu.c (menu_help_callback): Call show_help_echo with
10260 new arguments.
10261
10262 * keyboard.c (show_help_echo): Add parameter WINDOW.
10263 (read_char): Call show_help_echo with window extracted from Lisp
10264 help event.
10265 (gen_help_event): Add parameter WINDOW.
10266
10267 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10268
10269 * xterm.c (help_echo_window): New variable.
10270 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
10271 (XTread_socket): Pass help_echo_window to gen_help_event.
10272 (syms_of_xterm): Initialize and staticpro help_echo_window.
10273
10274 2000-07-18 Dave Love <fx@gnu.org>
10275
10276 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
10277
10278 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10279
10280 * alloc.c (allocate_string_data): If string had already data
10281 assigned, copy old contents to new string data.
10282
10283 * coding.c (syms_of_coding): Fix typo in spelling of variable
10284 `inhibit-iso-escape-detection'.
10285
10286 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10287
10288 * Makefile.in: Add dependencies on dispextern.h.
10289 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10290 `free'; both can conflict with system header files.
10291
10292 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10293
10294 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10295 undefined.
10296
10297 2000-07-18 Dave Love <fx@gnu.org>
10298
10299 * window.c (Fwindow_list): Declare arg `window'.
10300
10301 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10302
10303 * coding.c (setup_coding_system): Don't override the explicitly
10304 specified designations.
10305
10306 2000-07-15 Miles Bader <miles@gnu.org>
10307
10308 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10309 from `text_property_eq' and `text_property_stickiness', respectively.
10310 (find_field, Fconstrain_to_field, char_property_eq)
10311 (char_property_stickiness): Changed to call char-property functions
10312 instead of text-property-only ones.
10313
10314 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10315 `next_single_char_property_change'). Do more error checking, and
10316 cleanup limit behavior.
10317 (Fprevious_single_char_property_change): New function.
10318 (syms_of_textprop): Initialize new subrs.
10319
10320 * xdisp.c (display_prop_end, invisible_text_between_p):
10321 Call Fnext_single_char_property_change instead of
10322 next_single_char_property_change.
10323
10324 2000-07-15 Jason Rumney <jasonr@gnu.org>
10325
10326 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10327 after menu is finished with.
10328 (add_menu_item): Only consider wv->title as a menu title.
10329 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10330
10331 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10332 null title.
10333 (FONT_REGEXP): Remove unused macro, and its sub-components.
10334 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10335
10336 * w32term.c (help_echo_object, help_echo_pos): New variables.
10337 (note_mode_line_highlight): Store additional information about the
10338 help-echo in help_echo_object and help_echo_pos. Check both
10339 `local-map' and `keymap' properties for changing the cursor
10340 (note_mouse_highlight): Store additional information about the
10341 help-echo in help_echo_object and help_echo_pos.
10342 (note_tool_bar_highlight): Set help_echo_object to nil and
10343 help_echo_pos to -1.
10344 (w32_read_socket): Use gen_help_event instead of filling
10345 input_events manually.
10346 (syms_of_w32term): Staticpro help_echo_object.
10347 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
10348 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
10349 (x_clear_mouse_face): New function.
10350 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10351 (x_update_window_begin): No need to turn off the mouse
10352 highlight here.
10353 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10354 depending on whether they contain glyphs highlighted in mouse-face.
10355 (x_fill_stretch_glyph_string): Consume runs of stretch
10356 glyphs instead of a single one.
10357 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10358 with new argument list.
10359 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10360 (x_append_glyph, x_append_composite_glyph)
10361 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10362 changes in struct glyph starting 1999-12-27. See comments for
10363 xterm.c on 2000-07-05.
10364
10365 2000-07-14 Sam Steingold <sds@gnu.org>
10366
10367 * xfaces.c (realize_x_face): Fix the last patch:
10368 check `default_face' before dereferencing.
10369
10370 2000-07-14 Dave Love <fx@gnu.org>
10371
10372 * syntax.c (back_comment): Add null default in switch (for pcc).
10373
10374 2000-07-14 Kenichi Handa <handa@etl.go.jp>
10375
10376 * xfaces.c (realize_x_face): Make fontset using the base of the
10377 default_face's fontset, not using the default fontset.
10378
10379 * coding.c (inhibit_iso_escape_detection): New variable.
10380 (syms_of_coding): Make it a Lisp variable.
10381 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10382 nonzero, ignore ISO2022's escape sequence.
10383
10384 2000-07-14 Gerd Moellmann <gerd@gnu.org>
10385
10386 * alloca.c (malloc) [emacs]: Define as xmalloc.
10387
10388 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10389 use that instead of the mouse position. Add parameters DX and DY.
10390
10391 * dispextern.h (Fx_show_tip): Adjust number of parameters
10392 in prototype.
10393
10394 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10395 if HELP is a function, call it with OBJECT and POS as parameters
10396 to get the help to display.
10397 (gen_help_event, kbd_buffer_store_help_event): New functions.
10398 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10399 (read_char): Call show_help_echo with new parameters.
10400
10401 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
10402 Add prototypes.
10403
10404 * xterm.c (help_echo_object, help_echo_pos): New variables.
10405 (note_mode_line_highlight): Store additional information about the
10406 help-echo in help_echo_object and help_echo_pos. Check both
10407 `local-map' and `keymap' properties for changing the cursor
10408 (note_mouse_highlight): Store additional information about the
10409 help-echo in help_echo_object and help_echo_pos.
10410 (note_tool_bar_highlight): Set help_echo_object to nil and
10411 help_echo_pos to -1.
10412 (XTread_socket): Use gen_help_event instead of filling
10413 input_events manually.
10414 (syms_of_xterm): Staticpro help_echo_object.
10415
10416 * xmenu.c (menu_highlight_callback): Use
10417 kbd_buffer_store_help_event instead of setting up and input_event
10418 structure manually.
10419
10420 * xdisp.c (eval_form): GCPRO argument sexpr.
10421 (call_function): New function.
10422 (handle_single_display_prop): Use call_function and FUNCTIONP
10423 instead of checking whether if font_height is a symbol and
10424 using eval_form.
10425
10426 * eval.c (internal_condition_case_2): New function.
10427
10428 * lisp.h (FUNCTIONP): New macro.
10429 (internal_condition_case_2, call_function): Add prototypes.
10430
10431 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10432 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10433 Always set `arg' member of input_events.
10434 (construct_menu_click): Unused function removed.
10435
10436 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10437
10438 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10439 (construct_drag_n_drop, x_scroll_bar_handle_click)
10440 (w32_read_socket): Always set `arg' member of input_events.
10441
10442 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10443
10444 * lisp.h (eval_form): Add prototype.
10445
10446 * xdisp.c (eval_form): Make it externally visible.
10447
10448 2000-07-13 Gerd Moellmann <gerd@gnu.org>
10449
10450 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10451 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10452 consing. For prefix events, store the frame in the `arg' slot of
10453 the event, otherwise store the key there.
10454 (XTread_socket): Instead of consing, use the frame_or_window slot
10455 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
10456
10457 * xmenu.c (menu_highlight_callback): Store help string in the
10458 `arg' member of the input event; don't cons.
10459 (menubar_selection_callback): Use the `arg' slot of input events
10460 to queue additional information, instead of consing.
10461
10462 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10463
10464 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10465 TOOL_BAR_EVENTs.
10466 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10467
10468 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10469 input events to queue additional information, instead of consing.
10470
10471 * keyboard.c (kbd_buffer_gcpro): Renamed from
10472 kbd_buffer_frame_or_window. Now used for all Lisp objects
10473 referenced from the input queue.
10474 (kbd_buffer_store_event): Always use structure assignment for
10475 copying input events. Record all Lisp objects referenced from
10476 events in kbd_buffer_gcpro.
10477 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10478 differently from input events. Test for prefix menu_bar_events
10479 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10480 event in kbd_buffer_gcpro to nil.
10481 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10482 frame_or_window is equal to its arg member as prefix events.
10483 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10484 used by an input event to nil.
10485 (init_keyboard): Use two times the size of the input queue
10486 for kbd_buffer_gcpro.
10487 (syms_of_keyboard): Likewise.
10488
10489 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10490 Use USER_SIGNAL_EVENT.
10491
10492 * termhooks.h (struct input_event): Add member `arg'.
10493 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10494 (USER_SIGNAL_EVENT): Renamed from user_signal.
10495
10496 * xfaces.c (ASET): Remove definition.
10497
10498 * lisp.h (AREF, ASET, ASIZE): New macros.
10499
10500 * fontset.c (AREF, ASIZE): Remove definitions.
10501
10502 * fns.c (AREF): Remove definition.
10503
10504 * composite.c (AREF): Remove definition.
10505
10506 2000-07-12 Gerd Moellmann <gerd@gnu.org>
10507
10508 * dispnew.c (redraw_overlapped_rows): Add missing local.
10509 (scrolling_window): Remove debug code.
10510
10511 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10512 Before scrolling, turn off a mouse-highlight in the window
10513 being scrolled.
10514
10515 * xterm.c (x_update_window_end): Add parameter
10516 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10517 redisplay in XTframe_up_to_date.
10518 (x_clear_mouse_face): New function.
10519 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10520
10521 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10522 current glyph row.
10523 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10524 it when any row is written to that contains glyphs highlighted in
10525 mouse-face.
10526 (update_window): Call the window update end hook with new
10527 parameter MOUSE_FACE_OVERWRITTEN_P.
10528 (direct_output_for_insert): Give up if row contains mouse-face.
10529
10530 * dispextern.h (struct redisplay_interface): Add parameter
10531 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10532 (clear_mouse_face): New function pointer member.
10533
10534 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10535
10536 * syntax.c (back_comment): Use one switch rather than a few `if's.
10537 Obey open_paren_in_column_0_is_defun_start.
10538 When reverting to the `slow' method, try to nicely handle the case
10539 of nested comments by checking that the comment-starter we found
10540 does indeed match the comment-ender.
10541 (scan_sexps_forward, scan_sexps_forward):
10542 Ignore excessive opening parenthesis rather than throwing an error.
10543
10544 2000-07-11 Gerd Moellmann <gerd@gnu.org>
10545
10546 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10547 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10548
10549 * dispnew.c (direct_output_forward_char): Give up if currently
10550 displaying a message instead of the minibuffer contents.
10551
10552 * xterm.c (x_update_window_begin): No need to turn off the mouse
10553 highlight here.
10554 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10555 depending on whether they contain glyphs highlighted in mouse-face.
10556
10557 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10558 compare the mouse_face_p flags of both rows.
10559
10560 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10561
10562 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10563
10564 * keyboard.c (show_help_echo): Accept additional parameter
10565 ok_to_overwrite_keystroke_echo.
10566 (read_char): Call show_help_echo with a zero
10567 ok_to_overwrite_keystroke_echo argument.
10568 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
10569 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10570 ok_to_overwrite_keystroke_echo argument.
10571 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10572 non-zero ok_to_overwrite_keystroke_echo argument.
10573
10574 2000-07-10 Gerd Moellmann <gerd@gnu.org>
10575
10576 * xdisp.c (try_window_id): If changes are all below what is
10577 displayed in the window, and point is in the window, we still
10578 might have to find point on the display.
10579
10580 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10581 glyphs instead of a single one.
10582 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10583 with new argument list.
10584 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10585
10586 * keymap.c (get_keymap_1): Add comment that this function can GC.
10587 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10588 comment that functions can GC.
10589 (Fset_keymap_parent): GCPRO arg KEYMAP.
10590
10591 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10592
10593 * msdos.c (XMenuActivate): After exiting the menu, restore the
10594 echo area message and erase it.
10595
10596 2000-07-10 Kenichi Handa <handa@etl.go.jp>
10597
10598 * fontset.c (Ffontset_info): Make the return value more compatible
10599 with that of Emacs 20.
10600
10601 2000-07-07 Gerd Moellmann <gerd@gnu.org>
10602
10603 * eval.c (Fsignal): Handle case that backtrace_list is null.
10604
10605 2000-07-07 Kenichi Handa <handa@etl.go.jp>
10606
10607 * ccl.c (Fccl_execute): Typo fixed.
10608
10609 2000-07-06 Gerd Moellmann <gerd@gnu.org>
10610
10611 * window.c (window_loop): Add missing gcpro1 local variable.
10612
10613 * window.c (Fwindow_list): Reverse list at the end.
10614 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10615 means allow windows on OWINDOW's frame, only.
10616 (window_loop): Simplified; use Fwindow_list.
10617
10618 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10619
10620 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10621
10622 * xterm.c (XTread_socket): Increment handling_signal at the start,
10623 decrement it at the end.
10624
10625 * eval.c (handling_signal): New variable.
10626 (Fsignal): Abort if handling_signal is non-zero.
10627
10628 * lisp.h (handling_signal): External declaration.
10629
10630 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10631
10632 2000-07-05 Ken Raeburn <raeburn@gnu.org>
10633
10634 Sound support for NetBSD through "Linux emulation" support:
10635 * config.in (HAVE_SOUNDCARD_H): Undef.
10636 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10637 * Makefile.in (LIBSOUND): New variable.
10638 (LIBES): Include it.
10639 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10640 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
10641 (vox_open): Use DEFAULT_SOUND_DEVICE.
10642 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10643
10644 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10645
10646 * print.c (print_error_message): If Vsignaling_function is set,
10647 show it in *Messages*.
10648
10649 * lisp.h (Vsignaling_function): External declaration.
10650
10651 * eval.c (Vsignaling_function): New variable.
10652 (Fsignal): Compute it.
10653 (syms_of_eval): Staticpro it.
10654
10655 2000-07-05 Dave Love <fx@gnu.org>
10656
10657 * syswait.h: Use the autoconf recommended approach. Old code
10658 #if'd out in case we need to revert.
10659
10660 * config.in (HAVE_SYS_WAIT_H): Added.
10661
10662 2000-07-05 Andrew Innes <andrewi@gnu.org>
10663
10664 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10665 when non-NULL instead of __morecore, to take account of buffer
10666 memory. This also solves a problem with spurious memory warnings
10667 on Windows.
10668
10669 * ralloc.c: Make real_morecore non-static.
10670
10671 * eval.c (internal_condition_case): Comment out abort if
10672 interrupt_input_blocked is not zero.
10673
10674 * makefile.nt: Add support for `bootstrap' and related targets.
10675 Include minimal debug info in emacs.exe in release build.
10676 Remove all dependencies on lisp.h, and fixup some others.
10677
10678 * w32.c (init_environment): Install code from 20.7 for providing
10679 default values for environment variables, based on the
10680 executable's own location.
10681 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
10682 (sys_socket): Install socket inheritance bug fix from 20.7.
10683
10684 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10685 here via blockinput.h).
10686
10687 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10688
10689 * w32menu.c (w32_menu_display_help):
10690 * xmenu.c (menu_help_callback): Use show_help_echo.
10691
10692 * keyboard.h (show_help_echo): Declare.
10693
10694 * keyboard.c (show_help_echo): New function, extracted from read_char.
10695 Feval its `msg' argument if it's a cons cell.
10696 (read_char): Use it.
10697 (follow_key): Pass `autoload' to get_keyelt.
10698
10699 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
10700 (note_tool_bar_highlight, XTread_socket):
10701 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
10702 (dos_rawgetc):
10703 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10704 (note_tool_bar_highlight, w32_read_socket):
10705 Do not gratuitously ignore non-string `help-echo' properties.
10706
10707 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10708
10709 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10710
10711 * window.c (delete_all_subwindows): Reset Vwindow_list.
10712
10713 * xterm.c (x_append_glyph, x_append_composite_glyph)
10714 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10715 changes in struct glyph starting 1999-12-27. Some bit-fields of
10716 struct glyph were not set, which made glyphs unequal when compared
10717 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10718 effects were the result. This also depended on the contents of
10719 memory returned by xmalloc. If flickering happens again, activate
10720 the code in clear_glyph_row that's in #if 0. If the flickering is
10721 gone with that, chances are that it is caused by something similar.
10722
10723 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
10724
10725 * dispextern.h: Add some comments.
10726
10727 * window.c (add_window_to_list): Add parameter LIST.
10728 (window_list): Order list so that, for each frame, windows are
10729 in canonical order, and so that frames appear in the list in
10730 the order given by Vframe_list.
10731 (next_window): Reverse the handling of NEXT_P.
10732
10733 2000-07-04 Gerd Moellmann <gerd@gnu.org>
10734
10735 * window.c (Vwindow_list): New variable.
10736 (make_window, delete_window): Set Vwindow_list to nil.
10737 (check_window_containing): New function.
10738 (window_from_coordinates): Rewritten.
10739 (add_window_to_list, window_list, candidate_window_p)
10740 (decode_next_window_args, next_window): New functions.
10741 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
10742 (Fwindow_list): New function.
10743 (Fother_window): Cleaned up.
10744 (foreach_window): Add a longer "variable argument list". Let
10745 callback function return 0 to indicate that cycling over windows
10746 should stop.
10747 (foreach_window_1): Likewise.
10748 (freeze_window_start): Return int.
10749 (init_window): New function.
10750 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10751
10752 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10753 input_event with bzero.
10754 (main): Call init_window.
10755
10756 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10757 a menu filter.
10758
10759 2000-07-04 Kenichi Handa <handa@etl.go.jp>
10760
10761 * composite.h (make_composition_value_copy): Extern it.
10762
10763 * composite.c (make_composition_value_copy): New function.
10764
10765 * editfns.c (Fformat): While copying text properties, make each
10766 composition property value a copy.
10767
10768 * fns.c (concat): While copying text properties, make each
10769 composition property value a copy.
10770
10771 2000-07-03 Gerd Moellmann <gerd@gnu.org>
10772
10773 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10774
10775 * fns.c (sweep_weak_table): Mark only objects that are not
10776 marked already.
10777
10778 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10779 include those frames as candidates which have their focus
10780 redirected to the minibuffer frame.
10781
10782 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10783
10784 * fns.c (Fputhash): Return `value' rather than nil.
10785
10786 2000-06-30 Gerd Moellmann <gerd@gnu.org>
10787
10788 * frame.c (next_frame): Don't check focus redirection in case
10789 MINIBUF is a window. Doing so excludes frames using MINIBUF
10790 unless their focus is redirected, which contradicts the
10791 specification of next-frame, and leads to infinite loops in
10792 certain situations when cycling through windows with next-window.
10793
10794 2000-06-30 Kenichi Handa <handa@etl.go.jp>
10795
10796 * coding.c (code_convert_region): Even if the length of text is
10797 zero, try to convert it if coding->type is coding_type_ccl.
10798 (decode_coding_string, encode_coding_string): Likewise.
10799
10800 2000-06-28 Gerd Moellmann <gerd@gnu.org>
10801
10802 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
10803 the display if windows_or_buffers_changed.
10804
10805 * dispnew.c (struct row_entry): New structure.
10806 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10807 (row_table_size, old_lines, new_lines, old_lines_size)
10808 (new_lines_size, run_pool, runs_size, runs): New variables.
10809 (add_row_entry): New function.
10810 (scrolling_window): Use data structures allocated with xmalloc and
10811 held in global variables, instead of allocating them with alloca and
10812 holding them in local variables. Use a larger hash table whose
10813 size depends on glyph matrix sizes. Don't use bzero to clear the
10814 hash table; instead, clear used slots only.
10815
10816 * fns.c (next_almost_prime): Make it externally visible.
10817
10818 * lisp.h (next_almost_prime): Add prototype.
10819
10820 * s/isc4-0.h (sigunblock): Define.
10821
10822 * s/sco5.h (sigunblock): Define.
10823
10824 2000-06-27 Dave Love <fx@gnu.org>
10825
10826 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10827 (moved to osf5-0.h).
10828 [!NOT_C_CODE]: Protect string.h stuff.
10829
10830 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10831 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10832
10833 2000-06-27 Gerd Moellmann <gerd@gnu.org>
10834
10835 * xdisp.c (resize_mini_window): Subtract the extra line spacing
10836 below the last line from the needed window height.
10837
10838 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10839
10840 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10841 (Fwidget_get): Use it.
10842 (syms_of_fns): Defsubr it.
10843
10844 2000-06-26 Gerd Moellmann <gerd@gnu.org>
10845
10846 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
10847 display info for XIM.
10848 (xim_open_dpy): Likewise.
10849 (xim_close_dpy): Don't free the display info's XIM.
10850
10851 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10852
10853 * config.in (USE_XIM): New define.
10854
10855 * keymap.c (get_keyelt): For menu-items containing a `:filter
10856 FILTER', apply FILTER to the menu-item's definition to get the
10857 real definition to use.
10858
10859 * lisp.h (QCfilter): External declaration.
10860
10861 * xfns.c (Fimage_size): New function.
10862 (syms_of_xfns): Defsubr it.
10863
10864 2000-06-26 Andreas Schwab <schwab@suse.de>
10865
10866 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10867 Fstring_as_unibyte.
10868
10869 2000-06-25 Dave Love <fx@gnu.org>
10870
10871 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
10872
10873 * Makefile.in (blockinput.h): Depend on atimer.h.
10874 (atimer.h): Depend on systime.h.
10875
10876 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
10877
10878 * atimer.h: Protect against multiple inclusion. Include systime.h.
10879
10880 * lisp.h (swap_in_global_binding): Declare.
10881
10882 2000-06-24 Ken Raeburn <raeburn@gnu.org>
10883
10884 * process.c (Fopen_network_stream): Turn off atimers for duration
10885 of call to connect. (Patch from Gerd.)
10886
10887 2000-06-23 Dave Love <fx@gnu.org>
10888
10889 * ralloc.c: Maybe include unistd.h
10890
10891 * emacs.c (setgrp): Undefine before defining.
10892 (malloc_warning, set_time_zone_rule, index): Prototype.
10893
10894 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10895 HAVE_STRUCT_TIMEZONE.
10896
10897 * s/osf1.h: Move string.h hack here from alpha.h and make it
10898 conditional.
10899 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10900 _XOPEN_SOURCE.
10901 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10902 (SOCKLEN_TYPE): Don't define.
10903
10904 * m/alpha.h: Remove string.h hack.
10905
10906 * s/osf5-0.h: New file.
10907
10908 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10909 include time.h, done by systime.h.
10910 [__FreeBSD__]: Remove redundant includes.
10911
10912 * callproc.c (setpgrp): Undefine before defining.
10913 (delete_temp_file): Return Qnil to avoid warning.
10914
10915 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10916
10917 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10918 HAVE_X_WINDOWS.
10919
10920 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10921
10922 * composite.h (compose_text): Declare.
10923
10924 * xterm.c: Don't include sys/types.h unconditionally. Don't
10925 protect its inclusion with !USG (following xmenu.c).
10926
10927 2000-06-23 Gerd Moellmann <gerd@gnu.org>
10928
10929 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10930 in x_create_frame.
10931
10932 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10933
10934 * coding.c (decode_eol_post_ccl): Special handling for undecided
10935 and inconsistent EOL types.
10936
10937 2000-06-22 Gerd Moellmann <gerd@gnu.org>
10938
10939 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10940 trough color and main window's background color.
10941
10942 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
10943
10944 * xterm.h (Xt_app_con): External declaration.
10945
10946 * widget.c (EmacsFrameRealize): Fix typo.
10947
10948 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10949
10950 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10951 (handle_invisible_prop): Record the start of invisible text in
10952 it->add_overlay_start.
10953 (struct overlay_entry): Add member `overlay'.
10954 (handle_overlay_change): Simplify.
10955 (next_overlay_string): After having processed overlay strings at the
10956 end of the buffer, record that fact in
10957 it->overlay_strings_at_end_processed_p.
10958 (compare_overlay_entries): If before- and after-strings come
10959 from the same overlay, let before-strings come first.
10960 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10961 (load_overlay_strings): Take it->add_overlay_start into account
10962 when adding overlay strings.
10963
10964 * dispextern.h (struct it): Add member add_overlay_start.
10965
10966 2000-06-22 Dave Love <fx@gnu.org>
10967
10968 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10969
10970 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10971
10972 2000-06-22 Kenichi Handa <handa@etl.go.jp>
10973
10974 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10975 is greater than 0.
10976
10977 2000-06-21 Dave Love <fx@gnu.org>
10978
10979 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
10980
10981 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10982
10983 * syntax.c (back_comment): Simplify string-parity counting (with
10984 the added benefit of handling multiple string-styles as long as
10985 they are not intertwined).
10986 Jump to the slow code as soon as a comment starter is found in
10987 a "string_lossage" position. Fixes the case: " /* " /* " */.
10988
10989 2000-06-21 Dave Love <fx@gnu.org>
10990
10991 * Makefile.in: Use GETLOADAVG_LIBS.
10992
10993 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10994 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10995
10996 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10997
10998 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10999 (Fforward_comment, scan_lists):
11000 Check the comstyle of single-char comment-starters.
11001 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11002 we're just at the beginning of the comment (f.ex with (*) ... (*)).
11003 Check the comstyle of single-char comment-starters.
11004 Clarify control-flow around the Scomment case.
11005
11006 2000-06-20 Dave Love <fx@gnu.org>
11007
11008 * fns.c (make_hash_table, maybe_resize_hash_table):
11009 Cast arg of next_almost_prime.
11010
11011 * tparam.c [emacs]: Include lisp.h.
11012
11013 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11014 and unistd.h.
11015
11016 2000-06-20 Gerd Moellmann <gerd@gnu.org>
11017
11018 * keyboard.c (adjust_point_for_property): Check if display
11019 property should be treated as intangible by looking at its value.
11020
11021 * xdisp.c (single_display_prop_intangible_p)
11022 (display_prop_intangible_p): New functions.
11023
11024 * dispextern.h (display_prop_intangible_p): Add prototype.
11025
11026 * xdisp.c (dump_glyph_row): Show type of glyph->object.
11027
11028 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11029 argument to sigprocmask.
11030
11031 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11032 argument to sigprocmask.
11033
11034 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11035 sigprocmask_set, and pass a pointer to it to sigprocmask.
11036
11037 * sysdep.c (sigprocmask_set): New variable.
11038
11039 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11040 report_file_error.
11041
11042 2000-06-20 Sam Steingold <sds@gnu.org>
11043
11044 * xrdb.c: Don't declare xmalloc, xrealloc.
11045
11046 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11047
11048 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11049 (re_comp): Cast gettext return value to avoid complaints when
11050 !HAVE_LIBINTL.
11051
11052 2000-06-20 Dave Love <fx@gnu.org>
11053
11054 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
11055
11056 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
11057
11058 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
11059
11060 * m/alpha.h: Don't declare xmalloc, xrealloc.
11061
11062 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11063
11064 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11065
11066 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11067
11068 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11069 HAVE_GETWD.
11070
11071 * keyboard.h (poll_for_input_1): Declare.
11072
11073 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11074
11075 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11076
11077 * doprnt.c: Don't declare xmalloc, xrealloc.
11078
11079 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11080 (getenv, ctime, getwd): Removed.
11081 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11082
11083 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11084 x_set_tool_bar_lines.
11085
11086 * config.in: Add HAVE_GETWD. Move some definitions above
11087 machine/system includes.
11088
11089 2000-06-20 Kenichi Handa <handa@etl.go.jp>
11090
11091 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11092
11093 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11094 contain information about ENCODING.
11095
11096 * fontset.c (FONTSET_ASCII): Use the first element of char table
11097 for an ASCII font, not defalt slot.
11098 (fontset_ref_via_base): If FONTSET doesn't contain information for
11099 C, try the default fontset.
11100 (make_fontset): Don't copy the default fontset.
11101 (fontset_font_pattern): Likewise.
11102 (accumulate_font_info): If ELT is nil, use the corresponding
11103 element in the default fontset.
11104
11105 2000-06-19 Dave Love <fx@gnu.org>
11106
11107 * syntax.c (Fparse_partial_sexp): Doc fix.
11108
11109 * regex.h: Test PROTOTYPES as well as __STDC__.
11110
11111 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11112 errno, strerror. Put text after #endif in comment.
11113
11114 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
11115
11116 * xterm.c (x_frame_of_widget): Likewise.
11117
11118 2000-06-19 Gerd Moellmann <gerd@gnu.org>
11119
11120 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11121 to Vfundamental_mode_abbrev_table.
11122
11123 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11124 bogus objects are marked. This slows down GC by ~80 percent, but
11125 it might be worth trying when debugging GC-related problems.
11126 This feature requires conservative stack marking to be enabled.
11127
11128 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11129 returns XLookupChars, reset `modifiers' to zero.
11130
11131 2000-06-19 Dave Love <fx@gnu.org>
11132
11133 * mktime.c: Unprotoized.
11134
11135 2000-06-19 Richard Stallman <rms@gnu.org>
11136
11137 * data.c (set_internal): If variable is frame-local,
11138 store the new value immediately into the frame parameter alist.
11139
11140 2000-06-19 Ken Raeburn <raeburn@gnu.org>
11141
11142 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11143 in the custom handler pointer.
11144
11145 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11146 value, or checks for CHAR_META can fail when Lisp_Object is a
11147 union type.
11148 * keymap.c (get_keyelt): Likewise.
11149
11150 2000-06-19 Kenichi Handa <handa@etl.go.jp>
11151
11152 * ccl.h (struct ccl_program): New member eol_type.
11153 (struct ccl_spec): New member cr_carryover.
11154
11155 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11156 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11157
11158 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11159 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11160 (decode_eol_post_ccl): New function.
11161 (decode_coding): Don't detect EOL format here for CCL based coding
11162 systems.
11163 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11164 decode_eol_post_ccl after running the CCL program.
11165 (code_convert_region): Don't detect EOL format here for CCL based
11166 coding systems.
11167 (decode_coding_string): Likewise.
11168
11169 2000-06-18 Ken Raeburn <raeburn@gnu.org>
11170
11171 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11172 when treating it as an integer.
11173
11174 * coding.h (encode_coding_string): Declare.
11175
11176 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11177 it as an integer.
11178
11179 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11180 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11181 to be passed to get_local_map.
11182
11183 * sound.c (Fplay_sound): Don't call make_number on
11184 Frun_hook_with_args count argument.
11185
11186 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11187 for lisp objects in X event structure data field, when lisp
11188 objects are represented with unions.
11189 (x_scroll_bar_to_input_event): Ditto.
11190
11191 2000-06-16 Ken Raeburn <raeburn@gnu.org>
11192
11193 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
11194 termination of string. Fix sense of test whether
11195 Vline_number_display_limit is an integer.
11196
11197 2000-06-16 Gerd Moellmann <gerd@gnu.org>
11198
11199 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11200 only if HAVE_X_WINDOWS.
11201
11202 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11203 of titles.
11204
11205 * dispnew.c (update_frame_1): Handle case that cursor vpos is
11206 out of bounds.
11207
11208 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11209
11210 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11211 of its headers.
11212
11213 2000-06-15 Kenichi Handa <handa@etl.go.jp>
11214
11215 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11216 start of the while loop.
11217
11218 2000-06-15 Gerd Moellmann <gerd@gnu.org>
11219
11220 * atimer.c (alarm_signal_handler): Add forward declaration.
11221
11222 * data.c (set_internal): Remove debug code.
11223
11224 2000-06-14 Gerd Moellmann <gerd@gnu.org>
11225
11226 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11227
11228 * unexec.c (toplevel) [COFF]: Include coff.h.
11229
11230 * s/lynxos.h: New file.
11231
11232 * keymap.c (Fsingle_key_description): Enclose function key and
11233 event symbol names in angle brackets.
11234
11235 * xdisp.c (setup_echo_area_for_printing): Call
11236 message_log_maybe_newline if message_buf_print is not set.
11237
11238 * print.c (printchar, strout): Don't check message_buf_print
11239 before calling setup_echo_area_for_printing because that
11240 function does something useful even when message_buf_print is
11241 already set.
11242
11243 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11244 New variables.
11245 (ensure_echo_area_buffers): Initialize echo buffer's
11246 truncate lines setting to nil.
11247 (with_echo_area_buffer): Don't set the echo buffer's truncate
11248 lines setting here.
11249 (set_message_1): Set it here instead, based on the value
11250 of message_truncate_lines.
11251 (resize_mini_window): Handle case that lines are truncated.
11252 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11253 DEFVAR_BOOL message-truncate-lines.
11254
11255 * keyboard.c (read_char): Bind message-truncate-lines to t
11256 while displaying a help-echo.
11257
11258 * lisp.h (Qmessage_truncate_lines): External declaration.
11259
11260 2000-06-13 Gerd Moellmann <gerd@gnu.org>
11261
11262 * xdisp.c (Vline_number_display_limit): Renamed from
11263 line_number_display_limit.
11264 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11265 Extend documentation string. Initialize
11266 Vline_number_display_limit to nil meaning no limit.
11267 (decode_mode_spec): Use Vline_number_display_limit with its new
11268 meaning.
11269
11270 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11271
11272 2000-06-13 Richard Stallman <rms@gnu.org>
11273
11274 * frame.c (Fmodify_frame_parameters): Doc fix.
11275
11276 * xfns.c (x_set_frame_parameters): Comment fix.
11277
11278 * frame.c (store_frame_param): Call swap_in_global_binding if the
11279 variable's current binding was chosen based on this frame.
11280
11281 * data.c (swap_in_global_binding): New function.
11282
11283 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11284
11285 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11286 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11287
11288 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11289
11290 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11291
11292 2000-06-12 Jason Rumney <jasonr@gnu.org>
11293
11294 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11295
11296 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11297
11298 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11299
11300 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11301
11302 2000-06-12 Gerd Moellmann <gerd@gnu.org>
11303
11304 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11305 (syms_of_xfaces): Defsubr Sdump_colors.
11306 (x_free_colors): Don't treat b&w specially on default visual.
11307 (x_free_dpy_colors): New function.
11308 (free_face_colors): Don't check visual class; it's done
11309 in x_free_colors.
11310
11311 * xterm.c (x_frame_of_widget): New function.
11312 (x_alloc_nearest_color_for_widget): Use it.
11313 (x_copy_dpy_color): New function.
11314 (x_destroy_window): Free various colors.
11315
11316 2000-06-12 Kenichi Handa <handa@etl.go.jp>
11317
11318 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11319
11320 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11321
11322 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11323
11324 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11325
11326 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11327
11328 2000-06-11 Dave Love <fx@gnu.org>
11329
11330 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11331
11332 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11333
11334 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11335
11336 2000-06-11 Gerd Moellmann <gerd@gnu.org>
11337
11338 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
11339 to `XEvent *'.
11340
11341 2000-06-10 Kenichi Handa <handa@etl.go.jp>
11342
11343 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11344 (regex_compile): Fix the code for handling the case of single byte
11345 char and multibyte char being mixed in a range within [...].
11346
11347 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11348 and dst_multibyte members of coding.
11349
11350 * charset.c (update_charset_table): Update the table
11351 bytes_by_char_head.
11352 (init_charset_once): Initialize elements of bytes_by_char_head to
11353 1 except for leading codes for private charases.
11354
11355 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
11356 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
11357
11358 2000-06-09 Ken Raeburn <raeburn@gnu.org>
11359
11360 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11361 access the data it doesn't point to.
11362
11363 2000-06-08 Gerd Moellmann <gerd@gnu.org>
11364
11365 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
11366 will be translated to a switch-frame event when reading the
11367 event queue. This is necessary because Emacs otherwise won't
11368 perform a switch-frame to a new frame until some other event, for
11369 example a keystroke event, forces it to do so. This has various
11370 effects, one visible being that the cursor of a frame created with
11371 C-x 5 2 or switched to with a window manager key binding like
11372 A-TAB stays hollow because selected_window isn't on the newly
11373 focused frame until the switch-frame is performed.
11374
11375 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11376 generating a switch-frame event if necessary.
11377
11378 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11379
11380 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11381 it's an integer.
11382
11383 2000-06-08 Kenichi Handa <handa@etl.go.jp>
11384
11385 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
11386
11387 2000-06-07 Gerd Moellmann <gerd@gnu.org>
11388
11389 * window.c (displayed_window_lines): Take empty lines at
11390 the bottom of a window into account.
11391
11392 * window.c (displayed_window_lines): New function.
11393 (Fmove_to_window_line): Use displayed_window_lines to determine
11394 the number of lines to move, instead of using the window's height.
11395
11396 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11397 to stop reading, even if the form read sets point to a different
11398 value when evaluated.
11399
11400 * xdisp.c (display_line): Fix code deciding in which line to
11401 put the cursor.
11402
11403 2000-06-07 Kenichi Handa <handa@etl.go.jp>
11404
11405 * fileio.c (e_write): Free composition data if stored in
11406 coding->cmp_data.
11407
11408 2000-06-06 Gerd Moellmann <gerd@gnu.org>
11409
11410 * xdisp.c (display_line): Set row's and iterator's
11411 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11412 Set cursor even if row ends in the middle of a character.
11413 (dump_glyph_row): Print values of new flags.
11414 (redisplay_window) <cursor movement in unchanged window>: When
11415 point has been moved forward, and PT is at the end of the cursor
11416 row, don't place the cursor in the next row if the cursor row ends
11417 in the middle of a character or at ZV.
11418
11419 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11420 (struct glyph_row): Add starts_in_middle_of_char_p and
11421 ends_in_middle_of_char_p.
11422 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11423 ends_in_middle_of_char_p flag.
11424 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11425
11426 * term.c (append_glyph): Revert change of 2000-06-06.
11427
11428 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11429 padding glyph not fitting on line as whole character not
11430 fitting on line.
11431
11432 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11433 this isn't true for images with `:ascent 100'.
11434
11435 2000-06-06 Kenichi Handa <handa@etl.go.jp>
11436
11437 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11438 as modified if it is originally unmodified.
11439
11440 * term.c (encode_terminal_code): Change the way to check if
11441 terminal coding does any conversion.
11442 (append_glyph): Set glyph->pixel_width correctly.
11443
11444 * xdisp.c (display_line): While checking line continuation, pay
11445 attention to a padding glyph.
11446
11447 2000-06-05 Gerd Moellmann <gerd@gnu.org>
11448
11449 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11450
11451 2000-06-05 Dave Love <fx@gnu.org>
11452
11453 * xdisp.c: Include fontset.h.
11454
11455 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11456
11457 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11458
11459 * dispnew.c: Conditionally include term.h.
11460
11461 * coding.h: Declare code_convert_string_norecord.
11462
11463 * frame.h (struct frame): Use volatile unconditionally.
11464
11465 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11466
11467 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11468
11469 * systime.h: Protect against multiple inclusion.
11470 (timezone) [USG5_4]: Define as time_t.
11471
11472 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11473 (Foptimize_char_table, make_temp_name): Declare.
11474
11475 * Makefile.in (xdisp.o): Depend on fontset.h.
11476
11477 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11478
11479 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11480 (Foptimize_char_table, make_temp_name): Declare.
11481
11482 * s/irix4-0.h:
11483 * s/irix5-0.h:
11484 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11485
11486 2000-06-02 Dave Love <fx@gnu.org>
11487
11488 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11489
11490 2000-06-02 Gerd Moellmann <gerd@gnu.org>
11491
11492 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
11493 result face, set flags in that face indicating that colors may not
11494 be freed.
11495
11496 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11497 glyph, use the ASCII NUL character to determine the face.
11498
11499 2000-06-02 Dave Love <fx@gnu.org>
11500
11501 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11502 (VFORK_RETURN_TYPE): Remove.
11503
11504 * config.in: Add NO_MATHERR.
11505
11506 2000-06-01 Dave Love <fx@gnu.org>
11507
11508 * cmds.c (internal_self_insert): Don't check
11509 Vbefore_change_function, Vafter_change_function.
11510
11511 * insdel.c (signal_before_change, signal_after_change): Likewise.
11512
11513 * buffer.c (Vbefore_change_function, Vafter_change_function):
11514 Variables and their initializations deleted.
11515
11516 * callint.c (Fcall_interactively): Doc fix.
11517
11518 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11519
11520 2000-05-31 Dave Love <fx@gnu.org>
11521
11522 * textprop.c: Revert last change -- duplicated.
11523
11524 2000-05-31 Gerd Moellmann <gerd@gnu.org>
11525
11526 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11527 in #if 0.
11528
11529 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11530
11531 2000-05-31 Jason Rumney <jasonr@gnu.org>
11532
11533 * search.c (Fre_search_forward, Fre_search_backward)
11534 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11535
11536 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11537
11538 2000-05-30 Jason Rumney <jasonr@gnu.org>
11539
11540 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11541 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11542
11543 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
11544
11545 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11546 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11547 expand a nil default_filename.
11548
11549 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11550 pointer to glyph_to_pixel_coords, not a frame.
11551
11552 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11553 coding.h to dependencies.
11554
11555 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11556
11557 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11558 window pointer to be consistent with w32term.c and xterm.c.
11559
11560 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11561 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11562 (Qline_spacing, Qcenter): New variables.
11563 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11564 (x_set_line_spacing): New function.
11565 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
11566 (x_specified_cursor_type): New function.
11567 (x_set_cursor_type): Use it.
11568 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11569 and icon strings.
11570 (validate_x_resource_name, x_get_resource_string): Measure lengths
11571 of external strings in bytes.
11572 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11573 GetTextExtentPoint32 with NULL title.
11574 (Fx_create_frame): Initialize Qline_spacing.
11575 (w32_load_system_font): Initialize font->double_byte_p.
11576 (x_to_w32_charset): Use Vw32_charset_info_alist.
11577 (Image, busy cursor, tooltip functions): Merged changes from
11578 xfns.c. Not yet functional on Windows.
11579
11580 * w32gui.h (W32FontStruct): Add double_byte_p member.
11581
11582 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11583 (emacs_button_translation): Use it.
11584 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11585 in `mask' to be set.
11586
11587 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11588 menu strings.
11589
11590 * w32term.c: Format and doc changes to bring closer to xterm.c.
11591 (w32_char_font_type): New enum.
11592 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11593 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11594 (w32_encode_char): New function.
11595 (x_encode_char): Removed.
11596 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11597 x_encode_char and w32_font_is_double_byte.
11598 (x_produce_image_glyph): Use image_ascent.
11599 (x_produce_glyphs): Use new version of w32_per_char_metric and
11600 handle NULL return value. Allow extra line spacing.
11601 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11602 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11603 w32_font_type member of glyph instead.
11604 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11605 (fast_find_position): Make sure not to consider rows not visible
11606 in the window.
11607 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11608 w32_menu_display_help with input blocked, as it can abort.
11609 (x_display_and_set_cursor): Choose cursor depending
11610 on buffer-local value of cursor_type.
11611 (x_draw_bar_cursor): Add parameter WIDTH.
11612
11613 * w32term.h (CP_DEFAULT): Define.
11614 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11615
11616 2000-05-30 Gerd Moellmann <gerd@gnu.org>
11617
11618 * search.c (Fre_search_forward, Fre_search_backward)
11619 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11620
11621 2000-05-30 Kenichi Handa <handa@etl.go.jp>
11622
11623 * coding.c (detect_coding_iso2022): Fix code for checking
11624 CODING_CATEGORY_MASK_ISO_8_2.
11625
11626 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11627
11628 * regex.c (PREFETCH_NOLIMIT): New function.
11629 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11630
11631 2000-05-29 Gerd Moellmann <gerd@gnu.org>
11632
11633 * syntax.c (find_defun_start): Move test for
11634 open_paren_in_column_0_is_defun_start outside of the loop.
11635
11636 * xdisp.c (redisplay_window): Really switch buffers when
11637 displaying mode lines, and temporarily set selected_frame to the
11638 frame of the window that's redisplayed.
11639
11640 * xfaces.c (free_realized_faces): Block/unblock input.
11641 (free_realized_multibyte_face): Ditto.
11642
11643 2000-05-29 Dave Love <fx@gnu.org>
11644
11645 * textprop.c (Qkeymap): New variable.
11646 (syms_of_textprop): Intern it.
11647
11648 * keymap.c: Include intervals.h.
11649 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11650
11651 * Makefile.in (keymap.o): Depend on intervals.h.
11652
11653 * keyboard.c (menu_bar_items, tool_bar_items)
11654 (Fexecute_extended_command): Deal with `keymap' property.
11655 (read_key_sequence): Track map from `keymap' property as well as
11656 `local_map'.
11657
11658 * intervals.c (get_local_map): Extra arg to allow looking for
11659 `keymap' too.
11660
11661 * intervals.h (map_property): New enum.
11662 (get_local_map): Extra arg using it.
11663 (Qkeymap): Declare.
11664
11665 * lisp.h (get_local_map): Don't declare here.
11666
11667 2000-05-29 Kenichi Handa <handa@etl.go.jp>
11668
11669 * Makefile.in (callproc.o): Depend on composite.h.
11670
11671 * callproc.c: Include composite.h.
11672 (Fcall_process): Handle composition correctly.
11673
11674 * coding.h (coding_allocate_composition_data): Extern it.
11675 (coding_restore_composition): Likewise.
11676
11677 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11678 yet allocated, finish decoding with result
11679 CODING_FINISH_INSUFFICIENT_CMP.
11680 (coding_allocate_composition_data): Make it non-static.
11681 (coding_restore_composition): Likewise.
11682
11683 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11684
11685 * charset.c (syms_of_charset): Revert last change.
11686
11687 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11688
11689 * term.c (produce_glyphs): Treat characters from the eight-bit-*
11690 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11691 Handa.
11692
11693 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11694
11695 * charset.c (syms_of_charset): Set width of character sets
11696 eight-bit-control and eight-bit-graphic to 1 column.
11697
11698 2000-05-26 Gerd Moellmann <gerd@gnu.org>
11699
11700 * config.in (HAVE_SPEED_T): New define.
11701
11702 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11703 `extern speed_t'.
11704
11705 2000-05-26 Dave Love <fx@gnu.org>
11706
11707 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11708
11709 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11710 (Fsubr_arity): New function.
11711 (syms_of_data): Install them.
11712
11713 2000-05-26 Kenichi Handa <handa@etl.go.jp>
11714
11715 * charset.c (init_charset_once): Set the table bytes_by_char_head
11716 correctly.
11717
11718 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11719 the default fontset to what Emacs uses by default.
11720 (check_registry_encoding): This function deleted.
11721 (Fset_fontset_font): Remove the adhoc condition for the default
11722 fontset. Allow cons in FONTNAME.
11723
11724 * fns.c (map_char_table): Ignore char-table entries for
11725 charsets eight-bit-control and eight-bit-graphic.
11726
11727 2000-05-25 Ken Raeburn <raeburn@gnu.org>
11728
11729 * emacs.c (main): Initialize keyboard syms before initializing
11730 window code, so face names are available.
11731
11732 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11733
11734 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11735 of an anchor at the beginning of a shy-group.
11736
11737 2000-05-25 Gerd Moellmann <gerd@gnu.org>
11738
11739 * xdisp.c (handle_invisible_prop): Don't try to skip over
11740 invisible text if end of text is already reached.
11741
11742 2000-05-25 Dave Love <fx@gnu.org>
11743
11744 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11745
11746 * coding.c (encode_eol): Add null statement after label.
11747
11748 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11749
11750 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11751 2000-05-20.
11752
11753 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11754
11755 * ccl.c (ccl_driver): Fix previous change.
11756
11757 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11758
11759 * coding.c (run_pre_post_conversion_on_str): Set point to the
11760 beginning of buffer before calling coding->post_read_conversion.
11761 (decode_coding_string): Give correct args to
11762 run_pre_post_conversion_on_str.
11763 (encode_coding_string): Likewise.
11764
11765 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11766 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11767 eight-bit-graphic correctly.
11768
11769 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
11770
11771 * fileio.c (Finsert_file_contents): Even if a file is not found,
11772 execute codes for setting up coding system. Call
11773 after-insert-file-functions unconditionally.
11774
11775 2000-05-24 Gerd Moellmann <gerd@gnu.org>
11776
11777 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11778 BSD_PGRPS are not defined.
11779
11780 2000-05-24 Kenichi Handa <handa@etl.go.jp>
11781
11782 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11783 DESCRIPTION.
11784 (syms_of_charset): Avoid building same strings.
11785
11786 2000-05-23 Gerd Moellmann <gerd@gnu.org>
11787
11788 * lread.c (Fload): Add a comment about the meaning of
11789 Vuser_init_file being t.
11790
11791 * puresize.h (BASE_PURESIZE): Increase to 675000.
11792
11793 * s/gnu-linux.h (setpgrp): Don't define it here because this
11794 prevents compilation on GNU/Linux systems with glib 2.2.
11795
11796 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11797 as setpgid.
11798
11799 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11800
11801 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11802 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11803 version.
11804 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11805
11806 2000-05-23 Kenichi Handa <handa@etl.go.jp>
11807
11808 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11809
11810 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11811
11812 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
11813
11814 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11815
11816 2000-05-22 Kenichi Handa <handa@etl.go.jp>
11817
11818 * keyboard.c (read_char): Allow character codes 128..255 to be
11819 handled by input-method-function.
11820
11821 * insdel.c (adjust_markers_for_replace): Fix previous change.
11822 (adjust_after_replace): If PREV_TEXT is nil, call
11823 adjust_markers_for_insert, not adjust_markers_for_replace.
11824
11825 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
11826
11827 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11828 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11829 [HAVE_GRANDPT]: Define.
11830 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11831
11832 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11833 like SYSV_PTYS.
11834
11835 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11836
11837 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11838
11839 2000-05-20 Kenichi Handa <handa@etl.go.jp>
11840
11841 The following changes are to handle 8-bit characters in a
11842 multibyte buffer/string without facing with byte combining
11843 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11844 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11845
11846 * Makefile.in (fns.o): Depend on charset.h.
11847
11848 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11849 convert it to unibyte.
11850 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11851
11852 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11853 apparent char boundary.
11854 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11855 0x80..0x9F to/from multibyte form.
11856
11857 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11858 to unibyte.
11859
11860 * callproc.c (Fcall_process): Always encode an argument string if
11861 it is multibyte. Setup src_multibyte and dst_multibyte members of
11862 process_coding properly.
11863
11864 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11865 SPLIT_NON_ASCII_CHAR.
11866
11867 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11868 as is.
11869 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11870
11871 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
11872 (SPLIT_CHARACTER_SEQ): This macro deleted.
11873 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
11874 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11875 and eight-bit-graphic.
11876 (char_to_string): Likewise. Signal an error for too large
11877 character code.
11878 (char_printable_p): Return 0 for 8-bit characters.
11879 (update_charset_table): Update iso_charset_table only when a final
11880 character is non-negative.
11881 (find_charset_in_text): Renamed from find_charset_in_str.
11882 Arguments and return value changed. Callers changed.
11883 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11884 be -1 if CHARSET is used only internally.
11885 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11886 eight-bit-graphic.
11887 (Fcharset_after): Simplified.
11888 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11889 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11890 (multibyte_chars_in_text): Simplified by assuming there's no
11891 invalid multibyte sequence.
11892 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11893 (str_as_unibyte): New functions.
11894 (Fstring): Simpified by assuming that byte combining never happens.
11895 (init_charset_once): Initialization for
11896 LEADING_CODE_8_BIT_CONTROL.
11897 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11898 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11899 eight-bit-control and eight-bit-graphic.
11900
11901 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11902 (CHARSET_8_BIT_GRAPHIC): New macros.
11903 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11904 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11905 (CHARSET_REVERSE_CHARSET): Likewise.
11906 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11907 eight-bit-graphic.
11908 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11909 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11910 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11911 encounter an invalid multibyte sequence.
11912 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11913 sequence is always valid.
11914 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
11915 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
11916 (CHAR_STRING): For 8-bit characters, call char_to_string.
11917 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11918 multibyte sequence is always valid.
11919 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
11920 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11921 (str_as_unibyte): Extern them.
11922 (BCOPY_SHORT): Fix a bug.
11923 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
11924 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11925 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11926 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11927
11928 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
11929 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
11930 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11931 (EMIT_BYTES): New macros.
11932 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11933 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
11934 macros deleted.
11935 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11936 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11937 check the validity of multibyte sequence.
11938 (decode_coding_emacs_mule): New function.
11939 (encode_coding_emacs_mule): New macro.
11940 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11941 the source.
11942 (DECODE_ISO_CHARACTER): Just return a character code.
11943 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11944 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11945 EMIT_CHAR to produced decoded characters. Exit the loop only by
11946 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11947 block here.
11948 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11949 only position codes for an invalid character.
11950 (encode_designation_at_bol): Return new destination pointer. 5th
11951 arg DSTP is changed to DST.
11952 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11953 from the source by ONE_MORE_CHAR. Don't handle the case of last
11954 block here.
11955 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11956 macros deleted.
11957 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11958 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
11959 TWO_MORE_BYTES to fetch a byte from the source.
11960 (encode_eol): Pay attention to coding->src_multibyte.
11961 (detect_coding, detect_eol): Preserve members src_multibyte and
11962 dst_multibyte.
11963 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11964 (encoding_buffer_size): Set magnification to 3 for all coding
11965 systems that require encoding.
11966 (ccl_coding_driver): For decoding, be sure that the result is
11967 valid multibyte sequence.
11968 (decode_coding): Initialize coding->errors and coding->result.
11969 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11970 and raw-text, always call decode_eol. Handle the case of last
11971 block here. If not coding->dst_multibyte, convert the resulting
11972 sequence to unibyte.
11973 (encode_coding): Initialize coding->errors and coding->result.
11974 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11975 and raw-text, always call encode_eol. Handle the case of last
11976 block here.
11977 (shrink_decoding_region, shrink_encoding_region): Detect cases
11978 that we can't skip data more rigidly.
11979 (code_convert_region): Setup src_multibyte and dst_multibyte
11980 members of coding. For decoding, if the buffer is multibyte,
11981 convert the source sequence to unibyte in advance. For encoding,
11982 if the buffer is multibyte, convert the resulting sequence to
11983 multibyte afterward.
11984 (run_pre_post_conversion_on_str): New function.
11985 (code_convert_string): Deleted and divided into the following two.
11986 (decode_coding_string, encode_coding_string): New functions.
11987 (code_convert_string1, code_convert_string_norecord): Call one of
11988 above.
11989 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11990 MAKE_NON_ASCII_CHAR.
11991 (Fset_terminal_coding_system_internal)
11992 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
11993 and dst_multibyte members.
11994 (init_coding_once): Initialize iso_code_class with new enum
11995 ISO_control_0 and ISO_control_1.
11996
11997 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11998 devided into ISO_control_0 and ISO_control_1.
11999 (struct coding_system): New members src_multibyte, dst_multibyte,
12000 errors, and result. Delete member fake_multibyte.
12001 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12002 nonzero.
12003 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12004 nonzero.
12005
12006 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12007 (Faset): Likewise.
12008
12009 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12010 multibyte form.
12011 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12012 combining occurs.
12013 (Ftranspose_region): Delete codes for handling byte combining.
12014
12015 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12016 dst_multibyte members of coding. On handling REPLACE on unibyte
12017 buffer, convert the result of decode_coding to unibyte. On
12018 inserting into a mutibyte buffer, always call code_convert_region.
12019 (e_write): Setup coding->src_multibyte according to the
12020 multibyteness of the source (buffer or string).
12021
12022 * fns.c (concat): Handle 8-bit characters correctly.
12023 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12024 unibyte in the result.
12025 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12026 valid multibyte form in the result.
12027 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12028 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12029 return -1, signal an error.
12030 (base64_encode_1): New arg MULTIBYTE. Get each character by
12031 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12032 character is found, return -1.
12033 (Fbase64_decode_region): Delete codes for handling byte-combining.
12034 Treat each decoded byte as a unibyte character.
12035 (Fbase64_decode_string): Return unibyte string.
12036 (Fcompare_strings, concat, string_byte_to_char): Use
12037 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12038 FETCH_STRING_CHAR_ADVANCE.
12039 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12040 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12041
12042 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12043 SPLIT_NON_ASCII_CHAR.
12044 (fontset_ref_via_base, fontset_set): Likewise
12045
12046 * insdel.c (adjust_markers_for_record_delete): Deleted.
12047 (adjust_markers_for_insert): Argument changed. Caller changed.
12048 (adjust_markers_for_replace): Likewise.
12049 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12050 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
12051 (copy_text): Delete unused local varialbe c_save. For converting
12052 to multibyte, be sure to make all 8-bit characters in valid
12053 multibyte form.
12054 (count_size_as_multibyte): Handle 8-bit characters correctly.
12055 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12056 (adjust_after_replace, replace_range, del_range_2)
12057 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
12058 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12059 (adjust_after_replace, replace_range, del_range_2) Delete codes for
12060 handling byte combining.
12061 (adjust_before_replace): Deleted.
12062
12063 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12064 SPLIT_NON_ASCII_CHAR.
12065 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12066 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12067 (Fkey_description): Likewise.
12068
12069 * lread.c (read1): On reading multibyte string, be sure to make
12070 all 8-bit chararacters in valid multibyte form.
12071 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12072
12073 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12074 unconditionally.
12075
12076 * process.c (Fstart_process): GCPRO current_dir before calling
12077 Ffind_operation_coding_system. Encode arguments here.
12078 (create_process): Don't encode arguments here. Setup
12079 src_multibyte and dst_multibyte members of struct coding.
12080 (read_process_output): Setup src_multibyte and dst_multibyte
12081 members of struct coding. If the output is to multibyte buffer,
12082 always decode the output of the process. Adjust the
12083 representation of 8-bit characters to the multibyteness of the output.
12084 (send_process): Setup coding->src_multibyte according to the
12085 multibyteness of the source.
12086
12087 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12088 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12089 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12090
12091 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
12092
12093 * w16select.c (Fw16_set_clipboard_data): Setup members
12094 src_multibyte and dst_multibyte of coding. Adjusted for the
12095 change for find_charset_in_str.
12096 (Fw16_get_clipboard_data): Likewise.
12097
12098 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12099 dst_multibyte of coding.
12100 (x_to_w32_font): Likewise.
12101
12102 * w32select.c (Fw32_set_clipboard_data): Setup members
12103 src_multibyte and dst_multibyte of coding. Adjusted for the
12104 change for find_charset_in_str.
12105 (Fw32_get_clipboard_data): Likewise.
12106
12107 * xdisp.c (get_next_display_element): Handle 8-bit characters
12108 correctly.
12109 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12110 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12111
12112 * xselect.c (selection_data_to_lisp_data): Setup members
12113 src_multibyte and dst_multibyte of coding. Adjusted for the
12114 change for find_charset_in_str.
12115 (lisp_data_to_selection_data): Likewise.
12116
12117 2000-05-19 Gerd Moellmann <gerd@gnu.org>
12118
12119 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
12120
12121 * dispextern.h (Vimage_types): Add extern declaration.
12122
12123 * xdisp.c (Vimage_types): Moved here from xfns.c.
12124 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12125
12126 * xfns.c (Vimages_types): Moved to xdisp.c.
12127 (syms_of_xfns): Move `image-types' to xdisp.c.
12128
12129 * w32fns.c (Vimage_types): Removed.
12130 (syms_of_w32fns): Remove `image-types'.
12131
12132 2000-05-18 Kenichi Handa <handa@etl.go.jp>
12133
12134 * fns.c (map_char_table): Pay attention to character number of
12135 charset. Check the validity of charset at the first level. For
12136 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12137 the default value.
12138
12139 * fontset.c: Include "buffer.h".
12140 (fs_load_font): If the face has fontset, record the face ID in
12141 that fontset.
12142 (Finternal_char_font): New function.
12143 (accumulate_font_info): New function.
12144 (Ffontset_info): Rewritten for the new fontset implementation.
12145 (syms_of_fontset): Register Vdefault_fontset in the first element
12146 of Vfontset_table. Include Vdefault_fontset in
12147 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12148 function.
12149
12150 2000-05-16 Dave Love <fx@gnu.org>
12151
12152 * m/iris5d.h: Deleted -- unused.
12153
12154 2000-05-16 Gerd Moellmann <gerd@gnu.org>
12155
12156 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12157 `invalid' instead of `illegal'.
12158
12159 * indent.c (Fmove_to_column): When ending within a tab, insert
12160 spaces first so that markers at the end of the tab get adjusted.
12161
12162 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12163 buffer list that wasn't selected in that frame.
12164
12165 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12166 is needed on mescaline, use a 2 char prefix, and call
12167 make_temp_name with second arg non-zero.
12168
12169 * fileio.c (make_temp_name): New function, extracted from
12170 Fmake_temp_name.
12171 (Fmake_temp_name): Use it.
12172
12173 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12174
12175 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
12176
12177 2000-05-15 Gerd Moellmann <gerd@gnu.org>
12178
12179 * Makefile.in (lisp): Add env.elc.
12180
12181 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12182
12183 2000-05-12 Gerd Moellmann <gerd@gnu.org>
12184
12185 * search.c (Freplace_match): Handle case of `\N' in the
12186 replacement when there's no group N.
12187
12188 2000-05-11 Gerd Moellmann <gerd@gnu.org>
12189
12190 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12191 of the message to message_dolog.
12192
12193 * keyboard.c (read_char): Don't clear current message for help
12194 events; let the code handling help events handle this. Change
12195 code detecting help events that should be ignored.
12196
12197 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12198 we're interating over a string.
12199
12200 2000-05-09 Dave Love <fx@gnu.org>
12201
12202 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12203 that offset before writing. Move gcpro region past call of
12204 Ffile_regular_p.
12205
12206 2000-05-04 Dave Love <fx@gnu.org>
12207
12208 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12209
12210 2000-05-04 Gerd Moellmann <gerd@gnu.org>
12211
12212 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12213 of inserted characters when BUF equals the current buffer, and PT
12214 is in front of or equal to FROM.
12215
12216 2000-05-03 Gerd Moellmann <gerd@gnu.org>
12217
12218 * xdisp.c (handle_single_display_prop): If display property value
12219 is invalid, or something not supported on the frame, restore
12220 iterator's position to what it was initially. Make sure to return
12221 0 for invalid and unsupported property values.
12222
12223 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12224 that x_per_char_metric returns null.
12225
12226 2000-05-02 Gerd Moellmann <gerd@gnu.org>
12227
12228 * xterm.h (struct face): Add forward declaration.
12229 (struct image): Ditto.
12230 (image_ascent): Add prototype.
12231
12232 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12233 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12234 image_ascent instead of using IMAGE_ASCENT.
12235
12236 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12237 (IMAGE_ASCENT): Removed.
12238
12239 * xfns.c (Qcenter): New variable.
12240 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12241 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12242 (image_ascent): New function.
12243 (lookup_image): Recognize `:ascent center'.
12244 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12245 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12246 (xbm_load): Don't set image's ascent here.
12247 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12248 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12249 check ascent values here.
12250 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12251 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12252 (syms_of_xfns): Initialize Qcenter.
12253
12254 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12255 to the limits, increase the limits.
12256
12257 2000-05-01 Kenichi Handa <handa@etl.go.jp>
12258
12259 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
12260 Check Vfont_encoding_alist against the full name of the opened font.
12261
12262 2000-04-28 Gerd Moellmann <gerd@gnu.org>
12263
12264 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12265 taller than the window.
12266
12267 2000-04-28 Kenichi Handa <handa@etl.go.jp>
12268
12269 * xfaces.c (realize_x_face): Fix the argument of the second
12270 xassert. BASE_FACE may not be a face for ASCII.
12271
12272 2000-04-27 Gerd Moellmann <gerd@gnu.org>
12273
12274 * print.c (print_object): Treat print-length < 0 as nil.
12275
12276 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12277
12278 * s/freebsd.h (TERMCAP_OBJ): Removed.
12279 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12280
12281 * lread.c (read1): Don't treat period followed by certain
12282 characters as symbol start.
12283
12284 * xfns.c (slurp_file): New function.
12285 (xbm_image_p): Handle case of in-memory XBM files.
12286 (xbm_scan): Rewritten to work on memory buffers instead of files.
12287 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12288 Work on memory buffers instead of files. If DATA is null test
12289 if buffer looks like an in-memory XBM file.
12290 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12291 memory buffers instead of files.
12292 (xbm_file_p): New function.
12293 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12294
12295 * lread.c (end_of_file_error): New function.
12296 (read1): Call it instead of signaling `end-of-file' directly.
12297
12298 * print.c (print_error_message): Print data of `end-of-file'
12299 with Fprinc instead of Fprin1.
12300
12301 2000-04-26 Ken Raeburn <raeburn@gnu.org>
12302
12303 * window.c (freeze_window_start): Check that minibuffer scroll
12304 window isn't nil before extracting the window structure pointer
12305 from it.
12306
12307 * undo.c (record_delete): If we hit the end of the undo list, stop
12308 picking elements apart.
12309
12310 2000-04-26 Gerd Moellmann <gerd@gnu.org>
12311
12312 * xdisp.c (display_line): If lines are continued, restore
12313 iterator's ascent/descent information to the values before the
12314 first glyph not fitting on the line.
12315
12316 2000-04-25 Gerd Moellmann <gerd@gnu.org>
12317
12318 * xdisp.c (try_window_id) <all changes above window start>: Adjust
12319 positions in glyph matrix. Don't compute new window end positions.
12320
12321 * dispnew.c (increment_matrix_positions): Renamed from
12322 increment_glyph_matrix_buffer_positions.
12323 (increment_row_positions): Renamed from
12324 increment_glyph_row_buffer_positions.
12325
12326 * dispextern.h: Change names of renamed functions from dispnew.c
12327 in prototypes.
12328
12329 2000-04-24 Gerd Moellmann <gerd@gnu.org>
12330
12331 * fileio.c (Fdo_auto_save): Create directories for auto-save
12332 list file if necessary.
12333
12334 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12335 from buffer or frame.
12336 (automatic_hscrolling_p): New variable.
12337 (hscroll_windows): Scroll windows horizontally only if automatic
12338 hscrolling is allowed.
12339 (syms_of_xdisp): New variable `automatic-hscrolling'.
12340
12341 * frame.h (struct frame): Add member extra_line_spacing.
12342
12343 * xfns.c (x_set_line_spacing): New function.
12344 (Fx_create_frame): Set line spacing from resources.
12345 (Qline_spacing): New variable.
12346 (syms_of_xfns): Initialize Qline_spacing.
12347
12348 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12349
12350 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12351 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
12352 (reset_buffer): Don't initialize extra2 and extra3. Initialize
12353 extra_line_spacing from default value.
12354 (init_buffer_once): Initialize default value of extra_line_spacing.
12355
12356 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12357 and extra3.
12358
12359 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12360 prompt_width. Add extra line spacing.
12361
12362 * term.c (produce_glyphs): Remove reference to struct it's
12363 prompt_width.
12364
12365 * dispextern.h (struct it): Remove member prompt_width, add
12366 extra_line_spacing.
12367
12368 2000-04-22 Gerd Moellmann <gerd@gnu.org>
12369
12370 * dispnew.c (update_frame_line): When writing a whole line, make
12371 sure cursor is in the right row afterwards, otherwise a use of
12372 capability `ch' in cmgoto might leave the cursor in the row below.
12373
12374 2000-04-21 Gerd Moellmann <gerd@gnu.org>
12375
12376 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12377
12378 * keyboard.c (timer_check): Fix typo in comment.
12379
12380 2000-04-21 Kenichi Handa <handa@etl.go.jp>
12381
12382 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12383 name change: ch -> character.
12384
12385 2000-04-20 Gerd Moellmann <gerd@gnu.org>
12386
12387 * keyboard.c (echo_message_buffer): New variable.
12388 (echo_now): Set echo_message_buffer to the echo area buffer used
12389 to display the echo.
12390 (cancel_echoing): Reset echo_message_buffer to nil.
12391 (read_char): Code rewritten that handles canceling an echo or
12392 echoing a dash, respectively.
12393
12394 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12395 directory doesn't exist.
12396
12397 2000-04-19 Dave Love <fx@gnu.org>
12398
12399 * fns.c (syms_of_fns): Defsubr mapc.
12400 (concat): Don't allow numeric args.
12401 (Fconcat): Doc change.
12402
12403 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12404
12405 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12406 instead define end_match(1|2) more carefully.
12407 Use GET_CHAR_BEFORE_2 for `begline'.
12408
12409 2000-04-19 Gerd Moellmann <gerd@gnu.org>
12410
12411 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12412 on 64-bit systems where NULL is defined as `0'.
12413
12414 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12415 the `variable argument list' to make it work on Alpha.
12416
12417 * m/alpha.h (_LP64) [!_LP64]: Define.
12418 (ORDINARY_LINK): Define for NetBSD.
12419
12420 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
12421
12422 2000-04-19 Dave Love <fx@gnu.org>
12423
12424 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12425 change.
12426
12427 * Makefile.in (LIBS): Don't use.
12428 (GETLOADAVG_OBJ): Define again.
12429 (otherobj): Add GETLOADAVG_OBJ.
12430
12431 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12432
12433 2000-04-18 Gerd Moellmann <gerd@gnu.org>
12434
12435 * lread.c (read_filtered_event): Cancel and start busy cursor.
12436
12437 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
12438 that the per-character metrics may be null.
12439
12440 2000-04-17 Gerd Moellmann <gerd@gnu.org>
12441
12442 * buffer.c (clone_per_buffer_values): New function.
12443 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12444 clone_per_buffer_values if CLONE is not nil.
12445
12446 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12447
12448 2000-04-16 Dave Love <fx@gnu.org>
12449
12450 * Makefile.in: Remove obsolete localcpp stuff.
12451 (GETLOADAVG_OBJ): Don't define.
12452 (obj): Move LIBOBJS...
12453 (otherobj): ... to here.
12454 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12455 whitespace-only lines after the continuation (Irix).
12456
12457 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12458
12459 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12460
12461 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12462
12463 2000-04-14 Dave Love <fx@gnu.org>
12464
12465 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12466 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12467 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12468 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12469 NLIST_STRUCT.
12470
12471 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12472 autoconfiscated HAVE_GETLOADAVG.
12473
12474 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12475 BROKEN_MKTIME.
12476
12477 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12478
12479 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
12480 (fill_in_lock_file_name): Avoid existing files that aren't links.
12481
12482 2000-04-14 Dave Love <fx@gnu.org>
12483
12484 * Makefile.in (LIBS, LIBOBJS): New variable.
12485 (INTERVAL_SRC): Convert to make variable.
12486 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12487 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12488 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12489 add LIBOBJS.
12490 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12491 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12492 (shortlisp): Add facemenu, float-sup, frame.
12493 (SOME_MACHINE_LISP): Remove them from here.
12494 (LIBES): Change unused LDLIBS to autoconf LIBS.
12495
12496 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12497
12498 2000-04-14 Kenichi Handa <handa@etl.go.jp>
12499
12500 * composite.c (update_compositions): If FROM and TO are not in a
12501 valid range, do nothing.
12502
12503 2000-04-13 Gerd Moellmann <gerd@gnu.org>
12504
12505 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
12506
12507 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
12508
12509 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12510 as TERMCAP_OBJ.
12511
12512 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12513
12514 * fileio.c (a_write): Remove redundant semi-colons.
12515 (e_write): Return -1 if failed to write all the data.
12516 This fixes the changes made at 1999-12-15.
12517
12518 2000-04-12 Dave Love <fx@gnu.org>
12519
12520 * fns.c (mapcar1): Test for null vals to support mapc.
12521 (Fmapc): New function.
12522
12523 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12524
12525 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12526 (IT_frame_up_to_date): Support the buffer local value of
12527 cursor-type, if defined.
12528
12529 2000-04-10 Dave Love <fx@gnu.org>
12530
12531 * editfns.c (preceding-char, following-char): Doc fix.
12532
12533 2000-04-10 Ken Raeburn <raeburn@gnu.org>
12534
12535 * Makefile.in (temacs): Revert 2000-03-12 change.
12536
12537 2000-04-10 Jason Rumney <jasonr@gnu.org>
12538
12539 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12540
12541 2000-04-10 Gerd Moellmann <gerd@gnu.org>
12542
12543 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12544 area buffer, if it's not set up yet.
12545
12546 * indent.c (compute_motion): Set immediate_quit.
12547
12548 2000-04-09 Gerd Moellmann <gerd@gnu.org>
12549
12550 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
12551 (realize_tty_face): Suppress boldness if colors are the inverse of
12552 the default colors, and tty_suppress_bold_inverse_default_colors_p
12553 is set.
12554 (Ftty_suppress_bold_inverse_default_colors): New function.
12555 (syms_of_xfaces): Defsubr it.
12556
12557 * buffer.c (Frestore_buffer_modified_p): New function.
12558 (syms_of_buffer): Defsubr it.
12559
12560 2000-04-08 Ken Raeburn <raeburn@gnu.org>
12561
12562 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12563 charset id (int) argument, not a charset (Lisp_Object).
12564
12565 * coding.h (code_convert_string): Declare.
12566 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12567 object, as the fourth argument to code_convert_string.
12568
12569 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
12570 (Fset_fontset_font): Use EQ to compare lisp objects.
12571
12572 2000-04-05 Ken Raeburn <raeburn@gnu.org>
12573
12574 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12575 a pointer that looks like a lisp object.
12576 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12577 zero, instead see whether it's an integer object, since they can't
12578 have intervals.
12579 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12580
12581 * dispnew.c (allocate_matrices_for_frame_redisplay)
12582 (direct_output_forward_char): Use X(U)INT and make_number as needed
12583 to convert between (unsigned) int values and lisp integers.
12584 * keyboard.c (read_key_sequence): Likewise.
12585 * lread.c (substitute_object_recurse): Likewise.
12586 * fns.c (concat, hash_lookup, hash_remove): Likewise.
12587 * minibuf.c (do_completion, Fminibuffer_complete_word)
12588 (Fminibuffer_completion_help): Likewise.
12589 * term.c (produce_special_glyphs): Likewise.
12590
12591 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12592 * print.c (print_preprocess, print_object): Likewise.
12593
12594 * search.c (compile_pattern): Use NILP when checking for nil.
12595
12596 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12597 __OPTIMIZE__]: Provide a GNU C macro version that handles
12598 lisp-object unions.
12599 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12600 field, to better cope with ENABLE_CHECKING and calls that modify a
12601 Lisp_Object using its old value.
12602
12603 2000-04-04 Gerd Moellmann <gerd@gnu.org>
12604
12605 * window.c (compare_window_configurations): Signal an error
12606 if parameters C1 or C2 aren't window configurations.
12607
12608 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12609 AFTER_POTENTIAL_GC calls around calls to functions that can
12610 signal an error and thus invoke the debugger.
12611
12612 2000-04-03 Gerd Moellmann <gerd@gnu.org>
12613
12614 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12615 an error if decoding fails.
12616
12617 * keyboard.c (lispy_mouse_names): Variable removed.
12618 (Vlispy_mouse_stem): New variable.
12619 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12620 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12621 for any mouse button number. Increase size of mouse_syms and
12622 button_down_location as needed. Call modify_event_symbol with
12623 different arguments.
12624 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12625 Call modify_event_symbol with different arguments.
12626 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12627 for any button number. Call modify_event_symbol with different
12628 arguments.
12629 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12630 Accept a string for NAME_ALIST_OR_STEM.
12631
12632 * lisp.h (larger_vector): Add prototype.
12633
12634 * fns.c (larger_vector): Make externally visible.
12635
12636 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12637
12638 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12639
12640 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12641 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12642 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12643 we are between str1 and str2.
12644 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12645 (PATFETCH): Use `TRANSLATE'.
12646 (PATFETCH_RAW): Fetch multibyte char if applicable.
12647 (PATUNFETCH): Remove.
12648 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12649 When writing a char, write it directly into the pattern buffer rather
12650 than going needlessly through a temp char-array.
12651 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12652 multibyte magic and remove the useless `#ifdef emacs'.
12653 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12654 buffer.
12655
12656 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12657 conditional on `emacs'.
12658
12659 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12660
12661 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12662
12663 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12664 non-union-type versions of XMARK and friends here, because XMARK
12665 and friends won't work on an integer field if NO_UNION_TYPE is not
12666 defined.
12667 (make_number): Define as a function if it's not defined as a macro.
12668
12669 * composite.c (run_composite_function): Use NILP when checking for nil.
12670 (syms_of_composite): Delete local var NARGS, pass an int as first
12671 argument to Fmake_hash_table.
12672
12673 * editfns.c (text_property_stickiness): Use NILP to test
12674 Lisp_Object boolean value.
12675 (Fmessage_or_box): Don't use NILP to test int variable.
12676 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12677 problems reading from and changing the same lisp value in an
12678 XSETSTRING call.
12679
12680 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12681
12682 * term.c (TN_no_color_video): New variable.
12683 (term_init): Intitialize TN_no_color_video.
12684 (enum no_color_bit): New enumeration.
12685 (MAY_USE_WITH_COLORS_P): New macro.
12686 (turn_on_face): Use it to determine if attributes may be used
12687 combined with colors.
12688
12689 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12690
12691 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
12692 with int lvalues via casts; instead, just yield lisp object lvalues.
12693 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12694 proper accessor macros.
12695 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12696 (grow_mini_window): Fix typo getting int value of root->height.
12697
12698 * xdisp.c (compute_string_pos): Fix order of arguments to
12699 string_pos_nchars_ahead.
12700 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12701 count arg to variable-arg routines like Frun_hook_with_args and
12702 Fformat.
12703 (back_to_previous_visible_line_start)
12704 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
12705 fixed-arg routines like Fget_char_property and Fmake_string.
12706 (reconsider_clip_changes): Use XINT when comparing integer lisp
12707 objects, or passing them as int arguments.
12708 (mark_window_display_accurate, insert_left_trunc_glyphs)
12709 (append_space, extend_face_to_end_of_line): Use make_number when
12710 storing or passing integer values as lisp objects.
12711 (set_cursor_from_row, highlight_trailing_whitespace): Use
12712 INTEGERP, not implicit test against zero, for glyph object.
12713 (try_window_id): Don't use make_number when we want an int value.
12714
12715 * xfaces.c (xlfd_symbolic_value): Make last argument a
12716 Lisp_Object, to be consistent with callers.
12717 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12718 (lface_hash): Apply XFASTINT to lisp values before folding in.
12719
12720 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12721 fill in window width and height. Pass an int, not a lisp object,
12722 as first arg to Finsert.
12723
12724 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12725
12726 * xfaces.c (realize_basic_faces): Block input while realizing
12727 the faces.
12728
12729 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12730
12731 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12732
12733 2000-03-31 Gerd Moellmann <gerd@gnu.org>
12734
12735 * xterm.c (x_produce_glyphs): When displaying unibyte text
12736 or ASCII, handle case that per-char metric is null.
12737
12738 2000-03-30 Ken Raeburn <raeburn@gnu.org>
12739
12740 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12741
12742 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12743 (XSUBR, XBUFFER): Verify correct object type before returning
12744 pointer, using eassert.
12745 * frame.h (XFRAME): Likewise.
12746
12747 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12748 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12749 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
12750 * data.c (set_internal): Likewise.
12751 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12752 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12753 * fileio.c (auto_save_1): Likewise.
12754 * insdel.c (check_markers): Likewise.
12755 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12756 * undo.c (record_insert): Likewise.
12757 * vmsproc.c (child_sig): Likewise.
12758 * window.c (unshow_buffer, window_loop): Likewise.
12759 * xterm.c (x_erase_phys_cursor): Likewise.
12760
12761 2000-03-30 Gerd Moellmann <gerd@gnu.org>
12762
12763 * xfns.c (free_image_cache): Free the cache structure itself
12764 last, after all its members have been freed.
12765
12766 * lisp.h (xstrdup): Add prototype.
12767
12768 * alloc.c (xstrdup): Moved here from xfaces.c.
12769 (allocating_for_lisp): Variable removed.
12770 (lisp_malloc): Block input around the calls to malloc and mem_insert.
12771
12772 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12773 of Fsymbol_value.
12774 (xstrdup): Moved to alloc.c.
12775
12776 2000-03-29 Ken Raeburn <raeburn@gnu.org>
12777
12778 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12779
12780 * emacs.c (main): Fix sense of no-loadup test.
12781
12782 * config.in (ENABLE_CHECKING): Undef.
12783
12784 * lisp.h (struct interval): Replace "parent" field with a union of
12785 interval pointer and Lisp_Object; add new bitfield to use as
12786 discriminant. Change other flag fields to bitfields.
12787 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
12788 is defined and the supplied test fails, print a message and abort.
12789 (eassert): New macro. Use CHECK to provide an assert-like facility.
12790
12791 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12792 pointers; abort if the value looks like a lisp object.
12793 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12794 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
12795 Modify for new interval parent definition.
12796
12797 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12798 (UNMARK_BALANCE_INTERVALS): Update references that need an
12799 addressable lisp object in the interval structure.
12800 (die): New function.
12801 (suppress_checking): New variable.
12802
12803 * intervals.c (interval_start_pos): Just return 0 if there's no
12804 parent object.
12805
12806 2000-03-29 Gerd Moellmann <gerd@gnu.org>
12807
12808 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12809 and earlier Emacs versions.
12810
12811 * keyboard.c (Ftop_level): Cancel busy-cursor.
12812
12813 * eval.c (call_debugger): Cancel busy-cursor.
12814
12815 2000-03-29 Kenichi Handa <handa@etl.go.jp>
12816
12817 * search.c (Freplace_match): Adjust multibyteness of the current
12818 buffer and NEWTEXT. Free allocated memory before signaling an error.
12819
12820 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12821
12822 * regex.c (analyse_first): New function obtained by ripping out most
12823 of re_compile_fastmap and generalizing it a little bit so that it
12824 can also just return whether a given (sub)pattern can match the empty
12825 string or not.
12826 (regex_compile): Use `analyse_first' to decide whether the loop-check
12827 needs to be done or not for *, +, *? and +? (the loop check is costly
12828 for non-greedy repetition).
12829 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12830
12831 2000-03-28 Dave Love <fx@gnu.org>
12832
12833 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
12834
12835 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12836
12837 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12838
12839 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12840 an expression.
12841 (enum re_opcode_t): Update description of succeed_n.
12842 (PATFETCH): Always define.
12843 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12844 operators, char classes, shy-groups and intervals).
12845 Optimize special cases of intervals so as to only use succeed_n and
12846 jump_n when really needed.
12847 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12848 that we don't have to handle the special cases any more.
12849 Simplify on_failure_jump handling as well.
12850
12851 2000-03-28 Jason Rumney <jasonr@gnu.org>
12852
12853 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12854
12855 2000-03-27 Gerd Moellmann <gerd@gnu.org>
12856
12857 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12858
12859 * s/msdos.h (GC_SETJMP_WORKS): Define.
12860
12861 * alloc.c (mark_maybe_object): New function.
12862 (mark_memory): Use it.
12863 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12864 (setjmp_tested_p, longjmp_done): New variables.
12865 (test_setjmp): New function.
12866 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12867 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12868
12869 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12870 to DEC_TEXT_POS and INC_TEXT_POS.
12871
12872 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12873 with parameter MULTIBYTE_P.
12874
12875 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
12876
12877 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
12878 buffers because it looks for multibyte character byte sequences
12879 which don't exist in unibyte text.
12880
12881 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12882
12883 * xfaces.c (register_color, unregister_color, unregister_colors)
12884 [DEBUG_X_COLORS]: New functions.
12885 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12886
12887 * xfns.c (x_set_cursor_color): Get color reference counts right.
12888
12889 * xterm.c (x_copy_color): New function.
12890 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12891
12892 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12893 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12894 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12895 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12896 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12897 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12898 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12899 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12900 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12901 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12902
12903 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12904 names for handling per-buffer variables.
12905
12906 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12907 instead of MAX_BUFFER_LOCAL_VARS.
12908 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12909
12910 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12911
12912 * xfns.c (x_specified_cursor_type): New function.
12913 (x_set_cursor_type): Use it.
12914
12915 * buffer.h (struct buffer): Add cursor_type.
12916
12917 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12918
12919 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
12920 (print_partial_compiled_pattern, re_compile_fastmap):
12921 Handle new opcode.
12922 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12923 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12924 executing it as well as when popping it off the stack to find infinite
12925 loops in non-greedy repetition operators.
12926
12927 2000-03-26 Gerd Moellmann <gerd@gnu.org>
12928
12929 * doc.c (Qfunction_documentation): New variable.
12930 (syms_of_doc): Initialize Qfunction_documentation.
12931 (Fdocumentation): If FUNCTION is a symbol with non-nil
12932 `function-documentation' property, return a documentation derived
12933 from that.
12934
12935 * buffer.c (syms_of_buffer): Add default-cursor-type.
12936 (init_buffer_once): Don't let cursor_type have a local value
12937 in every buffer.
12938
12939 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12940 on buffer-local value of cursor_type.
12941 (x_draw_bar_cursor): Add parameter WIDTH.
12942
12943 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12944 (init_buffer_once): Set default cursor_type value to t.
12945 Mark cursor_type as local everywhere.
12946 (syms_of_buffer): New per-buffer variable cursor-type.
12947
12948 * buffer.h (struct buffer): Remove member local_var_flags,
12949 add local_flags.
12950 (MAX_BUFFER_LOCAL_VARS): New macro.
12951 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12952 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12953 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12954 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12955
12956 * print.c (print_object): Use new macros for per-buffer variables.
12957
12958 * category.c (Fset_category_table): Use new macros for per-buffer
12959 variables.
12960
12961 * buffer.c (buffer_permanent_local_flags): Make a char array.
12962 (max_buffer_local_idx): New variable.
12963 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12964 for new handling of per-buffer variables.
12965 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12966 (init_buffer_once): Initialize per-buffer vars differently.
12967 Set max_buffer_local_idx.
12968
12969 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12970 variables.
12971
12972 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
12973
12974 * data.c (do_symval_forwarding, store_symval_forwarding)
12975 (find_symbol_value, set_internal, default_value, Fset_default)
12976 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12977 per-buffer variables.
12978
12979 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12980
12981 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12982
12983 * xterm.c (x_term_init): Unblock input around call1 of
12984 Qvendor_specific_keysyms.
12985
12986 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12987 (find_defun_start): Consider an open parenthesis in column 0
12988 a defun start only if open_paren_in_column_0_is_defun_start is set.
12989 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12990
12991 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12992
12993 * eval.c (Fautoload): Add entry in load-history (if after dump).
12994 * lread.c (load-history): Update docstring.
12995
12996 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12997
12998 * indent.c (Fvertical_motion): Always use the current buffer.
12999 Temporarily change the window's buffer, if necessary.
13000
13001 2000-03-23 Gerd Moellmann <gerd@gnu.org>
13002
13003 * xterm.c (fast_find_position): Make sure not to consider rows
13004 not visible in the window.
13005
13006 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13007
13008 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13009 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13010
13011 2000-03-22 Jason Rumney <jasonr@gnu.org>
13012
13013 * w32menu.c (single_submenu): Set help string to NULL if none.
13014 (w32_menu_show): Set help string correctly.
13015 (add-menu-item): Set help string in MIIM_DATA for menu item.
13016 Load SetMenuItemInfoA explicitly.
13017 (w32_menu_display_help): New function.
13018
13019 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13020 (QCdata): Moved to xdisp.c.
13021
13022 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13023 (Vw32_charset_to_codepage_alist): Removed.
13024 (Vw32_charset_info_alist): New variable.
13025 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13026 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13027 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
13028 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13029 with TODO comment.
13030 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13031 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13032 Define Vw32_charset_info_alist and w32_charset symbols.
13033
13034 2000-03-22 Jason Rumney <jasonr@gnu.org>
13035
13036 * makefile.nt (w32bdf.obj): Update dependencies.
13037
13038 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13039
13040 * w32fns.c: Include fontset.h after dispextern.h.
13041 (Fx_create_frame): Do not create fontset.
13042 (w32_load_system_font): Doc fix.
13043 (Fx_close_connection): Free full_name if it is not shared.
13044
13045 * w32term.c: Include fontset.h after dispextern.h.
13046 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13047 Callers updated.
13048 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13049 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13050 (w32_font_is_double_byte): New function, needs body.
13051 (x_append_glyph): Set glyph->glyph_not_available_p.
13052 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13053 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13054 character, convert it to a unibyte character.
13055 (struct glyph_string): Delete member `charset'.
13056 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13057 calculating it is found.
13058 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13059 the case that per char metric is not available correctly.
13060 (x_fill_glyph_string): Handle the case that the specific glyph is
13061 not available correctly.
13062 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13063 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13064 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13065 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13066 fontset. Don't call FS_LOAD_FONT.
13067
13068 2000-03-22 Ken Raeburn <raeburn@gnu.org>
13069
13070 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13071 (INT_LISPLIKE): New macro.
13072 (NULL_INTERVAL_P): Use it.
13073 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13074 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13075 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
13076
13077 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13078 explicit references to "parent" field of struct interval and
13079 associated unclean type conversions.
13080 * intervals.c (create_root_interval, root_interval, rotate_right)
13081 (rotate_left, balance_possible_root_interval, split_interval_right)
13082 (split_interval_left, interval_start_pos, find_interval)
13083 (next_interval, previous_interval, update_interval)
13084 (adjust_intervals_for_insertion, delete_node, delete_interval)
13085 (adjust_intervals_for_deletion, merge_interval_right)
13086 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13087 (copy_intervals_to_string): Likewise.
13088 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13089 Likewise.
13090 * syntax.c (update_syntax_table): Likewise.
13091
13092 * intervals.c (reproduce_tree_obj): New function, like
13093 reproduce_tree but takes a Lisp_Object for the parent. Declare
13094 with prototype.
13095 (graft_intervals_into_buffer): Use it when appropriate.
13096 (reproduce_tree): Declare with prototype.
13097 (balance_possible_root_interval): Check that the parent is a lisp
13098 object before trying to examine its type.
13099
13100 2000-03-22 Gerd Moellmann <gerd@gnu.org>
13101
13102 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13103 as strings only if both are known to be strings.
13104
13105 * s/openbsd.h (LIBS_TERMCAP): Undef.
13106
13107 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13108
13109 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13110 definitions for non-Emacs compilation.
13111 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13112 outside of `#ifdef emacs'.
13113 (print_partial_compiled_pattern): Update.
13114 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13115 (re_compile_fastmap): Merge handling of charset and charset_not (for
13116 emacs and non-emacs compilation as well).
13117 Similarly for (not)categoryspec and (not)syntaxspec.
13118 Don't use the fastmap when reaching `anychar' since the added
13119 complexity is not justified.
13120 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13121 and (not)syntaxspec. Merge (not)categoryspec.
13122
13123 2000-03-22 Kenichi Handa <handa@etl.go.jp>
13124
13125 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13126 (FACE_FOR_CHAR): Define them differently for the configuration of
13127 --without-x.
13128
13129 2000-03-21 Dave Love <fx@gnu.org>
13130
13131 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13132 doc string.
13133
13134 2000-03-21 Gerd Moellmann <gerd@gnu.org>
13135
13136 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13137 (lface_fully_specified_p): Don't check contents of
13138 LFACE_FONT_INDEX because that attribute is optional.
13139 (realize_x_face): Remove now unwarranted xassert.
13140
13141 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
13142
13143 The following changes are to make font selection based on
13144 characters, not charset. In addition, they recover fontset
13145 facilities while utilizing the new font selection mechanism.
13146
13147 * Makefile.in (fontset.o): Depend on dispextern.h.
13148
13149 * alloc.c (mark_face_cache): Don't mark face->registry.
13150
13151 * dispextern.h (struct glyph): New member glyph_not_available_p.
13152 Use 22 bits for face_id.
13153 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13154 (struct face): Delete member registry, new member ascii_face.
13155 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13156 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13157 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
13158 (struct it): Delete member charset, new member glyph_not_available_p.
13159
13160 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13161 (struct fontset_info, struct fontset_data): Structs removed.
13162 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13163 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
13164 (fs_load_font, fs_query_fontset): Adjusted for new argument.
13165 (fs_free_face_fontset, fontset_font_pattern)
13166 (face_suitable_for_char_p, face_for_char)
13167 (make_fontset_for_ascii_face): Extern them.
13168 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13169 (FS_LOAD_FACE_FONT): New macro.
13170
13171 * fontset.c: All codes rewritten or adjusted for the change of
13172 fontset implementation. Now fontset is represented by char table.
13173 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13174 Variables removed.
13175 (my_strcasecmp): Function removed.
13176 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
13177 (AREF, ASIZE): New macros.
13178 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13179 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13180 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13181 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13182 (fontset_id_valid_p, font_family_registry, fontset_name)
13183 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13184 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
13185 New functions.
13186 (fs_load_font): New arg FACE. Caller changed.
13187 (fs_query_fontset): Argument changed. Caller changed.
13188 (Fquery_fontset): call fs_query_fontset.
13189 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13190 Functions removed.
13191 (clear_fontset_elements, check_registry_encoding)
13192 (check_fontset_name): New functions.
13193 (syms_of_fontset): Set char-table-extra-slots property of fontset
13194 to 3. Staticpro and initialize Vfontset_table and
13195 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13196
13197 * frame.h (struct frame): Member `fontset_data' removed.
13198 (FRAME_FONTSET_DATA): Macro removed.
13199
13200 * frame.c (make_frame): Don't allocate f->fontset_data.
13201 (Fdelete_frame): Don't free f->fontset_data.
13202
13203 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13204
13205 * xdisp.c (charset_at_position): Function removed.
13206 (init_iterator): Don't set member charset of struct `it'.
13207 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13208 (next_element_from_display_vector, insert_left_trunc_glyphs):
13209 Likewise.
13210 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13211 FACE_FOR_CHARSET.
13212 (get_next_display_element, append_space)
13213 (extend_face_to_end_of_line): Likewise.
13214
13215 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13216 Variables removed.
13217 (clear_font_table, frame_update_line_height, load_face_font):
13218 Adjusted for the change of fontset implementation.
13219 (load_face_fontset_font): Function removed.
13220 (pixel_point_size): New function.
13221 (font_list): Argument type changed. Caller changed.
13222 (LFACE_FONT): New macro.
13223 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13224 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13225 Lisp_Object. Determine the font name by actually loading a font
13226 by the specified pattern. Set LFACE_FONT (lface) to the specified
13227 pattern. Even if a font is not found, don't try alternatives.
13228 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13229 (set_font_frame_param): If `font' is specified in lface, use it.
13230 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13231 (lface_same_font_attributes_p): Likewise.
13232 (make_realized_face): Arguent changed. Caller changed. Set
13233 face->ascii_face to face itself.
13234 (free_realized_face): Free face->fontset if face is for ASCII.
13235 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13236 (deduce_unibyte_registry, x_charset_registry): Functions removed.
13237 (free_realized_multibyte_face): New function.
13238 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13239 changed. Caller changed.
13240 (try_font_list): Argument type changed.
13241 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13242 (choose_face_font): Argument changed. Handle fontset properly.
13243 (choose_face_fontset_font): Function removed.
13244 (realize_default_face, realize_named_face): Don't remove the
13245 former face here.
13246 (realize_face): Argument changed. Caller changed. Remove face
13247 with the arg former_face_id in advance. Load font for the new face.
13248 (realize_x_face): Argument changed. Caller changed. For a
13249 multibyte character, share fontset with base_face. For a single
13250 byte character, make a new realized fontset. Don't load a font here.
13251 (realize_tty_face): Argument changed. Caller changed.
13252 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13253 (face_at_buffer_position): Don't check multibyte_p for returning
13254 DEFAULT_FACE_ID.
13255 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13256 FACE_SUITABLE_FOR_CHARSET_P.
13257 (syms_of_xfaces): Remove code for Qx_charset_registry and
13258 Vface_default_registry.
13259
13260 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13261 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
13262 (x_per_char_metric): Don't try FONT->default_char. Even if
13263 pcm->width is zero, glyph bits may exist.
13264 (x_encode_char): Always initialize char2b->byte1.
13265 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
13266 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
13267 (x_append_glyph): Set glyph->glyph_not_available_p.
13268 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13269 it->charset. Handle the case that per char metric is not
13270 available. If it->multibyte_p is zero and it->c is a multibyte
13271 character, convert it to a unibyte character.
13272 (struct glyph_string): Delete member `charset'.
13273 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13274 the case that per char metric is not available correctly.
13275 (x_fill_glyph_string): Handle the case that the specific glyph is
13276 not available correctly.
13277 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13278 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13279 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13280 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13281 fontset. Don't call FS_LOAD_FONT.
13282
13283 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13284 (x_create_tip_frame): Likewise.
13285 (Fx_close_connection): Free full_name of font_info.
13286
13287 * fns.c (optimize_sub_char_table): New function.
13288 (Foptimize_char_table): New function.
13289 (syms_of_fns): Defsubr Soptimize_char_table.
13290
13291 2000-03-20 Gerd Moellmann <gerd@gnu.org>
13292
13293 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13294 only if buffer is displayed in some window.
13295
13296 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13297 (try_window_reusing_current_matrix): Don't call scroll run
13298 function if run's current and desired position are the same;
13299 this prevents cursor flickering.
13300
13301 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13302
13303 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13304
13305 * regex.c (RE_STRING_CHAR): New macro.
13306 (GET_CHAR_AFER_2): Remove.
13307 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13308 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13309 (print_partial_compiled_pattern, re_compile_fastmap)
13310 (re_match_2_internal): Remove on_failure_jump_exclusive.
13311 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13312 optimization only need to work for * (ie. can use of_keep_string_jump).
13313 Remove the special case for .*\n since it is now covered by the general
13314 optimization.
13315 (re_search_2): Don't bother with `room'.
13316 (skip_one_char): New function.
13317 (skip_noops): Simplify since `memory' is not needed any more.
13318 (mutually_exclusive_p): Restructure slightly to use `switch' and
13319 add handling for "all" remaining cases.
13320 (re_match_2_internal): Change on_failure_jump_smart to use
13321 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13322 rather than on_failure_jump_exclusive.
13323
13324 2000-03-19 Gerd Moellmann <gerd@gnu.org>
13325
13326 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13327 number of bits per RGB because it's everywhere used as the depth
13328 of the visual.
13329
13330 * term.c (calculate_costs): Remove code dealing with X frames.
13331
13332 2000-03-19 Richard M. Stallman <rms@gnu.org>
13333
13334 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13335
13336 2000-03-18 Gerd Moellmann <gerd@gnu.org>
13337
13338 * lread.c (read_integer): Unread the last char not consumed.
13339
13340 2000-03-17 Gerd Moellmann <gerd@gnu.org>
13341
13342 * xterm.c (x_update_window_cursor): Don't update in frames
13343 which are in the process of being deleted.
13344
13345 2000-03-16 Gerd Moellmann <gerd@gnu.org>
13346
13347 * Makefile.in (mostlyclean): Add `*.core'.
13348 (clean): Add `bootstrap-emacs'.
13349
13350 * lread.c (read_integer): New function.
13351 (read1): Support read syntax #o, #x, #b, #r.
13352
13353 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13354
13355 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13356 make sure POINTER_TO_OFFSET gives the same value before and after
13357 PREFETCH. Use `dfail' to guarantee "atomic" matching.
13358 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13359 (debug): Now only active if > 0 rather than if != 0.
13360 (DEBUG_*): Update for the new meaning of `debug'.
13361 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13362 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13363 in `succeed_n', `jump_n' and `set_number_at'.
13364 (store_op1, store_op2, insert_op1, insert_op2)
13365 (at_begline_loc_p, at_endline_loc_p): Add prototype.
13366 (group_in_compile_stack): Move to after its arg's types are
13367 declared and add a prototype.
13368 (PATFETCH): Define in terms of PATFETCH_RAW.
13369 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
13370 (QUIT): Redefine as a nop except for NTemacs.
13371 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13372 indentation of the greedy-op and shy-group code.
13373 (at_(beg|end)line_loc_p): Fix argument's types.
13374 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13375 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13376 (MATCHING_IN_FIRST_STRING): Remove.
13377 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13378 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13379 QUIT unconditionally.
13380
13381 2000-03-15 Gerd Moellmann <gerd@gnu.org>
13382
13383 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13384 a sole completion.
13385
13386 * process.c (send_process): Add a hint that the function
13387 can call Lisp code to its comment.
13388
13389 * lread.c (load_dangerous_libraries): New variable.
13390 (Vbytecomp_version_regexp): New variable.
13391 (safe_to_load_p): New function.
13392 (Fload): Handle files not compiled with Emacs specially.
13393 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13394
13395 2000-03-14 Gerd Moellmann <gerd@gnu.org>
13396
13397 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13398
13399 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13400 support functions only if HAVE_X11R6_XIM is defined.
13401 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13402
13403 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13404
13405 * xfns.c (X_I18N_INHIBITED): Don't define.
13406 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
13407 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13408
13409 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13410 (HAVE_X11R6_XIM): Define.
13411
13412 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13413
13414 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13415 If set, call XSynchronize.
13416
13417 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13418
13419 * regex.c: Declare a new type `re_char' used throughout the code
13420 for the string char type. It's `const unsigned char' to match the
13421 rest of Emacs. Consistently make sure all pointers to strings use
13422 it and make sure all pointers into the pattern use `unsigned char'.
13423 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
13424 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13425 code duplication.
13426
13427 * charset.h (GET_CHAR_AFTER_2): Remove.
13428 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13429
13430 2000-03-12 Ken Raeburn <raeburn@gnu.org>
13431
13432 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13433 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13434 of them try to use backquotes.
13435
13436 2000-03-12 Dave Love <fx@gnu.org>
13437
13438 * unexelf.c: Restore changes of 1999-10-19.
13439 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13440 fix its type and alignment; copy it from current process.
13441
13442 2000-03-12 Gerd Moellmann <gerd@gnu.org>
13443
13444 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13445 has been found. Fix bug not computing timer's predecessor.
13446
13447 * fileio.c (Fread_file_name): Handle case that DIR contains a
13448 file name.
13449
13450 * window.c (Fsave_window_excursion): Doc fix.
13451
13452 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
13453
13454 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13455
13456 * msdos.c (vga_installed): New function, code moved from
13457 dos_set_window_size.
13458 (Qbar, Qcursor_type, outside_cursor): New variables.
13459 (syms_of_msdos): Intern and staticpro them.
13460 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13461 shape used outside Emacs when called for the first time.
13462 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13463 cursor shape used outside Emacs.
13464 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13465 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13466 type has changed.
13467 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13468 parameters specify the cursor. Make qreverse a global
13469 variable (renamed to Qreverse).
13470
13471 2000-03-09 Gerd Moellmann <gerd@gnu.org>
13472
13473 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13474
13475 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13476
13477 This is a big redesign of failure-stack and register handling, prompted
13478 by bugs revealed when trying to add shy-groups. Overall, what happened
13479 is that loops are now structured a little differently, groups can be
13480 shy and the code is a little simpler.
13481
13482 * regex.h: Update the copyright.
13483 (RE_SHY_GROUPS): New value.
13484 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13485 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13486
13487 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13488 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13489 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13490 for (start|stop)_memory since they now only take one argument (the
13491 second has becomes unnecessary).
13492 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
13493 (print_compiled_pattern): Use %ld to printf long ints and flush to
13494 make debugging a little easier.
13495 (union fail_stack_elt): Make the integer unsigned.
13496 (struct fail_stack_type): Add a `frame' element.
13497 (INIT_FAIL_STACK): Init `frame' as well.
13498 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13499 (DEBUG_PUSH, DEBUG_POP): Remove.
13500 (NUM_REG_ITEMS): Remove.
13501 (NUM_NONREG_ITEMS): Adjust.
13502 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13503 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
13504 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
13505 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13506 New macros.
13507 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13508 address pushed is not the destination of the jump but the source
13509 of it instead.
13510 (NUM_FAILURE_ITEMS): Remove.
13511 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
13512 registers before the actual failure point). Don't hardcode any
13513 meaning for str==NULL anymore.
13514 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
13515 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13516 Remove.
13517 (REG_UNSET_VALUE): Use NULL (why not?).
13518 (compile_range): Remove declaration since it doesn't exist.
13519 (struct compile_stack_elt_t): Remove inner_group_offset.
13520 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13521 (regex_grow_registers): Remove dead code.
13522 (FIXUP_ALT_JUMP): New macro.
13523 (regex_compile): Add shy-groups Change loops to use
13524 on_failure_jump_smart&jump instead of
13525 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13526 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13527 variable to me). Use `jump' instead of `jump_past_alt' and don't
13528 bother with push_dummy_failure in alternatives since it is now
13529 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13530 emacs' for (re)allocating the stack.
13531 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13532 from loop when bufp->can_be_null rather than jumping to `done'.
13533 Avoid jumping backwards so as to ensure termination. Use
13534 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13535 backreferences. Remove dead code in handling of `anychar'.
13536 (skip_noops, mutually_exclusive_p): New functions taken from the
13537 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13538 improve mutually_exclusive_p to handle ".+\n".
13539 (lowest_active_reg, highest_active_reg)
13540 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
13541 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13542 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13543 variables. Push register (in `start_memory') on the stack rather
13544 than storing it in old_reg(start|end). Remove the cycle detection
13545 from `stop_memory', replaced by the use of on_failure_jump_loop
13546 for greedy loops. Add code for the new on_failure_jump_<foo>.
13547 Remove ad-hoc code in `on_failure_jump' to push more registers in
13548 the case of a loop. Take out code from `maybe_pop_jump' into
13549 separate functions and adapt it to the semantics of
13550 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13551 and push_dummy_failure. Remove dummy_failure handling and
13552 handling of `failures to jump to on_failure_jump' (this last one
13553 was already dead code, it seems).
13554 (group_match_null_string_p, alt_match_null_string_p)
13555 (common_op_match_null_string_p): Remove.
13556
13557 2000-03-08 Dave Love <fx@gnu.org>
13558
13559 * config.in: Don't depend on __STDC__ for volatile.
13560 Add POINTER_TYPE, PTR, PROTOTYPES.
13561
13562 * hftctl.c, strftime.c: Use PROTOTYPES.
13563 * eval.c (find_handler_clause): Likewise.
13564
13565 * mem-limits.h: Use POINTER_TYPE.
13566
13567 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13568 (memory_warnings): Declare using POINTER_TYPE.
13569
13570 2000-03-08 Gerd Moellmann <gerd@gnu.org>
13571
13572 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13573
13574 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
13575
13576 * xfns.c: Remove obsolete code in #if 0.
13577 (Fx_focus_frame): New function.
13578
13579 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13580
13581 * coding.c (coding_category_name): Add coding-category-utf-8,
13582 coding-category-utf-16-be, coding-category-utf-16-le.
13583 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13584 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13585 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13586 (detect_coding_utf_8): New function.
13587 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13588 UTF_16_LOW_SURROGATE_P): New macros.
13589 (detect_coding_utf_16): New function
13590 (detect_coding_mask): When priorities are specified, skip any
13591 categories that have `nil' coding-system. Fix bug of returning
13592 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13593 returns a mask not set in PRIORITIES.
13594 (detect_eol_type_in_2_octet_form): New function.
13595 (detect_eol): selects detect_eol_type_XXX to call according to
13596 cooding->category_idx.
13597 (detect_coding_system): Remove `nil' coding-system in the result.
13598 (Fupdate_coding_systems_internal): Update all coding-categories.
13599
13600 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13601 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13602 New macros.
13603 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13604 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13605 (CODING_CATEGORY_IDX_UTF_16_LE)
13606 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13607 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
13608 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13609 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13610
13611 2000-03-07 Gerd Moellmann <gerd@gnu.org>
13612
13613 * doc.c (Fdocumentation_property): If value is not a string,
13614 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13615
13616 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13617 close the display with XtCloseDisplay. This caused a bus error
13618 on OpenWindows.
13619
13620 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13621 complete but not unique.
13622
13623 2000-03-06 Gerd Moellmann <gerd@gnu.org>
13624
13625 * process.c (send_process): Remove local variable `procname' that
13626 might become invalid when a GC happens. Instead, access the
13627 process name slot directly.
13628
13629 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13630 orig_height if set.
13631
13632 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13633 orig_height if set.
13634
13635 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13636
13637 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13638 glyph matrices have been freed.
13639
13640 2000-03-05 Gerd Moellmann <gerd@gnu.org>
13641
13642 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
13643 (bootstrap-temacs): Set LC_ALL to C like for temacs.
13644
13645 * xfns.c (QCdata): Moved to xdisp.c.
13646
13647 * xdisp.c (QCdata): Moved here from xfns.c.
13648 (syms_of_xdisp): Initialize QCdata.
13649
13650 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13651
13652 * window.c (coordinates_in_window): Use
13653 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13654 FRAME_INTERNAL_BORDER_WIDTH.
13655
13656 * xdisp.c (try_window_id): Recompute unchanged information if
13657 it is obviously invalid.
13658
13659 * xterm.c (x_term_init): Create a colormap if not using the
13660 default visual.
13661
13662 * xterm.h (select_visual): Change prototype.
13663
13664 * xfns.c (select_visual): Rewritten. Recognize user-specified
13665 visual classes.
13666 (visual_classes): New variable.
13667
13668 2000-03-04 Gerd Moellmann <gerd@gnu.org>
13669
13670 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13671 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13672 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
13673 (x_decode_color): Don't handle allocation of white and black specially.
13674 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13675 XtNcolormap resources.
13676 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13677 (Fx_create_frame): Initialize color members of x_output structure.
13678 (xpm_load): Pass colormap to XPM lib.
13679
13680 * xfaces.c (x_free_colors): Access colormap of frame using
13681 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13682 when default colormap is used.
13683
13684 * xterm.c (x_term_init): Set Colormap member of x_display_info
13685 structure. Copy colormap if resource `privateColormap' is
13686 specified (PseudoColor only).
13687 (x_setup_relief_color): Access colormap of frame using
13688 FRAME_X_COLORMAP.
13689
13690 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13691 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13692
13693 2000-03-04 Jason Rumney <jasonr@gnu.org>
13694
13695 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13696 other non-platform-specific equivalents.
13697 [WINDOWSNT]: Include w32term.h, fontset.h and define X
13698 specific functions and macros as their w32 equivalents where
13699 non-platform-specifics are not available.
13700 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13701 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13702 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13703 (frame_update_line_height): Use macros to access f->output_data.
13704 (defined_color): Remove FIXME comments; fixed.
13705 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13706 into #ifdef blocks. Add WINDOWSNT blocks.
13707 (Fx_list_fonts): Use macros for accessing font data.
13708 (set_lface_from_font_name): Different default fonts for X and
13709 WINDOWSNT.
13710 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13711 scalable for backward compatibility.
13712 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
13713 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13714
13715 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
13716 syms_of_w32faces.
13717
13718 * makefile.nt (w32faces.obj): Remove.
13719 (xfaces.obj): Add.
13720
13721 2000-03-03 Jason Rumney <jasonr@gnu.org>
13722
13723 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13724 correct parameters.
13725
13726 2000-03-03 Ken Raeburn <raeburn@gnu.org>
13727
13728 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13729 standard ELF definitions here if the system header does not.
13730
13731 2000-03-03 Gerd Moellmann <gerd@gnu.org>
13732
13733 * xterm.c (PER_CHAR_METRIC): Removed.
13734 (x_per_char_metric_1, x_default_char): New functions.
13735 (x_per_char_metric): If font's default char is invalid, return
13736 metrics of a suitably chosen usable default char.
13737 (x_draw_glyph_string_foreground): If font has an invalid default
13738 char, replace occurrences of unprintable chars with a suitably
13739 chosen usable default char.
13740
13741 2000-03-02 Gerd Moellmann <gerd@gnu.org>
13742
13743 * xterm.c (note_mouse_highlight): Return quickly if frame's
13744 glyph matrices have been freed.
13745
13746 * dispnew.c (free_glyphs): Block input while freeing matrices.
13747
13748 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13749
13750 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13751 Use x_free_colors.
13752
13753 * dispextern.h (x_free_colors): Add prototype.
13754
13755 * xfaces.c (x_free_colors): New function.
13756 (unload_color, free_face_colors): Use it.
13757
13758 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13759
13760 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13761
13762 * window.c [MSDOS]: Include msdos.h.
13763
13764 2000-03-02 Dave Love <fx@gnu.org>
13765
13766 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13767
13768 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13769 set C_OPTIMIZE_SWITCH for gcc.
13770
13771 2000-03-02 Kenichi Handa <handa@etl.go.jp>
13772
13773 * coding.c (coding_save_composition): Be sure to allocate
13774 composition data area in coding even if there's no composition in
13775 the current run.
13776
13777 2000-03-01 Jason Rumney <jasonr@gnu.org>
13778
13779 * w32term.c: Equivalent changes to those made to xterm.c on
13780 2000-02-25 and 2000-02-24.
13781
13782 * w32fns.c: Equivalent changes to those made to xfns.c on
13783 2000-02-25 and 2000-02-21.
13784
13785 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13786 correct line-end convention is followed.
13787
13788 * w32menu.c [HAVE_BOXES]: Remove #undef.
13789 (single_keymap_panes): Remove code for simulating checkmarks.
13790 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13791 Remove code for drawing simulated checkmarks.
13792 (w32_menu_show): make unibyte help string correctly.
13793 (add_menu_item): draw standard Windows checkmarks. Draw radio
13794 buttons as radio buttons if possible.
13795
13796 2000-03-01 Gerd Moellmann <gerd@gnu.org>
13797
13798 * sysdep.c (start_of_text): Don't define this function for NetBSD
13799 with ELF.
13800
13801 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
13802 Don't define.
13803 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13804 (LINKER): Don't undef if __NetBSD__ is defined.
13805
13806 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13807
13808 * fileio.c [__NetBSD__]: Define `unix'.
13809
13810 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13811
13812 2000-02-29 Gerd Moellmann <gerd@gnu.org>
13813
13814 * atimer.c (start_atimer): Don't abort when timers are stopped.
13815 (append_atimer_lists): New function.
13816 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13817 arbitrary lists of stopped and running atimers.
13818
13819 * atimer.c (cancel_atimer): Handle canceling an atimer when
13820 some timers are stopped.
13821
13822 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13823 after canceling it.
13824
13825 * fns.c (maybe_resize_hash_table): Handle case of new size
13826 coming out as being the same as old size.
13827
13828 2000-02-27 Jason Rumney <jasonr@gnu.org>
13829
13830 * makefile.nt: Add atimer.h to dependencies.
13831 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13832 * w32console.c: Only disable window system features for dispextern.h
13833 (initialize_w32_display): Build a display info for the console.
13834 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13835 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13836 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13837 as 2 button mice.
13838 * w32gui.h (struct W32FontStruct): Revert last change after change
13839 to xdisp.c.
13840 * w32menu.c (single_submenu): Set up help string.
13841 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13842 (w32_dialog_show): Set up help string.
13843 * w32term.c (w32_display_info_for_display): Remove unused function.
13844 (w32_draw_bitmap): Use pre-built bitmaps.
13845 (w32_initialize_display_info): New function to initialize parts of
13846 display info that are common to both GUI and console frames.
13847 (w32_term_init): Use w32_initialize_display_info. Do not set
13848 Vw32_num_mouse_buttons here, as it is not called for console
13849 frames. Build bitmaps for indicating truncated lines etc.
13850 (x_delete_display): Destroy pre-built bitmaps.
13851 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13852 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13853
13854 2000-02-27 Dave Love <fx@gnu.org>
13855
13856 * lisp.h: Add a bunch of prototypes.
13857
13858 2000-02-26 Kenichi Handa <handa@etl.go.jp>
13859
13860 * keyboard.c (read_char): Set `usec' correctly.
13861
13862 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13863
13864 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13865 `lambda', set reg[RRR] to the map index.
13866 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13867 reg[RRR] to 0. Otherwise, set it to -1.
13868
13869 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13870
13871 * emacs.c (main): Remove code snippet commented out with `//'.
13872
13873 2000-02-25 Richard M. Stallman <rms@gnu.org>
13874
13875 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13876 and contains a `:', prepend `/:'.
13877
13878 * window.c (select_window_1): If selected_window is nil,
13879 don't "swap out" the buffer's point.
13880 (Fset_window_configuration): Set selected_window to nil
13881 before calling Fselect_window.
13882 (unshow_buffer): Don't set point in buffer from window's point
13883 if another more recently selected window also shows the buffer.
13884
13885 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13886
13887 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13888
13889 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13890 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
13891 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13892 New variables.
13893 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13894 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13895 (hide_busy_cursor): New functions.
13896 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13897
13898 * minibuf.c (read_minibuf): Cancel busy-cursor.
13899
13900 * keyboard.c (command_loop_1): Call start_busy_cursor before
13901 Fcommand_execute and cancel_busy_cursor after it.
13902 (timer_check): Remove busy-cursor code.
13903 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13904 cursor timer.
13905
13906 * process.c (wait_reading_process_input): Remove busy-cursor code.
13907
13908 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13909 Fx_hide_busy_cursor.
13910
13911 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13912 Remove prototyoes.
13913 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13914
13915 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13916
13917 * xterm.c (XTread_socket): Remove busy-cursor code.
13918
13919 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13920 (build_frame_matrix_from_leaf_window): Put code handling
13921 glyph row's not being a slice of a frame row in #if 0.
13922 (sync_window_with_frame_matrix_rows): New function.
13923 (frame_row_to_window): New function.
13924 (mirror_line_dance): Handle copies between windows.
13925
13926 * lread.c (Fload): Use `xfree' instead of `free'.
13927 (init_obarray): Use `xmalloc' instead of `malloc'.
13928
13929 * window.c (Fset_window_buffer): Set WINDOW to the window
13930 after decoding.
13931 (coordinates_in_window): Take frame's internal border width
13932 into account.
13933
13934 2000-02-24 Gerd Moellmann <gerd@gnu.org>
13935
13936 * xterm.c (x_display_and_set_cursor): Display cursor of
13937 non-selected windows depending on the setting of
13938 cursor_in_non_selected_windows.
13939
13940 * xdisp.c (cursor_in_non_selected_windows): New variable.
13941 (syms_of_xdisp): DEFVAR_BOOL it.
13942
13943 2000-02-23 Gerd Moellmann <gerd@gnu.org>
13944
13945 * data.c (Fstring_to_number): If number is greater than what
13946 fits into an integer, return a float.
13947
13948 * eval.c (specbind): Remove references to
13949 keyword_symbols_constant_flag.
13950
13951 * data.c (keyword_symbols_constant_flag): Removed.
13952 (Fmakunbound, set_internal, syms_of_data): Remove references to
13953 keyword_symbols_constant_flag.
13954
13955 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13956
13957 2000-02-23 Kenichi Handa <handa@etl.go.jp>
13958
13959 * syntax.c (multibyte_syntax_as_symbol): New variable.
13960 (syms_of_syntax): Declare it as a Lisp variable.
13961 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13962 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13963 nonzero, treat all multibyte characters as symbol.
13964 (init_syntax_once): Give syntax `word' to all multibyte characters.
13965
13966 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13967
13968 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
13969 a deleted frame.
13970
13971 2000-02-21 Gerd Moellmann <gerd@gnu.org>
13972
13973 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13974
13975 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13976 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13977
13978 2000-02-21 Dave Love <fx@gnu.org>
13979
13980 * frame.c (Vmouse_position_function): New variable.
13981 (Fmouse_position): Use it.
13982 (syms_of_frame): Install it.
13983
13984 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13985
13986 2000-02-20 Gerd Moellmann <gerd@gnu.org>
13987
13988 * fileio.c (Finsert_file_contents): Unbind the binding of
13989 standard-output done by temp_output_buffer_setup.
13990
13991 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13992 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13993 (specbind, unbind_to): Handle most common case of non-constant
13994 symbol with trivial value specially.
13995
13996 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13997
13998 2000-02-20 Richard M. Stallman <rms@gnu.org>
13999
14000 * data.c (Fmake_variable_buffer_local): Doc fix.
14001 Init found_for_buffer to 0.
14002 (Fmake_variable_frame_local): If the variable has already
14003 been buffer-local, set the check_frame field.
14004
14005 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14006
14007 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14008 produced for CODING_MODE_LAST_BLOCK requires.
14009
14010 2000-02-18 Dave Love <fx@gnu.org>
14011
14012 * keyboard.c (echo_keystrokes): Remove declaration.
14013 (Vecho_keystrokes) New variable.
14014 (read_char, record_menu_key, read_key_sequence): Use it to allow
14015 use of float value.
14016 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14017
14018 * lread.c: Undef feature selection macros before defining.
14019
14020 2000-02-18 Gerd Moellmann <gerd@gnu.org>
14021
14022 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14023 for symbols other than the symbol in question.
14024
14025 2000-02-17 Dave Love <fx@gnu.org>
14026
14027 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14028
14029 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14030
14031 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14032
14033 * alloc.c (enum mem_type): Compile unconditionally.
14034
14035 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14036
14037 * xfaces.c (tty_defined_color): Don't return faulire indication
14038 for unspecified-fg and unspecified-bg pseudo-colors.
14039
14040 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14041
14042 * alloc.c (mark_object): Don't mark symbol names in pure space.
14043 (gc_sweep): Don't unmark symbol names in pure space.
14044
14045 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14046 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14047 [GC_MARK_STACK]: New defines.
14048 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
14049 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14050
14051 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14052
14053 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14054 allocate_buffer instead of xmalloc.
14055
14056 * alloc.c (toplevel): Include setjmp.h.
14057 (PURE_POINTER_P): New define.
14058 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14059 (Vdead) [GC_MARK_STACK]: New variable.
14060 (lisp_malloc): Add parameter TYPE, call mem_insert if
14061 GC_MARK_STACK is defined.
14062 (allocate_buffer): New function.
14063 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
14064 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14065 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14066 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14067 (MEM_NIL) [GC_MARK_STACK]: New define.
14068 (struct mem_node) [GC_MARK_STACK]: New structure.
14069 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14070 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14071 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14072 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14073 (mark_stack) [GC_MARK_STACK]: New functions.
14074 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14075 (clear_marks): Removed.
14076 (gc_sweep): Set free conses' car, free floats' type, free
14077 symbols' function to Vdead. Use lisp_free to free buffers.
14078 (init_alloc_once): Initialize Vdead.
14079 (survives_gc_p): Return non-zero for pure objects.
14080
14081 * alloc.c: Add comments throughout the file.
14082
14083 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14084 that unblocks alarms.
14085
14086 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14087 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14088 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14089
14090 * frame.c (make_frame): Set frame initiallly to `garbaged'.
14091
14092 2000-02-17 Kenichi Handa <handa@etl.go.jp>
14093
14094 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14095 avoid infinite error signaling. Allocate sufficient memory for
14096 eol_str in the case that eoltype is Lisp_Int.
14097
14098 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14099
14100 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14101 depends on the previous behavior.
14102
14103 2000-02-16 Gerd Moellmann <gerd@gnu.org>
14104
14105 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14106
14107 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14108
14109 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14110
14111 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
14112 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
14113 write(2).
14114
14115 2000-02-15 Richard M. Stallman <rms@gnu.org>
14116
14117 * data.c (set_internal): Don't make variable buffer-local
14118 if within a let-binding for the same buffer.
14119 (let_shadows_buffer_binding_p): New function.
14120
14121 * eval.c (specbind): For buffer-local value,
14122 record the current buffer also.
14123 (unbind_to): Cope with that change.
14124
14125 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14126
14127 * window.c (Fsave_window_excursion): Doc fix.
14128
14129 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14130
14131 * syntax.c (back_comment): Make sure we only consider comment-starters
14132 of the relevant style and return -1 in case of a failure to find the
14133 beginning of the comment.
14134 (Fforward_comment): If back_comment fails, go back to the position just
14135 after the comment-end.
14136 (scan_lists): Add comment describing a very minor bug.
14137
14138 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14139
14140 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14141 `completion-regexp-list' in the docstring.
14142
14143 2000-02-14 Dave Love <fx@gnu.org>
14144
14145 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14146
14147 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14148
14149 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14150 to Emacs' syntax. Also fix the comment about set/not-set meanings
14151 since Emacs syntax is not the value 0 any more.
14152 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14153 since it's now part of RE_SYNTAX_EMACS.
14154
14155 2000-02-12 Dave Love <fx@gnu.org>
14156
14157 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
14158
14159 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14160
14161 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14162
14163 2000-02-12 Dave Love <fx@gnu.org>
14164
14165 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14166
14167 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
14168 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14169 * s/hpux.h: Don't define HAVE_VFORK.
14170
14171 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14172
14173 * s/nextstep.h: Don't define HAVE_ALLOCA.
14174
14175 * config.in: Add vfork bits.
14176
14177 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14178
14179 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14180 unwind function to undo the effect of stopping atimers.
14181
14182 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
14183
14184 * atimer.c (stopped_atimers): New variable.
14185 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14186 New functions.
14187
14188 * atimer.h (stop_other_atimers, run_all_atimers)
14189 (unwind_stop_other_atimers): Add function prototypes.
14190
14191 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14192
14193 2000-02-11 Ken Raeburn <raeburn@gnu.org>
14194
14195 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14196 library may depend on jpeg.
14197 (atimer.o): Depends on atimer.c.
14198
14199 2000-02-11 Kenichi Handa <handa@etl.go.jp>
14200
14201 * insdel.c (del_range_1): Call update_compositions.
14202 (del_range_both): Call update_compositions just once..
14203
14204 2000-02-10 Dave Love <fx@gnu.org>
14205
14206 * xfns.c (create_frame_xic): Fix initialization of automatic
14207 aggregates for pcc.
14208
14209 2000-02-09 Kenichi Handa <handa@etl.go.jp>
14210
14211 * ccl.c (CCL_MAKE_CHAR): New macro.
14212 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14213 registers by CCL_MAKE_CHAR before calling translate_char.
14214 <CCL_TranslateCharacterConstTbl> Likewise.
14215
14216 2000-02-08 Dave Love <fx@gnu.org>
14217
14218 * lread.c (__EXTENSIONS__): Define.
14219
14220 2000-02-08 Gerd Moellmann <gerd@gnu.org>
14221
14222 * puresize.h (BASE_PURESIZE): Increase to 650000.
14223
14224 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14225
14226 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14227 the help message.
14228
14229 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14230
14231 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14232 md, mh, mb, mr, and me to the fake termcap entry.
14233
14234 2000-02-06 Ken Raeburn <raeburn@gnu.org>
14235
14236 * sound.c (sound_cleanup): Don't call device close routine if the
14237 function pointer is null.
14238
14239 2000-02-06 Andrew Innes <andrewi@gnu.org>
14240
14241 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14242 around image definitions and prototypes.
14243 (gamma_correct) [WINDOWSNT]: New prototype.
14244
14245 * w32term.c (x_make_frame_visible): Replace call to
14246 input_poll_signal with poll_for_input.
14247
14248 * window.c [WINDOWSNT]: Include w32term.h.
14249
14250 * xdisp.c [WINDOWSNT]: Include w32term.h.
14251
14252 * makefile.nt: Add dependencies on w32gui.h.
14253 (OBJ1): Include atimer.obj.
14254 ($(BLD)\atimer.obj): New dependency rule.
14255
14256 * w32.c (sigmask): New function (does nothing).
14257 (sigunblock): Ditto.
14258
14259 * frame.c [WINDOWSNT]: Include w32term.h.
14260
14261 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14262
14263 * lread.c (syms_of_lread): Fix literal newlines.
14264
14265 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14266 the string constant limit (2048 bytes) in MSVC.
14267 (main): Ditto.
14268
14269 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14270
14271 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
14272 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14273 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14274 dispatch the event.
14275
14276 2000-02-04 Dave Love <fx@gnu.org>
14277
14278 * fileio.c: Remove some unused vars.
14279 (_GNU_SOURCE): Define (for euidaccess).
14280
14281 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14282
14283 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14284 gcpro1, gcpro2.
14285 (read_minibuf): Deal with allow_props correctly.
14286
14287 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14288
14289 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14290
14291 2000-02-03 Ken Raeburn <raeburn@gnu.org>
14292
14293 * search.c (compile_pattern): If a cache entry has a nil regexp,
14294 fill in that entry instead of clobbering a previously cached
14295 string regexp.
14296
14297 2000-02-02 Ken Raeburn <raeburn@gnu.org>
14298
14299 * puresize.h (BASE_PURESIZE): Increase to 610000.
14300
14301 2000-02-02 Gerd Moellmann <gerd@gnu.org>
14302
14303 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14304 can GC.
14305
14306 2000-02-02 Kenichi Handa <handa@etl.go.jp>
14307
14308 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14309 instead of incrementing ic directly.
14310 <CCL_WriteExprConst> Likewise.
14311 <ccl_set_expr>: Set ic to jump_address.
14312
14313 * fileio.c (e_write): Fix the handling of
14314 CODING_FINISH_INSUFFICIENT_SRC.
14315
14316 2000-02-01 Dave Love <fx@gnu.org>
14317
14318 * editfns.c (Fpropertize): Doc fix.
14319
14320 * process.c (Fstart_process): Doc fix.
14321
14322 * eval.c: Fix various doc strings not to duplicate information
14323 from help-manyarg-func-alist.
14324
14325 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
14326
14327 * doc.c (Vhelp_manyarg_func_alist): New variable.
14328 (Fdocumentation): Use it.
14329 (syms_of_doc): Define it.
14330
14331 2000-01-31 Gerd Moellmann <gerd@gnu.org>
14332
14333 * xterm.c (xim_open_dpy): Remove unused local variable.
14334
14335 * emacs.c (USAGE): Use term `display options' instead of `X options'.
14336
14337 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14338 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14339
14340 * fns.c (sweep_weak_table): New function.
14341 (sweep_weak_hash_tables): Use it. Keep on marking until there
14342 is no more change.
14343
14344 2000-01-30 Gerd Moellmann <gerd@gnu.org>
14345
14346 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14347 that XTread_socket does not crash by trying to call XNoOp on a
14348 closed display.
14349
14350 2000-01-30 Jason Rumney <jasonr@gnu.org>
14351
14352 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14353 Change selected_frame to SELECTED_FRAME ().
14354 (w32_console_mouse_position): Remove #ifndef MULE from around
14355 `insist' parameter.
14356
14357 * makefile.nt: Remove dosfns.obj.
14358
14359 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14360
14361 * w32fns.c (w32_defined_color): Check for valid frame before
14362 applying gamma correction. Eliminate dependency on frame elsewhere.
14363 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14364 (w32_to_x_font): Use resx and resy not height_in and width_in.
14365 (x_to_w32_font): Doc fix.
14366 (xlfd_strip_height): New function to strip and return font height.
14367 (w32_font_match): Compare height separately from rest of xlfd
14368 spec, using xlfd_strip_height.
14369
14370 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14371 width_in. Use w32_defined_color in place of defined_color.
14372
14373 * w32faces.c: Merge more of DOS and X specifics in preparation for
14374 merge with xfaces.c.
14375 (defined_color): Remove FIXME comment.
14376 (tty_color_name): Provide w32-specific function.
14377 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14378
14379 * w32console.c (turn_on_face, turn_off_face): Removed.
14380 (w32_face_attributes): New function.
14381 (Global_variables): Reduce scope where possible.
14382 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14383 fill attribute.
14384 (hl_mode): Don't modify text attributes.
14385 (write_glyphs): Don't do anything if len <= 0. Use
14386 w32_face_attributes to get attributes for drawing. Write
14387 terminating codes using char_attr_normal.
14388 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14389 (update_begin, update_end): Likewise.
14390 (vga_stdcolor_name): New function.
14391 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14392 (Fset_screen_color): Remove char_attr_reverse.
14393
14394 2000-01-29 Gerd Moellmann <gerd@gnu.org>
14395
14396 * xfns.c (xic_set_preeditarea): Take window parameter and
14397 window-relative pixel-positions.
14398
14399 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14400 is its frame's selected window.
14401 (xim_instantiate_callback): Likewise.
14402
14403 * xfns.c (x_create_im): Removed.
14404 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14405 (supported_xim_styles): Renamed from supported_styles.
14406 (best_xim_style): Renamed from best_style.
14407 (create_frame_xic): Renamed from xic_create_frame.
14408 (free_frame_xic): Renamed from xic_destroy_frame.
14409
14410 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14411
14412 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14413 our frames, call XFilterEvent with 2nd parameter `None'.
14414 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14415 returning XBufferOverflow.
14416 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
14417 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14418 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14419 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14420 (xim_initialize, xim_close)
14421 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14422 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14423 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14424 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14425
14426 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14427 and `xim_styles'.
14428 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14429 `xic_style' and `xic_xfs'.
14430 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14431 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14432 (FRAME_XIM): Removed.
14433
14434 * xfns.c (supported_styles): New variable.
14435 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14436 (xic_create_xfontset, best_style, xic_create_frame)
14437 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14438 (xic_set_xfontset): New functions.
14439
14440 2000-01-28 Dave Love <fx@gnu.org>
14441
14442 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14443
14444 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14445
14446 2000-01-28 Gerd Moellmann <gerd@gnu.org>
14447
14448 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14449 for *scratch* if it already existed.
14450
14451 * emacs.c (USAGE): New macro.
14452 (main): Use it to display usage information.
14453
14454 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14455
14456 Support for the menu-help feature:
14457
14458 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
14459
14460 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14461 part of the line to the termscript file.
14462 (IT_clear_to_end): Clear the entire line, not just its beginning.
14463 (menu_help_message, prev_menu_help_message): New variables.
14464 (IT_menu_make_room): Make room for the help_text member.
14465 (IT_menu_display): New argument disp_help; all callers changed.
14466 If disp_help is non-zero, store the help text of the active menu
14467 item in menu_help_message.
14468 (XMenuAddPane): Initialize the help_text member to NULL.
14469 (XMenuAddSelection): New argument help_text. Store it in the
14470 XMenu structure.
14471 (XMenuActivate): New argument help_callback. If the value of
14472 menu_help_message has changed since the last time, display the
14473 menu help message text while waiting for the mouse to move. Clear
14474 the echo area before exiting.
14475 (XMenuDestroy): Free the help_text member.
14476
14477 2000-01-27 Gerd Moellmann <gerd@gnu.org>
14478
14479 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14480 XMenuAddSelection. Pass help callback to XMenuActivate.
14481 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14482
14483 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14484
14485 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14486 and EMACS_SET_USECS.
14487
14488 2000-01-26 Dave Love <fx@gnu.org>
14489
14490 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14491
14492 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14493 an error may be signalled.
14494
14495 2000-01-26 Gerd Moellmann <gerd@gnu.org>
14496
14497 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14498 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14499
14500 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14501
14502 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14503
14504 * charset.c (Fstring): If there is a multibyte char among
14505 the args, always return a multibyte string.
14506
14507 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14508
14509 * sysdep.c (sys_select): Turn atimers off and on instead of
14510 recording and restoring old alarm handler
14511
14512 * process.c (toplevel): Include atimer.h.
14513 (create_process_1): Rewritten.
14514 (create_process): Use atimers instead of alarm.
14515 (wait_reading_process_input) [hpux]: Turn atimers off instead
14516 of turning off SIGALRM.
14517 (wait_reading_process_input): Turn off atimers instead off
14518 calling stop_polling.
14519
14520 * emacs.c (main): Call init_atimer.
14521
14522 * keyboard.c (toplevel): Include systime.h and atimer.h.
14523 (polling_for_input): Removed because unused.
14524 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14525 (poll_timer): New variable.
14526 (poll_for_input, poll_for_input_1): New functions.
14527 (start_polling, stop_polling): Rewritten.
14528
14529 * keyboard.h (polling_for_input): Removed.
14530
14531 * atimer.h, atimer.c: New files.
14532
14533 * Makefile.in (obj): Add atimer.o.
14534 (atimer.o): New target.
14535
14536 * blockinput.h (pending_atimers): Add extern declaration.
14537 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14538
14539 * lisp.h (popup_activated_flag): Add extern declaration.
14540
14541 * xmenu.c (popup_activated_flag): Make externally visible.
14542 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
14543 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14544
14545 * xterm.c (toplevel): Include atimer.h.
14546 (toolkit_scroll_bar_interaction): New variable.
14547 (Fxt_process_timeouts): Removed.
14548 (x_process_timeouts): New function.
14549 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14550 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14551 (x_make_frame_visible): Call poll_for_input_1 instead of
14552 input_poll_signal. Don't call alarm.
14553 (x_initialize): Install timer calling x_process_timeouts.
14554
14555 2000-01-24 Dave Love <fx@gnu.org>
14556
14557 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
14558 Don't use -cckr -- apparently not now necessary.
14559
14560 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14561
14562 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14563 screen boundary.
14564
14565 2000-01-23 Jason Rumney <jasonr@gnu.org>
14566
14567 * w32fns.c (w32_defined_color): Apply gamma correction before
14568 trying to map to the palette.
14569 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14570 to w32_clear_rect.
14571
14572 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14573 here. Callers changed to always pass real device context.
14574 (w32_draw_bitmap): Likewise.
14575 (w32_get_glyph_overhangs): Likewise.
14576 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
14577 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14578 pfnSetScrollInfo and SetScrollRange.
14579 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14580 back into MULE characters after decoding them.
14581 (x_get_glyph_face_and_encoding): Likewise.
14582 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14583 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14584 (x_produce_glyphs): Calculate per char metrics for a character
14585 that we know exists in default font when font_not_found_p is true.
14586
14587 2000-01-22 Jason Rumney <jasonr@gnu.org>
14588
14589 * makefile.nt (intervals.obj, composite.obj): New modules.
14590 (composite.h): Added as dependency where appropriate.
14591
14592 * w32gui.h (XGCValue): New struct for emulating X GCs.
14593
14594 * w32term.h (XCharStruct): New struct for emulating X.
14595
14596 * w32console.c (turn_on_face, turn_off_face): New functions.
14597 (change_line_highlight): New prototype for new redisplay.
14598 (write_glyphs): Support multibyte text. Support faces.
14599
14600 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
14601
14602 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14603 throughout. struct frame * in place of FRAME_PTR.
14604 Skeleton support for images, toolbars, tooltips from xfns.c.
14605 (Fx_create_frame): Use system default for default scroll bar width.
14606 (w32_get_arg): Renamed from x_get_arg.
14607 (Fx_file_dialog): New function.
14608 (w32_list_fonts): Check cache before asking system.
14609 (Vw32_enable_synthesized_fonts): New variable.
14610 (Vw32_enable_italics): Obsolete, removed.
14611
14612 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14613 Use SELECTED_FRAME macro.
14614
14615 * w32menu.c: Add skeleton support for help strings on menus.
14616 (add_menu_item): Native checkbox and radio support added, but not
14617 yet enabled due to bugs.
14618 (push_menu_item): Add parameters type, selection and help.
14619 Callers updated.
14620 Formatting changes to reduce unnecessary diffs with xmenu.c.
14621
14622 * w32select.c (Fw32_set_clipboard_data): Update call to
14623 find_charset_in_str.
14624
14625 * w32term.c: Complete rewrite for new redisplay based on new
14626 xterm.c with necessary sections merged back in from old w32term.c.
14627
14628 2000-01-21 Richard M. Stallman <rms@gnu.org>
14629
14630 * data.c (set_internal): Further fix in same criterion.
14631
14632 2000-01-20 Richard M. Stallman <rms@gnu.org>
14633
14634 * data.c (set_internal): Fix the criteria for whether
14635 to swap out the old cached binding.
14636
14637 2000-01-19 Dave Love <fx@gnu.org>
14638
14639 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14640
14641 2000-01-18 Kenichi Handa <handa@etl.go.jp>
14642
14643 * regex.c (re_compile_fastmap): While checking a range table for
14644 `charset', skip flag bits for a character class correctly.
14645
14646 2000-01-17 Gerd Moellmann <gerd@gnu.org>
14647
14648 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14649
14650 * xfns.c (x_window): Call lw_create_widget with new parameter list.
14651
14652 * widget.c (EmacsFrameSetCharSize): Change size of children first
14653 because of problems with main window geometry management under Lesstif.
14654
14655 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14656 MENU_ITEMS_ITEM_.*.
14657 (MENU_ITEMS_ITEM_HELP): New enumerator.
14658 (push_menu_item): Add parameter HELP. Record help in menu_items.
14659 (single_menu_item, single_submenu, list_of_items): Call
14660 push_menu_item with new parameter.
14661 (single_submenu): Set help string in widget value.
14662 (menu_highlight_callback): New function.
14663 (set_frame_menubar): Call lw_create_widget with new
14664 parameter list.
14665 (xmenu_show, xdialog_show): Ditto.
14666
14667 2000-01-13 Gerd Moellmann <gerd@gnu.org>
14668
14669 * sound.c (Fplay_sound): Improve doc string.
14670
14671 2000-01-11 Richard M. Stallman <rms@gnu.org>
14672
14673 * lisp.h (set_internal): Enter the new arg.
14674
14675 * eval.c (specbind): Record buffer-local variables specially,
14676 indicating which buffer's binding was saved.
14677 (unbind_to): Restore buffer-local variables specially
14678 in the proper buffer.
14679
14680 * data.c (set_internal): New arg BUF.
14681
14682 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14683 * data.c (Fset): Pass new arg to set_internal.
14684 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
14685
14686 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14687
14688 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
14689
14690 2000-01-11 Richard M. Stallman <rms@gnu.org>
14691
14692 * minibuf.c (Ftry_completion): Doc fix.
14693
14694 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14695
14696 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14697 vector, too.
14698
14699 2000-01-11 Andreas Schwab <schwab@suse.de>
14700
14701 * coding.c (code_convert_region): Initialize total_skip.
14702
14703 2000-01-08 Dave Love <fx@gnu.org>
14704
14705 * eval.c (Fuser_variable_p): Check customizability too.
14706
14707 2000-01-07 Gerd Moellmann <gerd@gnu.org>
14708
14709 * minibuf.c (Fcompleting_read): Doc fix.
14710
14711 2000-01-05 Gerd Moellmann <gerd@gnu.org>
14712
14713 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14714 -L /usr/local/lib.
14715
14716 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14717 Check that input style is supported before trying to create an
14718 IC for it.
14719 (x_window): Call x_create_im.
14720
14721 2000-01-04 Gerd Moellmann <gerd@gnu.org>
14722
14723 * xfns.c (current_gif_memory_src): New variable.
14724 (gif_load): Record the address of the current memory source
14725 in current_gif_memory_src.
14726 (gif_read_from_memory): Use current_gif_memory_src.
14727
14728 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14729 macros statement form.
14730
14731 * sound.c (struct sound): Renamed from struct sound_file.
14732 (struct sound): Add members `data' and `header_size'.
14733 (enum sound_attr): Add SOUND_DATA.
14734 (current_sound, current_sound_device): Variables renamed from
14735 sound_file and sound_device.
14736 (parse_sound): Parse :data.
14737 (parse_sound): Handle sound data in strings.
14738 (find_sound_type): Function renamed from find_sound_file_type.
14739 (wav_init, au_init): Fail if sound's header_size is smaller than
14740 needed header size.
14741 (wav_play, au_play): Play sounds from string data.
14742
14743 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14744
14745 * lisp.h: Add prototype for allocate_string_data.
14746
14747 * alloc.c (Fgarbage_collect): Return number of live and free strings.
14748
14749 * alloc.c (mark_buffer): Remove code in #if 0.
14750 (gc_sweep): Ditto.
14751 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14752 (strings_consed): New variable.
14753 (allocate_string): Set it.
14754 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14755 (Fmemory_use_counts): Return strings_consed. Use Flist.
14756
14757 * alloc.c: General cleanup in comments etc. Remove conditional
14758 compilation for `standalone'.
14759
14760 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14761
14762 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14763 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14764 (DONT_COPY_FLAG): Removed.
14765 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14766 (struct sdata, struct sblock): New
14767 (struct string_block): Rewritten.
14768 (STRINGS_IN_STRING_BLOCK): New macro.
14769 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14770 (large_sblocks, string_blocks, string_free_list): New variables.
14771 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14772 (init_strings): Rewritten.
14773 (allocate_string, allocate_string_data, compact_small_strings)
14774 (free_large_strings, sweep_strings): New functions.
14775 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14776 (struct string_block_head, current_string_block)
14777 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14778 (STRING_PAD): Removed.
14779 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14780 (Fgarbage_collect): Don't set mark bit in large strings.
14781 (mark_object): Mark strings differently. Mark symbol names
14782 differently.
14783 (survives_gc_p): Test marked strings differently.
14784 (gc_sweep): Sweep strings differently, unmark strings in
14785 symbol names.
14786 (compact_strings): Removed.
14787
14788 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14789
14790 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14791 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14792
14793 2000-01-04 Kenichi Handa <handa@etl.go.jp>
14794
14795 * fileio.c (Finsert_file_contents): Signal error if visiting file
14796 in a non-empty buffer.
14797
14798 * term.c (encode_terminal_code): Fix the previous change.
14799
14800 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14801
14802 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14803 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14804
14805 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14806
14807 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14808
14809 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14810 need to test for MSDOS frames.
14811
14812 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14813
14814 * dosfns.c (unspecified_colors): Remove.
14815 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14816 unspecified_bg.
14817 (msdos_stdcolor_name): Return strings for unspecified fore- and
14818 back-ground colors.
14819
14820 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
14821 (syms_of_xfaces): Remove their staticpro's.
14822 (tty_color_name): Return Lisp strings for unspecified fore- and
14823 back-ground colors.
14824 (Finternal_set_lisp_face_attribute): Remove the special treatment
14825 for Qunspecified_{f,b}g.
14826 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
14827
14828 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14829
14830 * xdisp.c (reseat_at_next_visible_line_start): Position before
14831 newline only if ending up on a newline.
14832 (next_element_from_ellipsis): Return success. Handle case of
14833 displaying no ellipsis. Fix case of ellipsis defined in display table.
14834 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14835 returns 0.
14836
14837 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14838
14839 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14840 (Fcolor_supported_p): Renamed from face-color-supported-p.
14841
14842 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14843
14844 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14845 list of colors renamed to tty-defined-color-alist.
14846 (tty_color_name): Pass the frame to tty-color-by-index.
14847 (realize_tty_face): tty-color-alist is now a function which
14848 accepts the frame as argument.
14849
14850 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
14851
14852 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14853
14854 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14855 encode_terminal_code.
14856
14857 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14858
14859 * dispnew.c (mode_line_string): Support termcap frames as well.
14860
14861 2000-01-01 Gerd Moellmann <gerd@gnu.org>
14862
14863 * syntax.c (Fforward_word): Undo previous change.
14864
14865 * editfns.c (Fconstrain_to_field): Don't constrain if
14866 inhibit-field-text-motion is non-nil.
14867 (Fline_beginning_position): Undo previous change.
14868 (Fline_end_position): Ditto.
14869
14870 * syntax.c (Fforward_word): Notice field boundaries only if
14871 inhibit-field-text-motion is nil.
14872
14873 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14874
14875 * editfns.c (Vinhibit_field_text_motion): New variable.
14876 (inhibit-field-text-motion): New DEFVAR_LISP.
14877 (Fline_beginning_position, Fline_end_position): Notice field
14878 boundaries only if inhibit-field-text-motion is nil.
14879
14880 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14881 All calls adjusted.
14882 (x_build_heuristic_mask): Likewise.
14883 (xbm_load_image_from_file): Change error output.
14884 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14885 (gif_load, gs_load, x_kill_gs_process): Ditto.
14886
14887 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14888 color indices when accessing raster pixels.
14889 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14890 one of :file or :data.
14891 (enum pbm_keyword_index): Add PBM_DATA.
14892 (pbm_format): Add :data.
14893 (pbm_image_p): Allow either :file or :data.
14894 (pbm_read_file): New function.
14895 (pbm_scan_number): Rewritten to read from string.
14896 (pbm_load): Support :data.
14897
14898 See ChangeLog.8 for earlier changes.
14899
14900 ;; Local Variables:
14901 ;; coding: iso-2022-7bit
14902 ;; End:
14903
14904 Copyright (C) 2001 Free Software Foundation, Inc.
14905 Copying and distribution of this file, with or without modification,
14906 are permitted provided the copyright notice and this notice are preserved.