Split the __hpux conditional into the parts
[bpt/emacs.git] / src / ChangeLog
... / ...
CommitLineData
12001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * macros.c, msdos.c, w16select.c: Change doc-string comments to
4 `new style' [w/`doc:' keyword].
5
62001-12-10 Jason Rumney <jasonr@gnu.org>
7
8 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
9 before using.
10
112001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
12
13 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
14 keyword].
15
162001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
17
18 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
19
20 * s/hpux10.h (srand48): Don't undefine.
21
222001-12-09 Jason Rumney <jasonr@gnu.org>
23
24 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
25 comment to explain where the struct came from.
26 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
27 (add_menu_item): Process pop-up menus first to avoid memory leak.
28 (add_menu_item, w32_menu_display_help): Use `help' field as
29 Lisp_Object.
30 (w32_free_submenu_strings): Only free owner-drawn strings.
31
322001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
33
34 * COPYING: Moved back.
35
36 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
37 Add parentheses around && within ||.
38
39 * indent.c (compute_motion): Likewise.
40
41 * intervals.c (merge_properties_sticky): Likewise.
42
43 * coding.c (setup_coding_system, shrink_encoding_region)
44 (Fdecode_sjis_char): Likewise.
45
462001-12-07 Andreas Schwab <schwab@suse.de>
47
48 * xdisp.c (display_mode_element): Don't read past end of string if
49 it ends with '%'.
50
51 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
52 can hold.
53
54 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
55 from most_positive_fixnum and most_negative_fixnum, resp., and
56 type changed to Lisp_Object.
57 (syms_of_data): DEFVAR_LISP them.
58
592001-12-07 Richard M. Stallman <rms@gnu.org>
60
61 * callproc.c (init_callproc): Set Vdata_directory based on the source
62 location whenever Emacs was run uninstalled.
63
642001-12-06 Paul Eggert <eggert@twinsun.com>
65
66 * config.in (HAVE_WORKING_VFORK): New #undefs.
67 * process.c (create_process):
68 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
69 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
70 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
71 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
72 * m/intel386.h (HAVE_VFORK): Likewise.
73 * m/mips-siemens.h (HAVE_VFORK): Likewise.
74 * m/mips.h (HAVE_VFORK): Likewise.
75 * s/freebsd.h (vfork): Remove #define.
76 * s/lynxos.h (HAVE_VFORK): Remove #undef.
77 * s/usg5-4-2.h: Fix comment about vfork.
78
792001-12-06 Richard M. Stallman <rms@gnu.org>
80
81 * s/hpux10.h (random): Add undef.
82 (HAVE_RANDOM): Define it just once.
83
842001-12-06 Stefan Monnier <monnier@cs.yale.edu>
85
86 * eval.c: Undo last change: the standard syntax is not wanted.
87
882001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
89
90 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
91 scroll bars of the frame before deleting the frame itself. If the
92 frame has a widget, delete the frame with XtDestroyWidget, and do
93 not call XDestroyWindow before that.
94
952001-12-06 Kim F. Storm <storm@cua.dk>
96
97 * xfns.c (x_report_frame_params): Return actual fringe widths.
98
99 * w32fns.c (x_report_frame_params): Return actual fringe widths.
100
1012001-12-05 Andrew Innes <andrewi@gnu.org>
102
103 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
104 excessively large.
105
106 * insdel.c (make_gap_larger): New function.
107 (make_gap_smaller): New function.
108 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
109 make_gap_smaller if arg is negative.
110
1112001-12-04 Stefan Monnier <monnier@cs.yale.edu>
112
113 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
114 Pass a dummy argument when calling interrupt_signal.
115 (parse_menu_item): Mark disabled items before checking for empty def.
116 (read_char_minibuf_menu_prompt): Make safety more visible.
117 (read_key_sequence): Add a `first_unbound' variable.
118 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
119 unbound prefix as soon as we can detect it.
120
121 * doc.c (Fsnarf_documentation): Add prototype.
122 (get_doc_string): Handle negative arguments.
123 (Fdocumentation): Use AREF and ASIZE.
124 Move the calls to get_doc_string to a single place.
125 Don't confuse an interactive-spec for a docstring reference.
126 (Fdocumentation_property): Take advantage of the fact that
127 get_doc_string now ignores the sign of the docstring position.
128
129 * eval.c: Use standard syntax for usage in docstrings.
130
1312001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
132
133 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
134
1352001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
136
137 * xterm.c (x_draw_image_relief): Use predefined macro instead of
138 constant when the value of `tool_bar_button_relief' is negative.
139
1402001-12-02 Richard M. Stallman <rms@gnu.org>
141
142 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
143 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
144
145 * fileio.c (read_non_regular): Delete Fsignal call.
146
1472001-12-01 Stefan Monnier <monnier@cs.yale.edu>
148
149 * lisp.h (run_hook_list_with_args): Undo last change.
150
1512001-12-01 Gerd Moellmann <gerd@gnu.org>
152
153 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
154
1552001-12-01 Jason Rumney <jasonr@gnu.org>
156
157 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
158
159 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
160 [!WM_MOUSELEAVE]: Define.
161
162 * w32menu.c (current_popup_menu, get_menu_item_info):
163 (set_menu_item_info): New vars.
164 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
165 (w32_menu_show): Set current_popup_menu.
166 (add_menu_item): Allocate new strings for owner-drawn menu items
167 and help strings.
168 Use owner-draw for disabled menu items again.
169 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
170 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
171
172 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
173 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
174 <WM_EXITMENULOOP>: Free menu strings.
175 <WM_MOUSELEAVE>: Stop tracking mouse.
176 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
177
178 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
179 and mouse face.
180
1812001-12-01 Kim F. Storm <storm@cua.dk>
182
183 The following changes add left-fringe and right-fringe
184 frame parameters to adjust fringe widths, or remove one or
185 both fringes.
186
187 * frame.h (struct frame): Remove trunc_area_pixel_width and
188 trunc_area_cols fields.
189 (Qleft_fringe, Qright_fringe): Declare.
190 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
191
192 * frame.c (Qleft_fringe, Qright_fringe): New vars.
193 (syms_of_frame): Initialize them.
194
195 * window.c (coordinates_in_window): Handle separate left and right
196 fringe widths.
197
198 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
199 and fringe_cols fields.
200 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
201 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
202 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
203 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
204 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
205 (x_compute_fringe_widths): Add prototype.
206
207 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
208 fill fringe evenly with small dashes.
209 (x_draw_fringe_bitmap): Clear background if necessary. Align and
210 clip the new ZV bitmap to avoid jitter between rows.
211 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
212 background. Don't draw fringe bitmaps if fringe width is zero.
213 (x_compute_fringe_widths): New function.
214 (x_new_font, x_set_window_size_1): Use it.
215
216 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
217 (x_set_frame_parameters): Process Process `font' parameter before other
218 parameters as fringe widths depend on it.
219 (x_set_fringe_width): New function.
220 (x_figure_window_size): Use x_compute_fringe_widths.
221 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
222 parameters.
223
224 * widget.c (set_frame_size): Use x_compute_fringe_widths.
225 (EmacsFrameSetCharSize): Ditto.
226
227 * w32term.h: Merged changes from xterm.h.
228 * w32term.c: Merged changes from xterm.c.
229 * w32fns.c: Merged changes from xfns.c.
230
2312001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
232
233 * COPYING: Removed.
234
2352001-11-29 Dave Love <fx@gnu.org>
236
237 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
238 extra extra slot.
239 (detect_coding_mask): Fix call of detect_coding_iso2022.
240
2412001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
242
243 * fileio.c (file-name-coding-system)
244 (default-file-name-coding-system): Doc fix (links to referenced
245 variables added).
246
2472001-11-28 Stefan Monnier <monnier@cs.yale.edu>
248
249 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
250 Add dummy uses of gcproN variables.
251
252 * category.c (describe_category, describe_category_1)
253 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
254 (syms_of_category): Don't defsubr Sdescribe_categories.
255
2562001-11-28 Richard M. Stallman <rms@gnu.org>
257
258 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
259
260 * Makefile.in (lispdir): New variable, referring to build dir.
261 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
262
2632001-11-28 Andrew Innes <andrewi@gnu.org>
264
265 * w32menu.c (w32_menu_display_help): Actually add the new argument
266 OWNER.
267
2682001-11-28 Jason Rumney <jasonr@gnu.org>
269
270 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
271 menu items. From David Ponce <dponce@wanadoo.fr>.
272 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
273 conditionally.
274 (w32_menu_display_help): New argument OWNER. Rewritten to store a
275 help event in the owner frame's keyboard buffer.
276
277 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
278 (Fx_show_tip): Don't subtract last width from row width.
279
280 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
281 (w32_read_socket): Use EQ to compare frames.
282
2832001-11-28 Gerd Moellmann <gerd@gnu.org>
284
285 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
286 OVERLAPS_P.
287
2882001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
289
290 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
291 `gcpro3' and `gcpro4'.
292
293 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
294
2952001-11-28 Stefan Monnier <monnier@cs.yale.edu>
296
297 * ccl.c: Use AREF and ASIZE.
298
2992001-11-27 Stefan Monnier <monnier@cs.yale.edu>
300
301 * lisp.h (run_hook_list_with_args): Remove.
302 (LIST_END_P): Fix call to wrong_type_argument.
303 (make_fixnum_or_float): Use EMACS_INT rather than int.
304
3052001-11-26 Stefan Monnier <monnier@cs.yale.edu>
306
307 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
308 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
309
310 * eval.c: Use AREF and ASIZE.
311 (Ffetch_bytecode): Add the file name to the error message.
312
313 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
314 which match the end of the file-name.
315 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
316 is not a valid env var, but leave it as is instead.
317
318 * keymap.c (access_keymap): Handle t bindings like nil bindings.
319 Make nil bindings in char-tables transparent.
320 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
321
3222001-11-26 Richard M. Stallman <rms@gnu.org>
323
324 * textprop.c (set_text_properties_1): Allow START, END in either order.
325 Do nothing if range is empty.
326
327 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
328
329 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
330 (clean): Not here.
331
3322001-11-25 Stefan Monnier <monnier@cs.yale.edu>
333
334 * textprop.c (set_text_properties_1): Clearly mark that the
335 interval should not be empty.
336
337 * intervals.c (graft_intervals_into_buffer):
338 Don't call set_text_properties_1 on an empty interval.
339
3402001-11-25 Richard M. Stallman <rms@gnu.org>
341
342 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
343
344 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
345 don't lose the data in it.
346
3472001-11-25 Juanma Barranquero <lektu@terra.es>
348
349 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
350
351 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
352
353 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
354
3552001-11-25 Stefan Monnier <monnier@cs.yale.edu>
356
357 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
358
3592001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
360
361 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
362 Niemitalo <kon@iki.fi>.
363
3642001-11-25 Jason Rumney <jasonr@gnu.org>
365
366 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
367
368 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
369 (Fx_show_tip): Block input during frame creation.
370 (Fx_show_tip, Fx_hide_tip): Enable.
371
3722001-11-24 Richard M. Stallman <rms@gnu.org>
373
374 * lread.c (Fload): Detect recursive load error for more than 3
375 nestings of the same file.
376 (Vrecursive_load_depth_limit): Variable deleted.
377 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
378
3792001-11-24 Jason Rumney <jasonr@gnu.org>
380
381 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
382 mouse position if either left or top is not specified.
383
384 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
385 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
386 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
387 (my_create_tip_window): Assign tip_window.
388 (x_create_tip_frame): Use same defaults as X.
389 (compute_tip_xy): Remove unused variable. Use full screen width.
390 (Fx_show_tip): Do not double height. Call ShowWindow directly.
391
392 * w32term.c (x_after_update_window_line): Doc fix.
393 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
394 frames.
395 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
396
397 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
398 for all Windowed systems.
399
4002001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
401
402 * msdos.c (IT_clear_screen): If the frame's faces are not yet
403 realized, use the initial screen colors to clear the screen.
404
4052001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
406
407 * textprop.c (Fset_text_properties): Remove unused variables
408 `unchanged', `prev_changed', `s' and `len'.
409
410 * search.c (Freplace_match): Remove unused variable `inslen'.
411
412 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
413
4142001-11-22 Jason Rumney <jasonr@gnu.org>
415
416 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
417 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
418 (my_create_tip_window): New function.
419 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
420 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
421
4222001-11-20 Jason Rumney <jasonr@gnu.org>
423
424 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
425 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
426
427 * w32fns.c (Vw32_system_coding_system): Remove.
428 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
429
4302001-11-19 Stefan Monnier <monnier@cs.yale.edu>
431
432 * fileio.c (Fwrite_region): Move choose_write_coding_system to
433 after build_annotations.
434
435 * syntax.c (describe_syntax): Add dummy arg.
436 (describe_syntax_1): Update call to describe_vector.
437
438 * category.c (describe_category): Add dummy arg.
439 (describe_category_1): Update call to describe_vector.
440
441 * keymap.c (Fdescribe_vector): Add `describer' parameter.
442 (describe_command, describe_translation): Add dummy second param.
443 (describe_map): Call elt_describer with two arguments.
444 (describe_vector_princ): Add `fun' parameter.
445 Call it instead of the hardcoded `princ'.
446 (describe_vector): Add arg `args'.
447 Pass it as a new second argument to elt_describer.
448
449 * keymap.h (describe_vector): Update prototype.
450
451 * frame.c: Don't include keymap.h any more.
452 (keys_of_frame): Remove.
453
454 * lisp.h (keys_of_frame): Remove declaration.
455
456 * emacs.c (main): Don't call `keys_of_frame' any more.
457
4582001-11-14 Andreas Schwab <schwab@suse.de>
459
460 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
461 if defined, 0 otherwise.
462 (MAP_FAILED): Define if not defined and use it to test mmap failure.
463 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
464
4652001-11-19 Richard M. Stallman <rms@gnu.org>
466
467 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
468
4692001-11-18 Jason Rumney <jasonr@gnu.org>
470
471 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
472 (x_draw_bar_cursor): If the background color of the glyph under
473 the cursor equals the frame's cursor color, use the glyph's
474 foreground color for drawing the bar cursor.
475 (x_after_update_window_line): Clear internal border in different
476 circumstances.
477 (w32_set_vertical_scroll_bar): Check for width and height > 0.
478 (w32_draw_relief_rect): Correct relief by 1 pixel.
479 (x_set_glyph_string_background_width):
480 Set extends_to_end_of_line_p if the row's fill_line_p is set and
481 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
482 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
483 if cursor_in_non_selected_windows is false.
484 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
485 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
486 Notice if cursor gets overwritten.
487 (notice_overwritten_cursor): Renamed from
488 note_overwritten_text_cursor. Rewritten to take glyph widths
489 into account, and to take X positions as parameters.
490 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
491 around call to x_draw_glyphs.
492 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
493 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
494 color to use for image glyph reliefs.
495 (x_draw_image_relief): Accept zero tool_bar_button_relief.
496 (glyph_rect): Remove unused variable `area'.
497
498 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
499 some items.
500 (x_set_internal_border_width): Set frame garbaged when window
501 doesn't exist yet.
502 (Fx_create_frame): Accept zero tool_bar_button_relief.
503 (x_clear_image_1, four_corners_best, image_background)
504 (image_background_transparent): New functions.
505 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
506 (gs_format): Add `:background' entry.
507 (lookup_image): Set IMG's background color if specified.
508 (pbm_load, xbm_load_image, png_load): Set IMG's background field
509 when appropriate.
510 (x_clear_image_1): Reset `background_valid' and
511 `background_transparent_valid' fields.
512 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
513 calculating it here. Set IMG's background_transparent field.
514 (enum xpm_keyword_index): Add XPM_BACKGROUND.
515 (enum png_keyword_index): Add PNG_BACKGROUND.
516 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
517 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
518 (enum gif_keyword_index): Add GIF_BACKGROUND.
519 (enum gs_keyword_index): Add GS_BACKGROUND.
520 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
521 Pre-calculate image background color where necessary.
522 (x_create_x_image_and_pixmap, xbm_load, gs_load):
523 Use display info's n_cbits entry for screen depth.
524 (Fx_show_tip): Remove unused variables `buffer', `top',
525 `left', `max_width' and `max_height'.
526
527 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
528
5292001-11-18 Gerd Moellmann <gerd@gnu.org>
530
531 * puresize.h (BASE_PURESIZE): Increase to 750000.
532
5332001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
534
535 * frame.c (Fframe_live_p): Doc fix.
536
5372001-11-18 Richard M. Stallman <rms@gnu.org>
538
539 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
540 (message_dolog_marker3): New static variables hold three markers.
541 (syms_of_xdisp): Initialize and staticpro them.
542 (message_dolog): Use message_dolog_marker1..3 instead of
543 allocating markers each time. Unchain them when done.
544
5452001-11-17 Richard M. Stallman <rms@gnu.org>
546
547 * doc.c (Fsnarf_documentation): Doc fix.
548
5492001-11-17 Andreas Schwab <schwab@suse.de>
550
551 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
552
5532001-11-17 Richard M. Stallman <rms@gnu.org>
554
555 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
556
5572001-11-17 Jason Rumney <jasonr@gnu.org>
558
559 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
560
5612001-11-17 Gerd Moellmann <gerd@gnu.org>
562
563 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
564 with invalid position.
565
5662001-11-16 Richard M. Stallman <rms@gnu.org>
567
568 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
569
570 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
571 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
572 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
573
574 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
575
5762001-11-16 Stefan Monnier <monnier@cs.yale.edu>
577
578 * fileio.c (build_annotations): Split off the tail.
579 (build_annotations_2): New fun. Extracted from build_annotations.
580 (Fwrite_region): Split the call to build_annotations into two
581 calls to build_annotations and build_annotations_2.
582
5832001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
584
585 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
586 clear_waiting_for_input with argument.
587
588 * xterm.h (x_update_cursor): Remove duplicated prototype.
589
590 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
591
592 * xterm.c (waiting_for_input): Remove unnecessary declaration.
593
594 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
595
5962001-11-16 Stefan Monnier <monnier@cs.yale.edu>
597
598 * fileio.c (choose_write_coding_system): New fun, extracted
599 from Fwrite_region.
600 (Fwrite_region): Use it.
601
602 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
603 (funcall_lambda, run_hook_with_args): Make static and add prototype.
604 (ml_apply, find_handler_clause): Add prototype.
605
6062001-11-16 Eli Zaretskii <eliz@gnu.org>
607
608 * config.in: Add #undef HAVE_COFF_H.
609
610 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
611 Required for ISC 4.1.
612
6132001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
614
615 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
616 Andrew Wiseman <a.wiseman@btclick.com>.
617
6182001-11-16 Kim F. Storm <storm@cua.dk>
619
620 The following changes are made to clean up the various internal
621 references to the fringes to actually use the term `fringe' for
622 them. Previously, they were called `flags areas', `bitmap areas',
623 `left/right side of windows', or implicitly as `flags' or
624 `bitmaps':
625
626 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
627 Comments fixed. Use renamed symbols.
628
629 * dispnew.c: Comment fix. Use renamed symbols.
630
631 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
632 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
633 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
634
635 * msdos.c: Comment fix.
636
637 * w32fns.c: Use renamed symbols.
638
639 * w32term.c: Comment fixes. Use renamed symbols.
640 (fringe_bitmap_type): Renamed from bitmap_type.
641 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
642 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
643 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
644
645 * w32term.h: Comment fixes. Use renamed symbols.
646 (fringes_extra): Renamed from flags_areas_extra.
647 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
648 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
649 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
650 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
651 (FRAME_X_LEFT_FRINGE_WIDTH):
652 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
653 (FRAME_X_RIGHT_FRINGE_WIDTH):
654 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
655
656 * widget.c: Use renamed symbols.
657
658 * window.c: Comment fixes. Use renamed symbols.
659 (coordinates-in-window-p): Doc fix.
660
661 * xdisp.c: Comment fixes. Use renamed symbols.
662
663 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
664
665 * xfns.c: Use renamed symbols.
666
667 * xterm.c: Comment fixes. Use renamed symbols.
668 (fringe_bitmap_type): Renamed from bitmap_type.
669 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
670 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
671 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
672
673 * xterm.h: Comment fixes. Use renamed symbols.
674 (fringes_extra): Renamed from flags_areas_extra.
675 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
676 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
677 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
678 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
679 (FRAME_X_LEFT_FRINGE_WIDTH):
680 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
681 (FRAME_X_RIGHT_FRINGE_WIDTH):
682 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
683
6842001-11-15 Jason Rumney <jasonr@gnu.org>
685
686 * w32menu.c (add-menu-item): Make help_echo and radio buttons
687 work for most menu items. From David Ponce
688 <david.ponce@wanadoo.fr>.
689
6902001-11-15 Gerd Moellmann <gerd@gnu.org>
691
692 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
693 Some x_set_* function expect to be called even if old and new
694 value are equal.
695
696 * xdisp.c (build_desired_tool_bar_string): Accept zero
697 tool_bar_button_relief.
698
699 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
700
701 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
702
703 * xterm.c (x_draw_bar_cursor): If the background color of the
704 glyph under the cursor equals the frame's cursor color, use
705 the glyph's foreground color for drawing the bar cursor.
706
707 * dispnew.c (direct_output_forward_char): Fix character/byte
708 position comparison.
709
7102001-11-15 Miles Bader <miles@gnu.org>
711
712 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
713 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
714 Update arguments to find_field.
715 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
716 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
717 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
718 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
719
7202001-11-14 Richard M. Stallman <rms@gnu.org>
721
722 * editfns.c (Fpropertize): Allow call with 1 arg.
723
724 * dispextern.h (image_background, image_background_transparent):
725 Conditionalize on HAVE_X_WINDOWS.
726
7272001-11-13 Richard M. Stallman <rms@gnu.org>
728
729 * print.c (Fprin1_to_string): Doc fix.
730
731 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
732
733 * floatfns.c (Fceiling, Ffloor): Doc fixes.
734
735 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
736
737 * fileio.c (Ffile_accessible_directory_p): Doc fix.
738
739 * eval.c (syms_of_eval): Doc fix.
740
741 * coding.c (syms_of_coding): Doc fix.
742
743 * doc.c (Fsnarf_documentation): Doc fix.
744
745 * dispnew.c (syms_of_display): Doc fix.
746
747 * category.c (Fget_unused_category): Doc fix.
748
749 * buffer.c (syms_of_buffer): Doc fixes.
750
7512001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
752
753 * print.c (prin1, print): Doc fix.
754
7552001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
756
757 * fontset.h: Remove declarations of variables
758 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
759
760 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
761 `Vclip_large_size_font'.
762
7632001-11-13 Jason Rumney <jasonr@gnu.org>
764
765 * w32fns.c: Doc fix.
766
7672001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
768
769 * xfaces.c (Fface_attributes_as_vector): Doc fix.
770
771 * w32fns.c (Fx_synchronize): Reindent.
772
773 * fns.c: Doc fix.
774
775 * emacs.c: Doc fix.
776
777 * coding.c: Doc fix.
778
779 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
780 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
781 `new style' [w/`doc:' keyword].
782
783 * xmenu.c (x-popup-menu): Reindent.
784 (x-popup-dialog): Likewise.
785
786 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
787
788 * xdisp.c (Fdump_tool_bar_row): Reindent.
789
790 * minibuf.c (Fminibuffer_complete_word): Reindent.
791 (Fminibuffer_complete_and_exit): Likewise.
792 (Fminibuffer_completion_help): Likewise.
793 (Fminibuffer_message): Likewise.
794
795 * fns.c (Freverse): Reindent.
796
797 * eval.c (Fif): Reindent.
798 (Fand): Likewise.
799
800 * editfns.c (Fuser_real_login_name): Reindent.
801 (Finsert_buffer_substring): Likewise.
802 (Fcompare_buffer_substrings): Likewise.
803 (Fsubst_char_in_region): Likewise.
804
805 * dispnew.c (Fsit_for): Reindent.
806 (Fframe_or_buffer_changed_p): Likewise.
807 (Finternal_show_cursor_p): Likewise.
808 (syms_of_display): Likewise.
809
810 * alloc.c (Flist): Reindent.
811 (Fvector): Likewise.
812
8132001-11-12 Richard M. Stallman <rms@gnu.org>
814
815 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
816 LeaveNotify events. Only FocusIn and FocusOut do that now.
817 (x_display_and_set_cursor): Do display hollow cursors in active
818 minibuffer windows when they are not selected.
819
8202001-11-12 Jason Rumney <jasonr@gnu.org>
821
822 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
823 * w32term.c: Change doc-string comments to `new style'.
824 [w/`doc:' keyword]. Doc fixes.
825
826 * w32fns.c: Don't define max.
827 (Fx_open_connection): Only execute once.
828
8292001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
830
831 * ccl.c: Change macros to use do-while block instead of if-else.
832 Use braces to follow GNU Coding Standards.
833
8342001-11-11 Richard M. Stallman <rms@gnu.org>
835
836 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
837
838 * lread.c (read_escape): Use end_of_file_error for reporting eof.
839
840 * insdel.c (replace_range): Use adjust_markers_for_replace
841 instead of adjust_markers_for_delete and adjust_markers_for_insert.
842
843 * intervals.h: Declare set_text_properties and set_text_properties_1.
844
845 * textprop.c (set_text_properties_1): New subroutine
846 broken out of set_text_properties.
847 (set_text_properties): Use set_text_properties_1.
848
849 * intervals.c (graft_intervals_into_buffer):
850 Use set_text_properties_1 to clear out properties.
851
852 * search.c (Freplace_match): Use replace_range to insert
853 and delete. Don't request property inheritance from
854 surrounding text.
855
8562001-11-10 Jason Rumney <jasonr@gnu.org>
857
858 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
859 vertical fonts. Allow them if face name is explicitly specified.
860 Do not give up if we find a font that cannot be converted to an xlfd.
861
8622001-11-10 Gerd Moellmann <gerd@gnu.org>
863
864 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
865 instead of malloc/free.
866
8672001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
868
869 * xfaces.c (merge_face_vectors): Use braces to follow GNU
870 Coding Standards.
871 (Finternal_set_lisp_face_attribute): Likewise.
872
873 * buffer.c (Fbury_buffer): Likewise.
874
875 * indent.c (current_column_1): Remove unused variable `prev_col'.
876
877 * coding.c (encode_coding): Use precomputed value of `src'.
878 (encode_coding): Remove unused variable `src_end'.
879 (code_convert_region): Remove unused variables `count'.
880
8812001-11-07 Jason Rumney <jasonr@gnu.org>
882
883 * w32term.c (x_display_and_set_cursor): Do not move system caret
884 if cursor_glyph is NULL.
885
8862001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
887
888 * keymap.c (access_keymap): Fix compilation error.
889
8902001-11-07 Miles Bader <miles@gnu.org>
891
892 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
893
8942001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
895
896 * intervals.c (graft_intervals_into_buffer):
897 Remove #ifdef'd-out code.
898 (graft_intervals_into_buffer): Remove unused variable `middle'.
899
900 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
901 code (eval-current-buffer).
902 Change doc-string comments to `new style' [w/`doc:' keyword].
903
9042001-11-06 Richard M. Stallman <rms@gnu.org>
905
906 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
907
9082001-11-06 Stefan Monnier <monnier@cs.yale.edu>
909
910 * lread.c (read1): Fix behavior with nested backquoting.
911
912 * keyboard.c (make_lispy_event): Check integerness and fix
913 Lisp_Object/int mixup.
914
9152001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
916
917 * fns.c (copy_hash_table): Remove unused variable `v'.
918
919 * fontset.c (fontset_font_pattern): Remove unused variable
920 `family_registry'.
921
922 * indent.c (current_column_1): Remove unused variable `prev_col'.
923
9242001-11-05 Richard M. Stallman <rms@gnu.org>
925
926 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
927
928 * buffer.c (Fkill_buffer): Don't delete auto save file
929 if buffer is modified.
930
9312001-11-05 Andrew Innes <andrewi@gnu.org>
932
933 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
934 CHECK_NUMBER_CDR.
935
9362001-11-05 Richard M. Stallman <rms@gnu.org>
937
938 * unexelf.c (unexec): Minor changes; clean up comments.
939
9402001-11-05 Sam Steingold <sds@gnu.org>
941
942 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
943
9442001-11-05 Andreas Schwab <schwab@suse.de>
945
946 * sound.c (sound_perror): Save errno from being clobbered.
947
9482001-11-05 Dale Hagglund <rdh@yottayotta.com>
949
950 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
951 the program image directly.
952
9532001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
954
955 * buffer.h (Fbuffer_local_value): Add prototype.
956
9572001-11-04 Richard M. Stallman <rms@gnu.org>
958
959 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
960 and CHECK_BUFFER.
961
962 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
963 (record_char): Likewise.
964
965 * keyboard.c (make_lispy_event): Don't insist a drag event must
966 move to a different buffer position. Instead, check for moving at
967 least double_click_fuzz.
968
969 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
970
971 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
972
973 * indent.c (current_column_1, Fmove_to_column): Separate the code
974 for display-table glyphs from the code buffer text, to fix
975 bugs in the former.
976
9772001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
978
979 * buffer.c (Fbuffer_local_value): New function.
980 (syms_of_buffer): Defsubr it.
981
982 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
983 value of `cursor-in-non-selected-windows'.
984
985 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
986 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
987 (syms_of_xdisp): Initialize it.
988
9892001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
990
991 * xfns.c (Fx_create_frame): Doc fix.
992
993 * coding.c: Change doc-string comments to `new style' [w/`doc:'
994 keyword].
995
996 * eval.c (top_level_value, top_level_set): Remove commented and
997 #ifdef'd-out code.
998 (Fdefvar): Fix usage in doc-string.
999
10002001-11-03 Richard M. Stallman <rms@gnu.org>
1001
1002 * xfns.c: Include unistd.h, if it exists.
1003
1004 * editfns.c: Move the include of ctype.h after unistd.h.
1005
1006 * gmalloc.c: Test BROKEN_PROTOTYPES.
1007
10082001-11-03 Ken Raeburn <raeburn@gnu.org>
1009
1010 * lisp.h (CHECK_STRING_CAR): New macro.
1011 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1012 treating XCAR and XCDR as lvalues.
1013 (openp): Use CHECK_STRING_CAR.
1014 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1015
10162001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1017
1018 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
1019 (SIGMASKTYPE): Define.
1020
1021 * syssignal.h (sigunblock): Don't define if already defined.
1022
10232001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1024
1025 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1026 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1027 Fix typos in comments.
1028
1029 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1030 and #ifdef'd-out code.
1031 Fix and reindent comments.
1032
1033 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
1034
1035 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1036 argument `i' in macros.
1037
1038 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1039 `i' in macros.
1040
1041 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1042 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1043 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1044 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1045 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1046 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1047 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1048 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
1049 in macros.
1050
1051 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1052 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1053 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1054 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1055 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1056 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1057 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1058 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1059 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1060 (remove unused second argument).
1061
10622001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1063
1064 * syntax.c (describe_syntax): New wrapper.
1065 (Finternal_describe_syntax_value): Rename from describe_syntax.
1066 Don't insert space at front and \n at the end.
1067 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1068
1069 * regex.c (re_wctype): Try to fix some warnings.
1070 (regcomp, regexec): Don't forget the __restrict.
1071
10722001-11-02 Richard M. Stallman <rms@gnu.org>
1073
1074 * textprop.c (Fget_char_property): Doc fix.
1075
10762001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1077
1078 * process.c (Fstart_process): Add usage to doc-string.
1079
1080 * data.c (Fsetq_default): Ditto.
1081
1082 * callint.c (Finteractive): Ditto.
1083
10842001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1085
1086 * macros.c: Don't include keymap.h any more.
1087
10882001-11-01 Richard M. Stallman <rms@gnu.org>
1089
1090 * data.c (Fmake_local_variable): Doc fix.
1091
1092 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1093 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1094
1095 * keymap.c (Fdescribe_buffer_bindings): Print character property
1096 bindings along with or instead of the buffer local map.
1097 Make the overriding maps override what they should.
1098
10992001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1100
1101 * window.c (grow_mini_window): Fix typo in comment.
1102
11032001-11-01 Gerd Moellmann <gerd@gnu.org>
1104
1105 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1106 (XTset_vertical_scroll_bar): Likewise.
1107
1108 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1109 instead of IMAGE_BACKGROUND.
1110
1111 * xfns.c (four_corners_best): Reindent.
1112
1113 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
1114 Handle :box so that it is possible to specify sexprs.
1115
11162001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1117
1118 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1119 (Fface_font): Ditto.
1120 (Finternal_set_alternative_font_registry_alist): Ditto.
1121 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1122
1123 * xfns.c (x-get-resource): Reindent.
1124
11252001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1126
1127 * s/hpux11.h: New file.
1128
11292001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1130
1131 * emacs.c (USAGE1): Show command line option --no-window-system
1132 instead of --no-windows in usage.
1133 (standard_args): Rename --no-windows to --no-window-system.
1134 (bug_reporting_address): Follow Emacs coding conventions.
1135
1136 * eval.c (Fcommandp): Doc fix.
1137 Change doc-string comments to `new style' [w/`doc:' keyword].
1138
1139 * frame.c (Fframe_live_p): Doc fix.
1140
1141 * buffer.c (selective-display-ellipses): Doc fix.
1142
11432001-10-31 Gerd Moellmann <gerd@gnu.org>
1144
1145 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1146
1147 * xfaces.c (realize_x_face): If C is not a single-byte character,
1148 set the face's colors_copied_bitwise_p instead of the defaulted_p
1149 members which have a different meaning.
1150 (free_face_colors): Do nothing for a face whose colors have been
1151 copied bitwise.
1152
1153 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
1154
11552001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1156
1157 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1158 [w/`doc:' keyword].
1159
11602001-10-31 Gerd Moellmann <gerd@gnu.org>
1161
1162 * fns.c (require_unwind): Return Lisp_Object.
1163
11642001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1165
1166 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1167 (last-input-char): Revert doc-string to be the same as the
1168 doc-string of `last-input-event'.
1169
1170 * xdisp.c: Fix typos in comments.
1171
11722001-10-31 Gerd Moellmann <gerd@gnu.org>
1173
1174 * window.c (grow_mini_window): Handle case that the root
1175 window is already smaller than the nominal mininum height.
1176
11772001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1178
1179 * emacs.c (main): Don't call keys_of_macros any more.
1180
1181 * lisp.h (keys_of_macros): Remove.
1182
1183 * macros.c (keys_of_macros): Remove.
1184
1185 * xfaces.c (Fface_attribute_relative_p): Declare args.
1186
11872001-10-30 Jason Rumney <jasonr@gnu.org>
1188
1189 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1190 (enum_font_cb2): Ignore fonts with vertical orientation.
1191
11922001-10-30 Richard M. Stallman <rms@gnu.org>
1193
1194 * keyboard.c (Finput_pending_p): Doc fix.
1195
11962001-10-30 Gerd Moellmann <gerd@gnu.org>
1197
1198 * xterm.c (x_after_update_window_line): Don't run the code
1199 clearing in borders for rows whose visible height is 0.
1200
1201 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1202 resized_p flag is set. If not set, use the much less flickering
1203 method previously used.
1204
1205 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1206
1207 * frame.h (struct frame) <resized_p>: New member.
1208
1209 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1210 as large as the number of bytes to convert.
1211
1212 * lread.c (to_multibyte): New function.
1213 (read1): Use it.
1214
12152001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1216
1217 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1218
12192001-10-30 Gerd Moellmann <gerd@gnu.org>
1220
1221 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
1222 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1223 if the row's fill_line_p is set and drawing the last glyph with
1224 DRAW_IMAGE_{RAISED,SUNKEN}.
1225
1226 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1227
12282001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1229
1230 * xmenu.c: Include coding.h and charset.h.
1231 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1232 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1233 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1234 Explicitly set wv->help. Use `TRUE' rather than `True'.
1235 (menu_help_callback): Use empty_string.
1236
1237 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1238 (Fx_popup_dialog): Explicitly init f.
1239 (w32_menu_display_help): Use empty_string.
1240
12412001-10-29 Richard M. Stallman <rms@gnu.org>
1242
1243 * fns.c (Frequire): Detect recursive try to require the same
1244 feature 3 or more levels deep, and get error.
1245 (require_unwind): New subroutine.
1246 (require_nesting_list): New variable.
1247 (syms_of_fns): Init and staticpro it.
1248
1249 * print.c (print_object): Clarify indication of insertion type.
1250
12512001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1252
1253 * coding.c (syms_of_coding): Document that locale-coding-system is
1254 used for decoding input on X.
1255
1256 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1257
12582001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1259
1260 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1261 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1262
12632001-10-29 Gerd Moellmann <gerd@gnu.org>
1264
1265 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1266 use NO_CURSOR if cursor_in_non_selected_windows is false.
1267
1268 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1269 the slant attribute if FRAME is t.
1270
1271 * xfns.c (x_set_internal_border_width): Set frame garbaged
1272 when X window doesn't exist yet.
1273
1274 * xterm.c (x_after_update_window_line): Clear internal border
1275 in different circumstances.
1276
1277 * xterm.c (XTread_socket) <KeyPress>: Don't use
1278 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1279 <handa@etl.go.jp>.
1280
12812001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1282
1283 * m/ibms390.h: New file. From Adam Thornton
1284 <athornton@sinenomine.net>.
1285
12862001-10-28 Gerd Moellmann <gerd@gnu.org>
1287
1288 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
1289
1290 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1291 a loop counter.
1292
12932001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1294
1295 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1296
1297 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1298 keyword].
1299 Fix typos in comments.
1300
1301 * emacs.c (bug_reporting_address): New function.
1302 Use it when displaying usage message.
1303
1304 * minibuf.c (read_minibuf): Remove unused external declaration of
1305 variable `Qread_only'.
1306
1307 * keymap.c (access_keymap): Remove unused variable `charset'.
1308
13092001-10-28 Miles Bader <miles@gnu.org>
1310
1311 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1312 Remove #ifdef'd-out code.
1313 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1314 (syms_of_xfaces): Initialize them.
1315
13162001-10-27 Jason Rumney <jasonr@gnu.org>
1317
1318 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1319 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1320 position using the system caret.
1321
1322 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1323 (w32_system_caret_height, w32_system_caret_x)
1324 (w32_system_caret_y): New variables for tracking system caret.
1325 (w32_initialize): Initialize them.
1326 (x_display_and_set_cursor): Make system caret follow the active cursor.
1327
1328 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1329 New messages types.
1330
1331 * w32term.c (note_mouse_highlight): Clear old help_echo.
1332
13332001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1334
1335 * xterm.c: Fix typo in a comment.
1336
1337 * emacs.c: Fix typos in comments.
1338 Remove unnecessary spaces.
1339 Change doc-string comments to `new style' [w/`doc:' keyword].
1340 (USAGE2): Fix typos in usage string.
1341
1342 * xterm.c: Fix typo in a comment.
1343
1344 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1345 emacs.c.
1346
13472001-10-27 Gerd Moellmann <gerd@gnu.org>
1348
1349 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
1350 instead of 1/2 line_height in the heuristic for skipping
1351 farther backward when target_y was not reached.
1352
1353 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1354 Display errno only if non-zero.
1355 (sound_warning): New function.
1356 (vox_configure): Don't treat failing to set sample rate as error.
1357 (various places): Improve error messages.
1358
13592001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1360
1361 * fileio.c (Faccess_file): Run the argument filename through
1362 Fexpand_file_name, before using it.
1363
1364 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1365 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1366
13672001-10-26 Gerd Moellmann <gerd@gnu.org>
1368
1369 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1370
1371 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1372 Fix clearing in the case of scroll bars on the right.
1373
13742001-10-26 Juanma Barranquero <lektu@terra.es>
1375
1376 * w32gui.h (XImage): Add a dummy typedef.
1377
13782001-10-26 Gerd Moellmann <gerd@gnu.org>
1379
1380 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
1381
13822001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1383
1384 * frame.c (Fframe_parameter): Fix last change.
1385
1386 * fileio.c: Revert last change (which removed old commented-out
1387 version of expand-file-name). Add a comment that explains why
1388 this old version should not be removed.
1389
13902001-10-25 Gerd Moellmann <gerd@gnu.org>
1391
1392 * frame.c (Fframe_parameter): Fix a bug whereby some
1393 ``artificial'' frame parameters, like `minibuffer' were not
1394 obtained by calling Fframe_parameters.
1395
1396 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1397 cursor differently.
1398
1399 * xdisp.c (move_it_vertically_backward): Compute line height
1400 differently. Add heuristic to try to be more compatible to 20.x.
1401
14022001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1403
1404 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1405
1406 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1407 boolean.
1408
14092001-10-25 Miles Bader <miles@gnu.org>
1410
1411 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1412 BG is a pointer to a structure, not a structure.
1413 (gif_format, png_format): Add missing commas.
1414
14152001-10-24 Richard M. Stallman <rms@gnu.org>
1416
1417 * xfaces.c (Fface_attributes_as_vector): New function.
1418 (syms_of_xfaces): Defsubr it.
1419
14202001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1421
1422 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1423 variable `area'.
1424
14252001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1426
1427 * search.c (scan_newline): Remove unused variable `selective_display'.
1428
14292001-10-25 Miles Bader <miles@gnu.org>
1430
1431 * dispextern.h (struct image): Add `background',
1432 `background_valid', and `background_transparent' fields.
1433 (image_background, image_background_transparent): New declarations.
1434 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1435 * xfns.c (image_background, image_background_transparent)
1436 (four_corners_best): New functions.
1437 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1438 (gs_format): Add `:background' entry.
1439 (lookup_image): Set IMG's background color if specified.
1440 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1441 when appropriate.
1442 (x_clear_image_1): Reset `background_valid' and
1443 `background_transparent_valid' fields.
1444 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1445 calculating it here. Set IMG's background_transparent field.
1446 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1447 (enum png_keyword_index): Add PNG_BACKGROUND.
1448 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1449 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1450 (enum gif_keyword_index): Add GIF_BACKGROUND.
1451 (enum gs_keyword_index): Add GS_BACKGROUND.
1452 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1453 Pre-calculate image background color where necessary.
1454 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1455 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1456 color to use for image glyph reliefs.
1457
14582001-10-24 Gerd Moellmann <gerd@gnu.org>
1459
1460 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1461 in full-width rows.
1462
1463 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1464 Fix clearing of area not covered by scroll bar.
1465
14662001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1467
1468 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1469 and `real_start'.
1470 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
1471 (glyph_rect): Remove unused variable `area'.
1472
14732001-10-24 Gerd Moellmann <gerd@gnu.org>
1474
1475 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
1476
1477 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1478 (row_containing_pos): Take additional argument DY.
1479 Treat rows ending in middle of char differently.
1480 (display_line): Handle tabs on window systems differently.
1481
1482 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1483 with additional argument.
1484
1485 * dispextern.h (row_containing_pos): Adjust prototype.
1486
1487 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1488 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1489 (try_window_id, try_window_reusing_current_matrix)
1490 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1491 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1492
14932001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1494
1495 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1496 gnuemacs).
1497 (HAVE_BOXES): Fix typo in comment.
1498 (push_menu_pane): Fix typo in comment.
1499
1500 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1501 of `Qwhen'.
1502 (single_display_prop_string_p): Remove unused local declarations
1503 of `Qwhen' and `Qmargin'.
1504 (string_buffer_position): Remove unused variable `around'.
1505 (store_frame_title): Remove unused variable `width'.
1506
1507 * window.c: Don't define max.
1508 (coordinates_in_window): Remove unused variable `uy'.
1509
1510 * widget.c: Don't define max.
1511
1512 * process.c: Don't define max.
1513 (create_process): Remove unused variable `buffer'.
1514
15152001-10-23 Gerd Moellmann <gerd@gnu.org>
1516
1517 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
1518
15192001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1520
1521 * xfaces.c (Finternal_set_lisp_face_attribute)
1522 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1523 frame is on a windowed display.
1524
15252001-10-23 Gerd Moellmann <gerd@gnu.org>
1526
1527 * dispnew.c (sync_window_with_frame_matrix_rows):
1528 Fix handling of windows which aren't full-width, fix handling
1529 of marginal areas.
1530
1531 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
1532
15332001-10-23 Andreas Schwab <schwab@suse.de>
1534
1535 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1536 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1537
15382001-10-23 Gerd Moellmann <gerd@gnu.org>
1539
1540 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
1541 REAL_END. Notice if cursor gets overwritten.
1542 (notice_overwritten_cursor): Take X positions as parameters.
1543 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1544 around call to x_draw_glyphs.
1545
15462001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1547
1548 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1549 instead of C) and usage.
1550
1551 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1552 of C) and usage.
1553
1554 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1555 `left', `max_width' and `max_height'.
1556
15572001-10-23 Gerd Moellmann <gerd@gnu.org>
1558
1559 * xdisp.c (display_line): For a tab continued to the next line,
1560 set row's ends_in_middle_of_char_p.
1561
15622001-10-22 Gerd Moellmann <gerd@gnu.org>
1563
1564 * xdisp.c (display_line): Fix computation of continuation lines
1565 width for TABs.
1566
15672001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1568
1569 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1570 `Qlaplace'.
1571
1572 * fileio.c: Remove unused code.
1573
15742001-10-22 Miles Bader <miles@gnu.org>
1575
1576 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1577 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1578 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1579
15802001-10-21 Jason Rumney <jasonr@gnu.org>
1581
1582 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1583
15842001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1585
1586 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1587 (Finsert_string): Avoid the multi-line string literals warning.
1588
15892001-10-22 Miles Bader <miles@gnu.org>
1590
1591 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1592 (Fdocumentation): Don't use it.
1593 (syms_of_doc): Don't initialize it.
1594
1595 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1596 * print.c (Fwith_output_to_temp_buffer): Likewise.
1597 * window.c (Fsave_window_excursion): Likewise.
1598 * editfns.c (Fsave_excursion, Fsave_current_buffer)
1599 (Fsave_restriction): Likewise.
1600 * eval.c (Frun_hooks, Frun_hook_with_args)
1601 (Frun_hook_with_args_until_failure)
1602 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1603 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1604 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
1605 (Funwind_protect, Fcondition_case): Likewise.
1606 * coding.c (Ffind_operation_coding_system): Likewise.
1607 * keyboard.c (Ftrack_mouse): Likewise.
1608
16092001-10-21 Miles Bader <miles@gnu.org>
1610
1611 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
1612 (Fmake_hash_table): Add usage: string to doc string.
1613 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
1614 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
1615 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1616 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1617 (Fml_prefix_argument_loop): Likewise.
1618
16192001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1620
1621 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
1622
1623 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1624 style' [w/`doc:' keyword].
1625
1626 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1627 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1628 comments to `new style' [w/`doc:' keyword].
1629
16302001-10-21 Jason Rumney <jasonr@gnu.org>
1631
1632 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1633
1634 * w32term.c (remember_mouse_glyph): New function.
1635 (w32_mouse_position): Use it.
1636 (note_mouse_movement): If the mouse moved off the glyph, remember
1637 its new position.
1638
1639 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1640 (w32_display_info): Add mouse_face_overlay.
1641
1642 * w32term.c (notice_overwritten_cursor): Renamed from
1643 note_overwritten_text_cursor. Rewritten to take glyph widths into
1644 account.
1645 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1646 (fast_find_string_pos): New function.
1647 (fast_find_position): Return the correct vpos. Add parameter
1648 STOP. In the final row, stop before glyphs having STOP as object.
1649 Don't consider glyphs that are not from a buffer.
1650 (fast_find_position) [0]: Add a presumably more correct version
1651 for after 21.1.
1652 (expose_window_tree, expose_frame): Don't compute intersections here.
1653 (expose_window): Do it here instead.
1654 (expose_window_tree, expose_window, expose_line): Return 1 when
1655 overwriting mouse-face.
1656 (expose_window): If W is the window currently being updated, mark
1657 the frame garbaged.
1658 (expose_frame): If mouse-face was overwritten, redo it.
1659 (x_use_underline_position_properties): New variable.
1660 (syms_of_xterm): DEFVAR_BOOL it.
1661 (x_draw_glyph_string): Add comment to use it in future.
1662 (x_draw_glyph_string): Restore clipping after drawing box.
1663 Fix a computation of the underline position.
1664 (w32_get_glyph_string_clip_rect): Minor cleanup.
1665 (x_fill_stretch_glyph_string): Remove an assertion.
1666 (x_produce_glyphs): Don't convert multibyte characters
1667 to unibyte characters in unibyte buffers.
1668 (cursor_in_mouse_face_p): New function.
1669 (x_draw_stretch_glyph_string): Use it to choose a different GC
1670 when drawing a cursor within highlighted text. Don't draw
1671 background again if it has already been drawn.
1672 (x_draw_glyph_string_box): Don't draw a full-width
1673 box just because the glyph row's full_width_p flag is set.
1674 (x_draw_glyphs): Fix computation of rightmost x for
1675 full-width rows.
1676 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1677 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1678 change bottom shadow accordingly. Some cleanup.
1679 (x_update_window_end): Handle overwritten mouse face
1680 also for tool bar windows.
1681 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1682 DRAW is DRAW_IMAGE_RAISED.
1683 (clear_mouse_face): Return 1 if text with mouse face was
1684 actually redrawn. Make the function static. Reset
1685 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1686 optimize away highlighting if we pass over that same overlay again.
1687 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1688 to detect a case where we have to highlight a different region
1689 despite not having left the currently highlighted region.
1690 Set mouse_face_overlay in the x_display_info. Avoid changing the
1691 mouse pointer shape when show_mouse_face has already done it, or
1692 there is no need. Handle mouse-face and help-echo in strings.
1693 (glyph_rect): New function.
1694 (w32_mouse_position): Use it to raise the threshold for mouse
1695 movement event generation.
1696 (w32_initialize_display_info): Initialize the x_display_info's
1697 mouse_face_overlay.
1698 (w32_set_vertical_scroll_bar): Don't clear a zero height
1699 or width area.
1700 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1701 a widget to zero height.
1702
1703 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
1704 Protect unibyte strings created by replacing their multibyte
1705 equivalents in menu_items.
1706 (w32_menu_show): Don't overwrite an item's name with its key
1707 description in case the description is a multibyte string.
1708 (single_submenu): Some cleanup.
1709
1710 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1711 (postprocess_image): New function.
1712 (lookup_image): Call it for all image types except PostScript.
1713 (x_kill_gs_process): Call postprocess_image.
1714 (tiff_error_handler, tiff_warning_handler): New functions.
1715 (tiff_load): Install them as handlers.
1716 (x_kill_gs_process): Recognize if someone has cleared the image
1717 cache under us.
1718 (valid_image_p): Protect better against invalid image
1719 specifications. Previous code could signal an error.
1720 (Fx_hide_tip, Fshow_tip): Doc fix.
1721 (Fv_max_tooltip_size): New variable.
1722 (syns_of_xfns): DEFVAR_LISP it.
1723 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1724 window buffer to *tip* right after creating the frame. Set frame's
1725 window_width. Use a maximum tooltip size specified by
1726 Vx_max_tooltip_size, if that has valid contents.
1727 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1728 Make sure the tooltip is completely visible.
1729 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1730 (Fx_create_frame): Adjust the frame's height for presence
1731 of the tool bar before calling x_figure_window_size.
1732 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1733 when the window gets smaller.
1734 (x_set_foreground_color): Set frame's cursor_pixel.
1735 (x_set_foreground_color, x_set_background_color): Cleaned up.
1736 (x_set_font): Handle case of x_new_fontset returning the same name
1737 as before, although there was a change in fontsets.
1738
17392001-10-21 Miles Bader <miles@gnu.org>
1740
1741 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
1742 (Flogxor): Add usage: string to doc string.
1743 * charset.c (Fstring): Likewise.
1744 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1745 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1746
17472001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1748
1749 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1750
1751 * alloc.c: Reindent DEFUNs with doc: keywords.
1752
1753 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1754
1755 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1756 keyword].
1757
17582001-10-20 Gerd Moellmann <gerd@gnu.org>
1759
1760 * (Version 21.1 released.)
1761
17622001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1763
1764 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
1765
1766 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1767 0 because unused.
1768
1769 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
1770 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1771 Change doc-string comments to `new style' [w/`doc:' keyword].
1772
17732001-10-20 Miles Bader <miles@gnu.org>
1774
1775 The following changes remove the glyph_row `inverse_p' field,
1776 which is never set anymore, due to other changes:
1777
1778 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1779 (reassert_line_highlight, change_line_highlight): Declarations removed.
1780 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
1781 (line_hash_code, row_equal_p, fake_current_matrices)
1782 (build_frame_matrix_from_leaf_window, update_frame_line)
1783 (update_frame_line, update_frame_line, update_frame_line):
1784 Don't use `inverse_p' field.
1785 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1786 change_line_highlight_hook.
1787 (XTreassert_line_highlight, x_change_line_highlight):
1788 Functions removed.
1789 (x_fix_overlapping_area, x_write_glyphs, expose_area)
1790 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1791 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1792 `inverse_p' field.
1793 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
1794 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1795 (w32_reassert_line_highlight, x_change_line_highlight):
1796 Functions removed.
1797 * w32console.c (reassert_line_highlight, change_line_highlight):
1798 Functions removed.
1799 (initialize_w32_display): Don't set reassert_line_highlight_hook
1800 or change_line_highlight_hook.
1801 (hl_mode): Function removed.
1802 (reset_terminal_modes, set_terminal_modes, update_begin)
1803 (update_end, w32_face_attributes, initialize_w32_display):
1804 (clear_frame, ins_del_lines): Don't call it.
1805 * termhooks.h (reassert_line_highlight_hook)
1806 (change_line_highlight_hook): Declarations removed.
1807 * term.c (reassert_line_highlight_hook)
1808 (change_line_highlight_hook): Variables removed.
1809 (reassert_line_highlight, change_line_highlight): Functions removed.
1810 * msdos.c (IT_reassert_line_highlight)
1811 (IT_change_line_highlight): Functions removed.
1812 (internal_terminal_init): Don't set reassert_line_highlight_hook
1813 or change_line_highlight_hook.
1814 (highlight): Variable removed.
1815 (IT_set_face, IT_update_begin, IT_update_end)
1816 (IT_set_terminal_modes): Don't set or use it.
1817
1818 The following changes remove inverse-video support for terminals
1819 that use a `magic cookie' standout mode. Due to changes in the
1820 way mode-lines are displayed, such support no longer works
1821 anyway, and it's probable that almost no one uses such terminals
1822 anymore:
1823
1824 * term.c (standout_requested): Variable removed.
1825 (update_end, highlight_if_desired): Don't use it.
1826 (chars_wasted, copybuf): Variables removed.
1827 (write_standout_marker): Function removed.
1828 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
1829 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1830 Don't use `chars_wasted' or `copybuf'.
1831 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1832 Set `costs_set' to true.
1833 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1834 `chars_wasted'.
1835 (clear_end_of_line): Function removed.
1836 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1837 (clear_to_end): Call `clear_end_of_line' instead of
1838 `clear_end_of_line_raw'.
1839 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1840 (term_init): Don't set them.
1841 Turn off any standout/underline modes that require magic cookies.
1842 (ins_del_lines, highlight_if_desired, background_highlight)
1843 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1844 Remove special processing for magic-cookie standout modes.
1845 (turn_off_face, turn_on_face): Remove special processing for
1846 underline magic-cookie glitch.
1847
18482001-10-19 Richard M. Stallman <rms@gnu.org>
1849
1850 * eval.c (syms_of_eval): Doc fixes.
1851
18522001-10-19 Gerd Moellmann <gerd@gnu.org>
1853
1854 * xdisp.c (redisplay_internal): Don't clear echo area if the
1855 mini-window is selected.
1856
18572001-10-19 Miles Bader <miles@gnu.org>
1858
1859 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1860 doesn't take precedence if the affected property's value is nil.
1861
1862 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1863
1864 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1865 with fields and suggest using `forward-line' to avoid them.
1866 * editfns.c (Fline_beginning_position, Fline_end_position):
1867 Clarify documentation.
1868
18692001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1870
1871 * keymap.c (current_minor_maps): `override' only shadows its
1872 correspondent in minor-mode-map-alist, not the whole tail.
1873
18742001-10-18 Andrew Innes <andrewi@gnu.org>
1875
1876 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1877 optimization. The fontp->encoding array was not being initialized
1878 correctly when compiled with optimizations by MSVC.
1879
18802001-10-18 Gerd Moellmann <gerd@gnu.org>
1881
1882 * xdisp.c (display_line): Indicate empty lines in active mini-window.
1883
18842001-10-17 Andrew Innes <andrewi@gnu.org>
1885
1886 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1887
1888 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1889 font_info.charset field.
1890
1891 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1892 rather than working it out by calling w32_codepage_for_font for
1893 every glyph.
1894
18952001-10-17 Andrew Innes <andrewi@gnu.org>
1896
1897 * w32term.c (w32_read_socket): Determine clipping rectangle for
1898 the entire frame, including areas covered by scrollbars and the
1899 menubar. This avoids internal arguments about whether a frame is
1900 fully obscured or not.
1901
19022001-10-17 Gerd Moellmann <gerd@gnu.org>
1903
1904 * xdisp.c (try_window_id): Undo last change. Give up if
1905 window ends in strings.
1906
1907 * xdisp.c (try_window_id): Don't display lines after the window
1908 end if the rest of the window after the window end was already blank.
1909
1910 * xdisp.c (try_window_id): Remove code that was only there
1911 for the release of 21.1.
1912
1913 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
1914
19152001-10-17 Miles Bader <miles@gnu.org>
1916
1917 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1918 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1919 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1920 Change doc-string comments to `new style' [w/`doc:' keyword].
1921 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1922 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1923 out make-docfile.
1924
19252001-10-16 Miles Bader <miles@gnu.org>
1926
1927 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1928
19292001-10-16 Gerd Moellmann <gerd@gnu.org>
1930
1931 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1932 *scratch*.
1933
19342001-10-16 Ken Raeburn <raeburn@gnu.org>
1935
1936 Avoid the assumption that car and cdr slots of cons cells are
1937 addressable lvalues; this allows for easier experimentation with
1938 other lisp implementations that may not permit such accesses for
1939 various reasons. Not quite complete -- buffer.c still needs some
1940 work, and w32/mac files need rechecking -- so compile-time
1941 enforcement is left disabled for now.
1942
1943 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
1944 gcc with a union-based Lisp object rep. Redefine as no-op for now.
1945 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1946 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1947 (XSETCAR, XSETCDR): New macros.
1948 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1949 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1950 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1951 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1952 XSETCDR.
1953 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
1954 * buffer.c (record_buffer, Fbury_buffer)
1955 (swap_out_buffer_local_variables, recenter_overlay_lists)
1956 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
1957 fields of a cons cell respectively.
1958 * callint.c (quotify_args, Fcall_interactively): Likewise.
1959 * ccl.c (Fregister_code_conversion_map): Likewise.
1960 * coding.c (detect_coding_system): Likewise.
1961 * composite.c (get_composition_id, make_composition_value_copy):
1962 Likewise.
1963 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1964 (swap_in_symval_forwarding, set_internal, Fset_default)
1965 (Fmake_variable_buffer_local, Fmake_local_variable)
1966 (Fmake_variable_frame_local): Likewise.
1967 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
1968 * keymap.c (Fset_keymap_parent, store_in_keymap)
1969 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
1970 * minibuf.c (get_minibuffer): Likewise.
1971 * search.c (Fmatch_data): Likewise.
1972 * textprop.c (extend_property_ranges): Likewise.
1973 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
1974 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1975 Likewise.
1976 * w32term.c (x_delete_display): Likewise.
1977 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1978 Likewise.
1979 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
1980 * doc.c (store_function_docstring): Use XSETCARFASTINT.
1981 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
1982 (Fread_file_name): Use XSETCAR.
1983 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1984 CHECK_NUMBER_CDR.
1985 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1986 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1987 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1988 CHECK_NUMBER_CDR.
1989 * keyboard.c (read_char): Alter list traversal to avoid taking the
1990 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1991 (parse_menu_item): Use XSETCAR and XSETCDR.
1992 (reach_char_x_menu_prompt): Use XSETCAR.
1993 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1994 (Fcommand_execute): Use XSETCDR.
1995 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1996 (openp): Change list traversal to avoid using XCAR as lvalue.
1997 (read_list): Use XSETCDR.
1998 * process.c (wait_reading_process_input): Change wait_for_cell
1999 handling to avoid taking addresses of cons cell slots.
2000 * xselect.c (x_own_selection, x_handle_selection_clear)
2001 (x_clear_frame_selections): Use XSETCDR.
2002 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2003 (x_handle_property_notify, x_get_foreign_selection)
2004 (x_handle_selection_notify): Use XSETCAR.
2005
20062001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2007
2008 * buffer.c: Put doc strings in comments.
2009
2010 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
2011
20122001-10-15 Sam Steingold <sds@gnu.org>
2013
2014 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2015
20162001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2017
2018 * process.c (process-inherit-coding-system-flag)
2019 (get-buffer-process): Do not confuse make-docfile with doc strings
2020 in comment.
2021
2022 * editfns.c (Fchar_to_string): Make doc string consistent with
2023 arguments. Put doc strings in comments.
2024
2025 * abbrev.c, minibuf.c: Put doc strings in comments.
2026
20272001-10-15 Gerd Moellmann <gerd@gnu.org>
2028
2029 * window.c (window_loop): Don't check for Fother_buffer returning nil.
2030
2031 * window.c (select_window_1): Unfreeze window start. Remove a
2032 doubled test for WINDOW being live.
2033
20342001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2035
2036 * fns.c (Fmapconcat): Fix typo in a doc string.
2037
2038 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2039
20402001-10-15 Gerd Moellmann <gerd@gnu.org>
2041
2042 * xterm.c (x_draw_glyph_string): Restore clipping after
2043 drawing box.
2044
20452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2046
2047 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
2048
20492001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2050
2051 * indent.c (skip_invisible): Use new retval of
2052 TEXT_PROP_MEANS_INVISIBLE.
2053
2054 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2055 If a parent is reached and noinherit is set, exit immediately.
2056 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2057
2058 * s/ms-w32.h (EXEC_SUFFIXES):
2059 * s/msdos.h (EXEC_SUFFIXES):
2060 * process.h (EXEC_SUFFIXES): Remove.
2061
2062 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2063 (decode_suffixes): Remove.
2064
2065 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
2066 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2067 (invisible_ellipsis_p): Remove.
2068
2069 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2070 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2071 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
2072 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2073 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
2074
20752001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2076
2077 * lisp.h (Ftop_level): Add prototype.
2078
2079 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2080 (XTread_socket): Improve style of comments to follow other
2081 comments.
2082
2083 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2084 is already prototyped in included lisp.h).
2085
2086 * frame.c (Fset_mouse_position): Improve style of comment to
2087 follow other comments.
2088 (Fset_mouse_pixel_position): Improve style of comment to follow
2089 other comments.
2090 (Fmake_frame_visible): Doc fix and typo in comment.
2091 (Fmake_frame_invisible): Doc fix and typo in comment.
2092 (Ficonify_frame): Fix typo in comment.
2093
20942001-10-14 Gerd Moellmann <gerd@gnu.org>
2095
2096 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
2097 * term.c, alloc.c: Put doc strings in comments.
2098
20992001-10-13 Gerd Moellmann <gerd@gnu.org>
2100
2101 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2102 Provide definitions for doc strings in comments.
2103
2104 * fns.c: Put doc strings in comments.
2105
21062001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2107
2108 * dired.c (file_name_completion): Ignore a candidate directory if
2109 it matches an element in completion-ignored-extensions that ends
2110 in a slash.
2111 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2112 feature in the doc string.
2113 (Ffile_name_completion): Ditto.
2114
21152001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2116
2117 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2118
2119 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2120
2121 * lisp.h (Fprovide): Update prototype.
2122 (Ffeaturep, invisible_p): Remove.
2123
2124 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
2125 (DOLIST, LOOP_PROPVAL): New macros.
2126 (invisible_p, invisible_ellipsis_p): Use them.
2127 (invisible_noellipsis_p): New function.
2128 (syms_of_xdisp): Use empty_string.
2129
2130 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2131
2132 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2133 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2134
2135 * print.c (Fwith_output_to_temp_buffer): Align with
2136 internal_with_output_to_temp_buffer.
2137 (print_preprocess): Use traverse_intervals_noorder.
2138 (print_object): Update call to traverse_intervals.
2139
2140 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2141 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2142
2143 * intervals.c (traverse_intervals_noorder): New function.
2144 (search_for_interval, count_intervals): Use it.
2145 (traverse_intervals): Use less stack space and drop `depth' arg.
2146
2147 * fns.c (Ffeaturep): Add new `subfeature' arg.
2148 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2149 (Qsubfeatures): New var.
2150 (syms_of_fns): Initialize it.
2151
2152 * keymap.c (Fkey_description): Use empty_string.
2153 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2154 (syms_of_keymap): Setup inheritance between maps.
2155 Don't export Sdescribe_bindings_internal any more.
2156
2157 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2158
21592001-10-12 Gerd Moellmann <gerd@gnu.org>
2160
2161 * xterm.c (notice_overwritten_cursor): Renamed from
2162 note_overwritten_text_cursor. Rewritten to take glyph widths into
2163 account.
2164
21652001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2166
2167 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2168 multi-line strings without a trailing "\n\".
2169
21702001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2171
2172 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2173 defined.
2174
21752001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2176
2177 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2178
2179 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2180 * w32proc.c (sys_spawnve):
2181 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2182 * w32.c (check_windows_init_file):
2183 * sound.c (Fplay_sound):
2184 * emacs.c (init_cmdargs):
2185 * process.c (Fstart_process): Update calls to openp.
2186
2187 * callproc.c (Vexec_suffixes): New var.
2188 (Fcall_process): Update call to openp.
2189 (decode_suffixes): New function.
2190 (syms_of_callproc): Init exec-suffixes.
2191
2192 * lread.c (Vload_suffixes, default_suffixes): New vars.
2193 (openp): Take a lisp list of suffixes.
2194 Check for file-name-handlers even if the file was absolute already.
2195 (syms_of_lread): Declare load-suffixes.
2196 (Fload): Fix up call to openp.
2197 Don't bother checking for file-name-handler at the very beginning.
2198
2199 * keymap.h (Fcopy_keymap): Don't export.
2200
2201 * lisp.h (empty_string): Declare.
2202 (Vload_suffixes, Vexec_suffixes): Declare.
2203 (openp): Update prototype.
2204
2205 * emacs.c (empty_string): New var.
2206 (syms_of_emacs): Initialize it.
2207
2208 * search.c (wordify): Use it.
2209
2210 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2211 selected window if it's not displayed there. Handle the case
2212 when the window is dedicated.
2213 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2214
2215 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2216
2217 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2218 Remove left_ok and right_ok.
2219 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2220 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2221 new meaning of b_property.
2222
2223 * syntax.c (update_syntax_table): Simplify.
2224 (Fforward_comment): Don't skip quoted chars when going backward.
2225
22262001-10-11 Gerd Moellmann <gerd@gnu.org>
2227
2228 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2229 in case I is of some unsigned type, in which case
2230 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2231 comparison becomes bogus.
2232
2233 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2234 (Fuser_full_name): Fix bug treating a float as a fixnum.
2235
2236 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2237
2238 * lisp.h (make_fixnum_or_float): New macro.
2239
2240 * lisp.h (circular_list_error): Add prototype.
2241
2242 * data.c (Qcircular_list): New variable.
2243 (circular_list_error): New function.
2244 (syms_of_data): Initialize it Qcircular_list.
2245
22462001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2247
2248 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2249 casefiddle.c, buffer.c: Include keymap.h.
2250
22512001-10-10 Gerd Moellmann <gerd@gnu.org>
2252
2253 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2254 options. From Dave Love <d.love@dl.ac.uk>.
2255
22562001-10-09 Gerd Moellmann <gerd@gnu.org>
2257
2258 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2259 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2260
2261 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2262 unsigned char.
2263 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2264
22652001-10-08 Andrew Innes <andrewi@gnu.org>
2266
2267 * lisp.h [max]: Undef min and max before redefining them.
2268
2269 * w32gui.h: Do not undef min and max.
2270
2271 * w32heap.h: Do not undef min and max.
2272
2273 * s/ms-w32.h: Do not undef min and max.
2274
22752001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2276
2277 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2278
22792001-10-08 Sam Steingold <sds@gnu.org>
2280
2281 * keymap.c (current-active-maps): Quote newlines (compilation error).
2282
22832001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2284
2285 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2286 bindings.elc, since otherwise doc strings in bindings.el get wrong
2287 offsets in etc/DOC.
2288
22892001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2290
2291 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2292
2293 * keyboard.h (map_prompt): Remove.
2294
2295 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
2296 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
2297
2298 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2299
2300 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2301
2302 * keyboard.c (map_prompt): Remove.
2303 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2304 Use Fkeymap_prompt.
2305
2306 * keymap.h: New file. Extracted from lisp.h.
2307
2308 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2309 (accessible_keymaps_1): New function.
2310 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2311 (Fwhere_is_internal): Use Fcurrent_active_maps.
2312 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2313 Insert in current buffer rather than standard-output.
2314 Don't call `help-mode'. Export to elisp.
2315 (describe_buffer_bindings): New wrapper.
2316 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2317 and Sdescribe_buffer_bindings.
2318
23192001-10-08 Gerd Moellmann <gerd@gnu.org>
2320
2321 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
2322 Remove code setting signal handler.
2323
2324 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
2325 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2326
23272001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2328
2329 * keyboard.c: Don't define min/max.
2330
23312001-10-08 Gerd Moellmann <gerd@gnu.org>
2332
2333 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
2334 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
2335 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
2336 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
2337 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
2338 Don't define min/max.
2339
2340 * lisp.h (min, max): New macros.
2341
2342 * puresize.h (BASE_PURESIZE): Increase to 725000.
2343
23442001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2345
2346 * xfaces.c (free_frame_menubar): Add prototype.
2347
2348 * lisp.h (init_window): Add prototype.
2349
2350 * editfns.c: Include ctype.h.
2351
2352 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
2353 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
2354 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2355 variable `sb'.
2356
2357 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2358 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2359 `popup_activated_flag' and `title'.
2360
2361 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2362
2363 * emacs.c (main): Remove extra `;'.
2364
2365 * atimer.h (struct atimer): Fix typos in a comment.
2366
2367 * atimer.c: Fix typo.
2368
2369 * Makefile.in: Fix typo.
2370
2371 * README: Remove obsolete part mentioning removed VMS file.
2372
23732001-10-07 Miles Bader <miles@gnu.org>
2374
2375 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2376
23772001-10-07 Ken Raeburn <raeburn@gnu.org>
2378
2379 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2380 Lisp_Object.
2381
2382 * lisp.h (Ffield_end): Declare.
2383
23842001-10-07 Gerd Moellmann <gerd@gnu.org>
2385
2386 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2387
2388 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2389
2390 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2391
2392 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2393
2394 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2395 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2396
2397 * alloc.c (inhibit_garbage_collection): Simplify.
2398 (Fmemory_use_counts): Ditto.
2399
2400 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
2401 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2402 most-negative-fixnum.
2403
2404 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
2405 (FIXNUM_OVERFLOW_P): New macros.
2406
24072001-10-06 Miles Bader <miles@gnu.org>
2408
2409 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2410 scroll_bar_bottom_shadow_pixel fields.
2411 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2412 for the shadows, and tell the toolkit about them if we succeed.
2413 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2414 Free scroll-bar shadow colors.
2415 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2416 Free scroll-bar shadow colors when the background color changes.
2417 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2418 Initialize scroll-bar shadow-color fields.
2419
24202001-10-05 Gerd Moellmann <gerd@gnu.org>
2421
2422 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2423
24242001-10-05 Miles Bader <miles@gnu.org>
2425
2426 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2427 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
2428 New functions (were in simple.el).
2429 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2430 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2431 (syms_of_minibuf): Initialize them.
2432
24332001-10-05 Gerd Moellmann <gerd@gnu.org>
2434
2435 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2436 (tiff_load): Install them as error and warning handler.
2437
24382001-10-04 Andrew Innes <andrewi@gnu.org>
2439
2440 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2441 (w32_load_system_font): Don't believe what GetLanguageFontInfo
2442 says; query codepage info directly to determine if font is double byte.
2443 (x_to_w32_charset): Handle private format for unknown charsets.
2444 Handle wildcards in charset spec, by ignoring them.
2445 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2446 "*-" prefix from charset.
2447 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2448 handle the truncated font spec form constructed by font_list_1, so
2449 that we correctly identify the charset fields. Don't remove "*-"
2450 prefix from charset.
2451 (w32_list_synthesized_fonts): Fix argument to alloca.
2452
24532001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2454
2455 * window.h (MINI_WINDOW_P): Use NILP.
2456
2457 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2458
2459 * termhooks.h (struct input_event): Use proper type for `kind'.
2460
24612001-10-04 Gerd Moellmann <gerd@gnu.org>
2462
2463 This handles unknown keysyms better than before. For example,
2464 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2465 Emacs formerly completely ignored F5. With the change, it derives
2466 a key symbol from the name of the X keysym, `ccaron' in this case.
2467 Reported by Martin Buchholz.
2468
2469 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2470 unknown keysyms.
2471
2472 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2473 that EVENT->code isn't a function key, use the keysym's name.
2474
24752001-10-04 Gerd Moellmann <gerd@gnu.org>
2476
2477 FOREACH is a macro that should make it easier to loop over Lisp
2478 lists with checks for cycles and proper lists.
2479
2480 * lisp.h (LIST_END_P, FOREACH): New macros.
2481
24822001-10-04 Gerd Moellmann <gerd@gnu.org>
2483
2484 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2485 called for a lost connection. Prevent dumping core in this case.
2486 Instead print the X error, and exit. On user request.
2487
2488 * xterm.c (error_msg): New variable.
2489 (x_fatal_error_signal): New function.
2490 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2491 as fatal_error_signal_hook around the call to XtCloseDisplay.
2492
2493 * emacs.c (fatal_error_signal_hook): New variable.
2494 (fatal_error_signal): Call that function.
2495
24962001-10-04 Gerd Moellmann <gerd@gnu.org>
2497
2498 With this, Emacs prints how much pure storage it will
2499 approximately need in case pure storage overflows while dumping.
2500
2501 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2502 New variables.
2503 (init_alloc_once): Initialize new variables.
2504 (PURE_POINTER_P): Use new variables.
2505 (pure_alloc): If pure storage overflows, allocate from the heap.
2506 (check_pure_size): New function.
2507 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2508
2509 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2510 (check_pure_size): Add prototype.
2511
2512 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2513
25142001-10-04 Gerd Moellmann <gerd@gnu.org>
2515
2516 This adds a post-gc-hook that's run with GC inhibited.
2517 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2518
2519 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2520 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2521 (Fgarbage_collect): Run post-gc-hook.
2522
25232001-10-04 Gerd Moellmann <gerd@gnu.org>
2524
2525 This adds `defvaralias' and `indirect-variable'. Changes not
2526 directly related to this feature are there to gain the same
2527 performance again as before variable aliases.
2528
2529 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2530 code to get and set symbol values, to take defvaralias into account.
2531
2532 (Note: the new `constant' bit-flag in symbols would make it
2533 possible to define arbitrary read-only variables, e.g. with
2534 `defconst'.)
2535
2536 Documentation is in lispref/variables.texi. Added to NEWS.
2537
2538 * lisp.h (enum symbol_interned): New enumeration.
2539 (struct Lisp_Symbol): Remove member `obarray', add
2540 `indirect_variable', `constant', and `interned'.
2541 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2542 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2543 (indirect_variable): Add prototype.
2544
2545 * print.c (print_preprocess, print_object): Test internedness of
2546 symbols differently.
2547
2548 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2549 bit-fields.
2550 (init_obarray): Likewise for t and nil.
2551
2552 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2553 (Fdefvaralias): New function.
2554 (specbind): Simplify the test if symbol is a constant.
2555 (syms_of_eval): Defsubr Fdefvaralias.
2556
2557 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2558 (Qcyclic_variable_indirection): New variable.
2559 (Fkeywordp): Check for internedness differently.
2560 (Fmakunbound): Simplify the test if symbol is a constant.
2561 (indirect_variable, Findirect_variable): New functions.
2562 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2563 aliased symbol.
2564 (let_shadows_buffer_binding_p): Check for variable aliases.
2565 (set_internal): Simplify the test if SYMBOL is a constant.
2566 If SYMBOL has a buffer-local value and is an alias, use the aliased
2567 symbol instead.
2568 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2569 Sindirect_variable.
2570
2571 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2572 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2573 set directly.
2574
2575 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2576
2577 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2578 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2579 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2580
25812001-10-04 Gerd Moellmann <gerd@gnu.org>
2582
2583 * Branch for 21.1.
2584
25852001-10-03 Miles Bader <miles@gnu.org>
2586
2587 * callproc.c (syms_of_callproc): Explicitly state in the
2588 documentation for `process-environment' that earlier entries take
2589 precedence over later ones.
2590
25912001-10-02 Miles Bader <miles@gnu.org>
2592
2593 * textprop.c (Fnext_char_property_change)
2594 (Fprevious_char_property_change): Remove reference to non-existant
2595 argument OBJECT from doc-string.
2596
25972001-10-01 Gerd Moellmann <gerd@gnu.org>
2598
2599 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2600 (try_window_id): Skip back over lines ending in a newline from a
2601 string.
2602
2603 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2604 New bit flag
2605
26062001-10-01 Richard M. Stallman <rms@gnu.org>
2607
2608 * search.c (Freplace_match): Doc fix.
2609
26102001-09-28 Andrew Innes <andrewi@gnu.org>
2611
2612 * w32menu.c (set_frame_menubar): Take into account that
2613 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2614 <raeburn@gnu.org>.
2615
26162001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2617
2618 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2619
26202001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2621
2622 * s/gnu-linux.h: Fix a typo in comment.
2623
26242001-09-28 Andreas Schwab <schwab@suse.de>
2625
2626 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2627 nocombreloc, in case -z combreloc is the default.
2628
26292001-09-28 Gerd Moellmann <gerd@gnu.org>
2630
2631 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2632 really going on here.
2633
26342001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2635
2636 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2637
26382001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2639
2640 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2641 utf-8, menu-bar, and latin-N.
2642 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2643 unconditionally now.
2644 (lisp): Add latin-N, since they are preloaded.
2645
26462001-09-27 Gerd Moellmann <gerd@gnu.org>
2647
2648 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2649 to the left. Some cleanup.
2650
2651 * xdisp.c (display_mode_element): One more case where a string's
2652 multibyteness should be used for display.
2653
26542001-09-26 Gerd Moellmann <gerd@gnu.org>
2655
2656 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2657 reading at EOF.
2658
2659 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
2660 of the only temporarily set echoing flag for deciding when
2661 the cancel echoing.
2662
2663 * keyboard.c (echo_kboard): Make externally visible.
2664
2665 * lisp.h (echo_kboard): Declare extern.
2666
2667 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
2668 fonts_changed_p if we need larger matrices due to vscrolling.
2669 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2670 this round of redisplay if make_cursor_line_fully_visible fails.
2671 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
2672 (try_cursor_movement, try_scrolling): Use them instead of integers.
2673
2674 * dispextern.h (required_matrix_width, required_matrix_height):
2675 Add prototypes.
2676
2677 * dispnew.c (required_matrix_width, required_matrix_height):
2678 New functions.
2679 (allocate_matrices_for_window_redisplay)
2680 (allocate_matrices_for_frame_redisplay: Use them.
2681 Remove parameters CH_DIM.
2682
2683 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2684 and selected_window to the frame of the window whose mode-lines
2685 are displayed, and to the window itself.
2686 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
2687 here.
2688
26892001-09-25 Gerd Moellmann <gerd@gnu.org>
2690
2691 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2692 the image cache under us.
2693
2694 * xdisp.c (display_mode_element): If the mode element is a symbol
2695 with a string value, use that string's multibyteness for displaying.
2696
2697 * keyboard.c (read_char): Don't clear a message for a switch-frame
2698 event. From Stefan Monnier <monnier@cs.yale.edu>.
2699
2700 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2701 version for after 21.1.
2702
2703 * xdisp.c (row_containing_pos): Make externally visible.
2704
2705 * dispextern.h (row_containing_pos): Add prototype.
2706
2707 * process.c (send_process): Disable composition if from_byte < 0.
2708 From Kenichi Handa <handa@etl.go.jp>.
2709
27102001-09-24 Gerd Moellmann <gerd@gnu.org>
2711
2712 * xterm.c (refreshicon): Function removed.
2713
2714 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2715
2716 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2717
2718 * xterm.c (toplevel): Remove includes in #if 0.
2719
2720 * process.c (sigchld_handler) [LINUX]: Don't return from
2721 the signal handler at the end of the loop.
2722
27232001-09-21 Gerd Moellmann <gerd@gnu.org>
2724
2725 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2726 Terminate only if kill returns -1, and errno is ESRCH.
2727
27282001-09-21 Markus Rost <rost@math.ohio-state.edu>
2729
2730 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2731
27322001-09-20 Gerd Moellmann <gerd@gnu.org>
2733
2734 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2735 since this function can be called during GC.
2736
2737 * callproc.c (Fcall_process): Handle errors from pipe(2).
2738 (child_setup): Delete code in #ifdef vipc.
2739
27402001-09-19 Gerd Moellmann <gerd@gnu.org>
2741
2742 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2743 (display_mode_element): Display the string from decode_mode_spec
2744 depending on its multibyteness.
2745
2746 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2747
2748 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2749
27502001-09-18 Gerd Moellmann <gerd@gnu.org>
2751
2752 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2753 recursive_edit_unwind.
2754 (recursive_edit_unwind): Set kboard state according to
2755 SINGLE-KBOARD.
2756
2757 * buffer.c (modify_overlay): Don't do nothing if START == END;
2758 This can still be a modification, for example when an overlay has
2759 a before-string or after-string.
2760 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2761 an overlay with before-string or after-string.
2762
2763 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2764 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2765
2766 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2767 first_unchanged_at_end_row is in front of
2768 last_unchanged_at_beg_row. This code should be removed after the
2769 release of 21.1.
2770
27712001-09-17 Gerd Moellmann <gerd@gnu.org>
2772
2773 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2774 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2775
2776 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2777 versions >= 2.95.
2778
27792001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2780
2781 * dired.c (Ffile_attributes): Doc fix.
2782
27832001-09-14 Gerd Moellmann <gerd@gnu.org>
2784
2785 * fileio.c (Ffile_symlink_p): Fix last change.
2786
2787 * filelock.c (current_lock_owner): Fix last change.
2788
27892001-09-13 Gerd Moellmann <gerd@gnu.org>
2790
2791 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2792 take that to mean that the buffer is too small.
2793
2794 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2795 that to mean that the buffer is too small.
2796
2797 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2798 current buffer's multibyteness when discarding the iterator's
2799 stack.
2800
2801 * xfns.c (Fx_window_property): Handle case that property gets
2802 deleted between the two calls to XGetWindowProperty.
2803
28042001-09-11 Gerd Moellmann <gerd@gnu.org>
2805
2806 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
2807
2808 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2809 in addition to read-only.
2810
2811 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2812 to t in addition to read-only.
2813
2814 * lisp.h (Qinhibit_modification_hooks): Declare.
2815
2816 * insdel.c (Qinhibit_modification_hooks): New variable.
2817 (syms_of_insdel): Initialize and staticpro it.
2818
2819 * textprop.c (verify_interval_modification): Don't run
2820 modification-hooks if inhibit_modification_hooks.
2821
2822 * dispnew.c (set_window_cursor_after_update): Fix code
2823 finding glyph row containing cursor when cursor_in_echo_area
2824 is >= 0.
2825
2826 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2827 (add_to_log): Use bcopy instead of strcpy.
2828 (init_from_display_pos): Use an explicit loop over bytes in
2829 overlay strings instead of calling index.
2830
28312001-09-10 Gerd Moellmann <gerd@gnu.org>
2832
2833 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2834
2835 * dispnew.c (direct_output_for_insert): Don't change IT's
2836 stop_charpos to something in front of its current position.
2837
2838 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2839 `format'.
2840
28412001-09-10 Richard M. Stallman <rms@gnu.org>
2842
2843 * frame.c (Fmouse_position): Doc fix.
2844
28452001-09-07 Gerd Moellmann <gerd@gnu.org>
2846
2847 * xdisp.c (init_from_display_pos): Don't compare the result
2848 of calling index with NULL.
2849
28502001-09-06 Gerd Moellmann <gerd@gnu.org>
2851
2852 * xfns.c (x_set_background_color): Don't change the colors
2853 of the X window of scroll bar widgets.
2854
28552001-09-05 Andrew Innes <andrewi@gnu.org>
2856
2857 * w32fns.c (w32_createwindow): Undo last change.
2858
28592001-09-05 Gerd Moellmann <gerd@gnu.org>
2860
2861 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2862
2863 * xdisp.c (string_buffer_position): Use *single_char_property*
2864 functions instead of the *single_property* functions.
2865
28662001-09-04 Andrew Innes <andrewi@gnu.org>
2867
2868 * w32term.c (w32_read_socket): Add more information to debugging
2869 output.
2870
2871 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2872 from Emacs frames, so that calls to GetClipBox in w32term.c
2873 correctly report when part of a frame is visible (including
2874 scrollbars, etc). This prevents repeated redrawing of frames when
2875 only a scrollbar is visible.
2876 (w32_wnd_proc): Add more frame information to debugging output.
2877
28782001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2879
2880 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2881
28822001-09-03 Gerd Moellmann <gerd@gnu.org>
2883
2884 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2885 help-echo for a string which doesn't have help-echo itself, use
2886 get-char-property to obtain the help-echo from the string's buffer
2887 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2888 have mouse-face, look ``under'' the string for mouse-face from an
2889 overlay.
2890 (fast_find_position): Add parameter STOP. In the final row, stop
2891 before glyphs having STOP as object. Don't consider glyphs that
2892 are not from a buffer.
2893
2894 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2895
28962001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2897
2898 * fns.c (Fmd5): Doc fix.
2899
29002001-08-31 Gerd Moellmann <gerd@gnu.org>
2901
2902 * composite.c (update_compositions): Do nothing if
2903 inhibit-modification-hooks is set.
2904
29052001-08-30 Gerd Moellmann <gerd@gnu.org>
2906
2907 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
2908 and check_message_stack if terminating abnormally. We want
2909 glyph matrices etc. in a core dump.
2910
2911 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2912 (syms_of_xdisp): Initialize them.
2913 (handle_single_display_prop): Don't change point, bind `object',
2914 `position', and `buffer-position' instead to the object having the
2915 `display' property, position in the object and position in the buffer.
2916
2917 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2918 of the buffer if REPLACE is non-nil.
2919
29202001-08-29 Gerd Moellmann <gerd@gnu.org>
2921
2922 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2923
29242001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2925
2926 * w32term.c (x_set_glyph_string_background_width)
2927 (show_mouse_face): Track the last changes in xterm.c.
2928
29292001-08-28 Gerd Moellmann <gerd@gnu.org>
2930
2931 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2932 string's background width so that multi-line mouse-face is drawn
2933 to the right edge of the window.
2934 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2935 glyphs.
2936
2937 * dispnew.c (direct_output_for_insert): Set updated_area
2938 before inserting/writing glyphs.
2939
2940 * xdisp.c (display_mode_element): Use string_byte_to_char to
2941 determine character positions in strings, use chars_in_text
2942 instead of strwidth.
2943 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2944 a matrix as parameter; this is easier to use from GDB.
2945
29462001-08-28 Miles Bader <miles@gnu.org>
2947
2948 * textprop.c (Fprevious_single_char_property_change)
2949 (Fnext_single_char_property_change): Doc fixes.
2950
29512001-08-27 Gerd Moellmann <gerd@gnu.org>
2952
2953 * fileio.c (Finsert_file_contents): Allocate, restore, and
2954 free composition data in the case of REPLACE not being nil.
2955
2956 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2957 there exist overlay strings with newlines at POS.
2958 (text_outside_line_unchanged_p): Return 0 if changes start at
2959 START and overlays exist at START. Likewise for END.
2960 (try_window_id): Give up if init_to_row_end returns 0.
2961
2962 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2963 unconditionally.
2964
29652001-08-24 Gerd Moellmann <gerd@gnu.org>
2966
2967 * keymap.c (access_keymap): Return the cdr of the binding of
2968 a generic character instead of its definition (KEY . BINDING).
2969
2970 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2971 to 0 also in the REPLACE case.
2972
29732001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2974
2975 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2976 open to determine whether file is readable (as for DOS_NT).
2977
29782001-08-23 Gerd Moellmann <gerd@gnu.org>
2979
2980 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2981 coding.type is coding_type_no_conversion or coding_type_raw_text,
2982 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2983 non-nil instead of just setting enable_multibyte_characters in the
2984 buffer to nil.
2985
29862001-08-22 Gerd Moellmann <gerd@gnu.org>
2987
2988 * dispextern.h (struct face_cache): Add member
2989 menu_face_changed_p.
2990
2991 * xfaces.c (menu_face_changed_default): New variable.
2992 (menu_face_changed_count): Variable removed.
2993 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2994 the menu_face_changed_default flag, otherwise set the FRAME's
2995 menu_face_changed_p flag if the `menu' face has been changed.
2996 Prevent calling set_font_frame_param if FRAME is t.
2997 (make_face_cache): Initialize cache's menu_face_changed_p
2998 from menu_face_changed_default.
2999 (realize_basic_faces): Look into the frame's face cache to
3000 determine if the menu appearance needs updating.
3001
3002 * keymap.c (access_keymap): Fix last change to not consider
3003 IDX when it has modifiers.
3004
30052001-08-21 Gerd Moellmann <gerd@gnu.org>
3006
3007 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3008 . BINDING) exists, where GENERIC-CHAR is the generic character of
3009 the charset of IDX, return BINDING unless there exists a binding
3010 for IDX itself.
3011
30122001-08-16 Gerd Moellmann <gerd@gnu.org>
3013
3014 * xrdb.c (SYSV): Don't define on Solaris 2.
3015 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3016
3017 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
3018 of the screen line, not text line, containing IT's current position.
3019
30202001-08-15 Gerd Moellmann <gerd@gnu.org>
3021
3022 * window.c (window_scroll_pixel_based): Don't recenter if
3023 PT is partially visible in the window.
3024
3025 * xterm.c (expose_window_tree, expose_window, expose_line):
3026 Return 1 when overwriting mouse-face.
3027 (expose_frame): If mouse-face was overwritten, redo it.
3028
3029 * xfaces.c (x_update_menu_appearance): Don't call
3030 set_frame_menubar, let the next redisplay do it.
3031
30322001-08-14 Andrew Innes <andrewi@gnu.org>
3033
3034 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3035 drawing glyph string.
3036
30372001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3038
3039 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3040 running HI-UX/MPP.
3041
30422001-08-14 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xfaces.c (x_update_menu_appearance): Save and restore value of
3045 interrupt_input_blocked.
3046
30472001-08-13 Gerd Moellmann <gerd@gnu.org>
3048
3049 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3050 a line start, move back to the line start.
3051
3052 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3053 exactly when a mini-buffer is active.
3054
3055 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3056 in units of 1/8 character on non window-system frames.
3057 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3058
30592001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3060
3061 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3062 a doc string.
3063
30642001-08-09 Gerd Moellmann <gerd@gnu.org>
3065
3066 * keyboard.c (Vpre_help_message): New variable.
3067 (syms_of_keyboard): Initialize and staticpro it.
3068 (show_help_echo): Record current message before displaying a
3069 help-echo, and restore that message when clearing the help.
3070
3071 * xfns.c (x_create_im): Remove prototype.
3072
3073 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3074
3075 * dispnew.c (adjust_glyph_matrix): Undo last change.
3076
30772001-08-08 Gerd Moellmann <gerd@gnu.org>
3078
3079 * dispnew.c (adjust_glyph_matrix): In the optimization for
3080 windows whose height has changed, disable partially visible lines.
3081
30822001-08-07 Gerd Moellmann <gerd@gnu.org>
3083
3084 * window.c (Frecenter): If ARG < 0, and on a window system
3085 frame, count in some empty lines when we can't move -ARG lines down.
3086
3087 * xdisp.c (start_display): Don't try to determine the continuation
3088 lines width if lines are truncated. It's superfluous and leads to
3089 incorrect results if POS is not visible in the window after
3090 reseating the iterator at the previous line start.
3091
30922001-08-06 Gerd Moellmann <gerd@gnu.org>
3093
3094 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3095
30962001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3097
3098 * alloc.c (init_stack): Remove declaration.
3099
31002001-08-03 Gerd Moellmann <gerd@gnu.org>
3101
3102 * keyboard.c (read_key_sequence): Check that key is an integer
3103 before comparing it with quit_char.
3104 (add_command_key): Use larger_vector.
3105 (read_char_x_menu_prompt): Instead of converting symbol and
3106 integer events into conses (EVENT . nil), use (EVENT . disabled)
3107 which cannot be confused with valid events.
3108 (read_char): When reading from Vunread_command_events, check for
3109 events of the form (EVENT . disabled) instead of
3110 (EVENT . nil).
3111
3112 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3113 a float, determine the max height from the frame's height.
3114
31152001-08-02 Gerd Moellmann <gerd@gnu.org>
3116
3117 * xdisp.c (redisplay_internal): Take message_cleared_p into
3118 account only if minibuf_level == 0.
3119
31202001-08-01 Gerd Moellmann <gerd@gnu.org>
3121
3122 * xdisp.c (redisplay_internal): Add a check for the last
3123 displayed message.
3124
3125 * xdisp.c (message_cleared_p): New variable.
3126 (clear_message): Set message_cleared_p when clearing the current
3127 message.
3128 (redisplay_internal): Look at message_cleared_p to capture
3129 the case that the echo area should be cleared.
3130
3131 * keyboard.c (command_loop_1): Fix spelling of
3132 resize_echo_area_exactly.
3133
3134 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
3135
3136 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3137
3138 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3139 current matrix when the window gets smaller.
3140
31412001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3142
3143 * print.c (strout): Cast the character passed to insert_char to
3144 unsigned char, to avoid sign extension when it is promoted to int.
3145
31462001-07-31 Gerd Moellmann <gerd@gnu.org>
3147
3148 * fileio.c (Finsert_file_contents): Don't treat a return value
3149 of 0 from emacs_read as an IO error.
3150
31512001-07-30 Gerd Moellmann <gerd@gnu.org>
3152
3153 * keyboard.c (abs): New macro.
3154 (double_click_fuzz): New variable.
3155 (make_lispy_event): Use it to determine what makes a double-click.
3156 (syms_of_keyboard): DEFVAR_INT it.
3157
3158 * xmenu.c (set_frame_menubar): Take into account that
3159 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3160 <raeburn@gnu.org>.
3161
31622001-07-27 Gerd Moellmann <gerd@gnu.org>
3163
3164 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3165
3166 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3167 of row's visible height.
3168
3169 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3170 deal with the first overlay string having an image `display' property.
3171 (try_window_reusing_current_matrix, compute_line_metrics):
3172 Fix computation of row's visible height for the case that part of the
3173 row is invisible above and part of the row is at the same time
3174 invisible below the window.
3175
31762001-07-26 Gerd Moellmann <gerd@gnu.org>
3177
3178 * xfns.c (x-show-tip): Doc fix.
3179
3180 * xfns.c (Vx_max_tooltip_size): New variable.
3181 (syms_of_xfns): DEFVAR_LISP it.
3182 (Fx_show_tip): Set frame's window_width to the width of the
3183 window. Use a maximum tooltip size specified by
3184 Vx_max_tooltip_size, if that has valid contents.
3185 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3186
31872001-07-26 Andrew Innes <andrewi@gnu.org>
3188
3189 * w32term.c (x_display_list): New variable.
3190 (w32_term_init): Set it.
3191
3192 * w32term.h (x_display_list): New extern.
3193
31942001-07-26 Gerd Moellmann <gerd@gnu.org>
3195
3196 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3197 is non-nil, instead of when redisplaying_p is non-zero.
3198 See comment there.
3199 (mark_window_display_accurate_1): Add an assertion.
3200
32012001-07-25 Gerd Moellmann <gerd@gnu.org>
3202
3203 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3204
3205 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3206 events so that we get a chance of processing expose events.
3207
3208 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3209
32102001-07-24 Gerd Moellmann <gerd@gnu.org>
3211
3212 * xfns.c (valid_image_p): Protect better against invalid image
3213 specifications. Previous code could signal an error.
3214
32152001-07-23 Gerd Moellmann <gerd@gnu.org>
3216
3217 * indent.c (current_column): Fix column computation in the
3218 presence of display table entries.
3219 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3220
3221 * dispnew.c (adjust_glyph_matrix): In the optimization for
3222 windows whose height has changed, use the new window height
3223 to compute which rows to invalidate.
3224
3225 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3226 (MAX_10_EXP): New macro.
3227 (Fformat): Use it.
3228
3229 * coding.c (code_convert_region): Handle the multibyte case if
3230 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3231
32322001-07-20 Gerd Moellmann <gerd@gnu.org>
3233
3234 * dispextern.h (struct face): Change type of `stipple' to
3235 int; it's an ID.
3236
3237 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3238
32392001-07-19 Gerd Moellmann <gerd@gnu.org>
3240
3241 * dispnew.c (update_window): Don't set the cursor at the end
3242 of the update if display update has been paused.
3243
3244 * composite.h (syms_of_composite): Renamed from syms_of_composition.
3245
32462001-07-18 Ken Raeburn <raeburn@gnu.org>
3247
3248 * fns.c (Fset_char_table_default): Check that a charset is defined
3249 before checking its dimension.
3250
32512001-07-17 Ken Raeburn <raeburn@gnu.org>
3252
3253 * coding.c (setup_coding_system): Don't do any designation based
3254 on reg_bits if charset is not yet defined.
3255
3256 * lisp.h (XVECTOR): Verify correct object type before returning a
3257 pointer, using eassert.
3258
32592001-07-17 Gerd Moellmann <gerd@gnu.org>
3260
3261 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3262 Increase to 4096 because of paste problems reported on GNU/Linux.
3263
32642001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3265
3266 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3267
32682001-07-16 Gerd Moellmann <gerd@gnu.org>
3269
3270 * fileio.c (unwind_read): Function removed.
3271 (read_non_regular, read_non_regular_quit): New functions.
3272 (Finsert_file_contents): When reading from non-regular files,
3273 arrange to catch a `quit' and terminate the loop. Rearrange
3274 code so that a `quit' when reading from a regular file doesn't
3275 insert text in the buffer.
3276
3277 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3278 Clear faces afterwards.
3279 (clear_font_table): Take a x_display_info parameter. Don't free
3280 fonts being the default font of any frame on the given display.
3281
32822001-07-13 Gerd Moellmann <gerd@gnu.org>
3283
3284 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3285 instead of CHAR_STRING which can signal an error.
3286
3287 * charset.c (char_to_string_1): Extracted from char_to_string.
3288 Return -1 instead of signaling an error.
3289 (char_to_string): Use it.
3290
3291 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3292
32932001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3294
3295 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3296 is t, don't try to append anything to it.
3297
32982001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3299
3300 * dired.c (file_name_completion): Pass dp->d_name to
3301 Fstring_match, not elt, which is always nil here.
3302
33032001-07-12 Gerd Moellmann <gerd@gnu.org>
3304
3305 * xselect.c (x_decline_selection_request): Handle errors
3306 caused by receivers that have vanished.
3307
3308 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3309 ignoring events on foreign windows in #if 0. Always dispatch
3310 the event after checking it with x_handle_property_notify.
3311
3312 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
3313 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3314 TRACE macros to facilitate debugging. Add additional trace statements.
3315 (toplevel): Add prototypes for file-local functions.
3316 (x_atom_to_symbol): Remove DPYINFO parameter.
3317
33182001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3319
3320 * w32menu.c (menubar_selection_callback, w32_menu_show):
3321 Initialize `entry' to nil.
3322 (w32_dialog_show): Remove unused `save_wv' variable.
3323 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3324
33252001-07-11 Gerd Moellmann <gerd@gnu.org>
3326
3327 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3328
3329 * fileio.c (unwind_read): Print a message when discarding inserted
3330 text or switching the buffer to unibyte. Change parameter.
3331 (Finsert_file_contents): Don't pass VISIT to unwind_read.
3332
3333 * fileio.c (unwind_read): New function.
3334 (Finsert_file_contents): Record it as unwind-function for
3335 the case that reading is interrupted by C-g.
3336
33372001-07-10 Gerd Moellmann <gerd@gnu.org>
3338
3339 * dispnew.c (update_window): Don't skip the header-line
3340 update when scrolling_window returns 0.
3341
3342 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3343
3344 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
3345 for the case that x_decode_color signals an error.
3346
3347 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3348
33492001-07-09 Gerd Moellmann <gerd@gnu.org>
3350
3351 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3352 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3353 around ioctls.
3354
33552001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3356
3357 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3358 doc string line for dos-timezone-offset.
3359
3360 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3361 inline assembly, to avoid compiler warnings.
3362 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3363 line for dos-unsupported-char-glyph.
3364
3365 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3366
33672001-07-05 Gerd Moellmann <gerd@gnu.org>
3368
3369 * sound.c: Include Emacs' header files with #include "...".
3370
3371 * eval.c (specbind): Additionally record the buffer that was
3372 current when a buffer-local or frame-local variable was bound.
3373
33742001-07-04 Gerd Moellmann <gerd@gnu.org>
3375
3376 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3377 to unibyte characters in unibyte buffers.
3378
33792001-07-03 Gerd Moellmann <gerd@gnu.org>
3380
3381 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3382 the frame on the binding stack. Change format of entries for
3383 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3384 (unbind_to): Handle unbinding a frame-local variable.
3385
3386 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
3387 glyphs and truncation glyphs at the end of a row from its pixel width.
3388 (dump_glyph_row): Print row's continuation_lines_width.
3389 (try_window_id): Take the shortcut if ZV is visible in the
3390 window, but there are actually no changes at ZV.
3391
33922001-07-02 Gerd Moellmann <gerd@gnu.org>
3393
3394 * xterm.h (x_free_dpy_colors): Add prototype.
3395
3396 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3397 right number of arguments.
3398
3399 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3400 ($(lwlibdir)TAGS): New target.
3401 (TAGS): Fix dependency list.
3402
3403 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3404 with input blocked.
3405
34062001-06-30 Gerd Moellmann <gerd@gnu.org>
3407
3408 * emacs.c (main): Remove extern declaration for sys_nerr, which
3409 isn't used and causes a compilation error with GCC 3.0 on
3410 FreeBSD 4.3.
3411
34122001-06-27 Gerd Moellmann <gerd@gnu.org>
3413
3414 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3415 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
3416 (toplevel): Include <signal.h> and syssignal.h.
3417
3418 * sound.c (vox_configure, vox_close): Turn off atimers
3419 around ioctls.
3420
34212001-06-26 Gerd Moellmann <gerd@gnu.org>
3422
3423 * keyboard.c (read_char) <non_reread>: Record the previous idle
3424 start time before calling timer_stop_idle.
3425 (read_char) <reread_first>: After processing a help-echo event,
3426 restore the previous idle start time.
3427
3428 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3429 the start of invisible text.
3430 (setup_for_ellipsis): New function.
3431 (next_overlay_string): After all overlay strings have been
3432 processed, display an ellipsis if necessary.
3433 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3434 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3435
3436 * dispextern.h (struct iterator_stack_entry): Add member
3437 display_ellipsis_p.
3438
34392001-06-25 Gerd Moellmann <gerd@gnu.org>
3440
3441 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3442 on the value of the wait-for-wm frame parameter.
3443
3444 * xterm.h (struct x_output): Add member wait_for_wm.
3445
3446 * xfns.c (Qwait_for_wm): New variable.
3447 (x_frame_parms): Add entry for `wait-for-wm".
3448 (x_set_wait_for_wm): New function.
3449 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3450 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3451
3452 * xdisp.c (try_window_id) <all changes below window end>: Don't
3453 take this shortcut if ZV is visible in the window.
3454 (try_window_id): When checking for window start being in changed
3455 text, don't check that the buffer's size has changed.
3456
34572001-06-23 Richard M. Stallman <rms@gnu.org>
3458
3459 * minibuf.c (Fcompleting_read): Doc fix.
3460
34612001-06-19 Gerd Moellmann <gerd@gnu.org>
3462
3463 * composite.c (Ffind_composition_internal): Accept ZV
3464 and a string's end position as POS.
3465
34662001-06-18 Gerd Moellmann <gerd@gnu.org>
3467
3468 * composite.c (Ffind_composition_internal): Check POS
3469 for validity.
3470
34712001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3472
3473 * editfns.c (Fmessage_box): If the frame is not under a window
3474 system, output the message in the echo area.
3475
34762001-06-14 Richard M. Stallman <rms@gnu.org>
3477
3478 * xdisp.c (try_window_id): When EOB is visible, don't treat
3479 insertion at EOB as if it were "off the bottom of the screen."
3480
34812001-06-11 Andrew Innes <andrewi@gnu.org>
3482
3483 * w32proc.c (create_child): Add new parameter is_gui_app.
3484 (w32_executable_type): Add new parameter is_gui_app.
3485 (sys_spawnve): Use it.
3486 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3487 SIGQUIT. This matches better how the signals are interpreted by
3488 MSVC compiled programs.
3489 (syms_of_ntproc): Update docstring.
3490
34912001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3492
3493 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3494 well otherwise note_mouse_highlight might optimize away highlighting
3495 if we pass over that same overlay again.
3496
34972001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3498
3499 * lread.c (Fload): Document that the argument is run via
3500 substitute-in-file-name.
3501
35022001-05-31 Gerd Moellmann <gerd@gnu.org>
3503
3504 * Makefile.in (bootstrap-doc): New target.
3505 (bootstrap-emacs): Depend on it.
3506
3507 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3508 auto-save-list-file-name when shutting down Emacs, because
3509 creating the directory might signal an error, and leaves
3510 Emacs in a strange state.
3511
3512 * term.c: (tty_cursor_hidden): New variable.
3513 (update_begin): Don't call tty_hide_cursor. Clean up.
3514 (update_end, set_terminal_window, set_scroll_region): Clean up.
3515 (ring_bell, reset_terminal_modes): Clean up.
3516 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3517 on tty_cursor_hidden.
3518 (write_glyphs): Call tty_hide_cursor.
3519
35202001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3521
3522 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3523
35242001-05-30 Gerd Moellmann <gerd@gnu.org>
3525
3526 * xfns.c (enum image_value_type): New enumerator
3527 IMAGE_STRING_OR_NIL_VALUE.
3528 (parse_image_spec): Handle it.
3529 (xbm_format, pbm_format): Use it for :foreground and :background.
3530 (xbm_load, pbm_load): Check for nil color names.
3531
3532 * xterm.c (note_mouse_highlight): If an overlapping overlay
3533 exists, but we find that we highlight the same overlay as before,
3534 don't do the highlighting again.
3535
35362001-05-29 Gerd Moellmann <gerd@gnu.org>
3537
3538 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3539 Protect unibyte strings created by replacing their multibyte
3540 equivalents in menu_items.
3541
3542 * keymap.c (Fsingle_key_description): NUL-terminate the string
3543 buffer before calling build_string.
3544
3545 * callproc.c (Fcall_process): Deal with decode_coding returning
3546 CODING_FINISH_INCONSISTENT_EOL.
3547
35482001-05-28 Gerd Moellmann <gerd@gnu.org>
3549
3550 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3551 an item's name with its key description in case the description
3552 is a multibyte string.
3553
3554 * keymap.c (Fsingle_key_description): Create a multibyte string
3555 only if necessary.
3556
3557 * macros.c (Fstart_kbd_macro): Doc fix.
3558
3559 * xterm.c (cursor_in_mouse_face_p): New function.
3560 (x_draw_stretch_glyph_string): Use it to choose a different GC
3561 when drawing a cursor within highlighted text.
3562
3563 * editfns.c (char_property_eq): Put in #if 0.
3564
3565 * indent.c (string_display_width): Put in #if 0.
3566
3567 * lread.c (Fload): Remove unused label.
3568
3569 * termcap.c (speeds): Put in #if 0.
3570
35712001-05-18 Gerd Moellmann <gerd@gnu.org>
3572
3573 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3574
3575 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3576 transformation matrix by 10.
3577
35782001-05-16 Gerd Moellmann <gerd@gnu.org>
3579
3580 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3581 only if it's equal to the former foreground pixel color.
3582 (x_set_foreground_color, x_set_background_color)
3583 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3584
35852001-05-16 Dave Love <fx@gnu.org>
3586
3587 * insdel.c (signal_before_change, signal_after_change): Consider a
3588 local change hook which changes the buffer.
3589
3590 * process.c (read_process_output): Don't call signal_after_change
3591 and update_compositions after insert_from_string_before_markers.
3592
35932001-05-16 Gerd Moellmann <gerd@gnu.org>
3594
3595 * xfaces.c (split_font_name): Use the right field when
3596 checking for `[...]' syntax.
3597
3598 * buffer.c (copy_overlays): New function.
3599 (clone_per_buffer_values): Use it.
3600
3601 * buffer.h (OVERLAY_PLIST): New macro.
3602
3603 * keymap.c (Fsingle_key_description): Replace a build_string with
3604 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3605
3606 * fontset.c (Ffontset_info): Check that face is non-null
3607 before accessing its fields.
3608
36092001-05-15 Gerd Moellmann <gerd@gnu.org>
3610
3611 * keyboard.c (read_key_sequence): Prevent generating a fake
3612 prefix key twice.
3613
3614 * xfaces.c (split_font_name): Handle `[...]' for the right
3615 font name fields.
3616
3617 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3618 of CCL_STAT_INVALID_CMD.
3619
36202001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3621
3622 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3623 in <var> has no default value yet.
3624
3625 * xfaces.c (try_alternative_families): First try the FAMILY.
3626 And if nothing is found in the end, try again with scalable fonts.
3627 (try_font_list): Let try_alternative_families do a bit more of
3628 the work. Only use FAMILY if it is not nil.
3629 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3630
36312001-05-14 Gerd Moellmann <gerd@gnu.org>
3632
3633 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3634 pointer shape when show_mouse_face has already done it.
3635
3636 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
3637 full-width rows.
3638
3639 * xfaces.c (split_font_name): Make sure to leave the loop
3640 with the right value of `i'.
3641
3642 * xfaces.c (split_font_name): Handle matrix transformations
3643 in the pixel and point size fields of XLFD font names.
3644 (xlfd_point_size): Likewise.
3645
36462001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3647
3648 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
3649 (x_to_w32_font): Add prototype.
3650
3651 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3652 redefining, to avoid compiler warnings.
3653
3654 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3655
3656 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3657 (w32_get_bdf_glyph): Cast between unsigned char and char when
3658 passing arguments to subroutines, to shut up compiler warnings.
3659 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3660 GET_HEX_VAL.
3661
3662 * xfaces.c: Include keyboard.h before frame.h, not after it.
3663
3664 * widget.c: Include keyboard.h before frame.h.
3665
3666 * w32term.h (struct image, struct face): Forward declaration, to
3667 avoid compiler warnings.
3668
36692001-05-11 Gerd Moellmann <gerd@gnu.org>
3670
3671 * keyboard.c (read_key_sequence): Don't modify events when
3672 generating fake prefix keys (mode-line, scroll-bar, ...) since
3673 this prevents proper processing of such events when pushed back
3674 into unread-command-events.
3675
3676 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3677 actually redrawn. Make the function static.
3678 (note_mouse_highlight): Fix a case where the mouse cursor
3679 was changed back to the text cursor.
3680
3681 * xterm.h (clear_mouse_face): Remove prototype.
3682
3683 * xdisp.c (try_window_id): Fix the fix and set the right
3684 window_end_vpos.
3685
3686 * xdisp.c (try_window_id): Fix computation of window end in the
3687 case that lines were deleted at the end of the window. Add some
3688 more debug_method_adds.
3689
3690 * xfaces.c (try_alternative_families): New function.
3691 (try_font_list): Use it. If ATTRS specifies a family, check
3692 fonts from that family first.
3693 (choose_face_font): Remove code setting the family part of
3694 the pattern to nil.
3695
36962001-05-10 Gerd Moellmann <gerd@gnu.org>
3697
3698 * xdisp.c (try_window_id): Fix case of all changes before
3699 the window start.
3700
3701 * xdisp.c (try_window_id): Add some xasserts.
3702
37032001-05-09 Gerd Moellmann <gerd@gnu.org>
3704
3705 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3706
37072001-05-09 Dave Love <fx@gnu.org>
3708
3709 * xdisp.c (GIVE_UP): Fix for K&R C.
3710
37112001-05-09 Gerd Moellmann <gerd@gnu.org>
3712
3713 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3714
3715 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3716 back to the text cursor shape without need.
3717
37182001-05-07 Gerd Moellmann <gerd@gnu.org>
3719
3720 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3721
3722 * dispextern.h (inverse_video): Declare extern.
3723
3724 * keyboard.c (delete_kboard): Handle the case that selected_frame
3725 has been deleted in the course of x_connection_closed.
3726
37272001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3728
3729 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3730 Fix the change from 2001-04-30.
3731
37322001-05-03 Gerd Moellmann <gerd@gnu.org>
3733
3734 * xfns.c (file_dialog_unmap_cb): New function.
3735 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3736 where a dialog is closed via the window manager.
3737
3738 * xdisp.c (try_window_id): Cases of changes all in front of
3739 the window start or all below the window end mostly rewritten.
3740 (redisplay_window): Move the tests if try_window_id is
3741 applicable to try_window_id.
3742 (GIVE_UP): New macro.
3743
37442001-05-02 Gerd Moellmann <gerd@gnu.org>
3745
3746 * xterm.c (expose_window): Return int. If W is the window
3747 currently being updated, mark the frame garbaged.
3748 Fix computation of rows intersecting the exposed rectangle.
3749 (expose_window_tree): Stop when expose_window returns 0.
3750
3751 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3752 again if it has already been drawn.
3753
37542001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3755
3756 * syntax.c (update_syntax_table): Check that oldi has the same
3757 properties as old_prop before deciding not to invalidate.
3758
37592001-04-30 Gerd Moellmann <gerd@gnu.org>
3760
3761 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3762 read-only text that is so because of text properties.
3763
3764 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
3765 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
3766 windows that are components of a Lucid menu bar.
3767
37682001-04-27 Gerd Moellmann <gerd@gnu.org>
3769
3770 * term.c (turn_on_face): Fix reverse video handling on terminals
3771 that don't support colors.
3772
37732001-04-26 Gerd Moellmann <gerd@gnu.org>
3774
3775 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3776 a non-buffer.
3777
37782001-04-25 Gerd Moellmann <gerd@gnu.org>
3779
3780 * term.c (toggle_highlight): New function.
3781 (turn_on_face): Change handling of reverse video.
3782
3783 * process.c (wait_reading_process_input):
3784 Call record_asynch_buffer_change only if a timer really changed buffers.
3785
3786 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3787 of the number of overlays to check.
3788
3789 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3790
3791 * xdisp.c (try_window_id): Fix a case where window_end_pos
3792 and window_end_bytepos were not adjusted.
3793
37942001-04-23 Gerd Moellmann <gerd@gnu.org>
3795
3796 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3797 zero instead of -1.
3798
37992001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3800
3801 * process.c (wait_reading_process_input) [!subprocesses]:
3802 Don't reference waiting_for_user_input_p, it's not defined in the
3803 branch without async subprocesses support.
3804
38052001-04-19 Gerd Moellmann <gerd@gnu.org>
3806
3807 * keyboard.c (delete_kboard): Prevent a dangling reference
3808 from current_kboard to KB, which is freed.
3809
3810 * process.c (wait_reading_process_input):
3811 Call record_asynch_buffer_change after running timers, to make
3812 read_key_sequence aware of buffer changes from under it.
3813
38142001-04-18 Gerd Moellmann <gerd@gnu.org>
3815
3816 * xfaces.c (Qscalable_fonts_allowed): New variable.
3817 (realizing_basic_faces_p): Removed.
3818 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3819 removed.
3820 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
3821 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3822 for scalable-fonts-allowed to t.
3823
3824 * fileio.c (Finsert_file_contents): If the file size returned from
3825 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
3826 read from files on a procfs whose contents are generated dynamically.
3827
38282001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3829
3830 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3831 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3832 (__memalign_hook): Make the two prototypes consistent.
3833
38342001-04-17 Gerd Moellmann <gerd@gnu.org>
3835
3836 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3837 matrix of mini-windows.
3838
38392001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3840
3841 * intervals.c (find_interval): Don't rebalance during signal handling.
3842
38432001-04-11 Gerd Moellmann <gerd@gnu.org>
3844
3845 * fns.c: Include blockinput.h.
3846
3847 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3848
38492001-04-10 Gerd Moellmann <gerd@gnu.org>
3850
3851 * fns.c (Fcompare_strings): Fix return values.
3852
3853 * window.c (window_scroll): Change the meaning of N to mean
3854 N screen-fulls or N lines.
3855 (window_scroll_pixel_based, window_scroll_line_based)
3856 (scroll_command, Fscroll_other_window): Change accordingly.
3857
3858 * window.c (window_scroll_pixel_based, Frecenter):
3859 Call window_box_height instead of using it.last_visible_y for the
3860 height of the window.
3861
3862 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3863 instead of using it.last_visible_y for the height of the window.
3864
3865 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
3866 From Dan Holmsand <dan@eyebee.com>.
3867
3868 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
3869 able to write to hidden and system files. From Dan Holmsand
3870 <dan@eyebee.com>.
3871
3872 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3873 Holmsand <dan@eyebee.com>.
3874
38752001-04-09 Gerd Moellmann <gerd@gnu.org>
3876
3877 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3878
3879 * window.c (window_internal_height): Return 1 less if the
3880 window has a header line.
3881
3882 * xdisp.c (try_window_id): When scrolling on a terminal, take
3883 the change of window_internal_height into account.
3884
38852001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3886
3887 * gmalloc.c (align): If the argument SIZE would overflow
3888 __malloc_ptrdiff_t, fail right away.
3889
38902001-04-06 Gerd Moellmann <gerd@gnu.org>
3891
3892 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3893 Make sure the tooltip is completely visible.
3894 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3895
3896 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3897
3898 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3899
39002001-04-06 Dave Love <fx@gnu.org>
3901
3902 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3903 Fix test of `from'.
3904
39052001-04-06 Gerd Moellmann <gerd@gnu.org>
3906
3907 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
3908
3909 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3910
39112001-04-05 Gerd Moellmann <gerd@gnu.org>
3912
3913 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3914
3915 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
3916
3917 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3918 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3919
3920 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3921 shell widget's position only if it is non-null.
3922
3923 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3924 Set f->output_data.x->widget to null after destroying it.
3925
3926 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3927 FILENAME to bring it in synch with the documentation.
3928
3929 * xfaces.c (realizing_basic_faces_p): Renamed from
3930 realize_default_face_p.
3931 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3932 (realize_default_face): Don't set the flag.
3933
39342001-04-04 Gerd Moellmann <gerd@gnu.org>
3935
3936 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3937
3938 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3939
3940 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3941 the buffer that was used for echoing.
3942
3943 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3944 (first_font_matching): Removed unused function.
3945 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3946 (may_use_scalable_font_p): Remove parameter FONT; rename
3947 parameter NAME to FONT.
3948 (x_face_list_fonts): Fix missing bounds check.
3949 (realizing_default_face_p): New variable.
3950 (realize_default_face): Set and clear that flag.
3951 (x_face_list_fonts): When called during the realization of the
3952 default face, and no matching fonts are found when ignoring
3953 scalable fonts and fonts matching a regexp from
3954 face-ignored-fonts, try without ignoring fonts.
3955
39562001-04-03 Gerd Moellmann <gerd@gnu.org>
3957
3958 * xfns.c (postprocess_image): New function.
3959 (lookup_image): Call it for all image types except PostScript.
3960 (x_kill_gs_process): Call postprocess_image.
3961
3962 * xterm.c (x_use_underline_position_properties): New variable.
3963 (x_draw_glyph_string): Use it.
3964 (syms_of_xterm): DEFVAR_BOOL it.
3965
39662001-04-02 Gerd Moellmann <gerd@gnu.org>
3967
3968 * xterm.c (x_alloc_nearest_color_1): New function.
3969 (x_alloc_nearest_color): Use it.
3970 (x_color_cells): Take a Display as argument, instead of a frame.
3971 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3972 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3973 (x_initialize): Register cvt_string_to_pixel as resource converter
3974 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3975
39762001-03-30 Gerd Moellmann <gerd@gnu.org>
3977
3978 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3979 (set_iterator_to_next): If a string from a display property ends,
3980 consider the case that this might also be the end of an
3981 overlay string having the display property.
3982
3983 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
3984
3985 * xdisp.c (reseat_to_string): Undo last change.
3986
3987 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3988 matrix of a window when the header line changes, when
3989 new rows are allocated, or when the width changes.
3990
39912001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3992
3993 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
3994
39952001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3996
3997 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3998 deprecated.
3999
40002001-03-29 Gerd Moellmann <gerd@gnu.org>
4001
4002 * data.c (Fsubr_interactive_form): New function.
4003 (syms_of_data): Defsubr it.
4004
4005 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4006 (live_float_p, live_misc_p): Return 1 only if the offset of the
4007 pointer in its block is >= 0.
4008
40092001-03-28 Paul Eggert <eggert@twinsun.com>
4010
4011 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4012 microseconds calcuation. Avoid double-rounding problem.
4013 In doc string, warn that the result is approximate.
4014
40152001-03-28 Gerd Moellmann <gerd@gnu.org>
4016
4017 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4018 bind `inhibit-eval-during-redisplay' to t.
4019
4020 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4021
4022 * xdisp.c (inhibit_eval_during_redisplay)
4023 (Qinhibit_eval_during_redisplay): New variables.
4024 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4025 don't eval, return nil instead.
4026 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4027 Initialize Qinhibit_eval_during_redisplay.
4028
4029 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4030 the iterator's multibyte_p flag.
4031
4032 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4033 instead of setting it to zero; it's incremented for each frame
4034 where the menu face is changed.
4035
4036 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4037 change bottom shadow accordingly.
4038
4039 * xterm.c (expose_window_tree, expose_frame): Don't compute
4040 intersections here.
4041 (expose_window): Do it here instead.
4042 (x_draw_glyph_string): Fix a computation of the underline position.
4043
4044 * bytecode.c (BYTE_CODE_QUIT): New macro.
4045 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4046
40472001-03-27 Gerd Moellmann <gerd@gnu.org>
4048
4049 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4050 Give up if matrix starts in an ellipsis.
4051 (init_from_display_pos): Do nothing if POS doesn't specify
4052 a dpvec_index but the iterator has such a position.
4053
4054 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4055
4056 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4057 x/y position is (0, 0) after destroying the menu bar, restore
4058 its original position.
4059
4060 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4061 (init_from_display_pos): Use it.
4062 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4063
40642001-03-26 Gerd Moellmann <gerd@gnu.org>
4065
4066 * xdisp.c (try_window_id): Undo last change.
4067
40682001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4069
4070 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4071
4072 * buffer.c (syms_of_buffer): Doc fix.
4073
40742001-03-26 Gerd Moellmann <gerd@gnu.org>
4075
4076 * xfaces.c (x_update_menu_appearance): Use local variable
4077 popup_path for setting font resources.
4078
40792001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4080
4081 * frame.c (Fframe_list): Don't reference tip_frame if
4082 HAVE_WINDOW_SYSTEM is not defined.
4083
4084 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4085 <wl@gnu.org>.
4086
40872001-03-25 Gerd Moellmann <gerd@gnu.org>
4088
4089 * xdisp.c (init_from_display_pos): Test invisible property
4090 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
4091
4092 * xdisp.c (redisplay_internal) <update one window>: Make sure
4093 last_arrow_position and last_arrow_string are set.
4094
4095 * frame.c (Fframe_list): Don't return a tooltip frame.
4096
40972001-03-23 Gerd Moellmann <gerd@gnu.org>
4098
4099 * xdisp.c (mark_window_display_accurate_1): New function,
4100 extracted from mark_window_display_accurate.
4101 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
4102 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4103 (mark_window_display_accurate): Use it.
4104 (redisplay_internal): Use it for the selected window.
4105 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4106 for the selected frame.
4107
4108 * xdisp.c Use make_number, for readability.
4109 (try_window_id): Disable rows below the window end.
4110 (try_window_reusing_current_matrix): Use cursor_row_p.
4111 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4112 of rows.
4113 (init_from_display_pos): If POS specifies a position in a display
4114 vector, maybe get the iterator set up for that ellipsis.
4115
4116 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4117
41182001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4119
4120 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4121
41222001-03-23 Gerd Moellmann <gerd@gnu.org>
4123
4124 * xfaces.c (x_update_menu_appearance): Use a different path
4125 for Lucid popup menus.
4126
41272001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4128
4129 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4130
4131 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4132 (string_buffer_position): Use `make_number'.
4133
41342001-03-22 Gerd Moellmann <gerd@gnu.org>
4135
4136 * xfaces.c (x_update_menu_appearance): Renamed from
4137 x_set_menu_face_resources. Use different resources for popups.
4138
4139 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4140 (GC_CHECK_STRING_BYTES): Don't define.
4141
4142 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4143 Removed, together with subroutines.
4144 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
4145 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
4146
4147 * dispextern.h (x_set_menu_resources_from_menu_face):
4148 Remove prototype.
4149
4150 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
4151 Remove calls to x_set_menu_resources_from_menu_face.
4152
4153 * xfaces.c (xm_set_menu_resources_from_menu_face):
4154 Remove #ifndef LESSTIF_VERSION.
4155
4156 * xmenu.c: Include widget.h.
4157 (single_submenu): Return int. Some cleanup.
4158 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4159
41602001-03-21 Gerd Moellmann <gerd@gnu.org>
4161
4162 * xterm.c (x_update_window_end): Handle overwritten mouse face
4163 also for tool bar windows.
4164 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4165 DRAW is DRAW_IMAGE_RAISED.
4166
41672001-03-20 Gerd Moellmann <gerd@gnu.org>
4168
4169 * print.c (syms_of_print): Doc fixes.
4170
4171 * fns.c (Fmd5): Doc fix.
4172
41732001-03-19 Gerd Moellmann <gerd@gnu.org>
4174
4175 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4176 Clear area of the frame not occupied by the scroll bar.
4177
4178 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4179 tip frame's root window buffer to *tip* right after creating
4180 the frame.
4181
4182 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4183 is an integer don't have to be for space characters.
4184
41852001-03-16 Gerd Moellmann <gerd@gnu.org>
4186
4187 * indent.c (current_column, current_column_1, Fmove_to_column)
4188 (compute_motion): Handle characters from display vectors differently.
4189
41902001-03-15 Kenichi Handa <handa@etl.go.jp>
4191
4192 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4193 drawing glyph string.
4194
41952001-03-15 Gerd Moellmann <gerd@gnu.org>
4196
4197 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4198 (command_loop_1): Undo last change.
4199
4200 * xterm.c (fast_find_position): Return the correct vpos.
4201
4202 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
4203 non-null, set a per-buffer value in BUF instead of the current buffer.
4204 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4205 Call store_symval_forwarding with BUF null.
4206 (set_internal): Call store_symval_forwarding with the BUF
4207 parameter passed to set_internal. Formerly, the value was always
4208 set in the current buffer; the buffer recorded in specbind for
4209 this case wasn't used.
4210 (arith_driver): Reindent.
4211
4212 * buffer.c (swap_out_buffer_local_variables):
4213 Call store_symval_forwarding with BUF null.
4214
4215 * lisp.h (store_symval_forwarding): Change prototype.
4216
4217 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4218
42192001-03-14 Gerd Moellmann <gerd@gnu.org>
4220
4221 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4222 FOR_DELETION. Avoid resizing the mini-window of the selected
4223 frame if FOR_DELETION is set.
4224 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4225 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4226 signature.
4227
4228 * window.c (Fset_window_configuration): Change call to
4229 do_switch_frame to new format.
4230
4231 * keyboard.c (quit_throw_to_read_char): Change call to
4232 do_switch_frame to new format.
4233
4234 * lisp.h (do_switch_frame): Change prototype.
4235
4236 * frame.c (Fframe_parameters): In the `buffer-list' frame
4237 parameter, store the buffer list of FRAME, not the list of the
4238 selected frame.
4239
4240 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4241 box just because the glyph row's full_width_p flag is set.
4242
42432001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4244
4245 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4246 skip the padding blanks inserted in extend_face_to_end_of_line,
4247 before checking for trailing whitespace.
4248
42492001-03-13 Gerd Moellmann <gerd@gnu.org>
4250
4251 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
4252 Remove special handling for LessTif/Motif.
4253 (toplevel): Don't include Xm/Xm.h.
4254
4255 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4256 Remove workaround code for LessTif; it doesn't work anymore.
4257
4258 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
4259 Xm/ScrollBarP.h.
4260
4261 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4262 Don't access private scroll bar data; it's no longer necessary with
4263 contemporary LessTif.
4264
4265 * xfaces.c (xm_set_menu_resources_from_menu_face):
4266 Change #if 0 to #ifndef LESSTIF_VERSION.
4267
4268 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4269 removing button grabs.
4270
42712001-03-13 Kenichi Handa <handa@etl.go.jp>
4272
4273 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4274 and clip-large-size-font as obsolete.
4275
4276 * lread.c (read_multibyte): Check the validity of multibyte
4277 sequence. If invalid, return the first byte.
4278
42792001-03-12 Gerd Moellmann <gerd@gnu.org>
4280
4281 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4282 before running the command; timer functions or process
4283 filters may have set it.
4284
42852001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4286
4287 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4288 Doc fix.
4289
42902001-03-12 Gerd Moellmann <gerd@gnu.org>
4291
4292 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4293 to sprintf.
4294
42952001-03-09 Gerd Moellmann <gerd@gnu.org>
4296
4297 * dispextern.h (string_buffer_position): Add prototype.
4298
4299 * xdisp.c (string_buffer_position, display_prop_string_p)
4300 (single_display_prop_string_p): New functions.
4301
4302 * xterm.c (note_mouse_highlight): If there's no help-echo on
4303 a string, look at the buffer text ``under'' it.
4304
4305 * keyboard.c (make_lispy_event): Add string info to the event,
4306 analogous to what's done on mode lines.
4307 (read_key_sequence): For a click on a string, consider `local-map'
4308 and `keymap' of that string.
4309
4310 * keyboard.c (make_lispy_event, make_lispy_movement):
4311 Adjust calls to buffer_posn_from_coords to new format.
4312
4313 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4314
4315 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4316 POS; return void.
4317
4318 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4319 flags argument to emacs_open; it seems to conflict with O_EXCL.
4320
43212001-03-09 Kenichi Handa <handa@etl.go.jp>
4322
4323 * composite.h (struct composition): Change types of members;
4324 glyph_len to unsigned, width to unsigned short.
4325
43262001-03-08 Andrew Innes <andrewi@gnu.org>
4327
4328 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4329 menu titles.
4330
43312001-03-08 Gerd Moellmann <gerd@gnu.org>
4332
4333 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4334 instead of nil.
4335
4336 * xterm.c (note_mouse_highlight): Handle mouse-face and
4337 help-echo in strings.
4338 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4339 (fast_find_string_pos): New function.
4340
4341 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4342 (display_string): Call face_at_string_position with new parameter.
4343
4344 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4345 Handle `mouse-face'.
4346
4347 * dispextern.h (face_at_string_position): Change prototype.
4348
4349 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
4350
4351 * keyboard.c (make_lispy_event): Avoid generating drag events
4352 if the mouse hasn't actually moved to another buffer position.
4353
43542001-03-08 Dave Love <fx@gnu.org>
4355
4356 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
4357
43582001-03-08 Gerd Moellmann <gerd@gnu.org>
4359
4360 * process.c (Fset_process_window_size): Fix a typo.
4361
43622001-03-08 Kenichi Handa <handa@etl.go.jp>
4363
4364 * coding.c (detect_coding_sjis): Do more rigid check.
4365 (detect_coding_big5): Likewise.
4366 (decode_coding_sjis_big5): Likewise.
4367 (Fdetect_coding_region): Call detect_coding_system with tailing
4368 anchor byte `\0' for more rigid detection.
4369 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
4370 (Fdetect_coding_string): Likewise.
4371
43722001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4373
4374 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4375 a string before extracting its data.
4376
43772001-03-07 Gerd Moellmann <gerd@gnu.org>
4378
4379 * window.c (Frecenter): Rewrite code handling negative values
4380 of ARG on graphical frames.
4381
43822001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4383
4384 * window.c (displayed_window_lines): If W->start is outside the
4385 accessible portion of the buffer, call start_display with BEGV or
4386 ZV instead of W->start.
4387
43882001-03-07 Gerd Moellmann <gerd@gnu.org>
4389
4390 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4391
4392 * process.c (Fset_process_filter): Don't crash if the input
4393 file descriptor of PROCESS is closed.
4394 (Fset_process_window_size): Likewise.
4395
43962001-03-06 Kenichi Handa <handa@etl.go.jp>
4397
4398 * xterm.c (XTflash): Make the timeout of select shorter, and call
4399 select repeatedly until the desired time expires.
4400
44012001-03-06 Gerd Moellmann <gerd@gnu.org>
4402
4403 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4404
4405 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4406
4407 * lisp.h (Vwindow_list): Declare extern.
4408
44092001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4410
4411 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4412
44132001-03-06 Gerd Moellmann <gerd@gnu.org>
4414
4415 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4416 to detect a case where we have to highlight a different region
4417 despite not having left the currently highlighted region.
4418 Set mouse_face_overlay in the x_display_info.
4419 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
4420
4421 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4422
4423 * buffer.c (mouse_face_overlay_overlaps): New function.
4424
4425 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4426 (Qmouse_face): Declare extern.
4427
4428 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4429 if face_change_count is non-zero.
4430
44312001-03-06 Kenichi Handa <handa@etl.go.jp>
4432
4433 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4434 that the source is unibyte.
4435
44362001-03-05 Dave Love <fx@gnu.org>
4437
4438 * xterm.c (XTmouse_position): Fix typo.
4439
44402001-03-05 Gerd Moellmann <gerd@gnu.org>
4441
4442 * minibuf.c (read_minibuf): Clean up the binding stack if
4443 called noninteractively.
4444
44452001-03-05 Kenichi Handa <handa@etl.go.jp>
4446
4447 * coding.c (syms_of_coding): Docstring modified.
4448
44492001-03-05 Kenichi Handa <handa@etl.go.jp>
4450
4451 * charset.c (char_to_string): If a single byte char has modifier
4452 bits that can't be reflected to the character code, ignore them
4453 instead of signaling an error.
4454
44552001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4456
4457 * s/msdos.h: Update copyright notice.
4458
4459 * dosfns.h: Update copyright notice.
4460
4461 * dosfns.c: Update copyright notice.
4462
4463 * msdos.c: Update copyright notice.
4464
44652001-03-02 Gerd Moellmann <gerd@gnu.org>
4466
4467 * xterm.c (glyph_rect): New function.
4468 (XTmouse_position): Use it to raise the threshold for mouse
4469 movement event generation.
4470
44712001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4472
4473 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4474 specifies (reverse . t), reverse the initial screen colors.
4475 (IT_set_frame_parameters): If the property is foreground-color,
4476 but we are reversing the colors, set bg_set, not fg_set.
4477 Likewise for setting background-color and reversing: set fg_set.
4478 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
4479 in effect.
4480
4481 * xfaces.c (Finternal_set_lisp_face_attribute)
4482 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4483 parameters alist.
4484
44852001-03-02 Gerd Moellmann <gerd@gnu.org>
4486
4487 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4488 to a single slash in the middle of file names.
4489
4490 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
4491 Accept only alphanumeric time zone names.
4492
4493 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4494 or width area.
4495 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4496 a widget to zero height.
4497
44982001-03-01 Gerd Moellmann <gerd@gnu.org>
4499
4500 * window.c (Fwindow_end): Call move_it_past_eol only if
4501 ending up on a partially visible line.
4502
45032001-03-01 Dave Love <fx@gnu.org>
4504
4505 * ccl.c (Fccl_execute): Doc fix.
4506
45072001-03-01 Gerd Moellmann <gerd@gnu.org>
4508
4509 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4510 of the tool bar before calling x_figure_window_size.
4511
4512 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4513 NULL after destroying it, otherwise XTread_socket can access a
4514 destroyed widget when input is unblocked.
4515
4516 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
4517
4518 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4519 same name as before, although there was a change in fontsets.
4520
45212001-02-28 Ken Raeburn <raeburn@gnu.org>
4522
4523 * lisp.h (Fframe_parameter): Declare.
4524
4525 * window.c (set_window_buffer): Field vscroll is an int, not a
4526 Lisp_Object.
4527
45282001-02-28 Gerd Moellmann <gerd@gnu.org>
4529
4530 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4531 NULL instead.
4532
4533 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4534 NULL instead.
4535
4536 * alloc.c (toplevel): Include process.h.
4537 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4538 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4539 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
4540 (allocate_vector, allocate_hash_table, allocate_window)
4541 (allocate_frame, allocate_process, allocate_other_vector):
4542 New functions.
4543 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4544 (mark_maybe_pointer): New function.
4545 (mark_memory): Also mark Lisp data to which only pointers
4546 remain and not Lisp_Objects.
4547 (min_heap_address, max_heap_address): New variables.
4548 (mem_find): Return MEM_NIL if START is below min_heap_address or
4549 above max_heap_address.
4550 (mem_insert): Compute min_heap_address and max_heap_address.
4551
4552 * process.c (make_process): Use allocate_process.
4553
4554 * frame.c (make_frame): Use allocate_frame.
4555
4556 * window.c (make_window, make_dummy_parent): Use allocate_window.
4557 (Fcurrent_window_configuration): Use allocate_other_vector.
4558
4559 * lisp.h (allocate_vectorlike): Remove prototype.
4560 (allocate_vector, allocate_other_vector, allocate_frame)
4561 (allocate_window, allocate_process, allocate_hash_table):
4562 Add prototypes.
4563
4564 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4565 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4566
45672001-02-27 Kenichi Handa <handa@etl.go.jp>
4568
4569 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4570 treat the produced bytes as a valid multibyte sequence.
4571
4572 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
4573 (ccl_driver) <CCL_WriteMultibyteChar2>:
4574 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
4575 <ccl_finish>: Set ccl->eight_bit_control properly.
4576
4577 * ccl.h (struct ccl_program): New member eight_bit_control.
4578
45792001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4580
4581 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4582 accessible_keymaps_char_table.
4583 (accessible_keymaps_char_table): Obey `is_metized'.
4584 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4585 Lisp_Object.
4586
45872001-02-26 Gerd Moellmann <gerd@gnu.org>
4588
4589 * dispnew.c: Check HAVE_TERM_H before including term.h.
4590
45912001-02-24 Andrew Innes <andrewi@gnu.org>
4592
4593 * makefile.w32-in: Update copyright notice.
4594
45952001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4596
4597 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4598
45992001-02-24 Kenichi Handa <handa@etl.go.jp>
4600
4601 * Makefile.in (lisp): Add international/utf-8.elc.
4602
4603 * fontset.c (Fnew_fontset): Fix handling of the case that an
4604 element of FONTLIST is a cons of family and registry.
4605
46062001-02-23 Jason Rumney <jasonr@gnu.org>
4607
4608 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4609 to height unconditionally.
4610
4611 * w32term.c (x_set_glyph_string_background_width): Extend the
4612 background face to the end of the drawing area in the text area, only.
4613 (x_insert_glyphs): Call window_box_left to obtain the left
4614 x-coordinate of the area to shift.
4615
4616 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4617 safe_run_hooks.
4618
46192001-02-22 Andrew Innes <andrewi@gnu.org>
4620
4621 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
4622 ($(BLD)\dispnew.obj):
4623 ($(BLD)\editfns.obj):
4624 ($(BLD)\fileio.obj):
4625 ($(BLD)\filelock.obj):
4626 ($(BLD)\keyboard.obj):
4627 ($(BLD)\w32proc.obj):
4628 ($(BLD)\process.obj):
4629 ($(BLD)\sysdep.obj): Ditto.
4630
4631 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4632 header files.
4633 ($(BLD)/dispnew.$(O)):
4634 ($(BLD)/editfns.$(O)):
4635 ($(BLD)/fileio.$(O)):
4636 ($(BLD)/filelock.$(O)):
4637 ($(BLD)/keyboard.$(O)):
4638 ($(BLD)/w32proc.$(O)):
4639 ($(BLD)/process.$(O)):
4640 ($(BLD)/sysdep.$(O)): Ditto.
4641
46422001-02-22 Gerd Moellmann <gerd@gnu.org>
4643
4644 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4645 at the start of the function, check that the \n in it->c is
4646 from the iterator's current position.
4647
4648 * xdisp.c (handle_single_display_prop): Add parameter
4649 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4650 properties which replace the display of text with something else.
4651 (handle_display_prop): Call handle_single_display_prop with
4652 additional argument saying if we already replaced text display
4653 with something else. Use AREF.
4654 (with_echo_area_buffer_unwind_data, display_menu_bar)
4655 (decode_mode_spec_coding): Use AREF and ASIZE.
4656
4657 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4658 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4659 * vmstime.h: Files removed.
4660
4661 * unexencap.c, unexfx2800.c: Files removed.
4662
4663 * dispnew.c (direct_output_for_insert): Give up if we are showing
4664 a message or just cleared the message because we might need to
4665 resize the echo area window or display an empty echo area.
4666
46672001-02-21 Gerd Moellmann <gerd@gnu.org>
4668
4669 * xdisp.c (redisplay_internal): Do the
4670 mark_window_display_accurate after all windows have been
4671 redisplayed because this call resets flags in buffers which are
4672 needed for proper redisplay.
4673
4674 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4675 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
4676 the old names.
4677
4678 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4679 busy_window to hourglass_window, busy_p to hourglass_p.
4680
4681 * msdos.h (struct x_output): Rename busy_window to
4682 hourglass_window, busy_p to hourglass_p.
4683
4684 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4685 busy_window to hourglass_window, busy_p to hourglass_p.
4686
4687 * xfns.c: Rename everything containing *busy_cursor* and similar
4688 to *hourglass*.
4689 (syms_of_w32fns): Rename x-busy-pointer-shape to
4690 x-hourglass-pointer-shape, display-busy-cursor to
4691 display-hourglass, busy-cursor-delay to hourglass-delay.
4692
4693 * w32fns.c: Rename everything containing *busy_cursor* and similar
4694 to *hourglass*.
4695 (syms_of_w32fns): Rename x-busy-pointer-shape to
4696 x-hourglass-pointer-shape, display-busy-cursor to
4697 display-hourglass, busy-cursor-delay to hourglass-delay.
4698
4699 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4700 of its busy_p flag.
4701
4702 * dispextern.h (start_hourglass, cancel_hourglass)
4703 (display_hourglass_p): Renamed from *busy_cursor*.
4704
47052001-02-20 Gerd Moellmann <gerd@gnu.org>
4706
4707 * keyboard.c (read_char): When an event from unread-command-events
4708 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4709
4710 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4711 equal to the current buffer.
4712
4713 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4714 nil, otherwise we're left with truncate_lines t when a message
4715 is printed with message-truncate-lines bound to t.
4716
47172001-02-19 Gerd Moellmann <gerd@gnu.org>
4718
4719 * window.c (Fmove_to_window_line): Undo last change.
4720 (displayed_window_lines): Call line_bottom_y to determine
4721 the line's bottom position.
4722
4723 * dispextern.h (line_bottom_y): Add prototype.
4724
4725 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
4726 (pos_visible_p): Use it.
4727
4728 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4729 set redisplaying_p to 0 here instead of in Frecursive_edit.
4730 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4731 set redisplaying_p.
4732
4733 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
4734 New variables.
4735 (syms_of_xdisp): Initialize new variables.
4736 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4737 Specbind `inhibit-menubar-update' when updating the menu bar.
4738
4739 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4740 safe_run_hooks.
4741
4742 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4743 safe_run_hooks.
4744
4745 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4746 is null.
4747
4748 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4749 to the start of the file.
4750
47512001-02-16 Gerd Moellmann <gerd@gnu.org>
4752
4753 * window.c (set_window_buffer): Fix last change.
4754
4755 * window.c (set_window_buffer): Set window's vscroll to 0.
4756
4757 * window.c (coordinates_in_window): Increase width of area
4758 where the vertical line can be dragged.
4759
4760 * xterm.c (x_set_glyph_string_background_width): Extend the
4761 background face to the end of the drawing area in the text
4762 area, only.
4763
4764 * xdisp.c (handle_single_display_prop): Set iterator's position
4765 to where the `display' property starts, like for images.
4766 (dump_glyph): New function.
4767 (dump_glyph_row): Use it. Dump info about marginal areas.
4768
4769 * dispnew.c (direct_output_for_insert): Recognize more cases where
4770 glyphs can be written instead of being inserted.
4771
4772 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4773 the left x-coordinate of the area to shift.
4774
4775 * dired.c (directory_files_internal): Set result list to nil
4776 before retrying.
4777
47782001-02-15 Kenichi Handa <handa@etl.go.jp>
4779
4780 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4781 invalid multibyte sequence, treat *SRC as a character of
4782 eight-bit-graphic.
4783
47842001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4785
4786 * textprop.c (Fset_text_properties): Doc fix.
4787
47882001-02-15 Gerd Moellmann <gerd@gnu.org>
4789
4790 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4791
47922001-02-14 Dave Love <fx@gnu.org>
4793
4794 * coding.c: Doc and message fixes.
4795
47962001-02-14 Andrew Innes <andrewi@gnu.org>
4797
4798 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4799 Emacs frame above the screen size.
4800
48012001-02-14 Gerd Moellmann <gerd@gnu.org>
4802
4803 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4804
48052001-02-13 Gerd Moellmann <gerd@gnu.org>
4806
4807 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4808 case that TO ends up beyond ZV after running before-change-functions.
4809
4810 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4811 the selected window if it is showing the buffer in question.
4812
4813 * dired.c (directory_files_internal): Initialize errno.
4814 (toplevel): Include errno.h.
4815
48162001-02-13 Kenichi Handa <handa@etl.go.jp>
4817
4818 * xfaces.c (best_matching_font): New parameter width_ratio.
4819 Multiply avgwidth by width_ratio.
4820 (choose_face_font): Call best_matching_font with width_ratio
4821 calculated from the column width of C.
4822
48232001-02-12 Andrew Innes <andrewi@gnu.org>
4824
4825 The following changes are to draw box lines inside characters area
4826 if line-width is negative.
4827
4828 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4829 face->box_line_width is negative.
4830 (x_produce_stretch_glyph): Likewise.
4831 (x_produce_glyphs): Likewise.
4832 (x_estimate_mode_line_height): Likewise.
4833 (x_draw_glyph_string_background): Likewise.
4834 (x_draw_glyph_string_foreground): Likewise.
4835 (x_draw_composite_glyph_string_foreground): Likewise.
4836 (x_draw_glyph_string_box): Likewise.
4837 (x_draw_image_foreground): Likewise.
4838 (x_draw_image_relief): Likewise.
4839 (x_draw_image_foreground_1): Likewise.
4840 (x_draw_image_glyph_string): Likewise.
4841
48422001-02-09 Kenichi Handa <handa@etl.go.jp>
4843
4844 The following changes are to draw box lines inside characters area
4845 if line-width is negative.
4846
4847 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4848 face->box_line_width is negative.
4849 (x_produce_stretch_glyph): Likewise.
4850 (x_produce_glyphs): Likewise.
4851 (x_estimate_mode_line_height): Likewise.
4852 (x_draw_glyph_string_background): Likewise.
4853 (x_draw_glyph_string_foreground): Likewise.
4854 (x_draw_composite_glyph_string_foreground): Likewise.
4855 (x_draw_glyph_string_box): Likewise.
4856 (x_draw_image_foreground): Likewise.
4857 (x_draw_image_relief): Likewise.
4858 (x_draw_image_foreground_1): Likewise.
4859 (x_draw_image_glyph_string): Likewise.
4860
4861 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4862 and :line-width can be negative.
4863 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
4864
48652001-02-09 Jason Rumney <jasonr@gnu.org>
4866
4867 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4868 characters the same as ASCII and latin-1.
4869 (x_display_and_set_cursor): Check for the focus frame's selected
4870 window instead of selected_window.
4871 (x_after_update_window_line): Don't clear if frame's internal
4872 border width is zero.
4873 (x_new_font): Don't change a tooltip's size.
4874 (w32_initialize): Set char_ins_del_ok to 1.
4875
4876 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4877 (x_set_font): If font hasn't changed, avoid recomputing
4878 faces and other things.
4879 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4880 (Fx_create_frame): Add the tool bar height to the frame height.
4881 (x_create_tip_frame): Prevent changing the tooltip's
4882 background color by specifying a color for the default font
4883 in .Xdefaults.
4884 (Qcancel_timer): New variable.
4885 (syms_of_w32fns): Initialize and staticpro it.
4886 (Fx_hide_tip, Fx_show_tip): Use it.
4887 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4888 the timer.
4889 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4890
4891 * w32.c (init_environment): Duplicate local string before putenv.
4892
48932001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4894
4895 * charset.c (Fstring): A typo.
4896
48972001-02-09 Kenichi Handa <handa@etl.go.jp>
4898
4899 * charset.c (Fstring): If all arguments are less than 256, return
4900 a unibyte string.
4901
4902 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4903 return a unibyte string.
4904
4905 * coding.c (code_convert_region): After detecting a coding, if
4906 nothing found, set coding->composing to COMPOSITION_NO.
4907 (decode_coding_string): Likewise.
4908
49092001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4910
4911 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4912 to avoid overflow.
4913
49142001-02-07 Kenichi Handa <handa@etl.go.jp>
4915
4916 * charset.c (parse_str_to_multibyte): New function.
4917
4918 * charset.h (parse_str_to_multibyte): Extern it.
4919
4920 * print.c (print_string): If we are going to print a unibyte
4921 string into a multibyte buffer, convert the string to multibyte by
4922 str_to_multibyte.
4923
49242001-02-06 Andrew Innes <andrewi@gnu.org>
4925
4926 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4927 been created. It seems we can get sent window messages such as
4928 WM_ERASEBKGND before we properly update a frame.
4929
49302001-02-06 Gerd Moellmann <gerd@gnu.org>
4931
4932 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4933 Avoid some unnecessary cursor positioning.
4934
49352001-02-05 Gerd Moellmann <gerd@gnu.org>
4936
4937 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
4938 (LFACE_AVGWIDTH): New macro.
4939 (LFACEP): Use AREF.
4940 (check_lface_attrs): Check LFACE_AVGWIDTH.
4941 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4942 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4943 (merge_face_vectors): Check LFACE_AVGWIDTH.
4944 (Finternal_make_lisp_face): Use AREF.
4945 (xm_set_menu_resources_from_menu_face)
4946 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4947 (Finternal_lisp_face_empty_p): Use AREF.
4948 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4949 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4950 Compare average widths..
4951 (best_matching_font): Arrange for comparing average widths.
4952
4953 * dispextern.h (enum lface_attribute_index):
4954 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4955
49562001-02-05 Dave Love <fx@gnu.org>
4957
4958 * puresize.h: Revert last change following loadup.el change.
4959
49602001-02-05 Andrew Innes <andrewi@gnu.org>
4961
4962 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4963 invocation of temacs, to work with Windows 2000.
4964 (bootstrap-emacs): Ditto.
4965
49662001-02-05 Gerd Moellmann <gerd@gnu.org>
4967
4968 * xterm.c (x_display_and_set_cursor): Check for the focus
4969 frame's selected window instead of selected_window.
4970
4971 * xdisp.c (try_scrolling): If point is in the line below the
4972 window, make sure to move the iterator at least a canonical
4973 char height down.
4974
4975 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
4976
49772001-02-05 Kenichi Handa <handa@etl.go.jp>
4978
4979 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4980 If invalid, execute CCL_INVALID_CMD.
4981 (ccl_driver): If the CCL program is terminated because of
4982 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4983 destination instead of throwing them away.
4984
49852001-02-02 Gerd Moellmann <gerd@gnu.org>
4986
4987 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4988 faces and other things.
4989
4990 * xdisp.c (get_next_display_element): Fix case of empty
4991 display table entry.
4992
49932001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4994
4995 * editfns.c (Fconstrain_to_field): Doc fix.
4996
4997 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4998 into `thoroughly', to make it consistent with the doc string.
4999
5000 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5001
50022001-02-01 Gerd Moellmann <gerd@gnu.org>
5003
5004 * search.c (search_buffer): Call set_search_regs with a byte
5005 position, not a character position.
5006
5007 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5008 minibuffer-only,
5009
50102001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5011
5012 * frame.c (Fmodify_frame_parameters): Doc fix.
5013
50142001-01-31 Gerd Moellmann <gerd@gnu.org>
5015
5016 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5017 identifier which is not reserved by Standard C.
5018
5019 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5020
5021 * window.c (enum window_part): New enumeration.
5022 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5023 Qright_bitmap_area.
5024 (coordinates_in_window): Return an enumerator from enum
5025 window_part. Fix handling of right scroll bar.
5026 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5027 `right-fringe' instead of `left-bitmap-area' and
5028 `right-bitmap-area'. Use enumerators from enum window_part
5029 instead of hard-coded integers.
5030 (check_window_containing, window_from_coordinates):
5031 Use enumerators from enum window_part instead of hard-coded integers.
5032 (syms_of_window): Replace Qleft_bitmap_area and
5033 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5034
50352001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5036
5037 * editfns.c (Fformat_time_string): Doc fix.
5038
50392001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5040
5041 * keymap.c (Fwhere_is_internal): Use the first valid binding
5042 if no ascii binding is found (when firstonly is t).
5043
50442001-01-31 Gerd Moellmann <gerd@gnu.org>
5045
5046 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5047 instead of Finteractive_p.
5048
5049 * lisp.h (interactive_p): Add prototype.
5050
5051 * eval.c (interactive_p): New function.
5052 (Finteractive_p): Use it.
5053
5054 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5055
50562001-01-31 Dave Love <fx@gnu.org>
5057
5058 * .gdbinit (hook-run): Define to run xreload.
5059
5060 * textprop.c (Fset_text_properties): Fix newline in doc string.
5061
50622001-01-30 Gerd Moellmann <gerd@gnu.org>
5063
5064 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5065 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
5066
5067 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
5068 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
5069 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5070
5071 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5072 height.
5073
50742001-01-30 Dave Love <fx@gnu.org>
5075
5076 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5077 AFTER_POTENTIAL_GC.
5078
50792001-01-29 Gerd Moellmann <gerd@gnu.org>
5080
5081 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5082 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
5083
50842001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5085
5086 * textprop.c (Fset_text_properties): Doc fix.
5087
50882001-01-29 Gerd Moellmann <gerd@gnu.org>
5089
5090 * xdisp.c (forward_to_next_line_start): Remove xassert.
5091
50922001-01-29 Jason Rumney <jasonr@gnu.org>
5093
5094 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
5095 returning without releasing it.
5096
50972001-01-29 Kenichi Handa <handa@etl.go.jp>
5098
5099 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5100 for '^', '$', and '\0'.
5101
51022001-01-28 Andrew Choi <akochoi@i-cable.com>
5103
5104 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5105 regex for '^', '$', and '\0'.
5106
5107 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5108 only if current_sblock has been initialized.
5109
5110 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5111 terminal frame even if it is the only visible frame.
5112
51132001-01-28 Kenichi Handa <handa@etl.go.jp>
5114
5115 * fontset.c (font_family_registry): Even if FONTNAME conform to
5116 XLFD, if it specifies other fields than family and registry,
5117 return FONTANME. New argument FORCE if nonzero cancel that feature.
5118 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
5119 a signle byte character. Don't set FAMILY part to nil here.
5120 It is handled by the caller choose_face_font.
5121 (Fnew_fontset): Call font_family_registry with FORCE 0.
5122 (Fset_fontset_font): Likewise.
5123
51242001-01-27 Gerd Moellmann <gerd@gnu.org>
5125
5126 * xdisp.c (display_line): Don't treat a newline as fitting
5127 on the line.
5128
51292001-01-26 Gerd Moellmann <gerd@gnu.org>
5130
5131 * window.c (size_window): Set the window's orig_top to nil when
5132 changing heights, so that a future shrink_mini_window won't
5133 restore a bogus height.
5134
5135 * frame.c (do_switch_frame): If selected frame has a mini-window,
5136 resize that to exact size.
5137
5138 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5139
5140 * xdisp.c (display_line): Simplify check for glyphs fitting
5141 entirely in the line.
5142
5143 * xfns.c (xic_style): New variable.
5144 (create_frame_xic): Move static variable to global scope for
5145 the case that `static' gets defined away.
5146
51472001-01-26 Kenichi Handa <handa@etl.go.jp>
5148
5149 * coding.c (decode_coding): Set a flag for inhibiting
5150 inconsistent eol.
5151 (code_convert_region): Always set saved_coding_symbol.
5152 (decode_coding_string): Likewise. Update coding->symbol when we
5153 encounter a inconsistent eol by the same way as code_convert_region.
5154
51552001-01-25 Gerd Moellmann <gerd@gnu.org>
5156
5157 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5158 XClearArea.
5159
5160 * xterm.c (x_after_update_window_line): Don't clear if frame's
5161 internal border width is zero.
5162 (x_clear_area): New function.
5163 (x_after_update_window_line, x_clear_end_of_line)
5164 (x_scroll_bar_create, x_scroll_bar_set_handle)
5165 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5166 instead of XClearArea.
5167
5168 * xterm.h (x_clear_area): Add prototype.
5169
5170 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5171 which doesn't seem necessary anymore with Lesstif 0.92.
5172
51732001-01-25 Dave Love <fx@gnu.org>
5174
5175 * puresize.h (BASE_PURESIZE): Up to 720000.
5176
5177 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5178
51792001-01-25 Gerd Moellmann <gerd@gnu.org>
5180
5181 * xdisp.c (echo_area_display): Don't call redisplay_internal
5182 when Emacs is shutting down. We can't run hooks etc. that
5183 would be necessary to do a redisplay.
5184
5185 * lread.c (read_integer): Use type EMACS_INT instead of int.
5186
51872001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5188
5189 * ccl.c (ccl_driver): Fix last change.
5190
51912001-01-25 Kenichi Handa <handa@etl.go.jp>
5192
5193 * ccl.h (sturct ccl_program): New member suppress_error.
5194
5195 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
5196 insert error message to the output.
5197 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5198
5199 * coding.h (struct coding_system): New member suppress_error.
5200
5201 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5202 (Fset_terminal_coding_system_internal): Set the member
5203 suppress_error to 1.
5204 (Fset_safe_terminal_coding_system_internal): Likewise.
5205
52062001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5207
5208 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5209 as if it was a `charset'.
5210
52112001-01-24 Gerd Moellmann <gerd@gnu.org>
5212
5213 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5214 value in where_is_cache; the next lookup in the cache returns
5215 something bogus if we do.
5216
52172001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5218
5219 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5220 if HAVE_WINDOW_SYSTEM isn't defined.
5221
52222001-01-24 Gerd Moellmann <gerd@gnu.org>
5223
5224 * fns.c (sweep_weak_table): Fix code taking items out of
5225 the hash collision chain. Some cleanup.
5226
5227 * xterm.c (x_new_font): Don't change a tooltip's size.
5228
5229 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5230 background color by specifying a color for the default font
5231 in .Xdefaults.
5232
52332001-01-24 Kenichi Handa <handa@etl.go.jp>
5234
5235 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5236 a workaround for SunOS 4's cc.
5237 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5238 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5239 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5240 statement.
5241
52422001-01-23 Gerd Moellmann <gerd@gnu.org>
5243
5244 * xterm.c (x_set_window_size_1): New function extracted from
5245 x_set_window_size.
5246 (x_set_window_size): Use it.
5247 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5248 doesn't have a widget, like tooltips.
5249
52502001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5251
5252 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5253
52542001-01-23 Kenichi Handa <handa@etl.go.jp>
5255
5256 * fns.c (Fset_char_table_default): Fix to make sub char-table
5257 correctly.
5258
52592001-01-22 Gerd Moellmann <gerd@gnu.org>
5260
5261 * xdisp.c (build_desired_tool_bar_string): Make sure we have
5262 a desired tool bar string, even if there are no tool bar items.
5263
5264 * xdisp.c (Ftool_bar_lines_needed): New function.
5265 (syms_of_xdisp): Defsubr it.
5266
5267 * editfns.c (Fformat): Don't extend text properties from arguments
5268 to padding chars in the result.
5269
52702001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5271
5272 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5273
52742001-01-20 Andrew Innes <andrewi@gnu.org>
5275
5276 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
5277 (w32_initialize): Don't set term hooks that aren't actually needed
5278 in windowed mode.
5279
5280 * xfaces.c (realize_default_face):
5281 (realize_face):
5282 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5283
5284 * xdisp.c (handle_single_display_prop): Remove references to
5285 FRAME_W32_CONSOLE_P.
5286
5287 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
5288
5289 * frame.h (output_method): Remove output_w32_console method.
5290 (FRAME_W32_CONSOLE_P): Remove macro.
5291
5292 * frame.c (Qw32_console): Remove variable.
5293 (Fframep): Remove references to it.
5294 (syms_of_frame): Ditto.
5295 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5296
5297 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5298 redefinition.
5299
53002001-01-20 Kenichi Handa <handa@etl.go.jp>
5301
5302 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5303
53042001-01-19 Andrew Innes <andrewi@gnu.org>
5305
5306 * w32.c (init_environment): Add a version-independent site-lisp
5307 directory to EMACSLOADPATH, after the version dependent one.
5308
53092001-01-19 Gerd Moellmann <gerd@gnu.org>
5310
5311 * editfns.c (Fbuffer_substring): Doc fix.
5312
5313 * xdisp.c (message_dolog, message2, message2_nolog):
5314 Rename parameter LEN to NBYTES.
5315
53162001-01-19 Kenichi Handa <handa@etl.go.jp>
5317
5318 * charset.c (strwidth): Use c_string_width.
5319 (c_string_width): New function.
5320 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5321 Caller changed.
5322
5323 * charset.h (c_string_width, lisp_string_width): Extern them.
5324
5325 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
5326
5327 * indent.c (check_composition): Check validity of composition.
5328
5329 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5330 characters by calling c_string_width.
5331 (x_consider_frame_title): Get byte length of frame tile string
5332 correctly.
5333 (display_mode_element): Pay attention to width of non-ASCII
5334 characters by calling strwidth.
5335
53362001-01-18 Gerd Moellmann <gerd@gnu.org>
5337
5338 * xfns.c (Qcancel_timer): New variable.
5339 (syms_of_xfns): Initialize and staticpro it.
5340 (Fx_hide_tip, Fx_show_tip): Use it.
5341 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5342 the timer.
5343 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5344
5345 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5346
5347 * window.h (WINDOW_LIVE_P): New macro.
5348
5349 * window.c (window_size_fixed): New variable.
5350 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5351 the doc string.
5352
5353 * eval.c (specbind): If binding a per-buffer variable which
5354 doesn't have a buffer-local value in the current buffer, change
5355 the global value by changing the value of the symbol bound in all
5356 buffers not having their own value, to make it consistent with
5357 what happens with other buffer-local variables.
5358
5359 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5360
5361 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5362 when searching for a newline.
5363
53642001-01-18 Kenichi Handa <handa@etl.go.jp>
5365
5366 * xdisp.c (display_string): Fix previous change.
5367
53682001-01-18 Jason Rumney <jasonr@gnu.org>
5369
5370 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5371 GLYPH_DEBUG is defined.
5372 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5373 true for images with `:ascent 100'.
5374 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5375 meantime, use face MOUSE_FACE_ID.
5376 If first glyph isn't a character glyph, use the ASCII NUL
5377 character to determine the face.
5378 (expose_area): Do not treat left margin specially.
5379 (note_mode_line_highlight): If no local_map, check global keymap.
5380 (note_mouse_highlight): Initialize overlay.
5381 (clear_mouse_face): Don't return if tip_frame is non-nil.
5382 (show_scroll_bars): Remove unused function.
5383 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5384 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5385 Clip to row.
5386 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
5387 (x_free_frame_resources): Unload relief colors.
5388
53892001-01-17 Gerd Moellmann <gerd@gnu.org>
5390
5391 * xdisp.c (forward_to_next_line_start): Avoid calling
5392 get_next_display_element when the newline is already found.
5393 This may change the iterator's position, when its current position is
5394 equal to the iterator's stop_charpos.
5395
5396 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5397 zero, use this method only at the end of a line.
5398
5399 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
5400 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5401 if SCALABLE_FONTS_P is set.
5402
5403 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5404 so that scalable fonts are included.
5405
5406 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5407 In the cache, use a key containing the information if scalable
5408 fonts are included.
5409 (x_load_font): Adapt to change of keys in the font cache.
5410
54112001-01-17 Kim F. Storm <storm@filanet.dk>
5412
5413 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5414 XListFonts to take advantage of font caching.
5415
5416 * xterm.c (x_list_fonts): Ensure caching font information when
5417 called for a null frame, which is the case frequently when Emacs
5418 starts.
5419
54202001-01-17 Gerd Moellmann <gerd@gnu.org>
5421
5422 * xfns.c (QCconversion): Replaces QCalgorithm.
5423
5424 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5425
5426 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5427 of :algorithm.
5428
5429 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5430 not everything could be displayed.
5431
5432 * line.h, x-list-font.c: Files removed because unused.
5433
54342001-01-17 Andrew Innes <andrewi@gnu.org>
5435
5436 * dired.c (directory_files_internal): Convert result from readdir
5437 to a unibyte string initially, to avoid possible misinterpretation
5438 of some bytes as the internal form of Emacs characters.
5439
54402001-01-17 Kenichi Handa <handa@etl.go.jp>
5441
5442 * fns.c (concat): Be sure to avoid putting the same `composition'
5443 property on the adjacent regions.
5444
54452001-01-16 Gerd Moellmann <gerd@gnu.org>
5446
5447 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
5448 (Fscroll_right, Fscroll_left): Set it here instead, if called
5449 interactively.
5450
5451 * buffer.c (Fset_buffer_modified_p): Set buffer's
5452 prevent_redisplay_optimizations_p flag.
5453
5454 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
5455 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5456 with additional arg.
5457
5458 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5459 Change prototype.
5460
5461 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5462 FROM_WHERE, for debugging.
5463
54642001-01-16 Kenichi Handa <handa@etl.go.jp>
5465
5466 * ccl.c (Fregister_ccl_program): Handle the return value of
5467 resolve_symbol_ccl_program correctly.
5468 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
5469
54702001-01-15 Gerd Moellmann <gerd@gnu.org>
5471
5472 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5473 has gone in the meantime, use face MOUSE_FACE_ID.
5474
5475 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5476 If x_display_info_for_display returns null, don't try to close
5477 the display; we didn't open it.
5478
5479 * dispnew.c (save_or_restore_current_matrices): Function removed.
5480 (save_current_matrix, restore_current_matrix): New functions.
5481 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5482 restore the frame's current matrix. Due to the glyph pointer
5483 setup done in adjust_glyph_matrix, there is no easy way to make
5484 saving the current matrix in the desired matrix generally correct,
5485 so don't try it.
5486
54872001-01-15 Kenichi Handa <handa@etl.go.jp>
5488
5489 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5490 truncation glyphs.
5491 (display_line): Optimize for wide characters.
5492 (display_string): Don't try to display a multi-column character
5493 partially. On ttys, produce more than one truncation glyph for
5494 multi-column characters that don't fit on the line.
5495
54962001-01-13 Kenichi Handa <handa@etl.go.jp>
5497
5498 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5499 Define it instead of WORDS_BIGENDIAN. Caller changed.
5500
55012001-01-13 Jason Rumney <jasonr@gnu.org>
5502
5503 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5504 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
5505 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5506 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
5507
5508 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5509 (x_draw_image_relief, x_draw_image_foreground_1)
5510 (x_draw_image_glyph_string): Adapt to change of image margins.
5511
5512 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5513 variables.
5514
5515 * w32bdf.c (search_file_line, get_cached_font_char)
5516 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5517
5518 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5519
5520 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5521 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5522 (Fw32_send_sys_command): Remove unused variables.
5523 (w32_msg_pump): Add parentheses.
5524
5525 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5526 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5527 Add parentheses.
5528
55292001-01-12 Gerd Moellmann <gerd@gnu.org>
5530
5531 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5532 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5533 being a pair of margins.
5534 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5535 to DEFVAR_LISP. Extend doc.
5536
5537 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5538 margins.
5539 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5540 pair of integers `(X . Y)', use X for the horizontal and Y for the
5541 vertical margin.
5542 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5543 (parse_image_spec): Check it.
5544 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5545 (tiff_format, gif_format, gs_format):
5546 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
5547
5548 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5549 (x_draw_image_relief, x_draw_image_foreground_1)
5550 (x_draw_image_glyph_string): Adapt to the change of image margins.
5551
5552 * dispextern.h (struct image): Replace member `margin' with
5553 `hmargin' and `vmargin'.
5554
5555 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5556 and GLYPHS.
5557
5558 * dispnew.c (update_text_area): Put code which decrements the
5559 stop position when the row's face extends to the end of the
5560 line in #if 0.
5561
5562 * xfns.c (x_set_mouse_color): Fix color allocation.
5563
5564 * keyboard.c: Call get_local_map with new argument list.
5565
5566 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5567
5568 * intervals.h (enum map_property): Removed.
5569 (get_local_map): Change prototype.
5570
5571 * keymap.c: Call get_local_map with new argument list.
5572 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5573
55742001-01-11 Gerd Moellmann <gerd@gnu.org>
5575
5576 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5577 of the size needed for the tool bar string. For the last image,
5578 use a `display' property that reaches to the end of the string.
5579
5580 * xselect.c (selection_request_dpyinfo): New variable.
5581 (x_handle_selection_request): Set it.
5582 (x_selection_request_lisp_error): Don't call
5583 x_decline_selection_request if selection request's display has
5584 been closed.
5585
5586 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5587 Do the unregister_colors before calling XFreeColors.
5588
55892001-01-10 Dave Love <fx@gnu.org>
5590
5591 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5592 ${SOME_MACHINE_LISP}, not ${lisp}.
5593
55942001-01-10 Gerd Moellmann <gerd@gnu.org>
5595
5596 * xdisp.c (display_line): On ttys, produce more than one truncation
5597 glyph for multi-column characters that don't fit on the line.
5598
5599 * xselect.c (x_reply_selection_request): Add a comment.
5600
5601 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5602 XkbGetNames instead of XkbGetKeyboard.
5603
56042001-01-10 Dave Love <fx@gnu.org>
5605
5606 * sysdep.c (random): Revert the declaration.
5607
56082001-01-09 Gerd Moellmann <gerd@gnu.org>
5609
5610 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5611 Call function string_bytes.
5612 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5613
5614 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5615 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5616 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5617 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5618 the current sblock.
5619 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5620 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5621 after sweeping strings, and at the end.
5622 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5623
5624 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5625 ensure that pop_message is called.
5626
5627 * keyboard.c (Fexecute_extended_command): Use a
5628 record_unwind_protect to ensure that pop_message is called.
5629
5630 * lisp.h (push_message_unwind): Add prototype.
5631
5632 * xdisp.c (push_message_unwind): New function.
5633
5634 * fileio.c (do_auto_save_unwind): Do the pop_message here
5635 instead of in Fdo_auto_save.
5636 (Fdo_auto_save): Don't call pop_message.
5637
56382001-01-08 Ken Raeburn <raeburn@gnu.org>
5639
5640 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5641 in inner block.
5642
56432001-01-08 Gerd Moellmann <gerd@gnu.org>
5644
5645 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5646 when increasing window's vscroll.
5647
5648 * macros.c (Qkbd_macro_termination_hook): New variable.
5649 (syms_of_macros): Initialize and staticpro it.
5650 (pop_kbd_macro): Run kbd-macro-termination-hook.
5651
5652 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5653
56542001-01-07 Dave Love <fx@gnu.org>
5655
5656 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5657 arglist, for documentation's sake.
5658
56592001-01-06 Andrew Innes <andrewi@gnu.org>
5660
5661 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5662 of *.pdb.
5663
56642001-01-05 Andrew Innes <andrewi@gnu.org>
5665
5666 * term.c (update_end): Don't check updating_frame; for some reason
5667 this can be 0 sometimes, such as after dismissing a popup menu,
5668 and isn't necessary given the explicit frame argument.
5669
56702001-01-05 Gerd Moellmann <gerd@gnu.org>
5671
5672 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5673 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5674
56752001-01-04 Gerd Moellmann <gerd@gnu.org>
5676
5677 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
5678
5679 * xfns.c (x_create_tip_frame): Preserve the value of
5680 face_change_count around the creation of the tip frame.
5681
5682 * xfns.c (last_show_tip_args): New variable.
5683 (compute_tip_xy): New function.
5684 (Fx_show_tip): Reuse an existing tip frame, if possible.
5685 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5686
56872001-01-04 Dave Love <fx@gnu.org>
5688
5689 * editfns.c (Fformat): Doc fix.
5690
5691 * systime.h (set_file_times): Prototype.
5692
5693 * widget.h (EmacsFrameSetCharSize_): Prototype.
5694
5695 * sysdep.c (random, srandom): Declare explicitly.
5696
5697 * dispextern.h (move_it_vertically_backward): Declare.
5698
56992001-01-04 Gerd Moellmann <gerd@gnu.org>
5700
5701 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5702 like in Fx_create_frame.
5703
5704 * xfaces.c (set_font_frame_param): Don't do anything for
5705 non-graphical frames.
5706
5707 * window.c (Fdelete_other_windows): Set window's window_end_valid
5708 to nil when changing the window's start. Don't change the
5709 window's start when its top position hasn't changed. If we do,
5710 this will set the window's optional_new_start, which act's like a
5711 force_start during redisplay with C-x 1 M-> under particular
5712 circumstances (see report from Per Starback to emacs-pretest-bug
5713 from 2000-12-13.).
5714
57152001-01-03 Gerd Moellmann <gerd@gnu.org>
5716
5717 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5718 short cut at the start of the function. Add an assertion.
5719 (reseat_at_next_visible_line_start): Add an assertion.
5720
5721 * window.c (Frecenter): When changing the window start, set the
5722 window's window_end_valid to nil.
5723 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5724
5725 * dispextern.h (move_it_past_eol): Add prototype.
5726
5727 * xdisp.c (move_it_past_eol): New function.
5728
5729 * window.c (Fwindow_end): Doc fix.
5730
57312001-01-03 Dave Love <fx@gnu.org>
5732
5733 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
5734
57352001-01-03 Gerd Moellmann <gerd@gnu.org>
5736
5737 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5738 the enabled_p flag of the glyph row at window_end_vpos to 0.
5739 (handle_single_display_prop): Fix last change.
5740
57412001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5742
5743 * window.c (Frecenter): Doc fix.
5744
57452001-01-02 Andrew Innes <andrewi@gnu.org>
5746
5747 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5748
5749 * frame.h (output_method): Add output_w32_console method.
5750 (FRAME_W32_CONSOLE_P): New macro.
5751
5752 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5753 use output_w32_console method.
5754 (Qw32_console): New Lisp_Object.
5755 (Fframep): Return it.
5756 (syms_of_frame): Init it.
5757 (Fframe_parameters): Report w32console as font for w32_console frames.
5758
5759 * xfaces.c (realize_default_face): Set face foreground and
5760 background to unspecified for w32_console frames.
5761 (realize_face): Realize face cache for w32_console frames.
5762 (realize_tty_face): Accept w32_console frames.
5763
5764 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
5765 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5766 necessary, even if running interactively.
5767
5768 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5769 w32_console frames.
5770
5771 * w32term.c (x_update_begin):
5772 (x_update_end):
5773 (x_clear_frame):
5774 (x_ins_del_lines):
5775 (x_change_line_highlight):
5776 (x_delete_glyphs):
5777 (w32_ring_bell):
5778 (x_update_begin):
5779 (x_update_end):
5780 (w32_reassert_line_highlight):
5781 (w32_frame_rehighlight):
5782 (w32_frame_raise_lower): Do nothing if not w32 frame.
5783
5784 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5785
5786 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5787 system doesn't tell us directly.
5788 (Fx_display_visual_class): Implement properly.
5789
57902001-01-02 Gerd Moellmann <gerd@gnu.org>
5791
5792 * window.c (Frecenter): Handle centering in graphical frames
5793 specially. Centering on the basis of line counts doesn't work
5794 reliably with variable-height lines.
5795
57962001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5797
5798 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5799 and al[].
5800
5801 * composite.c (run_composition_function): Remove unused var `val'.
5802 (update_compositions): Remove unused variable `hook'.
5803
5804 * intervals.c (get_local_map): Remove unused variable `tem'.
5805
5806 * doprnt.c (doprnt1): Remove unused variable `size'.
5807
5808 * fns.c (Flength): Remove unused variable `tail'.
5809 (Fdelete): Remove unused variable `size'.
5810
5811 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5812 and `gcpro2'.
5813
5814 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
5815
5816 * data.c (find_symbol_value): Remove extra 3rd argument in the
5817 call to swap_in_symval_forwarding.
5818
5819 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
5820
5821 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5822 (trivial_regexp_p): Remove unused variable `c'.
5823 (boyer_moore): Remove unused variable `k'.
5824
5825 * indent.c (current_column): Remove unused variable `stopchar'.
5826 (Fcompute_motion): Remove unused variable `contin'.
5827
5828 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5829
5830 * dired.c (directory_files_internal): Fix a typo in a comment.
5831 Remove an unused variable `handler'.
5832 (file_name_completion): Remove unused function-scope variable `dp'.
5833 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5834 on BSD4_2.
5835
5836 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
5837
5838 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5839 and `buf'.
5840 (Fmarker_insertion_type): Remove unused variable `buf'.
5841
5842 * insdel.c (make_gap): Remove unused variable `result'.
5843
5844 * keyboard.c (record_char): Remove unused function-scope var `help'.
5845 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5846 (menu_bar_items): Remove unused function-scope variable `tem'.
5847
5848 * fontset.c (fontset_ref): Remove unused variable `i'.
5849 (fontset_set): Remove unused variables `j' and `tmp'.
5850 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
5851 (make_fontset_for_ascii_face): Remove unused variable `name'.
5852 (fs_load_font): Remove unused variable `font_idx'.
5853 (fs_query_fontset): Remove unused function-local variable `fontset'.
5854 (list_fontsets): Remove unused variable `tail'.
5855 (Fnew_fontset): Remove unused variables `family' and `registry'.
5856 (accumulate_font_info): Remove unused variable `tmp'.
5857 (Ffontset_font): Remove unused variable `id'.
5858 (syms_of_fontset): Remove unused variable `i'.
5859
5860 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5861 to x_term_init.
5862 (lookup_image): Remove unused variable `file'.
5863 (xbm_load): Remove unused variables `bitmap_data', `height', and
5864 `width'. Remove function-local variable `i', leave the
5865 block-local one.
5866 (gif_load): Remove unused variable `inc'.
5867
5868 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
5869 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5870 leave only the one in the inner block.
5871
5872 * xfaces.c (face_fontset, realize_default_face): Remove unused
5873 variable `fontset'.
5874 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5875
5876 * term.c (encode_terminal_code): Remove unused variable `c'.
5877
5878 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5879 char *' instead of `char *'.
5880
5881 * category.c (Fcategory_docstring): Remove unused variable `doc'.
5882 (Fget_unused_category): Remove unused variable `docstring_vector'.
5883 (Fchar_category_set): Remove unused variables `val', `charset',
5884 `c1' and `c2'.
5885
5886 * coding.c (detect_coding_iso2022, setup_coding_system):
5887 Remove unused variable `i'.
5888 (detect_coding_mask): Remove unused variable `idx'.
5889 (detect_coding): Remove unused variable `i'.
5890 (ccl_coding_driver): Remove unused variable `result'.
5891 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
5892 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
5893 (encode_coding_string): Remove unused variables `gcpro1' and
5894 `saved_coding_symbol'.
5895 (Ffind_coding_systems_region_internal): Remove function-local
5896 variable args[], leave only the block-local one.
5897 (code_convert_region1): Remove unused variable `len'.
5898
5899 * charset.c (char_printable_p): Remove unused variable `chars'.
5900 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5901 (str_to_multibyte): Remove unused variable `c'.
5902
5903 * window.c (size_window): Remove block-local variable `min_size'.
5904
5905 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5906 `header_line_height'.
5907 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5908 enum display_element_type.
5909
59102001-01-02 Gerd Moellmann <gerd@gnu.org>
5911
5912 * xterm.c (x_connection_closed): Catch X errors around all
5913 statements that call X. Save away the error message in a local copy.
5914
5915 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5916 the start.
5917
5918 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5919 in or at the start of invisible text.
5920
5921 * dispnew.c (update_window): Don't check_current_matrix_flags.
5922
59232001-01-01 Jason Rumney <jasonr@gnu.org>
5924
5925 * w32fns.c (x_figure_window_size): Do not allow new_height and
5926 new_width of frame to override specified values.
5927
59282000-12-30 Kenichi Handa <handa@etl.go.jp>
5929
5930 * composite.c (find_composition): Fix a code for searching backward.
5931
59322000-12-29 Gerd Moellmann <gerd@gnu.org>
5933
5934 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
5935 (update_window) [GLYPH_DEBUG]: Call it.
5936 (scrolling_window): Prevent including current rows which are below
5937 what's displayed in the window.
5938
5939 * xdisp.c (try_window_reusing_current_matrix)
5940 <new start <= old start>: Disable rows in the current matrix
5941 which are below the window after scrolling.
5942
5943 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5944 is zero. It's not worth the complexity.
5945 (invisible_text_between_p): Put in #if 0 because unused.
5946
59472000-12-28 Gerd Moellmann <gerd@gnu.org>
5948
5949 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5950 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5951
5952 * keyboard.c (echo_char): If C is an integer, always call
5953 push_key_description. Former code could signal an invalid
5954 character error.
5955
5956 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5957 If set, print multibyte text.
5958 (Fsingle_key_description): Call push_key_description with
5959 FORCE_MULTIBYTE set.
5960 (describe_buffer_bindings): Likewise.
5961
5962 * lisp.h (push_key_description): Add prototype.
5963
5964 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5965 around the call to redisplay_internal.
5966
5967 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5968
5969 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5970
59712000-12-28 Kenichi Handa <handa@etl.go.jp>
5972
5973 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5974 (ccl_driver): New local variable `extra_bytes'.
5975
5976 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5977
5978 * coding.c (setup_coding_system):
5979 Initialize coding->spec.ccl.eight_bit_carryover.
5980 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5981
59822000-12-28 Kenichi Handa <handa@etl.go.jp>
5983
5984 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5985 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5986 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5987 (decode_composition_emacs_mule): New function.
5988 (decode_coding_emacs_mule): Decode composition sequence by calling
5989 decode_composition_emacs_mule.
5990 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
5991 (encode_coding_emacs_mule): Changed from macro to function.
5992 If a text contains compositions, encode them correctly.
5993 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5994 that decoding and encoding are required.
5995
59962000-12-27 Gerd Moellmann <gerd@gnu.org>
5997
5998 * xfaces.c (PT_PER_INCH): New macro.
5999 (xlfd_point_size): Compute real point size from font's pixel size.
6000 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6001 instead of 72.
6002
6003 * .gdbinit: Comment out the line pointing to the Lesstif source
6004 directory.
6005
6006 * window.c (Frecenter): Use displayed_window_lines instead
6007 of window_internal_height.
6008
6009 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6010 instead of x-toolkit-scroll-bars-p.
6011 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6012
6013 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6014 instead of x-toolkit-scroll-bars-p.
6015 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6016
6017 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6018 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
6019 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6020 New variables.
6021 (add_window_display_history, add_frame_display_history)
6022 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6023 (build_frame_matrix_from_leaf_window): Remove unused code.
6024 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6025 redisplay history.
6026 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6027 (update_window) [GLYPH_DEBUG]: Likewise.
6028 (syms_of_display): Defsubr dump-redisplay-history.
6029
60302000-12-23 Gerd Moellmann <gerd@gnu.org>
6031
6032 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6033 the end of the prompt. Set echo_after_prompt to the offset
6034 of echoptr in echobuf.
6035
6036 * xdisp.c (init_from_display_pos): Pop until the iterator's
6037 stack is empty; there may be frames for stretch or images
6038 on the stack.
6039
6040 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6041 (save_or_restore_current_matrix): New function for the same
6042 purpose, but more efficient.
6043 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6044
60452000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6046
6047 * xdisp.c (syms_of_xdisp): Fix last change.
6048
60492000-12-23 Gerd Moellmann <gerd@gnu.org>
6050
6051 * xdisp.c (syms_of_xdisp): Doc fix.
6052
6053 * xdisp.c (redisplay_window): Remove label restore_buffers;
6054 use finish_scroll_bars instead to make sure that scroll bars
6055 are redeemed. If we don't do this, flickering can result from
6056 scroll bars being destroyed and recreated.
6057
60582000-12-22 Jason Rumney <jasonr@gnu.org>
6059
6060 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6061 in the wrong colors when the foreground is not black.
6062 (expose_window): Don't redraw the window that's currently being
6063 updated.
6064
60652000-12-22 Gerd Moellmann <gerd@gnu.org>
6066
6067 * window.c (size_window): When setting the window's too_small_ok
6068 flag, compare old size with minimum size depending on WIDTH_P,
6069 don't compare with window_min_width.
6070
6071 * window.c (delete_window): Simplify somewhat.
6072 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6073 freeing window matrices. The flag windows_or_buffers_changed is
6074 set, so the next redisplay will consider all windows; this should
6075 suffice.
6076
60772000-12-22 Kenichi Handa <handa@etl.go.jp>
6078
6079 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6080
6081 * ccl.h (struct ccl_program): New member cr_consumed.
6082
6083 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6084 (CCL_READ_CHAR): Handle EOL conversion here.
6085 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6086
60872000-12-21 Gerd Moellmann <gerd@gnu.org>
6088
6089 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6090
6091 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6092 otherwise tabs of different size compare equal.
6093
6094 * callint.c (Fcall_interactively): Prevent a compiler warning.
6095
6096 * print.c (print_unwind): Return nil.
6097 (PRINTDECLARE): Initialize all local variables.
6098 (print_preprocess): Add a default case.
6099
6100 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6101
6102 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6103
6104 * window.c (delete_window, Fsplit_window)
6105 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6106
6107 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6108
6109 * dispnew.c (ensure_frame_matrix): Removed.
6110 (save_frame_matrix, restore_frame_matrix): New functions.
6111 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6112
6113 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6114 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6115
61162000-12-21 Andrew Innes <andrewi@gnu.org>
6117
6118 * w32term.c (x_update_begin): Regenerate the palette here, rather
6119 than for each window.
6120
6121 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6122 palette is NULL, since this corrupts memory! Also get
6123 display_info reference from frame.
6124
61252000-12-21 Jason Rumney <jasonr@gnu.org>
6126
6127 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6128
6129 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6130 to avoid returning without releasing it.
6131
61322000-12-21 Kenichi Handa <handa@etl.go.jp>
6133
6134 * keymap.c (push_key_description): Don't convert eight-bit-control
6135 and eight-bit-graphic to multibyte character.
6136
6137 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6138 generic character and CODE1 is nil, return the smallest character
6139 in CHARSET.
6140
61412000-12-20 Dave Love <fx@gnu.org>
6142
6143 * s/osf5-0.h (NSIG): Don't redefine.
6144
61452000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6146
6147 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6148 excluding menu-bar and tool-bar.
6149 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6150 (menu_item_p): Remove.
6151 (where_is_internal_1): Don't ignore menu-items.
6152
61532000-12-20 Gerd Moellmann <gerd@gnu.org>
6154
6155 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6156 into account.
6157
6158 * window.c (make_window): Initialize window's min_hscroll.
6159 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6160 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6161 to zero.
6162 (struct saved_window): New member min_hscroll.
6163 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6164 (Fset_window_configuration): Set window's min_hscroll.
6165 (save_window_save): Save window's min_hscroll.
6166 (compare_window_configurations): Compare min_hscroll values.
6167
6168 * window.h (struct window): New member min_hscroll.
6169
6170 * keyboard.c (echo_prompt): Prevent a compiler warning.
6171
6172 * xdisp.c (try_cursor_movement): Fix last change. The real
6173 condition is that PT is at the end of the row, and should
6174 be displayed at the start of the next row.
6175
6176 * xdisp.c (try_cursor_movement): If we end on a partially
6177 visible line, end we already decided to scroll, return -1.
6178
6179 * dispextern.h (ensure_frame_matrix): Add prototype.
6180
6181 * window.c (delete_window, Fsplit_window)
6182 (Fset_window_configuration): Call ensure_frame_matrix.
6183
6184 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6185 New functions.
6186 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6187 completed, call fake_current_matrices instead of marking frame
6188 garbaged.
6189
61902000-12-20 Jason Rumney <jasonr@gnu.org>
6191
6192 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6193
61942000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6195
6196 * fns.c (Frequire): Doc fix.
6197
61982000-12-19 Gerd Moellmann <gerd@gnu.org>
6199
6200 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
6201
6202 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6203 currently displaying a message.
6204
6205 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6206 xterm.h.
6207 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6208
62092000-12-18 Andrew Innes <andrewi@gnu.org>
6210
6211 * w32.c (w32_strerror): New function.
6212
6213 * w32.h (w32_strerror): New extern.
6214
6215 * w32fns.c (Fw32_shell_execute): Use it.
6216
62172000-12-18 Gerd Moellmann <gerd@gnu.org>
6218
6219 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6220
62212000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6222
6223 * msdos.c (IT_set_face): Obey inverse_video.
6224
62252000-12-18 Kenichi Handa <handa@etl.go.jp>
6226
6227 * dired.c (directory_files_internal): Always return decoded filenames.
6228
62292000-12-18 Gerd Moellmann <gerd@gnu.org>
6230
6231 * xterm.c (x_connection_closed): Prevent being called recursively
6232 because of an error condition in XtCloseDisplay.
6233
6234 * xdisp.c (init_iterator): If noninteractive, and the frame's
6235 face cache is null, make one.
6236
6237 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
6238
6239 * process.c (wait_reading_process_input): Check for pending
6240 input when running timers.
6241
62422000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6243
6244 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
6245
62462000-12-18 Kenichi Handa <handa@etl.go.jp>
6247
6248 * process.c (read_process_output): Don't run a filter if the code
6249 decoder produces nothing but carryover.
6250
62512000-12-17 Andrew Innes <andrewi@gnu.org>
6252
6253 * w32.c (sys_rename): Only check errno against EEXIST, and not
6254 EACCES, when determining whether rename failed because the target
6255 exists. This was resulting in indefinite looping on Windows 9x if
6256 the source file was locked by another process.
6257
6258 * w32fns.c (Ffile_system_info): New function.
6259 (syms_of_w32fns): Defsubr it.
6260
62612000-12-17 Gerd Moellmann <gerd@gnu.org>
6262
6263 * window.c (coordinates_in_window): Fix computation for
6264 position on vertical line between mode lines.
6265
6266 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6267 Don't alter tip_frame or tip_window.
6268 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6269 was deleted.
6270
6271 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6272 Don't alter tip_frame or tip_window.
6273 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6274 was deleted.
6275
62762000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6277
6278 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6279 be consistent with the doc string. Reported by NAKAJIMA Mikio
6280 <minakaji@osaka.email.ne.jp>.
6281
62822000-12-16 Kenichi Handa <handa@etl.go.jp>
6283
6284 * xfaces.c (Vface_ignored_fonts): New variable.
6285 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6286 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6287
62882000-12-15 Gerd Moellmann <gerd@gnu.org>
6289
6290 * dispnew.c (update_window): Detect pending input every nth line
6291 updated, i.e. do it depending on real work done, and not on the
6292 vpos of the line.
6293
6294 * xterm.c (expose_window): Don't redraw the window that's
6295 currently being updated.
6296
6297 * window.c (Fset_window_point): Remove test for
6298 cursor_in_non_selected_windows.
6299
6300 * lread.c (read1): Recognize end of file after `\\'.
6301
6302 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6303 not unwind_create_frame.
6304
63052000-12-15 Dave Love <fx@gnu.org>
6306
6307 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6308 bcopy & al.
6309
6310 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6311
63122000-12-15 Kenichi Handa <handa@etl.go.jp>
6313
6314 * coding.c (setup_coding_system): Clear all members of the struct
6315 coding_system at first.
6316 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6317 argument.
6318 (code_convert_region): Don't override coding->src_multibyte and
6319 coding->dst_multibyte.
6320
6321 * fns.c (Fmd5): Docstring improved.
6322
63232000-12-15 Miles Bader <miles@gnu.org>
6324
6325 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6326 are actually marked as mode-lines; otherwise use
6327 estimate_mode_line_height.
6328
63292000-12-14 Gerd Moellmann <gerd@gnu.org>
6330
6331 * editfns.c (Fformat): Prevent a buffer overrun when the format
6332 specifies a precision.
6333
63342000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6335
6336 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6337 argument is outside the range [2..3].
6338
63392000-12-14 Andrew Innes <andrewi@gnu.org>
6340
6341 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6342 nothing to do. Bind inhibit-quit.
6343 (tip_frame): Make it a Lisp_Object.
6344 (x_create_tip_frame): Set tip_frame after it has been added to
6345 Vframe_list.
6346 (Fx_show_tip): Don't set tip_frame here.
6347 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
6348 (unwind_create_frame, unwind_create_tip_frame): New functions.
6349 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6350 while a frame is only partially constructed.
6351
6352 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6353 (x_free_frame_resources): New function.
6354 (x_destroy_window): Use it.
6355
63562000-12-14 Gerd Moellmann <gerd@gnu.org>
6357
6358 * xfns.c (Fx_backspace_delete_keys_p): New function.
6359 (syms_of_xfns): Defsubr it.
6360
6361 * config.in (HAVE_XKBGETKEYBOARD): Add.
6362
63632000-12-14 Kenichi Handa <handa@etl.go.jp>
6364
6365 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6366 Always store string in multibyte representation in echobuf.
6367 (echo_char): Always store string in multibyte representation in
6368 echobuf.
6369 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6370 (read_key_sequence): Adjusted for the change of echo_prompt.
6371
6372 * fns.c (Fmd5): Docstring improved.
6373
6374 * lisp.h (detect_coding_system): Prototype adjusted.
6375
6376 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6377 (detect_coding_emacs_mule, detect_coding_iso2022,)
6378 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
6379 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6380 New argument MULTIBYTEP. Callers changed.
6381 (detect_coding_mask, detect_coding_system): New argument
6382 MULTIBYTEP. Callers changed.
6383 (decode_coding_string): Set coding->src_multibyte and
6384 coding->dst_multibyte before calling detect_coding and detect_eol.
6385 Update them after some coding system is detected.
6386
63872000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6388
6389 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6390
6391 * keyboard.c (menu_bar_items, tool_bar_items):
6392 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6393
63942000-12-13 Gerd Moellmann <gerd@gnu.org>
6395
6396 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
6397 New variables.
6398 (unwind_create_frame, unwind_create_tip_frame): New functions.
6399 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6400 while a frame is only partially constructed.
6401
6402 * xterm.h (x_free_frame_resources): Declare.
6403
6404 * xterm.c (x_free_frame_resources): New function.
6405 (x_destroy_window): Use it.
6406
6407 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6408 don't interrupt the update for pending input initially, i.e.
6409 update at least some lines.
6410
6411 * keyboard.c (do_mouse_tracking): Make externally visible.
6412
6413 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
6414
6415 * xfns.c (gray_bitmap_bits): Declare `char *'.
6416
64172000-12-12 Gerd Moellmann <gerd@gnu.org>
6418
6419 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6420 lines start with a relief line.
6421
64222000-12-12 Dave Love <fx@gnu.org>
6423
6424 * window.c (Fdisplay_buffer): Doc fix.
6425 (Fwindow_list): Remove unused var.
6426
6427 * buffer.h (mmap_set_vars): Declare.
6428
6429 * window.h (Fset_window_point): Declare.
6430
64312000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6432
6433 * msdos.c (fast_find_position): Don't overstep the last window row.
6434 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6435 variable `area'. When looking for a row under (X,Y), give up if some
6436 of the previous rows is not enabled.
6437
64382000-12-12 Gerd Moellmann <gerd@gnu.org>
6439
6440 * window.c (Fset_window_point): If displaying cursors in windows
6441 other than the selected window, make sure redisplay updates
6442 other windows to show the new value of point in the window.
6443
6444 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6445
6446 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6447 the buffer is the sole visible buffer when in the mini-buffer.
6448
6449 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
6450 Bind `inhibit-read-only' to t.
6451 (unwind_with_echo_area_buffer): Use AREF.
6452
6453 * xfns.c (Fx_hide_tip): Simplified.
6454
6455 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6456 instead of `1'.
6457
6458 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6459
64602000-12-11 Gerd Moellmann <gerd@gnu.org>
6461
6462 * xfns.c (Fx_hide_tip): Fix last change.
6463
6464 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6465 nothing to do. Bind inhibit-quit.
6466 (tip_frame): Make it a Lisp_Object.
6467 (x_create_tip_frame): Set tip_frame after it has been added to
6468 Vframe_list.
6469 (Fx_show_tip): Don't set tip_frame here.
6470
6471 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6472
6473 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6474 Lisp_Object.
6475
6476 * dispextern.h: Change external declaration of tip_frame.
6477
6478 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6479 return an empty string.
6480
6481 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6482 of the window's update_mode_line flag, since the former is set by
6483 force-mode-line-update, not the latter. This makes
6484 column-number-mode slightly faster.
6485
6486 * xdisp.c (try_window_id) <all changes above window start>:
6487 Set the cursor.
6488
64892000-12-11 Paul Eggert <eggert@twinsun.com>
6490
6491 * config.in (HAVE_FTELLO): Remove.
6492 (HAVE_FSEEKO): Add.
6493 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6494 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6495 HAVE_FTELLO.
6496 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6497 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
6498
64992000-12-11 Miles Bader <miles@gnu.org>
6500
6501 * window.c (displayed_window_lines): Don't round up when
6502 converting empty space at bottom to lines.
6503 Handle non-newline-terminated final lines properly.
6504 (Fwindow_text_height): New function (used to be in lisp).
6505 (syms_of_window): Initialize it.
6506
65072000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6508
6509 * syntax.c (scan_lists): Check that the right quote char has the
6510 right Sstring syntax when jumping over strings.
6511 (init_syntax_once): Use Smax rather than 13.
6512
65132000-12-09 Miles Bader <miles@gnu.org>
6514
6515 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6516 with PARTIALLY, inverting the sense.
6517 (window_scroll_pixel_based): Scroll partially visible lines into
6518 place if we hit the beginning or end of the buffer.
6519 (displayed_window_lines): Don't include partially visible lines.
6520 (Fmove_to_window_line): Skip past any partially visible first line.
6521
65222000-12-08 Gerd Moellmann <gerd@gnu.org>
6523
6524 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6525
6526 * tparam.c (tparam1): Change the way buffers are reallocated to be
6527 portable and less obfuscated.
6528
6529 * termcap.c (tgetent): Change the way buffers are reallocated to
6530 be portable and less obfuscated.
6531
6532 * macros.c (store_kbd_macro_char): Change the way buffers are
6533 reallocated to be portable and less obfuscated.
6534
6535 * lread.c (read1): Change the way buffers are reallocated to be
6536 portable and less obfuscated.
6537
6538 * doc.c (Fsubstitute_command_keys): Change the way buffers
6539 are reallocated so that it is portable.
6540
65412000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6542
6543 * dosfns.c (Ffile_system_info): New function.
6544 (syms_of_dosfns): Defsubr it.
6545
65462000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6547
6548 * alloc.c (gc_sweep): Add comment.
6549
65502000-12-07 Gerd Moellmann <gerd@gnu.org>
6551
6552 * sound.c (vox_configure): Change order of ioctls.
6553 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
6554 Ignore errors when changing volume.
6555 (vox_close): Don't reset the device.
6556
6557 * process.c (read_process_output): Make sure the process marker's
6558 position is valid when the process buffer is changed in
6559 after-change functions. W3 does that.
6560
6561 * xfns.c (x_free_gcs): New function.
6562
6563 * xterm.h (x_free_gcs): Add prototype.
6564
6565 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6566 freeing GCs here.
6567
6568 * xterm.c (x_destroy_window): Call x_free_gcs so that
6569 resources of non-toolkit X windows will be freed.
6570
65712000-12-07 Andrew Innes <andrewi@gnu.org>
6572
6573 * w32fns.c (xlfd_charset_of_font): Fix last change.
6574
65752000-12-06 Dave Love <fx@gnu.org>
6576
6577 * md5.h (__P): Don't define -- it comes from config.h.
6578
6579 * strftime.c: Change some #if foo to #ifdef foo.
6580
65812000-12-06 Andrew Innes <andrewi@gnu.org>
6582
6583 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6584
6585 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
6586 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
6587 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
6588
65892000-12-06 Gerd Moellmann <gerd@gnu.org>
6590
6591 * alloc.c (gc_sweep): Prevent symbols read during loadup
6592 from being freed.
6593
6594 * xdisp.c (underlying_face_id): New function.
6595 (handle_face_prop, face_before_or_after_it_pos): Use it
6596 to determine the face ``under'' a string. Let strings inherit
6597 the face of the buffer under them.
6598
6599 * xfaces.c (face_at_string_position): Update function comment.
6600
6601 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6602 matrix if the window's left position has changed; we need to
6603 redraw it in this case.
6604
6605 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6606
6607 * window.c (coordinates_in_window): Check mouse on mode-line or
6608 header-line first.
6609
6610 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6611 advertized by the function documentation.
6612
6613 * window.c (syms_of_window): Doc fix.
6614
6615 * sound.c (vox_configure): Set volume for left and right channel.
6616 (sound_cleanup): Return nil.
6617
6618 * xdisp.c (move_it_by_lines): Fix paren typo.
6619
6620 * xterm.c (x_load_font): Don't use the font's max_bounds for
6621 computing the height of the font. If max_bounds' ascent or
6622 descent are greater than the font's ascent or descent, this means
6623 glyphs overlap, which should be handled now by redisplay.
6624
6625 * window.c (Veven_window_heights): New variable.
6626 (syms_of_window): DEFVAR_LISP it.
6627 (Fdisplay_buffer): Check Veven_window_heights before evening the
6628 window heights.
6629
66302000-12-06 Miles Bader <miles@gnu.org>
6631
6632 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6633 update `default-frame-alist' instead of setting no frame parameters.
6634
66352000-12-06 Kenichi Handa <handa@etl.go.jp>
6636
6637 * composite.c (update_compositions): Fix typo (use the correct
6638 variable).
6639
66402000-12-05 Jason Rumney <jasonr@gnu.org>
6641
6642 * md5.h: Remove underscores from function declarations.
6643 (__attribute__, __alignof__) [!__GNUC__]: Define.
6644
6645 * md5.c: Delay include of md5.h until after namespace cleaning.
6646
6647 * makefile.w32-in (fns.o): Depend on md5.h
6648 (md5.o): New target.
6649 (sunfns.o): Remove.
6650
6651 * makefile.nt: Likewise.
6652
66532000-12-05 Jason Rumney <jasonr@altavista.net>
6654
6655 * w32term.c (expose_area): Complete last change.
6656
66572000-12-05 Ken Raeburn <raeburn@gnu.org>
6658
6659 * minibuf.c: Include intervals.h.
6660
66612000-12-05 Jason Rumney <jasonr@gnu.org>
6662
6663 * w32term.c (x_produce_glyphs): If a font for a component of
6664 a composition is not found, use 1 pixel dot ascent and 0 dot
6665 descent value to avoid displaying terribly tall empty boxes.
6666 (expose_area): Pass x-coordinate relative to the exposed
6667 area to x_draw_glyphs instead of a window-relative coordinate.
6668
66692000-12-05 Gerd Moellmann <gerd@gnu.org>
6670
6671 * xdisp.c (next_element_from_ellipsis): Save face before selective
6672 display in saved_face_id, and set face_before_selective_p.
6673 (reseat_1): Reset face_before_selective_p.
6674 (append_space, extend_face_to_end_of_line): If iterator's
6675 face_before_selective_p is set, use the face from saved_face_id.
6676 (extend_face_to_end_of_line): For tty frames, make sure to
6677 use the right face id when producing spaces at the end of
6678 the line.
6679
6680 * dispextern.h (struct it): Add face_before_selective_p.
6681
6682 * keyboard.c (record_char): Don't record identical help-echo
6683 events in recent_keys.
6684
6685 * xterm.c [USE_X_TOOLKIT]: Close the display.
6686 (xim_close_dpy): Handle case that the display has been closed.
6687
6688 * xterm.c (x_destroy_window): Reset the frame's X window after
6689 destroying it.
6690
6691 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6692 variable window_width.
6693 (line_draw_cost): Fix code skipping over spaces at the end of the
6694 line when must_write_spaces is not set.
6695 (scrolling_window): Fix code inserting runs in list of all runs.
6696
66972000-12-05 Kenichi Handa <handa@etl.go.jp>
6698
6699 * coding.c (setup_coding_system): Be sure to initialize
6700 coding->category_idx.
6701
67022000-12-04 Gerd Moellmann <gerd@gnu.org>
6703
6704 * xterm.c (PER_CHAR_METRIC): Removed because not used.
6705
6706 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6707 area to x_draw_glyphs instead of a window-relative coordinate.
6708
6709 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6710 error in the message.
6711
6712 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6713 timer after having read a key. It's not good for code reading
6714 several keys in a loop, like an input method.
6715
6716 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6717 record undo information for format-decode.
6718
6719 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6720 current buffer is read-only, not if it isn't.
6721
6722 * keyboard.c (record_char): Record `help-echo' input events
6723 in recent_keys only if they display some help. Don't record
6724 `help-echo' events as macro char.
6725
67262000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6727
6728 * editfns.c (save_excursion_restore): Don't move point
6729 in another window if it is showing the wrong buffer.
6730 Avoid the call to Fwindow_live_p, for speed.
6731
67322000-12-04 Kenichi Handa <handa@etl.go.jp>
6733
6734 * xfaces.c (struct font_name): New member registry_priority.
6735 (split_font_name): Initialize the above member to zero.
6736 (concat_font_list): New function.
6737 (font_list): Include fonts of all alternative registries.
6738 (FONT_POINT_SIZE_QUANTUM): New macro.
6739 (better_font_p): Ignore point size difference less than
6740 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6741
6742 * xterm.c (x_produce_glyphs): If a font for a component of
6743 a composition is not found, use 1 pixel dot ascent and 0 dot
6744 descent value to avoid displaying terribly tall empty boxes.
6745
6746 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6747
67482000-12-03 Ken Raeburn <raeburn@gnu.org>
6749
6750 * coding.h (code_convert_string1): Declare.
6751
6752 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6753
6754 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
6755
67562000-12-02 Jason Rumney <jasonr@gnu.org>
6757
6758 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6759 correctly for single byte character case.
6760 (w32_per_char_metric): Do not try to make any assumptions about
6761 the metrics of BDF fonts.
6762 (x_estimate_mode_line_height): If `mode-line' face
6763 hasn't a font, use that of the frame, as drawing glyphs does.
6764 (note_mouse_highlight): Change the cursor shape on the vertical
6765 border between windows [not enabled].
6766
6767 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6768
6769 * w32fns.c (Fx_create_frame): Reintroduce the call to
6770 face-set-after-frame-defaults.
6771 (Vx_window_horizontal_drag_shape): New variable.
6772 (syms_of_xfns): DEFVAR_LISP it.
6773 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6774 enabled].
6775
67762000-12-02 Simon Josefsson <simon@josefsson.org>
6777
6778 * fns.c (Fmd5): Use a different logic to decide the coding system
6779 to use.
6780
6781 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6782
67832000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6784
6785 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
6786
67872000-12-01 Gerd Moellmann <gerd@gnu.org>
6788
6789 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6790 height for YNegative.
6791 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6792 height; also see comment there.
6793
6794 * window.c (coordinates_in_window): Handle computations for
6795 positions on the vertical bar and fringes differently for
6796 window-system frames. Consider some pixels near the vertical bar
6797 as on the bar if the frame doesn't have vertical scroll bars.
6798 Associate positions between mode or header lines with the
6799 right window, the left one.
6800
68012000-12-01 Jason Rumney <jasonr@gnu.org>
6802
6803 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6804
6805 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6806 invalid frame.
6807
68082000-12-01 Gerd Moellmann <gerd@gnu.org>
6809
6810 * window.c (struct saved_window): Add members orig_top and orig_height.
6811 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6812 (save_window_save, Fset_window_configuration): Save/restore
6813 window's orig_top and orig_height.
6814
68152000-12-01 Jason Rumney <jasonr@gnu.org>
6816
6817 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
6818
6819 * w32fns.c (x_set_cursor_color): Fix last change.
6820
68212000-11-30 Gerd Moellmann <gerd@gnu.org>
6822
6823 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6824 sure that the next redisplay displays the minibuffer, so that
6825 the cursor will be replaced with what the minibuffer wants.
6826
6827 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6828 #ifndef instead of using #if.
6829 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6830 USE_TOOLKIT_SCROLL_BARS is defined.
6831
68322000-11-30 Jason Rumney <jasonr@gnu.org>
6833
6834 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6835 x_display_cursor.
6836
68372000-11-30 Gerd Moellmann <gerd@gnu.org>
6838
6839 * fns.c (Fmd5): Doc fix.
6840
68412000-11-30 Simon Josefsson <simon@josefsson.org>
6842
6843 * fns.c (Fmd5): New function.
6844 (syms_of_fns): Defsubr md5.
6845
6846 * Makefile.in (obj): Add md5.o
6847
68482000-11-30 Gerd Moellmann <gerd@gnu.org>
6849
6850 * md5.h, md5.c: New files, taken from glibc.
6851
6852 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6853
6854 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
6855 hasn't a font, use that of the frame, as drawing glyphs does.
6856
68572000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6858
6859 * eval.c (Frun_hooks): Allow 0 arguments.
6860
68612000-11-29 Gerd Moellmann <gerd@gnu.org>
6862
6863 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6864 is over the menu bar widget, say it's not on the frame.
6865
6866 * xfns.c (Fx_create_frame): Reintroduce the call to
6867 face-set-after-frame-defaults.
6868
6869 * eval.c (Fsignal): Reset handling_signal.
6870
68712000-11-28 Jason Rumney <jasonr@gnu.org>
6872
6873 * w32menu.c (add_menu_item): Reset menu item text when changing
6874 type to radio button.
6875
68762000-11-28 Gerd Moellmann <gerd@gnu.org>
6877
6878 * xselect.c: Update copyright.
6879
6880 * window.c (coordinates_in_window): If on a mode or header line,
6881 but sufficiently close to its start, return ``on vertical
6882 border''. This gives us a way to drag windows horizontally when
6883 using toolkit scroll bars.
6884
6885 * xterm.c (note_mouse_highlight): Change the cursor shape
6886 on the vertical border between windows.
6887
6888 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6889
6890 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6891 (syms_of_xfns): DEFVAR_LISP it.
6892 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6893
6894 * textprop.c (text_read_only): New function.
6895 (verify_interval_modification): Use it instead of signaling
6896 `text-read-only'. This makes it easier to catch this error
6897 with a breakpoint.:
6898
6899 * xdisp.c (forward_to_next_line_start): Check for newlines,
6900 not end of line, which includes CR.
6901
69022000-11-28 Kenichi Handa <handa@etl.go.jp>
6903
6904 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6905 include no-conversion.
6906
69072000-11-27 Jason Rumney <jasonr@gnu.org>
6908
6909 * w32fns.c (w32_load_system_font): Always mark font as double byte
6910 if codepage is unicode.
6911
69122000-11-27 Gerd Moellmann <gerd@gnu.org>
6913
6914 * xdisp.c (forward_to_next_line_start): If already on a newline,
6915 just consume it to avoid unintended skipping over invisible text below.
6916
6917 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6918 `vertical-line', `mode-line' and `header-line' events.
6919
6920 * xdisp.c (try_window_id): Avoid starting to display in the middle
6921 of a character, a TAB for instance. This is easier than to set
6922 up the iterator exactly, and it's not a frequent case, so the
6923 additional effort wouldn't really pay off.
6924
69252000-11-26 Andrew Choi <akochoi@i-cable.com>
6926
6927 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
6928 init_window_once.
6929
69302000-11-25 Jason Rumney <jasonr@gnu.org>
6931
6932 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6933 Args to window_from_coordinates should be pixel coordinates.
6934
6935 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6936 redisplay handles them properly.
6937
69382000-11-25 Miles Bader <miles@gnu.org>
6939
6940 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6941
69422000-11-24 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32.c (init_environment): Set LANG environment variable based on
6945 locale settings, if not set.
6946
6947 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6948 making tool bar smaller. When clearing the frame, also
6949 clear current matrices. Clear frame when tool bar disappears.
6950 Don't use more lines for the tool-bar than is available.
6951 (x_change_window_heights): New function.
6952
69532000-11-24 Gerd Moellmann <gerd@gnu.org>
6954
6955 * xdisp.c (init_from_display_pos): If POS says we're already after
6956 an overlay string ending at POS, make sure to pop the iterator
6957 because it will be in front of that overlay string. When POS is
6958 ZV, we've thereby also ``processed'' overlay strings at ZV.
6959
6960 * xfaces.c (lface_from_face_name): Function comment fix.
6961
69622000-11-24 Miles Bader <miles@gnu.org>
6963
6964 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6965 apply `mode-line-inverse-video' -- zero means force display using
6966 the default face, non-zero means display using the specialized face.
6967 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6968
69692000-11-23 Kenichi Handa <handa@etl.go.jp>
6970
6971 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6972 hard coded `4'.
6973
69742000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6975
6976 * coding.c (decode_coding_emacs_mule): Fix the case of
6977 CODING_EOL_LF, which used uninitialized value of c.
6978
69792000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6980
6981 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6982
69832000-11-22 Gerd Moellmann <gerd@gnu.org>
6984
6985 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6986 buffer object.
6987
6988 * frame.h (struct frame): Replace desired_tool_bar_items,
6989 current_tool_bar_items, n_desired_tool_bar_items,
6990 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
6991
6992 * frame.c (make_frame): Change initialization of tool bar
6993 items accordingly.
6994
6995 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
6996 Change references to members deleted from struct frame to use the
6997 new ones.
6998
6999 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
7000 references to members deleted from struct frame to use the new ones.
7001
7002 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
7003
7004 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7005
7006 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
7007 (note_tool_bar_highlight): Change references to members deleted
7008 from struct frame to use the new ones.
7009
70102000-11-23 Miles Bader <miles@gnu.org>
7011
7012 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7013 the face's inverse-video attribute, rather than overriding it.
7014
70152000-11-22 Gerd Moellmann <gerd@gnu.org>
7016
7017 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7018 making tool bar smaller.
7019
70202000-11-22 Dave Love <fx@gnu.org>
7021
7022 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7023
70242000-11-22 Miles Bader <miles@gnu.org>
7025
7026 * keyboard.c (Vminibuffer_message_timeout): New variable.
7027 (command_loop_1): Use it to determine message timeout.
7028 (syms_of_keyboard): Initialize it.
7029
7030 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
7031
70322000-11-22 Kenichi Handa <handa@etl.go.jp>
7033
7034 * sysdep.c: Move the code for declaring h_errno after #include
7035 <netdb.h>.
7036
70372000-11-21 Gerd Moellmann <gerd@gnu.org>
7038
7039 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7040 the menu bar when the tooltip is unmapped.
7041
7042 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7043 sole visible buffer when we're currently in the mini-buffer, and
7044 give up if so.
7045
70462000-11-21 Jason Rumney <jasonr@gnu.org>
7047
7048 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7049 put on the clipboard.
7050 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7051 copy of what Emacs last put there. If they are the same, do not
7052 use the clipboard copy to avoid losing data due to coding conversions.
7053
70542000-11-22 Miles Bader <miles@gnu.org>
7055
7056 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7057 (syms_of_minibuf): Initialize it.
7058 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7059 to prompt, don't make read-only.
7060
70612000-11-21 Gerd Moellmann <gerd@gnu.org>
7062
7063 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7064 Add BEFORE/AFTER_POTENTIAL_GC.
7065
7066 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7067
7068 * buffer.c (mmap_free_1): Avoid a compiler warning.
7069
7070 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7071
70722000-11-21 Kenichi Handa <handa@etl.go.jp>
7073
7074 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7075 ... #endif scope.
7076
70772000-11-20 Gerd Moellmann <gerd@gnu.org>
7078
7079 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
7080 screen supports it.
7081
7082 * s/gnu-linux.h: Don't use `#cpu'.
7083
7084 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7085 not defined in mman.h.
7086
7087 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
7088 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7089 and store an index in the XClientMessageEvent. Storing a
7090 Lisp_Object or pointer can fail on a 64 bit system, since X only
7091 transfers 32 bits.
7092 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7093
70942000-11-20 Dave Love <fx@gnu.org>
7095
7096 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7097
70982000-11-20 Gerd Moellmann <gerd@gnu.org>
7099
7100 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7101
71022000-11-20 Kenichi Handa <handa@etl.go.jp>
7103
7104 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7105 by WIDTH.
7106
7107 * alloc.c (make_string): Fix previous change. Be sure to make
7108 unibyte string correctly.
7109
71102000-11-19 Gerd Moellmann <gerd@gnu.org>
7111
7112 * window.c (Fwindow_list): Change parameter list to be XEmacs
7113 compatible.
7114 (window_list_1): New function.
7115 (window_loop): Use it instead of Fwindow_list.
7116
7117 * sysdep.c (emacs_ospeed): New variable.
7118 (toplevel): Don't declare ospeed extern.
7119 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7120
7121 * termcap.c (ospeed): Remove.
7122 (tputs) [!emacs]: Remove unused code.
7123 (tgetent): Avoid a compiler warning.
7124
7125 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7126 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
7127 SCROLL_BAR_X_WIDGET with additional argument DPY.
7128
7129 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7130 removed.
7131 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7132 Take the X display as additional argument.
7133 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7134 `Widget' is a pointer type that's not easily stored in Lisp_Object
7135 form in a portable way.
7136
7137 * dispnew.c (update_text_area): Fix last change.
7138
71392000-11-18 Gerd Moellmann <gerd@gnu.org>
7140
7141 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7142
7143 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7144 clear current matrices.
7145
7146 * buffer.c (mmap_enlarge): Don't print a message on stderr
7147 if mapping new memory at the end of the existing region fails.
7148
7149 * dispnew.c (update_text_area): Don't skip over equal glyphs
7150 when the last current glyph overlaps the glyph to its right.
7151
71522000-11-18 Miles Bader <miles@gnu.org>
7153
7154 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7155 lines that *end* with "..." too (that's the most common case!).
7156
71572000-11-18 Gerd Moellmann <gerd@gnu.org>
7158
7159 * xdisp.c (resize_mini_window): Temporarily change to the
7160 mini-window's buffer if necessary.
7161
7162 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7163 the tooltip obscures less text under it.
7164
71652000-11-17 Gerd Moellmann <gerd@gnu.org>
7166
7167 * puresize.h (BASE_PURESIZE): Increase to 700000.
7168
71692000-11-18 Jason Rumney <jasonr@gnu.org>
7170
7171 * w32term.c (w32_draw_bitmap): Use face to set colors.
7172
71732000-11-17 Dave Love <fx@gnu.org>
7174
7175 * lread.c (Fload): Fix #ifdef for pcc.
7176
71772000-11-17 Gerd Moellmann <gerd@gnu.org>
7178
7179 * xdisp.c (pos_visible_p): Compute the default character height
7180 differently.
7181
71822000-11-16 Gerd Moellmann <gerd@gnu.org>
7183
7184 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
7185 knowing the line's height; use the default font's height in that case.
7186
7187 * xfaces.c (weight_table): Add `demi' with the same meaning as
7188 `demibold'.
7189
71902000-11-16 Kenichi Handa <handa@etl.go.jp>
7191
7192 * dispnew.c (null_row): New global static variable.
7193 (clear_glyph_row): Delete local static variable null_row.
7194
71952000-11-15 Jason Rumney <jasonr@gnu.org>
7196
7197 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7198 (w32_alloc_lighter_color): Use new brightness calculations from
7199 xterm.c. Scale delta to be in the range expected by W32.
7200 (w32_draw_relief_rect): Use frame relief colors.
7201
72022000-11-15 Gerd Moellmann <gerd@gnu.org>
7203
7204 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7205 (Qinhibit_default_face_x_resources): New variable.
7206 (syms_of_frame): Initialize it.
7207 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7208
7209 * xdisp.c (pos_visible_p): Improve function comment.
7210
7211 * lisp.h (BINDING_STACK_SIZE): New macro.
7212
7213 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7214 reading the directory if readdir returns null and errno is EAGAIN
7215 or EINTR.
7216
72172000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7218
7219 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7220 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7221 Set amount_to_scroll to max of dx and scroll_step so that
7222 scroll-conservatively doesn't defeat scroll-step>1.
7223 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7224 scroll-conservatively for line-at-a-time scrolling.
7225
72262000-11-14 Gerd Moellmann <gerd@gnu.org>
7227
7228 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7229 extra argument.
7230
7231 * xdisp.c (current_mode_line_height, current_header_line_height):
7232 New variables.
7233 (init_xdisp): Initialize them.
7234 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7235 and use exact mode line heights if it is set.
7236
7237 * lisp.h (pos_visible_p): Change prototype.
7238
7239 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7240 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7241 and current_header_line_height first.
7242 (current_mode_line_height, current_header_line_height):
7243 Declare extern.
7244
72452000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7246
7247 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7248 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7249 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7250
72512000-11-14 Miles Bader <miles@gnu.org>
7252
7253 * xterm.c (x_alloc_lighter_color): Include an additive component
7254 too for dark colors, because FACTOR isn't enough.
7255 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7256 New macros.
7257
72582000-11-13 Gerd Moellmann <gerd@gnu.org>
7259
7260 * keyboard.c (show_help_echo): Call message3_nolog with number of
7261 bytes in the help string as 2nd parameter, instead of the number
7262 of characters.
7263
72642000-11-13 Miles Bader <miles@gnu.org>
7265
7266 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7267 (Fload): Use new openp return protocol.
7268 Don't try to use Vload_source_file_function to load .elc files.
7269 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7270 openp return protocol.
7271 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7272
72732000-11-11 Kenichi Handa <handa@etl.go.jp>
7274
7275 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7276
7277 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7278 Defined these macros.
7279 (NLIST_STRUCT): Avoid re-defining it.
7280
7281 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7282 -I/usr/contrib/X11R6/include.
7283 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7284
72852000-11-10 Jason Rumney <jasonr@gnu.org>
7286
7287 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7288
7289 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7290 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7291
7292 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7293 (Qw32_charset_vietnamese): New symbol.
7294 (xlfd_charset_of_font): New function.
7295 (w32_load_system_font): Use it.
7296 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7297 when Vw32_charset_info_alist is nil to ensure default face always
7298 has font. Use Fcar and Fcdr for safety.
7299 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7300 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7301 pseudo-codepages for special cases.
7302 (w32_to_x_font): New parameter to allow charset portion to be
7303 specified where there is many to one mapping. Callers changed.
7304 (w32_list_fonts): Avoid listing fonts that won't display.
7305
73062000-11-10 Gerd Moellmann <gerd@gnu.org>
7307
7308 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7309 (font_list_1): Renamed from font_list.
7310 (font_list): New function, trying alternative registries from
7311 Vface_alternative_font_registry_alist.
7312 (Finternal_set_alternative_font_registry_alist): New function.
7313 (syms_of_xfaces): Initialize and Staticpro
7314 Vface_alternative_font_registry_alist.
7315 Defsubr Finternal_set_alternative_font_registry_alist.
7316
73172000-11-09 Ken Raeburn <raeburn@gnu.org>
7318
7319 * lisp.h (Flooking_at): Declare.
7320
73212000-11-09 Gerd Moellmann <gerd@gnu.org>
7322
7323 * dired.c (directory_files_internal): Fix a braino.
7324
7325 * dired.c (directory_files_internal): Add missing GCPRO's.
7326 Some cleanup.
7327
73282000-11-08 Gerd Moellmann <gerd@gnu.org>
7329
7330 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7331 (resize_mini_window): Return quickly if Vresize_mini_window is
7332 nil. Don't return if Vmax_mini_window_height is nil.
7333
7334 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7335 (syms_of_xdisp): Initialize them.
7336 (resize_mini_window): Act according to the setting of
7337 Vresize_mini_window.
7338 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7339
7340 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7341 scroll bar widget after configuring it, so that it will appear at
7342 the right position from the start.
7343 (XTredeem_scroll_bar): Cleaned up.
7344
73452000-11-08 Kenichi Handa <handa@etl.go.jp>
7346
7347 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
7348 font is taller than the frame line, we don't have to bias the
7349 division by two.
7350
7351 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7352
73532000-11-07 Dave Love <fx@gnu.org>
7354
7355 * config.in (HAVE_MKSTEMP): Add.
7356
7357 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7358
73592000-11-07 Gerd Moellmann <gerd@gnu.org>
7360
7361 * window.c (Fset_window_configuration): Don't try to preserve
7362 point in the current buffer, if that buffer is displayed in more
7363 than one window.
7364
7365 * xfaces.c (lookup_named_face): If default face isn't realized,
7366 try to realize it. Return -1 if not successful.
7367 (Fx_list_fonts): Handle case that face cannot be determined.
7368 (Fface_font): Likewise.
7369
73702000-11-06 Gerd Moellmann <gerd@gnu.org>
7371
7372 * window.c (displayed_window_lines): Detect partially
7373 visible lines at the bottom correctly.
7374
73752000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7376
7377 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7378 when ensuring we don't do visit in indirect buffer.
7379
73802000-11-06 Kenichi Handa <handa@etl.go.jp>
7381
7382 * composite.h (compose_chars_in_text): Add prototype.
7383
7384 * composite.c (Vcomposition_function_table): New variable.
7385 (Qcomposition_function_table): New variable.
7386 (run_composition_function): Call
7387 Vcompose_chars_after_function with three arguments.
7388 (compose_chars_in_text): New function.
7389 (syms_of_composite): Modified the doc-string of
7390 Vcompose_chars_after_function. Declare composition-function-table
7391 as a lisp variable, and initialize it.
7392
7393 * xfns.c (x_encode_text): Suppress producing escape sequences for
7394 composition.
7395
7396 * xselect.c: Include composite.h.
7397 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7398
73992000-11-05 Andrew Innes <andrewi@gnu.org>
7400
7401 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7402
7403 * sysdep.c (read_input_waiting): Remove extraneous argument to
7404 read_socket_hook.
7405
7406 * w32fns.c (Fx_server_version): Include w32_build_number in the
7407 return list.
7408
7409 * w32heap.c (w32_build_number): New variable.
7410 (cache_system_info): Set it.
7411
7412 * w32heap.h (w32_build_number): Add extern.
7413
7414 * emacs.c (syms_of_emacs): Update docstring for
7415 system-configuration, to reflect the actual usage on MS-Windows.
7416
74172000-10-31 Gerd Moellmann <gerd@gnu.org>
7418
7419 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7420 process idle timers while waiting for another event.
7421
7422 * dispnew.c (update_frame_line): Handle case where spaces in
7423 the default face are colored.
7424
7425 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7426 window height hasn't changed.
7427
74282000-10-31 Jason Rumney <jasonr@gnu.org>
7429
7430 * w32term.c (x_produce_glyphs): Handle composite characters.
7431 (x_draw_glyph_string_foreground)
7432 (x_draw_composite_glyph_string_foreground): Restore old font.
7433
74342000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7435
7436 * minibuf.c (read_minibuf): Reset the undo history just before
7437 starting the recursive-edit.
7438
74392000-10-30 Gerd Moellmann <gerd@gnu.org>
7440
7441 * xfaces.c (menu_face_change_count): New variable.
7442 (Finternal_set_lisp_face_attribute): Increment it for changes
7443 of the `menu' face.
7444 (realize_basic_faces): Reflect changes in the `menu' faces
7445 in menu bars.
7446
7447 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7448 dy obtained from the iterator's y-position after moving from
7449 scroll_margin_pos to PT; see comment there.
7450
7451 * xdisp.c (safe_eval_handler): Call add_to_log.
7452
7453 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7454 is not a symbol or string.
7455
7456 * xdisp.c (echo_area_display): Don't perform a display update from
7457 inside redisplay. The update will happen anyway at the end of
7458 redisplay, and it can confuse redisplay (GC messages while
7459 redisplaying, for instance.)
7460
74612000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7462
7463 * xrdb.c (x_load_resources): Use the class name in the defaults.
7464
7465 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7466 (regex_compile): Catch bogus \(\1\).
7467
74682000-10-30 Gerd Moellmann <gerd@gnu.org>
7469
7470 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7471 RGB values.
7472
7473 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7474 we have a color cache, check that the cached color equals the
7475 allocated color. If not, clear the color cache.
7476
7477 * window.c (displayed_window_lines): Change buffers if necessary.
7478 Fix computation of displayed lines.
7479
7480 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7481 update_menu_bindings to DEFVAR_BOOL.
7482
74832000-10-30 Kenichi Handa <handa@etl.go.jp>
7484
7485 * search.c (Fset_match_data): Be sure to make search_regs always sane.
7486
7487 * puresize.h (BASE_PURESIZE): Increase to 680000.
7488
7489 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7490
74912000-10-29 Jason Rumney <jasonr@gnu.org>
7492
7493 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7494
7495 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7496 (w32_cache_char_metrics): Handle possibility that 'x' does not
7497 exist in a BDF font.
7498 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7499
7500 * w32bdf.h (bdffont): Add nchars.
7501
7502 * w32bdf.c (set_bdf_font_info): Set it.
7503 (w32_BDF_TextOut): Swap byte order of double byte characters.
7504 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7505
75062000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7507
7508 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7509 don't override the colors in frame's param_alist, unless they are
7510 unspecified.
7511
7512 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7513 reverse the effect of the highlight flag.
7514
75152000-10-27 Ken Raeburn <raeburn@gnu.org>
7516
7517 * window.h (Fwindow_live_p): Declare.
7518
7519 * undo.c (record_delete): Check that last_undo_buffer is really a
7520 buffer before applying XBUFFER to it.
7521
7522 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7523 Faref.
7524
75252000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7526
7527 * lisp.h (KEYMAPP): New macro.
7528 (get_keymap): Remove.
7529 (get_keymap_1): Rename get_keymap.
7530
7531 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7532
7533 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7534
7535 * xmenu.c (single_submenu): Use KEYMAPP.
7536 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7537 Use KEYMAPP rather than Fkeymapp.
7538
7539 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7540
7541 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7542 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7543 Use KEYMAPP rather than Fkeymapp.
7544 (single_submenu): Use KEYMAPP.
7545 (w32_menu_show, w32_dialog_show): Use TRUE.
7546
7547 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7548
7549 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7550 (Fkeymapp): Use KEYMAPP.
7551 (get_keymap): Rename from get_keymap_1. Remove old def.
7552 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7553 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7554 (Fminor_mode_key_binding): Don't raise an error if the binding
7555 is not a keymap.
7556 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7557 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7558
7559 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7560 Allow Vspecial_event_map to be autoloaded.
7561 (menu_bar_items): Fetch the keymap rather than using keymapp.
7562 (menu_bar_one_keymap): No need to follow func-indirect any more.
7563 (parse_menu_item): get_keymap_1 -> get_keymap.
7564 (tool_bar_items): Fetch the keymap rather than using keymapp.
7565 (read_key_sequence): Use KEYMAPP.
7566
7567 * intervals.c (get_local_map): Use get_keymap rather than following
7568 function-indirections explicitly.
7569
7570 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7571
75722000-10-27 Jason Rumney <jasonr@gnu.org>
7573
7574 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7575 point, as Windows has oversized fonts.
7576
7577 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7578
75792000-10-27 Gerd Moellmann <gerd@gnu.org>
7580
7581 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7582 (freehook, reallochook): Handle null pointer arguments.
7583 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7584
75852000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7586
7587 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7588 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7589 Giving in to popular pressure to shut up the compiler with casts.
7590
75912000-10-27 Gerd Moellmann <gerd@gnu.org>
7592
7593 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7594 signed value, and use a default value computed from the font's
7595 maximum descent.
7596
75972000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7598
7599 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7600 that specify a negative underline position can still use underlines.
7601
7602 * window.c (Fpos_visible_in_window_p): Make POS default to
7603 WINDOW's point, not the current buffer's point.
7604
76052000-10-26 Dave Love <fx@gnu.org>
7606
7607 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7608 when it's necessary.
7609
76102000-10-26 Gerd Moellmann <gerd@gnu.org>
7611
7612 * window.c (size_window): Compute size difference from sum of old
7613 child window sizes instead of from parent's size.
7614
7615 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7616 Handle obscured lines at the top of the window.
7617
7618 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7619 down after the last error condition check.
7620
7621 * frame.c (Fdelete_frame): Run delete-frame-hook.
7622
76232000-10-26 Kenichi Handa <handa@etl.go.jp>
7624
7625 * coding.c (decode_coding): Fix previous change (check also
7626 CODING_MODE_LAST_BLOCK).
7627
76282000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7629
7630 * regex.c: More `unsigned char' -> `re_char' changes.
7631 Also change several `int' into `re_wchar_t'.
7632 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7633 (PUSH_FAILURE_POINTER): Don't cast any more.
7634 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7635 We want GCC to complain, since this piece of code makes
7636 re_match non-reentrant, which *should* be fixed.
7637 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7638 (EXTEND_BUFFER): Use RETALLOC.
7639 (SET_LIST_BIT): Don't cast.
7640 (re_wchar_t): New type.
7641 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7642 that those two functions will always properly return.
7643 (IMMEDIATE_QUIT_CHECK): Cast to void.
7644 (analyse_first): Use recursion rather than an explicit stack.
7645 (re_compile_fastmap): Can't fail anymore.
7646 (re_search_2): Don't check re_compile_fastmap for failure.
7647 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7648 Now also sets the new value (passed in a new argument).
7649 (re_match_2_internal): Use it.
7650 Also, use a new var `reg' of type size_t when looping through regs
7651 rather than reuse the inappropriate `mcnt'.
7652
7653 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7654 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7655 (where_is_internal): Renamed from Fwhere_is_internal.
7656 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7657 (Fwhere_is_internal): New function wrapping where_is_internal.
7658 (where_is_internal_1): Handle the case where we're filling the cache.
7659 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7660
76612000-10-25 Miles Bader <miles@gnu.org>
7662
7663 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7664
76652000-10-25 Gerd Moellmann <gerd@gnu.org>
7666
7667 * window.c (pos_fully_visible_p): Removed.
7668 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7669 if position is visible and/or fully visible.
7670
7671 * lisp.h (pos_visible_p): Add prototype.
7672
7673 * xdisp.c (pos_visible_p): New function.
7674
76752000-10-25 Kenichi Handa <handa@etl.go.jp>
7676
7677 * process.c (send_process): If OBJECT is t, it means that the data
7678 is from C string, but we should encode it. Before calling
7679 setup_raw_text_coding_system, be sure to flush out data by the
7680 previous coding system.
7681
76822000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7683
7684 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7685 assignment of startpos to prev when startpos == pos.
7686
7687 * editfns.c (find_field): Set the field stickiness correctly from
7688 overlay fields. Use renamed `text_property_stickiness'.
7689 (text_property_stickiness): Renamed from `char_property_stickiness'.
7690 Only check text properties, not overlays.
7691 * textprop.c (get_char_property_and_overlay): New function.
7692 (Fget_char_property): Use it.
7693 * intervals.h (get_char_property_and_overlay): Add declaration.
7694
76952000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7696
7697 * keymap.c: Use AREF, ASET and ASIZE macros.
7698 (Fmake_sparse_keymap): Docstring fix.
7699 (synkey): Remove.
7700 (shadow_lookup): Move up.
7701 Handle the case where lookup-key returns an integer.
7702 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7703 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7704 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7705 Simplify/rewrite the keymap-finding code.
7706 Add check for command shadowing, using shadow_lookup.
7707
77082000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7709
7710 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7711 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7712 a symbol.
7713
77142000-10-24 Andrew Innes <andrewi@gnu.org>
7715
7716 * dired.c (directory_files_internal_unwind): New function.
7717 (directory_files_internal): Use it to ensure closedir is called
7718 even if expand-file-name or file-attributes throw, eg. because of
7719 a user interrupt. Also enable immediate_quit while calling
7720 re_search, so that matching can be interrupted as well.
7721
77222000-10-24 Andrew Innes <andrewi@gnu.org>
7723
7724 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7725 NT-Emacs only.
7726 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7727 so that re_search functions only quit when callers expect them to.
7728
77292000-10-24 Kenichi Handa <handa@etl.go.jp>
7730
7731 * regex.c (regex_compile): Change the way of handling a range from
7732 a char less than 256 to a char not less than 256.
7733
77342000-10-24 Gerd Moellmann <gerd@gnu.org>
7735
7736 * window.c (size_window): Prevent setting window's width or
7737 height to a negative value (esp. with XSETFASTINT).
7738
7739 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7740 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7741 (protect_malloc_state) [GC_MALLOC_CHECK &&
7742 GC_PROTECT_MALLOC_STATE]: New function.
7743 (PROTECT_MALLOC_STATE): New macro.
7744 (__malloc_initialize, morecore, _malloc_internal)
7745 (_free_internal) _realloc_internal): Use it to make _heapinfo
7746 read-only outside of gmalloc.
7747
7748 * keymap.c: Update copyright.
7749
7750 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7751 a symbol.
7752
77532000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7754
7755 * filelock.c (unlock_all_files): Use unlock_file to expand each
7756 buffer's file_truename before trying remove its lock file.
7757
77582000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7759
7760 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7761 or CRLF, decode EOLs.
7762
77632000-10-24 Kenichi Handa <handa@etl.go.jp>
7764
7765 * window.c (Fdisplay_buffer): Fix doc.
7766
77672000-10-23 Jason Rumney <jasonr@gnu.org>
7768
7769 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7770 ASCII font of default fontset on Windows.
7771
7772 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7773 xterm.c comment below).
7774
7775 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7776
77772000-10-23 Gerd Moellmann <gerd@gnu.org>
7778
7779 * xterm.c (x_connection_closed): Reset handling_signal.
7780
7781 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
7782
77832000-10-23 Miles Bader <miles@gnu.org>
7784
7785 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7786 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7787 maintain old behavior.
7788 * minibuf.c (Fminibuffer_complete): Likewise.
7789
77902000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7791
7792 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7793 that when a font can't be exactly centered, it errs up rather than
7794 down.
7795
77962000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
7797
7798 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
7799
78002000-10-23 Andrew Choi <akochoi@i-cable.com>
7801
7802 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7803
7804 * dispnew.c [macintosh]: Include macterm.h.
7805 (init_display) [macintosh]: Initialization for window system.
7806
7807 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7808 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7809 syms_of_search, x_term_init, and init_keyboard before calling
7810 init_window_once. Also, call syms_of_xmenu.
7811
7812 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7813 default fontset to Monaco.
7814
7815 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7816 NewMacWindow and DisposeMacWindow.
7817 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7818 instead of calling NewMacWindow and setting fields of
7819 f->output_data.mac directly. Call init_frame_faces.
7820 (Fdelete_frame) [macintosh]: Remove unused code.
7821 (Fmodify_frame_parameters) [macintosh]: Call
7822 x_set_frame_parameters instead of mac_set_frame_parameters.
7823
7824 * frame.h [macintosh]: Define menu_bar_lines field in struct
7825 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7826
7827 * keyboard.c [macintosh]: Include macterm.h.
7828 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7829 and menu_bar_activate_event type events as for X and NT.
7830 (make_lispy_event) [macintosh]: Construct lisp events of type
7831 MENU_BAR_EVENT as for X and NT.
7832
7833 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7834 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7835 (sys_subshell) [macintosh]: Remove definition entirely.
7836 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7837 Vwindow_system_version here. Remove initialization of
7838 Vx_bitmap_file_path.
7839 (read_input_waiting): Correct the number of parameters passed to
7840 read_socket_hook.
7841 Move all Macintosh functions to mac/mac.c.
7842
7843 * term.c [macintosh]: Include macterm.h.
7844
7845 * window.c [macintosh]: Include macterm.h.
7846
7847 * xdisp.c [macintosh]: Include macterm.h. Declare
7848 set_frame_menubar and pending_menu_activation.
7849 (echo_area_display) [macintosh]: Do not return if terminal frame
7850 is the selected frame.
7851 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7852 Allow only the selected frame to set menu bar.
7853 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7854 calling FRAME_EXTERNAL_MENU_BAR (f).
7855 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7856
7857 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7858 and check_x. Declare XCreateGC. Define x_create_gc and
7859 x_free_gc. Initialize font_sort_order.
7860 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7861 but call x_list_fonts instead of w32_list_fonts.
7862 (Finternal_face_x_get_resource) [macintosh]: Do not call
7863 display_x_get_resource.
7864 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7865 (realize_x_face) [macintosh]: Load the font if it is specified in
7866 ATTRS.
7867 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
7868
78692000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7870
7871 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7872 is nil: since we go to the end of submap anyway, we'd end up
7873 setting nil to nil.
7874 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7875 doesn't obey autoload.
7876
78772000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7878
7879 * msdos.c (dos_set_window_size): Update screen dimension variables.
7880
78812000-10-21 Jason Rumney <jasonr@gnu.org>
7882
7883 * w32term.c (w32_cache_char_metrics): Double check that font is
7884 really fixed pitch before trusting tmPitchAndFamily.
7885
78862000-10-21 Andrew Innes <andrewi@gnu.org>
7887
7888 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7889
7890 * w32term.h: Extern decl for w32_cache_char_metrics.
7891
7892 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7893
7894 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7895 (w32_unload_font): Free per_char array if present.
7896
7897 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7898 cached information in emulated XFontStruct to handle common cases
7899 quickly. Do not allocate XCharStruct for return.
7900 (w32_native_per_char_metric): New function.
7901 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7902 allocating one.
7903 (x_produce_glyphs): Don't get an HDC. Change calls to
7904 w32_per_char_metric to match arg change above. Remove calls to
7905 free results.
7906 (w32_get_glyph_overhangs): Ditto.
7907 (w32_cache_char_metrics): New function.
7908
7909 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7910 ($(BLD)/casefiddle.$(O)): Remove compile command.
7911 ($(BLD)/gmalloc.$(O)): Remove compile command.
7912 ($(BLD)/dispnew.obj):
7913 ($(BLD)/keyboard.obj):
7914 ($(BLD)/w32inevt.obj):
7915 ($(BLD)/w32bdf.obj):
7916 ($(BLD)/alloc.obj):
7917 ($(BLD)/buffer.obj):
7918 ($(BLD)/editfns.obj):
7919 ($(BLD)/emacs.obj):
7920 ($(BLD)/fileio.obj):
7921 ($(BLD)/fns.obj):
7922 ($(BLD)/indent.obj):
7923 ($(BLD)/insdel.obj):
7924 ($(BLD)/intervals.obj):
7925 ($(BLD)/minibuf.obj):
7926 ($(BLD)/print.obj):
7927 ($(BLD)/scroll.obj):
7928 ($(BLD)/sysdep.obj):
7929 ($(BLD)/textprop.obj):
7930 ($(BLD)/widget.obj):
7931 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7932 ($(BLD)/term.obj): Add dependency on dispextern.h.
7933
7934 * makefile.nt ($(BLD)\dispnew.obj):
7935 ($(BLD)\keyboard.obj):
7936 ($(BLD)\w32inevt.obj):
7937 ($(BLD)\w32bdf.obj):
7938 ($(BLD)\alloc.obj):
7939 ($(BLD)\buffer.obj):
7940 ($(BLD)\editfns.obj):
7941 ($(BLD)\emacs.obj):
7942 ($(BLD)\fileio.obj):
7943 ($(BLD)\fns.obj):
7944 ($(BLD)\indent.obj):
7945 ($(BLD)\insdel.obj):
7946 ($(BLD)\intervals.obj):
7947 ($(BLD)\minibuf.obj):
7948 ($(BLD)\print.obj):
7949 ($(BLD)\scroll.obj):
7950 ($(BLD)\sysdep.obj):
7951 ($(BLD)\textprop.obj):
7952 ($(BLD)\widget.obj):
7953 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7954 ($(BLD)\term.obj): Add dependency on dispextern.h
7955
79562000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7957
7958 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7959 with an additional argument of Qt.
7960
79612000-10-21 Miles Bader <miles@gnu.org>
7962
7963 * window.c (pos_fully_visible_in_window_p): New function.
7964 (Fpos_visible_in_window_p): Add FULLY argument.
7965 Use pos_fully_visible_in_window_p.
7966 (window_scroll_pixel_based, window_scroll_line_based): Update
7967 calls to Fpos_visible_in_window_p.
7968 * lisp.h (Fpos_visible_in_window_p): Update prototype
7969
79702000-10-20 Gerd Moellmann <gerd@gnu.org>
7971
7972 * alloc.c (toplevel): Conditionalize compilation of mem_*
7973 functions differently.
7974
79752000-10-20 Jason Rumney <jasonr@gnu.org>
7976
7977 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7978 mem_init where it used to be. mem_z etc not defined otherwise.
7979
79802000-10-20 Gerd Moellmann <gerd@gnu.org>
7981
7982 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7983 GC_MALLOC_CHECK.
7984 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7985 structure definition and related variabled to the top of the file.
7986 Include this code when GC_MALLOC_CHECK is defined.
7987 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7988 register/unregister allocated region.
7989 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7990 which isn't allocated.
7991 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7992 something which is already in use.
7993 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7994 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7995 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7996 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7997
7998 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7999 _malloc_internal instead of malloc.
8000 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8001 of free.
8002
80032000-10-20 Andrew Innes <andrewi@gnu.org>
8004
8005 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8006 Windows.
8007 (my_strftime) <macro>: Don't use macro arg list when redefining as
8008 _strftime_copytm.
8009 (my_strftime) <function>: Supply 0 as ut argument.
8010
80112000-10-19 Jason Rumney <jasonr@altavista.net>
8012
8013 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8014 including dispextern.h, as it stops faces from working.
8015
8016 * w32fns.c (Fx_create_frame): Don't bother calling
8017 face-set-after-frame-default since the caller does it for us
8018 anyway. Clean up calls to x_get_arg to be consistent with X.
8019
8020 * w32term.c (x_produce_glyphs): Handle
8021 unibyte_display_via_language_environment correctly.
8022 (w32_draw_box_rect): Fix the calculation of width and height.
8023
8024 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8025 as it has stopped working.
8026 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8027 menu-bar.
8028
80292000-10-19 Gerd Moellmann <gerd@gnu.org>
8030
8031 * eval.c (skip_debugger): Prevent a compiler warning.
8032 (Fcondition_case): Likewise.
8033 (Fbacktrace_frame): Use a null interactive spec.
8034
80352000-10-19 Kenichi Handa <handa@etl.go.jp>
8036
8037 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8038
80392000-10-18 Gerd Moellmann <gerd@gnu.org>
8040
8041 * strftime.c: Sync with glibc, file version 1.78.
8042 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8043 should no longer be used according to ISO 8601.
8044
8045 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8046 no map for meta_prefix_char, don't try to use it as a keymap.
8047 Instead, if T_OK is non-zero, look up a default binding, if any,
8048 otherwise, if T_OK is zero, return nil.
8049
8050 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8051 (x_to_xcolors, png_load): Use x_query_color.
8052
8053 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8054 New functions.
8055 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8056 which can be slow.
8057 (x_copy_color, x_alloc_lighter_color): Likewise.
8058
8059 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8060 (x_query_color, x_query_colors): Add prototype.
8061
8062 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8063 check_string_bytes only if not noninteractive, increase count to 50.
8064
80652000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8066
8067 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8068 markers correctly.
8069
80702000-10-17 Gerd Moellmann <gerd@gnu.org>
8071
8072 * alloc.c (pure_bytes_used): Renamed from pureptr.
8073 (ALIGN): New macro.
8074 (pure_alloc): New function.
8075 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8076 Use it.
8077 (Fpurecopy): Use PURE_POINTER_P.
8078
8079 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8080 PT has moved backward.
8081
8082 * xdisp.c (cursor_row_p): Take continued lines into account.
8083
8084 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8085 string's size_byte.
8086 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8087 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8088 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8089 string allocated.
8090
8091 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8092 of selective display off while searching for the next line start.
8093
80942000-10-17 Kenichi Handa <handa@etl.go.jp>
8095
8096 * Makefile.in (term.o): Depend on dispextern.h.
8097
80982000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8099
8100 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8101
81022000-10-16 Gerd Moellmann <gerd@gnu.org>
8103
8104 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8105 the iterator at the beginning, so that they can be set later on,
8106 for instance in reseat_at_next_visible_line_start, without being
8107 overwritten.
8108
8109 * xfns.c (pbm_format): Add :foreground and :background keywords.
8110 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
8111 (xbm_load): Recognize foreground and background color specifications.
8112
81132000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8114
8115 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8116
8117 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
8118
8119 * msdos.c (IT_set_face): Compare highlighted face with the default
8120 face, and invert colors if these faces' colors are identical.
8121 (Fmsdos_remember_default_colors): Don't swap foreground and
8122 background colors in initial_colors[].
8123 (IT_set_frame_parameters): Don't swap frame's foreground and
8124 background pixels. If ALIST includes "(reverse . t)", swap
8125 foreground-color and background-color properties in frame's
8126 param_alist. If the original frame's param_alist doesn't specify
8127 the colors, store unspecified-fg and unspecified-bg, reversed if
8128 required.
8129
8130 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8131 the colors are unspecified and reversed, reverse fore- and back-
8132 ground in the returned value.
8133 (Fframe_parameter): Ditto.
8134
81352000-10-16 Gerd Moellmann <gerd@gnu.org>
8136
8137 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8138 get_last_unchanged_at_beg_row.
8139 (find_first_unchanged_at_end_row): Renamed from
8140 get_first_unchanged_at_end_row.
8141 (find_first_unchanged_at_end_row): Convert assertions to
8142 unconditional tests which abort. When looking for a row in
8143 unchanged text, don't go further back than first_text_row.
8144
8145 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8146 Don't add in the last line's height when deciding if the new
8147 position is below the scroll margin.
8148
81492000-10-16 Miles Bader <miles@gnu.org>
8150
8151 * editfns.c (Fconstrain_to_field): Check carefully for field
8152 boundaries if either OLD_POS or NEW_POS has a non-nil field
8153 property, even if they're the same.
8154
81552000-10-16 Kenichi Handa <handa@etl.go.jp>
8156
8157 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8158 height for XFillRectangle.
8159
81602000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8161
8162 * syntax.c (Fstring_to_syntax): New function extracted from
8163 Fmodify_syntax_entry.
8164 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8165 (skip_chars, Fforward_comment): Remove unused variables.
8166 (syms_of_syntax): Add defsubr for string-to-syntax.
8167 (describe_syntax): Add code for comment and string fences.
8168
81692000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8170
8171 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8172 Do the meta->esc mapping. Call get_keyelt before returning.
8173 Start scanning from the second element (the first is always `keymap')
8174 to make it easier to detect when we reach a parent map.
8175 Handle the case of inheriting from a symbol whose function is a map.
8176 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8177 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8178 (get_keyelt, Flookup_key): Update call to access_keymap.
8179 Remove the meta->esc mappings.
8180 (define_as_prefix): Delete old disabled code.
8181 (menu_item_p): New function.
8182 (where_is_internal_1): Skip over the few remaining menu items.
8183 * lisp.h (access_keymap): Update prototype.
8184 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8185 Update call to access_keymap.
8186 (follow_key, read_key_sequence): Update calls to access_keymap.
8187 Remove the meta->esc mappings.
8188
81892000-10-13 Gerd Moellmann <gerd@gnu.org>
8190
8191 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8192 with additional argument.
8193
8194 * xdisp.c (cursor_row_p): New function.
8195 (try_cursor_movement, display_line): Use it.
8196
8197 * xdisp.c (append_space): Also save/restore iterator's current
8198 character and its length.
8199
8200 * xdisp.c (init_from_display_pos): Add an assertion.
8201 (handle_stop): Don't set iterator's add_overlay_start.
8202 (handle_invisible_prop): Likewise.
8203 (load_overlay_strings): If text under an overlay is invisible,
8204 take both before- and after-strings into account when the iterator
8205 is positioned either at the start or at the end of the overlay.
8206 (forward_to_next_line_start): Rewritten.
8207 (reseat_at_next_visible_line_start): Rewritten.
8208 (set_iterator_to_next): Add parameter RESEAT_P.
8209
8210 * dispextern.h (struct it): Remove member add_overlay_start.
8211 (set_iterator_to_next): Change prototype.
8212
82132000-10-13 Kenichi Handa <handa@etl.go.jp>
8214
8215 * coding.c (code_convert_region): Be sure to initialize
8216 coding->category_idx.
8217 (decode_coding_string): Set coding->src_multibyte and
8218 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8219 (encode_coding_string): Set coding->src_multibyte and
8220 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
8221
82222000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8223
8224 * xfns.c (Fx_create_frame): Don't bother calling
8225 face-set-after-frame-default since the caller does it for us anyway.
8226
82272000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * window.c (coordinates_in_window): Fix detection of vertical line
8230 on character terminals.
8231
82322000-10-12 Gerd Moellmann <gerd@gnu.org>
8233
8234 * editfns.c (save_excursion_save): Additionally record the
8235 selected window.
8236 (save_excursion_restore): If buffer was visible in a window, and a
8237 different window was selected, and the old selected window is
8238 still live, restore point in that window.
8239
82402000-10-12 Kenichi Handa <handa@etl.go.jp>
8241
8242 * xterm.c (x_produce_glyphs): Handle
8243 unibyte_display_via_language_environment correctly.
8244
8245 * regex.c (regex_compile): Change the way of handling a range from
8246 unibyte char to multibyte char.
8247
8248 * syntax.c (skip_chars): Change the way of handling a range from
8249 unibyte char to multibyte char.
8250
8251 * process.c (read_process_output): Cancel previous change.
8252
82532000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8254
8255 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8256
8257 * charset.c (Ffind_charset_string): Doc fix.
8258 (Ffind_charset_region): Doc fix.
8259
82602000-10-11 Kenichi Handa <handa@mule.m17n.org>
8261
8262 * process.c (read_process_output): Fix previous change. Adjust
8263 multibyteness of text to insert in a buffer by
8264 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
8265
82662000-10-10 Andreas Schwab <schwab@suse.de>
8267
8268 * alloc.c (mark_object): Remove all workarounds installed on
8269 1993-08-08.
8270
82712000-10-10 Kenichi Handa <handa@etl.go.jp>
8272
8273 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
8274 (base64_encode_1): Make it work for a text of multibyte form.
8275 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8276 case. Don't call str_to_multibyte because base64_decode_1
8277 produces correct multibyte form for eight-bit codes.
8278 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
8279 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8280 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8281 codes.
8282
8283 * charset.h (CHAR_STRING): Optimized for single byte characters.
8284
82852000-10-09 Andreas Schwab <schwab@suse.de>
8286
8287 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8288 -1 after socket is closed, to fall through to error processing.
8289
82902000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8291
8292 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
8293 variables. If ALIST includes foreground-color or
8294 background-color, change also the colors of the default face for
8295 this frame.
8296
82972000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8298
8299 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8300 them extern (they are defined on xfaces.c).
8301 (syms_of_msdos): Don't intern and don't staticpro
8302 Qbackground_color and Qforeground_color.
8303
83042000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8305
8306 * frame.c (Fframe_parameter): For non-windowed frames, if
8307 f->param_alist says foreground or background color is unspecified,
8308 call tty_color_name to return the color name computed from the
8309 frame's current colors.
8310
83112000-10-06 Dave Love <fx@gnu.org>
8312
8313 * terminfo.c (ospeed): Don't declare.
8314
8315 * sysdep.c: Don't include string.h.
8316 (h_errno): Declare conditional also on TRY_AGAIN.
8317
8318 * charset.c (Ffind_charset_string): Doc fix.
8319
8320 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
8321 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8322 error messages.
8323
83242000-10-05 Dave Love <fx@gnu.org>
8325
8326 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8327 position like menu-bar.
8328
83292000-10-05 Gerd Moellmann <gerd@gnu.org>
8330
8331 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8332
8333 * xdisp.c (handle_single_display_prop): Use safe_call1.
8334 (safe_call): Renamed from call_function.
8335 (safe_call1): New function.
8336 (handle_fontified_prop): Use safe_call1 instead of call1.
8337 (safe_eval): Renamed from eval_form.
8338 (safe_eval_handler): Renamed from eval_handler.
8339 (handle_single_display_prop, display_mode_element): Use safe_eval
8340 instead of eval_form.
8341
8342 * xfaces.c (merge_face_heights): Use safe_call instead of
8343 call_function.
8344
8345 * keyboard.c (show_help_echo): Use safe_call instead of
8346 call_function; use safe_eval instead of eval_form.
8347
8348 * lisp.h (safe_call): Renamed from call_function.
8349 (safe_eval): Renamed from eval_form.
8350 (safe_call1): Add prototype.
8351
83522000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8353
8354 * xfns.c (image_ascent): Rearrange ascent calculation for the
8355 has-a-font case.
8356
83572000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8358
8359 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8360 (where_is_internal_1): Don't bother ignoring menu-items any more.
8361
83622000-10-04 Gerd Moellmann <gerd@gnu.org>
8363
8364 * keyboard.c (update_menu_bindings): New variable.
8365 (parse_menu_item): Use AREF. If update_menu_bindings
8366 is 0, don't update menu bindings.
8367 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8368
83692000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8370
8371 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8372 to `mark_object'.
8373
83742000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8375
8376 * syntax.c (forw_comment): Match nestedness of ender/starter.
8377 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8378 (prev_char_comstart_first): Remove.
8379 (back_comment): Check two-char comment markers more carefully
8380 to better handle overlapping cases like *//* or /* */* */ ...
8381 Match nestedness of ender/starter.
8382
83832000-10-02 Dave Love <fx@gnu.org>
8384
8385 * config.in (HAVE_GAI_STRERROR): Add undef.
8386
8387 * process.c (Fopen_network_stream): Use it.
8388
8389 * m/alpha.h (NO_REMAP): Don't define.
8390
83912000-10-02 Gerd Moellmann <gerd@gnu.org>
8392
8393 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8394 return with a string converted to an integer or vice versa when
8395 Vmocklisp_arguments is t.
8396 (Fsignal): Likewise. The function can return for `quit'.
8397 (struct gcpro): Declare member `var' to point to a volatile
8398 Lisp_Object.
8399
8400 * eval.c (error): Prevent compiler warning.
8401
84022000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8403
8404 * keymap.c (keymap_memberp): New function.
8405 (Fset_keymap_parent): Use it.
8406 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8407 Use keymap_memberp to avoid creating cycles.
8408 (access_keymap): Use KEYMAPP.
8409
84102000-09-30 Gerd Moellmann <gerd@gnu.org>
8411
8412 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
8413 gai_strerror. Make sure xerrno is set if connect fails. Improve
8414 error recovery.
8415
84162000-09-29 Jason Rumney <jasonr@gnu.org>
8417
8418 * w32term.c (w32_char_font_type, w32_encode_char)
8419 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8420 (w32_bdf_per_char_metric): New function.
8421 (w32_per_char_metric): Use it.
8422 (x_draw_glyph_string_background): Always draw background for BDF
8423 glyphs.
8424
8425 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8426 GDI object which is a scarce resource.
8427
8428 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8429 (get_quoted_string): Fix limit on memchr search.
8430 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8431 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8432 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8433 (get_cached_font_char, cache_char_offset): Use macro
8434 BDF_CODEPOINT_RANGE_COVER_P.
8435 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8436 (clear_cached_bitmap_slots): New function.
8437 (GET_HEX_VALUE): G-Z, g-z are not hex.
8438 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8439 (get_bitmap_with_cache): Use new cache implementation.
8440 (create_offscreen_bitmap): New function.
8441 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8442
8443 * w32term.c (x_produce_glyphs): If the distance from the current
8444 position to the next tab stop is less than a canonical character
8445 width, use the tab stop after that.
8446 (x_draw_glyphs): Handle case START and END are out of bounds more
8447 carefully.
8448 (x_clear_mouse_face): Block/unblock input.
8449 (x_display_and_set_cursor): Don't show a hollow box cursor for
8450 buffers whose cursor_type is nil.
8451
84522000-09-29 Gerd Moellmann <gerd@gnu.org>
8453
8454 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
8455
8456 * dispextern.h (updating_frame): Declare extern.
8457
84582000-09-29 Andreas Schwab <schwab@suse.de>
8459
8460 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8461
84622000-09-29 Gerd Moellmann <gerd@gnu.org>
8463
8464 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8465 use its function definition.
8466 (tool_bar_items): Likewise.
8467
8468 * lisp.h (fatal): Declare NO_RETURN.
8469
84702000-09-29 Kenichi Handa <handa@etl.go.jp>
8471
8472 * keymap.c: Remove the line "#undef NULL".
8473
84742000-09-28 Gerd Moellmann <gerd@gnu.org>
8475
8476 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
8477
84782000-09-28 Dave Love <fx@gnu.org>
8479
8480 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8481
8482 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8483
8484 * .gdbinit (xreload): Note its need on GNU/Linux.
8485
8486 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8487 r_alloc, r_alloc_free.
8488
84892000-09-28 Kenichi Handa <handa@etl.go.jp>
8490
8491 * syntax.c (skip_chars): Handle negation correctly.
8492
84932000-09-27 Gerd Moellmann <gerd@gnu.org>
8494
8495 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8496 with non-zero FORCE_P argument.
8497
8498 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8499 Add assertions.
8500
8501 * xdisp.c (window_box_height): Add an assertion.
8502
8503 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8504 tool-bar than is available.
8505 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8506
85072000-09-27 Dave Love <fx@gnu.org>
8508
8509 * s/irix6-5.h: Now works 64-bit. Tidied.
8510
85112000-09-26 Gerd Moellmann <gerd@gnu.org>
8512
8513 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8514 instead of BITS_PER_INT.
8515 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8516 EMACS_UINT, respectively.
8517 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8518
8519 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8520
8521 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8522
8523 * window.c (freeze_window_starts): Construct last argument for
8524 foreach_window differently.
8525
8526 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8527
8528 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8529 EMACS_UINT instead of `int' and `unsigned int'.
8530 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8531
8532 * frame.h (struct frame): Make the `nothing' member of union
8533 output_data an EMACS_INT.
8534
8535 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
8536 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8537 size in the sdata structure.
8538 (SDATA_NBYTES, SDATA_DATA): New macros.
8539 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8540 differently for the different layout of the sdata structure.
8541 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8542 in sdata.
8543 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8544 Check that size recorded in the string size and size recorded in
8545 the sdata structure agree.
8546
85472000-09-25 Dave Love <fx@gnu.org>
8548
8549 * buffer.c: Include stdio.h.
8550
8551 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
8552
8553 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8554
8555 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
8556 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
8557 (__malloc_extra_blocks): Declare as __malloc_size_t.
8558
85592000-09-25 Gerd Moellmann <gerd@gnu.org>
8560
8561 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8562
8563 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8564 (read_char): If help-echo is showing, preserve the echo area
8565 when redisplaying.
8566
8567 * xdisp.c (help_echo_showing_p): New variable.
8568 (set_message): Reset it to 0.
8569 (init_xdisp): Initialize help_echo_showing_p.
8570
8571 * dispextern.h (help_echo_showing_p): Declare extern.
8572
8573 * config.in: Fix typo in __GNUC_MINOR__.
8574
8575 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8576
8577 * s/freebsd.h (POSIX_SIGNALS): Define.
8578
8579 * xterm.c (x_clear_mouse_face): Block/unblock input.
8580
85812000-09-24 Dave Love <fx@gnu.org>
8582
8583 * fns.c (base64_encode_1): Fix last change.
8584
85852000-09-22 Gerd Moellmann <gerd@gnu.org>
8586
8587 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8588
8589 * xdisp.c (try_window_reusing_current_matrix): More fixes
8590 for the case window has a header-line.
8591
85922000-09-22 Dave Love <fx@gnu.org>
8593
8594 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8595 a doc string.
8596
8597 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8598
8599 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8600
86012000-09-21 Gerd Moellmann <gerd@gnu.org>
8602
8603 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
8604 for GCC >= 2.5.
8605
8606 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8607 Declare NO_RETURN.
8608
8609 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8610 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8611 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8612 warnings.
8613
8614 * marker.c (byte_char_debug_check): Return void.
8615
8616 * xfns.c (Fx_create_frame): Set default frame parameter value
8617 for tool-bar-lines to 1.
8618
8619 * dispnew.c (scrolling_window): Compare y-positions of rows
8620 equal at the start. Some simplification.
8621
8622 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8623 reused rows' y-position in the case window has a header-line, and
8624 new window start is greater than old window start.
8625
8626 * process.c (process_sent_to): New variable.
8627 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8628 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8629 Declare more parameters volatile.
8630
8631 * lread.c (Vrecursive_load_depth_limit): New variable.
8632 (Fload): Check recursive loads whose recursion depth exceeds
8633 Vrecursive_load_depth_limit.
8634 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8635
86362000-09-20 Gerd Moellmann <gerd@gnu.org>
8637
8638 * fileio.c (Fread_file_name): Doc fix.
8639
8640 * editfns.c (Fmessage_or_box): Doc fix.
8641
8642 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8643
8644 * xfns.c (xbm_scan): Allow C-style comments.
8645
8646 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8647 symbols are specified, add color translations to the cache.
8648 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8649 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8650 xpm_cache_color.
8651 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8652 structures to xpm_init_color_cache.
8653
86542000-09-19 Gerd Moellmann <gerd@gnu.org>
8655
8656 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
8657
86582000-09-19 Andrew Innes <andrewi@gnu.org>
8659
8660 * makefile.nt (bootstrap-emacs): Don't change directory.
8661
86622000-09-19 Kenichi Handa <handa@etl.go.jp>
8663
8664 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8665
8666 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8667 If output buffer is too small, signal an appropriated error.
8668
86692000-09-18 Dave Love <fx@gnu.org>
8670
8671 * keyboard.c (menu_bar_items, tool_bar_items)
8672 (current_active_maps): Remove redundant get_local_map call.
8673
86742000-09-18 Gerd Moellmann <gerd@gnu.org>
8675
8676 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8677 cursor for buffers whose cursor_type is nil.
8678
8679 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8680 a feature to implement that is already implemented.
8681 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8682 warnings.
8683
8684 * xfns.c (x_clear_image_1): New function.
8685 (x_clear_image): Use it.
8686 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
8687
8688 * dispnew.c (update_window): Move test for invisible lines
8689 at the top to update_window_line.
8690 (update_window_line): Handle invisible lines here.
8691
8692 * xfns.c (clear_image_cache): Clear current matrices of all
8693 frames sharing an image cache. Block input while freeing
8694 images. Fix timestamp comparison.
8695 (x_clear_image): Also free the mask.
8696
8697 * xfns.c (lookup_image): Block input while loading the image so
8698 that we won't get interrupted in a state where the image isn't yet
8699 set up completely.
8700 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8701 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8702 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
8703 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
8704
87052000-09-16 Gerd Moellmann <gerd@gnu.org>
8706
8707 * dispnew.c (update_window): Make sure to make desired rows
8708 current even if they are completely invisible at the top
8709 of a window.
8710
87112000-09-15 Gerd Moellmann <gerd@gnu.org>
8712
8713 * xfns.c (lookup_image): Build mask before applying an algorithm.
8714 Recognize algorithm `disabled'.
8715 (cross_disabled_images): New variable.
8716 (COLOR_INTENSITY): New macro.
8717 (x_detect_edges): Use COLOR_INTENSITY.
8718 (x_disable_image): New function.
8719 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8720
8721 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8722 disabled state, don't apply an image transformation algorithm if
8723 the user specified an image for the disabled state. Use
8724 `:algorithm disabled' for creating a disabled item's image if the
8725 user hasn't specified an image.
8726
8727 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8728 allocation functions with the XPM lib.
8729 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8730 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8731 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8732 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
8733 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
8734 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8735 functions, if possible, because these handle color allocation
8736 failure more gracefully.
8737 (Fimage_mask_p): New function.
8738
8739 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8740 (Qedge_detection, Qheuristic): New symbols.
8741 (syms_of_xfns): Initialize new symbols.
8742 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8743 `algorithm (edge-detection ...)'.
8744 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8745 (tiff_format, gif_format, gs_format): Add `:mask'.
8746 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8747 (GIF_MASK, GS_MASK): New enumerators.
8748 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8749 (emboss_matrix, laplace_matrix): New variables.
8750 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8751 (x_edge_detection): New functions.
8752 (x_laplace): Rewritten in terms of x_detect_edges.
8753 (x_build_heuristic_mask): If image has a mask, free it.
8754
87552000-09-14 Andrew Innes <andrewi@gnu.org>
8756
8757 * makefile.w32-in: Revert to Unix line endings.
8758
87592000-09-14 Andrew Innes <andrewi@gnu.org>
8760
8761 * makefile.w32-in: Standardize indentation somewhat.
8762 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8763 cater for differences between shells.
8764
8765 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8766
87672000-09-14 Gerd Moellmann <gerd@gnu.org>
8768
8769 * xterm.c (x_produce_glyphs): If the distance from the current
8770 position to the next tab stop is less than a canonical character
8771 width, use the tab stop after that.
8772
87732000-09-14 Dave Love <fx@gnu.org>
8774
8775 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8776
87772000-09-14 Gerd Moellmann <gerd@gnu.org>
8778
8779 * xdisp.c (handle_fontified_prop): While running fontification
8780 functions, bind `fontification-functions' and
8781 `after-change-functions' to nil.
8782
8783 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8784 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8785
8786 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8787
8788 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8789 USE_MMAP_FOR_BUFFERS.
8790
8791 * insdel.c (make_gap): Use enlarge_buffer_text.
8792
8793 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8794 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8795 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8796 from former r_alloc_* functions in ralloc.c.
8797 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
8798 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8799 (mmap_init) [REL_ALLOC_MMAP]: New function.
8800 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8801 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8802 BUFFER_FREE.
8803
8804 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8805 (enlarge_buffer_text): Add prototype.
8806
8807 * ralloc.c: Remove everything having to do with the use of mmap.
8808
88092000-09-13 Gerd Moellmann <gerd@gnu.org>
8810
8811 * sound.c (Fplay_sound): Doc fix.
8812
8813 * keyboard.c: Avoid some more compiler warnings.
8814 (parse_tool_bar_item): Ignore cached key bindings.
8815
8816 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8817 and allocation of Lisp data.
8818
88192000-09-12 Gerd Moellmann <gerd@gnu.org>
8820
8821 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8822 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8823 defaults first.
8824
8825 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8826
88272000-09-12 Miyashita Hisashi <himi@meadowy.org>
8828
8829 * ccl.c: Comment fixed.
8830 (MAX_MAP_SET_LEVEL): Increased to 30.
8831 (PUSH_MAPPING_STACK): Enclose with do-while block.
8832 (POP_MAPPING_STACK): Likewise.
8833 (stack_idx_of_map_multiple): New variable.
8834 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8835 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
8836 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
8837 (ccl_driver) <CCL_MapSingle>: Likewise.
8838 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8839 with the case where looking up process reaches to the end of
8840 map-set, and call CCL programs as the above change.
8841
88422000-09-11 Gerd Moellmann <gerd@gnu.org>
8843
8844 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8845 that might be clobbered by longjmp.
8846 (check_x_display_info, x_decode_color, create_frame_xic)
8847 (Fx_display_backing_store, Fx_display_visual_class)
8848 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8849
8850 * lread.c (init_lread): Set Vloads_in_progress to nil.
8851 (Fload): Show list of recursively loaded files, when signaling an
8852 error.
8853
8854 * lread.c (Vloads_in_progress): New variable.
8855 (record_load_unwind): New function.
8856 (Fload): Check for recursive loads.
8857 (syms_of_lread): Initialize Vloads_in_progress.
8858 (read_integer, read1): Avoid some compiler warnings.
8859
8860 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8861 compiler warnings.
8862
88632000-09-11 Miles Bader <miles@gnu.org>
8864
8865 * editfns.c (Fbuffer_string): Doc fix.
8866
88672000-09-10 Gerd Moellmann <gerd@gnu.org>
8868
8869 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8870
88712000-09-09 Ken Raeburn <raeburn@gnu.org>
8872
8873 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8874 whether to include other header files.
8875
88762000-09-09 Gerd Moellmann <gerd@gnu.org>
8877
8878 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
8879 by Fmemq as a boolean.
8880
88812000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8882
8883 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8884
88852000-09-08 Gerd Moellmann <gerd@gnu.org>
8886
8887 * ralloc.c (mmap_fd): Remove initializer which can make it
8888 read-only in a dumped Emacs.
8889 (mmap_fd_1): New variable.
8890 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8891 restore it from there.
8892 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8893 unconditionally so that mmap_fd can be initialized there.
8894 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8895 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8896 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8897
8898 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8899
8900 * xdisp.c (dump_glyph_row): Fix printf format string.
8901 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
8902
8903 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8904
8905 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8906 inheritance.
8907
8908 * xdisp.c (try_window_id): When trying to locate cursor in
8909 unchanged rows at the top, handle the case that we can't find it.
8910
8911 * xterm.c (x_draw_glyphs): Handle case START and END are out
8912 of bounds more carefully.
8913
89142000-09-08 Dave Love <fx@gnu.org>
8915
8916 * s/sol2.h (REL_ALLOC_MMAP): Define.
8917 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8918
8919 * ralloc.c: Don't include string.h (redundant).
8920 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8921 [!MAP_ANON]: Include fcntl.h.
8922 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8923 (r_alloc, r_re_alloc, r_alloc_free)
8924 (mmap_enlarge, mmap_set_vars): Use it.
8925 (r_alloc_init_fd): New function.
8926 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8927 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8928 malloc type.
8929
8930 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8931 Remove vm-limit.o.
8932
8933 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8934 change to __NetBSD__.
8935
89362000-09-08 Kenichi Handa <handa@etl.go.jp>
8937
8938 * search.c (compile_pattern): Check the multibyteness of cached
8939 string and PATTERN.
8940
89412000-09-08 Miles Bader <miles@gnu.org>
8942
8943 * xfaces.c (default_face_vector): Function removed.
8944 (Finternal_merge_in_global_face): Restore old global/local
8945 attribute override order. Use inline loop instead of calling
8946 default_face_vector.
8947
89482000-09-07 Gerd Moellmann <gerd@gnu.org>
8949
8950 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8951 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8952 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8953 where necessary, in case POINTER_TYPE is `void'.
8954
89552000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8956
8957 * frame.c (make_terminal_frame): Initialize frame foreground and
8958 background colors to unspecified, for the initial instance of an
8959 MSDOS frame.
8960
89612000-09-07 Gerd Moellmann <gerd@gnu.org>
8962
8963 * ralloc.c (mmap_find): Fix overlap computation.
8964 (mmap_enlarge): Compute nbytes before trying to find an
8965 overlapping region.
8966
8967 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8968 instead of `!='.
8969
8970 * lread.c (syms_of_lread): Change value of regexp
8971 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8972
8973 * xmenu.c (xdialog_show): When looking up the selection in
8974 menu_items, take `quote' boundaries into account; this corresponds
8975 to a nil ITEM in x-popup-dialog.
8976
89772000-09-07 Kenichi Handa <handa@etl.go.jp>
8978
8979 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8980 not 0x81.
8981 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8982
8983 * coding.c (encode_coding_sjis_big5): Use translation table for
8984 encoding, not decoding. Fix the handling of latin-jisx0201.
8985 Check for the charset katakana-jisx0201 too.
8986 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
8987 (detect_coding_sjis): Check the byte sequence more rigidly.
8988
89892000-09-07 Gerd Moellmann <gerd@gnu.org>
8990
8991 * xfaces.c (Vparam_value_alist): New variable.
8992 (syms_of_xfaces): Initialize it.
8993 (Finternal_set_lisp_face_attribute): Avoid more consing.
8994
8995 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8996 specially.
8997 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8998 (Qbackground_mode): New variable.
8999 (syms_of_frame_1): Initialize Qbackground_mode.
9000
9001 * lisp.h (Qdisplay): Declare extern.
9002
9003 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9004 change face on all frames, and change the default for new frames.
9005
90062000-09-07 Dave Love <fx@gnu.org>
9007
9008 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9009
90102000-09-07 Kenichi Handa <handa@etl.go.jp>
9011
9012 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9013
9014 * charset.c: Include composite.h
9015 (lisp_string_width): New function.
9016 (Fstring_width): Call lisp_string_width instead of strwidth.
9017
9018 * Makefile.in (charset.o): Depends on composite.h.
9019
9020 * process.c (read_process_output): Before inserting the decoded
9021 text in the buffer, adjust the multibyteness.
9022
90232000-09-06 Gerd Moellmann <gerd@gnu.org>
9024
9025 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
9026 buffer's text buffer is null, map new memory.
9027
9028 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9029 POINTER_TYPE and size_t.
9030 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9031 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9032 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9033 [REL_ALLOC_MMAP]: New macros.
9034 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9035 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9036 [REL_ALLOC_MMAP]: New functions.
9037
9038 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9039 before and after unexec.
9040
9041 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9042 text buffers if necessary.
9043
9044 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9045 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9046 in prototypes.
9047
9048 * config.in (HAVE_MMAP): Add #undef.
9049
90502000-09-05 Gerd Moellmann <gerd@gnu.org>
9051
9052 * frame.c (Qdisplay_type): New variable.
9053 (syms_of_frame_1): Initialize it.
9054 (Fframe_parameter): New function that avoids consing.
9055 (syms_of_frame): Defsubr it.
9056
9057 * buffer.c (Fother_buffer): Consider buffers as invisible when
9058 they are displayed in a window on an invisible frame.
9059
9060 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9061 get-largest-window always return nil.
9062
90632000-09-04 Gerd Moellmann <gerd@gnu.org>
9064
9065 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9066 variable; recognize Emacs 19 elc files.
9067
90682000-09-04 Miles Bader <miles@gnu.org>
9069
9070 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9071 before initially popping up the menu, so the menu doesn't flash
9072 when the face settings are significantly different from the defaults.
9073
90742000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9075
9076 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9077 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9078 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9079 (BIT_UNIBYTE): Remove.
9080 (re_match_2_internal): Delete corresponding code and streamline the
9081 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9082 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9083 (re_wctype_t): New type.
9084 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9085 (regex_compile): Use them and fix handling of overly long char classes.
9086
90872000-09-03 Andrew Innes <andrewi@gnu.org>
9088
9089 * makefile.w32-in: Change to DOS line endings.
9090
9091 * s/ms-w32.h (ORDINARY_LINK): New define.
9092
9093 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9094 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9095
9096 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9097 (distclean): Delete them here instead.
9098
9099 * w32proc.c (compare_env): Convert to uppercase for comparison,
9100 not lowercase, to match how the native Windows shell works.
9101
91022000-09-03 Jason Rumney <jasonr@gnu.org>
9103
9104 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9105 CVS changes the line-ends when checking in/out on DOS/Windows.
9106
9107 * makefile.nt (emacs): Do not change directory to run temacs, as
9108 the load-path is set relative to current directory.
9109
91102000-09-03 Miles Bader <miles@gnu.org>
9111
9112 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9113
91142000-09-02 Gerd Moellmann <gerd@gnu.org>
9115
9116 * xdisp.c (redisplay_mode_lines): New function.
9117 (display_mode_lines): Return number of mode lines displayed.
9118 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9119 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9120
9121 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9122 string.h and strings.h.
9123 (index) [HAVE_INDEX]: Add prototype.
9124
9125 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9126 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9127
9128 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9129 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9130
91312000-09-01 Gerd Moellmann <gerd@gnu.org>
9132
9133 * lread.c (read1): Accept `?' as symbol constituent, for
9134 compatiblity with XEmacs.
9135
91362000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9137
9138 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9139 (struct re_pattern_buffer): Remove newline_anchor.
9140 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9141 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9142 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9143 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9144 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9145 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9146 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9147 Get rid of references to newline_anchor.
9148 (regcomp): Allocate and precompute a fastmap.
9149
91502000-08-31 Gerd Moellmann <gerd@gnu.org>
9151
9152 * lread.c (openp): GCPRO local variable `filename'.
9153
91542000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9155
9156 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9157
9158 * regex.c: Merge some changes from GNU libc. Add prototypes.
9159 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9160 Use memcmp and memcpy instead of bcopy and bcmp.
9161 (init_syntax_once): Use ISALNUM.
9162 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9163 (REG_UNSET_VALUE): Remove. Use NULL instead.
9164 (REG_UNSET, re_match_2_internal): Use NULL.
9165 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9166 New macros.
9167 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9168 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9169 (regex_compile): In handle_interval, return an error rather than try to
9170 unfetch the interval if we can't find the closing brace.
9171 Obey the RE_NO_GNU_OPS syntax bit.
9172 (TOLOWER): New macro.
9173 (regcomp): Use it.
9174 (regexec): Allocate regs.start and regs.end as one block.
9175
91762000-08-30 Gerd Moellmann <gerd@gnu.org>
9177
9178 * xdisp.c (echo_area_display): Check display_completed instead
9179 of calling detect_input_pending.
9180
9181 * dispnew.c (update_frame): Only set display_completed here; move
9182 the update_begin and update_end calls here from update_frame_1.
9183 (update_frame_1): Don't set display_completed here, don't call
9184 update_begin/update_end.
9185
9186 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9187 instead of store_frame_param.
9188
91892000-08-29 Gerd Moellmann <gerd@gnu.org>
9190
9191 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9192 desired window matrix hasn't been displayed, use the current row
9193 instead. Make sure that only those frame rows are updated for
9194 which there exists a corresponding enabled desired row.
9195
91962000-08-29 Miles Bader <miles@gnu.org>
9197
9198 * xfaces.c (default_face_vector): New function.
9199 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9200
92012000-08-29 Gerd Moellmann <gerd@gnu.org>
9202
9203 * lread.c (openp): Prevent temporary string passed to
9204 Ffile_readable_p from being garbage collected.
9205
92062000-08-28 Dave Love <fx@gnu.org>
9207
9208 * keymap.c (store_in_keymap): Add `static' to declaration.
9209
92102000-08-28 Gerd Moellmann <gerd@gnu.org>
9211
9212 * emacs.c, callint.c, doc.c, editfns.c
9213 (toplevel) [HAVE_STRING_H]: Include string.h.
9214 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9215 (index): Remove prototypes which might conflict with non-standard
9216 definitions of index/strchr.
9217
9218 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9219 (rindex): Define only if !HAVE_RINDEX.
9220
9221 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9222
9223 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9224
92252000-08-28 Miles Bader <miles@gnu.org>
9226
9227 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9228 made inconsistent by a font-related attribute in FROM.
9229 (merge_face_inheritance): Add function comment.
9230
92312000-08-28 Kenichi Handa <handa@etl.go.jp>
9232
9233 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9234 the 4th arg (PREV_EVENT) Qt to suppress input method.
9235
92362000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9237
9238 * regex.c: Indent cpp directives and remove parens after `defined'.
9239 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9240 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9241 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9242 (re_compile_pattern): Use size_t for length.
9243 (init_syntax_once): Move to a better place.
9244 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9245 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9246
9247 * syntax.c (back_comment): Detect cases where a comment-starter is
9248 actually inside another comment as in: /* a // b */ c // d \n.
9249 Make it clear that `comstart_pos' is unused for nested comments.
9250
9251 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9252 (KEYMAPP): New macro.
9253 (Fkeymap_parent, Fset_keymap_parent): Use it.
9254 (fix_submap_inheritance): Mark it static.
9255 (define_as_prefix, describe_buffer_bindings, describe_command)
9256 (describe_translation, describe_map): Complete prototypes.
9257
9258 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9259
9260 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9261 to better match the key-lookup behavior.
9262
92632000-08-27 Gerd Moellmann <gerd@gnu.org>
9264
9265 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9266 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9267
92682000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9269
9270 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9271 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9272 (xterm.o): Depend on coding.h
9273
92742000-08-26 Kenichi Handa <handa@etl.go.jp>
9275
9276 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9277 the corresponding '#endif'.
9278
92792000-08-26 Miles Bader <miles@gnu.org>
9280
9281 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9282 * xfaces.c (QCinherit): New variable.
9283 (syms_of_xfaces): Initialize it.
9284 (LFACE_INHERIT): New macro.
9285 (Finternal_get_lisp_face_attribute)
9286 (merge_face_vector_with_property)
9287 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9288 (check_lface_attrs): Allow new types of face height. Check
9289 inherit attribute.
9290 (CYCLE_CHECK): New macro.
9291 (merge_face_inheritance): New function.
9292 (merge_face_vectors): Merge inherited faces too. Add F and
9293 CYCLE_CHECK arguments.
9294 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9295 (lookup_named_face, lookup_derived_face, realize_named_face)
9296 (face_at_string_position, face_at_buffer_position): Supply
9297 new F and CYCLE_CHECK arguments to merge_face_vectors.
9298 (merge_face_heights): New function.
9299 (merge_face_vectors, merge_face_vector_with_property)
9300 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9301 handle relative face heights.
9302 (lface_same_font_attributes_p): Compare heights using EQ.
9303
93042000-08-26 Kenichi Handa <handa@etl.go.jp>
9305
9306 * charset.c (char_to_string): Check the character validity.
9307 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
9308
93092000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9310
9311 * regex.c (PUSH_FAILURE_COUNT): New macro.
9312 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9313 Handle popping of a register's or a counter's data.
9314 (POP_FAILURE_POINT): Use the new name.
9315 (re_match_2_internal): Push counter data on the stack for succeed_n,
9316 jump_n and set_number_at and remove misleading dead code in succeed_n.
9317
93182000-08-25 Gerd Moellmann <gerd@gnu.org>
9319
9320 * xdisp.c (redisplay_internal): If considering all windows on all
9321 frames, update the display for each frame as soon as possible,
9322 instead of first building all desired matrices for all frames, and
9323 then updating them all.
9324 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9325
93262000-08-24 Gerd Moellmann <gerd@gnu.org>
9327
9328 * bytecode.c (mark_byte_stack): Add a comment.
9329
9330 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9331 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
9332 a graphical frame.
9333
93342000-08-24 Kenichi Handa <handa@etl.go.jp>
9335
9336 * minibuf.c (do_completion): Always use compare-string, not
9337 string-equal because the latter doesn't pay attention to
9338 multibyteness of strings.
9339
9340 * process.c (create_process): Don't setup raw-text coding here.
9341 (Fopen_network_stream): Don't set coding->src_multibyte and
9342 coding->dst_multibyte here.
9343 (read_process_output): For process filter, return unibyte string
9344 if default-enable-multibyte-characters is nil.
9345 (send_process): If OBJECT is multibyte text, be sure to encoded it
9346 by the specified coding system for the process. Otherwise, setup
9347 raw-text coding.
9348 (init_process): Don't initialize default-process-coding-system here.
9349
93502000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9351
9352 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9353 <scroll-down-aggressively>: Likewise.
9354
93552000-08-23 Kenichi Handa <handa@etl.go.jp>
9356
9357 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9358 zero. Set coding->produced_char correctly.
9359
93602000-08-22 Andrew Innes <andrewi@gnu.org>
9361
9362 * makefile.w32-in: New file.
9363
9364 * unexw32.c (unexec): Ignore old_name, and use the actual location
9365 of the current executable instead. Base new_name on this.
9366
9367 * w32proc.c (create_child): Remove reference to security
9368 descriptor, which isn't needed and doesn't compile with mingw32.
9369
9370 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9371 up dllimport attributes.
9372 (x_update_window_end): Update prototype.
9373
9374 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9375 extern, which screws up dllimport attributes.
9376
9377 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9378 up dllimport attributes.
9379
9380 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9381 screws up dllimport attributes.
9382
9383 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9384 up dllimport attributes.
9385 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9386 screws up dllimport attributes.
9387
9388 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9389 up dllimport attributes.
9390
9391 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9392 screws up dllimport attributes.
9393
9394 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9395 screws up dllimport attributes.
9396
9397 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9398 up dllimport attributes.
9399
9400 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9401 unnecessary extern, which screws up dllimport attributes.
9402 (main): Ditto.
9403
9404 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9405 up dllimport attributes.
9406
9407 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9408 unnecessary extern, which screws up dllimport attributes.
9409
9410 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9411 screws up dllimport attributes.
9412
9413 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9414 up dllimport attributes.
9415
9416 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9417
9418 * w32bdf.c (search_file_line):
9419 (set_bdf_font_info):
9420 (seek_char):
9421 (w32_get_bdf_glyph):
9422 (w32_BDF_to_x_font): Fix compile warnings.
9423
9424 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
9425
9426 * w32select.c: Include keyboard.h before frame.h.
9427
9428 * w32fns.c (max): Define macro.
9429 (JOHAB_CHARSET): Define if not known.
9430 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9431 (Fx_show_tip): Synch with X version.
9432
9433 * w32xfns.c: Include keyboard.h before frame.h.
9434
9435 * w32fns.c: Include keyboard.h before frame.h.
9436
9437 * w32term.c: Include keyboard.h before frame.h.
9438
9439 * fontset.c: Include keyboard.h before frame.h.
9440
9441 * w32inevt.c: Include keyboard.h before frame.h.
9442 (MOUSE_MOVED): Define if not known.
9443
9444 * minibuf.c: Include keyboard.h before frame.h.
9445
9446 * keyboard.c: Include keyboard.h before frame.h.
9447
9448 * indent.c: Include keyboard.h before frame.h.
9449
9450 * dispnew.c: Include keyboard.h before frame.h.
9451
9452 * buffer.c: Include keyboard.h before frame.h.
9453
9454 * alloc.c: Include keyboard.h before frame.h.
9455
9456 * print.c: Include keyboard.h before frame.h.
9457
9458 * process.c: Include keyboard.h before frame.h.
9459
9460 * scroll.c: Include keyboard.h before frame.h.
9461
9462 * sysdep.c: Include keyboard.h before frame.h.
9463
9464 * term.c: Include keyboard.h before frame.h.
9465
9466 * window.c: Include keyboard.h before frame.h.
9467
9468 * xdisp.c: Include keyboard.h before frame.h.
9469 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9470
9471 * frame.c: Include keyboard.h before frame.h.
9472
9473 * w32heap.h: Undefine min, max.
9474
9475 * w32gui.h: Undefine min, max.
9476
9477 * unexw32.c: Change PUCHAR to PCHAR.
9478 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
9479 (relocate_offset):
9480 (get_section_info):
9481 (copy_executable_and_dump_data): Remove unnecessary static defs.
9482 (copy_executable_and_dump_data): Fix compile warnings.
9483
9484 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9485
9486 * w32console.c (min): Define macro.
9487 (clear_frame, write_glyphs): Fix compile warning.
9488
9489 * w32proc.c (compare_env):
9490 (find_child_console): Fix compile warning.
9491
9492 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9493 sys_errlist instead of _sys_errlist.
9494 (get_emacs_configuration_options): New function.
9495
9496 * s/ms-w32.h (sys_nerr): Provide default definition.
9497 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9498 name with _ prepended.
9499 (NSIG): Define if not known.
9500 (get_emacs_configuration): Provide extern declaration.
9501 (get_emacs_configuration_options): Provide extern declaration.
9502 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9503
9504 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
9505 (map_w32_filename):
9506 (read_unc_volume): Fix compile warning.
9507
9508 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9509 definitions from being used.
9510
9511 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9512
9513 * w32.c (unc_volume_file_attributes):
9514 (open_unc_volume): Make arg const.
9515
9516 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9517 (read_input_waiting): Remove excess parameter.
9518
9519 * w32.c (init_environment): Call _access.
9520 (check_windows_init_file): Call _close.
9521 (init_user_info): Call _putenv.
9522 (init_environment): Call _putenv and _strdup.
9523 (init_ntproc): Reset volume info cache on startup.
9524
9525 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9526 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9527 cannot override the CRT malloc.
9528
9529 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9530 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9531
9532 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9533 unless we are linking with a static CRT.
9534 (RVA_TO_PTR): Cast result to unsigned char*.
9535
9536 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9537 (add_volume_info): Use xstrdup.
9538
95392000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9540
9541 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9542 (do_completion, Fminibuffer_complete_word): Use it.
9543 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9544 var so it can take non-boolean values.
9545
95462000-08-21 Gerd Moellmann <gerd@gnu.org>
9547
9548 * editfns.c (find_field): Formatting changes.
9549 (toplevel): Some old-style function forward declarations
9550 changed to prototypes, some new protypes added, some functions
9551 made static.
9552
9553 * lisp.h (set_time_zone_rule): Add prototype.
9554 (use_dialog_box): External declaration.
9555
9556 * keyboard.c (gen_help_event): Add parameter SIZE.
9557 (kbd_buffer_events_waiting): Slightly rewritten.
9558 (clear_event): New function.
9559 (kbd_buffer_get_event): Use it, and clear the input_events of
9560 HELP_EVENTs.
9561 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9562 don't fill the newly created array with nils.
9563 (toplevel): Convert some old-style function forward declarations
9564 to prototypes.
9565
9566 * keyboard.h (gen_help_event): Change prototype.
9567
9568 * xterm.c (XTread_socket): Change calls to gen_help_event.
9569
9570 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9571
9572 * eval.c (Fmacroexpand): Doc fix.
9573
95742000-08-20 Jason Rumney <jasonr@gnu.org>
9575
9576 * w32term.h (x_display_info_for_display): Remove as this function
9577 does not exist on W32.
9578
9579 * w32term.c (help_echo_window): New variable.
9580 (syms_of_w32term): staticpro it.
9581 (note_mode_line_highlight): Set it.
9582 (XTextExtents16): Removed as there is no equivalent on W32.
9583 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9584 the X way of doing this will not work for W32.
9585 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9586 (x_draw_image_foreground): Avoid drawing outside of the clip area
9587 when image doesn't have a mask.
9588 (note_mouse_highlight): Process overlays in the right order of
9589 priority. Set help_echo_window.
9590 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9591 because that's more visible for large images.
9592
9593 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9594 name to single_keymap_panes.
9595 (w32_menu_show): Set wv->title when dealing with titles.
9596 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9597
95982000-08-21 Miles Bader <miles@gnu.org>
9599
9600 * minibuf.c (do_completion): Try again if we rewrite the input
9601 string, but no completion was done, so that any completion message
9602 will be correct.
9603
96042000-08-20 Gerd Moellmann <gerd@gnu.org>
9605
9606 * xfaces.c (lface_equal_p): Compare strings differently.
9607 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9608 (realize_tty_face): Use them.
9609 (syms_of_xfaces): Initialize new variables.
9610 (map_tty_color): New function, extracted from realize_tty_face.
9611 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9612 foreground or background color, store the new color name in the
9613 realized face; previous code trying to do this had no effect.
9614 (realize_tty_face): Use map_tty_color.
9615 (Fclear_face_cache): Set face_change_count and ensure thorough
9616 redisplay.
9617
96182000-08-19 Gerd Moellmann <gerd@gnu.org>
9619
9620 * undo.c (record_first_change, record_marker_adjustment): Don't
9621 use XBUFFER on last_undo_buffer which might not be a buffer.
9622
96232000-08-18 Kenichi Handa <handa@etl.go.jp>
9624
9625 * coding.c (decode_coding_string): Set members consumed,
9626 consumed_char, produced, produced_char of *coding correctly. If
9627 decode_coding doesn't consume any byte, don't try anymore.
9628 (encode_coding_string): Likewise.
9629
96302000-08-18 Gerd Moellmann <gerd@gnu.org>
9631
9632 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9633 conditional have void type, for Standard C compilers.
9634
9635 * xdisp.c (redisplay_internal): Compare windows for equality with
9636 EQ, instead of applying XWINDOW to something that might not
9637 be a window.
9638
96392000-08-18 Kenichi Handa <handa@etl.go.jp>
9640
9641 * fontset.c (Finternal_char_font): Search only the selected frame
9642 for a window of the current buffer.
9643
96442000-08-18 Gerd Moellmann <gerd@gnu.org>
9645
9646 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
9647 Lisp_Objects.
9648
9649 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9650 second half of a HELP_EVENT is found at the start of kbd_buffer.
9651
96522000-08-18 Miles Bader <miles@gnu.org>
9653
9654 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9655
9656 * editfns.c (save_restriction_save): Rewrite to use markers.
9657 (save_restriction_restore): Rewrite to understand new form of data
9658 saved by save_restriction_save.
9659 (Fsave_restriction): Remove cautionary note in doc-string.
9660
96612000-08-17 Gerd Moellmann <gerd@gnu.org>
9662
9663 * fileio.c (build_annotations): Add a comment explaining the
9664 return value of format-annotate-function. Replace a spurious call
9665 to Flength with a CONSP test. Call format-annotate-function with
9666 a fifth arg specifying how many times the function is been called
9667 in a row, to let it choose temporary buffers appropriately.
9668
96692000-08-17 Dave Love <fx@gnu.org>
9670
9671 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9672 declare make_temp_name twice.
9673
9674 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
9675 (unreadpure): Give it an arg.
9676
9677 * unexalpha.c: Prototype fatal_unexec, mark_x,
9678 update_dynamic_symbols. Declare unexec as void.
9679
9680 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9681 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9682
9683 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
9684 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
9685
9686 * alloca.c: Use #error.
9687 [POINTER_TYPE]: Use it.
9688
9689 * eval.c (Fdefvar): Doc fix.
9690
9691 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9692 INITIALIZE_INTERVAL.
9693
9694 * buffer.h: Avoid DECLARE_INTERVALS.
9695
9696 * config.in: Add size_t.
9697
96982000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9699
9700 * w16select.c (set_clipboard_data): If there's not enough memory
9701 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9702 expects. In case of other failures, return 3.
9703 (system_error_msg): New error message.
9704 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9705 system_error_msg.
9706
97072000-08-16 Gerd Moellmann <gerd@gnu.org>
9708
9709 * term.c (write_glyphs): Also turn off inverse video after turning
9710 off other appearances in case TS_exit_attribute_mode is not equal
9711 to TS_end_standout_mode.
9712 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9713 with the same face.
9714 (turn_off_face): Reset standout_mode only if
9715 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9716 is equal to TS_end_standout_mode.
9717
97182000-08-16 Kenichi Handa <handa@etl.go.jp>
9719
9720 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9721 sequence at the end of the source block.
9722
9723 * ccl.c (Fccl_program_p): Docstring modified.
9724 (Fccl_execute): Likewise.
9725 (Fccl_execute_on_string): Likewise.
9726
97272000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9728
9729 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9730
97312000-08-16 Kenichi Handa <handa@etl.go.jp>
9732
9733 The following changes are mainly to fix bugs of
9734 encode/decode-coding-string failing if encoding/decoding return
9735 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9736 variable conversion_buffer.
9737
9738 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9739 decrement dst_end to avoid buffer overflow in the later call of
9740 string_as_multibyte
9741
9742 * coding.h (conversion_buffer_size, conversion_buffer)
9743 (get_conversion_buffer): Extern deleted.
9744
9745 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9746 (conversion_buffer, conversion_buffer_size): Variables deleted.
9747 (get_conversion_buffer): Function deleted.
9748 (struct conversion_buffer): New structure.
9749 (MAX_ALLOCA): New macro.
9750 (allocate_conversion_buffer): New macro.
9751 (extend_conversion_buffer, free_conversion_buffer): New functions.
9752 (ccl_coding_driver): Set coding->result.
9753 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9754 this is the last block of source.
9755 (encode_coding): Likewise. Handle the source block as the last
9756 one only when the whole source text is consumed.
9757 (decode_coding_string): Handle the case that the output buffer is
9758 too small to decode the whole source text. Use
9759 allocate_conversion_buffer, extend_conversion_buffer and
9760 free_conversion_buffer, not get_conversion_buffer.
9761 (encode_coding_string): Likewise.
9762 (init_coding): Function deleted.
9763 (init_coding_once): Delete code to initialize conversion_buffer_size.
9764
9765 * emacs.c (main): Don't call init_coding.
9766
9767 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
9768
9769 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9770 (insert_glyphs): Likewise.
9771
9772 * w32console.c (write_glyphs): Use a locally declared
9773 conversion_buffer.
9774
97752000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9776
9777 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9778 member of display_info is NULL.
9779
97802000-08-15 Gerd Moellmann <gerd@gnu.org>
9781
9782 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
9783
9784 * term.c (turn_off_face): Reset standout_mode when resetting
9785 appearances with capability `me'.
9786 (write_glyphs): Switch on inverse video before each face change.
9787
97882000-08-14 Dave Love <fx@gnu.org>
9789
9790 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9791 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9792 (lisp_free): Declare and make static.
9793
9794 * window.c: Fix embedded comment.
9795 (syms_of_window): Fix doc string.
9796
97972000-08-14 Gerd Moellmann <gerd@gnu.org>
9798
9799 * keymap.c (push_key_description): If C without modifiers is < 32,
9800 make sure to print `C-' before `M-', like in the manual.
9801
98022000-08-11 Gerd Moellmann <gerd@gnu.org>
9803
9804 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9805 since they aren't relocated anymore.
9806 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
9807
9808 * xdisp.c (try_cursor_movement): Fix handling of cursor in
9809 partially visible line which is smaller than the window's height.
9810
98112000-08-11 Kenichi Handa <handa@etl.go.jp>
9812
9813 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
9814 the multibyte form of eight-bit-control characters.
9815 (Fccl_execute_on_string): Initialize ccl->multibyte.
9816
9817 * ccl.h (struct ccl_program): New member multibyte.
9818
9819 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9820
98212000-08-11 Kenichi Handa <handa@etl.go.jp>
9822
9823 * regex.c (regex_compile) <normal_char>: Pay attention to
9824 multibyteness.
9825 (analyse_first) <exactn>: Setup fastmap correctly for
9826 eight-bit-control characters.
9827
98282000-08-11 Kenichi Handa <handa@etl.go.jp>
9829
9830 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
9831
9832 * keyboard.c (make_lispy_event): Handle the new event type
9833 multibyte_char_keystroke.
9834
9835 * xterm.c: Include coding.h.
9836 (XTread_socket): Work around a bug of XmbLookupString. If the
9837 input is from XIM, decode it according to the current locale. In
9838 that case, generate multibyte_char_keystroke events.
9839
98402000-08-11 Kenichi Handa <handa@etl.go.jp>
9841
9842 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9843 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9844
98452000-08-10 Gerd Moellmann <gerd@gnu.org>
9846
9847 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9848 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9849 (move_it_in_display_line_to): Record iterator's ascent and descent
9850 before producing glyphs, and restore them when we know the glyph
9851 doesn't fit on the line.
9852 (move_it_to): Restructured so that it's easier to debug. If
9853 moving to a vpos, and not moving to an x or character position,
9854 stop as soon as the specified vpos is reached; don't move further
9855 into that line because that might change the computed line height.
9856 (try_cursor_movement): New function, extracted from the cursor
9857 movement branch of redisplay_window. If ending on a partially
9858 visible line, don't try to scroll if the cursor line is taller
9859 than the window.
9860 (redisplay_window): Use try_cursor_movement.
9861
9862 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9863 because that function doesn't cope with variable-height lines.
9864
9865 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9866 box cursor because that's better visible for large images.
9867
98682000-08-10 Miles Bader <miles@gnu.org>
9869
9870 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9871
98722000-08-10 Gerd Moellmann <gerd@gnu.org>
9873
9874 * xdisp.c (Vmessages_buffer_name): New variable.
9875 (message_dolog): Use it.
9876 (syms_of_xdisp): Initialize it.
9877
98782000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9879
9880 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
9881 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9882 redundant now that keyboard.h is included.
9883
98842000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9885
9886 * keyboard.c (kbd_buffer_events_waiting): New function.
9887
9888 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9889
9890 * msdos.c: Include keyboard.h.
9891 (XMenuActivate): Empty no_event events from the event buffer. If
9892 no events are left after that, call clear_input_pending.
9893 (mouse_clear_clicks): New function, code moved from mouse_init.
9894 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9895 mouse driver to ``forget'' any past clicks.
9896
9897 * Makefile.in (msdos.o): Depend on keyboard.h.
9898
98992000-08-09 Gerd Moellmann <gerd@gnu.org>
9900
9901 * lisp.h (input_pending): External declaration.
9902
9903 * dispextern.h (Qredisplay_dont_pause): Declare extern.
9904
9905 * xdisp.c (echo_area_display): Display thoroughly if input is
9906 pending. Bind redisplay-dont-pause to t during the redisplay.
9907 in case input is pending.
9908
9909 * dispnew.c (Qredisplay_dont_pause): New variable.
9910 (syms_of_display): Initialize and staticpro it.
9911 (update_frame_1): Don't interrupt the display for pending input if
9912 redisplay_dont_pause is set.
9913
9914 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9915
9916 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9917
99182000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9919
9920 * callproc.c (Fcall_process): Terminate the unwind-protect around
9921 the post-read-conversion of coding system.
9922
9923 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9924 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9925 * buffer.h (overlays_at): Update prototype.
9926 * xdisp.c (next_overlay_change): Update call to overlays_at.
9927 * xfaces.c (face_at_buffer_position): Likewise.
9928 * textprop.c (Fget_char_property): Likewise.
9929 * xterm.c (note_mouse_highlight): Likewise.
9930
9931 * minibuf.c (do_completion): Don't consider a simple change of
9932 case as `completion'.
9933
99342000-08-08 Ken Raeburn <raeburn@gnu.org>
9935
9936 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
9937 * undo.c (record_delete): Make sure last_point_position_buffer is
9938 a buffer before comparing pointers.
9939
9940 * coding.h (decode_coding_string): Declare.
9941
9942 * intervals.h (Fprevious_single_char_property_change): Declare.
9943
9944 * textprop.c (Fprevious_single_char_property_change): Don't do
9945 arithmetic directly on lisp objects.
9946
9947 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
9948
9949 * keyboard.h (menu_item_eval_property): Declare.
9950
9951 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9952 reuse as buffer name, instead of recreating (and discarding) every
9953 time a message is logged.
9954 (with_echo_area_buffer): Make callback arg A2 a lisp object.
9955 (current_message_1, truncate_message_1, set_message_1)
9956 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9957 (current_message, truncate_echo_area, display_echo_area)
9958 (resize_echo_area_axactly): Changed calls.
9959
9960 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
9961 Lisp object.
9962 (Ffind_coding_systems_region_internal): First argument to Fappend
9963 must be an integer, not a Lisp object.
9964
99652000-08-08 Kenichi Handa <handa@etl.go.jp>
9966
9967 * charset.c (Fchar_width): Doc fix.
9968
99692000-08-08 Gerd Moellmann <gerd@gnu.org>
9970
9971 * charset.c (Fstring_width): Doc fix.
9972
99732000-08-07 Gerd Moellmann <gerd@gnu.org>
9974
9975 * xdisp.c (start_display): When starting display on a continuation
9976 line, clear ascent and descent members of the iterator structure;
9977 the height of the continued line does not affect the height of the
9978 continuation line.
9979 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9980 line taller than the window.
9981 (redisplay_window) <forced window start>: Handle case that the
9982 middle of the window is not found in any row.
9983 (dump_glyph_row): Show more information.
9984 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9985 first text line in a glyph matrix.
9986
9987 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9988 of the clip area when image doesn't have a mask.
9989
9990 * fns.c (sweep_weak_table): Fix survival conditions for
9991 key-or-value and key-and-value weakness.
9992
9993 * .gdbinit (xhashtable): New command.
9994
9995 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9996 tables out of the list of all weak hash tables.
9997
9998 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9999 a new buffer is created, make sure echo_area_buffer[] references
10000 the new buffer.
10001
100022000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10003
10004 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10005 the doc string.
10006
100072000-08-07 Kenichi Handa <handa@etl.go.jp>
10008
10009 * syntax.c (skip_chars): Fix previous change. Make the handling
10010 of unibyte string consistent with that of regex search.
10011
100122000-08-05 Gerd Moellmann <gerd@gnu.org>
10013
10014 * xmenu.c (popup_get_selection): Use xfree instead of free.
10015
10016 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10017
10018 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10019
10020 * callproc.c (child_setup): Use xfree instead of free.
10021
10022 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10023 instead of malloc.
10024 (run_mac_command, closedir): Use `xfree' instead of `free'.
10025
10026 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10027
10028 * eval.c (error): Use xfree instead of free.
10029
10030 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10031
10032 * fns.c: Replace `illegal' with `invalid'.
10033 (Fmake_hash_table, make_hash_table): Allow table size of 0.
10034
100352000-08-05 Kenichi Handa <handa@etl.go.jp>
10036
10037 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10038 conversion.
10039
100402000-08-04 Noah Friedman <friedman@splode.com>
10041
10042 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10043 docstring.
10044
100452000-08-04 Gerd Moellmann <gerd@gnu.org>
10046
10047 * syntax.c (skip_chars): Fix typo in error message.
10048
100492000-08-04 Andreas Schwab <schwab@suse.de>
10050
10051 * m/ia64.h: Moved from s/ia64.h.
10052
100532000-08-04 Kenichi Handa <handa@etl.go.jp>
10054
10055 * process.c (read_process_output): Big simplification. Handle
10056 composition and post-read-conversion of coding system correctly.
10057 (send_process): Handle composition correctly.
10058
10059 * callproc.c (Fcall_process): Handle post-read-conversion of
10060 coding system if any.
10061
10062 * coding.c (decode_coding_iso2022): More strict check for handling
10063 single shifting.
10064 (coding_restore_composition): Pay attention to the case that
10065 cmp_data is not set properly (because of invalid code in the
10066 source text).
10067 (run_pre_post_conversion_on_str): Include text properties in the
10068 resulting string.
10069 (decode_coding_string): Set members of coding correctly.
10070
100712000-08-03 Gerd Moellmann <gerd@gnu.org>
10072
10073 * s/ia64.h: New file.
10074
10075 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10076 Use NULL instead of 0 at the end of variable argument list of
10077 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10078 sizeof (int) < sizeof (void *).
10079
10080 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10081 of variable argument lists of XtVaGetValues and XtVaSetValues.
10082
10083 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10084 variable argument lists of XtVaGetValues and XtVaSetValues.
10085
100862000-08-02 Gerd Moellmann <gerd@gnu.org>
10087
10088 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10089 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10090
10091 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10092 prototype.
10093
10094 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10095 in call to Fsingle_key_description.
10096
10097 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10098 Callers changed.
10099
101002000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10101
10102 * window.c (display_buffer_reuse_frames): New variable.
10103 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10104 frames displaying BUFFER.
10105 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
10106
101072000-08-01 Miles Bader <miles@gnu.org>
10108
10109 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10110 when to constrain NEW_POS (they were pretty screwed up before).
10111
101122000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10113
10114 * msdos.c (run_msdos_command): Save and restore the master
10115 environment, for the case that child_setup signals an error.
10116 When mirroring slashes in DOS shell commands, don't fail when
10117 argv[2] has embedded blanks.
10118 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10119 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10120 (dos_ttraw): Call mouse_setup_buttons.
10121
10122 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10123 using alloca; free it after run_msdos_command returns.
10124
101252000-07-27 Dave Love <fx@gnu.org>
10126
10127 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10128 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
10129
10130 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10131
101322000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10133
10134 * editfns.c (lisp_time_argument): Fix last change.
10135
101362000-07-27 Gerd Moellmann <gerd@gnu.org>
10137
10138 * fns.c (Fdelete): Make it work on vectors and strings in addition
10139 to lists.
10140
10141 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10142 (syms_of_fns): Initialize new variables.
10143 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
10144 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10145 weakness, with t meaning the same as `key-and-value'.
10146
101472000-07-27 Kenichi Handa <handa@etl.go.jp>
10148
10149 * coding.h (struct coding_system): Member safe_charset deleted.
10150
10151 * coding.c (Qsafe_charsets): This variable deleted.
10152 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10153 New variables.
10154 (coding_safe_chars): New function.
10155 (CODING_SAFE_CHAR_P): New macro.
10156 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
10157 checking safe_charsets member of the coding system. Caller changed.
10158 (detect_coding_iso2022): New local variable safe_chars.
10159 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10160 safe_charsets member of the coding system.
10161 (decode_coding_iso2022): New local variable safe_chars.
10162 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10163 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10164 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10165 (ENCODE_UNSAFE_CHARACTER): New macro.
10166 (encode_coding_iso2022): New local variable safe_chars. Check
10167 unsafe chars.
10168 (setup_coding_system): Delete the code to initialize
10169 coding->safe_charses
10170 (intersection, find_safe_codings): New functions.
10171 (Ffind_coding_systems_region_internal): New function.
10172 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10173 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10174 variable and initialize it.
10175
10176 * fns.c (char_table_ref_and_index): New function.
10177
10178 * lisp.h (char_table_ref_and_index): Add prototype.
10179
101802000-07-26 Sam Steingold <sds@gnu.org>
10181
10182 * editfns.c (lisp_time_argument): Added third argument `usec'.
10183 (Ffloat_time): New built-in Lisp function.
10184
101852000-07-26 Gerd Moellmann <gerd@gnu.org>
10186
10187 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10188 for the character code.
10189
10190 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10191 GNU/Linux.
10192
10193 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10194 if called for a popup menu.
10195 (xmenu_show): Store help string in widget values.
10196
101972000-07-26 Dave Love <fx@gnu.org>
10198
10199 * syswait.h: Move some definitions.
10200 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10201 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10202 perspicuous definitions.
10203 (WTERMSIG): Fix bit pattern used.
10204
102052000-07-26 Kenichi Handa <handa@etl.go.jp>
10206
10207 * print.c (print_object): If vector printing is truncated, print
10208 "..." to indicate it as well as the case of list printing.
10209
102102000-07-25 Gerd Moellmann <gerd@gnu.org>
10211
10212 * xdisp.c (next_element_from_display_vector): Improve comments.
10213
10214 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10215 for the character code, and the rest for the face id as in 20.x.
10216 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10217
10218 * window.c (window_display_table): Cleaned up.
10219
10220 * syntax.c (Fforward_word): Add last arg nil in call of
10221 Fconstrain_to_field.
10222
102232000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10224
10225 * fileio.c (Frename_file) [DOS_NT]: If the file names are
10226 identical but for the letter-case, don't call
10227 barf_or_query_if_file_exists.
10228
102292000-07-25 Miles Bader <miles@gnu.org>
10230
10231 * editfns.c (find_field): Honor special `boundary' fields.
10232 (Qboundary): New variables.
10233 (syms_of_editfns): Initialize Qboundary.
10234 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10235 Use scan_buffer instead of find_before_next_newline, because it
10236 allows us to detect the boundary case where there's a newline at
10237 the search limit.
10238 * lisp.h (Fconstrain_to_field): Update external declaration.
10239
102402000-07-24 Gerd Moellmann <gerd@gnu.org>
10241
10242 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10243 if that is nil.
10244
102452000-07-24 Dave Love <fx@gnu.org>
10246
10247 * s/sunos4-0.h, s/sol2.h:
10248 (LIBS_TERMCAP): Move from m/sparc.h.
10249
10250 * m/sparc.h (TERMINFO): Moved to system files (probably only
10251 relevant for sunos4 judging by its vintage).
10252 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10253 __arch64__.
10254
102552000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10256
10257 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10258 name to single_keymap_panes.
10259
102602000-07-24 Andreas Schwab <schwab@suse.de>
10261
10262 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10263
102642000-07-24 Gerd Moellmann <gerd@gnu.org>
10265
10266 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10267 parameters instead of using int parameters. Expect FN to accept
10268 EMACS_INT parameters.
10269 (display_echo_area, resize_echo_area_axactly, current_message)
10270 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10271 with new argument list.
10272 (resize_mini_window_1): New callback function.
10273 (current_message_1, truncate_message_1, set_message_1): Change
10274 parameter lists to the new format expected by with_echo_area_buffer.
10275
102762000-07-24 Kenichi Handa <handa@etl.go.jp>
10277
10278 * fontset.c (fontset_ref): Remove INLINE declaration.
10279 (fontset_ref_via_base): Likewise.
10280 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10281 to downcase.
10282
102832000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10284
10285 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10286 correct order of priority. If help echo was found in an overlay,
10287 use that overlay as the object in which the help echo was found.
10288
102892000-07-22 Miles Bader <miles@gnu.org>
10290
10291 * textprop.c (Fprevious_single_char_property_change): The initial
10292 property value should be from the position preceding POSITION, not
10293 following it.
10294
102952000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10296
10297 * coding.c (syms_of_coding): Doc fix for
10298 inhibit-iso-escape-detection.
10299
103002000-07-21 Gerd Moellmann <gerd@gnu.org>
10301
10302 * xterm.c (note_mouse_highlight): Process overlays in the right
10303 order of priority.
10304
10305 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10306
10307 * xterm.c (note_mouse_highlight): If help-echo was found in an
10308 overlay, use that overlay as the object in which the help was found.
10309
10310 * window.c (foreach_window_1): Fix typo reversing an if-condition.
10311
10312 * window.c (foreach_window): Instead of a fake variable argument
10313 list, take one USER_DATA argument.
10314 (foreach_window_1): Likewise, and call callback functions with two
10315 args, the window and USER_DATA.
10316 (struct check_window_data): New struct.
10317 (check_window_containing): Use it.
10318 (window_from_coordinates): Set up a struct check_window_data for
10319 foreach_window.
10320 (add_window_to_list, freeze_window_start): Change parameters
10321 according to new calling convention.
10322
10323 * window.h (foreach_window): Change prototype.
10324
10325 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10326
103272000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10328
10329 * xmenu.c (menu_help_callback): Call show_help_echo with
10330 additional arguments OBJECT and POS.
10331
103322000-07-21 Kenichi Handa <handa@etl.go.jp>
10333
10334 * data.c (Faset): Allow storing any multibyte character in a
10335 string. Convert unibyte string to multibyte if necessary.
10336
10337 * xfns.c (x_encode_text): New function.
10338 (x_set_name): Use x_encode_text.
10339 (x_set_title): Likewise.
10340
10341 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10342
10343 * xterm.h (x_encode_text): Add prototype.
10344
103452000-07-20 Dave Love <fx@gnu.org>
10346
10347 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10348 xfree, not free.
10349
103502000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10351
10352 * msdos.c (help_echo_window): New variable.
10353 (syms_of_msdos): Initialize and staticpro it.
10354 (IT_note_mode_line_highlight): Set help_echo_window.
10355 (IT_note_mouse_highlight): Ditto.
10356 (dos_rawgetc): Store help_echo_window in the second event produced
10357 for HELP_EVENTs.
10358
10359 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10360 Record the object that generated the help echo and the position of
10361 that object in help_echo_object and help_echo_pos. Record that
10362 some glyphs in a row are displayed in mouse-face.
10363 (IT_update_begin): Don't clear mouse highlight unless one of the
10364 enabled glyph rows is marked as being displayed in mouse-face.
10365 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10366 and position recorded in help_echo_object and help_echo_pos to the
10367 event queue.
10368 (IT_menu_display): Accept a new argument PN: the pane number of
10369 the current menu pane. Record the pane number and the item
10370 number of the item which has associated help string.
10371 (XMenuActivate): Update the prototype for help_callback in
10372 function declaration. Call IT_menu_display with the current menu
10373 pane number as an additional argument. Call help_callback with
10374 two additional arguments: the pane number and the item number of
10375 the menu item associated with the help text.
10376 (help_echo_object, help_echo_pos): New variables.
10377 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10378
10379 * msdos.h (XMenuActivate): Update prototype.
10380
103812000-07-19 Gerd Moellmann <gerd@gnu.org>
10382
10383 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10384 Add some more prototypes.
10385
10386 * xterm.c, xterm.h: Add some more prototypes.
10387
10388 * lisp.h (Fnext_single_char_property_change): Add prototype.
10389
10390 * dispnew.c (direct_output_for_insert): Remove confusing
10391 outer local variable mouse_face_overwritten_p.
10392 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10393
10394 * alloc.c (allocate_string_data): Don't copy old string contents.
10395
103962000-07-19 Kenichi Handa <handa@etl.go.jp>
10397
10398 * coding.c (code_convert_region): Delete text properties before
10399 shrinking the conversion region.
10400
104012000-07-18 Gerd Moellmann <gerd@gnu.org>
10402
10403 * dispnew.c (update_text_area): Write the whole row if it
10404 has mouse-face in it.
10405
10406 * xfaces.c (face-alternative-font-family-alist): Remove
10407 DEFVAR_LISP; staticpro instead.
10408
10409 * xmenu.c (menu_help_callback): Call show_help_echo with
10410 new arguments.
10411
10412 * keyboard.c (show_help_echo): Add parameter WINDOW.
10413 (read_char): Call show_help_echo with window extracted from Lisp
10414 help event.
10415 (gen_help_event): Add parameter WINDOW.
10416
10417 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10418
10419 * xterm.c (help_echo_window): New variable.
10420 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
10421 (XTread_socket): Pass help_echo_window to gen_help_event.
10422 (syms_of_xterm): Initialize and staticpro help_echo_window.
10423
104242000-07-18 Dave Love <fx@gnu.org>
10425
10426 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
10427
104282000-07-18 Gerd Moellmann <gerd@gnu.org>
10429
10430 * alloc.c (allocate_string_data): If string had already data
10431 assigned, copy old contents to new string data.
10432
10433 * coding.c (syms_of_coding): Fix typo in spelling of variable
10434 `inhibit-iso-escape-detection'.
10435
10436 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10437
10438 * Makefile.in: Add dependencies on dispextern.h.
10439 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10440 `free'; both can conflict with system header files.
10441
104422000-07-18 Kenichi Handa <handa@etl.go.jp>
10443
10444 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10445 undefined.
10446
104472000-07-18 Dave Love <fx@gnu.org>
10448
10449 * window.c (Fwindow_list): Declare arg `window'.
10450
104512000-07-18 Kenichi Handa <handa@etl.go.jp>
10452
10453 * coding.c (setup_coding_system): Don't override the explicitly
10454 specified designations.
10455
104562000-07-15 Miles Bader <miles@gnu.org>
10457
10458 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10459 from `text_property_eq' and `text_property_stickiness', respectively.
10460 (find_field, Fconstrain_to_field, char_property_eq)
10461 (char_property_stickiness): Changed to call char-property functions
10462 instead of text-property-only ones.
10463
10464 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10465 `next_single_char_property_change'). Do more error checking, and
10466 cleanup limit behavior.
10467 (Fprevious_single_char_property_change): New function.
10468 (syms_of_textprop): Initialize new subrs.
10469
10470 * xdisp.c (display_prop_end, invisible_text_between_p):
10471 Call Fnext_single_char_property_change instead of
10472 next_single_char_property_change.
10473
104742000-07-15 Jason Rumney <jasonr@gnu.org>
10475
10476 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10477 after menu is finished with.
10478 (add_menu_item): Only consider wv->title as a menu title.
10479 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10480
10481 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10482 null title.
10483 (FONT_REGEXP): Remove unused macro, and its sub-components.
10484 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10485
10486 * w32term.c (help_echo_object, help_echo_pos): New variables.
10487 (note_mode_line_highlight): Store additional information about the
10488 help-echo in help_echo_object and help_echo_pos. Check both
10489 `local-map' and `keymap' properties for changing the cursor
10490 (note_mouse_highlight): Store additional information about the
10491 help-echo in help_echo_object and help_echo_pos.
10492 (note_tool_bar_highlight): Set help_echo_object to nil and
10493 help_echo_pos to -1.
10494 (w32_read_socket): Use gen_help_event instead of filling
10495 input_events manually.
10496 (syms_of_w32term): Staticpro help_echo_object.
10497 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
10498 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
10499 (x_clear_mouse_face): New function.
10500 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10501 (x_update_window_begin): No need to turn off the mouse
10502 highlight here.
10503 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10504 depending on whether they contain glyphs highlighted in mouse-face.
10505 (x_fill_stretch_glyph_string): Consume runs of stretch
10506 glyphs instead of a single one.
10507 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10508 with new argument list.
10509 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10510 (x_append_glyph, x_append_composite_glyph)
10511 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10512 changes in struct glyph starting 1999-12-27. See comments for
10513 xterm.c on 2000-07-05.
10514
105152000-07-14 Sam Steingold <sds@gnu.org>
10516
10517 * xfaces.c (realize_x_face): Fix the last patch:
10518 check `default_face' before dereferencing.
10519
105202000-07-14 Dave Love <fx@gnu.org>
10521
10522 * syntax.c (back_comment): Add null default in switch (for pcc).
10523
105242000-07-14 Kenichi Handa <handa@etl.go.jp>
10525
10526 * xfaces.c (realize_x_face): Make fontset using the base of the
10527 default_face's fontset, not using the default fontset.
10528
10529 * coding.c (inhibit_iso_escape_detection): New variable.
10530 (syms_of_coding): Make it a Lisp variable.
10531 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10532 nonzero, ignore ISO2022's escape sequence.
10533
105342000-07-14 Gerd Moellmann <gerd@gnu.org>
10535
10536 * alloca.c (malloc) [emacs]: Define as xmalloc.
10537
10538 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10539 use that instead of the mouse position. Add parameters DX and DY.
10540
10541 * dispextern.h (Fx_show_tip): Adjust number of parameters
10542 in prototype.
10543
10544 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10545 if HELP is a function, call it with OBJECT and POS as parameters
10546 to get the help to display.
10547 (gen_help_event, kbd_buffer_store_help_event): New functions.
10548 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10549 (read_char): Call show_help_echo with new parameters.
10550
10551 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
10552 Add prototypes.
10553
10554 * xterm.c (help_echo_object, help_echo_pos): New variables.
10555 (note_mode_line_highlight): Store additional information about the
10556 help-echo in help_echo_object and help_echo_pos. Check both
10557 `local-map' and `keymap' properties for changing the cursor
10558 (note_mouse_highlight): Store additional information about the
10559 help-echo in help_echo_object and help_echo_pos.
10560 (note_tool_bar_highlight): Set help_echo_object to nil and
10561 help_echo_pos to -1.
10562 (XTread_socket): Use gen_help_event instead of filling
10563 input_events manually.
10564 (syms_of_xterm): Staticpro help_echo_object.
10565
10566 * xmenu.c (menu_highlight_callback): Use
10567 kbd_buffer_store_help_event instead of setting up and input_event
10568 structure manually.
10569
10570 * xdisp.c (eval_form): GCPRO argument sexpr.
10571 (call_function): New function.
10572 (handle_single_display_prop): Use call_function and FUNCTIONP
10573 instead of checking whether if font_height is a symbol and
10574 using eval_form.
10575
10576 * eval.c (internal_condition_case_2): New function.
10577
10578 * lisp.h (FUNCTIONP): New macro.
10579 (internal_condition_case_2, call_function): Add prototypes.
10580
10581 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10582 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10583 Always set `arg' member of input_events.
10584 (construct_menu_click): Unused function removed.
10585
10586 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10587
10588 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10589 (construct_drag_n_drop, x_scroll_bar_handle_click)
10590 (w32_read_socket): Always set `arg' member of input_events.
10591
10592 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10593
10594 * lisp.h (eval_form): Add prototype.
10595
10596 * xdisp.c (eval_form): Make it externally visible.
10597
105982000-07-13 Gerd Moellmann <gerd@gnu.org>
10599
10600 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10601 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10602 consing. For prefix events, store the frame in the `arg' slot of
10603 the event, otherwise store the key there.
10604 (XTread_socket): Instead of consing, use the frame_or_window slot
10605 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
10606
10607 * xmenu.c (menu_highlight_callback): Store help string in the
10608 `arg' member of the input event; don't cons.
10609 (menubar_selection_callback): Use the `arg' slot of input events
10610 to queue additional information, instead of consing.
10611
10612 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10613
10614 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10615 TOOL_BAR_EVENTs.
10616 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10617
10618 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10619 input events to queue additional information, instead of consing.
10620
10621 * keyboard.c (kbd_buffer_gcpro): Renamed from
10622 kbd_buffer_frame_or_window. Now used for all Lisp objects
10623 referenced from the input queue.
10624 (kbd_buffer_store_event): Always use structure assignment for
10625 copying input events. Record all Lisp objects referenced from
10626 events in kbd_buffer_gcpro.
10627 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10628 differently from input events. Test for prefix menu_bar_events
10629 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10630 event in kbd_buffer_gcpro to nil.
10631 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10632 frame_or_window is equal to its arg member as prefix events.
10633 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10634 used by an input event to nil.
10635 (init_keyboard): Use two times the size of the input queue
10636 for kbd_buffer_gcpro.
10637 (syms_of_keyboard): Likewise.
10638
10639 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10640 Use USER_SIGNAL_EVENT.
10641
10642 * termhooks.h (struct input_event): Add member `arg'.
10643 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10644 (USER_SIGNAL_EVENT): Renamed from user_signal.
10645
10646 * xfaces.c (ASET): Remove definition.
10647
10648 * lisp.h (AREF, ASET, ASIZE): New macros.
10649
10650 * fontset.c (AREF, ASIZE): Remove definitions.
10651
10652 * fns.c (AREF): Remove definition.
10653
10654 * composite.c (AREF): Remove definition.
10655
106562000-07-12 Gerd Moellmann <gerd@gnu.org>
10657
10658 * dispnew.c (redraw_overlapped_rows): Add missing local.
10659 (scrolling_window): Remove debug code.
10660
10661 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10662 Before scrolling, turn off a mouse-highlight in the window
10663 being scrolled.
10664
10665 * xterm.c (x_update_window_end): Add parameter
10666 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10667 redisplay in XTframe_up_to_date.
10668 (x_clear_mouse_face): New function.
10669 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10670
10671 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10672 current glyph row.
10673 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10674 it when any row is written to that contains glyphs highlighted in
10675 mouse-face.
10676 (update_window): Call the window update end hook with new
10677 parameter MOUSE_FACE_OVERWRITTEN_P.
10678 (direct_output_for_insert): Give up if row contains mouse-face.
10679
10680 * dispextern.h (struct redisplay_interface): Add parameter
10681 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10682 (clear_mouse_face): New function pointer member.
10683
106842000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10685
10686 * syntax.c (back_comment): Use one switch rather than a few `if's.
10687 Obey open_paren_in_column_0_is_defun_start.
10688 When reverting to the `slow' method, try to nicely handle the case
10689 of nested comments by checking that the comment-starter we found
10690 does indeed match the comment-ender.
10691 (scan_sexps_forward, scan_sexps_forward):
10692 Ignore excessive opening parenthesis rather than throwing an error.
10693
106942000-07-11 Gerd Moellmann <gerd@gnu.org>
10695
10696 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10697 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10698
10699 * dispnew.c (direct_output_forward_char): Give up if currently
10700 displaying a message instead of the minibuffer contents.
10701
10702 * xterm.c (x_update_window_begin): No need to turn off the mouse
10703 highlight here.
10704 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10705 depending on whether they contain glyphs highlighted in mouse-face.
10706
10707 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10708 compare the mouse_face_p flags of both rows.
10709
10710 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10711
107122000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10713
10714 * keyboard.c (show_help_echo): Accept additional parameter
10715 ok_to_overwrite_keystroke_echo.
10716 (read_char): Call show_help_echo with a zero
10717 ok_to_overwrite_keystroke_echo argument.
10718 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
10719 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10720 ok_to_overwrite_keystroke_echo argument.
10721 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10722 non-zero ok_to_overwrite_keystroke_echo argument.
10723
107242000-07-10 Gerd Moellmann <gerd@gnu.org>
10725
10726 * xdisp.c (try_window_id): If changes are all below what is
10727 displayed in the window, and point is in the window, we still
10728 might have to find point on the display.
10729
10730 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10731 glyphs instead of a single one.
10732 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10733 with new argument list.
10734 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10735
10736 * keymap.c (get_keymap_1): Add comment that this function can GC.
10737 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10738 comment that functions can GC.
10739 (Fset_keymap_parent): GCPRO arg KEYMAP.
10740
107412000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10742
10743 * msdos.c (XMenuActivate): After exiting the menu, restore the
10744 echo area message and erase it.
10745
107462000-07-10 Kenichi Handa <handa@etl.go.jp>
10747
10748 * fontset.c (Ffontset_info): Make the return value more compatible
10749 with that of Emacs 20.
10750
107512000-07-07 Gerd Moellmann <gerd@gnu.org>
10752
10753 * eval.c (Fsignal): Handle case that backtrace_list is null.
10754
107552000-07-07 Kenichi Handa <handa@etl.go.jp>
10756
10757 * ccl.c (Fccl_execute): Typo fixed.
10758
107592000-07-06 Gerd Moellmann <gerd@gnu.org>
10760
10761 * window.c (window_loop): Add missing gcpro1 local variable.
10762
10763 * window.c (Fwindow_list): Reverse list at the end.
10764 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10765 means allow windows on OWINDOW's frame, only.
10766 (window_loop): Simplified; use Fwindow_list.
10767
10768 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10769
107702000-07-05 Gerd Moellmann <gerd@gnu.org>
10771
10772 * xterm.c (XTread_socket): Increment handling_signal at the start,
10773 decrement it at the end.
10774
10775 * eval.c (handling_signal): New variable.
10776 (Fsignal): Abort if handling_signal is non-zero.
10777
10778 * lisp.h (handling_signal): External declaration.
10779
10780 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10781
107822000-07-05 Ken Raeburn <raeburn@gnu.org>
10783
10784 Sound support for NetBSD through "Linux emulation" support:
10785 * config.in (HAVE_SOUNDCARD_H): Undef.
10786 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10787 * Makefile.in (LIBSOUND): New variable.
10788 (LIBES): Include it.
10789 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10790 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
10791 (vox_open): Use DEFAULT_SOUND_DEVICE.
10792 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10793
107942000-07-05 Gerd Moellmann <gerd@gnu.org>
10795
10796 * print.c (print_error_message): If Vsignaling_function is set,
10797 show it in *Messages*.
10798
10799 * lisp.h (Vsignaling_function): External declaration.
10800
10801 * eval.c (Vsignaling_function): New variable.
10802 (Fsignal): Compute it.
10803 (syms_of_eval): Staticpro it.
10804
108052000-07-05 Dave Love <fx@gnu.org>
10806
10807 * syswait.h: Use the autoconf recommended approach. Old code
10808 #if'd out in case we need to revert.
10809
10810 * config.in (HAVE_SYS_WAIT_H): Added.
10811
108122000-07-05 Andrew Innes <andrewi@gnu.org>
10813
10814 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10815 when non-NULL instead of __morecore, to take account of buffer
10816 memory. This also solves a problem with spurious memory warnings
10817 on Windows.
10818
10819 * ralloc.c: Make real_morecore non-static.
10820
10821 * eval.c (internal_condition_case): Comment out abort if
10822 interrupt_input_blocked is not zero.
10823
10824 * makefile.nt: Add support for `bootstrap' and related targets.
10825 Include minimal debug info in emacs.exe in release build.
10826 Remove all dependencies on lisp.h, and fixup some others.
10827
10828 * w32.c (init_environment): Install code from 20.7 for providing
10829 default values for environment variables, based on the
10830 executable's own location.
10831 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
10832 (sys_socket): Install socket inheritance bug fix from 20.7.
10833
10834 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10835 here via blockinput.h).
10836
108372000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10838
10839 * w32menu.c (w32_menu_display_help):
10840 * xmenu.c (menu_help_callback): Use show_help_echo.
10841
10842 * keyboard.h (show_help_echo): Declare.
10843
10844 * keyboard.c (show_help_echo): New function, extracted from read_char.
10845 Feval its `msg' argument if it's a cons cell.
10846 (read_char): Use it.
10847 (follow_key): Pass `autoload' to get_keyelt.
10848
10849 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
10850 (note_tool_bar_highlight, XTread_socket):
10851 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
10852 (dos_rawgetc):
10853 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10854 (note_tool_bar_highlight, w32_read_socket):
10855 Do not gratuitously ignore non-string `help-echo' properties.
10856
108572000-07-05 Gerd Moellmann <gerd@gnu.org>
10858
10859 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10860
10861 * window.c (delete_all_subwindows): Reset Vwindow_list.
10862
10863 * xterm.c (x_append_glyph, x_append_composite_glyph)
10864 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10865 changes in struct glyph starting 1999-12-27. Some bit-fields of
10866 struct glyph were not set, which made glyphs unequal when compared
10867 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10868 effects were the result. This also depended on the contents of
10869 memory returned by xmalloc. If flickering happens again, activate
10870 the code in clear_glyph_row that's in #if 0. If the flickering is
10871 gone with that, chances are that it is caused by something similar.
10872
10873 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
10874
10875 * dispextern.h: Add some comments.
10876
10877 * window.c (add_window_to_list): Add parameter LIST.
10878 (window_list): Order list so that, for each frame, windows are
10879 in canonical order, and so that frames appear in the list in
10880 the order given by Vframe_list.
10881 (next_window): Reverse the handling of NEXT_P.
10882
108832000-07-04 Gerd Moellmann <gerd@gnu.org>
10884
10885 * window.c (Vwindow_list): New variable.
10886 (make_window, delete_window): Set Vwindow_list to nil.
10887 (check_window_containing): New function.
10888 (window_from_coordinates): Rewritten.
10889 (add_window_to_list, window_list, candidate_window_p)
10890 (decode_next_window_args, next_window): New functions.
10891 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
10892 (Fwindow_list): New function.
10893 (Fother_window): Cleaned up.
10894 (foreach_window): Add a longer "variable argument list". Let
10895 callback function return 0 to indicate that cycling over windows
10896 should stop.
10897 (foreach_window_1): Likewise.
10898 (freeze_window_start): Return int.
10899 (init_window): New function.
10900 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10901
10902 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10903 input_event with bzero.
10904 (main): Call init_window.
10905
10906 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10907 a menu filter.
10908
109092000-07-04 Kenichi Handa <handa@etl.go.jp>
10910
10911 * composite.h (make_composition_value_copy): Extern it.
10912
10913 * composite.c (make_composition_value_copy): New function.
10914
10915 * editfns.c (Fformat): While copying text properties, make each
10916 composition property value a copy.
10917
10918 * fns.c (concat): While copying text properties, make each
10919 composition property value a copy.
10920
109212000-07-03 Gerd Moellmann <gerd@gnu.org>
10922
10923 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10924
10925 * fns.c (sweep_weak_table): Mark only objects that are not
10926 marked already.
10927
10928 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10929 include those frames as candidates which have their focus
10930 redirected to the minibuffer frame.
10931
109322000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10933
10934 * fns.c (Fputhash): Return `value' rather than nil.
10935
109362000-06-30 Gerd Moellmann <gerd@gnu.org>
10937
10938 * frame.c (next_frame): Don't check focus redirection in case
10939 MINIBUF is a window. Doing so excludes frames using MINIBUF
10940 unless their focus is redirected, which contradicts the
10941 specification of next-frame, and leads to infinite loops in
10942 certain situations when cycling through windows with next-window.
10943
109442000-06-30 Kenichi Handa <handa@etl.go.jp>
10945
10946 * coding.c (code_convert_region): Even if the length of text is
10947 zero, try to convert it if coding->type is coding_type_ccl.
10948 (decode_coding_string, encode_coding_string): Likewise.
10949
109502000-06-28 Gerd Moellmann <gerd@gnu.org>
10951
10952 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
10953 the display if windows_or_buffers_changed.
10954
10955 * dispnew.c (struct row_entry): New structure.
10956 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10957 (row_table_size, old_lines, new_lines, old_lines_size)
10958 (new_lines_size, run_pool, runs_size, runs): New variables.
10959 (add_row_entry): New function.
10960 (scrolling_window): Use data structures allocated with xmalloc and
10961 held in global variables, instead of allocating them with alloca and
10962 holding them in local variables. Use a larger hash table whose
10963 size depends on glyph matrix sizes. Don't use bzero to clear the
10964 hash table; instead, clear used slots only.
10965
10966 * fns.c (next_almost_prime): Make it externally visible.
10967
10968 * lisp.h (next_almost_prime): Add prototype.
10969
10970 * s/isc4-0.h (sigunblock): Define.
10971
10972 * s/sco5.h (sigunblock): Define.
10973
109742000-06-27 Dave Love <fx@gnu.org>
10975
10976 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10977 (moved to osf5-0.h).
10978 [!NOT_C_CODE]: Protect string.h stuff.
10979
10980 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10981 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10982
109832000-06-27 Gerd Moellmann <gerd@gnu.org>
10984
10985 * xdisp.c (resize_mini_window): Subtract the extra line spacing
10986 below the last line from the needed window height.
10987
109882000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10989
10990 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10991 (Fwidget_get): Use it.
10992 (syms_of_fns): Defsubr it.
10993
109942000-06-26 Gerd Moellmann <gerd@gnu.org>
10995
10996 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
10997 display info for XIM.
10998 (xim_open_dpy): Likewise.
10999 (xim_close_dpy): Don't free the display info's XIM.
11000
11001 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11002
11003 * config.in (USE_XIM): New define.
11004
11005 * keymap.c (get_keyelt): For menu-items containing a `:filter
11006 FILTER', apply FILTER to the menu-item's definition to get the
11007 real definition to use.
11008
11009 * lisp.h (QCfilter): External declaration.
11010
11011 * xfns.c (Fimage_size): New function.
11012 (syms_of_xfns): Defsubr it.
11013
110142000-06-26 Andreas Schwab <schwab@suse.de>
11015
11016 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11017 Fstring_as_unibyte.
11018
110192000-06-25 Dave Love <fx@gnu.org>
11020
11021 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
11022
11023 * Makefile.in (blockinput.h): Depend on atimer.h.
11024 (atimer.h): Depend on systime.h.
11025
11026 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
11027
11028 * atimer.h: Protect against multiple inclusion. Include systime.h.
11029
11030 * lisp.h (swap_in_global_binding): Declare.
11031
110322000-06-24 Ken Raeburn <raeburn@gnu.org>
11033
11034 * process.c (Fopen_network_stream): Turn off atimers for duration
11035 of call to connect. (Patch from Gerd.)
11036
110372000-06-23 Dave Love <fx@gnu.org>
11038
11039 * ralloc.c: Maybe include unistd.h
11040
11041 * emacs.c (setgrp): Undefine before defining.
11042 (malloc_warning, set_time_zone_rule, index): Prototype.
11043
11044 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11045 HAVE_STRUCT_TIMEZONE.
11046
11047 * s/osf1.h: Move string.h hack here from alpha.h and make it
11048 conditional.
11049 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11050 _XOPEN_SOURCE.
11051 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11052 (SOCKLEN_TYPE): Don't define.
11053
11054 * m/alpha.h: Remove string.h hack.
11055
11056 * s/osf5-0.h: New file.
11057
11058 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11059 include time.h, done by systime.h.
11060 [__FreeBSD__]: Remove redundant includes.
11061
11062 * callproc.c (setpgrp): Undefine before defining.
11063 (delete_temp_file): Return Qnil to avoid warning.
11064
11065 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11066
11067 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11068 HAVE_X_WINDOWS.
11069
11070 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11071
11072 * composite.h (compose_text): Declare.
11073
11074 * xterm.c: Don't include sys/types.h unconditionally. Don't
11075 protect its inclusion with !USG (following xmenu.c).
11076
110772000-06-23 Gerd Moellmann <gerd@gnu.org>
11078
11079 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11080 in x_create_frame.
11081
110822000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11083
11084 * coding.c (decode_eol_post_ccl): Special handling for undecided
11085 and inconsistent EOL types.
11086
110872000-06-22 Gerd Moellmann <gerd@gnu.org>
11088
11089 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11090 trough color and main window's background color.
11091
11092 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
11093
11094 * xterm.h (Xt_app_con): External declaration.
11095
11096 * widget.c (EmacsFrameRealize): Fix typo.
11097
11098 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11099
11100 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11101 (handle_invisible_prop): Record the start of invisible text in
11102 it->add_overlay_start.
11103 (struct overlay_entry): Add member `overlay'.
11104 (handle_overlay_change): Simplify.
11105 (next_overlay_string): After having processed overlay strings at the
11106 end of the buffer, record that fact in
11107 it->overlay_strings_at_end_processed_p.
11108 (compare_overlay_entries): If before- and after-strings come
11109 from the same overlay, let before-strings come first.
11110 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11111 (load_overlay_strings): Take it->add_overlay_start into account
11112 when adding overlay strings.
11113
11114 * dispextern.h (struct it): Add member add_overlay_start.
11115
111162000-06-22 Dave Love <fx@gnu.org>
11117
11118 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11119
11120 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11121
111222000-06-22 Kenichi Handa <handa@etl.go.jp>
11123
11124 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11125 is greater than 0.
11126
111272000-06-21 Dave Love <fx@gnu.org>
11128
11129 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
11130
111312000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11132
11133 * syntax.c (back_comment): Simplify string-parity counting (with
11134 the added benefit of handling multiple string-styles as long as
11135 they are not intertwined).
11136 Jump to the slow code as soon as a comment starter is found in
11137 a "string_lossage" position. Fixes the case: " /* " /* " */.
11138
111392000-06-21 Dave Love <fx@gnu.org>
11140
11141 * Makefile.in: Use GETLOADAVG_LIBS.
11142
11143 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11144 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11145
111462000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11147
11148 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11149 (Fforward_comment, scan_lists):
11150 Check the comstyle of single-char comment-starters.
11151 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11152 we're just at the beginning of the comment (f.ex with (*) ... (*)).
11153 Check the comstyle of single-char comment-starters.
11154 Clarify control-flow around the Scomment case.
11155
111562000-06-20 Dave Love <fx@gnu.org>
11157
11158 * fns.c (make_hash_table, maybe_resize_hash_table):
11159 Cast arg of next_almost_prime.
11160
11161 * tparam.c [emacs]: Include lisp.h.
11162
11163 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11164 and unistd.h.
11165
111662000-06-20 Gerd Moellmann <gerd@gnu.org>
11167
11168 * keyboard.c (adjust_point_for_property): Check if display
11169 property should be treated as intangible by looking at its value.
11170
11171 * xdisp.c (single_display_prop_intangible_p)
11172 (display_prop_intangible_p): New functions.
11173
11174 * dispextern.h (display_prop_intangible_p): Add prototype.
11175
11176 * xdisp.c (dump_glyph_row): Show type of glyph->object.
11177
11178 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11179 argument to sigprocmask.
11180
11181 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11182 argument to sigprocmask.
11183
11184 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11185 sigprocmask_set, and pass a pointer to it to sigprocmask.
11186
11187 * sysdep.c (sigprocmask_set): New variable.
11188
11189 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11190 report_file_error.
11191
111922000-06-20 Sam Steingold <sds@gnu.org>
11193
11194 * xrdb.c: Don't declare xmalloc, xrealloc.
11195
111962000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11197
11198 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11199 (re_comp): Cast gettext return value to avoid complaints when
11200 !HAVE_LIBINTL.
11201
112022000-06-20 Dave Love <fx@gnu.org>
11203
11204 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
11205
11206 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
11207
11208 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
11209
11210 * m/alpha.h: Don't declare xmalloc, xrealloc.
11211
11212 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11213
11214 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11215
11216 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11217
11218 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11219 HAVE_GETWD.
11220
11221 * keyboard.h (poll_for_input_1): Declare.
11222
11223 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11224
11225 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11226
11227 * doprnt.c: Don't declare xmalloc, xrealloc.
11228
11229 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11230 (getenv, ctime, getwd): Removed.
11231 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11232
11233 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11234 x_set_tool_bar_lines.
11235
11236 * config.in: Add HAVE_GETWD. Move some definitions above
11237 machine/system includes.
11238
112392000-06-20 Kenichi Handa <handa@etl.go.jp>
11240
11241 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11242
11243 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11244 contain information about ENCODING.
11245
11246 * fontset.c (FONTSET_ASCII): Use the first element of char table
11247 for an ASCII font, not defalt slot.
11248 (fontset_ref_via_base): If FONTSET doesn't contain information for
11249 C, try the default fontset.
11250 (make_fontset): Don't copy the default fontset.
11251 (fontset_font_pattern): Likewise.
11252 (accumulate_font_info): If ELT is nil, use the corresponding
11253 element in the default fontset.
11254
112552000-06-19 Dave Love <fx@gnu.org>
11256
11257 * syntax.c (Fparse_partial_sexp): Doc fix.
11258
11259 * regex.h: Test PROTOTYPES as well as __STDC__.
11260
11261 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11262 errno, strerror. Put text after #endif in comment.
11263
11264 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
11265
11266 * xterm.c (x_frame_of_widget): Likewise.
11267
112682000-06-19 Gerd Moellmann <gerd@gnu.org>
11269
11270 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11271 to Vfundamental_mode_abbrev_table.
11272
11273 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11274 bogus objects are marked. This slows down GC by ~80 percent, but
11275 it might be worth trying when debugging GC-related problems.
11276 This feature requires conservative stack marking to be enabled.
11277
11278 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11279 returns XLookupChars, reset `modifiers' to zero.
11280
112812000-06-19 Dave Love <fx@gnu.org>
11282
11283 * mktime.c: Unprotoized.
11284
112852000-06-19 Richard Stallman <rms@gnu.org>
11286
11287 * data.c (set_internal): If variable is frame-local,
11288 store the new value immediately into the frame parameter alist.
11289
112902000-06-19 Ken Raeburn <raeburn@gnu.org>
11291
11292 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11293 in the custom handler pointer.
11294
11295 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11296 value, or checks for CHAR_META can fail when Lisp_Object is a
11297 union type.
11298 * keymap.c (get_keyelt): Likewise.
11299
113002000-06-19 Kenichi Handa <handa@etl.go.jp>
11301
11302 * ccl.h (struct ccl_program): New member eol_type.
11303 (struct ccl_spec): New member cr_carryover.
11304
11305 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11306 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11307
11308 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11309 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11310 (decode_eol_post_ccl): New function.
11311 (decode_coding): Don't detect EOL format here for CCL based coding
11312 systems.
11313 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11314 decode_eol_post_ccl after running the CCL program.
11315 (code_convert_region): Don't detect EOL format here for CCL based
11316 coding systems.
11317 (decode_coding_string): Likewise.
11318
113192000-06-18 Ken Raeburn <raeburn@gnu.org>
11320
11321 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11322 when treating it as an integer.
11323
11324 * coding.h (encode_coding_string): Declare.
11325
11326 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11327 it as an integer.
11328
11329 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11330 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11331 to be passed to get_local_map.
11332
11333 * sound.c (Fplay_sound): Don't call make_number on
11334 Frun_hook_with_args count argument.
11335
11336 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11337 for lisp objects in X event structure data field, when lisp
11338 objects are represented with unions.
11339 (x_scroll_bar_to_input_event): Ditto.
11340
113412000-06-16 Ken Raeburn <raeburn@gnu.org>
11342
11343 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
11344 termination of string. Fix sense of test whether
11345 Vline_number_display_limit is an integer.
11346
113472000-06-16 Gerd Moellmann <gerd@gnu.org>
11348
11349 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11350 only if HAVE_X_WINDOWS.
11351
11352 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11353 of titles.
11354
11355 * dispnew.c (update_frame_1): Handle case that cursor vpos is
11356 out of bounds.
11357
113582000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11359
11360 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11361 of its headers.
11362
113632000-06-15 Kenichi Handa <handa@etl.go.jp>
11364
11365 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11366 start of the while loop.
11367
113682000-06-15 Gerd Moellmann <gerd@gnu.org>
11369
11370 * atimer.c (alarm_signal_handler): Add forward declaration.
11371
11372 * data.c (set_internal): Remove debug code.
11373
113742000-06-14 Gerd Moellmann <gerd@gnu.org>
11375
11376 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11377
11378 * unexec.c (toplevel) [COFF]: Include coff.h.
11379
11380 * s/lynxos.h: New file.
11381
11382 * keymap.c (Fsingle_key_description): Enclose function key and
11383 event symbol names in angle brackets.
11384
11385 * xdisp.c (setup_echo_area_for_printing): Call
11386 message_log_maybe_newline if message_buf_print is not set.
11387
11388 * print.c (printchar, strout): Don't check message_buf_print
11389 before calling setup_echo_area_for_printing because that
11390 function does something useful even when message_buf_print is
11391 already set.
11392
11393 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11394 New variables.
11395 (ensure_echo_area_buffers): Initialize echo buffer's
11396 truncate lines setting to nil.
11397 (with_echo_area_buffer): Don't set the echo buffer's truncate
11398 lines setting here.
11399 (set_message_1): Set it here instead, based on the value
11400 of message_truncate_lines.
11401 (resize_mini_window): Handle case that lines are truncated.
11402 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11403 DEFVAR_BOOL message-truncate-lines.
11404
11405 * keyboard.c (read_char): Bind message-truncate-lines to t
11406 while displaying a help-echo.
11407
11408 * lisp.h (Qmessage_truncate_lines): External declaration.
11409
114102000-06-13 Gerd Moellmann <gerd@gnu.org>
11411
11412 * xdisp.c (Vline_number_display_limit): Renamed from
11413 line_number_display_limit.
11414 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11415 Extend documentation string. Initialize
11416 Vline_number_display_limit to nil meaning no limit.
11417 (decode_mode_spec): Use Vline_number_display_limit with its new
11418 meaning.
11419
11420 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11421
114222000-06-13 Richard Stallman <rms@gnu.org>
11423
11424 * frame.c (Fmodify_frame_parameters): Doc fix.
11425
11426 * xfns.c (x_set_frame_parameters): Comment fix.
11427
11428 * frame.c (store_frame_param): Call swap_in_global_binding if the
11429 variable's current binding was chosen based on this frame.
11430
11431 * data.c (swap_in_global_binding): New function.
11432
114332000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11434
11435 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11436 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11437
114382000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11439
11440 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11441
114422000-06-12 Jason Rumney <jasonr@gnu.org>
11443
11444 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11445
11446 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11447
11448 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11449
11450 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11451
114522000-06-12 Gerd Moellmann <gerd@gnu.org>
11453
11454 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11455 (syms_of_xfaces): Defsubr Sdump_colors.
11456 (x_free_colors): Don't treat b&w specially on default visual.
11457 (x_free_dpy_colors): New function.
11458 (free_face_colors): Don't check visual class; it's done
11459 in x_free_colors.
11460
11461 * xterm.c (x_frame_of_widget): New function.
11462 (x_alloc_nearest_color_for_widget): Use it.
11463 (x_copy_dpy_color): New function.
11464 (x_destroy_window): Free various colors.
11465
114662000-06-12 Kenichi Handa <handa@etl.go.jp>
11467
11468 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11469
11470 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11471
11472 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11473
11474 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11475
11476 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11477
114782000-06-11 Dave Love <fx@gnu.org>
11479
11480 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11481
114822000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11483
11484 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11485
114862000-06-11 Gerd Moellmann <gerd@gnu.org>
11487
11488 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
11489 to `XEvent *'.
11490
114912000-06-10 Kenichi Handa <handa@etl.go.jp>
11492
11493 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11494 (regex_compile): Fix the code for handling the case of single byte
11495 char and multibyte char being mixed in a range within [...].
11496
11497 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11498 and dst_multibyte members of coding.
11499
11500 * charset.c (update_charset_table): Update the table
11501 bytes_by_char_head.
11502 (init_charset_once): Initialize elements of bytes_by_char_head to
11503 1 except for leading codes for private charases.
11504
11505 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
11506 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
11507
115082000-06-09 Ken Raeburn <raeburn@gnu.org>
11509
11510 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11511 access the data it doesn't point to.
11512
115132000-06-08 Gerd Moellmann <gerd@gnu.org>
11514
11515 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
11516 will be translated to a switch-frame event when reading the
11517 event queue. This is necessary because Emacs otherwise won't
11518 perform a switch-frame to a new frame until some other event, for
11519 example a keystroke event, forces it to do so. This has various
11520 effects, one visible being that the cursor of a frame created with
11521 C-x 5 2 or switched to with a window manager key binding like
11522 A-TAB stays hollow because selected_window isn't on the newly
11523 focused frame until the switch-frame is performed.
11524
11525 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11526 generating a switch-frame event if necessary.
11527
11528 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11529
11530 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11531 it's an integer.
11532
115332000-06-08 Kenichi Handa <handa@etl.go.jp>
11534
11535 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
11536
115372000-06-07 Gerd Moellmann <gerd@gnu.org>
11538
11539 * window.c (displayed_window_lines): Take empty lines at
11540 the bottom of a window into account.
11541
11542 * window.c (displayed_window_lines): New function.
11543 (Fmove_to_window_line): Use displayed_window_lines to determine
11544 the number of lines to move, instead of using the window's height.
11545
11546 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11547 to stop reading, even if the form read sets point to a different
11548 value when evaluated.
11549
11550 * xdisp.c (display_line): Fix code deciding in which line to
11551 put the cursor.
11552
115532000-06-07 Kenichi Handa <handa@etl.go.jp>
11554
11555 * fileio.c (e_write): Free composition data if stored in
11556 coding->cmp_data.
11557
115582000-06-06 Gerd Moellmann <gerd@gnu.org>
11559
11560 * xdisp.c (display_line): Set row's and iterator's
11561 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11562 Set cursor even if row ends in the middle of a character.
11563 (dump_glyph_row): Print values of new flags.
11564 (redisplay_window) <cursor movement in unchanged window>: When
11565 point has been moved forward, and PT is at the end of the cursor
11566 row, don't place the cursor in the next row if the cursor row ends
11567 in the middle of a character or at ZV.
11568
11569 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11570 (struct glyph_row): Add starts_in_middle_of_char_p and
11571 ends_in_middle_of_char_p.
11572 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11573 ends_in_middle_of_char_p flag.
11574 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11575
11576 * term.c (append_glyph): Revert change of 2000-06-06.
11577
11578 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11579 padding glyph not fitting on line as whole character not
11580 fitting on line.
11581
11582 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11583 this isn't true for images with `:ascent 100'.
11584
115852000-06-06 Kenichi Handa <handa@etl.go.jp>
11586
11587 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11588 as modified if it is originally unmodified.
11589
11590 * term.c (encode_terminal_code): Change the way to check if
11591 terminal coding does any conversion.
11592 (append_glyph): Set glyph->pixel_width correctly.
11593
11594 * xdisp.c (display_line): While checking line continuation, pay
11595 attention to a padding glyph.
11596
115972000-06-05 Gerd Moellmann <gerd@gnu.org>
11598
11599 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11600
116012000-06-05 Dave Love <fx@gnu.org>
11602
11603 * xdisp.c: Include fontset.h.
11604
11605 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11606
11607 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11608
11609 * dispnew.c: Conditionally include term.h.
11610
11611 * coding.h: Declare code_convert_string_norecord.
11612
11613 * frame.h (struct frame): Use volatile unconditionally.
11614
11615 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11616
11617 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11618
11619 * systime.h: Protect against multiple inclusion.
11620 (timezone) [USG5_4]: Define as time_t.
11621
11622 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11623 (Foptimize_char_table, make_temp_name): Declare.
11624
11625 * Makefile.in (xdisp.o): Depend on fontset.h.
11626
11627 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11628
11629 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11630 (Foptimize_char_table, make_temp_name): Declare.
11631
11632 * s/irix4-0.h:
11633 * s/irix5-0.h:
11634 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11635
116362000-06-02 Dave Love <fx@gnu.org>
11637
11638 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11639
116402000-06-02 Gerd Moellmann <gerd@gnu.org>
11641
11642 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
11643 result face, set flags in that face indicating that colors may not
11644 be freed.
11645
11646 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11647 glyph, use the ASCII NUL character to determine the face.
11648
116492000-06-02 Dave Love <fx@gnu.org>
11650
11651 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11652 (VFORK_RETURN_TYPE): Remove.
11653
11654 * config.in: Add NO_MATHERR.
11655
116562000-06-01 Dave Love <fx@gnu.org>
11657
11658 * cmds.c (internal_self_insert): Don't check
11659 Vbefore_change_function, Vafter_change_function.
11660
11661 * insdel.c (signal_before_change, signal_after_change): Likewise.
11662
11663 * buffer.c (Vbefore_change_function, Vafter_change_function):
11664 Variables and their initializations deleted.
11665
11666 * callint.c (Fcall_interactively): Doc fix.
11667
11668 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11669
116702000-05-31 Dave Love <fx@gnu.org>
11671
11672 * textprop.c: Revert last change -- duplicated.
11673
116742000-05-31 Gerd Moellmann <gerd@gnu.org>
11675
11676 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11677 in #if 0.
11678
11679 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11680
116812000-05-31 Jason Rumney <jasonr@gnu.org>
11682
11683 * search.c (Fre_search_forward, Fre_search_backward)
11684 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11685
11686 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11687
116882000-05-30 Jason Rumney <jasonr@gnu.org>
11689
11690 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11691 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11692
11693 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
11694
11695 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11696 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11697 expand a nil default_filename.
11698
11699 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11700 pointer to glyph_to_pixel_coords, not a frame.
11701
11702 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11703 coding.h to dependencies.
11704
11705 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11706
11707 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11708 window pointer to be consistent with w32term.c and xterm.c.
11709
11710 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11711 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11712 (Qline_spacing, Qcenter): New variables.
11713 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11714 (x_set_line_spacing): New function.
11715 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
11716 (x_specified_cursor_type): New function.
11717 (x_set_cursor_type): Use it.
11718 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11719 and icon strings.
11720 (validate_x_resource_name, x_get_resource_string): Measure lengths
11721 of external strings in bytes.
11722 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11723 GetTextExtentPoint32 with NULL title.
11724 (Fx_create_frame): Initialize Qline_spacing.
11725 (w32_load_system_font): Initialize font->double_byte_p.
11726 (x_to_w32_charset): Use Vw32_charset_info_alist.
11727 (Image, busy cursor, tooltip functions): Merged changes from
11728 xfns.c. Not yet functional on Windows.
11729
11730 * w32gui.h (W32FontStruct): Add double_byte_p member.
11731
11732 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11733 (emacs_button_translation): Use it.
11734 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11735 in `mask' to be set.
11736
11737 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11738 menu strings.
11739
11740 * w32term.c: Format and doc changes to bring closer to xterm.c.
11741 (w32_char_font_type): New enum.
11742 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11743 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11744 (w32_encode_char): New function.
11745 (x_encode_char): Removed.
11746 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11747 x_encode_char and w32_font_is_double_byte.
11748 (x_produce_image_glyph): Use image_ascent.
11749 (x_produce_glyphs): Use new version of w32_per_char_metric and
11750 handle NULL return value. Allow extra line spacing.
11751 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11752 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11753 w32_font_type member of glyph instead.
11754 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11755 (fast_find_position): Make sure not to consider rows not visible
11756 in the window.
11757 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11758 w32_menu_display_help with input blocked, as it can abort.
11759 (x_display_and_set_cursor): Choose cursor depending
11760 on buffer-local value of cursor_type.
11761 (x_draw_bar_cursor): Add parameter WIDTH.
11762
11763 * w32term.h (CP_DEFAULT): Define.
11764 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11765
117662000-05-30 Gerd Moellmann <gerd@gnu.org>
11767
11768 * search.c (Fre_search_forward, Fre_search_backward)
11769 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11770
117712000-05-30 Kenichi Handa <handa@etl.go.jp>
11772
11773 * coding.c (detect_coding_iso2022): Fix code for checking
11774 CODING_CATEGORY_MASK_ISO_8_2.
11775
117762000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11777
11778 * regex.c (PREFETCH_NOLIMIT): New function.
11779 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11780
117812000-05-29 Gerd Moellmann <gerd@gnu.org>
11782
11783 * syntax.c (find_defun_start): Move test for
11784 open_paren_in_column_0_is_defun_start outside of the loop.
11785
11786 * xdisp.c (redisplay_window): Really switch buffers when
11787 displaying mode lines, and temporarily set selected_frame to the
11788 frame of the window that's redisplayed.
11789
11790 * xfaces.c (free_realized_faces): Block/unblock input.
11791 (free_realized_multibyte_face): Ditto.
11792
117932000-05-29 Dave Love <fx@gnu.org>
11794
11795 * textprop.c (Qkeymap): New variable.
11796 (syms_of_textprop): Intern it.
11797
11798 * keymap.c: Include intervals.h.
11799 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11800
11801 * Makefile.in (keymap.o): Depend on intervals.h.
11802
11803 * keyboard.c (menu_bar_items, tool_bar_items)
11804 (Fexecute_extended_command): Deal with `keymap' property.
11805 (read_key_sequence): Track map from `keymap' property as well as
11806 `local_map'.
11807
11808 * intervals.c (get_local_map): Extra arg to allow looking for
11809 `keymap' too.
11810
11811 * intervals.h (map_property): New enum.
11812 (get_local_map): Extra arg using it.
11813 (Qkeymap): Declare.
11814
11815 * lisp.h (get_local_map): Don't declare here.
11816
118172000-05-29 Kenichi Handa <handa@etl.go.jp>
11818
11819 * Makefile.in (callproc.o): Depend on composite.h.
11820
11821 * callproc.c: Include composite.h.
11822 (Fcall_process): Handle composition correctly.
11823
11824 * coding.h (coding_allocate_composition_data): Extern it.
11825 (coding_restore_composition): Likewise.
11826
11827 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11828 yet allocated, finish decoding with result
11829 CODING_FINISH_INSUFFICIENT_CMP.
11830 (coding_allocate_composition_data): Make it non-static.
11831 (coding_restore_composition): Likewise.
11832
118332000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11834
11835 * charset.c (syms_of_charset): Revert last change.
11836
118372000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11838
11839 * term.c (produce_glyphs): Treat characters from the eight-bit-*
11840 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11841 Handa.
11842
118432000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11844
11845 * charset.c (syms_of_charset): Set width of character sets
11846 eight-bit-control and eight-bit-graphic to 1 column.
11847
118482000-05-26 Gerd Moellmann <gerd@gnu.org>
11849
11850 * config.in (HAVE_SPEED_T): New define.
11851
11852 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11853 `extern speed_t'.
11854
118552000-05-26 Dave Love <fx@gnu.org>
11856
11857 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11858
11859 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11860 (Fsubr_arity): New function.
11861 (syms_of_data): Install them.
11862
118632000-05-26 Kenichi Handa <handa@etl.go.jp>
11864
11865 * charset.c (init_charset_once): Set the table bytes_by_char_head
11866 correctly.
11867
11868 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11869 the default fontset to what Emacs uses by default.
11870 (check_registry_encoding): This function deleted.
11871 (Fset_fontset_font): Remove the adhoc condition for the default
11872 fontset. Allow cons in FONTNAME.
11873
11874 * fns.c (map_char_table): Ignore char-table entries for
11875 charsets eight-bit-control and eight-bit-graphic.
11876
118772000-05-25 Ken Raeburn <raeburn@gnu.org>
11878
11879 * emacs.c (main): Initialize keyboard syms before initializing
11880 window code, so face names are available.
11881
118822000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11883
11884 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11885 of an anchor at the beginning of a shy-group.
11886
118872000-05-25 Gerd Moellmann <gerd@gnu.org>
11888
11889 * xdisp.c (handle_invisible_prop): Don't try to skip over
11890 invisible text if end of text is already reached.
11891
118922000-05-25 Dave Love <fx@gnu.org>
11893
11894 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11895
11896 * coding.c (encode_eol): Add null statement after label.
11897
118982000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11899
11900 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11901 2000-05-20.
11902
119032000-05-25 Kenichi Handa <handa@etl.go.jp>
11904
11905 * ccl.c (ccl_driver): Fix previous change.
11906
119072000-05-25 Kenichi Handa <handa@etl.go.jp>
11908
11909 * coding.c (run_pre_post_conversion_on_str): Set point to the
11910 beginning of buffer before calling coding->post_read_conversion.
11911 (decode_coding_string): Give correct args to
11912 run_pre_post_conversion_on_str.
11913 (encode_coding_string): Likewise.
11914
11915 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11916 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11917 eight-bit-graphic correctly.
11918
119192000-05-24 Kenichi HANDA <handa@etl.go.jp>
11920
11921 * fileio.c (Finsert_file_contents): Even if a file is not found,
11922 execute codes for setting up coding system. Call
11923 after-insert-file-functions unconditionally.
11924
119252000-05-24 Gerd Moellmann <gerd@gnu.org>
11926
11927 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11928 BSD_PGRPS are not defined.
11929
119302000-05-24 Kenichi Handa <handa@etl.go.jp>
11931
11932 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11933 DESCRIPTION.
11934 (syms_of_charset): Avoid building same strings.
11935
119362000-05-23 Gerd Moellmann <gerd@gnu.org>
11937
11938 * lread.c (Fload): Add a comment about the meaning of
11939 Vuser_init_file being t.
11940
11941 * puresize.h (BASE_PURESIZE): Increase to 675000.
11942
11943 * s/gnu-linux.h (setpgrp): Don't define it here because this
11944 prevents compilation on GNU/Linux systems with glib 2.2.
11945
11946 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11947 as setpgid.
11948
119492000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11950
11951 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11952 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11953 version.
11954 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11955
119562000-05-23 Kenichi Handa <handa@etl.go.jp>
11957
11958 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11959
11960 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11961
11962 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
11963
11964 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11965
119662000-05-22 Kenichi Handa <handa@etl.go.jp>
11967
11968 * keyboard.c (read_char): Allow character codes 128..255 to be
11969 handled by input-method-function.
11970
11971 * insdel.c (adjust_markers_for_replace): Fix previous change.
11972 (adjust_after_replace): If PREV_TEXT is nil, call
11973 adjust_markers_for_insert, not adjust_markers_for_replace.
11974
119752000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
11976
11977 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11978 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11979 [HAVE_GRANDPT]: Define.
11980 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11981
11982 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11983 like SYSV_PTYS.
11984
11985 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11986
11987 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11988
119892000-05-20 Kenichi Handa <handa@etl.go.jp>
11990
11991 The following changes are to handle 8-bit characters in a
11992 multibyte buffer/string without facing with byte combining
11993 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11994 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11995
11996 * Makefile.in (fns.o): Depend on charset.h.
11997
11998 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11999 convert it to unibyte.
12000 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12001
12002 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12003 apparent char boundary.
12004 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12005 0x80..0x9F to/from multibyte form.
12006
12007 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12008 to unibyte.
12009
12010 * callproc.c (Fcall_process): Always encode an argument string if
12011 it is multibyte. Setup src_multibyte and dst_multibyte members of
12012 process_coding properly.
12013
12014 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12015 SPLIT_NON_ASCII_CHAR.
12016
12017 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12018 as is.
12019 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12020
12021 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
12022 (SPLIT_CHARACTER_SEQ): This macro deleted.
12023 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
12024 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12025 and eight-bit-graphic.
12026 (char_to_string): Likewise. Signal an error for too large
12027 character code.
12028 (char_printable_p): Return 0 for 8-bit characters.
12029 (update_charset_table): Update iso_charset_table only when a final
12030 character is non-negative.
12031 (find_charset_in_text): Renamed from find_charset_in_str.
12032 Arguments and return value changed. Callers changed.
12033 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12034 be -1 if CHARSET is used only internally.
12035 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12036 eight-bit-graphic.
12037 (Fcharset_after): Simplified.
12038 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12039 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12040 (multibyte_chars_in_text): Simplified by assuming there's no
12041 invalid multibyte sequence.
12042 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12043 (str_as_unibyte): New functions.
12044 (Fstring): Simpified by assuming that byte combining never happens.
12045 (init_charset_once): Initialization for
12046 LEADING_CODE_8_BIT_CONTROL.
12047 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12048 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12049 eight-bit-control and eight-bit-graphic.
12050
12051 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12052 (CHARSET_8_BIT_GRAPHIC): New macros.
12053 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12054 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12055 (CHARSET_REVERSE_CHARSET): Likewise.
12056 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12057 eight-bit-graphic.
12058 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12059 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12060 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12061 encounter an invalid multibyte sequence.
12062 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12063 sequence is always valid.
12064 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
12065 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
12066 (CHAR_STRING): For 8-bit characters, call char_to_string.
12067 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12068 multibyte sequence is always valid.
12069 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
12070 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12071 (str_as_unibyte): Extern them.
12072 (BCOPY_SHORT): Fix a bug.
12073 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
12074 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12075 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12076 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12077
12078 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
12079 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
12080 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12081 (EMIT_BYTES): New macros.
12082 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12083 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
12084 macros deleted.
12085 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12086 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12087 check the validity of multibyte sequence.
12088 (decode_coding_emacs_mule): New function.
12089 (encode_coding_emacs_mule): New macro.
12090 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12091 the source.
12092 (DECODE_ISO_CHARACTER): Just return a character code.
12093 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12094 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12095 EMIT_CHAR to produced decoded characters. Exit the loop only by
12096 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12097 block here.
12098 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12099 only position codes for an invalid character.
12100 (encode_designation_at_bol): Return new destination pointer. 5th
12101 arg DSTP is changed to DST.
12102 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12103 from the source by ONE_MORE_CHAR. Don't handle the case of last
12104 block here.
12105 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12106 macros deleted.
12107 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12108 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
12109 TWO_MORE_BYTES to fetch a byte from the source.
12110 (encode_eol): Pay attention to coding->src_multibyte.
12111 (detect_coding, detect_eol): Preserve members src_multibyte and
12112 dst_multibyte.
12113 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12114 (encoding_buffer_size): Set magnification to 3 for all coding
12115 systems that require encoding.
12116 (ccl_coding_driver): For decoding, be sure that the result is
12117 valid multibyte sequence.
12118 (decode_coding): Initialize coding->errors and coding->result.
12119 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12120 and raw-text, always call decode_eol. Handle the case of last
12121 block here. If not coding->dst_multibyte, convert the resulting
12122 sequence to unibyte.
12123 (encode_coding): Initialize coding->errors and coding->result.
12124 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12125 and raw-text, always call encode_eol. Handle the case of last
12126 block here.
12127 (shrink_decoding_region, shrink_encoding_region): Detect cases
12128 that we can't skip data more rigidly.
12129 (code_convert_region): Setup src_multibyte and dst_multibyte
12130 members of coding. For decoding, if the buffer is multibyte,
12131 convert the source sequence to unibyte in advance. For encoding,
12132 if the buffer is multibyte, convert the resulting sequence to
12133 multibyte afterward.
12134 (run_pre_post_conversion_on_str): New function.
12135 (code_convert_string): Deleted and divided into the following two.
12136 (decode_coding_string, encode_coding_string): New functions.
12137 (code_convert_string1, code_convert_string_norecord): Call one of
12138 above.
12139 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12140 MAKE_NON_ASCII_CHAR.
12141 (Fset_terminal_coding_system_internal)
12142 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
12143 and dst_multibyte members.
12144 (init_coding_once): Initialize iso_code_class with new enum
12145 ISO_control_0 and ISO_control_1.
12146
12147 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12148 devided into ISO_control_0 and ISO_control_1.
12149 (struct coding_system): New members src_multibyte, dst_multibyte,
12150 errors, and result. Delete member fake_multibyte.
12151 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12152 nonzero.
12153 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12154 nonzero.
12155
12156 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12157 (Faset): Likewise.
12158
12159 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12160 multibyte form.
12161 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12162 combining occurs.
12163 (Ftranspose_region): Delete codes for handling byte combining.
12164
12165 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12166 dst_multibyte members of coding. On handling REPLACE on unibyte
12167 buffer, convert the result of decode_coding to unibyte. On
12168 inserting into a mutibyte buffer, always call code_convert_region.
12169 (e_write): Setup coding->src_multibyte according to the
12170 multibyteness of the source (buffer or string).
12171
12172 * fns.c (concat): Handle 8-bit characters correctly.
12173 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12174 unibyte in the result.
12175 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12176 valid multibyte form in the result.
12177 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12178 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12179 return -1, signal an error.
12180 (base64_encode_1): New arg MULTIBYTE. Get each character by
12181 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12182 character is found, return -1.
12183 (Fbase64_decode_region): Delete codes for handling byte-combining.
12184 Treat each decoded byte as a unibyte character.
12185 (Fbase64_decode_string): Return unibyte string.
12186 (Fcompare_strings, concat, string_byte_to_char): Use
12187 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12188 FETCH_STRING_CHAR_ADVANCE.
12189 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12190 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12191
12192 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12193 SPLIT_NON_ASCII_CHAR.
12194 (fontset_ref_via_base, fontset_set): Likewise
12195
12196 * insdel.c (adjust_markers_for_record_delete): Deleted.
12197 (adjust_markers_for_insert): Argument changed. Caller changed.
12198 (adjust_markers_for_replace): Likewise.
12199 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12200 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
12201 (copy_text): Delete unused local varialbe c_save. For converting
12202 to multibyte, be sure to make all 8-bit characters in valid
12203 multibyte form.
12204 (count_size_as_multibyte): Handle 8-bit characters correctly.
12205 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12206 (adjust_after_replace, replace_range, del_range_2)
12207 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
12208 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12209 (adjust_after_replace, replace_range, del_range_2) Delete codes for
12210 handling byte combining.
12211 (adjust_before_replace): Deleted.
12212
12213 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12214 SPLIT_NON_ASCII_CHAR.
12215 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12216 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12217 (Fkey_description): Likewise.
12218
12219 * lread.c (read1): On reading multibyte string, be sure to make
12220 all 8-bit chararacters in valid multibyte form.
12221 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12222
12223 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12224 unconditionally.
12225
12226 * process.c (Fstart_process): GCPRO current_dir before calling
12227 Ffind_operation_coding_system. Encode arguments here.
12228 (create_process): Don't encode arguments here. Setup
12229 src_multibyte and dst_multibyte members of struct coding.
12230 (read_process_output): Setup src_multibyte and dst_multibyte
12231 members of struct coding. If the output is to multibyte buffer,
12232 always decode the output of the process. Adjust the
12233 representation of 8-bit characters to the multibyteness of the output.
12234 (send_process): Setup coding->src_multibyte according to the
12235 multibyteness of the source.
12236
12237 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12238 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12239 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12240
12241 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
12242
12243 * w16select.c (Fw16_set_clipboard_data): Setup members
12244 src_multibyte and dst_multibyte of coding. Adjusted for the
12245 change for find_charset_in_str.
12246 (Fw16_get_clipboard_data): Likewise.
12247
12248 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12249 dst_multibyte of coding.
12250 (x_to_w32_font): Likewise.
12251
12252 * w32select.c (Fw32_set_clipboard_data): Setup members
12253 src_multibyte and dst_multibyte of coding. Adjusted for the
12254 change for find_charset_in_str.
12255 (Fw32_get_clipboard_data): Likewise.
12256
12257 * xdisp.c (get_next_display_element): Handle 8-bit characters
12258 correctly.
12259 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12260 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12261
12262 * xselect.c (selection_data_to_lisp_data): Setup members
12263 src_multibyte and dst_multibyte of coding. Adjusted for the
12264 change for find_charset_in_str.
12265 (lisp_data_to_selection_data): Likewise.
12266
122672000-05-19 Gerd Moellmann <gerd@gnu.org>
12268
12269 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
12270
12271 * dispextern.h (Vimage_types): Add extern declaration.
12272
12273 * xdisp.c (Vimage_types): Moved here from xfns.c.
12274 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12275
12276 * xfns.c (Vimages_types): Moved to xdisp.c.
12277 (syms_of_xfns): Move `image-types' to xdisp.c.
12278
12279 * w32fns.c (Vimage_types): Removed.
12280 (syms_of_w32fns): Remove `image-types'.
12281
122822000-05-18 Kenichi Handa <handa@etl.go.jp>
12283
12284 * fns.c (map_char_table): Pay attention to character number of
12285 charset. Check the validity of charset at the first level. For
12286 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12287 the default value.
12288
12289 * fontset.c: Include "buffer.h".
12290 (fs_load_font): If the face has fontset, record the face ID in
12291 that fontset.
12292 (Finternal_char_font): New function.
12293 (accumulate_font_info): New function.
12294 (Ffontset_info): Rewritten for the new fontset implementation.
12295 (syms_of_fontset): Register Vdefault_fontset in the first element
12296 of Vfontset_table. Include Vdefault_fontset in
12297 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12298 function.
12299
123002000-05-16 Dave Love <fx@gnu.org>
12301
12302 * m/iris5d.h: Deleted -- unused.
12303
123042000-05-16 Gerd Moellmann <gerd@gnu.org>
12305
12306 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12307 `invalid' instead of `illegal'.
12308
12309 * indent.c (Fmove_to_column): When ending within a tab, insert
12310 spaces first so that markers at the end of the tab get adjusted.
12311
12312 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12313 buffer list that wasn't selected in that frame.
12314
12315 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12316 is needed on mescaline, use a 2 char prefix, and call
12317 make_temp_name with second arg non-zero.
12318
12319 * fileio.c (make_temp_name): New function, extracted from
12320 Fmake_temp_name.
12321 (Fmake_temp_name): Use it.
12322
123232000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12324
12325 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
12326
123272000-05-15 Gerd Moellmann <gerd@gnu.org>
12328
12329 * Makefile.in (lisp): Add env.elc.
12330
12331 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12332
123332000-05-12 Gerd Moellmann <gerd@gnu.org>
12334
12335 * search.c (Freplace_match): Handle case of `\N' in the
12336 replacement when there's no group N.
12337
123382000-05-11 Gerd Moellmann <gerd@gnu.org>
12339
12340 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12341 of the message to message_dolog.
12342
12343 * keyboard.c (read_char): Don't clear current message for help
12344 events; let the code handling help events handle this. Change
12345 code detecting help events that should be ignored.
12346
12347 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12348 we're interating over a string.
12349
123502000-05-09 Dave Love <fx@gnu.org>
12351
12352 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12353 that offset before writing. Move gcpro region past call of
12354 Ffile_regular_p.
12355
123562000-05-04 Dave Love <fx@gnu.org>
12357
12358 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12359
123602000-05-04 Gerd Moellmann <gerd@gnu.org>
12361
12362 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12363 of inserted characters when BUF equals the current buffer, and PT
12364 is in front of or equal to FROM.
12365
123662000-05-03 Gerd Moellmann <gerd@gnu.org>
12367
12368 * xdisp.c (handle_single_display_prop): If display property value
12369 is invalid, or something not supported on the frame, restore
12370 iterator's position to what it was initially. Make sure to return
12371 0 for invalid and unsupported property values.
12372
12373 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12374 that x_per_char_metric returns null.
12375
123762000-05-02 Gerd Moellmann <gerd@gnu.org>
12377
12378 * xterm.h (struct face): Add forward declaration.
12379 (struct image): Ditto.
12380 (image_ascent): Add prototype.
12381
12382 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12383 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12384 image_ascent instead of using IMAGE_ASCENT.
12385
12386 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12387 (IMAGE_ASCENT): Removed.
12388
12389 * xfns.c (Qcenter): New variable.
12390 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12391 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12392 (image_ascent): New function.
12393 (lookup_image): Recognize `:ascent center'.
12394 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12395 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12396 (xbm_load): Don't set image's ascent here.
12397 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12398 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12399 check ascent values here.
12400 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12401 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12402 (syms_of_xfns): Initialize Qcenter.
12403
12404 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12405 to the limits, increase the limits.
12406
124072000-05-01 Kenichi Handa <handa@etl.go.jp>
12408
12409 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
12410 Check Vfont_encoding_alist against the full name of the opened font.
12411
124122000-04-28 Gerd Moellmann <gerd@gnu.org>
12413
12414 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12415 taller than the window.
12416
124172000-04-28 Kenichi Handa <handa@etl.go.jp>
12418
12419 * xfaces.c (realize_x_face): Fix the argument of the second
12420 xassert. BASE_FACE may not be a face for ASCII.
12421
124222000-04-27 Gerd Moellmann <gerd@gnu.org>
12423
12424 * print.c (print_object): Treat print-length < 0 as nil.
12425
12426 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12427
12428 * s/freebsd.h (TERMCAP_OBJ): Removed.
12429 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12430
12431 * lread.c (read1): Don't treat period followed by certain
12432 characters as symbol start.
12433
12434 * xfns.c (slurp_file): New function.
12435 (xbm_image_p): Handle case of in-memory XBM files.
12436 (xbm_scan): Rewritten to work on memory buffers instead of files.
12437 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12438 Work on memory buffers instead of files. If DATA is null test
12439 if buffer looks like an in-memory XBM file.
12440 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12441 memory buffers instead of files.
12442 (xbm_file_p): New function.
12443 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12444
12445 * lread.c (end_of_file_error): New function.
12446 (read1): Call it instead of signaling `end-of-file' directly.
12447
12448 * print.c (print_error_message): Print data of `end-of-file'
12449 with Fprinc instead of Fprin1.
12450
124512000-04-26 Ken Raeburn <raeburn@gnu.org>
12452
12453 * window.c (freeze_window_start): Check that minibuffer scroll
12454 window isn't nil before extracting the window structure pointer
12455 from it.
12456
12457 * undo.c (record_delete): If we hit the end of the undo list, stop
12458 picking elements apart.
12459
124602000-04-26 Gerd Moellmann <gerd@gnu.org>
12461
12462 * xdisp.c (display_line): If lines are continued, restore
12463 iterator's ascent/descent information to the values before the
12464 first glyph not fitting on the line.
12465
124662000-04-25 Gerd Moellmann <gerd@gnu.org>
12467
12468 * xdisp.c (try_window_id) <all changes above window start>: Adjust
12469 positions in glyph matrix. Don't compute new window end positions.
12470
12471 * dispnew.c (increment_matrix_positions): Renamed from
12472 increment_glyph_matrix_buffer_positions.
12473 (increment_row_positions): Renamed from
12474 increment_glyph_row_buffer_positions.
12475
12476 * dispextern.h: Change names of renamed functions from dispnew.c
12477 in prototypes.
12478
124792000-04-24 Gerd Moellmann <gerd@gnu.org>
12480
12481 * fileio.c (Fdo_auto_save): Create directories for auto-save
12482 list file if necessary.
12483
12484 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12485 from buffer or frame.
12486 (automatic_hscrolling_p): New variable.
12487 (hscroll_windows): Scroll windows horizontally only if automatic
12488 hscrolling is allowed.
12489 (syms_of_xdisp): New variable `automatic-hscrolling'.
12490
12491 * frame.h (struct frame): Add member extra_line_spacing.
12492
12493 * xfns.c (x_set_line_spacing): New function.
12494 (Fx_create_frame): Set line spacing from resources.
12495 (Qline_spacing): New variable.
12496 (syms_of_xfns): Initialize Qline_spacing.
12497
12498 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12499
12500 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12501 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
12502 (reset_buffer): Don't initialize extra2 and extra3. Initialize
12503 extra_line_spacing from default value.
12504 (init_buffer_once): Initialize default value of extra_line_spacing.
12505
12506 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12507 and extra3.
12508
12509 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12510 prompt_width. Add extra line spacing.
12511
12512 * term.c (produce_glyphs): Remove reference to struct it's
12513 prompt_width.
12514
12515 * dispextern.h (struct it): Remove member prompt_width, add
12516 extra_line_spacing.
12517
125182000-04-22 Gerd Moellmann <gerd@gnu.org>
12519
12520 * dispnew.c (update_frame_line): When writing a whole line, make
12521 sure cursor is in the right row afterwards, otherwise a use of
12522 capability `ch' in cmgoto might leave the cursor in the row below.
12523
125242000-04-21 Gerd Moellmann <gerd@gnu.org>
12525
12526 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12527
12528 * keyboard.c (timer_check): Fix typo in comment.
12529
125302000-04-21 Kenichi Handa <handa@etl.go.jp>
12531
12532 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12533 name change: ch -> character.
12534
125352000-04-20 Gerd Moellmann <gerd@gnu.org>
12536
12537 * keyboard.c (echo_message_buffer): New variable.
12538 (echo_now): Set echo_message_buffer to the echo area buffer used
12539 to display the echo.
12540 (cancel_echoing): Reset echo_message_buffer to nil.
12541 (read_char): Code rewritten that handles canceling an echo or
12542 echoing a dash, respectively.
12543
12544 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12545 directory doesn't exist.
12546
125472000-04-19 Dave Love <fx@gnu.org>
12548
12549 * fns.c (syms_of_fns): Defsubr mapc.
12550 (concat): Don't allow numeric args.
12551 (Fconcat): Doc change.
12552
125532000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12554
12555 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12556 instead define end_match(1|2) more carefully.
12557 Use GET_CHAR_BEFORE_2 for `begline'.
12558
125592000-04-19 Gerd Moellmann <gerd@gnu.org>
12560
12561 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12562 on 64-bit systems where NULL is defined as `0'.
12563
12564 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12565 the `variable argument list' to make it work on Alpha.
12566
12567 * m/alpha.h (_LP64) [!_LP64]: Define.
12568 (ORDINARY_LINK): Define for NetBSD.
12569
12570 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
12571
125722000-04-19 Dave Love <fx@gnu.org>
12573
12574 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12575 change.
12576
12577 * Makefile.in (LIBS): Don't use.
12578 (GETLOADAVG_OBJ): Define again.
12579 (otherobj): Add GETLOADAVG_OBJ.
12580
12581 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12582
125832000-04-18 Gerd Moellmann <gerd@gnu.org>
12584
12585 * lread.c (read_filtered_event): Cancel and start busy cursor.
12586
12587 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
12588 that the per-character metrics may be null.
12589
125902000-04-17 Gerd Moellmann <gerd@gnu.org>
12591
12592 * buffer.c (clone_per_buffer_values): New function.
12593 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12594 clone_per_buffer_values if CLONE is not nil.
12595
12596 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12597
125982000-04-16 Dave Love <fx@gnu.org>
12599
12600 * Makefile.in: Remove obsolete localcpp stuff.
12601 (GETLOADAVG_OBJ): Don't define.
12602 (obj): Move LIBOBJS...
12603 (otherobj): ... to here.
12604 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12605 whitespace-only lines after the continuation (Irix).
12606
126072000-04-14 Gerd Moellmann <gerd@gnu.org>
12608
12609 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12610
12611 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12612
126132000-04-14 Dave Love <fx@gnu.org>
12614
12615 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12616 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12617 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12618 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12619 NLIST_STRUCT.
12620
12621 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12622 autoconfiscated HAVE_GETLOADAVG.
12623
12624 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12625 BROKEN_MKTIME.
12626
126272000-04-14 Gerd Moellmann <gerd@gnu.org>
12628
12629 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
12630 (fill_in_lock_file_name): Avoid existing files that aren't links.
12631
126322000-04-14 Dave Love <fx@gnu.org>
12633
12634 * Makefile.in (LIBS, LIBOBJS): New variable.
12635 (INTERVAL_SRC): Convert to make variable.
12636 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12637 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12638 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12639 add LIBOBJS.
12640 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12641 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12642 (shortlisp): Add facemenu, float-sup, frame.
12643 (SOME_MACHINE_LISP): Remove them from here.
12644 (LIBES): Change unused LDLIBS to autoconf LIBS.
12645
12646 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12647
126482000-04-14 Kenichi Handa <handa@etl.go.jp>
12649
12650 * composite.c (update_compositions): If FROM and TO are not in a
12651 valid range, do nothing.
12652
126532000-04-13 Gerd Moellmann <gerd@gnu.org>
12654
12655 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
12656
12657 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
12658
12659 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12660 as TERMCAP_OBJ.
12661
126622000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12663
12664 * fileio.c (a_write): Remove redundant semi-colons.
12665 (e_write): Return -1 if failed to write all the data.
12666 This fixes the changes made at 1999-12-15.
12667
126682000-04-12 Dave Love <fx@gnu.org>
12669
12670 * fns.c (mapcar1): Test for null vals to support mapc.
12671 (Fmapc): New function.
12672
126732000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12674
12675 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12676 (IT_frame_up_to_date): Support the buffer local value of
12677 cursor-type, if defined.
12678
126792000-04-10 Dave Love <fx@gnu.org>
12680
12681 * editfns.c (preceding-char, following-char): Doc fix.
12682
126832000-04-10 Ken Raeburn <raeburn@gnu.org>
12684
12685 * Makefile.in (temacs): Revert 2000-03-12 change.
12686
126872000-04-10 Jason Rumney <jasonr@gnu.org>
12688
12689 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12690
126912000-04-10 Gerd Moellmann <gerd@gnu.org>
12692
12693 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12694 area buffer, if it's not set up yet.
12695
12696 * indent.c (compute_motion): Set immediate_quit.
12697
126982000-04-09 Gerd Moellmann <gerd@gnu.org>
12699
12700 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
12701 (realize_tty_face): Suppress boldness if colors are the inverse of
12702 the default colors, and tty_suppress_bold_inverse_default_colors_p
12703 is set.
12704 (Ftty_suppress_bold_inverse_default_colors): New function.
12705 (syms_of_xfaces): Defsubr it.
12706
12707 * buffer.c (Frestore_buffer_modified_p): New function.
12708 (syms_of_buffer): Defsubr it.
12709
127102000-04-08 Ken Raeburn <raeburn@gnu.org>
12711
12712 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12713 charset id (int) argument, not a charset (Lisp_Object).
12714
12715 * coding.h (code_convert_string): Declare.
12716 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12717 object, as the fourth argument to code_convert_string.
12718
12719 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
12720 (Fset_fontset_font): Use EQ to compare lisp objects.
12721
127222000-04-05 Ken Raeburn <raeburn@gnu.org>
12723
12724 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12725 a pointer that looks like a lisp object.
12726 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12727 zero, instead see whether it's an integer object, since they can't
12728 have intervals.
12729 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12730
12731 * dispnew.c (allocate_matrices_for_frame_redisplay)
12732 (direct_output_forward_char): Use X(U)INT and make_number as needed
12733 to convert between (unsigned) int values and lisp integers.
12734 * keyboard.c (read_key_sequence): Likewise.
12735 * lread.c (substitute_object_recurse): Likewise.
12736 * fns.c (concat, hash_lookup, hash_remove): Likewise.
12737 * minibuf.c (do_completion, Fminibuffer_complete_word)
12738 (Fminibuffer_completion_help): Likewise.
12739 * term.c (produce_special_glyphs): Likewise.
12740
12741 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12742 * print.c (print_preprocess, print_object): Likewise.
12743
12744 * search.c (compile_pattern): Use NILP when checking for nil.
12745
12746 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12747 __OPTIMIZE__]: Provide a GNU C macro version that handles
12748 lisp-object unions.
12749 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12750 field, to better cope with ENABLE_CHECKING and calls that modify a
12751 Lisp_Object using its old value.
12752
127532000-04-04 Gerd Moellmann <gerd@gnu.org>
12754
12755 * window.c (compare_window_configurations): Signal an error
12756 if parameters C1 or C2 aren't window configurations.
12757
12758 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12759 AFTER_POTENTIAL_GC calls around calls to functions that can
12760 signal an error and thus invoke the debugger.
12761
127622000-04-03 Gerd Moellmann <gerd@gnu.org>
12763
12764 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12765 an error if decoding fails.
12766
12767 * keyboard.c (lispy_mouse_names): Variable removed.
12768 (Vlispy_mouse_stem): New variable.
12769 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12770 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12771 for any mouse button number. Increase size of mouse_syms and
12772 button_down_location as needed. Call modify_event_symbol with
12773 different arguments.
12774 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12775 Call modify_event_symbol with different arguments.
12776 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12777 for any button number. Call modify_event_symbol with different
12778 arguments.
12779 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12780 Accept a string for NAME_ALIST_OR_STEM.
12781
12782 * lisp.h (larger_vector): Add prototype.
12783
12784 * fns.c (larger_vector): Make externally visible.
12785
12786 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12787
127882000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12789
12790 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12791 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12792 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12793 we are between str1 and str2.
12794 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12795 (PATFETCH): Use `TRANSLATE'.
12796 (PATFETCH_RAW): Fetch multibyte char if applicable.
12797 (PATUNFETCH): Remove.
12798 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12799 When writing a char, write it directly into the pattern buffer rather
12800 than going needlessly through a temp char-array.
12801 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12802 multibyte magic and remove the useless `#ifdef emacs'.
12803 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12804 buffer.
12805
12806 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12807 conditional on `emacs'.
12808
12809 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12810
128112000-04-01 Ken Raeburn <raeburn@gnu.org>
12812
12813 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12814 non-union-type versions of XMARK and friends here, because XMARK
12815 and friends won't work on an integer field if NO_UNION_TYPE is not
12816 defined.
12817 (make_number): Define as a function if it's not defined as a macro.
12818
12819 * composite.c (run_composite_function): Use NILP when checking for nil.
12820 (syms_of_composite): Delete local var NARGS, pass an int as first
12821 argument to Fmake_hash_table.
12822
12823 * editfns.c (text_property_stickiness): Use NILP to test
12824 Lisp_Object boolean value.
12825 (Fmessage_or_box): Don't use NILP to test int variable.
12826 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12827 problems reading from and changing the same lisp value in an
12828 XSETSTRING call.
12829
128302000-04-01 Gerd Moellmann <gerd@gnu.org>
12831
12832 * term.c (TN_no_color_video): New variable.
12833 (term_init): Intitialize TN_no_color_video.
12834 (enum no_color_bit): New enumeration.
12835 (MAY_USE_WITH_COLORS_P): New macro.
12836 (turn_on_face): Use it to determine if attributes may be used
12837 combined with colors.
12838
128392000-04-01 Ken Raeburn <raeburn@gnu.org>
12840
12841 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
12842 with int lvalues via casts; instead, just yield lisp object lvalues.
12843 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12844 proper accessor macros.
12845 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12846 (grow_mini_window): Fix typo getting int value of root->height.
12847
12848 * xdisp.c (compute_string_pos): Fix order of arguments to
12849 string_pos_nchars_ahead.
12850 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12851 count arg to variable-arg routines like Frun_hook_with_args and
12852 Fformat.
12853 (back_to_previous_visible_line_start)
12854 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
12855 fixed-arg routines like Fget_char_property and Fmake_string.
12856 (reconsider_clip_changes): Use XINT when comparing integer lisp
12857 objects, or passing them as int arguments.
12858 (mark_window_display_accurate, insert_left_trunc_glyphs)
12859 (append_space, extend_face_to_end_of_line): Use make_number when
12860 storing or passing integer values as lisp objects.
12861 (set_cursor_from_row, highlight_trailing_whitespace): Use
12862 INTEGERP, not implicit test against zero, for glyph object.
12863 (try_window_id): Don't use make_number when we want an int value.
12864
12865 * xfaces.c (xlfd_symbolic_value): Make last argument a
12866 Lisp_Object, to be consistent with callers.
12867 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12868 (lface_hash): Apply XFASTINT to lisp values before folding in.
12869
12870 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12871 fill in window width and height. Pass an int, not a lisp object,
12872 as first arg to Finsert.
12873
128742000-04-01 Gerd Moellmann <gerd@gnu.org>
12875
12876 * xfaces.c (realize_basic_faces): Block input while realizing
12877 the faces.
12878
12879 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12880
12881 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12882
128832000-03-31 Gerd Moellmann <gerd@gnu.org>
12884
12885 * xterm.c (x_produce_glyphs): When displaying unibyte text
12886 or ASCII, handle case that per-char metric is null.
12887
128882000-03-30 Ken Raeburn <raeburn@gnu.org>
12889
12890 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12891
12892 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12893 (XSUBR, XBUFFER): Verify correct object type before returning
12894 pointer, using eassert.
12895 * frame.h (XFRAME): Likewise.
12896
12897 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12898 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12899 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
12900 * data.c (set_internal): Likewise.
12901 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12902 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12903 * fileio.c (auto_save_1): Likewise.
12904 * insdel.c (check_markers): Likewise.
12905 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12906 * undo.c (record_insert): Likewise.
12907 * vmsproc.c (child_sig): Likewise.
12908 * window.c (unshow_buffer, window_loop): Likewise.
12909 * xterm.c (x_erase_phys_cursor): Likewise.
12910
129112000-03-30 Gerd Moellmann <gerd@gnu.org>
12912
12913 * xfns.c (free_image_cache): Free the cache structure itself
12914 last, after all its members have been freed.
12915
12916 * lisp.h (xstrdup): Add prototype.
12917
12918 * alloc.c (xstrdup): Moved here from xfaces.c.
12919 (allocating_for_lisp): Variable removed.
12920 (lisp_malloc): Block input around the calls to malloc and mem_insert.
12921
12922 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12923 of Fsymbol_value.
12924 (xstrdup): Moved to alloc.c.
12925
129262000-03-29 Ken Raeburn <raeburn@gnu.org>
12927
12928 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12929
12930 * emacs.c (main): Fix sense of no-loadup test.
12931
12932 * config.in (ENABLE_CHECKING): Undef.
12933
12934 * lisp.h (struct interval): Replace "parent" field with a union of
12935 interval pointer and Lisp_Object; add new bitfield to use as
12936 discriminant. Change other flag fields to bitfields.
12937 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
12938 is defined and the supplied test fails, print a message and abort.
12939 (eassert): New macro. Use CHECK to provide an assert-like facility.
12940
12941 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12942 pointers; abort if the value looks like a lisp object.
12943 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12944 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
12945 Modify for new interval parent definition.
12946
12947 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12948 (UNMARK_BALANCE_INTERVALS): Update references that need an
12949 addressable lisp object in the interval structure.
12950 (die): New function.
12951 (suppress_checking): New variable.
12952
12953 * intervals.c (interval_start_pos): Just return 0 if there's no
12954 parent object.
12955
129562000-03-29 Gerd Moellmann <gerd@gnu.org>
12957
12958 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12959 and earlier Emacs versions.
12960
12961 * keyboard.c (Ftop_level): Cancel busy-cursor.
12962
12963 * eval.c (call_debugger): Cancel busy-cursor.
12964
129652000-03-29 Kenichi Handa <handa@etl.go.jp>
12966
12967 * search.c (Freplace_match): Adjust multibyteness of the current
12968 buffer and NEWTEXT. Free allocated memory before signaling an error.
12969
129702000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12971
12972 * regex.c (analyse_first): New function obtained by ripping out most
12973 of re_compile_fastmap and generalizing it a little bit so that it
12974 can also just return whether a given (sub)pattern can match the empty
12975 string or not.
12976 (regex_compile): Use `analyse_first' to decide whether the loop-check
12977 needs to be done or not for *, +, *? and +? (the loop check is costly
12978 for non-greedy repetition).
12979 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12980
129812000-03-28 Dave Love <fx@gnu.org>
12982
12983 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
12984
12985 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12986
129872000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12988
12989 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12990 an expression.
12991 (enum re_opcode_t): Update description of succeed_n.
12992 (PATFETCH): Always define.
12993 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12994 operators, char classes, shy-groups and intervals).
12995 Optimize special cases of intervals so as to only use succeed_n and
12996 jump_n when really needed.
12997 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12998 that we don't have to handle the special cases any more.
12999 Simplify on_failure_jump handling as well.
13000
130012000-03-28 Jason Rumney <jasonr@gnu.org>
13002
13003 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13004
130052000-03-27 Gerd Moellmann <gerd@gnu.org>
13006
13007 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13008
13009 * s/msdos.h (GC_SETJMP_WORKS): Define.
13010
13011 * alloc.c (mark_maybe_object): New function.
13012 (mark_memory): Use it.
13013 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13014 (setjmp_tested_p, longjmp_done): New variables.
13015 (test_setjmp): New function.
13016 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13017 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13018
13019 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13020 to DEC_TEXT_POS and INC_TEXT_POS.
13021
13022 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13023 with parameter MULTIBYTE_P.
13024
13025 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
13026
13027 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
13028 buffers because it looks for multibyte character byte sequences
13029 which don't exist in unibyte text.
13030
13031 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13032
13033 * xfaces.c (register_color, unregister_color, unregister_colors)
13034 [DEBUG_X_COLORS]: New functions.
13035 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13036
13037 * xfns.c (x_set_cursor_color): Get color reference counts right.
13038
13039 * xterm.c (x_copy_color): New function.
13040 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13041
13042 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13043 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13044 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13045 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13046 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13047 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13048 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13049 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13050 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13051 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13052
13053 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13054 names for handling per-buffer variables.
13055
13056 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13057 instead of MAX_BUFFER_LOCAL_VARS.
13058 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13059
13060 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13061
13062 * xfns.c (x_specified_cursor_type): New function.
13063 (x_set_cursor_type): Use it.
13064
13065 * buffer.h (struct buffer): Add cursor_type.
13066
130672000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13068
13069 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
13070 (print_partial_compiled_pattern, re_compile_fastmap):
13071 Handle new opcode.
13072 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13073 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13074 executing it as well as when popping it off the stack to find infinite
13075 loops in non-greedy repetition operators.
13076
130772000-03-26 Gerd Moellmann <gerd@gnu.org>
13078
13079 * doc.c (Qfunction_documentation): New variable.
13080 (syms_of_doc): Initialize Qfunction_documentation.
13081 (Fdocumentation): If FUNCTION is a symbol with non-nil
13082 `function-documentation' property, return a documentation derived
13083 from that.
13084
13085 * buffer.c (syms_of_buffer): Add default-cursor-type.
13086 (init_buffer_once): Don't let cursor_type have a local value
13087 in every buffer.
13088
13089 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13090 on buffer-local value of cursor_type.
13091 (x_draw_bar_cursor): Add parameter WIDTH.
13092
13093 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13094 (init_buffer_once): Set default cursor_type value to t.
13095 Mark cursor_type as local everywhere.
13096 (syms_of_buffer): New per-buffer variable cursor-type.
13097
13098 * buffer.h (struct buffer): Remove member local_var_flags,
13099 add local_flags.
13100 (MAX_BUFFER_LOCAL_VARS): New macro.
13101 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13102 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13103 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13104 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13105
13106 * print.c (print_object): Use new macros for per-buffer variables.
13107
13108 * category.c (Fset_category_table): Use new macros for per-buffer
13109 variables.
13110
13111 * buffer.c (buffer_permanent_local_flags): Make a char array.
13112 (max_buffer_local_idx): New variable.
13113 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13114 for new handling of per-buffer variables.
13115 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13116 (init_buffer_once): Initialize per-buffer vars differently.
13117 Set max_buffer_local_idx.
13118
13119 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13120 variables.
13121
13122 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
13123
13124 * data.c (do_symval_forwarding, store_symval_forwarding)
13125 (find_symbol_value, set_internal, default_value, Fset_default)
13126 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13127 per-buffer variables.
13128
13129 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13130
131312000-03-24 Gerd Moellmann <gerd@gnu.org>
13132
13133 * xterm.c (x_term_init): Unblock input around call1 of
13134 Qvendor_specific_keysyms.
13135
13136 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13137 (find_defun_start): Consider an open parenthesis in column 0
13138 a defun start only if open_paren_in_column_0_is_defun_start is set.
13139 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13140
131412000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13142
13143 * eval.c (Fautoload): Add entry in load-history (if after dump).
13144 * lread.c (load-history): Update docstring.
13145
131462000-03-24 Gerd Moellmann <gerd@gnu.org>
13147
13148 * indent.c (Fvertical_motion): Always use the current buffer.
13149 Temporarily change the window's buffer, if necessary.
13150
131512000-03-23 Gerd Moellmann <gerd@gnu.org>
13152
13153 * xterm.c (fast_find_position): Make sure not to consider rows
13154 not visible in the window.
13155
131562000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13157
13158 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13159 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13160
131612000-03-22 Jason Rumney <jasonr@gnu.org>
13162
13163 * w32menu.c (single_submenu): Set help string to NULL if none.
13164 (w32_menu_show): Set help string correctly.
13165 (add-menu-item): Set help string in MIIM_DATA for menu item.
13166 Load SetMenuItemInfoA explicitly.
13167 (w32_menu_display_help): New function.
13168
13169 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13170 (QCdata): Moved to xdisp.c.
13171
13172 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13173 (Vw32_charset_to_codepage_alist): Removed.
13174 (Vw32_charset_info_alist): New variable.
13175 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13176 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13177 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
13178 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13179 with TODO comment.
13180 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13181 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13182 Define Vw32_charset_info_alist and w32_charset symbols.
13183
131842000-03-22 Jason Rumney <jasonr@gnu.org>
13185
13186 * makefile.nt (w32bdf.obj): Update dependencies.
13187
13188 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13189
13190 * w32fns.c: Include fontset.h after dispextern.h.
13191 (Fx_create_frame): Do not create fontset.
13192 (w32_load_system_font): Doc fix.
13193 (Fx_close_connection): Free full_name if it is not shared.
13194
13195 * w32term.c: Include fontset.h after dispextern.h.
13196 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13197 Callers updated.
13198 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13199 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13200 (w32_font_is_double_byte): New function, needs body.
13201 (x_append_glyph): Set glyph->glyph_not_available_p.
13202 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13203 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13204 character, convert it to a unibyte character.
13205 (struct glyph_string): Delete member `charset'.
13206 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13207 calculating it is found.
13208 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13209 the case that per char metric is not available correctly.
13210 (x_fill_glyph_string): Handle the case that the specific glyph is
13211 not available correctly.
13212 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13213 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13214 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13215 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13216 fontset. Don't call FS_LOAD_FONT.
13217
132182000-03-22 Ken Raeburn <raeburn@gnu.org>
13219
13220 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13221 (INT_LISPLIKE): New macro.
13222 (NULL_INTERVAL_P): Use it.
13223 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13224 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13225 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
13226
13227 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13228 explicit references to "parent" field of struct interval and
13229 associated unclean type conversions.
13230 * intervals.c (create_root_interval, root_interval, rotate_right)
13231 (rotate_left, balance_possible_root_interval, split_interval_right)
13232 (split_interval_left, interval_start_pos, find_interval)
13233 (next_interval, previous_interval, update_interval)
13234 (adjust_intervals_for_insertion, delete_node, delete_interval)
13235 (adjust_intervals_for_deletion, merge_interval_right)
13236 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13237 (copy_intervals_to_string): Likewise.
13238 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13239 Likewise.
13240 * syntax.c (update_syntax_table): Likewise.
13241
13242 * intervals.c (reproduce_tree_obj): New function, like
13243 reproduce_tree but takes a Lisp_Object for the parent. Declare
13244 with prototype.
13245 (graft_intervals_into_buffer): Use it when appropriate.
13246 (reproduce_tree): Declare with prototype.
13247 (balance_possible_root_interval): Check that the parent is a lisp
13248 object before trying to examine its type.
13249
132502000-03-22 Gerd Moellmann <gerd@gnu.org>
13251
13252 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13253 as strings only if both are known to be strings.
13254
13255 * s/openbsd.h (LIBS_TERMCAP): Undef.
13256
132572000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13258
13259 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13260 definitions for non-Emacs compilation.
13261 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13262 outside of `#ifdef emacs'.
13263 (print_partial_compiled_pattern): Update.
13264 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13265 (re_compile_fastmap): Merge handling of charset and charset_not (for
13266 emacs and non-emacs compilation as well).
13267 Similarly for (not)categoryspec and (not)syntaxspec.
13268 Don't use the fastmap when reaching `anychar' since the added
13269 complexity is not justified.
13270 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13271 and (not)syntaxspec. Merge (not)categoryspec.
13272
132732000-03-22 Kenichi Handa <handa@etl.go.jp>
13274
13275 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13276 (FACE_FOR_CHAR): Define them differently for the configuration of
13277 --without-x.
13278
132792000-03-21 Dave Love <fx@gnu.org>
13280
13281 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13282 doc string.
13283
132842000-03-21 Gerd Moellmann <gerd@gnu.org>
13285
13286 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13287 (lface_fully_specified_p): Don't check contents of
13288 LFACE_FONT_INDEX because that attribute is optional.
13289 (realize_x_face): Remove now unwarranted xassert.
13290
132912000-03-21 Kenichi HANDA <handa@etl.go.jp>
13292
13293 The following changes are to make font selection based on
13294 characters, not charset. In addition, they recover fontset
13295 facilities while utilizing the new font selection mechanism.
13296
13297 * Makefile.in (fontset.o): Depend on dispextern.h.
13298
13299 * alloc.c (mark_face_cache): Don't mark face->registry.
13300
13301 * dispextern.h (struct glyph): New member glyph_not_available_p.
13302 Use 22 bits for face_id.
13303 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13304 (struct face): Delete member registry, new member ascii_face.
13305 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13306 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13307 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
13308 (struct it): Delete member charset, new member glyph_not_available_p.
13309
13310 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13311 (struct fontset_info, struct fontset_data): Structs removed.
13312 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13313 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
13314 (fs_load_font, fs_query_fontset): Adjusted for new argument.
13315 (fs_free_face_fontset, fontset_font_pattern)
13316 (face_suitable_for_char_p, face_for_char)
13317 (make_fontset_for_ascii_face): Extern them.
13318 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13319 (FS_LOAD_FACE_FONT): New macro.
13320
13321 * fontset.c: All codes rewritten or adjusted for the change of
13322 fontset implementation. Now fontset is represented by char table.
13323 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13324 Variables removed.
13325 (my_strcasecmp): Function removed.
13326 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
13327 (AREF, ASIZE): New macros.
13328 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13329 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13330 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13331 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13332 (fontset_id_valid_p, font_family_registry, fontset_name)
13333 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13334 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
13335 New functions.
13336 (fs_load_font): New arg FACE. Caller changed.
13337 (fs_query_fontset): Argument changed. Caller changed.
13338 (Fquery_fontset): call fs_query_fontset.
13339 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13340 Functions removed.
13341 (clear_fontset_elements, check_registry_encoding)
13342 (check_fontset_name): New functions.
13343 (syms_of_fontset): Set char-table-extra-slots property of fontset
13344 to 3. Staticpro and initialize Vfontset_table and
13345 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13346
13347 * frame.h (struct frame): Member `fontset_data' removed.
13348 (FRAME_FONTSET_DATA): Macro removed.
13349
13350 * frame.c (make_frame): Don't allocate f->fontset_data.
13351 (Fdelete_frame): Don't free f->fontset_data.
13352
13353 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13354
13355 * xdisp.c (charset_at_position): Function removed.
13356 (init_iterator): Don't set member charset of struct `it'.
13357 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13358 (next_element_from_display_vector, insert_left_trunc_glyphs):
13359 Likewise.
13360 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13361 FACE_FOR_CHARSET.
13362 (get_next_display_element, append_space)
13363 (extend_face_to_end_of_line): Likewise.
13364
13365 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13366 Variables removed.
13367 (clear_font_table, frame_update_line_height, load_face_font):
13368 Adjusted for the change of fontset implementation.
13369 (load_face_fontset_font): Function removed.
13370 (pixel_point_size): New function.
13371 (font_list): Argument type changed. Caller changed.
13372 (LFACE_FONT): New macro.
13373 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13374 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13375 Lisp_Object. Determine the font name by actually loading a font
13376 by the specified pattern. Set LFACE_FONT (lface) to the specified
13377 pattern. Even if a font is not found, don't try alternatives.
13378 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13379 (set_font_frame_param): If `font' is specified in lface, use it.
13380 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13381 (lface_same_font_attributes_p): Likewise.
13382 (make_realized_face): Arguent changed. Caller changed. Set
13383 face->ascii_face to face itself.
13384 (free_realized_face): Free face->fontset if face is for ASCII.
13385 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13386 (deduce_unibyte_registry, x_charset_registry): Functions removed.
13387 (free_realized_multibyte_face): New function.
13388 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13389 changed. Caller changed.
13390 (try_font_list): Argument type changed.
13391 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13392 (choose_face_font): Argument changed. Handle fontset properly.
13393 (choose_face_fontset_font): Function removed.
13394 (realize_default_face, realize_named_face): Don't remove the
13395 former face here.
13396 (realize_face): Argument changed. Caller changed. Remove face
13397 with the arg former_face_id in advance. Load font for the new face.
13398 (realize_x_face): Argument changed. Caller changed. For a
13399 multibyte character, share fontset with base_face. For a single
13400 byte character, make a new realized fontset. Don't load a font here.
13401 (realize_tty_face): Argument changed. Caller changed.
13402 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13403 (face_at_buffer_position): Don't check multibyte_p for returning
13404 DEFAULT_FACE_ID.
13405 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13406 FACE_SUITABLE_FOR_CHARSET_P.
13407 (syms_of_xfaces): Remove code for Qx_charset_registry and
13408 Vface_default_registry.
13409
13410 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13411 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
13412 (x_per_char_metric): Don't try FONT->default_char. Even if
13413 pcm->width is zero, glyph bits may exist.
13414 (x_encode_char): Always initialize char2b->byte1.
13415 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
13416 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
13417 (x_append_glyph): Set glyph->glyph_not_available_p.
13418 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13419 it->charset. Handle the case that per char metric is not
13420 available. If it->multibyte_p is zero and it->c is a multibyte
13421 character, convert it to a unibyte character.
13422 (struct glyph_string): Delete member `charset'.
13423 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13424 the case that per char metric is not available correctly.
13425 (x_fill_glyph_string): Handle the case that the specific glyph is
13426 not available correctly.
13427 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13428 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13429 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13430 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13431 fontset. Don't call FS_LOAD_FONT.
13432
13433 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13434 (x_create_tip_frame): Likewise.
13435 (Fx_close_connection): Free full_name of font_info.
13436
13437 * fns.c (optimize_sub_char_table): New function.
13438 (Foptimize_char_table): New function.
13439 (syms_of_fns): Defsubr Soptimize_char_table.
13440
134412000-03-20 Gerd Moellmann <gerd@gnu.org>
13442
13443 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13444 only if buffer is displayed in some window.
13445
13446 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13447 (try_window_reusing_current_matrix): Don't call scroll run
13448 function if run's current and desired position are the same;
13449 this prevents cursor flickering.
13450
134512000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13452
13453 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13454
13455 * regex.c (RE_STRING_CHAR): New macro.
13456 (GET_CHAR_AFER_2): Remove.
13457 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13458 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13459 (print_partial_compiled_pattern, re_compile_fastmap)
13460 (re_match_2_internal): Remove on_failure_jump_exclusive.
13461 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13462 optimization only need to work for * (ie. can use of_keep_string_jump).
13463 Remove the special case for .*\n since it is now covered by the general
13464 optimization.
13465 (re_search_2): Don't bother with `room'.
13466 (skip_one_char): New function.
13467 (skip_noops): Simplify since `memory' is not needed any more.
13468 (mutually_exclusive_p): Restructure slightly to use `switch' and
13469 add handling for "all" remaining cases.
13470 (re_match_2_internal): Change on_failure_jump_smart to use
13471 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13472 rather than on_failure_jump_exclusive.
13473
134742000-03-19 Gerd Moellmann <gerd@gnu.org>
13475
13476 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13477 number of bits per RGB because it's everywhere used as the depth
13478 of the visual.
13479
13480 * term.c (calculate_costs): Remove code dealing with X frames.
13481
134822000-03-19 Richard M. Stallman <rms@gnu.org>
13483
13484 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13485
134862000-03-18 Gerd Moellmann <gerd@gnu.org>
13487
13488 * lread.c (read_integer): Unread the last char not consumed.
13489
134902000-03-17 Gerd Moellmann <gerd@gnu.org>
13491
13492 * xterm.c (x_update_window_cursor): Don't update in frames
13493 which are in the process of being deleted.
13494
134952000-03-16 Gerd Moellmann <gerd@gnu.org>
13496
13497 * Makefile.in (mostlyclean): Add `*.core'.
13498 (clean): Add `bootstrap-emacs'.
13499
13500 * lread.c (read_integer): New function.
13501 (read1): Support read syntax #o, #x, #b, #r.
13502
135032000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13504
13505 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13506 make sure POINTER_TO_OFFSET gives the same value before and after
13507 PREFETCH. Use `dfail' to guarantee "atomic" matching.
13508 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13509 (debug): Now only active if > 0 rather than if != 0.
13510 (DEBUG_*): Update for the new meaning of `debug'.
13511 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13512 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13513 in `succeed_n', `jump_n' and `set_number_at'.
13514 (store_op1, store_op2, insert_op1, insert_op2)
13515 (at_begline_loc_p, at_endline_loc_p): Add prototype.
13516 (group_in_compile_stack): Move to after its arg's types are
13517 declared and add a prototype.
13518 (PATFETCH): Define in terms of PATFETCH_RAW.
13519 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
13520 (QUIT): Redefine as a nop except for NTemacs.
13521 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13522 indentation of the greedy-op and shy-group code.
13523 (at_(beg|end)line_loc_p): Fix argument's types.
13524 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13525 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13526 (MATCHING_IN_FIRST_STRING): Remove.
13527 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13528 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13529 QUIT unconditionally.
13530
135312000-03-15 Gerd Moellmann <gerd@gnu.org>
13532
13533 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13534 a sole completion.
13535
13536 * process.c (send_process): Add a hint that the function
13537 can call Lisp code to its comment.
13538
13539 * lread.c (load_dangerous_libraries): New variable.
13540 (Vbytecomp_version_regexp): New variable.
13541 (safe_to_load_p): New function.
13542 (Fload): Handle files not compiled with Emacs specially.
13543 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13544
135452000-03-14 Gerd Moellmann <gerd@gnu.org>
13546
13547 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13548
13549 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13550 support functions only if HAVE_X11R6_XIM is defined.
13551 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13552
13553 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13554
13555 * xfns.c (X_I18N_INHIBITED): Don't define.
13556 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
13557 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13558
13559 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13560 (HAVE_X11R6_XIM): Define.
13561
13562 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13563
13564 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13565 If set, call XSynchronize.
13566
135672000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13568
13569 * regex.c: Declare a new type `re_char' used throughout the code
13570 for the string char type. It's `const unsigned char' to match the
13571 rest of Emacs. Consistently make sure all pointers to strings use
13572 it and make sure all pointers into the pattern use `unsigned char'.
13573 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
13574 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13575 code duplication.
13576
13577 * charset.h (GET_CHAR_AFTER_2): Remove.
13578 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13579
135802000-03-12 Ken Raeburn <raeburn@gnu.org>
13581
13582 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13583 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13584 of them try to use backquotes.
13585
135862000-03-12 Dave Love <fx@gnu.org>
13587
13588 * unexelf.c: Restore changes of 1999-10-19.
13589 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13590 fix its type and alignment; copy it from current process.
13591
135922000-03-12 Gerd Moellmann <gerd@gnu.org>
13593
13594 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13595 has been found. Fix bug not computing timer's predecessor.
13596
13597 * fileio.c (Fread_file_name): Handle case that DIR contains a
13598 file name.
13599
13600 * window.c (Fsave_window_excursion): Doc fix.
13601
13602 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
13603
136042000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13605
13606 * msdos.c (vga_installed): New function, code moved from
13607 dos_set_window_size.
13608 (Qbar, Qcursor_type, outside_cursor): New variables.
13609 (syms_of_msdos): Intern and staticpro them.
13610 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13611 shape used outside Emacs when called for the first time.
13612 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13613 cursor shape used outside Emacs.
13614 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13615 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13616 type has changed.
13617 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13618 parameters specify the cursor. Make qreverse a global
13619 variable (renamed to Qreverse).
13620
136212000-03-09 Gerd Moellmann <gerd@gnu.org>
13622
13623 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13624
136252000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13626
13627 This is a big redesign of failure-stack and register handling, prompted
13628 by bugs revealed when trying to add shy-groups. Overall, what happened
13629 is that loops are now structured a little differently, groups can be
13630 shy and the code is a little simpler.
13631
13632 * regex.h: Update the copyright.
13633 (RE_SHY_GROUPS): New value.
13634 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13635 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13636
13637 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13638 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13639 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13640 for (start|stop)_memory since they now only take one argument (the
13641 second has becomes unnecessary).
13642 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
13643 (print_compiled_pattern): Use %ld to printf long ints and flush to
13644 make debugging a little easier.
13645 (union fail_stack_elt): Make the integer unsigned.
13646 (struct fail_stack_type): Add a `frame' element.
13647 (INIT_FAIL_STACK): Init `frame' as well.
13648 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13649 (DEBUG_PUSH, DEBUG_POP): Remove.
13650 (NUM_REG_ITEMS): Remove.
13651 (NUM_NONREG_ITEMS): Adjust.
13652 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13653 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
13654 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
13655 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13656 New macros.
13657 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13658 address pushed is not the destination of the jump but the source
13659 of it instead.
13660 (NUM_FAILURE_ITEMS): Remove.
13661 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
13662 registers before the actual failure point). Don't hardcode any
13663 meaning for str==NULL anymore.
13664 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
13665 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13666 Remove.
13667 (REG_UNSET_VALUE): Use NULL (why not?).
13668 (compile_range): Remove declaration since it doesn't exist.
13669 (struct compile_stack_elt_t): Remove inner_group_offset.
13670 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13671 (regex_grow_registers): Remove dead code.
13672 (FIXUP_ALT_JUMP): New macro.
13673 (regex_compile): Add shy-groups Change loops to use
13674 on_failure_jump_smart&jump instead of
13675 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13676 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13677 variable to me). Use `jump' instead of `jump_past_alt' and don't
13678 bother with push_dummy_failure in alternatives since it is now
13679 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13680 emacs' for (re)allocating the stack.
13681 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13682 from loop when bufp->can_be_null rather than jumping to `done'.
13683 Avoid jumping backwards so as to ensure termination. Use
13684 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13685 backreferences. Remove dead code in handling of `anychar'.
13686 (skip_noops, mutually_exclusive_p): New functions taken from the
13687 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13688 improve mutually_exclusive_p to handle ".+\n".
13689 (lowest_active_reg, highest_active_reg)
13690 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
13691 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13692 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13693 variables. Push register (in `start_memory') on the stack rather
13694 than storing it in old_reg(start|end). Remove the cycle detection
13695 from `stop_memory', replaced by the use of on_failure_jump_loop
13696 for greedy loops. Add code for the new on_failure_jump_<foo>.
13697 Remove ad-hoc code in `on_failure_jump' to push more registers in
13698 the case of a loop. Take out code from `maybe_pop_jump' into
13699 separate functions and adapt it to the semantics of
13700 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13701 and push_dummy_failure. Remove dummy_failure handling and
13702 handling of `failures to jump to on_failure_jump' (this last one
13703 was already dead code, it seems).
13704 (group_match_null_string_p, alt_match_null_string_p)
13705 (common_op_match_null_string_p): Remove.
13706
137072000-03-08 Dave Love <fx@gnu.org>
13708
13709 * config.in: Don't depend on __STDC__ for volatile.
13710 Add POINTER_TYPE, PTR, PROTOTYPES.
13711
13712 * hftctl.c, strftime.c: Use PROTOTYPES.
13713 * eval.c (find_handler_clause): Likewise.
13714
13715 * mem-limits.h: Use POINTER_TYPE.
13716
13717 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13718 (memory_warnings): Declare using POINTER_TYPE.
13719
137202000-03-08 Gerd Moellmann <gerd@gnu.org>
13721
13722 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13723
13724 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
13725
13726 * xfns.c: Remove obsolete code in #if 0.
13727 (Fx_focus_frame): New function.
13728
137292000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13730
13731 * coding.c (coding_category_name): Add coding-category-utf-8,
13732 coding-category-utf-16-be, coding-category-utf-16-le.
13733 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13734 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13735 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13736 (detect_coding_utf_8): New function.
13737 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13738 UTF_16_LOW_SURROGATE_P): New macros.
13739 (detect_coding_utf_16): New function
13740 (detect_coding_mask): When priorities are specified, skip any
13741 categories that have `nil' coding-system. Fix bug of returning
13742 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13743 returns a mask not set in PRIORITIES.
13744 (detect_eol_type_in_2_octet_form): New function.
13745 (detect_eol): selects detect_eol_type_XXX to call according to
13746 cooding->category_idx.
13747 (detect_coding_system): Remove `nil' coding-system in the result.
13748 (Fupdate_coding_systems_internal): Update all coding-categories.
13749
13750 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13751 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13752 New macros.
13753 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13754 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13755 (CODING_CATEGORY_IDX_UTF_16_LE)
13756 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13757 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
13758 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13759 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13760
137612000-03-07 Gerd Moellmann <gerd@gnu.org>
13762
13763 * doc.c (Fdocumentation_property): If value is not a string,
13764 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13765
13766 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13767 close the display with XtCloseDisplay. This caused a bus error
13768 on OpenWindows.
13769
13770 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13771 complete but not unique.
13772
137732000-03-06 Gerd Moellmann <gerd@gnu.org>
13774
13775 * process.c (send_process): Remove local variable `procname' that
13776 might become invalid when a GC happens. Instead, access the
13777 process name slot directly.
13778
13779 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13780 orig_height if set.
13781
13782 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13783 orig_height if set.
13784
137852000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13786
13787 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13788 glyph matrices have been freed.
13789
137902000-03-05 Gerd Moellmann <gerd@gnu.org>
13791
13792 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
13793 (bootstrap-temacs): Set LC_ALL to C like for temacs.
13794
13795 * xfns.c (QCdata): Moved to xdisp.c.
13796
13797 * xdisp.c (QCdata): Moved here from xfns.c.
13798 (syms_of_xdisp): Initialize QCdata.
13799
13800 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13801
13802 * window.c (coordinates_in_window): Use
13803 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13804 FRAME_INTERNAL_BORDER_WIDTH.
13805
13806 * xdisp.c (try_window_id): Recompute unchanged information if
13807 it is obviously invalid.
13808
13809 * xterm.c (x_term_init): Create a colormap if not using the
13810 default visual.
13811
13812 * xterm.h (select_visual): Change prototype.
13813
13814 * xfns.c (select_visual): Rewritten. Recognize user-specified
13815 visual classes.
13816 (visual_classes): New variable.
13817
138182000-03-04 Gerd Moellmann <gerd@gnu.org>
13819
13820 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13821 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13822 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
13823 (x_decode_color): Don't handle allocation of white and black specially.
13824 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13825 XtNcolormap resources.
13826 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13827 (Fx_create_frame): Initialize color members of x_output structure.
13828 (xpm_load): Pass colormap to XPM lib.
13829
13830 * xfaces.c (x_free_colors): Access colormap of frame using
13831 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13832 when default colormap is used.
13833
13834 * xterm.c (x_term_init): Set Colormap member of x_display_info
13835 structure. Copy colormap if resource `privateColormap' is
13836 specified (PseudoColor only).
13837 (x_setup_relief_color): Access colormap of frame using
13838 FRAME_X_COLORMAP.
13839
13840 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13841 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13842
138432000-03-04 Jason Rumney <jasonr@gnu.org>
13844
13845 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13846 other non-platform-specific equivalents.
13847 [WINDOWSNT]: Include w32term.h, fontset.h and define X
13848 specific functions and macros as their w32 equivalents where
13849 non-platform-specifics are not available.
13850 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13851 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13852 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13853 (frame_update_line_height): Use macros to access f->output_data.
13854 (defined_color): Remove FIXME comments; fixed.
13855 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13856 into #ifdef blocks. Add WINDOWSNT blocks.
13857 (Fx_list_fonts): Use macros for accessing font data.
13858 (set_lface_from_font_name): Different default fonts for X and
13859 WINDOWSNT.
13860 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13861 scalable for backward compatibility.
13862 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
13863 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13864
13865 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
13866 syms_of_w32faces.
13867
13868 * makefile.nt (w32faces.obj): Remove.
13869 (xfaces.obj): Add.
13870
138712000-03-03 Jason Rumney <jasonr@gnu.org>
13872
13873 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13874 correct parameters.
13875
138762000-03-03 Ken Raeburn <raeburn@gnu.org>
13877
13878 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13879 standard ELF definitions here if the system header does not.
13880
138812000-03-03 Gerd Moellmann <gerd@gnu.org>
13882
13883 * xterm.c (PER_CHAR_METRIC): Removed.
13884 (x_per_char_metric_1, x_default_char): New functions.
13885 (x_per_char_metric): If font's default char is invalid, return
13886 metrics of a suitably chosen usable default char.
13887 (x_draw_glyph_string_foreground): If font has an invalid default
13888 char, replace occurrences of unprintable chars with a suitably
13889 chosen usable default char.
13890
138912000-03-02 Gerd Moellmann <gerd@gnu.org>
13892
13893 * xterm.c (note_mouse_highlight): Return quickly if frame's
13894 glyph matrices have been freed.
13895
13896 * dispnew.c (free_glyphs): Block input while freeing matrices.
13897
13898 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13899
13900 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13901 Use x_free_colors.
13902
13903 * dispextern.h (x_free_colors): Add prototype.
13904
13905 * xfaces.c (x_free_colors): New function.
13906 (unload_color, free_face_colors): Use it.
13907
139082000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13909
13910 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13911
13912 * window.c [MSDOS]: Include msdos.h.
13913
139142000-03-02 Dave Love <fx@gnu.org>
13915
13916 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13917
13918 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13919 set C_OPTIMIZE_SWITCH for gcc.
13920
139212000-03-02 Kenichi Handa <handa@etl.go.jp>
13922
13923 * coding.c (coding_save_composition): Be sure to allocate
13924 composition data area in coding even if there's no composition in
13925 the current run.
13926
139272000-03-01 Jason Rumney <jasonr@gnu.org>
13928
13929 * w32term.c: Equivalent changes to those made to xterm.c on
13930 2000-02-25 and 2000-02-24.
13931
13932 * w32fns.c: Equivalent changes to those made to xfns.c on
13933 2000-02-25 and 2000-02-21.
13934
13935 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13936 correct line-end convention is followed.
13937
13938 * w32menu.c [HAVE_BOXES]: Remove #undef.
13939 (single_keymap_panes): Remove code for simulating checkmarks.
13940 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13941 Remove code for drawing simulated checkmarks.
13942 (w32_menu_show): make unibyte help string correctly.
13943 (add_menu_item): draw standard Windows checkmarks. Draw radio
13944 buttons as radio buttons if possible.
13945
139462000-03-01 Gerd Moellmann <gerd@gnu.org>
13947
13948 * sysdep.c (start_of_text): Don't define this function for NetBSD
13949 with ELF.
13950
13951 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
13952 Don't define.
13953 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13954 (LINKER): Don't undef if __NetBSD__ is defined.
13955
13956 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13957
13958 * fileio.c [__NetBSD__]: Define `unix'.
13959
13960 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13961
139622000-02-29 Gerd Moellmann <gerd@gnu.org>
13963
13964 * atimer.c (start_atimer): Don't abort when timers are stopped.
13965 (append_atimer_lists): New function.
13966 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13967 arbitrary lists of stopped and running atimers.
13968
13969 * atimer.c (cancel_atimer): Handle canceling an atimer when
13970 some timers are stopped.
13971
13972 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13973 after canceling it.
13974
13975 * fns.c (maybe_resize_hash_table): Handle case of new size
13976 coming out as being the same as old size.
13977
139782000-02-27 Jason Rumney <jasonr@gnu.org>
13979
13980 * makefile.nt: Add atimer.h to dependencies.
13981 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13982 * w32console.c: Only disable window system features for dispextern.h
13983 (initialize_w32_display): Build a display info for the console.
13984 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13985 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13986 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13987 as 2 button mice.
13988 * w32gui.h (struct W32FontStruct): Revert last change after change
13989 to xdisp.c.
13990 * w32menu.c (single_submenu): Set up help string.
13991 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13992 (w32_dialog_show): Set up help string.
13993 * w32term.c (w32_display_info_for_display): Remove unused function.
13994 (w32_draw_bitmap): Use pre-built bitmaps.
13995 (w32_initialize_display_info): New function to initialize parts of
13996 display info that are common to both GUI and console frames.
13997 (w32_term_init): Use w32_initialize_display_info. Do not set
13998 Vw32_num_mouse_buttons here, as it is not called for console
13999 frames. Build bitmaps for indicating truncated lines etc.
14000 (x_delete_display): Destroy pre-built bitmaps.
14001 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14002 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14003
140042000-02-27 Dave Love <fx@gnu.org>
14005
14006 * lisp.h: Add a bunch of prototypes.
14007
140082000-02-26 Kenichi Handa <handa@etl.go.jp>
14009
14010 * keyboard.c (read_char): Set `usec' correctly.
14011
140122000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14013
14014 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14015 `lambda', set reg[RRR] to the map index.
14016 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14017 reg[RRR] to 0. Otherwise, set it to -1.
14018
140192000-02-25 Gerd Moellmann <gerd@gnu.org>
14020
14021 * emacs.c (main): Remove code snippet commented out with `//'.
14022
140232000-02-25 Richard M. Stallman <rms@gnu.org>
14024
14025 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14026 and contains a `:', prepend `/:'.
14027
14028 * window.c (select_window_1): If selected_window is nil,
14029 don't "swap out" the buffer's point.
14030 (Fset_window_configuration): Set selected_window to nil
14031 before calling Fselect_window.
14032 (unshow_buffer): Don't set point in buffer from window's point
14033 if another more recently selected window also shows the buffer.
14034
140352000-02-25 Gerd Moellmann <gerd@gnu.org>
14036
14037 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14038
14039 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14040 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
14041 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14042 New variables.
14043 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14044 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14045 (hide_busy_cursor): New functions.
14046 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14047
14048 * minibuf.c (read_minibuf): Cancel busy-cursor.
14049
14050 * keyboard.c (command_loop_1): Call start_busy_cursor before
14051 Fcommand_execute and cancel_busy_cursor after it.
14052 (timer_check): Remove busy-cursor code.
14053 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14054 cursor timer.
14055
14056 * process.c (wait_reading_process_input): Remove busy-cursor code.
14057
14058 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14059 Fx_hide_busy_cursor.
14060
14061 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14062 Remove prototyoes.
14063 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14064
14065 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14066
14067 * xterm.c (XTread_socket): Remove busy-cursor code.
14068
14069 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14070 (build_frame_matrix_from_leaf_window): Put code handling
14071 glyph row's not being a slice of a frame row in #if 0.
14072 (sync_window_with_frame_matrix_rows): New function.
14073 (frame_row_to_window): New function.
14074 (mirror_line_dance): Handle copies between windows.
14075
14076 * lread.c (Fload): Use `xfree' instead of `free'.
14077 (init_obarray): Use `xmalloc' instead of `malloc'.
14078
14079 * window.c (Fset_window_buffer): Set WINDOW to the window
14080 after decoding.
14081 (coordinates_in_window): Take frame's internal border width
14082 into account.
14083
140842000-02-24 Gerd Moellmann <gerd@gnu.org>
14085
14086 * xterm.c (x_display_and_set_cursor): Display cursor of
14087 non-selected windows depending on the setting of
14088 cursor_in_non_selected_windows.
14089
14090 * xdisp.c (cursor_in_non_selected_windows): New variable.
14091 (syms_of_xdisp): DEFVAR_BOOL it.
14092
140932000-02-23 Gerd Moellmann <gerd@gnu.org>
14094
14095 * data.c (Fstring_to_number): If number is greater than what
14096 fits into an integer, return a float.
14097
14098 * eval.c (specbind): Remove references to
14099 keyword_symbols_constant_flag.
14100
14101 * data.c (keyword_symbols_constant_flag): Removed.
14102 (Fmakunbound, set_internal, syms_of_data): Remove references to
14103 keyword_symbols_constant_flag.
14104
14105 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14106
141072000-02-23 Kenichi Handa <handa@etl.go.jp>
14108
14109 * syntax.c (multibyte_syntax_as_symbol): New variable.
14110 (syms_of_syntax): Declare it as a Lisp variable.
14111 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14112 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14113 nonzero, treat all multibyte characters as symbol.
14114 (init_syntax_once): Give syntax `word' to all multibyte characters.
14115
141162000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14117
14118 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
14119 a deleted frame.
14120
141212000-02-21 Gerd Moellmann <gerd@gnu.org>
14122
14123 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14124
14125 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14126 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14127
141282000-02-21 Dave Love <fx@gnu.org>
14129
14130 * frame.c (Vmouse_position_function): New variable.
14131 (Fmouse_position): Use it.
14132 (syms_of_frame): Install it.
14133
14134 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14135
141362000-02-20 Gerd Moellmann <gerd@gnu.org>
14137
14138 * fileio.c (Finsert_file_contents): Unbind the binding of
14139 standard-output done by temp_output_buffer_setup.
14140
14141 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14142 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14143 (specbind, unbind_to): Handle most common case of non-constant
14144 symbol with trivial value specially.
14145
14146 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14147
141482000-02-20 Richard M. Stallman <rms@gnu.org>
14149
14150 * data.c (Fmake_variable_buffer_local): Doc fix.
14151 Init found_for_buffer to 0.
14152 (Fmake_variable_frame_local): If the variable has already
14153 been buffer-local, set the check_frame field.
14154
141552000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14156
14157 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14158 produced for CODING_MODE_LAST_BLOCK requires.
14159
141602000-02-18 Dave Love <fx@gnu.org>
14161
14162 * keyboard.c (echo_keystrokes): Remove declaration.
14163 (Vecho_keystrokes) New variable.
14164 (read_char, record_menu_key, read_key_sequence): Use it to allow
14165 use of float value.
14166 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14167
14168 * lread.c: Undef feature selection macros before defining.
14169
141702000-02-18 Gerd Moellmann <gerd@gnu.org>
14171
14172 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14173 for symbols other than the symbol in question.
14174
141752000-02-17 Dave Love <fx@gnu.org>
14176
14177 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14178
141792000-02-17 Gerd Moellmann <gerd@gnu.org>
14180
14181 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14182
14183 * alloc.c (enum mem_type): Compile unconditionally.
14184
141852000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14186
14187 * xfaces.c (tty_defined_color): Don't return faulire indication
14188 for unspecified-fg and unspecified-bg pseudo-colors.
14189
141902000-02-17 Gerd Moellmann <gerd@gnu.org>
14191
14192 * alloc.c (mark_object): Don't mark symbol names in pure space.
14193 (gc_sweep): Don't unmark symbol names in pure space.
14194
14195 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14196 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14197 [GC_MARK_STACK]: New defines.
14198 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
14199 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14200
14201 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14202
14203 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14204 allocate_buffer instead of xmalloc.
14205
14206 * alloc.c (toplevel): Include setjmp.h.
14207 (PURE_POINTER_P): New define.
14208 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14209 (Vdead) [GC_MARK_STACK]: New variable.
14210 (lisp_malloc): Add parameter TYPE, call mem_insert if
14211 GC_MARK_STACK is defined.
14212 (allocate_buffer): New function.
14213 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
14214 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14215 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14216 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14217 (MEM_NIL) [GC_MARK_STACK]: New define.
14218 (struct mem_node) [GC_MARK_STACK]: New structure.
14219 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14220 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14221 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14222 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14223 (mark_stack) [GC_MARK_STACK]: New functions.
14224 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14225 (clear_marks): Removed.
14226 (gc_sweep): Set free conses' car, free floats' type, free
14227 symbols' function to Vdead. Use lisp_free to free buffers.
14228 (init_alloc_once): Initialize Vdead.
14229 (survives_gc_p): Return non-zero for pure objects.
14230
14231 * alloc.c: Add comments throughout the file.
14232
14233 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14234 that unblocks alarms.
14235
14236 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14237 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14238 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14239
14240 * frame.c (make_frame): Set frame initiallly to `garbaged'.
14241
142422000-02-17 Kenichi Handa <handa@etl.go.jp>
14243
14244 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14245 avoid infinite error signaling. Allocate sufficient memory for
14246 eol_str in the case that eoltype is Lisp_Int.
14247
142482000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14249
14250 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14251 depends on the previous behavior.
14252
142532000-02-16 Gerd Moellmann <gerd@gnu.org>
14254
14255 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14256
142572000-02-15 Gerd Moellmann <gerd@gnu.org>
14258
14259 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14260
14261 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
14262 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
14263 write(2).
14264
142652000-02-15 Richard M. Stallman <rms@gnu.org>
14266
14267 * data.c (set_internal): Don't make variable buffer-local
14268 if within a let-binding for the same buffer.
14269 (let_shadows_buffer_binding_p): New function.
14270
14271 * eval.c (specbind): For buffer-local value,
14272 record the current buffer also.
14273 (unbind_to): Cope with that change.
14274
142752000-02-15 Gerd Moellmann <gerd@gnu.org>
14276
14277 * window.c (Fsave_window_excursion): Doc fix.
14278
142792000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14280
14281 * syntax.c (back_comment): Make sure we only consider comment-starters
14282 of the relevant style and return -1 in case of a failure to find the
14283 beginning of the comment.
14284 (Fforward_comment): If back_comment fails, go back to the position just
14285 after the comment-end.
14286 (scan_lists): Add comment describing a very minor bug.
14287
142882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14289
14290 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14291 `completion-regexp-list' in the docstring.
14292
142932000-02-14 Dave Love <fx@gnu.org>
14294
14295 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14296
142972000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14298
14299 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14300 to Emacs' syntax. Also fix the comment about set/not-set meanings
14301 since Emacs syntax is not the value 0 any more.
14302 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14303 since it's now part of RE_SYNTAX_EMACS.
14304
143052000-02-12 Dave Love <fx@gnu.org>
14306
14307 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
14308
143092000-02-12 Gerd Moellmann <gerd@gnu.org>
14310
14311 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14312
143132000-02-12 Dave Love <fx@gnu.org>
14314
14315 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14316
14317 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
14318 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14319 * s/hpux.h: Don't define HAVE_VFORK.
14320
14321 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14322
14323 * s/nextstep.h: Don't define HAVE_ALLOCA.
14324
14325 * config.in: Add vfork bits.
14326
143272000-02-12 Gerd Moellmann <gerd@gnu.org>
14328
14329 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14330 unwind function to undo the effect of stopping atimers.
14331
14332 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
14333
14334 * atimer.c (stopped_atimers): New variable.
14335 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14336 New functions.
14337
14338 * atimer.h (stop_other_atimers, run_all_atimers)
14339 (unwind_stop_other_atimers): Add function prototypes.
14340
14341 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14342
143432000-02-11 Ken Raeburn <raeburn@gnu.org>
14344
14345 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14346 library may depend on jpeg.
14347 (atimer.o): Depends on atimer.c.
14348
143492000-02-11 Kenichi Handa <handa@etl.go.jp>
14350
14351 * insdel.c (del_range_1): Call update_compositions.
14352 (del_range_both): Call update_compositions just once..
14353
143542000-02-10 Dave Love <fx@gnu.org>
14355
14356 * xfns.c (create_frame_xic): Fix initialization of automatic
14357 aggregates for pcc.
14358
143592000-02-09 Kenichi Handa <handa@etl.go.jp>
14360
14361 * ccl.c (CCL_MAKE_CHAR): New macro.
14362 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14363 registers by CCL_MAKE_CHAR before calling translate_char.
14364 <CCL_TranslateCharacterConstTbl> Likewise.
14365
143662000-02-08 Dave Love <fx@gnu.org>
14367
14368 * lread.c (__EXTENSIONS__): Define.
14369
143702000-02-08 Gerd Moellmann <gerd@gnu.org>
14371
14372 * puresize.h (BASE_PURESIZE): Increase to 650000.
14373
143742000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14375
14376 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14377 the help message.
14378
143792000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14380
14381 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14382 md, mh, mb, mr, and me to the fake termcap entry.
14383
143842000-02-06 Ken Raeburn <raeburn@gnu.org>
14385
14386 * sound.c (sound_cleanup): Don't call device close routine if the
14387 function pointer is null.
14388
143892000-02-06 Andrew Innes <andrewi@gnu.org>
14390
14391 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14392 around image definitions and prototypes.
14393 (gamma_correct) [WINDOWSNT]: New prototype.
14394
14395 * w32term.c (x_make_frame_visible): Replace call to
14396 input_poll_signal with poll_for_input.
14397
14398 * window.c [WINDOWSNT]: Include w32term.h.
14399
14400 * xdisp.c [WINDOWSNT]: Include w32term.h.
14401
14402 * makefile.nt: Add dependencies on w32gui.h.
14403 (OBJ1): Include atimer.obj.
14404 ($(BLD)\atimer.obj): New dependency rule.
14405
14406 * w32.c (sigmask): New function (does nothing).
14407 (sigunblock): Ditto.
14408
14409 * frame.c [WINDOWSNT]: Include w32term.h.
14410
14411 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14412
14413 * lread.c (syms_of_lread): Fix literal newlines.
14414
14415 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14416 the string constant limit (2048 bytes) in MSVC.
14417 (main): Ditto.
14418
144192000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14420
14421 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
14422 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14423 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14424 dispatch the event.
14425
144262000-02-04 Dave Love <fx@gnu.org>
14427
14428 * fileio.c: Remove some unused vars.
14429 (_GNU_SOURCE): Define (for euidaccess).
14430
14431 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14432
14433 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14434 gcpro1, gcpro2.
14435 (read_minibuf): Deal with allow_props correctly.
14436
144372000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14438
14439 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14440
144412000-02-03 Ken Raeburn <raeburn@gnu.org>
14442
14443 * search.c (compile_pattern): If a cache entry has a nil regexp,
14444 fill in that entry instead of clobbering a previously cached
14445 string regexp.
14446
144472000-02-02 Ken Raeburn <raeburn@gnu.org>
14448
14449 * puresize.h (BASE_PURESIZE): Increase to 610000.
14450
144512000-02-02 Gerd Moellmann <gerd@gnu.org>
14452
14453 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14454 can GC.
14455
144562000-02-02 Kenichi Handa <handa@etl.go.jp>
14457
14458 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14459 instead of incrementing ic directly.
14460 <CCL_WriteExprConst> Likewise.
14461 <ccl_set_expr>: Set ic to jump_address.
14462
14463 * fileio.c (e_write): Fix the handling of
14464 CODING_FINISH_INSUFFICIENT_SRC.
14465
144662000-02-01 Dave Love <fx@gnu.org>
14467
14468 * editfns.c (Fpropertize): Doc fix.
14469
14470 * process.c (Fstart_process): Doc fix.
14471
14472 * eval.c: Fix various doc strings not to duplicate information
14473 from help-manyarg-func-alist.
14474
14475 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
14476
14477 * doc.c (Vhelp_manyarg_func_alist): New variable.
14478 (Fdocumentation): Use it.
14479 (syms_of_doc): Define it.
14480
144812000-01-31 Gerd Moellmann <gerd@gnu.org>
14482
14483 * xterm.c (xim_open_dpy): Remove unused local variable.
14484
14485 * emacs.c (USAGE): Use term `display options' instead of `X options'.
14486
14487 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14488 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14489
14490 * fns.c (sweep_weak_table): New function.
14491 (sweep_weak_hash_tables): Use it. Keep on marking until there
14492 is no more change.
14493
144942000-01-30 Gerd Moellmann <gerd@gnu.org>
14495
14496 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14497 that XTread_socket does not crash by trying to call XNoOp on a
14498 closed display.
14499
145002000-01-30 Jason Rumney <jasonr@gnu.org>
14501
14502 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14503 Change selected_frame to SELECTED_FRAME ().
14504 (w32_console_mouse_position): Remove #ifndef MULE from around
14505 `insist' parameter.
14506
14507 * makefile.nt: Remove dosfns.obj.
14508
14509 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14510
14511 * w32fns.c (w32_defined_color): Check for valid frame before
14512 applying gamma correction. Eliminate dependency on frame elsewhere.
14513 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14514 (w32_to_x_font): Use resx and resy not height_in and width_in.
14515 (x_to_w32_font): Doc fix.
14516 (xlfd_strip_height): New function to strip and return font height.
14517 (w32_font_match): Compare height separately from rest of xlfd
14518 spec, using xlfd_strip_height.
14519
14520 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14521 width_in. Use w32_defined_color in place of defined_color.
14522
14523 * w32faces.c: Merge more of DOS and X specifics in preparation for
14524 merge with xfaces.c.
14525 (defined_color): Remove FIXME comment.
14526 (tty_color_name): Provide w32-specific function.
14527 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14528
14529 * w32console.c (turn_on_face, turn_off_face): Removed.
14530 (w32_face_attributes): New function.
14531 (Global_variables): Reduce scope where possible.
14532 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14533 fill attribute.
14534 (hl_mode): Don't modify text attributes.
14535 (write_glyphs): Don't do anything if len <= 0. Use
14536 w32_face_attributes to get attributes for drawing. Write
14537 terminating codes using char_attr_normal.
14538 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14539 (update_begin, update_end): Likewise.
14540 (vga_stdcolor_name): New function.
14541 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14542 (Fset_screen_color): Remove char_attr_reverse.
14543
145442000-01-29 Gerd Moellmann <gerd@gnu.org>
14545
14546 * xfns.c (xic_set_preeditarea): Take window parameter and
14547 window-relative pixel-positions.
14548
14549 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14550 is its frame's selected window.
14551 (xim_instantiate_callback): Likewise.
14552
14553 * xfns.c (x_create_im): Removed.
14554 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14555 (supported_xim_styles): Renamed from supported_styles.
14556 (best_xim_style): Renamed from best_style.
14557 (create_frame_xic): Renamed from xic_create_frame.
14558 (free_frame_xic): Renamed from xic_destroy_frame.
14559
145602000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14561
14562 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14563 our frames, call XFilterEvent with 2nd parameter `None'.
14564 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14565 returning XBufferOverflow.
14566 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
14567 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14568 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14569 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14570 (xim_initialize, xim_close)
14571 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14572 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14573 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14574 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14575
14576 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14577 and `xim_styles'.
14578 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14579 `xic_style' and `xic_xfs'.
14580 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14581 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14582 (FRAME_XIM): Removed.
14583
14584 * xfns.c (supported_styles): New variable.
14585 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14586 (xic_create_xfontset, best_style, xic_create_frame)
14587 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14588 (xic_set_xfontset): New functions.
14589
145902000-01-28 Dave Love <fx@gnu.org>
14591
14592 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14593
14594 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14595
145962000-01-28 Gerd Moellmann <gerd@gnu.org>
14597
14598 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14599 for *scratch* if it already existed.
14600
14601 * emacs.c (USAGE): New macro.
14602 (main): Use it to display usage information.
14603
146042000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14605
14606 Support for the menu-help feature:
14607
14608 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
14609
14610 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14611 part of the line to the termscript file.
14612 (IT_clear_to_end): Clear the entire line, not just its beginning.
14613 (menu_help_message, prev_menu_help_message): New variables.
14614 (IT_menu_make_room): Make room for the help_text member.
14615 (IT_menu_display): New argument disp_help; all callers changed.
14616 If disp_help is non-zero, store the help text of the active menu
14617 item in menu_help_message.
14618 (XMenuAddPane): Initialize the help_text member to NULL.
14619 (XMenuAddSelection): New argument help_text. Store it in the
14620 XMenu structure.
14621 (XMenuActivate): New argument help_callback. If the value of
14622 menu_help_message has changed since the last time, display the
14623 menu help message text while waiting for the mouse to move. Clear
14624 the echo area before exiting.
14625 (XMenuDestroy): Free the help_text member.
14626
146272000-01-27 Gerd Moellmann <gerd@gnu.org>
14628
14629 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14630 XMenuAddSelection. Pass help callback to XMenuActivate.
14631 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14632
146332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14634
14635 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14636 and EMACS_SET_USECS.
14637
146382000-01-26 Dave Love <fx@gnu.org>
14639
14640 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14641
14642 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14643 an error may be signalled.
14644
146452000-01-26 Gerd Moellmann <gerd@gnu.org>
14646
14647 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14648 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14649
14650 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14651
146522000-01-25 Gerd Moellmann <gerd@gnu.org>
14653
14654 * charset.c (Fstring): If there is a multibyte char among
14655 the args, always return a multibyte string.
14656
146572000-01-25 Gerd Moellmann <gerd@gnu.org>
14658
14659 * sysdep.c (sys_select): Turn atimers off and on instead of
14660 recording and restoring old alarm handler
14661
14662 * process.c (toplevel): Include atimer.h.
14663 (create_process_1): Rewritten.
14664 (create_process): Use atimers instead of alarm.
14665 (wait_reading_process_input) [hpux]: Turn atimers off instead
14666 of turning off SIGALRM.
14667 (wait_reading_process_input): Turn off atimers instead off
14668 calling stop_polling.
14669
14670 * emacs.c (main): Call init_atimer.
14671
14672 * keyboard.c (toplevel): Include systime.h and atimer.h.
14673 (polling_for_input): Removed because unused.
14674 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14675 (poll_timer): New variable.
14676 (poll_for_input, poll_for_input_1): New functions.
14677 (start_polling, stop_polling): Rewritten.
14678
14679 * keyboard.h (polling_for_input): Removed.
14680
14681 * atimer.h, atimer.c: New files.
14682
14683 * Makefile.in (obj): Add atimer.o.
14684 (atimer.o): New target.
14685
14686 * blockinput.h (pending_atimers): Add extern declaration.
14687 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14688
14689 * lisp.h (popup_activated_flag): Add extern declaration.
14690
14691 * xmenu.c (popup_activated_flag): Make externally visible.
14692 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
14693 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14694
14695 * xterm.c (toplevel): Include atimer.h.
14696 (toolkit_scroll_bar_interaction): New variable.
14697 (Fxt_process_timeouts): Removed.
14698 (x_process_timeouts): New function.
14699 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14700 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14701 (x_make_frame_visible): Call poll_for_input_1 instead of
14702 input_poll_signal. Don't call alarm.
14703 (x_initialize): Install timer calling x_process_timeouts.
14704
147052000-01-24 Dave Love <fx@gnu.org>
14706
14707 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
14708 Don't use -cckr -- apparently not now necessary.
14709
147102000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14711
14712 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14713 screen boundary.
14714
147152000-01-23 Jason Rumney <jasonr@gnu.org>
14716
14717 * w32fns.c (w32_defined_color): Apply gamma correction before
14718 trying to map to the palette.
14719 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14720 to w32_clear_rect.
14721
14722 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14723 here. Callers changed to always pass real device context.
14724 (w32_draw_bitmap): Likewise.
14725 (w32_get_glyph_overhangs): Likewise.
14726 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
14727 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14728 pfnSetScrollInfo and SetScrollRange.
14729 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14730 back into MULE characters after decoding them.
14731 (x_get_glyph_face_and_encoding): Likewise.
14732 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14733 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14734 (x_produce_glyphs): Calculate per char metrics for a character
14735 that we know exists in default font when font_not_found_p is true.
14736
147372000-01-22 Jason Rumney <jasonr@gnu.org>
14738
14739 * makefile.nt (intervals.obj, composite.obj): New modules.
14740 (composite.h): Added as dependency where appropriate.
14741
14742 * w32gui.h (XGCValue): New struct for emulating X GCs.
14743
14744 * w32term.h (XCharStruct): New struct for emulating X.
14745
14746 * w32console.c (turn_on_face, turn_off_face): New functions.
14747 (change_line_highlight): New prototype for new redisplay.
14748 (write_glyphs): Support multibyte text. Support faces.
14749
14750 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
14751
14752 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14753 throughout. struct frame * in place of FRAME_PTR.
14754 Skeleton support for images, toolbars, tooltips from xfns.c.
14755 (Fx_create_frame): Use system default for default scroll bar width.
14756 (w32_get_arg): Renamed from x_get_arg.
14757 (Fx_file_dialog): New function.
14758 (w32_list_fonts): Check cache before asking system.
14759 (Vw32_enable_synthesized_fonts): New variable.
14760 (Vw32_enable_italics): Obsolete, removed.
14761
14762 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14763 Use SELECTED_FRAME macro.
14764
14765 * w32menu.c: Add skeleton support for help strings on menus.
14766 (add_menu_item): Native checkbox and radio support added, but not
14767 yet enabled due to bugs.
14768 (push_menu_item): Add parameters type, selection and help.
14769 Callers updated.
14770 Formatting changes to reduce unnecessary diffs with xmenu.c.
14771
14772 * w32select.c (Fw32_set_clipboard_data): Update call to
14773 find_charset_in_str.
14774
14775 * w32term.c: Complete rewrite for new redisplay based on new
14776 xterm.c with necessary sections merged back in from old w32term.c.
14777
147782000-01-21 Richard M. Stallman <rms@gnu.org>
14779
14780 * data.c (set_internal): Further fix in same criterion.
14781
147822000-01-20 Richard M. Stallman <rms@gnu.org>
14783
14784 * data.c (set_internal): Fix the criteria for whether
14785 to swap out the old cached binding.
14786
147872000-01-19 Dave Love <fx@gnu.org>
14788
14789 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14790
147912000-01-18 Kenichi Handa <handa@etl.go.jp>
14792
14793 * regex.c (re_compile_fastmap): While checking a range table for
14794 `charset', skip flag bits for a character class correctly.
14795
147962000-01-17 Gerd Moellmann <gerd@gnu.org>
14797
14798 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14799
14800 * xfns.c (x_window): Call lw_create_widget with new parameter list.
14801
14802 * widget.c (EmacsFrameSetCharSize): Change size of children first
14803 because of problems with main window geometry management under Lesstif.
14804
14805 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14806 MENU_ITEMS_ITEM_.*.
14807 (MENU_ITEMS_ITEM_HELP): New enumerator.
14808 (push_menu_item): Add parameter HELP. Record help in menu_items.
14809 (single_menu_item, single_submenu, list_of_items): Call
14810 push_menu_item with new parameter.
14811 (single_submenu): Set help string in widget value.
14812 (menu_highlight_callback): New function.
14813 (set_frame_menubar): Call lw_create_widget with new
14814 parameter list.
14815 (xmenu_show, xdialog_show): Ditto.
14816
148172000-01-13 Gerd Moellmann <gerd@gnu.org>
14818
14819 * sound.c (Fplay_sound): Improve doc string.
14820
148212000-01-11 Richard M. Stallman <rms@gnu.org>
14822
14823 * lisp.h (set_internal): Enter the new arg.
14824
14825 * eval.c (specbind): Record buffer-local variables specially,
14826 indicating which buffer's binding was saved.
14827 (unbind_to): Restore buffer-local variables specially
14828 in the proper buffer.
14829
14830 * data.c (set_internal): New arg BUF.
14831
14832 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14833 * data.c (Fset): Pass new arg to set_internal.
14834 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
14835
148362000-01-11 Gerd Moellmann <gerd@gnu.org>
14837
14838 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
14839
148402000-01-11 Richard M. Stallman <rms@gnu.org>
14841
14842 * minibuf.c (Ftry_completion): Doc fix.
14843
148442000-01-11 Gerd Moellmann <gerd@gnu.org>
14845
14846 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14847 vector, too.
14848
148492000-01-11 Andreas Schwab <schwab@suse.de>
14850
14851 * coding.c (code_convert_region): Initialize total_skip.
14852
148532000-01-08 Dave Love <fx@gnu.org>
14854
14855 * eval.c (Fuser_variable_p): Check customizability too.
14856
148572000-01-07 Gerd Moellmann <gerd@gnu.org>
14858
14859 * minibuf.c (Fcompleting_read): Doc fix.
14860
148612000-01-05 Gerd Moellmann <gerd@gnu.org>
14862
14863 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14864 -L /usr/local/lib.
14865
14866 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14867 Check that input style is supported before trying to create an
14868 IC for it.
14869 (x_window): Call x_create_im.
14870
148712000-01-04 Gerd Moellmann <gerd@gnu.org>
14872
14873 * xfns.c (current_gif_memory_src): New variable.
14874 (gif_load): Record the address of the current memory source
14875 in current_gif_memory_src.
14876 (gif_read_from_memory): Use current_gif_memory_src.
14877
14878 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14879 macros statement form.
14880
14881 * sound.c (struct sound): Renamed from struct sound_file.
14882 (struct sound): Add members `data' and `header_size'.
14883 (enum sound_attr): Add SOUND_DATA.
14884 (current_sound, current_sound_device): Variables renamed from
14885 sound_file and sound_device.
14886 (parse_sound): Parse :data.
14887 (parse_sound): Handle sound data in strings.
14888 (find_sound_type): Function renamed from find_sound_file_type.
14889 (wav_init, au_init): Fail if sound's header_size is smaller than
14890 needed header size.
14891 (wav_play, au_play): Play sounds from string data.
14892
14893 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14894
14895 * lisp.h: Add prototype for allocate_string_data.
14896
14897 * alloc.c (Fgarbage_collect): Return number of live and free strings.
14898
14899 * alloc.c (mark_buffer): Remove code in #if 0.
14900 (gc_sweep): Ditto.
14901 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14902 (strings_consed): New variable.
14903 (allocate_string): Set it.
14904 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14905 (Fmemory_use_counts): Return strings_consed. Use Flist.
14906
14907 * alloc.c: General cleanup in comments etc. Remove conditional
14908 compilation for `standalone'.
14909
14910 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14911
14912 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14913 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14914 (DONT_COPY_FLAG): Removed.
14915 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14916 (struct sdata, struct sblock): New
14917 (struct string_block): Rewritten.
14918 (STRINGS_IN_STRING_BLOCK): New macro.
14919 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14920 (large_sblocks, string_blocks, string_free_list): New variables.
14921 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14922 (init_strings): Rewritten.
14923 (allocate_string, allocate_string_data, compact_small_strings)
14924 (free_large_strings, sweep_strings): New functions.
14925 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14926 (struct string_block_head, current_string_block)
14927 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14928 (STRING_PAD): Removed.
14929 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14930 (Fgarbage_collect): Don't set mark bit in large strings.
14931 (mark_object): Mark strings differently. Mark symbol names
14932 differently.
14933 (survives_gc_p): Test marked strings differently.
14934 (gc_sweep): Sweep strings differently, unmark strings in
14935 symbol names.
14936 (compact_strings): Removed.
14937
149382000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14939
14940 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14941 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14942
149432000-01-04 Kenichi Handa <handa@etl.go.jp>
14944
14945 * fileio.c (Finsert_file_contents): Signal error if visiting file
14946 in a non-empty buffer.
14947
14948 * term.c (encode_terminal_code): Fix the previous change.
14949
149502000-01-03 Gerd Moellmann <gerd@gnu.org>
14951
14952 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14953 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14954
14955 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14956
149572000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14958
14959 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14960 need to test for MSDOS frames.
14961
149622000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14963
14964 * dosfns.c (unspecified_colors): Remove.
14965 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14966 unspecified_bg.
14967 (msdos_stdcolor_name): Return strings for unspecified fore- and
14968 back-ground colors.
14969
14970 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
14971 (syms_of_xfaces): Remove their staticpro's.
14972 (tty_color_name): Return Lisp strings for unspecified fore- and
14973 back-ground colors.
14974 (Finternal_set_lisp_face_attribute): Remove the special treatment
14975 for Qunspecified_{f,b}g.
14976 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
14977
149782000-01-03 Gerd Moellmann <gerd@gnu.org>
14979
14980 * xdisp.c (reseat_at_next_visible_line_start): Position before
14981 newline only if ending up on a newline.
14982 (next_element_from_ellipsis): Return success. Handle case of
14983 displaying no ellipsis. Fix case of ellipsis defined in display table.
14984 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14985 returns 0.
14986
149872000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14988
14989 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14990 (Fcolor_supported_p): Renamed from face-color-supported-p.
14991
149922000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14993
14994 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14995 list of colors renamed to tty-defined-color-alist.
14996 (tty_color_name): Pass the frame to tty-color-by-index.
14997 (realize_tty_face): tty-color-alist is now a function which
14998 accepts the frame as argument.
14999
15000 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
15001
150022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15003
15004 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15005 encode_terminal_code.
15006
150072000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15008
15009 * dispnew.c (mode_line_string): Support termcap frames as well.
15010
150112000-01-01 Gerd Moellmann <gerd@gnu.org>
15012
15013 * syntax.c (Fforward_word): Undo previous change.
15014
15015 * editfns.c (Fconstrain_to_field): Don't constrain if
15016 inhibit-field-text-motion is non-nil.
15017 (Fline_beginning_position): Undo previous change.
15018 (Fline_end_position): Ditto.
15019
15020 * syntax.c (Fforward_word): Notice field boundaries only if
15021 inhibit-field-text-motion is nil.
15022
15023 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15024
15025 * editfns.c (Vinhibit_field_text_motion): New variable.
15026 (inhibit-field-text-motion): New DEFVAR_LISP.
15027 (Fline_beginning_position, Fline_end_position): Notice field
15028 boundaries only if inhibit-field-text-motion is nil.
15029
15030 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15031 All calls adjusted.
15032 (x_build_heuristic_mask): Likewise.
15033 (xbm_load_image_from_file): Change error output.
15034 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15035 (gif_load, gs_load, x_kill_gs_process): Ditto.
15036
15037 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15038 color indices when accessing raster pixels.
15039 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15040 one of :file or :data.
15041 (enum pbm_keyword_index): Add PBM_DATA.
15042 (pbm_format): Add :data.
15043 (pbm_image_p): Allow either :file or :data.
15044 (pbm_read_file): New function.
15045 (pbm_scan_number): Rewritten to read from string.
15046 (pbm_load): Support :data.
15047
15048See ChangeLog.8 for earlier changes.
15049
15050;; Local Variables:
15051;; coding: iso-2022-7bit
15052;; End:
15053
15054 Copyright (C) 2001 Free Software Foundation, Inc.
15055 Copying and distribution of this file, with or without modification,
15056 are permitted provided the copyright notice and this notice are preserved.