Fix comments.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
3a62677f
PJ
12001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
72244db2
PJ
3 * COPYING: Moved back.
4
3a62677f
PJ
5 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
6 Add parentheses around && within ||.
7
8 * indent.c (compute_motion): Likewise.
9
10 * intervals.c (merge_properties_sticky): Likewise.
11
12 * coding.c (setup_coding_system, shrink_encoding_region)
13 (Fdecode_sjis_char): Likewise.
14
9d113d9d
AS
152001-12-07 Andreas Schwab <schwab@suse.de>
16
b8523839
AS
17 * xdisp.c (display_mode_element): Don't read past end of string if
18 it ends with '%'.
19
9464dea4
AS
20 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
21 can hold.
22
9d113d9d
AS
23 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
24 from most_positive_fixnum and most_negative_fixnum, resp., and
25 type changed to Lisp_Object.
26 (syms_of_data): DEFVAR_LISP them.
27
70ec1377
RS
282001-12-07 Richard M. Stallman <rms@gnu.org>
29
30 * callproc.c (init_callproc): Set Vdata_directory based on the source
31 location whenever Emacs was run uninstalled.
32
92f7dd37
PE
332001-12-06 Paul Eggert <eggert@twinsun.com>
34
35 * config.in (HAVE_WORKING_VFORK): New #undefs.
36 * process.c (create_process):
37 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
38 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
39 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
40 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
41 * m/intel386.h (HAVE_VFORK): Likewise.
42 * m/mips-siemens.h (HAVE_VFORK): Likewise.
43 * m/mips.h (HAVE_VFORK): Likewise.
44 * s/freebsd.h (vfork): Remove #define.
45 * s/lynxos.h (HAVE_VFORK): Remove #undef.
46 * s/usg5-4-2.h: Fix comment about vfork.
47
c93674bb
RS
482001-12-06 Richard M. Stallman <rms@gnu.org>
49
50 * s/hpux10.h (random): Add undef.
51 (HAVE_RANDOM): Define it just once.
52
59b59892
SM
532001-12-06 Stefan Monnier <monnier@cs.yale.edu>
54
55 * eval.c: Undo last change: the standard syntax is not wanted.
56
c6ea2775
EZ
572001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
58
59 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
60 scroll bars of the frame before deleting the frame itself. If the
61 frame has a widget, delete the frame with XtDestroyWidget, and do
62 not call XDestroyWindow before that.
63
91175673
KS
642001-12-06 Kim F. Storm <storm@cua.dk>
65
66 * xfns.c (x_report_frame_params): Return actual fringe widths.
67
68 * w32fns.c (x_report_frame_params): Return actual fringe widths.
69
e0fead5d
AI
702001-12-05 Andrew Innes <andrewi@gnu.org>
71
72 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
73 excessively large.
74
75 * insdel.c (make_gap_larger): New function.
76 (make_gap_smaller): New function.
77 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
78 make_gap_smaller if arg is negative.
79
c186cdb3
SM
802001-12-04 Stefan Monnier <monnier@cs.yale.edu>
81
82 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
83 Pass a dummy argument when calling interrupt_signal.
84 (parse_menu_item): Mark disabled items before checking for empty def.
85 (read_char_minibuf_menu_prompt): Make safety more visible.
86 (read_key_sequence): Add a `first_unbound' variable.
87 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
88 unbound prefix as soon as we can detect it.
89
90 * doc.c (Fsnarf_documentation): Add prototype.
91 (get_doc_string): Handle negative arguments.
92 (Fdocumentation): Use AREF and ASIZE.
93 Move the calls to get_doc_string to a single place.
94 Don't confuse an interactive-spec for a docstring reference.
95 (Fdocumentation_property): Take advantage of the fact that
96 get_doc_string now ignores the sign of the docstring position.
97
98 * eval.c: Use standard syntax for usage in docstrings.
99
58cfce98
PJ
1002001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
101
c186cdb3 102 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 103
62854fe2
PJ
1042001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
105
106 * xterm.c (x_draw_image_relief): Use predefined macro instead of
107 constant when the value of `tool_bar_button_relief' is negative.
108
656f46bb
RS
1092001-12-02 Richard M. Stallman <rms@gnu.org>
110
111 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
112 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
113
114 * fileio.c (read_non_regular): Delete Fsignal call.
115
036e218d
SM
1162001-12-01 Stefan Monnier <monnier@cs.yale.edu>
117
118 * lisp.h (run_hook_list_with_args): Undo last change.
119
7ddb2c16
GM
1202001-12-01 Gerd Moellmann <gerd@gnu.org>
121
122 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
123
ace9b298
JR
1242001-12-01 Jason Rumney <jasonr@gnu.org>
125
90647b07
JR
126 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
127
128 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
129 [!WM_MOUSELEAVE]: Define.
130
ace9b298
JR
131 * w32menu.c (current_popup_menu, get_menu_item_info):
132 (set_menu_item_info): New vars.
133 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
134 (w32_menu_show): Set current_popup_menu.
135 (add_menu_item): Allocate new strings for owner-drawn menu items
136 and help strings.
137 Use owner-draw for disabled menu items again.
138 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
139 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
140
141 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
142 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
143 <WM_EXITMENULOOP>: Free menu strings.
144 <WM_MOUSELEAVE>: Stop tracking mouse.
145 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
146
147 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
148 and mouse face.
149
a9549909 1502001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
151
152 The following changes add left-fringe and right-fringe
153 frame parameters to adjust fringe widths, or remove one or
154 both fringes.
036e218d 155
9fbc32aa
KS
156 * frame.h (struct frame): Remove trunc_area_pixel_width and
157 trunc_area_cols fields.
158 (Qleft_fringe, Qright_fringe): Declare.
159 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
160
161 * frame.c (Qleft_fringe, Qright_fringe): New vars.
162 (syms_of_frame): Initialize them.
163
164 * window.c (coordinates_in_window): Handle separate left and right
165 fringe widths.
166
167 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
168 and fringe_cols fields.
169 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
170 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
171 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
172 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
173 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
174 (x_compute_fringe_widths): Add prototype.
175
176 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
177 fill fringe evenly with small dashes.
178 (x_draw_fringe_bitmap): Clear background if necessary. Align and
179 clip the new ZV bitmap to avoid jitter between rows.
180 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
181 background. Don't draw fringe bitmaps if fringe width is zero.
182 (x_compute_fringe_widths): New function.
183 (x_new_font, x_set_window_size_1): Use it.
184
185 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
186 (x_set_frame_parameters): Process Process `font' parameter before other
187 parameters as fringe widths depend on it.
188 (x_set_fringe_width): New function.
189 (x_figure_window_size): Use x_compute_fringe_widths.
190 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
191 parameters.
192
193 * widget.c (set_frame_size): Use x_compute_fringe_widths.
194 (EmacsFrameSetCharSize): Ditto.
195
196 * w32term.h: Merged changes from xterm.h.
197 * w32term.c: Merged changes from xterm.c.
198 * w32fns.c: Merged changes from xfns.c.
199
0142178a
PJ
2002001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
201
202 * COPYING: Removed.
203
d4824a5d
DL
2042001-11-29 Dave Love <fx@gnu.org>
205
206 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
207 extra extra slot.
208 (detect_coding_mask): Fix call of detect_coding_iso2022.
209
b1356234
PJ
2102001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
211
212 * fileio.c (file-name-coding-system)
213 (default-file-name-coding-system): Doc fix (links to referenced
214 variables added).
215
3ce081f5
SM
2162001-11-28 Stefan Monnier <monnier@cs.yale.edu>
217
99e380ee
SM
218 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
219 Add dummy uses of gcproN variables.
220
3ce081f5 221 * category.c (describe_category, describe_category_1)
2ad56c09 222 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
223 (syms_of_category): Don't defsubr Sdescribe_categories.
224
66458f32
RS
2252001-11-28 Richard M. Stallman <rms@gnu.org>
226
227 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
228
229 * Makefile.in (lispdir): New variable, referring to build dir.
230 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
231
59a86c99
AI
2322001-11-28 Andrew Innes <andrewi@gnu.org>
233
234 * w32menu.c (w32_menu_display_help): Actually add the new argument
235 OWNER.
236
eb77a5f4
JR
2372001-11-28 Jason Rumney <jasonr@gnu.org>
238
239 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
240 menu items. From David Ponce <dponce@wanadoo.fr>.
241 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
242 conditionally.
243 (w32_menu_display_help): New argument OWNER. Rewritten to store a
244 help event in the owner frame's keyboard buffer.
245
246 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
247 (Fx_show_tip): Don't subtract last width from row width.
248
249 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
250 (w32_read_socket): Use EQ to compare frames.
251
bb313871
GM
2522001-11-28 Gerd Moellmann <gerd@gnu.org>
253
254 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
255 OVERLAPS_P.
256
55b43a63
PJ
2572001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
258
6052529b
PJ
259 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
260 `gcpro3' and `gcpro4'.
261
3ce081f5
SM
262 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
263
2642001-11-28 Stefan Monnier <monnier@cs.yale.edu>
265
266 * ccl.c: Use AREF and ASIZE.
267
2682001-11-27 Stefan Monnier <monnier@cs.yale.edu>
269
270 * lisp.h (run_hook_list_with_args): Remove.
271 (LIST_END_P): Fix call to wrong_type_argument.
272 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 273
111ed14e
SM
2742001-11-26 Stefan Monnier <monnier@cs.yale.edu>
275
9fabb2f5
SM
276 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
277 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
278
279 * eval.c: Use AREF and ASIZE.
280 (Ffetch_bytecode): Add the file name to the error message.
281
282 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
283 which match the end of the file-name.
284 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
285 is not a valid env var, but leave it as is instead.
286
111ed14e
SM
287 * keymap.c (access_keymap): Handle t bindings like nil bindings.
288 Make nil bindings in char-tables transparent.
289 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
290
2fa0eedf
RS
2912001-11-26 Richard M. Stallman <rms@gnu.org>
292
d1420435
RS
293 * textprop.c (set_text_properties_1): Allow START, END in either order.
294 Do nothing if range is empty.
295
2fa0eedf
RS
296 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
297
ebcbef4e
RS
298 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
299 (clean): Not here.
300
5c131048
SM
3012001-11-25 Stefan Monnier <monnier@cs.yale.edu>
302
303 * textprop.c (set_text_properties_1): Clearly mark that the
304 interval should not be empty.
305
306 * intervals.c (graft_intervals_into_buffer):
307 Don't call set_text_properties_1 on an empty interval.
308
96d276c3
RS
3092001-11-25 Richard M. Stallman <rms@gnu.org>
310
6108b49c
RS
311 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
312
96d276c3
RS
313 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
314 don't lose the data in it.
315
5eea19a4
RS
3162001-11-25 Juanma Barranquero <lektu@terra.es>
317
318 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
319
320 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
321
322 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
323
438e57dd
SM
3242001-11-25 Stefan Monnier <monnier@cs.yale.edu>
325
326 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
327
c88e5347
EZ
3282001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
329
330 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
331 Niemitalo <kon@iki.fi>.
332
59ce1461
JR
3332001-11-25 Jason Rumney <jasonr@gnu.org>
334
335 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
336
337 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
338 (Fx_show_tip): Block input during frame creation.
339 (Fx_show_tip, Fx_hide_tip): Enable.
340
8727d588
RS
3412001-11-24 Richard M. Stallman <rms@gnu.org>
342
343 * lread.c (Fload): Detect recursive load error for more than 3
344 nestings of the same file.
345 (Vrecursive_load_depth_limit): Variable deleted.
346 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
347
cc63037e
JR
3482001-11-24 Jason Rumney <jasonr@gnu.org>
349
350 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
351 mouse position if either left or top is not specified.
352
353 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
354 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
355 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
356 (my_create_tip_window): Assign tip_window.
357 (x_create_tip_frame): Use same defaults as X.
358 (compute_tip_xy): Remove unused variable. Use full screen width.
359 (Fx_show_tip): Do not double height. Call ShowWindow directly.
360
361 * w32term.c (x_after_update_window_line): Doc fix.
362 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
363 frames.
364 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
365
366 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
367 for all Windowed systems.
368
deece6f5
EZ
3692001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
370
371 * msdos.c (IT_clear_screen): If the frame's faces are not yet
372 realized, use the initial screen colors to clear the screen.
373
1b944d9c
PJ
3742001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
375
28ff4293
PJ
376 * textprop.c (Fset_text_properties): Remove unused variables
377 `unchanged', `prev_changed', `s' and `len'.
378
56167cc5
PJ
379 * search.c (Freplace_match): Remove unused variable `inslen'.
380
1b944d9c
PJ
381 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
382
ca56d953
JR
3832001-11-22 Jason Rumney <jasonr@gnu.org>
384
385 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
386 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
387 (my_create_tip_window): New function.
388 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
389 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
390
33399dce
JR
3912001-11-20 Jason Rumney <jasonr@gnu.org>
392
393 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
394 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
395
396 * w32fns.c (Vw32_system_coding_system): Remove.
397 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
398
9b46de40
SM
3992001-11-19 Stefan Monnier <monnier@cs.yale.edu>
400
6710ea06
SM
401 * fileio.c (Fwrite_region): Move choose_write_coding_system to
402 after build_annotations.
403
a395ef6a
SM
404 * syntax.c (describe_syntax): Add dummy arg.
405 (describe_syntax_1): Update call to describe_vector.
406
407 * category.c (describe_category): Add dummy arg.
408 (describe_category_1): Update call to describe_vector.
409
410 * keymap.c (Fdescribe_vector): Add `describer' parameter.
411 (describe_command, describe_translation): Add dummy second param.
412 (describe_map): Call elt_describer with two arguments.
413 (describe_vector_princ): Add `fun' parameter.
414 Call it instead of the hardcoded `princ'.
415 (describe_vector): Add arg `args'.
416 Pass it as a new second argument to elt_describer.
417
418 * keymap.h (describe_vector): Update prototype.
419
9b46de40
SM
420 * frame.c: Don't include keymap.h any more.
421 (keys_of_frame): Remove.
422
423 * lisp.h (keys_of_frame): Remove declaration.
424
425 * emacs.c (main): Don't call `keys_of_frame' any more.
426
aff37336
SS
4272001-11-14 Andreas Schwab <schwab@suse.de>
428
429 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
430 if defined, 0 otherwise.
9b46de40 431 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
432 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
433
b9937f07
RS
4342001-11-19 Richard M. Stallman <rms@gnu.org>
435
436 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
437
2cd23960
JR
4382001-11-18 Jason Rumney <jasonr@gnu.org>
439
440 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
441 (x_draw_bar_cursor): If the background color of the glyph under
442 the cursor equals the frame's cursor color, use the glyph's
443 foreground color for drawing the bar cursor.
444 (x_after_update_window_line): Clear internal border in different
445 circumstances.
446 (w32_set_vertical_scroll_bar): Check for width and height > 0.
447 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
448 (x_set_glyph_string_background_width):
449 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
450 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
451 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
452 if cursor_in_non_selected_windows is false.
9b46de40 453 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
454 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
455 Notice if cursor gets overwritten.
456 (notice_overwritten_cursor): Renamed from
457 note_overwritten_text_cursor. Rewritten to take glyph widths
458 into account, and to take X positions as parameters.
459 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
460 around call to x_draw_glyphs.
461 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
462 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
463 color to use for image glyph reliefs.
464 (x_draw_image_relief): Accept zero tool_bar_button_relief.
465 (glyph_rect): Remove unused variable `area'.
466
467 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
468 some items.
469 (x_set_internal_border_width): Set frame garbaged when window
470 doesn't exist yet.
471 (Fx_create_frame): Accept zero tool_bar_button_relief.
472 (x_clear_image_1, four_corners_best, image_background)
473 (image_background_transparent): New functions.
474 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
475 (gs_format): Add `:background' entry.
476 (lookup_image): Set IMG's background color if specified.
477 (pbm_load, xbm_load_image, png_load): Set IMG's background field
478 when appropriate.
479 (x_clear_image_1): Reset `background_valid' and
480 `background_transparent_valid' fields.
481 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
482 calculating it here. Set IMG's background_transparent field.
483 (enum xpm_keyword_index): Add XPM_BACKGROUND.
484 (enum png_keyword_index): Add PNG_BACKGROUND.
485 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
486 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
487 (enum gif_keyword_index): Add GIF_BACKGROUND.
488 (enum gs_keyword_index): Add GS_BACKGROUND.
489 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
490 Pre-calculate image background color where necessary.
9b46de40
SM
491 (x_create_x_image_and_pixmap, xbm_load, gs_load):
492 Use display info's n_cbits entry for screen depth.
2cd23960
JR
493 (Fx_show_tip): Remove unused variables `buffer', `top',
494 `left', `max_width' and `max_height'.
495
496 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
497
a4184c1c
GM
4982001-11-18 Gerd Moellmann <gerd@gnu.org>
499
500 * puresize.h (BASE_PURESIZE): Increase to 750000.
501
f6fa0866
PJ
5022001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
503
504 * frame.c (Fframe_live_p): Doc fix.
505
f4ca4b00
RS
5062001-11-18 Richard M. Stallman <rms@gnu.org>
507
508 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
509 (message_dolog_marker3): New static variables hold three markers.
510 (syms_of_xdisp): Initialize and staticpro them.
511 (message_dolog): Use message_dolog_marker1..3 instead of
512 allocating markers each time. Unchain them when done.
513
f4e25f94
RS
5142001-11-17 Richard M. Stallman <rms@gnu.org>
515
516 * doc.c (Fsnarf_documentation): Doc fix.
517
91c153e2
AS
5182001-11-17 Andreas Schwab <schwab@suse.de>
519
520 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
521
65b7d3e7
RS
5222001-11-17 Richard M. Stallman <rms@gnu.org>
523
524 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
525
6b5f6311
JR
5262001-11-17 Jason Rumney <jasonr@gnu.org>
527
528 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
529
be676094
GM
5302001-11-17 Gerd Moellmann <gerd@gnu.org>
531
532 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
533 with invalid position.
534
032a857d
RS
5352001-11-16 Richard M. Stallman <rms@gnu.org>
536
537 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
538
539 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
540 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
541 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
542
543 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
544
b6270150
SM
5452001-11-16 Stefan Monnier <monnier@cs.yale.edu>
546
547 * fileio.c (build_annotations): Split off the tail.
548 (build_annotations_2): New fun. Extracted from build_annotations.
549 (Fwrite_region): Split the call to build_annotations into two
550 calls to build_annotations and build_annotations_2.
551
792e5cbd
PJ
5522001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
553
98cbb9fa
PJ
554 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
555 clear_waiting_for_input with argument.
556
557 * xterm.h (x_update_cursor): Remove duplicated prototype.
558
b6270150 559 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 560
ea904403 561 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 562
ea904403 563 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 564
fa336b91
SM
5652001-11-16 Stefan Monnier <monnier@cs.yale.edu>
566
567 * fileio.c (choose_write_coding_system): New fun, extracted
568 from Fwrite_region.
569 (Fwrite_region): Use it.
570
571 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
572 (funcall_lambda, run_hook_with_args): Make static and add prototype.
573 (ml_apply, find_handler_clause): Add prototype.
574
077907d4
EZ
5752001-11-16 Eli Zaretskii <eliz@gnu.org>
576
aa2af83a
EZ
577 * config.in: Add #undef HAVE_COFF_H.
578
077907d4
EZ
579 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
580 Required for ISC 4.1.
581
1756e2fb
EZ
5822001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
583
584 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
585 Andrew Wiseman <a.wiseman@btclick.com>.
586
06e8f738
KS
5872001-11-16 Kim F. Storm <storm@cua.dk>
588
589 The following changes are made to clean up the various internal
590 references to the fringes to actually use the term `fringe' for
591 them. Previously, they were called `flags areas', `bitmap areas',
592 `left/right side of windows', or implicitly as `flags' or
593 `bitmaps':
594
595 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
596 Comments fixed. Use renamed symbols.
fa336b91 597
06e8f738 598 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 599
06e8f738
KS
600 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
601 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
602 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 603
06e8f738 604 * msdos.c: Comment fix.
fa336b91 605
06e8f738 606 * w32fns.c: Use renamed symbols.
fa336b91 607
06e8f738
KS
608 * w32term.c: Comment fixes. Use renamed symbols.
609 (fringe_bitmap_type): Renamed from bitmap_type.
610 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
611 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
612 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 613
06e8f738
KS
614 * w32term.h: Comment fixes. Use renamed symbols.
615 (fringes_extra): Renamed from flags_areas_extra.
616 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
617 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
618 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
619 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
620 (FRAME_X_LEFT_FRINGE_WIDTH):
621 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
622 (FRAME_X_RIGHT_FRINGE_WIDTH):
623 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
624
06e8f738 625 * widget.c: Use renamed symbols.
fa336b91 626
06e8f738
KS
627 * window.c: Comment fixes. Use renamed symbols.
628 (coordinates-in-window-p): Doc fix.
fa336b91 629
06e8f738 630 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 631
06e8f738 632 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 633
06e8f738 634 * xfns.c: Use renamed symbols.
fa336b91 635
06e8f738
KS
636 * xterm.c: Comment fixes. Use renamed symbols.
637 (fringe_bitmap_type): Renamed from bitmap_type.
638 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
639 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
640 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
641
642 * xterm.h: Comment fixes. Use renamed symbols.
643 (fringes_extra): Renamed from flags_areas_extra.
644 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
645 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
646 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
647 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
648 (FRAME_X_LEFT_FRINGE_WIDTH):
649 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
650 (FRAME_X_RIGHT_FRINGE_WIDTH):
651 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 652
9ce647f4
JR
6532001-11-15 Jason Rumney <jasonr@gnu.org>
654
655 * w32menu.c (add-menu-item): Make help_echo and radio buttons
656 work for most menu items. From David Ponce
657 <david.ponce@wanadoo.fr>.
658
9b784ab8
GM
6592001-11-15 Gerd Moellmann <gerd@gnu.org>
660
9f7e52b4
GM
661 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
662 Some x_set_* function expect to be called even if old and new
663 value are equal.
664
665 * xdisp.c (build_desired_tool_bar_string): Accept zero
666 tool_bar_button_relief.
667
668 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
669
670 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 671
34e5d0af
GM
672 * xterm.c (x_draw_bar_cursor): If the background color of the
673 glyph under the cursor equals the frame's cursor color, use
674 the glyph's foreground color for drawing the bar cursor.
675
9b784ab8
GM
676 * dispnew.c (direct_output_forward_char): Fix character/byte
677 position comparison.
678
89512fcd
MB
6792001-11-15 Miles Bader <miles@gnu.org>
680
681 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
682 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
683 Update arguments to find_field.
684 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
685 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
686 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
687 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
688
7d18891d
RS
6892001-11-14 Richard M. Stallman <rms@gnu.org>
690
d2936d21
RS
691 * editfns.c (Fpropertize): Allow call with 1 arg.
692
7d18891d
RS
693 * dispextern.h (image_background, image_background_transparent):
694 Conditionalize on HAVE_X_WINDOWS.
695
6962001-11-13 Richard M. Stallman <rms@gnu.org>
697
698 * print.c (Fprin1_to_string): Doc fix.
699
700 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
701
702 * floatfns.c (Fceiling, Ffloor): Doc fixes.
703
704 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
705
706 * fileio.c (Ffile_accessible_directory_p): Doc fix.
707
708 * eval.c (syms_of_eval): Doc fix.
709
710 * coding.c (syms_of_coding): Doc fix.
711
712 * doc.c (Fsnarf_documentation): Doc fix.
713
714 * dispnew.c (syms_of_display): Doc fix.
715
716 * category.c (Fget_unused_category): Doc fix.
717
718 * buffer.c (syms_of_buffer): Doc fixes.
719
9474c847
EZ
7202001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
721
722 * print.c (prin1, print): Doc fix.
723
e3059a5d
PJ
7242001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
725
2b6f3c2b 726 * fontset.h: Remove declarations of variables
e3059a5d
PJ
727 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
728
729 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
730 `Vclip_large_size_font'.
731
b3700ae7
JR
7322001-11-13 Jason Rumney <jasonr@gnu.org>
733
734 * w32fns.c: Doc fix.
735
eae936e2
PJ
7362001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
737
4bb962be
PJ
738 * xfaces.c (Fface_attributes_as_vector): Doc fix.
739
0a332240
PJ
740 * w32fns.c (Fx_synchronize): Reindent.
741
ddb67bdc
PJ
742 * fns.c: Doc fix.
743
3467c402
PJ
744 * emacs.c: Doc fix.
745
746 * coding.c: Doc fix.
747
6e1b91d7
PJ
748 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
749 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
750 `new style' [w/`doc:' keyword].
751
f6e34773
PJ
752 * xmenu.c (x-popup-menu): Reindent.
753 (x-popup-dialog): Likewise.
754
fa336b91 755 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 756
c2552f79
PJ
757 * xdisp.c (Fdump_tool_bar_row): Reindent.
758
94c7167b
PJ
759 * minibuf.c (Fminibuffer_complete_word): Reindent.
760 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 761 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
762 (Fminibuffer_message): Likewise.
763
462a5e3a
PJ
764 * fns.c (Freverse): Reindent.
765
b8de5714
PJ
766 * eval.c (Fif): Reindent.
767 (Fand): Likewise.
768
deb8e082
PJ
769 * editfns.c (Fuser_real_login_name): Reindent.
770 (Finsert_buffer_substring): Likewise.
771 (Fcompare_buffer_substrings): Likewise.
772 (Fsubst_char_in_region): Likewise.
773
bacf09b4
PJ
774 * dispnew.c (Fsit_for): Reindent.
775 (Fframe_or_buffer_changed_p): Likewise.
776 (Finternal_show_cursor_p): Likewise.
777 (syms_of_display): Likewise.
778
eae936e2
PJ
779 * alloc.c (Flist): Reindent.
780 (Fvector): Likewise.
781
1c1d3d69
RS
7822001-11-12 Richard M. Stallman <rms@gnu.org>
783
784 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
785 LeaveNotify events. Only FocusIn and FocusOut do that now.
786 (x_display_and_set_cursor): Do display hollow cursors in active
787 minibuffer windows when they are not selected.
788
b6f4c7ba
JR
7892001-11-12 Jason Rumney <jasonr@gnu.org>
790
791 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
792 * w32term.c: Change doc-string comments to `new style'.
793 [w/`doc:' keyword]. Doc fixes.
794
795 * w32fns.c: Don't define max.
796 (Fx_open_connection): Only execute once.
797
a89f435d
PJ
7982001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
799
800 * ccl.c: Change macros to use do-while block instead of if-else.
801 Use braces to follow GNU Coding Standards.
802
a4cd0cd7
RS
8032001-11-11 Richard M. Stallman <rms@gnu.org>
804
eafb659a
RS
805 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
806
807 * lread.c (read_escape): Use end_of_file_error for reporting eof.
808
a4cd0cd7
RS
809 * insdel.c (replace_range): Use adjust_markers_for_replace
810 instead of adjust_markers_for_delete and adjust_markers_for_insert.
811
812 * intervals.h: Declare set_text_properties and set_text_properties_1.
813
814 * textprop.c (set_text_properties_1): New subroutine
815 broken out of set_text_properties.
816 (set_text_properties): Use set_text_properties_1.
817
818 * intervals.c (graft_intervals_into_buffer):
819 Use set_text_properties_1 to clear out properties.
820
821 * search.c (Freplace_match): Use replace_range to insert
822 and delete. Don't request property inheritance from
823 surrounding text.
824
91823618
JR
8252001-11-10 Jason Rumney <jasonr@gnu.org>
826
827 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
828 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 829 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 830
86928dfb
GM
8312001-11-10 Gerd Moellmann <gerd@gnu.org>
832
fa336b91 833 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
834 instead of malloc/free.
835
40ef1eda
PJ
8362001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
837
ab8469eb
PJ
838 * xfaces.c (merge_face_vectors): Use braces to follow GNU
839 Coding Standards.
840 (Finternal_set_lisp_face_attribute): Likewise.
841
a78e0303
PJ
842 * buffer.c (Fbury_buffer): Likewise.
843
40ef1eda
PJ
844 * indent.c (current_column_1): Remove unused variable `prev_col'.
845
fabf4a91
PJ
846 * coding.c (encode_coding): Use precomputed value of `src'.
847 (encode_coding): Remove unused variable `src_end'.
848 (code_convert_region): Remove unused variables `count'.
849
0c99b139
JR
8502001-11-07 Jason Rumney <jasonr@gnu.org>
851
852 * w32term.c (x_display_and_set_cursor): Do not move system caret
853 if cursor_glyph is NULL.
854
830ddd77
PJ
8552001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
856
857 * keymap.c (access_keymap): Fix compilation error.
858
55c6d645
MB
8592001-11-07 Miles Bader <miles@gnu.org>
860
861 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
862
5de38842
PJ
8632001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
864
7a4564a4
PJ
865 * intervals.c (graft_intervals_into_buffer):
866 Remove #ifdef'd-out code.
867 (graft_intervals_into_buffer): Remove unused variable `middle'.
868
5de38842
PJ
869 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
870 code (eval-current-buffer).
871 Change doc-string comments to `new style' [w/`doc:' keyword].
872
4fa23df5
RS
8732001-11-06 Richard M. Stallman <rms@gnu.org>
874
875 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
876
7a6a97d7
SM
8772001-11-06 Stefan Monnier <monnier@cs.yale.edu>
878
c191d13c
SM
879 * lread.c (read1): Fix behavior with nested backquoting.
880
7a6a97d7
SM
881 * keyboard.c (make_lispy_event): Check integerness and fix
882 Lisp_Object/int mixup.
883
44dc78e0
PJ
8842001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
885
886 * fns.c (copy_hash_table): Remove unused variable `v'.
887
17893c65
PJ
888 * fontset.c (fontset_font_pattern): Remove unused variable
889 `family_registry'.
890
4d994a79
PJ
891 * indent.c (current_column_1): Remove unused variable `prev_col'.
892
d5360cc7
RS
8932001-11-05 Richard M. Stallman <rms@gnu.org>
894
895 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
896
897 * buffer.c (Fkill_buffer): Don't delete auto save file
898 if buffer is modified.
899
96238a5a
AI
9002001-11-05 Andrew Innes <andrewi@gnu.org>
901
902 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
903 CHECK_NUMBER_CDR.
904
d9d54213
RS
9052001-11-05 Richard M. Stallman <rms@gnu.org>
906
907 * unexelf.c (unexec): Minor changes; clean up comments.
908
b116830b
SS
9092001-11-05 Sam Steingold <sds@gnu.org>
910
911 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
912
3297e2a1
AS
9132001-11-05 Andreas Schwab <schwab@suse.de>
914
915 * sound.c (sound_perror): Save errno from being clobbered.
916
9212319f 9172001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
918
919 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
920 the program image directly.
921
7dd73b78
PJ
9222001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
923
924 * buffer.h (Fbuffer_local_value): Add prototype.
925
982f6c7e
RS
9262001-11-04 Richard M. Stallman <rms@gnu.org>
927
d31053f9
RS
928 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
929 and CHECK_BUFFER.
930
931 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
932 (record_char): Likewise.
933
934 * keyboard.c (make_lispy_event): Don't insist a drag event must
935 move to a different buffer position. Instead, check for moving at
936 least double_click_fuzz.
937
938 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
939
940 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
941
982f6c7e
RS
942 * indent.c (current_column_1, Fmove_to_column): Separate the code
943 for display-table glyphs from the code buffer text, to fix
944 bugs in the former.
945
830047fd
RS
9462001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
947
948 * buffer.c (Fbuffer_local_value): New function.
c191d13c 949 (syms_of_buffer): Defsubr it.
b116830b 950
830047fd
RS
951 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
952 value of `cursor-in-non-selected-windows'.
953
954 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
955 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
956 (syms_of_xdisp): Initialize it.
b116830b 957
2df5238c
PJ
9582001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
959
4e397688
PJ
960 * xfns.c (Fx_create_frame): Doc fix.
961
48b0f3ae
PJ
962 * coding.c: Change doc-string comments to `new style' [w/`doc:'
963 keyword].
964
2df5238c
PJ
965 * eval.c (top_level_value, top_level_set): Remove commented and
966 #ifdef'd-out code.
967 (Fdefvar): Fix usage in doc-string.
968
3ecaf7e5
RS
9692001-11-03 Richard M. Stallman <rms@gnu.org>
970
971 * xfns.c: Include unistd.h, if it exists.
972
973 * editfns.c: Move the include of ctype.h after unistd.h.
974
975 * gmalloc.c: Test BROKEN_PROTOTYPES.
976
8db2e33b
KR
9772001-11-03 Ken Raeburn <raeburn@gnu.org>
978
979 * lisp.h (CHECK_STRING_CAR): New macro.
980 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
981 treating XCAR and XCDR as lvalues.
982 (openp): Use CHECK_STRING_CAR.
983 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
984
aed29b97
EZ
9852001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
986
987 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 988 (SIGMASKTYPE): Define.
aed29b97
EZ
989
990 * syssignal.h (sigunblock): Don't define if already defined.
991
6cb16f95
PJ
9922001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
993
16b45be4
EZ
994 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
995 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
996 Fix typos in comments.
997
020f9b38
PJ
998 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
999 and #ifdef'd-out code.
1000 Fix and reindent comments.
1001
c191d13c 1002 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1003
6cb16f95
PJ
1004 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1005 argument `i' in macros.
1006
1007 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1008 `i' in macros.
1009
16b45be4
EZ
1010 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1011 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1012 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1013 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1014 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1015 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1016 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1017 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1018 in macros.
1019
1020 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1021 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1022 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1023 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1024 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1025 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1026 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1027 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1028 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1029 (remove unused second argument).
1030
7e9d3c2f
SM
10312001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1032
1033 * syntax.c (describe_syntax): New wrapper.
1034 (Finternal_describe_syntax_value): Rename from describe_syntax.
1035 Don't insert space at front and \n at the end.
1036 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1037
1038 * regex.c (re_wctype): Try to fix some warnings.
1039 (regcomp, regexec): Don't forget the __restrict.
1040
e6bff182
RS
10412001-11-02 Richard M. Stallman <rms@gnu.org>
1042
1043 * textprop.c (Fget_char_property): Doc fix.
1044
9ba48103
PJ
10452001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1046
1047 * process.c (Fstart_process): Add usage to doc-string.
1048
1049 * data.c (Fsetq_default): Ditto.
1050
1051 * callint.c (Finteractive): Ditto.
1052
c22e59e1
SM
10532001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1054
1055 * macros.c: Don't include keymap.h any more.
1056
9271ed2c
RS
10572001-11-01 Richard M. Stallman <rms@gnu.org>
1058
e6bff182
RS
1059 * data.c (Fmake_local_variable): Doc fix.
1060
1061 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1062 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1063
9271ed2c
RS
1064 * keymap.c (Fdescribe_buffer_bindings): Print character property
1065 bindings along with or instead of the buffer local map.
1066 Make the overriding maps override what they should.
1067
8b8bd9c6
PJ
10682001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1069
1070 * window.c (grow_mini_window): Fix typo in comment.
1071
27188d11
GM
10722001-11-01 Gerd Moellmann <gerd@gnu.org>
1073
7b49b9d2
GM
1074 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1075 (XTset_vertical_scroll_bar): Likewise.
1076
43f7c3ea
GM
1077 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1078 instead of IMAGE_BACKGROUND.
c22e59e1 1079
b350c2e5
GM
1080 * xfns.c (four_corners_best): Reindent.
1081
c22e59e1 1082 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1083 Handle :box so that it is possible to specify sexprs.
1084
d576358b
PJ
10852001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1086
1087 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1088 (Fface_font): Ditto.
1089 (Finternal_set_alternative_font_registry_alist): Ditto.
1090 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1091
1092 * xfns.c (x-get-resource): Reindent.
1093
bf00d461
EZ
10942001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1095
1096 * s/hpux11.h: New file.
1097
4e10df59
PJ
10982001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1099
2b209b97
PJ
1100 * emacs.c (USAGE1): Show command line option --no-window-system
1101 instead of --no-windows in usage.
1102 (standard_args): Rename --no-windows to --no-window-system.
1103 (bug_reporting_address): Follow Emacs coding conventions.
1104
9dbc9081
PJ
1105 * eval.c (Fcommandp): Doc fix.
1106 Change doc-string comments to `new style' [w/`doc:' keyword].
1107
4e10df59
PJ
1108 * frame.c (Fframe_live_p): Doc fix.
1109
1110 * buffer.c (selective-display-ellipses): Doc fix.
1111
dd387b25
GM
11122001-10-31 Gerd Moellmann <gerd@gnu.org>
1113
fe957e65
GM
1114 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1115
dd387b25
GM
1116 * xfaces.c (realize_x_face): If C is not a single-byte character,
1117 set the face's colors_copied_bitwise_p instead of the defaulted_p
1118 members which have a different meaning.
1119 (free_face_colors): Do nothing for a face whose colors have been
1120 copied bitwise.
1121
c22e59e1 1122 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1123
2e1280f8
PJ
11242001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1125
687784e8
PJ
1126 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1127 [w/`doc:' keyword].
2e1280f8 1128
b9d9a9b9
GM
11292001-10-31 Gerd Moellmann <gerd@gnu.org>
1130
1131 * fns.c (require_unwind): Return Lisp_Object.
1132
48400103
PJ
11332001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1134
fa1361cb
PJ
1135 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1136 (last-input-char): Revert doc-string to be the same as the
1137 doc-string of `last-input-event'.
1138
48400103
PJ
1139 * xdisp.c: Fix typos in comments.
1140
eafa3196
GM
11412001-10-31 Gerd Moellmann <gerd@gnu.org>
1142
1143 * window.c (grow_mini_window): Handle case that the root
1144 window is already smaller than the nominal mininum height.
1145
747d3f2a
SM
11462001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1147
bf9bb76f
SM
1148 * emacs.c (main): Don't call keys_of_macros any more.
1149
1150 * lisp.h (keys_of_macros): Remove.
1151
1152 * macros.c (keys_of_macros): Remove.
1153
747d3f2a
SM
1154 * xfaces.c (Fface_attribute_relative_p): Declare args.
1155
5e905a57
JR
11562001-10-30 Jason Rumney <jasonr@gnu.org>
1157
1158 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1159 (enum_font_cb2): Ignore fonts with vertical orientation.
1160
3a426197
RS
11612001-10-30 Richard M. Stallman <rms@gnu.org>
1162
1163 * keyboard.c (Finput_pending_p): Doc fix.
1164
a742d646
GM
11652001-10-30 Gerd Moellmann <gerd@gnu.org>
1166
259cf6bc
GM
1167 * xterm.c (x_after_update_window_line): Don't run the code
1168 clearing in borders for rows whose visible height is 0.
1169
3f99f948
GM
1170 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1171 resized_p flag is set. If not set, use the much less flickering
1172 method previously used.
1173
1174 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1175
1176 * frame.h (struct frame) <resized_p>: New member.
1177
b4a3be43
GM
1178 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1179 as large as the number of bytes to convert.
747d3f2a 1180
a742d646
GM
1181 * lread.c (to_multibyte): New function.
1182 (read1): Use it.
1183
cacbb9e9
EZ
11842001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1185
1186 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1187
99cb6b2f
GM
11882001-10-30 Gerd Moellmann <gerd@gnu.org>
1189
327f42ee 1190 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1191 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1192 if the row's fill_line_p is set and drawing the last glyph with
1193 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1194
99cb6b2f
GM
1195 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1196
8e8223e2
SM
11972001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1198
1199 * xmenu.c: Include coding.h and charset.h.
1200 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1201 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1202 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1203 Explicitly set wv->help. Use `TRUE' rather than `True'.
1204 (menu_help_callback): Use empty_string.
1205
1206 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1207 (Fx_popup_dialog): Explicitly init f.
1208 (w32_menu_display_help): Use empty_string.
1209
4d083a8f
RS
12102001-10-29 Richard M. Stallman <rms@gnu.org>
1211
b2304472
RS
1212 * fns.c (Frequire): Detect recursive try to require the same
1213 feature 3 or more levels deep, and get error.
1214 (require_unwind): New subroutine.
1215 (require_nesting_list): New variable.
1216 (syms_of_fns): Init and staticpro it.
1217
4d083a8f
RS
1218 * print.c (print_object): Clarify indication of insertion type.
1219
2fe41216
EZ
12202001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1221
90480000
EZ
1222 * coding.c (syms_of_coding): Document that locale-coding-system is
1223 used for decoding input on X.
1224
2fe41216
EZ
1225 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1226
74e79967
PJ
12272001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1228
1229 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1230 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1231
60ebcfe8
GM
12322001-10-29 Gerd Moellmann <gerd@gnu.org>
1233
9a7bdceb
GM
1234 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1235 use NO_CURSOR if cursor_in_non_selected_windows is false.
1236
3f08fcd2
GM
1237 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1238 the slant attribute if FRAME is t.
1239
0ccfdad2
GM
1240 * xfns.c (x_set_internal_border_width): Set frame garbaged
1241 when X window doesn't exist yet.
1242
ef253080
GM
1243 * xterm.c (x_after_update_window_line): Clear internal border
1244 in different circumstances.
b116830b 1245
60ebcfe8
GM
1246 * xterm.c (XTread_socket) <KeyPress>: Don't use
1247 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1248 <handa@etl.go.jp>.
1249
73d25f9c
EZ
12502001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1251
1252 * m/ibms390.h: New file. From Adam Thornton
1253 <athornton@sinenomine.net>.
1254
cac1daf0
GM
12552001-10-28 Gerd Moellmann <gerd@gnu.org>
1256
053b3256 1257 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1258
cac1daf0
GM
1259 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1260 a loop counter.
1261
13b1a09c
PJ
12622001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1263
186486eb
PJ
1264 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1265
4707d2d0
PJ
1266 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1267 keyword].
1268 Fix typos in comments.
b116830b 1269
d883731c
PJ
1270 * emacs.c (bug_reporting_address): New function.
1271 Use it when displaying usage message.
1272
04012254
PJ
1273 * minibuf.c (read_minibuf): Remove unused external declaration of
1274 variable `Qread_only'.
1275
13b1a09c
PJ
1276 * keymap.c (access_keymap): Remove unused variable `charset'.
1277
5bbf4378
MB
12782001-10-28 Miles Bader <miles@gnu.org>
1279
1280 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1281 Remove #ifdef'd-out code.
1282 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1283 (syms_of_xfaces): Initialize them.
1284
1ce1e4ee
JR
12852001-10-27 Jason Rumney <jasonr@gnu.org>
1286
1287 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1288 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1289 position using the system caret.
1290
1291 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1292 (w32_system_caret_height, w32_system_caret_x)
1293 (w32_system_caret_y): New variables for tracking system caret.
1294 (w32_initialize): Initialize them.
c2d53558 1295 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1296
c2d53558
SM
1297 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1298 New messages types.
1ce1e4ee
JR
1299
1300 * w32term.c (note_mouse_highlight): Clear old help_echo.
1301
4e30ce42
PJ
13022001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1303
bb4600a4
PJ
1304 * xterm.c: Fix typo in a comment.
1305
7db35a48
PJ
1306 * emacs.c: Fix typos in comments.
1307 Remove unnecessary spaces.
1308 Change doc-string comments to `new style' [w/`doc:' keyword].
1309 (USAGE2): Fix typos in usage string.
1310
a7248e4f
PJ
1311 * xterm.c: Fix typo in a comment.
1312
4e30ce42
PJ
1313 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1314 emacs.c.
1315
62725a92
GM
13162001-10-27 Gerd Moellmann <gerd@gnu.org>
1317
798dbe1f 1318 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1319 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1320 farther backward when target_y was not reached.
1321
62725a92
GM
1322 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1323 Display errno only if non-zero.
1324 (sound_warning): New function.
1325 (vox_configure): Don't treat failing to set sample rate as error.
1326 (various places): Improve error messages.
1327
d4e34d24
EZ
13282001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1329
944e6f60
EZ
1330 * fileio.c (Faccess_file): Run the argument filename through
1331 Fexpand_file_name, before using it.
1332
d4e34d24
EZ
1333 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1334 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1335
38d2af0c
GM
13362001-10-26 Gerd Moellmann <gerd@gnu.org>
1337
da80a8d5
GM
1338 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1339
38d2af0c
GM
1340 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1341 Fix clearing in the case of scroll bars on the right.
c2d53558 1342
56f508dd
EZ
13432001-10-26 Juanma Barranquero <lektu@terra.es>
1344
1345 * w32gui.h (XImage): Add a dummy typedef.
1346
fbd5ceb2
GM
13472001-10-26 Gerd Moellmann <gerd@gnu.org>
1348
c2d53558 1349 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1350
b23236fb
EZ
13512001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1352
1353 * frame.c (Fframe_parameter): Fix last change.
1354
5d991fc4
EZ
1355 * fileio.c: Revert last change (which removed old commented-out
1356 version of expand-file-name). Add a comment that explains why
1357 this old version should not be removed.
1358
879eadc3
GM
13592001-10-25 Gerd Moellmann <gerd@gnu.org>
1360
75700ff2
GM
1361 * frame.c (Fframe_parameter): Fix a bug whereby some
1362 ``artificial'' frame parameters, like `minibuffer' were not
1363 obtained by calling Fframe_parameters.
1364
dfe92a6a
GM
1365 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1366 cursor differently.
1367
879eadc3
GM
1368 * xdisp.c (move_it_vertically_backward): Compute line height
1369 differently. Add heuristic to try to be more compatible to 20.x.
1370
e1010ebe
SM
13712001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1372
d73a471b
SM
1373 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1374
d6da5a06
GM
1375 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1376 boolean.
e1010ebe 1377
f66bd220
MB
13782001-10-25 Miles Bader <miles@gnu.org>
1379
1380 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1381 BG is a pointer to a structure, not a structure.
1382 (gif_format, png_format): Add missing commas.
1383
d436d538
RS
13842001-10-24 Richard M. Stallman <rms@gnu.org>
1385
1386 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1387 (syms_of_xfaces): Defsubr it.
d436d538 1388
075c507b
PJ
13892001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1390
1391 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1392 variable `area'.
1393
d492b584
PJ
13942001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1395
c2d53558 1396 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1397
e2a57b34
MB
13982001-10-25 Miles Bader <miles@gnu.org>
1399
1400 * dispextern.h (struct image): Add `background',
1401 `background_valid', and `background_transparent' fields.
1402 (image_background, image_background_transparent): New declarations.
1403 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1404 * xfns.c (image_background, image_background_transparent)
1405 (four_corners_best): New functions.
c2d53558 1406 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1407 (gs_format): Add `:background' entry.
1408 (lookup_image): Set IMG's background color if specified.
1409 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1410 when appropriate.
1411 (x_clear_image_1): Reset `background_valid' and
1412 `background_transparent_valid' fields.
1413 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1414 calculating it here. Set IMG's background_transparent field.
1415 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1416 (enum png_keyword_index): Add PNG_BACKGROUND.
1417 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1418 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1419 (enum gif_keyword_index): Add GIF_BACKGROUND.
1420 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1421 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1422 Pre-calculate image background color where necessary.
1423 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1424 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1425 color to use for image glyph reliefs.
1426
b547b6e8
GM
14272001-10-24 Gerd Moellmann <gerd@gnu.org>
1428
d9e3b8c6
GM
1429 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1430 in full-width rows.
c2d53558 1431
b547b6e8
GM
1432 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1433 Fix clearing of area not covered by scroll bar.
1434
2beb36f9
PJ
14352001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1436
1437 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1438 and `real_start'.
c2d53558 1439 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1440 (glyph_rect): Remove unused variable `area'.
1441
76cb5e06
GM
14422001-10-24 Gerd Moellmann <gerd@gnu.org>
1443
bdbdebff 1444 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1445
1446 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1447 (row_containing_pos): Take additional argument DY.
1448 Treat rows ending in middle of char differently.
62e33982
GM
1449 (display_line): Handle tabs on window systems differently.
1450
1451 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1452 with additional argument.
1453
1454 * dispextern.h (row_containing_pos): Adjust prototype.
1455
76cb5e06
GM
1456 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1457 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1458 (try_window_id, try_window_reusing_current_matrix)
1459 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1460 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1461
996fee11
PJ
14622001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1463
c9e60620
PJ
1464 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1465 gnuemacs).
1466 (HAVE_BOXES): Fix typo in comment.
1467 (push_menu_pane): Fix typo in comment.
1468
3b552d56
PJ
1469 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1470 of `Qwhen'.
1471 (single_display_prop_string_p): Remove unused local declarations
1472 of `Qwhen' and `Qmargin'.
1473 (string_buffer_position): Remove unused variable `around'.
1474 (store_frame_title): Remove unused variable `width'.
1475
15c565ac
PJ
1476 * window.c: Don't define max.
1477 (coordinates_in_window): Remove unused variable `uy'.
1478
a8818eb9
PJ
1479 * widget.c: Don't define max.
1480
996fee11
PJ
1481 * process.c: Don't define max.
1482 (create_process): Remove unused variable `buffer'.
1483
496e1a5b
GM
14842001-10-23 Gerd Moellmann <gerd@gnu.org>
1485
c2d53558 1486 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1487
5905ae8b
EZ
14882001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1489
1490 * xfaces.c (Finternal_set_lisp_face_attribute)
1491 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1492 frame is on a windowed display.
1493
24db49fb
GM
14942001-10-23 Gerd Moellmann <gerd@gnu.org>
1495
c2d53558
SM
1496 * dispnew.c (sync_window_with_frame_matrix_rows):
1497 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1498 of marginal areas.
1499
c2d53558 1500 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1501
f0487f05
EZ
15022001-10-23 Andreas Schwab <schwab@suse.de>
1503
1504 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1505 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1506
f0a48a01
GM
15072001-10-23 Gerd Moellmann <gerd@gnu.org>
1508
c2d53558 1509 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1510 REAL_END. Notice if cursor gets overwritten.
1511 (notice_overwritten_cursor): Take X positions as parameters.
1512 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1513 around call to x_draw_glyphs.
1514
a50a10a0
PJ
15152001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1516
fc11dff0
PJ
1517 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1518 instead of C) and usage.
a50a10a0 1519
fc11dff0
PJ
1520 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1521 of C) and usage.
a50a10a0
PJ
1522
1523 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1524 `left', `max_width' and `max_height'.
1525
8738febd
GM
15262001-10-23 Gerd Moellmann <gerd@gnu.org>
1527
1528 * xdisp.c (display_line): For a tab continued to the next line,
1529 set row's ends_in_middle_of_char_p.
1530
653c329b
GM
15312001-10-22 Gerd Moellmann <gerd@gnu.org>
1532
1533 * xdisp.c (display_line): Fix computation of continuation lines
1534 width for TABs.
1535
f958c5ac
PJ
15362001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1537
7ba51063
PJ
1538 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1539 `Qlaplace'.
1540
f958c5ac
PJ
1541 * fileio.c: Remove unused code.
1542
eb360291
MB
15432001-10-22 Miles Bader <miles@gnu.org>
1544
1545 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1546 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1547 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1548
98515cf0
JR
15492001-10-21 Jason Rumney <jasonr@gnu.org>
1550
1551 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1552
93026d88
EZ
15532001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1554
1555 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1556 (Finsert_string): Avoid the multi-line string literals warning.
1557
c9a95b79
MB
15582001-10-22 Miles Bader <miles@gnu.org>
1559
1560 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1561 (Fdocumentation): Don't use it.
1562 (syms_of_doc): Don't initialize it.
1563
1564 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1565 * print.c (Fwith_output_to_temp_buffer): Likewise.
1566 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1567 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1568 (Fsave_restriction): Likewise.
c2d53558
SM
1569 * eval.c (Frun_hooks, Frun_hook_with_args)
1570 (Frun_hook_with_args_until_failure)
1571 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1572 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1573 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1574 (Funwind_protect, Fcondition_case): Likewise.
1575 * coding.c (Ffind_operation_coding_system): Likewise.
1576 * keyboard.c (Ftrack_mouse): Likewise.
1577
a3b10252
MB
15782001-10-21 Miles Bader <miles@gnu.org>
1579
c2d53558 1580 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1581 (Fmake_hash_table): Add usage: string to doc string.
1582 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1583 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1584 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1585 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1586 (Fml_prefix_argument_loop): Likewise.
1587
c6f73eec
PJ
15882001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1589
c2d53558 1590 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1591
c6f73eec
PJ
1592 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1593 style' [w/`doc:' keyword].
1594
1595 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1596 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1597 comments to `new style' [w/`doc:' keyword].
1598
3cf3436e
JR
15992001-10-21 Jason Rumney <jasonr@gnu.org>
1600
1601 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1602
c169b8f1
JR
1603 * w32term.c (remember_mouse_glyph): New function.
1604 (w32_mouse_position): Use it.
1605 (note_mouse_movement): If the mouse moved off the glyph, remember
1606 its new position.
c2d53558 1607
4fdd691b
JR
1608 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1609 (w32_display_info): Add mouse_face_overlay.
1610
c169b8f1
JR
1611 * w32term.c (notice_overwritten_cursor): Renamed from
1612 note_overwritten_text_cursor. Rewritten to take glyph widths into
1613 account.
1614 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1615 (fast_find_string_pos): New function.
1616 (fast_find_position): Return the correct vpos. Add parameter
1617 STOP. In the final row, stop before glyphs having STOP as object.
1618 Don't consider glyphs that are not from a buffer.
1619 (fast_find_position) [0]: Add a presumably more correct version
1620 for after 21.1.
1621 (expose_window_tree, expose_frame): Don't compute intersections here.
1622 (expose_window): Do it here instead.
1623 (expose_window_tree, expose_window, expose_line): Return 1 when
1624 overwriting mouse-face.
1625 (expose_window): If W is the window currently being updated, mark
1626 the frame garbaged.
1627 (expose_frame): If mouse-face was overwritten, redo it.
1628 (x_use_underline_position_properties): New variable.
1629 (syms_of_xterm): DEFVAR_BOOL it.
1630 (x_draw_glyph_string): Add comment to use it in future.
1631 (x_draw_glyph_string): Restore clipping after drawing box.
1632 Fix a computation of the underline position.
1633 (w32_get_glyph_string_clip_rect): Minor cleanup.
1634 (x_fill_stretch_glyph_string): Remove an assertion.
1635 (x_produce_glyphs): Don't convert multibyte characters
1636 to unibyte characters in unibyte buffers.
1637 (cursor_in_mouse_face_p): New function.
1638 (x_draw_stretch_glyph_string): Use it to choose a different GC
1639 when drawing a cursor within highlighted text. Don't draw
1640 background again if it has already been drawn.
1641 (x_draw_glyph_string_box): Don't draw a full-width
1642 box just because the glyph row's full_width_p flag is set.
1643 (x_draw_glyphs): Fix computation of rightmost x for
1644 full-width rows.
1645 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1646 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1647 change bottom shadow accordingly. Some cleanup.
1648 (x_update_window_end): Handle overwritten mouse face
1649 also for tool bar windows.
1650 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1651 DRAW is DRAW_IMAGE_RAISED.
1652 (clear_mouse_face): Return 1 if text with mouse face was
1653 actually redrawn. Make the function static. Reset
1654 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1655 optimize away highlighting if we pass over that same overlay again.
1656 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1657 to detect a case where we have to highlight a different region
1658 despite not having left the currently highlighted region.
1659 Set mouse_face_overlay in the x_display_info. Avoid changing the
1660 mouse pointer shape when show_mouse_face has already done it, or
1661 there is no need. Handle mouse-face and help-echo in strings.
1662 (glyph_rect): New function.
1663 (w32_mouse_position): Use it to raise the threshold for mouse
1664 movement event generation.
1665 (w32_initialize_display_info): Initialize the x_display_info's
1666 mouse_face_overlay.
1667 (w32_set_vertical_scroll_bar): Don't clear a zero height
1668 or width area.
1669 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1670 a widget to zero height.
1671
3cf3436e 1672 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1673 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1674 equivalents in menu_items.
1675 (w32_menu_show): Don't overwrite an item's name with its key
1676 description in case the description is a multibyte string.
1677 (single_submenu): Some cleanup.
1678
1679 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1680 (postprocess_image): New function.
1681 (lookup_image): Call it for all image types except PostScript.
1682 (x_kill_gs_process): Call postprocess_image.
1683 (tiff_error_handler, tiff_warning_handler): New functions.
1684 (tiff_load): Install them as handlers.
1685 (x_kill_gs_process): Recognize if someone has cleared the image
1686 cache under us.
1687 (valid_image_p): Protect better against invalid image
1688 specifications. Previous code could signal an error.
1689 (Fx_hide_tip, Fshow_tip): Doc fix.
1690 (Fv_max_tooltip_size): New variable.
1691 (syns_of_xfns): DEFVAR_LISP it.
1692 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1693 window buffer to *tip* right after creating the frame. Set frame's
1694 window_width. Use a maximum tooltip size specified by
1695 Vx_max_tooltip_size, if that has valid contents.
1696 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1697 Make sure the tooltip is completely visible.
1698 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1699 (Fx_create_frame): Adjust the frame's height for presence
1700 of the tool bar before calling x_figure_window_size.
1701 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1702 when the window gets smaller.
1703 (x_set_foreground_color): Set frame's cursor_pixel.
1704 (x_set_foreground_color, x_set_background_color): Cleaned up.
1705 (x_set_font): Handle case of x_new_fontset returning the same name
1706 as before, although there was a change in fontsets.
1707
386ca361
MB
17082001-10-21 Miles Bader <miles@gnu.org>
1709
c2d53558 1710 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1711 (Flogxor): Add usage: string to doc string.
1712 * charset.c (Fstring): Likewise.
1713 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1714 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1715
14ff1ee0
PJ
17162001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1717
03be2694
PJ
1718 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1719
1720 * alloc.c: Reindent DEFUNs with doc: keywords.
1721
1722 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1723
14ff1ee0
PJ
1724 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1725 keyword].
1726
71431a0e
GM
17272001-10-20 Gerd Moellmann <gerd@gnu.org>
1728
6aa97356 1729 * (Version 21.1 released.)
71431a0e 1730
39f624fa
PJ
17312001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1732
c2d53558 1733 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1734
1735 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1736 0 because unused.
1737
1738 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1739 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1740 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1741
abcce93a
MB
17422001-10-20 Miles Bader <miles@gnu.org>
1743
1744 The following changes remove the glyph_row `inverse_p' field,
1745 which is never set anymore, due to other changes:
1746
1747 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1748 (reassert_line_highlight, change_line_highlight): Declarations removed.
1749 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1750 (line_hash_code, row_equal_p, fake_current_matrices)
1751 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1752 (update_frame_line, update_frame_line, update_frame_line):
1753 Don't use `inverse_p' field.
1754 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1755 change_line_highlight_hook.
1756 (XTreassert_line_highlight, x_change_line_highlight):
1757 Functions removed.
c2d53558 1758 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1759 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1760 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1761 `inverse_p' field.
c2d53558 1762 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1763 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1764 (w32_reassert_line_highlight, x_change_line_highlight):
1765 Functions removed.
1766 * w32console.c (reassert_line_highlight, change_line_highlight):
1767 Functions removed.
1768 (initialize_w32_display): Don't set reassert_line_highlight_hook
1769 or change_line_highlight_hook.
1770 (hl_mode): Function removed.
c2d53558
SM
1771 (reset_terminal_modes, set_terminal_modes, update_begin)
1772 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1773 (clear_frame, ins_del_lines): Don't call it.
1774 * termhooks.h (reassert_line_highlight_hook)
1775 (change_line_highlight_hook): Declarations removed.
1776 * term.c (reassert_line_highlight_hook)
1777 (change_line_highlight_hook): Variables removed.
1778 (reassert_line_highlight, change_line_highlight): Functions removed.
1779 * msdos.c (IT_reassert_line_highlight)
1780 (IT_change_line_highlight): Functions removed.
1781 (internal_terminal_init): Don't set reassert_line_highlight_hook
1782 or change_line_highlight_hook.
1783 (highlight): Variable removed.
c2d53558 1784 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1785 (IT_set_terminal_modes): Don't set or use it.
1786
1787 The following changes remove inverse-video support for terminals
1788 that use a `magic cookie' standout mode. Due to changes in the
1789 way mode-lines are displayed, such support no longer works
1790 anyway, and it's probable that almost no one uses such terminals
1791 anymore:
1792
1793 * term.c (standout_requested): Variable removed.
1794 (update_end, highlight_if_desired): Don't use it.
1795 (chars_wasted, copybuf): Variables removed.
1796 (write_standout_marker): Function removed.
c2d53558 1797 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1798 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1799 Don't use `chars_wasted' or `copybuf'.
1800 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1801 Set `costs_set' to true.
1802 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1803 `chars_wasted'.
1804 (clear_end_of_line): Function removed.
1805 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1806 (clear_to_end): Call `clear_end_of_line' instead of
1807 `clear_end_of_line_raw'.
54800acb
MB
1808 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1809 (term_init): Don't set them.
1810 Turn off any standout/underline modes that require magic cookies.
c2d53558 1811 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1812 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1813 Remove special processing for magic-cookie standout modes.
1814 (turn_off_face, turn_on_face): Remove special processing for
1815 underline magic-cookie glitch.
abcce93a 1816
0b5f679f
RS
18172001-10-19 Richard M. Stallman <rms@gnu.org>
1818
1819 * eval.c (syms_of_eval): Doc fixes.
1820
5a4a5bd4
GM
18212001-10-19 Gerd Moellmann <gerd@gnu.org>
1822
1823 * xdisp.c (redisplay_internal): Don't clear echo area if the
1824 mini-window is selected.
1825
79f1f96c
MB
18262001-10-19 Miles Bader <miles@gnu.org>
1827
b57c2708
MB
1828 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1829 doesn't take precedence if the affected property's value is nil.
1830
1831 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1832
79f1f96c
MB
1833 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1834 with fields and suggest using `forward-line' to avoid them.
1835 * editfns.c (Fline_beginning_position, Fline_end_position):
1836 Clarify documentation.
1837
ef879104
SM
18382001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1839
1840 * keymap.c (current_minor_maps): `override' only shadows its
1841 correspondent in minor-mode-map-alist, not the whole tail.
1842
97f4db8c
AI
18432001-10-18 Andrew Innes <andrewi@gnu.org>
1844
1845 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1846 optimization. The fontp->encoding array was not being initialized
1847 correctly when compiled with optimizations by MSVC.
1848
e6b70fd8
GM
18492001-10-18 Gerd Moellmann <gerd@gnu.org>
1850
30903479 1851 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1852
0e804d38
AI
18532001-10-17 Andrew Innes <andrewi@gnu.org>
1854
1855 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1856
1857 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1858 font_info.charset field.
1859
1860 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1861 rather than working it out by calling w32_codepage_for_font for
1862 every glyph.
1863
66e5868a
AI
18642001-10-17 Andrew Innes <andrewi@gnu.org>
1865
1866 * w32term.c (w32_read_socket): Determine clipping rectangle for
1867 the entire frame, including areas covered by scrollbars and the
1868 menubar. This avoids internal arguments about whether a frame is
1869 fully obscured or not.
1870
15b00083
GM
18712001-10-17 Gerd Moellmann <gerd@gnu.org>
1872
23e8bd86
GM
1873 * xdisp.c (try_window_id): Undo last change. Give up if
1874 window ends in strings.
30903479 1875
9c6ba6d1 1876 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1877 end if the rest of the window after the window end was already blank.
23e8bd86 1878
30903479 1879 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1880 for the release of 21.1.
1881
30903479 1882 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1883
945220bd
MB
18842001-10-17 Miles Bader <miles@gnu.org>
1885
1886 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1887 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1888 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1889 Change doc-string comments to `new style' [w/`doc:' keyword].
1890 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1891 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1892 out make-docfile.
1893
14242528
MB
18942001-10-16 Miles Bader <miles@gnu.org>
1895
1896 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1897
3ddf952f
GM
18982001-10-16 Gerd Moellmann <gerd@gnu.org>
1899
1900 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1901 *scratch*.
1902
f3fbd155
KR
19032001-10-16 Ken Raeburn <raeburn@gnu.org>
1904
1905 Avoid the assumption that car and cdr slots of cons cells are
1906 addressable lvalues; this allows for easier experimentation with
1907 other lisp implementations that may not permit such accesses for
1908 various reasons. Not quite complete -- buffer.c still needs some
1909 work, and w32/mac files need rechecking -- so compile-time
1910 enforcement is left disabled for now.
1911
1912 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1913 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1914 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1915 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1916 (XSETCAR, XSETCDR): New macros.
1917 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1918 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1919 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1920 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1921 XSETCDR.
1922 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1923 * buffer.c (record_buffer, Fbury_buffer)
1924 (swap_out_buffer_local_variables, recenter_overlay_lists)
1925 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1926 fields of a cons cell respectively.
1927 * callint.c (quotify_args, Fcall_interactively): Likewise.
1928 * ccl.c (Fregister_code_conversion_map): Likewise.
1929 * coding.c (detect_coding_system): Likewise.
1930 * composite.c (get_composition_id, make_composition_value_copy):
1931 Likewise.
30903479
SM
1932 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1933 (swap_in_symval_forwarding, set_internal, Fset_default)
1934 (Fmake_variable_buffer_local, Fmake_local_variable)
1935 (Fmake_variable_frame_local): Likewise.
f3fbd155 1936 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1937 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1938 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1939 * minibuf.c (get_minibuffer): Likewise.
1940 * search.c (Fmatch_data): Likewise.
1941 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1942 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1943 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1944 Likewise.
1945 * w32term.c (x_delete_display): Likewise.
1946 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1947 Likewise.
c2d53558 1948 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1949 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1950 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1951 (Fread_file_name): Use XSETCAR.
1952 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1953 CHECK_NUMBER_CDR.
1954 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1955 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1956 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1957 CHECK_NUMBER_CDR.
1958 * keyboard.c (read_char): Alter list traversal to avoid taking the
1959 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1960 (parse_menu_item): Use XSETCAR and XSETCDR.
1961 (reach_char_x_menu_prompt): Use XSETCAR.
1962 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1963 (Fcommand_execute): Use XSETCDR.
1964 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1965 (openp): Change list traversal to avoid using XCAR as lvalue.
1966 (read_list): Use XSETCDR.
1967 * process.c (wait_reading_process_input): Change wait_for_cell
1968 handling to avoid taking addresses of cons cell slots.
30903479
SM
1969 * xselect.c (x_own_selection, x_handle_selection_clear)
1970 (x_clear_frame_selections): Use XSETCDR.
1971 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1972 (x_handle_property_notify, x_get_foreign_selection)
1973 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1974
502150e5
PJ
19752001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1976
018ba359
PJ
1977 * buffer.c: Put doc strings in comments.
1978
30903479 1979 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1980
b56ba8de
SS
19812001-10-15 Sam Steingold <sds@gnu.org>
1982
1983 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1984
6a0b793a
PJ
19852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1986
30903479
SM
1987 * process.c (process-inherit-coding-system-flag)
1988 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1989 in comment.
1990
a1f17501 1991 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1992 arguments. Put doc strings in comments.
a65da641
PJ
1993
1994 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1995
aa601ad0
GM
19962001-10-15 Gerd Moellmann <gerd@gnu.org>
1997
30903479 1998 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1999
aa601ad0
GM
2000 * window.c (select_window_1): Unfreeze window start. Remove a
2001 doubled test for WINDOW being live.
2002
288148a1
PJ
20032001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2004
dd8d1e71
PJ
2005 * fns.c (Fmapconcat): Fix typo in a doc string.
2006
288148a1
PJ
2007 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2008
9f5eb4a3
GM
20092001-10-15 Gerd Moellmann <gerd@gnu.org>
2010
2011 * xterm.c (x_draw_glyph_string): Restore clipping after
2012 drawing box.
2013
dbae44c8
PJ
20142001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2015
30903479 2016 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2017
0c88c937
SM
20182001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2019
56378db4
GM
2020 * indent.c (skip_invisible): Use new retval of
2021 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2022
845e4cf4
SM
2023 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2024 If a parent is reached and noinherit is set, exit immediately.
2025 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2026
0c88c937
SM
2027 * s/ms-w32.h (EXEC_SUFFIXES):
2028 * s/msdos.h (EXEC_SUFFIXES):
2029 * process.h (EXEC_SUFFIXES): Remove.
2030
2031 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2032 (decode_suffixes): Remove.
2033
2034 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2035 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2036 (invisible_ellipsis_p): Remove.
0c88c937
SM
2037
2038 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2039 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2040 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2041 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2042 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2043
d19be8a9
PJ
20442001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2045
04d7d066
PJ
2046 * lisp.h (Ftop_level): Add prototype.
2047
d624284c
PJ
2048 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2049 (XTread_socket): Improve style of comments to follow other
2050 comments.
2051
a87414f9
PJ
2052 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2053 is already prototyped in included lisp.h).
2054
d19be8a9
PJ
2055 * frame.c (Fset_mouse_position): Improve style of comment to
2056 follow other comments.
2057 (Fset_mouse_pixel_position): Improve style of comment to follow
2058 other comments.
2059 (Fmake_frame_visible): Doc fix and typo in comment.
2060 (Fmake_frame_invisible): Doc fix and typo in comment.
2061 (Ficonify_frame): Fix typo in comment.
2062
c061c855
GM
20632001-10-14 Gerd Moellmann <gerd@gnu.org>
2064
37f6b5b6 2065 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2066 * term.c, alloc.c: Put doc strings in comments.
c061c855 2067
e641b454
GM
20682001-10-13 Gerd Moellmann <gerd@gnu.org>
2069
2070 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2071 Provide definitions for doc strings in comments.
2072
2073 * fns.c: Put doc strings in comments.
2074
51724e26
EZ
20752001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2076
2077 * dired.c (file_name_completion): Ignore a candidate directory if
2078 it matches an element in completion-ignored-extensions that ends
2079 in a slash.
2080 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2081 feature in the doc string.
2082 (Ffile_name_completion): Ditto.
2083
be5fc59b
SM
20842001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2085
5a1373f3
SM
2086 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2087
2088 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2089
2090 * lisp.h (Fprovide): Update prototype.
2091 (Ffeaturep, invisible_p): Remove.
2092
bbc4a3d3 2093 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2094 (DOLIST, LOOP_PROPVAL): New macros.
2095 (invisible_p, invisible_ellipsis_p): Use them.
2096 (invisible_noellipsis_p): New function.
2097 (syms_of_xdisp): Use empty_string.
2098
2099 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2100
2101 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2102 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2103
2104 * print.c (Fwith_output_to_temp_buffer): Align with
2105 internal_with_output_to_temp_buffer.
2106 (print_preprocess): Use traverse_intervals_noorder.
2107 (print_object): Update call to traverse_intervals.
2108
2109 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2110 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2111
2112 * intervals.c (traverse_intervals_noorder): New function.
2113 (search_for_interval, count_intervals): Use it.
2114 (traverse_intervals): Use less stack space and drop `depth' arg.
2115
2116 * fns.c (Ffeaturep): Add new `subfeature' arg.
2117 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2118 (Qsubfeatures): New var.
2119 (syms_of_fns): Initialize it.
2120
026f408d
SM
2121 * keymap.c (Fkey_description): Use empty_string.
2122 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2123 (syms_of_keymap): Setup inheritance between maps.
2124 Don't export Sdescribe_bindings_internal any more.
2125
be5fc59b
SM
2126 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2127
3365175e
GM
21282001-10-12 Gerd Moellmann <gerd@gnu.org>
2129
2130 * xterm.c (notice_overwritten_cursor): Renamed from
2131 note_overwritten_text_cursor. Rewritten to take glyph widths into
2132 account.
2133
2ab7765c
EZ
21342001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2135
2136 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2137 multi-line strings without a trailing "\n\".
2138
311346bb
PJ
21392001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2140
2141 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2142 defined.
2143
2168e04d
SM
21442001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2145
026f408d
SM
2146 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2147
c0ec53ad
SM
2148 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2149 * w32proc.c (sys_spawnve):
2150 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2151 * w32.c (check_windows_init_file):
2152 * sound.c (Fplay_sound):
026f408d 2153 * emacs.c (init_cmdargs):
c0ec53ad
SM
2154 * process.c (Fstart_process): Update calls to openp.
2155
2156 * callproc.c (Vexec_suffixes): New var.
2157 (Fcall_process): Update call to openp.
2158 (decode_suffixes): New function.
2159 (syms_of_callproc): Init exec-suffixes.
2160
2161 * lread.c (Vload_suffixes, default_suffixes): New vars.
2162 (openp): Take a lisp list of suffixes.
2163 Check for file-name-handlers even if the file was absolute already.
2164 (syms_of_lread): Declare load-suffixes.
2165 (Fload): Fix up call to openp.
2166 Don't bother checking for file-name-handler at the very beginning.
2167
f6333468
SM
2168 * keymap.h (Fcopy_keymap): Don't export.
2169
2170 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2171 (Vload_suffixes, Vexec_suffixes): Declare.
2172 (openp): Update prototype.
f6333468
SM
2173
2174 * emacs.c (empty_string): New var.
2175 (syms_of_emacs): Initialize it.
2176
2177 * search.c (wordify): Use it.
2178
2179 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2180 selected window if it's not displayed there. Handle the case
2181 when the window is dedicated.
2182 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2183
2184 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2185
2168e04d
SM
2186 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2187 Remove left_ok and right_ok.
2188 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2189 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2190 new meaning of b_property.
2191
2192 * syntax.c (update_syntax_table): Simplify.
2193 (Fforward_comment): Don't skip quoted chars when going backward.
2194
13d95cc0
GM
21952001-10-11 Gerd Moellmann <gerd@gnu.org>
2196
beb0990f
GM
2197 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2198 in case I is of some unsigned type, in which case
2199 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2200 comparison becomes bogus.
2201
cb938d46
GM
2202 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2203 (Fuser_full_name): Fix bug treating a float as a fixnum.
2204
2205 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2206
2207 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2208
13d95cc0
GM
2209 * lisp.h (circular_list_error): Add prototype.
2210
2211 * data.c (Qcircular_list): New variable.
2212 (circular_list_error): New function.
2213 (syms_of_data): Initialize it Qcircular_list.
2214
e35f6ff7
SM
22152001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2216
2217 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2218 casefiddle.c, buffer.c: Include keymap.h.
2219
619632ac
GM
22202001-10-10 Gerd Moellmann <gerd@gnu.org>
2221
2222 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2223 options. From Dave Love <d.love@dl.ac.uk>.
2224
5e5388f6
GM
22252001-10-09 Gerd Moellmann <gerd@gnu.org>
2226
2227 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2228 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2229
14a3dff7
GM
2230 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2231 unsigned char.
2232 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2233
76ba8daf
AI
22342001-10-08 Andrew Innes <andrewi@gnu.org>
2235
2236 * lisp.h [max]: Undef min and max before redefining them.
2237
2238 * w32gui.h: Do not undef min and max.
2239
2240 * w32heap.h: Do not undef min and max.
2241
2242 * s/ms-w32.h: Do not undef min and max.
2243
166253cb
SM
22442001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2245
2246 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2247
0c4d9527
SS
22482001-10-08 Sam Steingold <sds@gnu.org>
2249
2250 * keymap.c (current-active-maps): Quote newlines (compilation error).
2251
14bfa771
EZ
22522001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2253
2254 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2255 bindings.elc, since otherwise doc strings in bindings.el get wrong
2256 offsets in etc/DOC.
2257
bdb7aa47
SM
22582001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2259
9985827f
SM
2260 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2261
2262 * keyboard.h (map_prompt): Remove.
2263
2264 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2265 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2266
bdb7aa47
SM
2267 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2268
2269 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2270
2271 * keyboard.c (map_prompt): Remove.
2272 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2273 Use Fkeymap_prompt.
2274
2275 * keymap.h: New file. Extracted from lisp.h.
2276
9985827f
SM
2277 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2278 (accessible_keymaps_1): New function.
2279 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2280 (Fwhere_is_internal): Use Fcurrent_active_maps.
2281 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2282 Insert in current buffer rather than standard-output.
2283 Don't call `help-mode'. Export to elisp.
2284 (describe_buffer_bindings): New wrapper.
2285 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2286 and Sdescribe_buffer_bindings.
2287
402c9a51
GM
22882001-10-08 Gerd Moellmann <gerd@gnu.org>
2289
9985827f 2290 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2291 Remove code setting signal handler.
2292
9985827f 2293 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2294 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2295
3fe81fdf
PJ
22962001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2297
2298 * keyboard.c: Don't define min/max.
2299
55fa7820
GM
23002001-10-08 Gerd Moellmann <gerd@gnu.org>
2301
9985827f 2302 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2303 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2304 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2305 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2306 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2307 Don't define min/max.
2308
2309 * lisp.h (min, max): New macros.
2310
55fa7820
GM
2311 * puresize.h (BASE_PURESIZE): Increase to 725000.
2312
1aad31e4
PJ
23132001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2314
9180dc8c
PJ
2315 * xfaces.c (free_frame_menubar): Add prototype.
2316
01f67d2c
PJ
2317 * lisp.h (init_window): Add prototype.
2318
2319 * editfns.c: Include ctype.h.
2320
2321 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2322 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2323 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2324 variable `sb'.
2325
5f351ff1
PJ
2326 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2327 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2328 `popup_activated_flag' and `title'.
2329
479dfe87
PJ
2330 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2331
dff49fc8
PJ
2332 * emacs.c (main): Remove extra `;'.
2333
248ac615
PJ
2334 * atimer.h (struct atimer): Fix typos in a comment.
2335
2336 * atimer.c: Fix typo.
2337
af232c7d
PJ
2338 * Makefile.in: Fix typo.
2339
2340 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2341
d876f455
MB
23422001-10-07 Miles Bader <miles@gnu.org>
2343
2344 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2345
0037e2f2
KR
23462001-10-07 Ken Raeburn <raeburn@gnu.org>
2347
b056f36d
KR
2348 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2349 Lisp_Object.
2350
0037e2f2
KR
2351 * lisp.h (Ffield_end): Declare.
2352
1a4372ef
GM
23532001-10-07 Gerd Moellmann <gerd@gnu.org>
2354
a4a74e8c
GM
2355 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2356
2357 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2358
2359 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2360
2361 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2362
1a4372ef
GM
2363 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2364 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2365
2366 * alloc.c (inhibit_garbage_collection): Simplify.
2367 (Fmemory_use_counts): Ditto.
2368
9985827f 2369 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2370 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2371 most-negative-fixnum.
2372
9985827f 2373 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2374 (FIXNUM_OVERFLOW_P): New macros.
2375
4650e362
MB
23762001-10-06 Miles Bader <miles@gnu.org>
2377
2378 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2379 scroll_bar_bottom_shadow_pixel fields.
2380 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2381 for the shadows, and tell the toolkit about them if we succeed.
2382 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2383 Free scroll-bar shadow colors.
2384 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2385 Free scroll-bar shadow colors when the background color changes.
2386 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2387 Initialize scroll-bar shadow-color fields.
2388
ace64e0a
GM
23892001-10-05 Gerd Moellmann <gerd@gnu.org>
2390
2391 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2392
ec66bdc7
MB
23932001-10-05 Miles Bader <miles@gnu.org>
2394
9985827f
SM
2395 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2396 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2397 New functions (were in simple.el).
9985827f 2398 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2399 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2400 (syms_of_minibuf): Initialize them.
2401
a0fb4492
GM
24022001-10-05 Gerd Moellmann <gerd@gnu.org>
2403
2404 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2405 (tiff_load): Install them as error and warning handler.
2406
0bcf87c1
AI
24072001-10-04 Andrew Innes <andrewi@gnu.org>
2408
2409 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2410 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2411 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2412 (x_to_w32_charset): Handle private format for unknown charsets.
2413 Handle wildcards in charset spec, by ignoring them.
2414 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2415 "*-" prefix from charset.
2416 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2417 handle the truncated font spec form constructed by font_list_1, so
2418 that we correctly identify the charset fields. Don't remove "*-"
2419 prefix from charset.
2420 (w32_list_synthesized_fonts): Fix argument to alloca.
2421
c89e4bc5
GM
24222001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2423
2424 * window.h (MINI_WINDOW_P): Use NILP.
2425
2426 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2427
2428 * termhooks.h (struct input_event): Use proper type for `kind'.
2429
24302001-10-04 Gerd Moellmann <gerd@gnu.org>
2431
2432 This handles unknown keysyms better than before. For example,
2433 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2434 Emacs formerly completely ignored F5. With the change, it derives
2435 a key symbol from the name of the X keysym, `ccaron' in this case.
2436 Reported by Martin Buchholz.
2437
2438 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2439 unknown keysyms.
2440
2441 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2442 that EVENT->code isn't a function key, use the keysym's name.
2443
24442001-10-04 Gerd Moellmann <gerd@gnu.org>
2445
2446 FOREACH is a macro that should make it easier to loop over Lisp
2447 lists with checks for cycles and proper lists.
2448
2449 * lisp.h (LIST_END_P, FOREACH): New macros.
2450
24512001-10-04 Gerd Moellmann <gerd@gnu.org>
2452
2453 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2454 called for a lost connection. Prevent dumping core in this case.
2455 Instead print the X error, and exit. On user request.
2456
2457 * xterm.c (error_msg): New variable.
2458 (x_fatal_error_signal): New function.
2459 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2460 as fatal_error_signal_hook around the call to XtCloseDisplay.
2461
2462 * emacs.c (fatal_error_signal_hook): New variable.
2463 (fatal_error_signal): Call that function.
2464
24652001-10-04 Gerd Moellmann <gerd@gnu.org>
2466
2467 With this, Emacs prints how much pure storage it will
2468 approximately need in case pure storage overflows while dumping.
2469
2470 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2471 New variables.
2472 (init_alloc_once): Initialize new variables.
2473 (PURE_POINTER_P): Use new variables.
2474 (pure_alloc): If pure storage overflows, allocate from the heap.
2475 (check_pure_size): New function.
2476 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2477
2478 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2479 (check_pure_size): Add prototype.
2480
2481 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2482
24832001-10-04 Gerd Moellmann <gerd@gnu.org>
2484
2485 This adds a post-gc-hook that's run with GC inhibited.
2486 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2487
2488 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2489 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2490 (Fgarbage_collect): Run post-gc-hook.
2491
24922001-10-04 Gerd Moellmann <gerd@gnu.org>
2493
2494 This adds `defvaralias' and `indirect-variable'. Changes not
2495 directly related to this feature are there to gain the same
2496 performance again as before variable aliases.
2497
2498 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2499 code to get and set symbol values, to take defvaralias into account.
2500
2501 (Note: the new `constant' bit-flag in symbols would make it
2502 possible to define arbitrary read-only variables, e.g. with
2503 `defconst'.)
2504
2505 Documentation is in lispref/variables.texi. Added to NEWS.
2506
2507 * lisp.h (enum symbol_interned): New enumeration.
2508 (struct Lisp_Symbol): Remove member `obarray', add
2509 `indirect_variable', `constant', and `interned'.
2510 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2511 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2512 (indirect_variable): Add prototype.
2513
2514 * print.c (print_preprocess, print_object): Test internedness of
2515 symbols differently.
2516
2517 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2518 bit-fields.
2519 (init_obarray): Likewise for t and nil.
2520
2521 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2522 (Fdefvaralias): New function.
2523 (specbind): Simplify the test if symbol is a constant.
2524 (syms_of_eval): Defsubr Fdefvaralias.
2525
2526 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2527 (Qcyclic_variable_indirection): New variable.
2528 (Fkeywordp): Check for internedness differently.
2529 (Fmakunbound): Simplify the test if symbol is a constant.
2530 (indirect_variable, Findirect_variable): New functions.
2531 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2532 aliased symbol.
2533 (let_shadows_buffer_binding_p): Check for variable aliases.
2534 (set_internal): Simplify the test if SYMBOL is a constant.
2535 If SYMBOL has a buffer-local value and is an alias, use the aliased
2536 symbol instead.
2537 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2538 Sindirect_variable.
2539
2540 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2541 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2542 set directly.
2543
2544 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2545
2546 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2547 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2548 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2549
ab952a4f
GM
25502001-10-04 Gerd Moellmann <gerd@gnu.org>
2551
2552 * Branch for 21.1.
b56ba8de 2553
ba88ff28
MB
25542001-10-03 Miles Bader <miles@gnu.org>
2555
2556 * callproc.c (syms_of_callproc): Explicitly state in the
2557 documentation for `process-environment' that earlier entries take
2558 precedence over later ones.
2559
ae1a9581
MB
25602001-10-02 Miles Bader <miles@gnu.org>
2561
2562 * textprop.c (Fnext_char_property_change)
2563 (Fprevious_char_property_change): Remove reference to non-existant
2564 argument OBJECT from doc-string.
2565
257e3f57
GM
25662001-10-01 Gerd Moellmann <gerd@gnu.org>
2567
2568 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2569 (try_window_id): Skip back over lines ending in a newline from a
2570 string.
2571
2572 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2573 New bit flag
2574
c1f29759
RS
25752001-10-01 Richard M. Stallman <rms@gnu.org>
2576
2577 * search.c (Freplace_match): Doc fix.
2578
c30dce3d
AI
25792001-09-28 Andrew Innes <andrewi@gnu.org>
2580
2581 * w32menu.c (set_frame_menubar): Take into account that
2582 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2583 <raeburn@gnu.org>.
2584
03be5931
EZ
25852001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2586
2587 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2588
75bec752
PJ
25892001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2590
2591 * s/gnu-linux.h: Fix a typo in comment.
2592
83100e0a
AS
25932001-09-28 Andreas Schwab <schwab@suse.de>
2594
2595 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2596 nocombreloc, in case -z combreloc is the default.
2597
a74b48cf
GM
25982001-09-28 Gerd Moellmann <gerd@gnu.org>
2599
2600 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2601 really going on here.
2602
09c4719e
SM
26032001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2604
2605 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2606
f7d5d963
EZ
26072001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2608
2609 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2610 utf-8, menu-bar, and latin-N.
2611 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2612 unconditionally now.
2613 (lisp): Add latin-N, since they are preloaded.
2614
9240e746
GM
26152001-09-27 Gerd Moellmann <gerd@gnu.org>
2616
14531065
GM
2617 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2618 to the left. Some cleanup.
2619
9240e746
GM
2620 * xdisp.c (display_mode_element): One more case where a string's
2621 multibyteness should be used for display.
2622
edd1e654
GM
26232001-09-26 Gerd Moellmann <gerd@gnu.org>
2624
b02439c8
GM
2625 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2626 reading at EOF.
2627
032906b1 2628 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2629 of the only temporarily set echoing flag for deciding when
032906b1
GM
2630 the cancel echoing.
2631
2632 * keyboard.c (echo_kboard): Make externally visible.
2633
2634 * lisp.h (echo_kboard): Declare extern.
2635
cb617e7c 2636 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2637 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2638 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2639 this round of redisplay if make_cursor_line_fully_visible fails.
2640 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2641 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2642
2643 * dispextern.h (required_matrix_width, required_matrix_height):
2644 Add prototypes.
2645
09c4719e
SM
2646 * dispnew.c (required_matrix_width, required_matrix_height):
2647 New functions.
cb617e7c 2648 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2649 (allocate_matrices_for_frame_redisplay: Use them.
2650 Remove parameters CH_DIM.
cb617e7c 2651
edd1e654
GM
2652 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2653 and selected_window to the frame of the window whose mode-lines
2654 are displayed, and to the window itself.
2655 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2656 here.
edd1e654 2657
924b604c
GM
26582001-09-25 Gerd Moellmann <gerd@gnu.org>
2659
daba7643
GM
2660 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2661 the image cache under us.
2662
b7a22712 2663 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2664 with a string value, use that string's multibyteness for displaying.
b7a22712 2665
ad648212
GM
2666 * keyboard.c (read_char): Don't clear a message for a switch-frame
2667 event. From Stefan Monnier <monnier@cs.yale.edu>.
2668
9f8531e5
GM
2669 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2670 version for after 21.1.
2671
2672 * xdisp.c (row_containing_pos): Make externally visible.
2673
2674 * dispextern.h (row_containing_pos): Add prototype.
2675
924b604c
GM
2676 * process.c (send_process): Disable composition if from_byte < 0.
2677 From Kenichi Handa <handa@etl.go.jp>.
2678
6f3f0db4
GM
26792001-09-24 Gerd Moellmann <gerd@gnu.org>
2680
c69c0ebc
GM
2681 * xterm.c (refreshicon): Function removed.
2682
d1182bc4
GM
2683 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2684
2685 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2686
2687 * xterm.c (toplevel): Remove includes in #if 0.
2688
6f3f0db4
GM
2689 * process.c (sigchld_handler) [LINUX]: Don't return from
2690 the signal handler at the end of the loop.
2691
59957f85
GM
26922001-09-21 Gerd Moellmann <gerd@gnu.org>
2693
09c4719e
SM
2694 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2695 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2696
a0528984
EZ
26972001-09-21 Markus Rost <rost@math.ohio-state.edu>
2698
2699 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2700
db92b288
GM
27012001-09-20 Gerd Moellmann <gerd@gnu.org>
2702
3fed8ad5
GM
2703 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2704 since this function can be called during GC.
2705
db92b288
GM
2706 * callproc.c (Fcall_process): Handle errors from pipe(2).
2707 (child_setup): Delete code in #ifdef vipc.
2708
7121b85a
GM
27092001-09-19 Gerd Moellmann <gerd@gnu.org>
2710
72f62cb5
GM
2711 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2712 (display_mode_element): Display the string from decode_mode_spec
2713 depending on its multibyteness.
2714
a2697022
GM
2715 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2716
7121b85a
GM
2717 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2718
bfc97351
GM
27192001-09-18 Gerd Moellmann <gerd@gnu.org>
2720
c9063433
GM
2721 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2722 recursive_edit_unwind.
2723 (recursive_edit_unwind): Set kboard state according to
2724 SINGLE-KBOARD.
2725
3fbdba3e
GM
2726 * buffer.c (modify_overlay): Don't do nothing if START == END;
2727 This can still be a modification, for example when an overlay has
2728 a before-string or after-string.
2729 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2730 an overlay with before-string or after-string.
2731
1270031d
GM
2732 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2733 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2734
bfc97351
GM
2735 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2736 first_unchanged_at_end_row is in front of
2737 last_unchanged_at_beg_row. This code should be removed after the
2738 release of 21.1.
2739
d8a973aa
GM
27402001-09-17 Gerd Moellmann <gerd@gnu.org>
2741
e18c8b8d
GM
2742 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2743 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2744
d8a973aa
GM
2745 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2746 versions >= 2.95.
2747
ed7d6ba4
EZ
27482001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2749
2750 * dired.c (Ffile_attributes): Doc fix.
2751
551629f9
GM
27522001-09-14 Gerd Moellmann <gerd@gnu.org>
2753
2754 * fileio.c (Ffile_symlink_p): Fix last change.
2755
2756 * filelock.c (current_lock_owner): Fix last change.
2757
4c8c7926
GM
27582001-09-13 Gerd Moellmann <gerd@gnu.org>
2759
620c4704
GM
2760 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2761 take that to mean that the buffer is too small.
2762
81c3310d
GM
2763 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2764 that to mean that the buffer is too small.
2765
06fd3792
GM
2766 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2767 current buffer's multibyteness when discarding the iterator's
2768 stack.
2769
4c8c7926
GM
2770 * xfns.c (Fx_window_property): Handle case that property gets
2771 deleted between the two calls to XGetWindowProperty.
2772
9a72e4c1
GM
27732001-09-11 Gerd Moellmann <gerd@gnu.org>
2774
bd819d14 2775 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2776
a41edd99
GM
2777 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2778 in addition to read-only.
2779
2780 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2781 to t in addition to read-only.
2782
2783 * lisp.h (Qinhibit_modification_hooks): Declare.
2784
2785 * insdel.c (Qinhibit_modification_hooks): New variable.
2786 (syms_of_insdel): Initialize and staticpro it.
2787
d4881c6a
GM
2788 * textprop.c (verify_interval_modification): Don't run
2789 modification-hooks if inhibit_modification_hooks.
2790
2791 * dispnew.c (set_window_cursor_after_update): Fix code
2792 finding glyph row containing cursor when cursor_in_echo_area
2793 is >= 0.
2794
9a72e4c1
GM
2795 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2796 (add_to_log): Use bcopy instead of strcpy.
2797 (init_from_display_pos): Use an explicit loop over bytes in
2798 overlay strings instead of calling index.
2799
f4a374a1
GM
28002001-09-10 Gerd Moellmann <gerd@gnu.org>
2801
300e57bd
GM
2802 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2803
2804 * dispnew.c (direct_output_for_insert): Don't change IT's
2805 stop_charpos to something in front of its current position.
2806
f4a374a1
GM
2807 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2808 `format'.
2809
7e4cbc91
RS
28102001-09-10 Richard M. Stallman <rms@gnu.org>
2811
2812 * frame.c (Fmouse_position): Doc fix.
2813
6afad91e
GM
28142001-09-07 Gerd Moellmann <gerd@gnu.org>
2815
2816 * xdisp.c (init_from_display_pos): Don't compare the result
2817 of calling index with NULL.
2818
f76e0368
GM
28192001-09-06 Gerd Moellmann <gerd@gnu.org>
2820
2821 * xfns.c (x_set_background_color): Don't change the colors
2822 of the X window of scroll bar widgets.
2823
9ead1b60
AI
28242001-09-05 Andrew Innes <andrewi@gnu.org>
2825
2826 * w32fns.c (w32_createwindow): Undo last change.
2827
c3b497b3
GM
28282001-09-05 Gerd Moellmann <gerd@gnu.org>
2829
08e1d6df
GM
2830 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2831
c3b497b3
GM
2832 * xdisp.c (string_buffer_position): Use *single_char_property*
2833 functions instead of the *single_property* functions.
b56ba8de 2834
8f860180
AI
28352001-09-04 Andrew Innes <andrewi@gnu.org>
2836
9a72e4c1
GM
2837 * w32term.c (w32_read_socket): Add more information to debugging
2838 output.
8f860180
AI
2839
2840 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2841 from Emacs frames, so that calls to GetClipBox in w32term.c
2842 correctly report when part of a frame is visible (including
2843 scrollbars, etc). This prevents repeated redrawing of frames when
2844 only a scrollbar is visible.
2845 (w32_wnd_proc): Add more frame information to debugging output.
2846
2ee1aa00
SM
28472001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2848
2849 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2850
e3b22517
GM
28512001-09-03 Gerd Moellmann <gerd@gnu.org>
2852
7e376260
GM
2853 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2854 help-echo for a string which doesn't have help-echo itself, use
2855 get-char-property to obtain the help-echo from the string's buffer
2856 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2857 have mouse-face, look ``under'' the string for mouse-face from an
2858 overlay.
2859 (fast_find_position): Add parameter STOP. In the final row, stop
2860 before glyphs having STOP as object. Don't consider glyphs that
2861 are not from a buffer.
2862
e3b22517
GM
2863 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2864
9a249bba
EZ
28652001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2866
2867 * fns.c (Fmd5): Doc fix.
2868
c9979669
GM
28692001-08-31 Gerd Moellmann <gerd@gnu.org>
2870
2871 * composite.c (update_compositions): Do nothing if
2872 inhibit-modification-hooks is set.
2873
9584e63a
GM
28742001-08-30 Gerd Moellmann <gerd@gnu.org>
2875
986ec8f2 2876 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2877 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2878 glyph matrices etc. in a core dump.
2879
92a25631
GM
2880 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2881 (syms_of_xdisp): Initialize them.
2882 (handle_single_display_prop): Don't change point, bind `object',
2883 `position', and `buffer-position' instead to the object having the
2ee1aa00 2884 `display' property, position in the object and position in the buffer.
92a25631 2885
9584e63a
GM
2886 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2887 of the buffer if REPLACE is non-nil.
2888
d38633a3
GM
28892001-08-29 Gerd Moellmann <gerd@gnu.org>
2890
2891 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2892
f4fccc1e
EZ
28932001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2894
2895 * w32term.c (x_set_glyph_string_background_width)
2896 (show_mouse_face): Track the last changes in xterm.c.
2897
eaaa65b0
GM
28982001-08-28 Gerd Moellmann <gerd@gnu.org>
2899
7b0870b2
GM
2900 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2901 string's background width so that multi-line mouse-face is drawn
2902 to the right edge of the window.
2903 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2904 glyphs.
2905
6b6e2422 2906 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2907 before inserting/writing glyphs.
6b6e2422 2908
eaaa65b0
GM
2909 * xdisp.c (display_mode_element): Use string_byte_to_char to
2910 determine character positions in strings, use chars_in_text
2911 instead of strwidth.
2912 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2913 a matrix as parameter; this is easier to use from GDB.
2914
9ad62cf8
MB
29152001-08-28 Miles Bader <miles@gnu.org>
2916
2ee1aa00
SM
2917 * textprop.c (Fprevious_single_char_property_change)
2918 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2919
32171635
GM
29202001-08-27 Gerd Moellmann <gerd@gnu.org>
2921
47d57b22
GM
2922 * fileio.c (Finsert_file_contents): Allocate, restore, and
2923 free composition data in the case of REPLACE not being nil.
2924
2925 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2926 there exist overlay strings with newlines at POS.
2927 (text_outside_line_unchanged_p): Return 0 if changes start at
2928 START and overlays exist at START. Likewise for END.
2929 (try_window_id): Give up if init_to_row_end returns 0.
2930
32171635
GM
2931 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2932 unconditionally.
2933
e1249666
GM
29342001-08-24 Gerd Moellmann <gerd@gnu.org>
2935
33954c45
GM
2936 * keymap.c (access_keymap): Return the cdr of the binding of
2937 a generic character instead of its definition (KEY . BINDING).
2938
e1249666
GM
2939 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2940 to 0 also in the REPLACE case.
2941
fb4c6c96
AC
29422001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2943
2944 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2945 open to determine whether file is readable (as for DOS_NT).
2946
59ecf80b
GM
29472001-08-23 Gerd Moellmann <gerd@gnu.org>
2948
2949 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2950 coding.type is coding_type_no_conversion or coding_type_raw_text,
2951 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2952 non-nil instead of just setting enable_multibyte_characters in the
2953 buffer to nil.
2954
40e33037
GM
29552001-08-22 Gerd Moellmann <gerd@gnu.org>
2956
374388c3
GM
2957 * dispextern.h (struct face_cache): Add member
2958 menu_face_changed_p.
2959
2960 * xfaces.c (menu_face_changed_default): New variable.
2961 (menu_face_changed_count): Variable removed.
2962 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2963 the menu_face_changed_default flag, otherwise set the FRAME's
2964 menu_face_changed_p flag if the `menu' face has been changed.
2965 Prevent calling set_font_frame_param if FRAME is t.
2966 (make_face_cache): Initialize cache's menu_face_changed_p
2967 from menu_face_changed_default.
2968 (realize_basic_faces): Look into the frame's face cache to
2969 determine if the menu appearance needs updating.
2970
40e33037
GM
2971 * keymap.c (access_keymap): Fix last change to not consider
2972 IDX when it has modifiers.
2973
859ea4b8
GM
29742001-08-21 Gerd Moellmann <gerd@gnu.org>
2975
2976 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2977 . BINDING) exists, where GENERIC-CHAR is the generic character of
2978 the charset of IDX, return BINDING unless there exists a binding
2979 for IDX itself.
2980
e8660d73
GM
29812001-08-16 Gerd Moellmann <gerd@gnu.org>
2982
cca1b1d7
GM
2983 * xrdb.c (SYSV): Don't define on Solaris 2.
2984 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2985
e8660d73 2986 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2987 of the screen line, not text line, containing IT's current position.
e8660d73 2988
93aba6fc
GM
29892001-08-15 Gerd Moellmann <gerd@gnu.org>
2990
288d4e06
GM
2991 * window.c (window_scroll_pixel_based): Don't recenter if
2992 PT is partially visible in the window.
2993
3452efc2
SM
2994 * xterm.c (expose_window_tree, expose_window, expose_line):
2995 Return 1 when overwriting mouse-face.
82f053ab
GM
2996 (expose_frame): If mouse-face was overwritten, redo it.
2997
93aba6fc
GM
2998 * xfaces.c (x_update_menu_appearance): Don't call
2999 set_frame_menubar, let the next redisplay do it.
3000
858a55c1
AI
30012001-08-14 Andrew Innes <andrewi@gnu.org>
3002
3003 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3004 drawing glyph string.
3005
3a990b67
EZ
30062001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3007
3008 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3009 running HI-UX/MPP.
3010
04386463
GM
30112001-08-14 Gerd Moellmann <gerd@gnu.org>
3012
3013 * xfaces.c (x_update_menu_appearance): Save and restore value of
3014 interrupt_input_blocked.
3015
3e6385a4
GM
30162001-08-13 Gerd Moellmann <gerd@gnu.org>
3017
b0e619b4
GM
3018 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3019 a line start, move back to the line start.
3452efc2 3020
0de73d5a
GM
3021 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3022 exactly when a mini-buffer is active.
3023
3e6385a4
GM
3024 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3025 in units of 1/8 character on non window-system frames.
3026 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3027
d1b5f629
EZ
30282001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3029
3030 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3031 a doc string.
3032
eaa2319f
GM
30332001-08-09 Gerd Moellmann <gerd@gnu.org>
3034
8e3189f0
GM
3035 * keyboard.c (Vpre_help_message): New variable.
3036 (syms_of_keyboard): Initialize and staticpro it.
3037 (show_help_echo): Record current message before displaying a
3038 help-echo, and restore that message when clearing the help.
3039
eaa2319f
GM
3040 * xfns.c (x_create_im): Remove prototype.
3041
3042 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3043
3044 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3045
eaa2319f
GM
30462001-08-08 Gerd Moellmann <gerd@gnu.org>
3047
3048 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3049 windows whose height has changed, disable partially visible lines.
eaa2319f 3050
17fdcfc8
GM
30512001-08-07 Gerd Moellmann <gerd@gnu.org>
3052
22d01aed 3053 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3054 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3055
17fdcfc8
GM
3056 * xdisp.c (start_display): Don't try to determine the continuation
3057 lines width if lines are truncated. It's superfluous and leads to
3058 incorrect results if POS is not visible in the window after
3059 reseating the iterator at the previous line start.
3060
8e3fe78e
GM
30612001-08-06 Gerd Moellmann <gerd@gnu.org>
3062
3063 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3064
98a8938c
GM
30652001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3066
3067 * alloc.c (init_stack): Remove declaration.
3068
18f9986a
GM
30692001-08-03 Gerd Moellmann <gerd@gnu.org>
3070
5e1f85e0
GM
3071 * keyboard.c (read_key_sequence): Check that key is an integer
3072 before comparing it with quit_char.
3073 (add_command_key): Use larger_vector.
3074 (read_char_x_menu_prompt): Instead of converting symbol and
3075 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3076 which cannot be confused with valid events.
5e1f85e0
GM
3077 (read_char): When reading from Vunread_command_events, check for
3078 events of the form (EVENT . disabled) instead of
3079 (EVENT . nil).
3080
18f9986a
GM
3081 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3082 a float, determine the max height from the frame's height.
3083
fbc7f2a6
GM
30842001-08-02 Gerd Moellmann <gerd@gnu.org>
3085
3086 * xdisp.c (redisplay_internal): Take message_cleared_p into
3087 account only if minibuf_level == 0.
3088
81b1a79d
GM
30892001-08-01 Gerd Moellmann <gerd@gnu.org>
3090
e5c60873
GM
3091 * xdisp.c (redisplay_internal): Add a check for the last
3092 displayed message.
3452efc2 3093
6e019995
GM
3094 * xdisp.c (message_cleared_p): New variable.
3095 (clear_message): Set message_cleared_p when clearing the current
3096 message.
3097 (redisplay_internal): Look at message_cleared_p to capture
3098 the case that the echo area should be cleared.
3099
308a74d8
GM
3100 * keyboard.c (command_loop_1): Fix spelling of
3101 resize_echo_area_exactly.
3102
3452efc2 3103 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3104
3105 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3106
81b1a79d
GM
3107 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3108 current matrix when the window gets smaller.
3109
ada329e6
EZ
31102001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3111
3112 * print.c (strout): Cast the character passed to insert_char to
3113 unsigned char, to avoid sign extension when it is promoted to int.
3114
ed86208c
GM
31152001-07-31 Gerd Moellmann <gerd@gnu.org>
3116
3117 * fileio.c (Finsert_file_contents): Don't treat a return value
3118 of 0 from emacs_read as an IO error.
3119
6594ac22
GM
31202001-07-30 Gerd Moellmann <gerd@gnu.org>
3121
cef68af5
GM
3122 * keyboard.c (abs): New macro.
3123 (double_click_fuzz): New variable.
3124 (make_lispy_event): Use it to determine what makes a double-click.
3125 (syms_of_keyboard): DEFVAR_INT it.
3126
6594ac22
GM
3127 * xmenu.c (set_frame_menubar): Take into account that
3128 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3129 <raeburn@gnu.org>.
3130
75c5350a
GM
31312001-07-27 Gerd Moellmann <gerd@gnu.org>
3132
3133 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3134
3135 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3136 of row's visible height.
3137
3138 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3139 deal with the first overlay string having an image `display' property.
3140 (try_window_reusing_current_matrix, compute_line_metrics):
3141 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3142 row is invisible above and part of the row is at the same time
3143 invisible below the window.
3144
ac49effe
GM
31452001-07-26 Gerd Moellmann <gerd@gnu.org>
3146
3147 * xfns.c (x-show-tip): Doc fix.
3452efc2 3148
ac49effe
GM
3149 * xfns.c (Vx_max_tooltip_size): New variable.
3150 (syms_of_xfns): DEFVAR_LISP it.
3151 (Fx_show_tip): Set frame's window_width to the width of the
3152 window. Use a maximum tooltip size specified by
3153 Vx_max_tooltip_size, if that has valid contents.
3154 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3155
8c3b00cb
AI
31562001-07-26 Andrew Innes <andrewi@gnu.org>
3157
3158 * w32term.c (x_display_list): New variable.
3159 (w32_term_init): Set it.
3160
3161 * w32term.h (x_display_list): New extern.
3162
16098288
GM
31632001-07-26 Gerd Moellmann <gerd@gnu.org>
3164
3165 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3166 is non-nil, instead of when redisplaying_p is non-zero.
3167 See comment there.
16098288
GM
3168 (mark_window_display_accurate_1): Add an assertion.
3169
64c5be50
GM
31702001-07-25 Gerd Moellmann <gerd@gnu.org>
3171
e743f599
GM
3172 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3173
563b384d
GM
3174 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3175 events so that we get a chance of processing expose events.
3176
64c5be50
GM
3177 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3178
296808a5
GM
31792001-07-24 Gerd Moellmann <gerd@gnu.org>
3180
3181 * xfns.c (valid_image_p): Protect better against invalid image
3182 specifications. Previous code could signal an error.
3183
5247262a
GM
31842001-07-23 Gerd Moellmann <gerd@gnu.org>
3185
3452efc2 3186 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3187 presence of display table entries.
3188 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3189
dd42b31a
GM
3190 * dispnew.c (adjust_glyph_matrix): In the optimization for
3191 windows whose height has changed, use the new window height
3192 to compute which rows to invalidate.
3193
9e5a7f2a
GM
3194 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3195 (MAX_10_EXP): New macro.
3196 (Fformat): Use it.
3197
5247262a
GM
3198 * coding.c (code_convert_region): Handle the multibyte case if
3199 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3200
177ab8ce
GM
32012001-07-20 Gerd Moellmann <gerd@gnu.org>
3202
6e07c0a5
GM
3203 * dispextern.h (struct face): Change type of `stipple' to
3204 int; it's an ID.
3205
177ab8ce
GM
3206 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3207
b5b80599
GM
32082001-07-19 Gerd Moellmann <gerd@gnu.org>
3209
4e2a256b
GM
3210 * dispnew.c (update_window): Don't set the cursor at the end
3211 of the update if display update has been paused.
3212
3452efc2 3213 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3214
c1fd9232
KR
32152001-07-18 Ken Raeburn <raeburn@gnu.org>
3216
3217 * fns.c (Fset_char_table_default): Check that a charset is defined
3218 before checking its dimension.
3219
928a85c1
KR
32202001-07-17 Ken Raeburn <raeburn@gnu.org>
3221
3222 * coding.c (setup_coding_system): Don't do any designation based
3223 on reg_bits if charset is not yet defined.
3224
fb4c6c96 3225 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3226 pointer, using eassert.
3227
de11c1ea
GM
32282001-07-17 Gerd Moellmann <gerd@gnu.org>
3229
3452efc2
SM
3230 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3231 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3232
467f1209
GM
32332001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3234
3235 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3236
c3d6be34
GM
32372001-07-16 Gerd Moellmann <gerd@gnu.org>
3238
c1d61a7d
GM
3239 * fileio.c (unwind_read): Function removed.
3240 (read_non_regular, read_non_regular_quit): New functions.
3241 (Finsert_file_contents): When reading from non-regular files,
3242 arrange to catch a `quit' and terminate the loop. Rearrange
3243 code so that a `quit' when reading from a regular file doesn't
3244 insert text in the buffer.
3245
c3d6be34
GM
3246 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3247 Clear faces afterwards.
3248 (clear_font_table): Take a x_display_info parameter. Don't free
3249 fonts being the default font of any frame on the given display.
3250
e06aa1f9
GM
32512001-07-13 Gerd Moellmann <gerd@gnu.org>
3252
3253 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3254 instead of CHAR_STRING which can signal an error.
3255
3256 * charset.c (char_to_string_1): Extracted from char_to_string.
3257 Return -1 instead of signaling an error.
3258 (char_to_string): Use it.
3259
3260 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3261
176c92e6
SM
32622001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3263
3264 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3265 is t, don't try to append anything to it.
3266
1c56232f
EZ
32672001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3268
3269 * dired.c (file_name_completion): Pass dp->d_name to
3270 Fstring_match, not elt, which is always nil here.
3271
1d2b2268
GM
32722001-07-12 Gerd Moellmann <gerd@gnu.org>
3273
3274 * xselect.c (x_decline_selection_request): Handle errors
3275 caused by receivers that have vanished.
3276
3277 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3278 ignoring events on foreign windows in #if 0. Always dispatch
3279 the event after checking it with x_handle_property_notify.
3280
3281 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3282 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3283 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3284 (toplevel): Add prototypes for file-local functions.
3285 (x_atom_to_symbol): Remove DPYINFO parameter.
3286
fe5a0162
SM
32872001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3288
3289 * w32menu.c (menubar_selection_callback, w32_menu_show):
3290 Initialize `entry' to nil.
3291 (w32_dialog_show): Remove unused `save_wv' variable.
3292 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3293
a777242c
GM
32942001-07-11 Gerd Moellmann <gerd@gnu.org>
3295
8ee5b6a3
GM
3296 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3297
d0e2444e
GM
3298 * fileio.c (unwind_read): Print a message when discarding inserted
3299 text or switching the buffer to unibyte. Change parameter.
3300 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3301
a777242c
GM
3302 * fileio.c (unwind_read): New function.
3303 (Finsert_file_contents): Record it as unwind-function for
3304 the case that reading is interrupted by C-g.
3305
ae794295
GM
33062001-07-10 Gerd Moellmann <gerd@gnu.org>
3307
fe5a0162 3308 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3309 update when scrolling_window returns 0.
3310
6b05fae3
GM
3311 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3312
3313 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3314 for the case that x_decode_color signals an error.
6b05fae3 3315
ae794295
GM
3316 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3317
bb6e8cee
GM
33182001-07-09 Gerd Moellmann <gerd@gnu.org>
3319
3320 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3321 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3322 around ioctls.
3323
36b40a8a
EZ
33242001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3325
24b97d4b
EZ
3326 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3327 doc string line for dos-timezone-offset.
3328
36b40a8a
EZ
3329 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3330 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3331 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3332 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3333
3334 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3335
0967b4b0
GM
33362001-07-05 Gerd Moellmann <gerd@gnu.org>
3337
f25cfe53
GM
3338 * sound.c: Include Emacs' header files with #include "...".
3339
0967b4b0
GM
3340 * eval.c (specbind): Additionally record the buffer that was
3341 current when a buffer-local or frame-local variable was bound.
3342
c347a1c3
GM
33432001-07-04 Gerd Moellmann <gerd@gnu.org>
3344
3345 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3346 to unibyte characters in unibyte buffers.
3347
6332ca8a
GM
33482001-07-03 Gerd Moellmann <gerd@gnu.org>
3349
38472d44
GM
3350 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3351 the frame on the binding stack. Change format of entries for
3352 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3353 (unbind_to): Handle unbinding a frame-local variable.
3354
6332ca8a 3355 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3356 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3357 (dump_glyph_row): Print row's continuation_lines_width.
3358 (try_window_id): Take the shortcut if ZV is visible in the
3359 window, but there are actually no changes at ZV.
3360
63d1b174
GM
33612001-07-02 Gerd Moellmann <gerd@gnu.org>
3362
4c175203
GM
3363 * xterm.h (x_free_dpy_colors): Add prototype.
3364
3365 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3366 right number of arguments.
3367
0b54ce28
GM
3368 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3369 ($(lwlibdir)TAGS): New target.
4c175203 3370 (TAGS): Fix dependency list.
0b54ce28 3371
63d1b174
GM
3372 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3373 with input blocked.
3374
d827466c
GM
33752001-06-30 Gerd Moellmann <gerd@gnu.org>
3376
3377 * emacs.c (main): Remove extern declaration for sys_nerr, which
3378 isn't used and causes a compilation error with GCC 3.0 on
3379 FreeBSD 4.3.
3380
b5cb1ada
GM
33812001-06-27 Gerd Moellmann <gerd@gnu.org>
3382
a5d3ec3f 3383 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3384 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3385 (toplevel): Include <signal.h> and syssignal.h.
3386
b5cb1ada
GM
3387 * sound.c (vox_configure, vox_close): Turn off atimers
3388 around ioctls.
3389
d9bad487
GM
33902001-06-26 Gerd Moellmann <gerd@gnu.org>
3391
fdbb67fe
GM
3392 * keyboard.c (read_char) <non_reread>: Record the previous idle
3393 start time before calling timer_stop_idle.
3394 (read_char) <reread_first>: After processing a help-echo event,
3395 restore the previous idle start time.
3396
d9bad487
GM
3397 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3398 the start of invisible text.
3399 (setup_for_ellipsis): New function.
3400 (next_overlay_string): After all overlay strings have been
3401 processed, display an ellipsis if necessary.
3402 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3403 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3404
3405 * dispextern.h (struct iterator_stack_entry): Add member
3406 display_ellipsis_p.
3407
2b9c25e0
GM
34082001-06-25 Gerd Moellmann <gerd@gnu.org>
3409
80de57df
GM
3410 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3411 on the value of the wait-for-wm frame parameter.
3412
3413 * xterm.h (struct x_output): Add member wait_for_wm.
3414
3415 * xfns.c (Qwait_for_wm): New variable.
3416 (x_frame_parms): Add entry for `wait-for-wm".
3417 (x_set_wait_for_wm): New function.
3418 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3419 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3420
2b9c25e0
GM
3421 * xdisp.c (try_window_id) <all changes below window end>: Don't
3422 take this shortcut if ZV is visible in the window.
3423 (try_window_id): When checking for window start being in changed
3424 text, don't check that the buffer's size has changed.
3425
f772775c
RS
34262001-06-23 Richard M. Stallman <rms@gnu.org>
3427
3428 * minibuf.c (Fcompleting_read): Doc fix.
3429
fa9090b8
GM
34302001-06-19 Gerd Moellmann <gerd@gnu.org>
3431
3432 * composite.c (Ffind_composition_internal): Accept ZV
3433 and a string's end position as POS.
3434
f6f1beba
GM
34352001-06-18 Gerd Moellmann <gerd@gnu.org>
3436
3437 * composite.c (Ffind_composition_internal): Check POS
3438 for validity.
3439
0ae83348
EZ
34402001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3441
3442 * editfns.c (Fmessage_box): If the frame is not under a window
3443 system, output the message in the echo area.
3444
e4cdc335
RS
34452001-06-14 Richard M. Stallman <rms@gnu.org>
3446
3447 * xdisp.c (try_window_id): When EOB is visible, don't treat
3448 insertion at EOB as if it were "off the bottom of the screen."
3449
a55a5f3c
AI
34502001-06-11 Andrew Innes <andrewi@gnu.org>
3451
3452 * w32proc.c (create_child): Add new parameter is_gui_app.
3453 (w32_executable_type): Add new parameter is_gui_app.
3454 (sys_spawnve): Use it.
3455 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3456 SIGQUIT. This matches better how the signals are interpreted by
3457 MSVC compiled programs.
3458 (syms_of_ntproc): Update docstring.
3459
1b85dc1c
SM
34602001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3461
3462 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3463 well otherwise note_mouse_highlight might optimize away highlighting
3464 if we pass over that same overlay again.
3465
b75f8eab
EZ
34662001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3467
3468 * lread.c (Fload): Document that the argument is run via
3469 substitute-in-file-name.
3470
94843cc1
GM
34712001-05-31 Gerd Moellmann <gerd@gnu.org>
3472
b14659e6
GM
3473 * Makefile.in (bootstrap-doc): New target.
3474 (bootstrap-emacs): Depend on it.
3475
0894672f
GM
3476 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3477 auto-save-list-file-name when shutting down Emacs, because
3478 creating the directory might signal an error, and leaves
3479 Emacs in a strange state.
3480
94843cc1
GM
3481 * term.c: (tty_cursor_hidden): New variable.
3482 (update_begin): Don't call tty_hide_cursor. Clean up.
3483 (update_end, set_terminal_window, set_scroll_region): Clean up.
3484 (ring_bell, reset_terminal_modes): Clean up.
3485 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3486 on tty_cursor_hidden.
3487 (write_glyphs): Call tty_hide_cursor.
3488
db3a49a6
SM
34892001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3490
3491 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3492
8bd189fb
GM
34932001-05-30 Gerd Moellmann <gerd@gnu.org>
3494
6f1be3b9
GM
3495 * xfns.c (enum image_value_type): New enumerator
3496 IMAGE_STRING_OR_NIL_VALUE.
3497 (parse_image_spec): Handle it.
3498 (xbm_format, pbm_format): Use it for :foreground and :background.
3499 (xbm_load, pbm_load): Check for nil color names.
3500
8bd189fb
GM
3501 * xterm.c (note_mouse_highlight): If an overlapping overlay
3502 exists, but we find that we highlight the same overlay as before,
3503 don't do the highlighting again.
3504
7bdba03c
GM
35052001-05-29 Gerd Moellmann <gerd@gnu.org>
3506
4c329aa8
GM
3507 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3508 Protect unibyte strings created by replacing their multibyte
3509 equivalents in menu_items.
3510
e15e2828
GM
3511 * keymap.c (Fsingle_key_description): NUL-terminate the string
3512 buffer before calling build_string.
3513
7bdba03c
GM
3514 * callproc.c (Fcall_process): Deal with decode_coding returning
3515 CODING_FINISH_INCONSISTENT_EOL.
3516
89c8dc6c
GM
35172001-05-28 Gerd Moellmann <gerd@gnu.org>
3518
db3a49a6 3519 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3520 an item's name with its key description in case the description
3521 is a multibyte string.
3522
3523 * keymap.c (Fsingle_key_description): Create a multibyte string
3524 only if necessary.
3525
eb04d6cd
GM
3526 * macros.c (Fstart_kbd_macro): Doc fix.
3527
8bd6307f
GM
3528 * xterm.c (cursor_in_mouse_face_p): New function.
3529 (x_draw_stretch_glyph_string): Use it to choose a different GC
3530 when drawing a cursor within highlighted text.
3531
e26c4089
GM
3532 * editfns.c (char_property_eq): Put in #if 0.
3533
3534 * indent.c (string_display_width): Put in #if 0.
3535
3536 * lread.c (Fload): Remove unused label.
3537
89c8dc6c
GM
3538 * termcap.c (speeds): Put in #if 0.
3539
9a1211f2
GM
35402001-05-18 Gerd Moellmann <gerd@gnu.org>
3541
29148a3f
GM
3542 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3543
9a1211f2
GM
3544 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3545 transformation matrix by 10.
3546
09393d07
GM
35472001-05-16 Gerd Moellmann <gerd@gnu.org>
3548
3549 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3550 only if it's equal to the former foreground pixel color.
db3a49a6 3551 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3552 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3553
460e6bae
GM
35542001-05-16 Dave Love <fx@gnu.org>
3555
3556 * insdel.c (signal_before_change, signal_after_change): Consider a
3557 local change hook which changes the buffer.
99c78ce8
GM
3558
3559 * process.c (read_process_output): Don't call signal_after_change
3560 and update_compositions after insert_from_string_before_markers.
3561
dbcf3c03
GM
35622001-05-16 Gerd Moellmann <gerd@gnu.org>
3563
a90b3d3c
GM
3564 * xfaces.c (split_font_name): Use the right field when
3565 checking for `[...]' syntax.
3566
1b7818b4
GM
3567 * buffer.c (copy_overlays): New function.
3568 (clone_per_buffer_values): Use it.
3569
3570 * buffer.h (OVERLAY_PLIST): New macro.
3571
9bae8781
GM
3572 * keymap.c (Fsingle_key_description): Replace a build_string with
3573 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3574
dbcf3c03
GM
3575 * fontset.c (Ffontset_info): Check that face is non-null
3576 before accessing its fields.
3577
8a1ae4dd
GM
35782001-05-15 Gerd Moellmann <gerd@gnu.org>
3579
18a0a39e
GM
3580 * keyboard.c (read_key_sequence): Prevent generating a fake
3581 prefix key twice.
3582
e335b66a
GM
3583 * xfaces.c (split_font_name): Handle `[...]' for the right
3584 font name fields.
3585
8a1ae4dd
GM
3586 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3587 of CCL_STAT_INVALID_CMD.
3588
3cf80731
SM
35892001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3590
33568849
SM
3591 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3592 in <var> has no default value yet.
3593
3cf80731
SM
3594 * xfaces.c (try_alternative_families): First try the FAMILY.
3595 And if nothing is found in the end, try again with scalable fonts.
3596 (try_font_list): Let try_alternative_families do a bit more of
3597 the work. Only use FAMILY if it is not nil.
3598 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3599
933b0249
GM
36002001-05-14 Gerd Moellmann <gerd@gnu.org>
3601
58e5af83
GM
3602 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3603 pointer shape when show_mouse_face has already done it.
33568849 3604
58e5af83 3605 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3606 full-width rows.
3607
7b16a6bf
GM
3608 * xfaces.c (split_font_name): Make sure to leave the loop
3609 with the right value of `i'.
3cf80731 3610
933b0249
GM
3611 * xfaces.c (split_font_name): Handle matrix transformations
3612 in the pixel and point size fields of XLFD font names.
3613 (xlfd_point_size): Likewise.
3614
dddcbf00
EZ
36152001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3616
3cf80731 3617 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3618 (x_to_w32_font): Add prototype.
3619
7689ef0b
EZ
3620 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3621 redefining, to avoid compiler warnings.
3622
e7c15bba
EZ
3623 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3624
dddcbf00
EZ
3625 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3626 (w32_get_bdf_glyph): Cast between unsigned char and char when
3627 passing arguments to subroutines, to shut up compiler warnings.
3628 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3629 GET_HEX_VAL.
3630
3631 * xfaces.c: Include keyboard.h before frame.h, not after it.
3632
3633 * widget.c: Include keyboard.h before frame.h.
3634
3635 * w32term.h (struct image, struct face): Forward declaration, to
3636 avoid compiler warnings.
3637
7bd2d083
GM
36382001-05-11 Gerd Moellmann <gerd@gnu.org>
3639
47e72862
GM
3640 * keyboard.c (read_key_sequence): Don't modify events when
3641 generating fake prefix keys (mode-line, scroll-bar, ...) since
3642 this prevents proper processing of such events when pushed back
3643 into unread-command-events.
3644
dd5f324b
GM
3645 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3646 actually redrawn. Make the function static.
3647 (note_mouse_highlight): Fix a case where the mouse cursor
3648 was changed back to the text cursor.
3649
3650 * xterm.h (clear_mouse_face): Remove prototype.
3651
d88a79d4
GM
3652 * xdisp.c (try_window_id): Fix the fix and set the right
3653 window_end_vpos.
3654
3655 * xdisp.c (try_window_id): Fix computation of window end in the
3656 case that lines were deleted at the end of the window. Add some
3657 more debug_method_adds.
0416532f 3658
7bd2d083
GM
3659 * xfaces.c (try_alternative_families): New function.
3660 (try_font_list): Use it. If ATTRS specifies a family, check
3661 fonts from that family first.
3662 (choose_face_font): Remove code setting the family part of
3663 the pattern to nil.
3664
23fca891
GM
36652001-05-10 Gerd Moellmann <gerd@gnu.org>
3666
ff9aa2ca
GM
3667 * xdisp.c (try_window_id): Fix case of all changes before
3668 the window start.
7b2654b5 3669
23fca891
GM
3670 * xdisp.c (try_window_id): Add some xasserts.
3671
e9726794
GM
36722001-05-09 Gerd Moellmann <gerd@gnu.org>
3673
3674 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3675
9e53a675
GM
36762001-05-09 Dave Love <fx@gnu.org>
3677
3678 * xdisp.c (GIVE_UP): Fix for K&R C.
3679
0d487c52
GM
36802001-05-09 Gerd Moellmann <gerd@gnu.org>
3681
fe88d421
GM
3682 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3683
0d487c52
GM
3684 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3685 back to the text cursor shape without need.
3686
1e9fc92e
GM
36872001-05-07 Gerd Moellmann <gerd@gnu.org>
3688
a2a6232e
GM
3689 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3690
3691 * dispextern.h (inverse_video): Declare extern.
3692
1e9fc92e
GM
3693 * keyboard.c (delete_kboard): Handle the case that selected_frame
3694 has been deleted in the course of x_connection_closed.
3695
12949a7f
EZ
36962001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3697
7b2654b5
SM
3698 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3699 Fix the change from 2001-04-30.
12949a7f 3700
2fa2f461
GM
37012001-05-03 Gerd Moellmann <gerd@gnu.org>
3702
a779d213
GM
3703 * xfns.c (file_dialog_unmap_cb): New function.
3704 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3705 where a dialog is closed via the window manager.
3706
7b2654b5 3707 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3708 the window start or all below the window end mostly rewritten.
3709 (redisplay_window): Move the tests if try_window_id is
3710 applicable to try_window_id.
3711 (GIVE_UP): New macro.
3712
3356df63
GM
37132001-05-02 Gerd Moellmann <gerd@gnu.org>
3714
a39202f6 3715 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3716 currently being updated, mark the frame garbaged.
3717 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3718 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3719
3356df63
GM
3720 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3721 again if it has already been drawn.
3722
a9d2fd1d
SM
37232001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3724
3725 * syntax.c (update_syntax_table): Check that oldi has the same
3726 properties as old_prop before deciding not to invalidate.
3727
c95fc5f1
GM
37282001-04-30 Gerd Moellmann <gerd@gnu.org>
3729
a9793e45
GM
3730 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3731 read-only text that is so because of text properties.
3732
c95fc5f1 3733 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3734 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3735 windows that are components of a Lucid menu bar.
3736
5a5d9185
GM
37372001-04-27 Gerd Moellmann <gerd@gnu.org>
3738
3739 * term.c (turn_on_face): Fix reverse video handling on terminals
3740 that don't support colors.
3741
ba973f7a
GM
37422001-04-26 Gerd Moellmann <gerd@gnu.org>
3743
3744 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3745 a non-buffer.
3746
8c56a983
GM
37472001-04-25 Gerd Moellmann <gerd@gnu.org>
3748
a728644c
GM
3749 * term.c (toggle_highlight): New function.
3750 (turn_on_face): Change handling of reverse video.
3751
7b2654b5
SM
3752 * process.c (wait_reading_process_input):
3753 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3754
bfd8410f
GM
3755 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3756 of the number of overlays to check.
3757
be2488ca
GM
3758 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3759
8c56a983
GM
3760 * xdisp.c (try_window_id): Fix a case where window_end_pos
3761 and window_end_bytepos were not adjusted.
3762
522d42f7
GM
37632001-04-23 Gerd Moellmann <gerd@gnu.org>
3764
3765 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3766 zero instead of -1.
3767
78c1afb6
EZ
37682001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3769
a9d2fd1d
SM
3770 * process.c (wait_reading_process_input) [!subprocesses]:
3771 Don't reference waiting_for_user_input_p, it's not defined in the
3772 branch without async subprocesses support.
78c1afb6 3773
a2fab450
GM
37742001-04-19 Gerd Moellmann <gerd@gnu.org>
3775
a122a38e
GM
3776 * keyboard.c (delete_kboard): Prevent a dangling reference
3777 from current_kboard to KB, which is freed.
3778
a9d2fd1d
SM
3779 * process.c (wait_reading_process_input):
3780 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3781 read_key_sequence aware of buffer changes from under it.
3782
0f8d6dc7
GM
37832001-04-18 Gerd Moellmann <gerd@gnu.org>
3784
eeffb293
GM
3785 * xfaces.c (Qscalable_fonts_allowed): New variable.
3786 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3787 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3788 removed.
eeffb293 3789 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3790 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3791 for scalable-fonts-allowed to t.
eeffb293 3792
0f8d6dc7
GM
3793 * fileio.c (Finsert_file_contents): If the file size returned from
3794 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3795 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3796
eec2d1de
EZ
37972001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3798
3799 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3800 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3801 (__memalign_hook): Make the two prototypes consistent.
3802
f4f480bd
GM
38032001-04-17 Gerd Moellmann <gerd@gnu.org>
3804
3805 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3806 matrix of mini-windows.
3807
52283633
SM
38082001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3809
3810 * intervals.c (find_interval): Don't rebalance during signal handling.
3811
ec2423c9
GM
38122001-04-11 Gerd Moellmann <gerd@gnu.org>
3813
30cb0001 3814 * fns.c: Include blockinput.h.
52283633 3815
ec2423c9
GM
3816 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3817
719d83ad
GM
38182001-04-10 Gerd Moellmann <gerd@gnu.org>
3819
60f8d735
GM
3820 * fns.c (Fcompare_strings): Fix return values.
3821
afffeb57
GM
3822 * window.c (window_scroll): Change the meaning of N to mean
3823 N screen-fulls or N lines.
3824 (window_scroll_pixel_based, window_scroll_line_based)
3825 (scroll_command, Fscroll_other_window): Change accordingly.
3826
52283633
SM
3827 * window.c (window_scroll_pixel_based, Frecenter):
3828 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3829 height of the window.
3830
3831 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3832 instead of using it.last_visible_y for the height of the window.
52283633 3833
719d83ad 3834 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3835 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3836
3837 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3838 able to write to hidden and system files. From Dan Holmsand
3839 <dan@eyebee.com>.
719d83ad 3840
8ddf3ee1
GM
3841 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3842 Holmsand <dan@eyebee.com>.
719d83ad 3843
522ed7fb
GM
38442001-04-09 Gerd Moellmann <gerd@gnu.org>
3845
9170e5d4
GM
3846 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3847
522ed7fb
GM
3848 * window.c (window_internal_height): Return 1 less if the
3849 window has a header line.
3850
3851 * xdisp.c (try_window_id): When scrolling on a terminal, take
3852 the change of window_internal_height into account.
3853
ceeb3d7d
EZ
38542001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3855
3856 * gmalloc.c (align): If the argument SIZE would overflow
3857 __malloc_ptrdiff_t, fail right away.
3858
63685b9d
GM
38592001-04-06 Gerd Moellmann <gerd@gnu.org>
3860
3861 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3862 Make sure the tooltip is completely visible.
3863 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3864
3865 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3866
3867 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3868
3ffb33bb
DL
38692001-04-06 Dave Love <fx@gnu.org>
3870
52283633
SM
3871 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3872 Fix test of `from'.
3ffb33bb 3873
869fb12c
GM
38742001-04-06 Gerd Moellmann <gerd@gnu.org>
3875
52283633 3876 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3877
869fb12c
GM
3878 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3879
441bf856
GM
38802001-04-05 Gerd Moellmann <gerd@gnu.org>
3881
4d664b04
GM
3882 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3883
52283633 3884 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3885
30ca89f5
GM
3886 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3887 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3888
3889 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3890 shell widget's position only if it is non-null.
3891
52283633
SM
3892 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3893 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3894
81a81c0f
GM
3895 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3896 FILENAME to bring it in synch with the documentation.
3897
441bf856
GM
3898 * xfaces.c (realizing_basic_faces_p): Renamed from
3899 realize_default_face_p.
3900 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3901 (realize_default_face): Don't set the flag.
3902
702a1e8e
GM
39032001-04-04 Gerd Moellmann <gerd@gnu.org>
3904
1013f4e3
GM
3905 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3906
52283633
SM
3907 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3908
1013f4e3
GM
3909 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3910 the buffer that was used for echoing.
3911
702a1e8e
GM
3912 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3913 (first_font_matching): Removed unused function.
3914 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3915 (may_use_scalable_font_p): Remove parameter FONT; rename
3916 parameter NAME to FONT.
3917 (x_face_list_fonts): Fix missing bounds check.
3918 (realizing_default_face_p): New variable.
3919 (realize_default_face): Set and clear that flag.
3920 (x_face_list_fonts): When called during the realization of the
3921 default face, and no matching fonts are found when ignoring
3922 scalable fonts and fonts matching a regexp from
3923 face-ignored-fonts, try without ignoring fonts.
3924
f9dbcda4
GM
39252001-04-03 Gerd Moellmann <gerd@gnu.org>
3926
ad18ffb1
GM
3927 * xfns.c (postprocess_image): New function.
3928 (lookup_image): Call it for all image types except PostScript.
3929 (x_kill_gs_process): Call postprocess_image.
3930
f9dbcda4
GM
3931 * xterm.c (x_use_underline_position_properties): New variable.
3932 (x_draw_glyph_string): Use it.
3933 (syms_of_xterm): DEFVAR_BOOL it.
3934
651f03b6
GM
39352001-04-02 Gerd Moellmann <gerd@gnu.org>
3936
3937 * xterm.c (x_alloc_nearest_color_1): New function.
3938 (x_alloc_nearest_color): Use it.
3939 (x_color_cells): Take a Display as argument, instead of a frame.
3940 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3941 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3942 (x_initialize): Register cvt_string_to_pixel as resource converter
3943 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3944
73d75a62
GM
39452001-03-30 Gerd Moellmann <gerd@gnu.org>
3946
b2046df8
GM
3947 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3948 (set_iterator_to_next): If a string from a display property ends,
3949 consider the case that this might also be the end of an
3950 overlay string having the display property.
3951
52283633 3952 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3953
87d8eba4
GM
3954 * xdisp.c (reseat_to_string): Undo last change.
3955
73d75a62
GM
3956 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3957 matrix of a window when the header line changes, when
3958 new rows are allocated, or when the width changes.
3959
911a2406
EZ
39602001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3961
52283633 3962 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3963
aea51abe
EZ
39642001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3965
3966 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3967 deprecated.
3968
176bc847
GM
39692001-03-29 Gerd Moellmann <gerd@gnu.org>
3970
ed31fabf
GM
3971 * data.c (Fsubr_interactive_form): New function.
3972 (syms_of_data): Defsubr it.
3973
176bc847
GM
3974 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3975 (live_float_p, live_misc_p): Return 1 only if the offset of the
3976 pointer in its block is >= 0.
3977
e59d0e9d
GM
39782001-03-28 Paul Eggert <eggert@twinsun.com>
3979
3980 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3981 microseconds calcuation. Avoid double-rounding problem.
3982 In doc string, warn that the result is approximate.
3983
f827b862
GM
39842001-03-28 Gerd Moellmann <gerd@gnu.org>
3985
30a3f61c
GM
3986 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3987 bind `inhibit-eval-during-redisplay' to t.
3988
3989 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3990
3991 * xdisp.c (inhibit_eval_during_redisplay)
3992 (Qinhibit_eval_during_redisplay): New variables.
3993 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3994 don't eval, return nil instead.
3995 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3996 Initialize Qinhibit_eval_during_redisplay.
3997
e719f5ae
GM
3998 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3999 the iterator's multibyte_p flag.
4000
deb2613a
GM
4001 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4002 instead of setting it to zero; it's incremented for each frame
4003 where the menu face is changed.
4004
52283633
SM
4005 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4006 change bottom shadow accordingly.
4007
4008 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4009 intersections here.
4010 (expose_window): Do it here instead.
52283633 4011 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4012
f827b862
GM
4013 * bytecode.c (BYTE_CODE_QUIT): New macro.
4014 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4015
4bde0ebb
GM
40162001-03-27 Gerd Moellmann <gerd@gnu.org>
4017
607ec83c
GM
4018 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4019 Give up if matrix starts in an ellipsis.
4020 (init_from_display_pos): Do nothing if POS doesn't specify
4021 a dpvec_index but the iterator has such a position.
4022
0245398f
GM
4023 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4024
aba25348
GM
4025 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4026 x/y position is (0, 0) after destroying the menu bar, restore
4027 its original position.
4028
4bde0ebb
GM
4029 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4030 (init_from_display_pos): Use it.
4031 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4032
8cdb267e
GM
40332001-03-26 Gerd Moellmann <gerd@gnu.org>
4034
4035 * xdisp.c (try_window_id): Undo last change.
4036
9948db79
EZ
40372001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4038
4039 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4040
4041 * buffer.c (syms_of_buffer): Doc fix.
4042
2eddf899
GM
40432001-03-26 Gerd Moellmann <gerd@gnu.org>
4044
4045 * xfaces.c (x_update_menu_appearance): Use local variable
4046 popup_path for setting font resources.
4047
6c145d35
EZ
40482001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4049
6a65b1b5
EZ
4050 * frame.c (Fframe_list): Don't reference tip_frame if
4051 HAVE_WINDOW_SYSTEM is not defined.
4052
6c145d35
EZ
4053 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4054 <wl@gnu.org>.
4055
d74c1900
GM
40562001-03-25 Gerd Moellmann <gerd@gnu.org>
4057
20fbd925
GM
4058 * xdisp.c (init_from_display_pos): Test invisible property
4059 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4060
927c5b3b
GM
4061 * xdisp.c (redisplay_internal) <update one window>: Make sure
4062 last_arrow_position and last_arrow_string are set.
4063
d74c1900
GM
4064 * frame.c (Fframe_list): Don't return a tooltip frame.
4065
091f8878
GM
40662001-03-23 Gerd Moellmann <gerd@gnu.org>
4067
52283633
SM
4068 * xdisp.c (mark_window_display_accurate_1): New function,
4069 extracted from mark_window_display_accurate.
4070 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4071 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4072 (mark_window_display_accurate): Use it.
4073 (redisplay_internal): Use it for the selected window.
4074 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4075 for the selected frame.
4076
ac90c44f
GM
4077 * xdisp.c Use make_number, for readability.
4078 (try_window_id): Disable rows below the window end.
4079 (try_window_reusing_current_matrix): Use cursor_row_p.
4080 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4081 of rows.
4082 (init_from_display_pos): If POS specifies a position in a display
4083 vector, maybe get the iterator set up for that ellipsis.
43c09969 4084
091f8878
GM
4085 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4086
991786dd
EZ
40872001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4088
4089 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4090
6c29b43c
GM
40912001-03-23 Gerd Moellmann <gerd@gnu.org>
4092
4093 * xfaces.c (x_update_menu_appearance): Use a different path
4094 for Lucid popup menus.
4095
d8731202
SM
40962001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4097
4098 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4099
4100 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4101 (string_buffer_position): Use `make_number'.
4102
f61a541b
GM
41032001-03-22 Gerd Moellmann <gerd@gnu.org>
4104
3c9e997b
GM
4105 * xfaces.c (x_update_menu_appearance): Renamed from
4106 x_set_menu_face_resources. Use different resources for popups.
4107
4108 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4109 (GC_CHECK_STRING_BYTES): Don't define.
4110
364cd450
GM
4111 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4112 Removed, together with subroutines.
4113 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4114 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4115
d8731202
SM
4116 * dispextern.h (x_set_menu_resources_from_menu_face):
4117 Remove prototype.
364cd450 4118
d8731202 4119 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4120 Remove calls to x_set_menu_resources_from_menu_face.
4121
d8731202
SM
4122 * xfaces.c (xm_set_menu_resources_from_menu_face):
4123 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4124
4125 * xmenu.c: Include widget.h.
4126 (single_submenu): Return int. Some cleanup.
4127 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4128
140330de
GM
41292001-03-21 Gerd Moellmann <gerd@gnu.org>
4130
4131 * xterm.c (x_update_window_end): Handle overwritten mouse face
4132 also for tool bar windows.
4133 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4134 DRAW is DRAW_IMAGE_RAISED.
4135
1741905c
GM
41362001-03-20 Gerd Moellmann <gerd@gnu.org>
4137
fa88947e
GM
4138 * print.c (syms_of_print): Doc fixes.
4139
1741905c
GM
4140 * fns.c (Fmd5): Doc fix.
4141
ade0bee1
GM
41422001-03-19 Gerd Moellmann <gerd@gnu.org>
4143
357e7376
GM
4144 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4145 Clear area of the frame not occupied by the scroll bar.
4146
c2c097cc
GM
4147 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4148 tip frame's root window buffer to *tip* right after creating
4149 the frame.
4150
ade0bee1
GM
4151 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4152 is an integer don't have to be for space characters.
4153
88c6e37e
GM
41542001-03-16 Gerd Moellmann <gerd@gnu.org>
4155
52283633
SM
4156 * indent.c (current_column, current_column_1, Fmove_to_column)
4157 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4158
c62eed76
KH
41592001-03-15 Kenichi Handa <handa@etl.go.jp>
4160
4161 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4162 drawing glyph string.
4163
c899e7e6
GM
41642001-03-15 Gerd Moellmann <gerd@gnu.org>
4165
d0bbfc99
GM
4166 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4167 (command_loop_1): Undo last change.
4168
03d1a189
GM
4169 * xterm.c (fast_find_position): Return the correct vpos.
4170
c899e7e6 4171 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4172 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4173 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4174 Call store_symval_forwarding with BUF null.
4175 (set_internal): Call store_symval_forwarding with the BUF
4176 parameter passed to set_internal. Formerly, the value was always
4177 set in the current buffer; the buffer recorded in specbind for
4178 this case wasn't used.
4179 (arith_driver): Reindent.
4180
52283633
SM
4181 * buffer.c (swap_out_buffer_local_variables):
4182 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4183
4184 * lisp.h (store_symval_forwarding): Change prototype.
4185
4186 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4187
57ac7c81
GM
41882001-03-14 Gerd Moellmann <gerd@gnu.org>
4189
697617d9
GM
4190 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4191 FOR_DELETION. Avoid resizing the mini-window of the selected
4192 frame if FOR_DELETION is set.
4193 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4194 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4195 signature.
4196
4197 * window.c (Fset_window_configuration): Change call to
4198 do_switch_frame to new format.
4199
4200 * keyboard.c (quit_throw_to_read_char): Change call to
4201 do_switch_frame to new format.
4202
4203 * lisp.h (do_switch_frame): Change prototype.
4204
819dce0f
GM
4205 * frame.c (Fframe_parameters): In the `buffer-list' frame
4206 parameter, store the buffer list of FRAME, not the list of the
4207 selected frame.
4208
57ac7c81
GM
4209 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4210 box just because the glyph row's full_width_p flag is set.
4211
65008712
GM
42122001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4213
4214 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4215 skip the padding blanks inserted in extend_face_to_end_of_line,
4216 before checking for trailing whitespace.
4217
159cf431
GM
42182001-03-13 Gerd Moellmann <gerd@gnu.org>
4219
52283633 4220 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4221 Remove special handling for LessTif/Motif.
4222 (toplevel): Don't include Xm/Xm.h.
4223
52283633
SM
4224 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4225 Remove workaround code for LessTif; it doesn't work anymore.
4226
2564ea1b 4227 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4228 Xm/ScrollBarP.h.
afcdc0a1 4229
52283633
SM
4230 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4231 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4232 contemporary LessTif.
4233
52283633
SM
4234 * xfaces.c (xm_set_menu_resources_from_menu_face):
4235 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4236
159cf431
GM
4237 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4238 removing button grabs.
4239
c6f7429a
KH
42402001-03-13 Kenichi Handa <handa@etl.go.jp>
4241
cb82d767
KH
4242 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4243 and clip-large-size-font as obsolete.
4244
c6f7429a
KH
4245 * lread.c (read_multibyte): Check the validity of multibyte
4246 sequence. If invalid, return the first byte.
4247
760cefb5
GM
42482001-03-12 Gerd Moellmann <gerd@gnu.org>
4249
4250 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4251 before running the command; timer functions or process
4252 filters may have set it.
4253
5141f9d0
EZ
42542001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4255
4256 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4257 Doc fix.
4258
b6a15240
GM
42592001-03-12 Gerd Moellmann <gerd@gnu.org>
4260
4261 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4262 to sprintf.
4263
95522746
GM
42642001-03-09 Gerd Moellmann <gerd@gnu.org>
4265
db14cfc5
GM
4266 * dispextern.h (string_buffer_position): Add prototype.
4267
52283633 4268 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4269 (single_display_prop_string_p): New functions.
4270
4271 * xterm.c (note_mouse_highlight): If there's no help-echo on
4272 a string, look at the buffer text ``under'' it.
4273
4274 * keyboard.c (make_lispy_event): Add string info to the event,
4275 analogous to what's done on mode lines.
4276 (read_key_sequence): For a click on a string, consider `local-map'
4277 and `keymap' of that string.
4278
52283633
SM
4279 * keyboard.c (make_lispy_event, make_lispy_movement):
4280 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4281
4282 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4283
4284 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4285 POS; return void.
4286
95522746
GM
4287 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4288 flags argument to emacs_open; it seems to conflict with O_EXCL.
4289
898a399d
KH
42902001-03-09 Kenichi Handa <handa@etl.go.jp>
4291
28cd4910
KH
4292 * composite.h (struct composition): Change types of members;
4293 glyph_len to unsigned, width to unsigned short.
898a399d 4294
4cdf6a6c
AI
42952001-03-08 Andrew Innes <andrewi@gnu.org>
4296
4297 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4298 menu titles.
4299
129004d3
GM
43002001-03-08 Gerd Moellmann <gerd@gnu.org>
4301
221dd3e7
GM
4302 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4303 instead of nil.
4304
52283633 4305 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4306 help-echo in strings.
4307 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4308 (fast_find_string_pos): New function.
4309
52283633
SM
4310 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4311 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4312
4313 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4314 Handle `mouse-face'.
4315
4316 * dispextern.h (face_at_string_position): Change prototype.
4317
52283633 4318 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4319
129004d3
GM
4320 * keyboard.c (make_lispy_event): Avoid generating drag events
4321 if the mouse hasn't actually moved to another buffer position.
52283633 4322
80c8ab8c
DL
43232001-03-08 Dave Love <fx@gnu.org>
4324
129004d3 4325 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4326
989521fd
GM
43272001-03-08 Gerd Moellmann <gerd@gnu.org>
4328
4329 * process.c (Fset_process_window_size): Fix a typo.
4330
bb5c338d
KH
43312001-03-08 Kenichi Handa <handa@etl.go.jp>
4332
4333 * coding.c (detect_coding_sjis): Do more rigid check.
4334 (detect_coding_big5): Likewise.
4335 (decode_coding_sjis_big5): Likewise.
4336 (Fdetect_coding_region): Call detect_coding_system with tailing
4337 anchor byte `\0' for more rigid detection.
52283633 4338 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4339 (Fdetect_coding_string): Likewise.
4340
8b8f9197
SM
43412001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4342
4343 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4344 a string before extracting its data.
4345
3bdf2660
GM
43462001-03-07 Gerd Moellmann <gerd@gnu.org>
4347
4348 * window.c (Frecenter): Rewrite code handling negative values
4349 of ARG on graphical frames.
4350
43512001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4352
4353 * window.c (displayed_window_lines): If W->start is outside the
4354 accessible portion of the buffer, call start_display with BEGV or
4355 ZV instead of W->start.
4356
471f86b9
GM
43572001-03-07 Gerd Moellmann <gerd@gnu.org>
4358
2ab62c6c
GM
4359 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4360
471f86b9
GM
4361 * process.c (Fset_process_filter): Don't crash if the input
4362 file descriptor of PROCESS is closed.
4363 (Fset_process_window_size): Likewise.
4364
101922c3
GM
43652001-03-06 Kenichi Handa <handa@etl.go.jp>
4366
4367 * xterm.c (XTflash): Make the timeout of select shorter, and call
4368 select repeatedly until the desired time expires.
4369
45d051a7
GM
43702001-03-06 Gerd Moellmann <gerd@gnu.org>
4371
4372 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4373
4374 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4375
4376 * lisp.h (Vwindow_list): Declare extern.
4377
8f372c46
EZ
43782001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4379
4380 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4381
f16a7aa5
GM
43822001-03-06 Gerd Moellmann <gerd@gnu.org>
4383
157ae273
GM
4384 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4385 to detect a case where we have to highlight a different region
4386 despite not having left the currently highlighted region.
4387 Set mouse_face_overlay in the x_display_info.
45d051a7 4388 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4389
4390 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4391
4392 * buffer.c (mouse_face_overlay_overlaps): New function.
4393
4394 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4395 (Qmouse_face): Declare extern.
4396
f16a7aa5
GM
4397 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4398 if face_change_count is non-zero.
4399
827afcac
KH
44002001-03-06 Kenichi Handa <handa@etl.go.jp>
4401
4402 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4403 that the source is unibyte.
4404
14c7242e
DL
44052001-03-05 Dave Love <fx@gnu.org>
4406
827afcac 4407 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4408
c28b847b
GM
44092001-03-05 Gerd Moellmann <gerd@gnu.org>
4410
4411 * minibuf.c (read_minibuf): Clean up the binding stack if
4412 called noninteractively.
4413
b86644f2
KH
44142001-03-05 Kenichi Handa <handa@etl.go.jp>
4415
4416 * coding.c (syms_of_coding): Docstring modified.
4417
203682cc 44182001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4419
4420 * charset.c (char_to_string): If a single byte char has modifier
4421 bits that can't be reflected to the character code, ignore them
45d051a7 4422 instead of signaling an error.
b86644f2 4423
e30bd7b7
EZ
44242001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4425
4426 * s/msdos.h: Update copyright notice.
4427
4428 * dosfns.h: Update copyright notice.
4429
4430 * dosfns.c: Update copyright notice.
4431
4432 * msdos.c: Update copyright notice.
4433
b52b65bd
GM
44342001-03-02 Gerd Moellmann <gerd@gnu.org>
4435
4436 * xterm.c (glyph_rect): New function.
4437 (XTmouse_position): Use it to raise the threshold for mouse
4438 movement event generation.
4439
53c4b1e6
EZ
44402001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4441
4442 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4443 specifies (reverse . t), reverse the initial screen colors.
4444 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4445 but we are reversing the colors, set bg_set, not fg_set.
4446 Likewise for setting background-color and reversing: set fg_set.
4447 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4448 in effect.
4449
4450 * xfaces.c (Finternal_set_lisp_face_attribute)
4451 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4452 parameters alist.
4453
f964b4d7
GM
44542001-03-02 Gerd Moellmann <gerd@gnu.org>
4455
ef53d75e
GM
4456 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4457 to a single slash in the middle of file names.
4458
52283633 4459 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4460 Accept only alphanumeric time zone names.
4461
f964b4d7
GM
4462 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4463 or width area.
4464 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4465 a widget to zero height.
52283633 4466
c3c45f65
GM
44672001-03-01 Gerd Moellmann <gerd@gnu.org>
4468
4469 * window.c (Fwindow_end): Call move_it_past_eol only if
4470 ending up on a partially visible line.
4471
028d739a
DL
44722001-03-01 Dave Love <fx@gnu.org>
4473
4474 * ccl.c (Fccl_execute): Doc fix.
4475
57c5889c
GM
44762001-03-01 Gerd Moellmann <gerd@gnu.org>
4477
35f59f6b
GM
4478 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4479 of the tool bar before calling x_figure_window_size.
4480
f84ff02c
GM
4481 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4482 NULL after destroying it, otherwise XTread_socket can access a
4483 destroyed widget when input is unblocked.
4484
8b8f9197 4485 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4486
57c5889c
GM
4487 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4488 same name as before, although there was a change in fontsets.
4489
224227d1
KR
44902001-02-28 Ken Raeburn <raeburn@gnu.org>
4491
4560730a
KR
4492 * lisp.h (Fframe_parameter): Declare.
4493
224227d1 4494 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4495 Lisp_Object.
224227d1 4496
ece93c02
GM
44972001-02-28 Gerd Moellmann <gerd@gnu.org>
4498
11ef99b9
GM
4499 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4500 NULL instead.
4501
4502 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4503 NULL instead.
4504
ece93c02
GM
4505 * alloc.c (toplevel): Include process.h.
4506 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4507 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4508 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4509 (allocate_vector, allocate_hash_table, allocate_window)
4510 (allocate_frame, allocate_process, allocate_other_vector):
4511 New functions.
ece93c02
GM
4512 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4513 (mark_maybe_pointer): New function.
52283633 4514 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4515 remain and not Lisp_Objects.
4516 (min_heap_address, max_heap_address): New variables.
4517 (mem_find): Return MEM_NIL if START is below min_heap_address or
4518 above max_heap_address.
4519 (mem_insert): Compute min_heap_address and max_heap_address.
4520
4521 * process.c (make_process): Use allocate_process.
4522
4523 * frame.c (make_frame): Use allocate_frame.
4524
4525 * window.c (make_window, make_dummy_parent): Use allocate_window.
4526 (Fcurrent_window_configuration): Use allocate_other_vector.
4527
4528 * lisp.h (allocate_vectorlike): Remove prototype.
4529 (allocate_vector, allocate_other_vector, allocate_frame)
4530 (allocate_window, allocate_process, allocate_hash_table):
4531 Add prototypes.
4532
4533 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4534 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4535
063af457
KH
45362001-02-27 Kenichi Handa <handa@etl.go.jp>
4537
4538 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4539 treat the produced bytes as a valid multibyte sequence.
4540
4541 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4542 (ccl_driver) <CCL_WriteMultibyteChar2>:
4543 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4544 <ccl_finish>: Set ccl->eight_bit_control properly.
4545
4546 * ccl.h (struct ccl_program): New member eight_bit_control.
4547
f58c6494
SM
45482001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4549
4550 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4551 accessible_keymaps_char_table.
4552 (accessible_keymaps_char_table): Obey `is_metized'.
4553 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4554 Lisp_Object.
4555
c596c392
GM
45562001-02-26 Gerd Moellmann <gerd@gnu.org>
4557
4558 * dispnew.c: Check HAVE_TERM_H before including term.h.
4559
425de386
AI
45602001-02-24 Andrew Innes <andrewi@gnu.org>
4561
4562 * makefile.w32-in: Update copyright notice.
4563
2ba11bbd
SM
45642001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4565
4566 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4567
66c56ed1
KH
45682001-02-24 Kenichi Handa <handa@etl.go.jp>
4569
4c1593ce
KH
4570 * Makefile.in (lisp): Add international/utf-8.elc.
4571
66c56ed1
KH
4572 * fontset.c (Fnew_fontset): Fix handling of the case that an
4573 element of FONTLIST is a cons of family and registry.
4574
796ead7e
JR
45752001-02-23 Jason Rumney <jasonr@gnu.org>
4576
4577 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4578 to height unconditionally.
4579
4580 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4581 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4582 (x_insert_glyphs): Call window_box_left to obtain the left
4583 x-coordinate of the area to shift.
4584
4585 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4586 safe_run_hooks.
4587
f6839838
AI
45882001-02-22 Andrew Innes <andrewi@gnu.org>
4589
52283633 4590 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4591 ($(BLD)\dispnew.obj):
4592 ($(BLD)\editfns.obj):
4593 ($(BLD)\fileio.obj):
4594 ($(BLD)\filelock.obj):
4595 ($(BLD)\keyboard.obj):
4596 ($(BLD)\w32proc.obj):
4597 ($(BLD)\process.obj):
4598 ($(BLD)\sysdep.obj): Ditto.
4599
4600 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4601 header files.
52283633
SM
4602 ($(BLD)/dispnew.$(O)):
4603 ($(BLD)/editfns.$(O)):
4604 ($(BLD)/fileio.$(O)):
4605 ($(BLD)/filelock.$(O)):
4606 ($(BLD)/keyboard.$(O)):
4607 ($(BLD)/w32proc.$(O)):
4608 ($(BLD)/process.$(O)):
f6839838
AI
4609 ($(BLD)/sysdep.$(O)): Ditto.
4610
c224f70b
GM
46112001-02-22 Gerd Moellmann <gerd@gnu.org>
4612
51695746
GM
4613 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4614 at the start of the function, check that the \n in it->c is
4615 from the iterator's current position.
52283633 4616
a61b7058
GM
4617 * xdisp.c (handle_single_display_prop): Add parameter
4618 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4619 properties which replace the display of text with something else.
4620 (handle_display_prop): Call handle_single_display_prop with
4621 additional argument saying if we already replaced text display
4622 with something else. Use AREF.
52283633 4623 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4624 (decode_mode_spec_coding): Use AREF and ASIZE.
4625
3473f362
GM
4626 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4627 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4628 * vmstime.h: Files removed.
52283633 4629
2bb58df3
GM
4630 * unexencap.c, unexfx2800.c: Files removed.
4631
c224f70b
GM
4632 * dispnew.c (direct_output_for_insert): Give up if we are showing
4633 a message or just cleared the message because we might need to
4634 resize the echo area window or display an empty echo area.
4635
ffc9ff0c
GM
46362001-02-21 Gerd Moellmann <gerd@gnu.org>
4637
0528abe1
GM
4638 * xdisp.c (redisplay_internal): Do the
4639 mark_window_display_accurate after all windows have been
4640 redisplayed because this call resets flags in buffers which are
4641 needed for proper redisplay.
4642
52283633
SM
4643 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4644 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4645 the old names.
4646
52283633
SM
4647 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4648 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4649
4650 * msdos.h (struct x_output): Rename busy_window to
4651 hourglass_window, busy_p to hourglass_p.
4652
52283633
SM
4653 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4654 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4655
4656 * xfns.c: Rename everything containing *busy_cursor* and similar
4657 to *hourglass*.
4658 (syms_of_w32fns): Rename x-busy-pointer-shape to
4659 x-hourglass-pointer-shape, display-busy-cursor to
4660 display-hourglass, busy-cursor-delay to hourglass-delay.
4661
4662 * w32fns.c: Rename everything containing *busy_cursor* and similar
4663 to *hourglass*.
4664 (syms_of_w32fns): Rename x-busy-pointer-shape to
4665 x-hourglass-pointer-shape, display-busy-cursor to
4666 display-hourglass, busy-cursor-delay to hourglass-delay.
4667
4668 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4669 of its busy_p flag.
4670
4671 * dispextern.h (start_hourglass, cancel_hourglass)
4672 (display_hourglass_p): Renamed from *busy_cursor*.
4673
ab2c5f0a
GM
46742001-02-20 Gerd Moellmann <gerd@gnu.org>
4675
d17e49a8
GM
4676 * keyboard.c (read_char): When an event from unread-command-events
4677 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4678
fa97adf6
GM
4679 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4680 equal to the current buffer.
4681
ab2c5f0a
GM
4682 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4683 nil, otherwise we're left with truncate_lines t when a message
4684 is printed with message-truncate-lines bound to t.
4685
aeac019e
GM
46862001-02-19 Gerd Moellmann <gerd@gnu.org>
4687
c8bc6f65
GM
4688 * window.c (Fmove_to_window_line): Undo last change.
4689 (displayed_window_lines): Call line_bottom_y to determine
4690 the line's bottom position.
4691
4692 * dispextern.h (line_bottom_y): Add prototype.
4693
52283633 4694 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4695 (pos_visible_p): Use it.
4696
980a2d69
GM
4697 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4698 set redisplaying_p to 0 here instead of in Frecursive_edit.
4699 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4700 set redisplaying_p.
4701
52283633 4702 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4703 New variables.
4704 (syms_of_xdisp): Initialize new variables.
4705 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4706 Specbind `inhibit-menubar-update' when updating the menu bar.
4707
65048e97
GM
4708 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4709 safe_run_hooks.
4710
4711 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4712 safe_run_hooks.
4713
a57c4026
GM
4714 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4715 is null.
4716
aeac019e
GM
4717 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4718 to the start of the file.
4719
76846b31
GM
47202001-02-16 Gerd Moellmann <gerd@gnu.org>
4721
f3f053f3 4722 * window.c (set_window_buffer): Fix last change.
52283633 4723
f3f053f3
GM
4724 * window.c (set_window_buffer): Set window's vscroll to 0.
4725
dad75588
GM
4726 * window.c (coordinates_in_window): Increase width of area
4727 where the vertical line can be dragged.
4728
c220b753
GM
4729 * xterm.c (x_set_glyph_string_background_width): Extend the
4730 background face to the end of the drawing area in the text
4731 area, only.
4732
c56b1c1b
GM
4733 * xdisp.c (handle_single_display_prop): Set iterator's position
4734 to where the `display' property starts, like for images.
4735 (dump_glyph): New function.
4736 (dump_glyph_row): Use it. Dump info about marginal areas.
4737
4738 * dispnew.c (direct_output_for_insert): Recognize more cases where
4739 glyphs can be written instead of being inserted.
4740
4741 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4742 the left x-coordinate of the area to shift.
4743
76846b31
GM
4744 * dired.c (directory_files_internal): Set result list to nil
4745 before retrying.
4746
0fc71a77
KH
47472001-02-15 Kenichi Handa <handa@etl.go.jp>
4748
4749 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4750 invalid multibyte sequence, treat *SRC as a character of
4751 eight-bit-graphic.
4752
25078b54
EZ
47532001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4754
4755 * textprop.c (Fset_text_properties): Doc fix.
4756
8399f8a0
GM
47572001-02-15 Gerd Moellmann <gerd@gnu.org>
4758
4759 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4760
9a2a6f73
DL
47612001-02-14 Dave Love <fx@gnu.org>
4762
4763 * coding.c: Doc and message fixes.
4764
bf853fee
AI
47652001-02-14 Andrew Innes <andrewi@gnu.org>
4766
4767 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4768 Emacs frame above the screen size.
4769
78c663d8
GM
47702001-02-14 Gerd Moellmann <gerd@gnu.org>
4771
4772 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4773
7cc9f69f
GM
47742001-02-13 Gerd Moellmann <gerd@gnu.org>
4775
0a411995
GM
4776 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4777 case that TO ends up beyond ZV after running before-change-functions.
4778
5ddc1b75
GM
4779 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4780 the selected window if it is showing the buffer in question.
4781
7cc9f69f
GM
4782 * dired.c (directory_files_internal): Initialize errno.
4783 (toplevel): Include errno.h.
4784
2e6621ca
GM
47852001-02-13 Kenichi Handa <handa@etl.go.jp>
4786
4787 * xfaces.c (best_matching_font): New parameter width_ratio.
4788 Multiply avgwidth by width_ratio.
4789 (choose_face_font): Call best_matching_font with width_ratio
4790 calculated from the column width of C.
4791
60222d69
AI
47922001-02-12 Andrew Innes <andrewi@gnu.org>
4793
4794 The following changes are to draw box lines inside characters area
4795 if line-width is negative.
52283633 4796
60222d69
AI
4797 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4798 face->box_line_width is negative.
4799 (x_produce_stretch_glyph): Likewise.
4800 (x_produce_glyphs): Likewise.
4801 (x_estimate_mode_line_height): Likewise.
4802 (x_draw_glyph_string_background): Likewise.
4803 (x_draw_glyph_string_foreground): Likewise.
4804 (x_draw_composite_glyph_string_foreground): Likewise.
4805 (x_draw_glyph_string_box): Likewise.
4806 (x_draw_image_foreground): Likewise.
4807 (x_draw_image_relief): Likewise.
4808 (x_draw_image_foreground_1): Likewise.
4809 (x_draw_image_glyph_string): Likewise.
4810
9804b846
KH
48112001-02-09 Kenichi Handa <handa@etl.go.jp>
4812
4813 The following changes are to draw box lines inside characters area
4814 if line-width is negative.
52283633 4815
9804b846
KH
4816 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4817 face->box_line_width is negative.
4818 (x_produce_stretch_glyph): Likewise.
4819 (x_produce_glyphs): Likewise.
4820 (x_estimate_mode_line_height): Likewise.
4821 (x_draw_glyph_string_background): Likewise.
4822 (x_draw_glyph_string_foreground): Likewise.
4823 (x_draw_composite_glyph_string_foreground): Likewise.
4824 (x_draw_glyph_string_box): Likewise.
4825 (x_draw_image_foreground): Likewise.
4826 (x_draw_image_relief): Likewise.
4827 (x_draw_image_foreground_1): Likewise.
4828 (x_draw_image_glyph_string): Likewise.
4829
4830 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4831 and :line-width can be negative.
52283633 4832 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4833
49be9f70
JR
48342001-02-09 Jason Rumney <jasonr@gnu.org>
4835
4836 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4837 characters the same as ASCII and latin-1.
4838 (x_display_and_set_cursor): Check for the focus frame's selected
4839 window instead of selected_window.
4840 (x_after_update_window_line): Don't clear if frame's internal
4841 border width is zero.
4842 (x_new_font): Don't change a tooltip's size.
4843 (w32_initialize): Set char_ins_del_ok to 1.
4844
4845 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4846 (x_set_font): If font hasn't changed, avoid recomputing
4847 faces and other things.
52283633
SM
4848 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4849 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4850 (x_create_tip_frame): Prevent changing the tooltip's
4851 background color by specifying a color for the default font
4852 in .Xdefaults.
4853 (Qcancel_timer): New variable.
4854 (syms_of_w32fns): Initialize and staticpro it.
4855 (Fx_hide_tip, Fx_show_tip): Use it.
4856 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4857 the timer.
4858 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4859
4860 * w32.c (init_environment): Duplicate local string before putenv.
4861
555e35d2
SZ
48622001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4863
4864 * charset.c (Fstring): A typo.
4865
19c92c94
KH
48662001-02-09 Kenichi Handa <handa@etl.go.jp>
4867
e47a1c33
KH
4868 * charset.c (Fstring): If all arguments are less than 256, return
4869 a unibyte string.
4870
4871 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4872 return a unibyte string.
4873
19c92c94
KH
4874 * coding.c (code_convert_region): After detecting a coding, if
4875 nothing found, set coding->composing to COMPOSITION_NO.
4876 (decode_coding_string): Likewise.
4877
d8e675f5
SM
48782001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4879
4880 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4881 to avoid overflow.
4882
bd503487
KH
48832001-02-07 Kenichi Handa <handa@etl.go.jp>
4884
4885 * charset.c (parse_str_to_multibyte): New function.
4886
4887 * charset.h (parse_str_to_multibyte): Extern it.
4888
4889 * print.c (print_string): If we are going to print a unibyte
4890 string into a multibyte buffer, convert the string to multibyte by
4891 str_to_multibyte.
4892
a8370d72
AI
48932001-02-06 Andrew Innes <andrewi@gnu.org>
4894
4895 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4896 been created. It seems we can get sent window messages such as
4897 WM_ERASEBKGND before we properly update a frame.
4898
c363a1d6
GM
48992001-02-06 Gerd Moellmann <gerd@gnu.org>
4900
4901 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4902 Avoid some unnecessary cursor positioning.
4903
a08332c0
GM
49042001-02-05 Gerd Moellmann <gerd@gnu.org>
4905
52283633 4906 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4907 (LFACE_AVGWIDTH): New macro.
4908 (LFACEP): Use AREF.
4909 (check_lface_attrs): Check LFACE_AVGWIDTH.
4910 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4911 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4912 (merge_face_vectors): Check LFACE_AVGWIDTH.
4913 (Finternal_make_lisp_face): Use AREF.
4914 (xm_set_menu_resources_from_menu_face)
4915 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4916 (Finternal_lisp_face_empty_p): Use AREF.
4917 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4918 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4919 Compare average widths..
4920 (best_matching_font): Arrange for comparing average widths.
4921
52283633
SM
4922 * dispextern.h (enum lface_attribute_index):
4923 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4924
5cb3c8d4
DL
49252001-02-05 Dave Love <fx@gnu.org>
4926
4927 * puresize.h: Revert last change following loadup.el change.
4928
193fba87
AI
49292001-02-05 Andrew Innes <andrewi@gnu.org>
4930
4931 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4932 invocation of temacs, to work with Windows 2000.
4933 (bootstrap-emacs): Ditto.
4934
e16f52ce
GM
49352001-02-05 Gerd Moellmann <gerd@gnu.org>
4936
7a58ab59
GM
4937 * xterm.c (x_display_and_set_cursor): Check for the focus
4938 frame's selected window instead of selected_window.
4939
e89aaabd
GM
4940 * xdisp.c (try_scrolling): If point is in the line below the
4941 window, make sure to move the iterator at least a canonical
4942 char height down.
4943
52283633 4944 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4945
789ce875
KH
49462001-02-05 Kenichi Handa <handa@etl.go.jp>
4947
52283633
SM
4948 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4949 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4950 (ccl_driver): If the CCL program is terminated because of
4951 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4952 destination instead of throwing them away.
4953
20b28f82
GM
49542001-02-02 Gerd Moellmann <gerd@gnu.org>
4955
79fb38c0
GM
4956 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4957 faces and other things.
4958
20b28f82
GM
4959 * xdisp.c (get_next_display_element): Fix case of empty
4960 display table entry.
4961
5a72551e
EZ
49622001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4963
eb24d0bf
EZ
4964 * editfns.c (Fconstrain_to_field): Doc fix.
4965
6a3f48c7
EZ
4966 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4967 into `thoroughly', to make it consistent with the doc string.
4968
5a72551e
EZ
4969 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4970
01acdb05
GM
49712001-02-01 Gerd Moellmann <gerd@gnu.org>
4972
0353b28f
GM
4973 * search.c (search_buffer): Call set_search_regs with a byte
4974 position, not a character position.
4975
01acdb05
GM
4976 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4977 minibuffer-only,
4978
e86b5133
EZ
49792001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4980
4981 * frame.c (Fmodify_frame_parameters): Doc fix.
4982
7442878f
GM
49832001-01-31 Gerd Moellmann <gerd@gnu.org>
4984
01acdb05
GM
4985 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4986 identifier which is not reserved by Standard C.
52283633 4987
7442878f
GM
4988 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4989
4990 * window.c (enum window_part): New enumeration.
4991 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4992 Qright_bitmap_area.
4993 (coordinates_in_window): Return an enumerator from enum
4994 window_part. Fix handling of right scroll bar.
4995 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4996 `right-fringe' instead of `left-bitmap-area' and
4997 `right-bitmap-area'. Use enumerators from enum window_part
4998 instead of hard-coded integers.
52283633
SM
4999 (check_window_containing, window_from_coordinates):
5000 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5001 (syms_of_window): Replace Qleft_bitmap_area and
5002 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5003
7c132cba
EZ
50042001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5005
5006 * editfns.c (Fformat_time_string): Doc fix.
5007
c359dd9e
SM
50082001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5009
5010 * keymap.c (Fwhere_is_internal): Use the first valid binding
5011 if no ascii binding is found (when firstonly is t).
5012
ce070307
GM
50132001-01-31 Gerd Moellmann <gerd@gnu.org>
5014
b4f30ec5
GM
5015 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5016 instead of Finteractive_p.
5017
5018 * lisp.h (interactive_p): Add prototype.
5019
5020 * eval.c (interactive_p): New function.
5021 (Finteractive_p): Use it.
5022
ce070307
GM
5023 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5024
f57b6e64
DL
50252001-01-31 Dave Love <fx@gnu.org>
5026
d61c7afe
DL
5027 * .gdbinit (hook-run): Define to run xreload.
5028
f57b6e64
DL
5029 * textprop.c (Fset_text_properties): Fix newline in doc string.
5030
eef93f99
GM
50312001-01-30 Gerd Moellmann <gerd@gnu.org>
5032
52283633
SM
5033 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5034 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5035
5036 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5037 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5038 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5039
5040 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5041 height.
5042
d9c1f6f9
DL
50432001-01-30 Dave Love <fx@gnu.org>
5044
5045 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5046 AFTER_POTENTIAL_GC.
5047
e8f044a0
GM
50482001-01-29 Gerd Moellmann <gerd@gnu.org>
5049
52283633
SM
5050 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5051 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5052
8e1db7b3
EZ
50532001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5054
5055 * textprop.c (Fset_text_properties): Doc fix.
5056
4eefd9d2
GM
50572001-01-29 Gerd Moellmann <gerd@gnu.org>
5058
5059 * xdisp.c (forward_to_next_line_start): Remove xassert.
5060
fccb8288
EZ
50612001-01-29 Jason Rumney <jasonr@gnu.org>
5062
4eefd9d2 5063 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5064 returning without releasing it.
5065
76581eab
KH
50662001-01-29 Kenichi Handa <handa@etl.go.jp>
5067
5068 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5069 for '^', '$', and '\0'.
5070
83a96b4d
AC
50712001-01-28 Andrew Choi <akochoi@i-cable.com>
5072
5604ec34
AC
5073 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5074 regex for '^', '$', and '\0'.
5075
83a96b4d
AC
5076 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5077 only if current_sblock has been initialized.
5078
5079 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5080 terminal frame even if it is the only visible frame.
5081
c09a6440
KH
50822001-01-28 Kenichi Handa <handa@etl.go.jp>
5083
5084 * fontset.c (font_family_registry): Even if FONTNAME conform to
5085 XLFD, if it specifies other fields than family and registry,
52283633 5086 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5087 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5088 a signle byte character. Don't set FAMILY part to nil here.
5089 It is handled by the caller choose_face_font.
c09a6440
KH
5090 (Fnew_fontset): Call font_family_registry with FORCE 0.
5091 (Fset_fontset_font): Likewise.
5092
4dcd74e6
GM
50932001-01-27 Gerd Moellmann <gerd@gnu.org>
5094
5095 * xdisp.c (display_line): Don't treat a newline as fitting
5096 on the line.
5097
d2906bf8
GM
50982001-01-26 Gerd Moellmann <gerd@gnu.org>
5099
0130fe1a
GM
5100 * window.c (size_window): Set the window's orig_top to nil when
5101 changing heights, so that a future shrink_mini_window won't
5102 restore a bogus height.
5103
550f0e6a
GM
5104 * frame.c (do_switch_frame): If selected frame has a mini-window,
5105 resize that to exact size.
5106
b7b20fbd
GM
5107 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5108
a47b7816
GM
5109 * xdisp.c (display_line): Simplify check for glyphs fitting
5110 entirely in the line.
5111
d2906bf8
GM
5112 * xfns.c (xic_style): New variable.
5113 (create_frame_xic): Move static variable to global scope for
550f0e6a 5114 the case that `static' gets defined away.
d2906bf8 5115
73df2b1e
KH
51162001-01-26 Kenichi Handa <handa@etl.go.jp>
5117
5118 * coding.c (decode_coding): Set a flag for inhibiting
5119 inconsistent eol.
5120 (code_convert_region): Always set saved_coding_symbol.
5121 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5122 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5123
6613cfc4
GM
51242001-01-25 Gerd Moellmann <gerd@gnu.org>
5125
c5e6e06b
GM
5126 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5127 XClearArea.
5128
5129 * xterm.c (x_after_update_window_line): Don't clear if frame's
5130 internal border width is zero.
5131 (x_clear_area): New function.
5132 (x_after_update_window_line, x_clear_end_of_line)
5133 (x_scroll_bar_create, x_scroll_bar_set_handle)
5134 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5135 instead of XClearArea.
5136
5137 * xterm.h (x_clear_area): Add prototype.
5138
6613cfc4
GM
5139 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5140 which doesn't seem necessary anymore with Lesstif 0.92.
5141
650cc6cc
DL
51422001-01-25 Dave Love <fx@gnu.org>
5143
34ac3367
DL
5144 * puresize.h (BASE_PURESIZE): Up to 720000.
5145
650cc6cc
DL
5146 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5147
5e37dc22
GM
51482001-01-25 Gerd Moellmann <gerd@gnu.org>
5149
e1e441f9
GM
5150 * xdisp.c (echo_area_display): Don't call redisplay_internal
5151 when Emacs is shutting down. We can't run hooks etc. that
5152 would be necessary to do a redisplay.
5153
5e37dc22
GM
5154 * lread.c (read_integer): Use type EMACS_INT instead of int.
5155
0fb94c7f
EZ
51562001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5157
5158 * ccl.c (ccl_driver): Fix last change.
5159
e3778624
KH
51602001-01-25 Kenichi Handa <handa@etl.go.jp>
5161
5162 * ccl.h (sturct ccl_program): New member suppress_error.
5163
bb264518 5164 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5165 insert error message to the output.
5166 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5167
5168 * coding.h (struct coding_system): New member suppress_error.
5169
5170 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5171 (Fset_terminal_coding_system_internal): Set the member
5172 suppress_error to 1.
5173 (Fset_safe_terminal_coding_system_internal): Likewise.
5174
245ed2b1
SM
51752001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5176
5177 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5178 as if it was a `charset'.
5179
f9aaedb6
GM
51802001-01-24 Gerd Moellmann <gerd@gnu.org>
5181
5182 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5183 value in where_is_cache; the next lookup in the cache returns
5184 something bogus if we do.
5185
c3902c3e
EZ
51862001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5187
5188 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5189 if HAVE_WINDOW_SYSTEM isn't defined.
5190
3497f73e
GM
51912001-01-24 Gerd Moellmann <gerd@gnu.org>
5192
e7e41584
GM
5193 * fns.c (sweep_weak_table): Fix code taking items out of
5194 the hash collision chain. Some cleanup.
5195
3497f73e
GM
5196 * xterm.c (x_new_font): Don't change a tooltip's size.
5197
5198 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5199 background color by specifying a color for the default font
5200 in .Xdefaults.
5201
3d48e687
KH
52022001-01-24 Kenichi Handa <handa@etl.go.jp>
5203
96531b20
KH
5204 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5205 a workaround for SunOS 4's cc.
5206 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5207 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5208 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5209 statement.
3d48e687 5210
a30629d2
GM
52112001-01-23 Gerd Moellmann <gerd@gnu.org>
5212
5213 * xterm.c (x_set_window_size_1): New function extracted from
5214 x_set_window_size.
5215 (x_set_window_size): Use it.
5216 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5217 doesn't have a widget, like tooltips.
5218
5a43decf
EZ
52192001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5220
52283633 5221 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5222
b0e98867
KH
52232001-01-23 Kenichi Handa <handa@etl.go.jp>
5224
5225 * fns.c (Fset_char_table_default): Fix to make sub char-table
5226 correctly.
5227
50606b4c
GM
52282001-01-22 Gerd Moellmann <gerd@gnu.org>
5229
cb2ddc53 5230 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5231 a desired tool bar string, even if there are no tool bar items.
5232
57c28064
GM
5233 * xdisp.c (Ftool_bar_lines_needed): New function.
5234 (syms_of_xdisp): Defsubr it.
5235
50606b4c
GM
5236 * editfns.c (Fformat): Don't extend text properties from arguments
5237 to padding chars in the result.
5238
2f169c38
EZ
52392001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5240
5241 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5242
0f32f023
AI
52432001-01-20 Andrew Innes <andrewi@gnu.org>
5244
52283633 5245 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5246 (w32_initialize): Don't set term hooks that aren't actually needed
5247 in windowed mode.
5248
5249 * xfaces.c (realize_default_face):
5250 (realize_face):
5251 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5252
5253 * xdisp.c (handle_single_display_prop): Remove references to
5254 FRAME_W32_CONSOLE_P.
5255
52283633 5256 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5257
5258 * frame.h (output_method): Remove output_w32_console method.
5259 (FRAME_W32_CONSOLE_P): Remove macro.
5260
5261 * frame.c (Qw32_console): Remove variable.
5262 (Fframep): Remove references to it.
5263 (syms_of_frame): Ditto.
5264 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5265
5266 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5267 redefinition.
5268
7173eada
KH
52692001-01-20 Kenichi Handa <handa@etl.go.jp>
5270
5271 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5272
755b45ce
AI
52732001-01-19 Andrew Innes <andrewi@gnu.org>
5274
5275 * w32.c (init_environment): Add a version-independent site-lisp
5276 directory to EMACSLOADPATH, after the version dependent one.
5277
0a949811
GM
52782001-01-19 Gerd Moellmann <gerd@gnu.org>
5279
8501998a
GM
5280 * editfns.c (Fbuffer_substring): Doc fix.
5281
52283633
SM
5282 * xdisp.c (message_dolog, message2, message2_nolog):
5283 Rename parameter LEN to NBYTES.
0a949811 5284
e6ebcbbe
KH
52852001-01-19 Kenichi Handa <handa@etl.go.jp>
5286
200ecca2
KH
5287 * charset.c (strwidth): Use c_string_width.
5288 (c_string_width): New function.
5289 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5290 Caller changed.
5291
5292 * charset.h (c_string_width, lisp_string_width): Extern them.
5293
52283633 5294 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5295
e6ebcbbe
KH
5296 * indent.c (check_composition): Check validity of composition.
5297
200ecca2
KH
5298 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5299 characters by calling c_string_width.
5300 (x_consider_frame_title): Get byte length of frame tile string
5301 correctly.
5302 (display_mode_element): Pay attention to width of non-ASCII
5303 characters by calling strwidth.
5304
8692ca92
GM
53052001-01-18 Gerd Moellmann <gerd@gnu.org>
5306
8962e303
GM
5307 * xfns.c (Qcancel_timer): New variable.
5308 (syms_of_xfns): Initialize and staticpro it.
5309 (Fx_hide_tip, Fx_show_tip): Use it.
5310 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5311 the timer.
5312 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5313
91523be9
GM
5314 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5315
5316 * window.h (WINDOW_LIVE_P): New macro.
5317
b0b7ed0e
GM
5318 * window.c (window_size_fixed): New variable.
5319 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5320 the doc string.
5321
06bccf8e
GM
5322 * eval.c (specbind): If binding a per-buffer variable which
5323 doesn't have a buffer-local value in the current buffer, change
5324 the global value by changing the value of the symbol bound in all
5325 buffers not having their own value, to make it consistent with
5326 what happens with other buffer-local variables.
5327
8692ca92
GM
5328 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5329
5330 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5331 when searching for a newline.
5332
bb3a3b50
KH
53332001-01-18 Kenichi Handa <handa@etl.go.jp>
5334
5335 * xdisp.c (display_string): Fix previous change.
5336
c2cc16fa
JR
53372001-01-18 Jason Rumney <jasonr@gnu.org>
5338
5339 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5340 GLYPH_DEBUG is defined.
5341 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5342 true for images with `:ascent 100'.
5343 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5344 meantime, use face MOUSE_FACE_ID.
5345 If first glyph isn't a character glyph, use the ASCII NUL
5346 character to determine the face.
5347 (expose_area): Do not treat left margin specially.
5348 (note_mode_line_highlight): If no local_map, check global keymap.
5349 (note_mouse_highlight): Initialize overlay.
52283633 5350 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5351 (show_scroll_bars): Remove unused function.
5352 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5353 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5354 Clip to row.
52283633 5355 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5356 (x_free_frame_resources): Unload relief colors.
5357
9c11f79e
GM
53582001-01-17 Gerd Moellmann <gerd@gnu.org>
5359
3aec8722 5360 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5361 get_next_display_element when the newline is already found.
5362 This may change the iterator's position, when its current position is
3aec8722
GM
5363 equal to the iterator's stop_charpos.
5364
f3ffc2c3
GM
5365 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5366 zero, use this method only at the end of a line.
5367
52283633 5368 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5369 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5370 if SCALABLE_FONTS_P is set.
52283633 5371
d26d6fd9
GM
5372 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5373 so that scalable fonts are included.
5374
9c11f79e
GM
5375 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5376 In the cache, use a key containing the information if scalable
5377 fonts are included.
5378 (x_load_font): Adapt to change of keys in the font cache.
5379
53802001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5381
d26d6fd9
GM
5382 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5383 XListFonts to take advantage of font caching.
5384
9c11f79e
GM
5385 * xterm.c (x_list_fonts): Ensure caching font information when
5386 called for a null frame, which is the case frequently when Emacs
5387 starts.
5388
51446987
GM
53892001-01-17 Gerd Moellmann <gerd@gnu.org>
5390
f864120f
GM
5391 * xfns.c (QCconversion): Replaces QCalgorithm.
5392
5393 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5394
5395 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5396 of :algorithm.
52283633 5397
e37d1417
GM
5398 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5399 not everything could be displayed.
5400
51446987
GM
5401 * line.h, x-list-font.c: Files removed because unused.
5402
9ad4f3e5
AI
54032001-01-17 Andrew Innes <andrewi@gnu.org>
5404
5405 * dired.c (directory_files_internal): Convert result from readdir
5406 to a unibyte string initially, to avoid possible misinterpretation
5407 of some bytes as the internal form of Emacs characters.
5408
2eda09b5
KH
54092001-01-17 Kenichi Handa <handa@etl.go.jp>
5410
5411 * fns.c (concat): Be sure to avoid putting the same `composition'
5412 property on the adjacent regions.
5413
826f3788
GM
54142001-01-16 Gerd Moellmann <gerd@gnu.org>
5415
52283633 5416 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5417 (Fscroll_right, Fscroll_left): Set it here instead, if called
5418 interactively.
5419
d57b83b3
GM
5420 * buffer.c (Fset_buffer_modified_p): Set buffer's
5421 prevent_redisplay_optimizations_p flag.
5422
826f3788 5423 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5424 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5425 with additional arg.
5426
5427 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5428 Change prototype.
826f3788 5429
826f3788
GM
5430 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5431 FROM_WHERE, for debugging.
5432
261d788b
KH
54332001-01-16 Kenichi Handa <handa@etl.go.jp>
5434
5435 * ccl.c (Fregister_ccl_program): Handle the return value of
5436 resolve_symbol_ccl_program correctly.
52283633 5437 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5438
bccee4f2
GM
54392001-01-15 Gerd Moellmann <gerd@gnu.org>
5440
e4ded23c
GM
5441 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5442 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5443
5444 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5445 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5446 the display; we didn't open it.
5447
bccee4f2
GM
5448 * dispnew.c (save_or_restore_current_matrices): Function removed.
5449 (save_current_matrix, restore_current_matrix): New functions.
5450 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5451 restore the frame's current matrix. Due to the glyph pointer
5452 setup done in adjust_glyph_matrix, there is no easy way to make
5453 saving the current matrix in the desired matrix generally correct,
5454 so don't try it.
5455
ebeccffa
KH
54562001-01-15 Kenichi Handa <handa@etl.go.jp>
5457
5458 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5459 truncation glyphs.
5460 (display_line): Optimize for wide characters.
e4ded23c 5461 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5462 partially. On ttys, produce more than one truncation glyph for
5463 multi-column characters that don't fit on the line.
5464
64388126
KH
54652001-01-13 Kenichi Handa <handa@etl.go.jp>
5466
52283633
SM
5467 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5468 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5469
8edb0a6f
JR
54702001-01-13 Jason Rumney <jasonr@gnu.org>
5471
5472 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5473 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5474 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5475 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5476
52283633
SM
5477 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5478 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5479 (x_draw_image_glyph_string): Adapt to change of image margins.
5480
5481 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5482 variables.
5483
5484 * w32bdf.c (search_file_line, get_cached_font_char)
5485 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5486
5487 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5488
5489 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5490 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5491 (Fw32_send_sys_command): Remove unused variables.
5492 (w32_msg_pump): Add parentheses.
5493
5494 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5495 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5496 Add parentheses.
5497
4956d1ef
GM
54982001-01-12 Gerd Moellmann <gerd@gnu.org>
5499
b30623be
GM
5500 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5501 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5502 being a pair of margins.
5503 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5504 to DEFVAR_LISP. Extend doc.
5505
5506 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5507 margins.
5508 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5509 pair of integers `(X . Y)', use X for the horizontal and Y for the
5510 vertical margin.
5511 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5512 (parse_image_spec): Check it.
52283633
SM
5513 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5514 (tiff_format, gif_format, gs_format):
5515 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5516
52283633
SM
5517 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5518 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5519 (x_draw_image_glyph_string): Adapt to the change of image margins.
5520
5521 * dispextern.h (struct image): Replace member `margin' with
5522 `hmargin' and `vmargin'.
5523
4554cc79
GM
5524 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5525 and GLYPHS.
5526
5527 * dispnew.c (update_text_area): Put code which decrements the
5528 stop position when the row's face extends to the end of the
3bffc665 5529 line in #if 0.
4554cc79 5530
3cccce8d
GM
5531 * xfns.c (x_set_mouse_color): Fix color allocation.
5532
4956d1ef
GM
5533 * keyboard.c: Call get_local_map with new argument list.
5534
5535 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5536
5537 * intervals.h (enum map_property): Removed.
5538 (get_local_map): Change prototype.
5539
5540 * keymap.c: Call get_local_map with new argument list.
5541 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5542
2c2ff7f2
GM
55432001-01-11 Gerd Moellmann <gerd@gnu.org>
5544
a23887b9
GM
5545 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5546 of the size needed for the tool bar string. For the last image,
5547 use a `display' property that reaches to the end of the string.
5548
a7ee2d2e
GM
5549 * xselect.c (selection_request_dpyinfo): New variable.
5550 (x_handle_selection_request): Set it.
5551 (x_selection_request_lisp_error): Don't call
5552 x_decline_selection_request if selection request's display has
5553 been closed.
5554
52283633
SM
5555 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5556 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5557
457b792c
GM
55582001-01-10 Dave Love <fx@gnu.org>
5559
5560 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5561 ${SOME_MACHINE_LISP}, not ${lisp}.
5562
c1efd260
GM
55632001-01-10 Gerd Moellmann <gerd@gnu.org>
5564
52283633
SM
5565 * xdisp.c (display_line): On ttys, produce more than one truncation
5566 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5567
ac95a621
GM
5568 * xselect.c (x_reply_selection_request): Add a comment.
5569
c1efd260
GM
5570 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5571 XkbGetNames instead of XkbGetKeyboard.
5572
1bfb1345
DL
55732001-01-10 Dave Love <fx@gnu.org>
5574
5575 * sysdep.c (random): Revert the declaration.
5576
38119822
GM
55772001-01-09 Gerd Moellmann <gerd@gnu.org>
5578
52283633
SM
5579 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5580 Call function string_bytes.
35f464a7
GM
5581 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5582
5583 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5584 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5585 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5586 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5587 the current sblock.
5588 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5589 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5590 after sweeping strings, and at the end.
5591 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5592
38119822
GM
5593 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5594 ensure that pop_message is called.
5595
5596 * keyboard.c (Fexecute_extended_command): Use a
5597 record_unwind_protect to ensure that pop_message is called.
5598
5599 * lisp.h (push_message_unwind): Add prototype.
5600
5601 * xdisp.c (push_message_unwind): New function.
5602
5603 * fileio.c (do_auto_save_unwind): Do the pop_message here
5604 instead of in Fdo_auto_save.
5605 (Fdo_auto_save): Don't call pop_message.
5606
f47a9ec4
KR
56072001-01-08 Ken Raeburn <raeburn@gnu.org>
5608
5609 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5610 in inner block.
5611
a758f97d
GM
56122001-01-08 Gerd Moellmann <gerd@gnu.org>
5613
6d0afc03
GM
5614 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5615 when increasing window's vscroll.
5616
a758f97d
GM
5617 * macros.c (Qkbd_macro_termination_hook): New variable.
5618 (syms_of_macros): Initialize and staticpro it.
5619 (pop_kbd_macro): Run kbd-macro-termination-hook.
5620
5621 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5622
1bfb1345 56232001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5624
5625 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5626 arglist, for documentation's sake.
5627
0dac6924
AI
56282001-01-06 Andrew Innes <andrewi@gnu.org>
5629
5630 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5631 of *.pdb.
5632
8182406a
AI
56332001-01-05 Andrew Innes <andrewi@gnu.org>
5634
5635 * term.c (update_end): Don't check updating_frame; for some reason
5636 this can be 0 sometimes, such as after dismissing a popup menu,
5637 and isn't necessary given the explicit frame argument.
5638
3828218c
GM
56392001-01-05 Gerd Moellmann <gerd@gnu.org>
5640
5641 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5642 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5643
2f5ded21
GM
56442001-01-04 Gerd Moellmann <gerd@gnu.org>
5645
52283633 5646 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5647
5648 * xfns.c (x_create_tip_frame): Preserve the value of
5649 face_change_count around the creation of the tip frame.
52283633 5650
2f5ded21
GM
5651 * xfns.c (last_show_tip_args): New variable.
5652 (compute_tip_xy): New function.
5653 (Fx_show_tip): Reuse an existing tip frame, if possible.
5654 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5655
dfad65fa
DL
56562001-01-04 Dave Love <fx@gnu.org>
5657
64d4ec0f
DL
5658 * editfns.c (Fformat): Doc fix.
5659
dfad65fa
DL
5660 * systime.h (set_file_times): Prototype.
5661
5662 * widget.h (EmacsFrameSetCharSize_): Prototype.
5663
5664 * sysdep.c (random, srandom): Declare explicitly.
5665
5666 * dispextern.h (move_it_vertically_backward): Declare.
5667
85fe3b5e
GM
56682001-01-04 Gerd Moellmann <gerd@gnu.org>
5669
0f2ac578
GM
5670 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5671 like in Fx_create_frame.
5672
482cca61
GM
5673 * xfaces.c (set_font_frame_param): Don't do anything for
5674 non-graphical frames.
5675
85fe3b5e
GM
5676 * window.c (Fdelete_other_windows): Set window's window_end_valid
5677 to nil when changing the window's start. Don't change the
5678 window's start when its top position hasn't changed. If we do,
5679 this will set the window's optional_new_start, which act's like a
5680 force_start during redisplay with C-x 1 M-> under particular
5681 circumstances (see report from Per Starback to emacs-pretest-bug
5682 from 2000-12-13.).
5683
3e99d3b4
GM
56842001-01-03 Gerd Moellmann <gerd@gnu.org>
5685
a77dc1ec
GM
5686 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5687 short cut at the start of the function. Add an assertion.
5688 (reseat_at_next_visible_line_start): Add an assertion.
5689
2f3cad6c
GM
5690 * window.c (Frecenter): When changing the window start, set the
5691 window's window_end_valid to nil.
5692 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5693
5694 * dispextern.h (move_it_past_eol): Add prototype.
5695
5696 * xdisp.c (move_it_past_eol): New function.
5697
3e99d3b4
GM
5698 * window.c (Fwindow_end): Doc fix.
5699
57002001-01-03 Dave Love <fx@gnu.org>
5701
52283633 5702 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5703
bafb434c
GM
57042001-01-03 Gerd Moellmann <gerd@gnu.org>
5705
5706 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5707 the enabled_p flag of the glyph row at window_end_vpos to 0.
5708 (handle_single_display_prop): Fix last change.
5709
5297fb00
RS
57102001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5711
5712 * window.c (Frecenter): Doc fix.
5713
13d6a61c
AI
57142001-01-02 Andrew Innes <andrewi@gnu.org>
5715
5716 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5717
5718 * frame.h (output_method): Add output_w32_console method.
5719 (FRAME_W32_CONSOLE_P): New macro.
5720
5721 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5722 use output_w32_console method.
5723 (Qw32_console): New Lisp_Object.
5724 (Fframep): Return it.
5725 (syms_of_frame): Init it.
52283633 5726 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5727
5728 * xfaces.c (realize_default_face): Set face foreground and
5729 background to unspecified for w32_console frames.
5730 (realize_face): Realize face cache for w32_console frames.
5731 (realize_tty_face): Accept w32_console frames.
5732
52283633 5733 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5734 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5735 necessary, even if running interactively.
5736
5737 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5738 w32_console frames.
5739
52283633
SM
5740 * w32term.c (x_update_begin):
5741 (x_update_end):
5742 (x_clear_frame):
5743 (x_ins_del_lines):
5744 (x_change_line_highlight):
5745 (x_delete_glyphs):
5746 (w32_ring_bell):
5747 (x_update_begin):
5748 (x_update_end):
5749 (w32_reassert_line_highlight):
5750 (w32_frame_rehighlight):
13d6a61c
AI
5751 (w32_frame_raise_lower): Do nothing if not w32 frame.
5752
5753 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5754
5755 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5756 system doesn't tell us directly.
5757 (Fx_display_visual_class): Implement properly.
5758
d6bb0c0d
GM
57592001-01-02 Gerd Moellmann <gerd@gnu.org>
5760
5761 * window.c (Frecenter): Handle centering in graphical frames
5762 specially. Centering on the basis of line counts doesn't work
5763 reliably with variable-height lines.
52283633 5764
315f5865
EZ
57652001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5766
5767 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5768 and al[].
5769
52283633 5770 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5771 (update_compositions): Remove unused variable `hook'.
5772
5773 * intervals.c (get_local_map): Remove unused variable `tem'.
5774
5775 * doprnt.c (doprnt1): Remove unused variable `size'.
5776
5777 * fns.c (Flength): Remove unused variable `tail'.
5778 (Fdelete): Remove unused variable `size'.
5779
5780 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5781 and `gcpro2'.
5782
52283633 5783 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5784
5785 * data.c (find_symbol_value): Remove extra 3rd argument in the
5786 call to swap_in_symval_forwarding.
5787
52283633 5788 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5789
5790 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5791 (trivial_regexp_p): Remove unused variable `c'.
5792 (boyer_moore): Remove unused variable `k'.
5793
5794 * indent.c (current_column): Remove unused variable `stopchar'.
5795 (Fcompute_motion): Remove unused variable `contin'.
5796
5797 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5798
5799 * dired.c (directory_files_internal): Fix a typo in a comment.
5800 Remove an unused variable `handler'.
52283633 5801 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5802 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5803 on BSD4_2.
5804
52283633 5805 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5806
5807 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5808 and `buf'.
5809 (Fmarker_insertion_type): Remove unused variable `buf'.
5810
5811 * insdel.c (make_gap): Remove unused variable `result'.
5812
52283633 5813 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5814 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5815 (menu_bar_items): Remove unused function-scope variable `tem'.
5816
5817 * fontset.c (fontset_ref): Remove unused variable `i'.
5818 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5819 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5820 (make_fontset_for_ascii_face): Remove unused variable `name'.
5821 (fs_load_font): Remove unused variable `font_idx'.
52283633 5822 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5823 (list_fontsets): Remove unused variable `tail'.
5824 (Fnew_fontset): Remove unused variables `family' and `registry'.
5825 (accumulate_font_info): Remove unused variable `tmp'.
5826 (Ffontset_font): Remove unused variable `id'.
5827 (syms_of_fontset): Remove unused variable `i'.
5828
5829 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5830 to x_term_init.
5831 (lookup_image): Remove unused variable `file'.
5832 (xbm_load): Remove unused variables `bitmap_data', `height', and
5833 `width'. Remove function-local variable `i', leave the
5834 block-local one.
5835 (gif_load): Remove unused variable `inc'.
5836
52283633 5837 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5838 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5839 leave only the one in the inner block.
5840
5841 * xfaces.c (face_fontset, realize_default_face): Remove unused
5842 variable `fontset'.
5843 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5844
5845 * term.c (encode_terminal_code): Remove unused variable `c'.
5846
5847 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5848 char *' instead of `char *'.
5849
5850 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5851 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5852 (Fchar_category_set): Remove unused variables `val', `charset',
5853 `c1' and `c2'.
5854
52283633
SM
5855 * coding.c (detect_coding_iso2022, setup_coding_system):
5856 Remove unused variable `i'.
315f5865
EZ
5857 (detect_coding_mask): Remove unused variable `idx'.
5858 (detect_coding): Remove unused variable `i'.
5859 (ccl_coding_driver): Remove unused variable `result'.
5860 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5861 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5862 (encode_coding_string): Remove unused variables `gcpro1' and
5863 `saved_coding_symbol'.
5864 (Ffind_coding_systems_region_internal): Remove function-local
5865 variable args[], leave only the block-local one.
5866 (code_convert_region1): Remove unused variable `len'.
5867
5868 * charset.c (char_printable_p): Remove unused variable `chars'.
5869 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5870 (str_to_multibyte): Remove unused variable `c'.
5871
5872 * window.c (size_window): Remove block-local variable `min_size'.
5873
5874 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5875 `header_line_height'.
5876 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5877 enum display_element_type.
5878
1a8a9daf
GM
58792001-01-02 Gerd Moellmann <gerd@gnu.org>
5880
6dde6abc 5881 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5882 statements that call X. Save away the error message in a local copy.
5883
1883b2c6
GM
5884 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5885 the start.
5886
a13be207
GM
5887 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5888 in or at the start of invisible text.
5889
1a8a9daf
GM
5890 * dispnew.c (update_window): Don't check_current_matrix_flags.
5891
3608c0f9
JR
58922001-01-01 Jason Rumney <jasonr@gnu.org>
5893
5894 * w32fns.c (x_figure_window_size): Do not allow new_height and
5895 new_width of frame to override specified values.
5896
abb1acc4
KH
58972000-12-30 Kenichi Handa <handa@etl.go.jp>
5898
52283633 5899 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5900
762a68ec
GM
59012000-12-29 Gerd Moellmann <gerd@gnu.org>
5902
52283633 5903 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5904 (update_window) [GLYPH_DEBUG]: Call it.
5905 (scrolling_window): Prevent including current rows which are below
5906 what's displayed in the window.
5907
5908 * xdisp.c (try_window_reusing_current_matrix)
5909 <new start <= old start>: Disable rows in the current matrix
5910 which are below the window after scrolling.
52283633 5911
762a68ec
GM
5912 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5913 is zero. It's not worth the complexity.
5914 (invisible_text_between_p): Put in #if 0 because unused.
5915
2d5912c1
GM
59162000-12-28 Gerd Moellmann <gerd@gnu.org>
5917
46f6a258
GM
5918 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5919 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5920
89f93679
GM
5921 * keyboard.c (echo_char): If C is an integer, always call
5922 push_key_description. Former code could signal an invalid
5923 character error.
5924
5925 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5926 If set, print multibyte text.
5927 (Fsingle_key_description): Call push_key_description with
5928 FORCE_MULTIBYTE set.
5929 (describe_buffer_bindings): Likewise.
5930
5931 * lisp.h (push_key_description): Add prototype.
5932
c06017fb
GM
5933 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5934 around the call to redisplay_internal.
5935
f1d2ce7f
GM
5936 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5937
2d5912c1
GM
5938 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5939
9371f831
KH
59402000-12-28 Kenichi Handa <handa@etl.go.jp>
5941
5942 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5943 (ccl_driver): New local variable `extra_bytes'.
5944
5945 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5946
52283633
SM
5947 * coding.c (setup_coding_system):
5948 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5949 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5950
0c80628a
KH
59512000-12-28 Kenichi Handa <handa@etl.go.jp>
5952
5953 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5954 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5955 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5956 (decode_composition_emacs_mule): New function.
5957 (decode_coding_emacs_mule): Decode composition sequence by calling
5958 decode_composition_emacs_mule.
5959 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5960 (encode_coding_emacs_mule): Changed from macro to function.
5961 If a text contains compositions, encode them correctly.
0c80628a
KH
5962 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5963 that decoding and encoding are required.
5964
3e32cc27
GM
59652000-12-27 Gerd Moellmann <gerd@gnu.org>
5966
5e25feee
GM
5967 * xfaces.c (PT_PER_INCH): New macro.
5968 (xlfd_point_size): Compute real point size from font's pixel size.
5969 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5970 instead of 72.
5971
892d8fcd
GM
5972 * .gdbinit: Comment out the line pointing to the Lesstif source
5973 directory.
5974
12c8b416
GM
5975 * window.c (Frecenter): Use displayed_window_lines instead
5976 of window_internal_height.
5977
6061fbf0
GM
5978 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5979 instead of x-toolkit-scroll-bars-p.
5980 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5981
5982 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5983 instead of x-toolkit-scroll-bars-p.
5984 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5985
3e32cc27
GM
5986 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5987 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5988 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5989 New variables.
5990 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5991 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5992 (build_frame_matrix_from_leaf_window): Remove unused code.
5993 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5994 redisplay history.
5995 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5996 (update_window) [GLYPH_DEBUG]: Likewise.
5997 (syms_of_display): Defsubr dump-redisplay-history.
5998
31798cfe
GM
59992000-12-23 Gerd Moellmann <gerd@gnu.org>
6000
f717c2ba
GM
6001 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6002 the end of the prompt. Set echo_after_prompt to the offset
6003 of echoptr in echobuf.
6004
aeb2b8fc
GM
6005 * xdisp.c (init_from_display_pos): Pop until the iterator's
6006 stack is empty; there may be frames for stretch or images
6007 on the stack.
6008
31798cfe
GM
6009 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6010 (save_or_restore_current_matrix): New function for the same
6011 purpose, but more efficient.
6012 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6013
f8156156
EZ
60142000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6015
6016 * xdisp.c (syms_of_xdisp): Fix last change.
6017
bdd6d4e8
GM
60182000-12-23 Gerd Moellmann <gerd@gnu.org>
6019
6020 * xdisp.c (syms_of_xdisp): Doc fix.
6021
6022 * xdisp.c (redisplay_window): Remove label restore_buffers;
6023 use finish_scroll_bars instead to make sure that scroll bars
6024 are redeemed. If we don't do this, flickering can result from
6025 scroll bars being destroyed and recreated.
6026
9436cdf9
JR
60272000-12-22 Jason Rumney <jasonr@gnu.org>
6028
6029 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6030 in the wrong colors when the foreground is not black.
6031 (expose_window): Don't redraw the window that's currently being
6032 updated.
6033
951f9df5
GM
60342000-12-22 Gerd Moellmann <gerd@gnu.org>
6035
856ff7a7
GM
6036 * window.c (size_window): When setting the window's too_small_ok
6037 flag, compare old size with minimum size depending on WIDTH_P,
6038 don't compare with window_min_width.
52283633 6039
951f9df5
GM
6040 * window.c (delete_window): Simplify somewhat.
6041 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6042 freeing window matrices. The flag windows_or_buffers_changed is
6043 set, so the next redisplay will consider all windows; this should
6044 suffice.
6045
886bc933
KH
60462000-12-22 Kenichi Handa <handa@etl.go.jp>
6047
6048 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6049
6050 * ccl.h (struct ccl_program): New member cr_consumed.
6051
6052 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6053 (CCL_READ_CHAR): Handle EOL conversion here.
6054 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6055
177f4e88
GM
60562000-12-21 Gerd Moellmann <gerd@gnu.org>
6057
52283633 6058 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6059
6060 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6061 otherwise tabs of different size compare equal.
6062
6063 * callint.c (Fcall_interactively): Prevent a compiler warning.
6064
6065 * print.c (print_unwind): Return nil.
6066 (PRINTDECLARE): Initialize all local variables.
6067 (print_preprocess): Add a default case.
6068
8e15274f
GM
6069 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6070
6071 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6072
52283633 6073 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6074 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6075
6076 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6077
6078 * dispnew.c (ensure_frame_matrix): Removed.
6079 (save_frame_matrix, restore_frame_matrix): New functions.
6080 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6081
6082 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6083 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6084
99012074
AI
60852000-12-21 Andrew Innes <andrewi@gnu.org>
6086
6087 * w32term.c (x_update_begin): Regenerate the palette here, rather
6088 than for each window.
6089
6090 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6091 palette is NULL, since this corrupts memory! Also get
6092 display_info reference from frame.
6093
29ef7d2d
JR
60942000-12-21 Jason Rumney <jasonr@gnu.org>
6095
6096 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6097
6098 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6099 to avoid returning without releasing it.
3e27fa1f 6100
3f9d67a6
KH
61012000-12-21 Kenichi Handa <handa@etl.go.jp>
6102
587fc3f9
KH
6103 * keymap.c (push_key_description): Don't convert eight-bit-control
6104 and eight-bit-graphic to multibyte character.
6105
3f9d67a6
KH
6106 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6107 generic character and CODE1 is nil, return the smallest character
6108 in CHARSET.
6109
774ba8c9
DL
61102000-12-20 Dave Love <fx@gnu.org>
6111
6112 * s/osf5-0.h (NSIG): Don't redefine.
6113
88416888
SM
61142000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6115
6116 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6117 excluding menu-bar and tool-bar.
6118 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6119 (menu_item_p): Remove.
6120 (where_is_internal_1): Don't ignore menu-items.
6121
a6426c6f
GM
61222000-12-20 Gerd Moellmann <gerd@gnu.org>
6123
03ff8aab
GM
6124 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6125 into account.
6126
6127 * window.c (make_window): Initialize window's min_hscroll.
6128 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6129 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6130 to zero.
6131 (struct saved_window): New member min_hscroll.
6132 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6133 (Fset_window_configuration): Set window's min_hscroll.
6134 (save_window_save): Save window's min_hscroll.
6135 (compare_window_configurations): Compare min_hscroll values.
6136
6137 * window.h (struct window): New member min_hscroll.
6138
6139 * keyboard.c (echo_prompt): Prevent a compiler warning.
6140
8de4aaf8
GM
6141 * xdisp.c (try_cursor_movement): Fix last change. The real
6142 condition is that PT is at the end of the row, and should
6143 be displayed at the start of the next row.
52283633 6144
3f7e3031
GM
6145 * xdisp.c (try_cursor_movement): If we end on a partially
6146 visible line, end we already decided to scroll, return -1.
6147
a6426c6f
GM
6148 * dispextern.h (ensure_frame_matrix): Add prototype.
6149
6150 * window.c (delete_window, Fsplit_window)
6151 (Fset_window_configuration): Call ensure_frame_matrix.
6152
52283633
SM
6153 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6154 New functions.
a6426c6f
GM
6155 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6156 completed, call fake_current_matrices instead of marking frame
6157 garbaged.
6158
57fa2774
JR
61592000-12-20 Jason Rumney <jasonr@gnu.org>
6160
6161 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6162
d925df90
EZ
61632000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6164
6165 * fns.c (Frequire): Doc fix.
6166
7b93a85b
GM
61672000-12-19 Gerd Moellmann <gerd@gnu.org>
6168
52283633 6169 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6170
c74e645b
GM
6171 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6172 currently displaying a message.
6173
7b93a85b
GM
6174 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6175 xterm.h.
6176 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6177
90d97e64
AI
61782000-12-18 Andrew Innes <andrewi@gnu.org>
6179
6180 * w32.c (w32_strerror): New function.
6181
6182 * w32.h (w32_strerror): New extern.
6183
6184 * w32fns.c (Fw32_shell_execute): Use it.
6185
91c9e6ce
GM
61862000-12-18 Gerd Moellmann <gerd@gnu.org>
6187
6188 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6189
6f4745e2
EZ
61902000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6191
6192 * msdos.c (IT_set_face): Obey inverse_video.
6193
c9e088ce
KH
61942000-12-18 Kenichi Handa <handa@etl.go.jp>
6195
6196 * dired.c (directory_files_internal): Always return decoded filenames.
6197
c3695f5f
GM
61982000-12-18 Gerd Moellmann <gerd@gnu.org>
6199
52d8e4ff
GM
6200 * xterm.c (x_connection_closed): Prevent being called recursively
6201 because of an error condition in XtCloseDisplay.
52283633 6202
62be9979
GM
6203 * xdisp.c (init_iterator): If noninteractive, and the frame's
6204 face cache is null, make one.
6205
52283633 6206 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6207
c3695f5f
GM
6208 * process.c (wait_reading_process_input): Check for pending
6209 input when running timers.
6210
78555fbe
EZ
62112000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6212
52283633 6213 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6214
b2b36264
KH
62152000-12-18 Kenichi Handa <handa@etl.go.jp>
6216
6217 * process.c (read_process_output): Don't run a filter if the code
6218 decoder produces nothing but carryover.
6219
9c543fbf
AI
62202000-12-17 Andrew Innes <andrewi@gnu.org>
6221
6222 * w32.c (sys_rename): Only check errno against EEXIST, and not
6223 EACCES, when determining whether rename failed because the target
6224 exists. This was resulting in indefinite looping on Windows 9x if
6225 the source file was locked by another process.
6226
6227 * w32fns.c (Ffile_system_info): New function.
6228 (syms_of_w32fns): Defsubr it.
6229
10c2b5a8
GM
62302000-12-17 Gerd Moellmann <gerd@gnu.org>
6231
b0228ace
GM
6232 * window.c (coordinates_in_window): Fix computation for
6233 position on vertical line between mode lines.
6234
10c2b5a8
GM
6235 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6236 Don't alter tip_frame or tip_window.
6237 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6238 was deleted.
6239
c844a81a
GM
6240 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6241 Don't alter tip_frame or tip_window.
6242 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6243 was deleted.
6244
6c825f8e
EZ
62452000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6246
6247 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6248 be consistent with the doc string. Reported by NAKAJIMA Mikio
6249 <minakaji@osaka.email.ne.jp>.
6250
af4bb4c8
KH
62512000-12-16 Kenichi Handa <handa@etl.go.jp>
6252
6253 * xfaces.c (Vface_ignored_fonts): New variable.
6254 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6255 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6256
8062e53a
GM
62572000-12-15 Gerd Moellmann <gerd@gnu.org>
6258
e87b8809
GM
6259 * dispnew.c (update_window): Detect pending input every nth line
6260 updated, i.e. do it depending on real work done, and not on the
6261 vpos of the line.
6262
6263 * xterm.c (expose_window): Don't redraw the window that's
6264 currently being updated.
6265
a6768cc5
GM
6266 * window.c (Fset_window_point): Remove test for
6267 cursor_in_non_selected_windows.
6268
4ea7fdca
GM
6269 * lread.c (read1): Recognize end of file after `\\'.
6270
8062e53a
GM
6271 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6272 not unwind_create_frame.
6273
bb7959c1
GM
62742000-12-15 Dave Love <fx@gnu.org>
6275
6276 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6277 bcopy & al.
6278
6279 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6280
ced04c42
KH
62812000-12-15 Kenichi Handa <handa@etl.go.jp>
6282
c5443913
KH
6283 * coding.c (setup_coding_system): Clear all members of the struct
6284 coding_system at first.
bc137305
KH
6285 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6286 argument.
6287 (code_convert_region): Don't override coding->src_multibyte and
6288 coding->dst_multibyte.
c5443913 6289
ced04c42
KH
6290 * fns.c (Fmd5): Docstring improved.
6291
c2d7f289
MB
62922000-12-15 Miles Bader <miles@gnu.org>
6293
6294 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6295 are actually marked as mode-lines; otherwise use
6296 estimate_mode_line_height.
6297
9d7d9263
GM
62982000-12-14 Gerd Moellmann <gerd@gnu.org>
6299
6300 * editfns.c (Fformat): Prevent a buffer overrun when the format
6301 specifies a precision.
6302
7cf0153a
EZ
63032000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6304
6305 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6306 argument is outside the range [2..3].
6307
1de0f662
AI
63082000-12-14 Andrew Innes <andrewi@gnu.org>
6309
6310 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6311 nothing to do. Bind inhibit-quit.
6312 (tip_frame): Make it a Lisp_Object.
6313 (x_create_tip_frame): Set tip_frame after it has been added to
6314 Vframe_list.
6315 (Fx_show_tip): Don't set tip_frame here.
52283633 6316 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6317 (unwind_create_frame, unwind_create_tip_frame): New functions.
6318 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6319 while a frame is only partially constructed.
6320
6321 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6322 (x_free_frame_resources): New function.
6323 (x_destroy_window): Use it.
6324
02387dcc
GM
63252000-12-14 Gerd Moellmann <gerd@gnu.org>
6326
6327 * xfns.c (Fx_backspace_delete_keys_p): New function.
6328 (syms_of_xfns): Defsubr it.
6329
6330 * config.in (HAVE_XKBGETKEYBOARD): Add.
6331
0544ef49
KH
63322000-12-14 Kenichi Handa <handa@etl.go.jp>
6333
98d62747
KH
6334 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6335 Always store string in multibyte representation in echobuf.
6336 (echo_char): Always store string in multibyte representation in
6337 echobuf.
6338 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6339 (read_key_sequence): Adjusted for the change of echo_prompt.
6340
a20193cd
KH
6341 * fns.c (Fmd5): Docstring improved.
6342
191b83b6
KH
6343 * lisp.h (detect_coding_system): Prototype adjusted.
6344
0544ef49
KH
6345 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6346 (detect_coding_emacs_mule, detect_coding_iso2022,)
6347 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6348 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6349 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6350 (detect_coding_mask, detect_coding_system): New argument
6351 MULTIBYTEP. Callers changed.
1da1bb05
KH
6352 (decode_coding_string): Set coding->src_multibyte and
6353 coding->dst_multibyte before calling detect_coding and detect_eol.
6354 Update them after some coding system is detected.
52283633 6355
d5b3eb1b
SM
63562000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6357
6358 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6359
6360 * keyboard.c (menu_bar_items, tool_bar_items):
6361 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6362
f7f8bb69
GM
63632000-12-13 Gerd Moellmann <gerd@gnu.org>
6364
52283633 6365 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6366 New variables.
6367 (unwind_create_frame, unwind_create_tip_frame): New functions.
6368 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6369 while a frame is only partially constructed.
6370
6371 * xterm.h (x_free_frame_resources): Declare.
6372
6373 * xterm.c (x_free_frame_resources): New function.
6374 (x_destroy_window): Use it.
6375
e10da507
GM
6376 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6377 don't interrupt the update for pending input initially, i.e.
6378 update at least some lines.
6379
6380 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6381
d5b3eb1b 6382 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6383
6384 * xfns.c (gray_bitmap_bits): Declare `char *'.
6385
90aa2856
GM
63862000-12-12 Gerd Moellmann <gerd@gnu.org>
6387
6388 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6389 lines start with a relief line.
6390
a308c9cd
DL
63912000-12-12 Dave Love <fx@gnu.org>
6392
6393 * window.c (Fdisplay_buffer): Doc fix.
6394 (Fwindow_list): Remove unused var.
6395
6396 * buffer.h (mmap_set_vars): Declare.
6397
6398 * window.h (Fset_window_point): Declare.
6399
d575011f
EZ
64002000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6401
bf6282d2 6402 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6403 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6404 variable `area'. When looking for a row under (X,Y), give up if some
6405 of the previous rows is not enabled.
d575011f 6406
ecf4d726
GM
64072000-12-12 Gerd Moellmann <gerd@gnu.org>
6408
2ebf6139
GM
6409 * window.c (Fset_window_point): If displaying cursors in windows
6410 other than the selected window, make sure redisplay updates
6411 other windows to show the new value of point in the window.
6412
6413 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6414
bfdb75ee
GM
6415 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6416 the buffer is the sole visible buffer when in the mini-buffer.
6417
52283633 6418 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6419 Bind `inhibit-read-only' to t.
6420 (unwind_with_echo_area_buffer): Use AREF.
6421
c0006262
GM
6422 * xfns.c (Fx_hide_tip): Simplified.
6423
52283633
SM
6424 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6425 instead of `1'.
e9a59cad 6426
ecf4d726
GM
6427 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6428
e5959a9a
GM
64292000-12-11 Gerd Moellmann <gerd@gnu.org>
6430
a3642e49 6431 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6432
44b5a125
GM
6433 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6434 nothing to do. Bind inhibit-quit.
6435 (tip_frame): Make it a Lisp_Object.
6436 (x_create_tip_frame): Set tip_frame after it has been added to
6437 Vframe_list.
6438 (Fx_show_tip): Don't set tip_frame here.
6439
6440 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6441
6442 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6443 Lisp_Object.
6444
6445 * dispextern.h: Change external declaration of tip_frame.
6446
d990421f
GM
6447 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6448 return an empty string.
6449
4db87380
GM
6450 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6451 of the window's update_mode_line flag, since the former is set by
6452 force-mode-line-update, not the latter. This makes
6453 column-number-mode slightly faster.
52283633 6454
e5959a9a
GM
6455 * xdisp.c (try_window_id) <all changes above window start>:
6456 Set the cursor.
6457
169fe44e
GM
64582000-12-11 Paul Eggert <eggert@twinsun.com>
6459
6460 * config.in (HAVE_FTELLO): Remove.
6461 (HAVE_FSEEKO): Add.
6462 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6463 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6464 HAVE_FTELLO.
6465 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6466 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6467
59ec59ae
MB
64682000-12-11 Miles Bader <miles@gnu.org>
6469
6470 * window.c (displayed_window_lines): Don't round up when
6471 converting empty space at bottom to lines.
ff904dd6
MB
6472 Handle non-newline-terminated final lines properly.
6473 (Fwindow_text_height): New function (used to be in lisp).
6474 (syms_of_window): Initialize it.
59ec59ae 6475
42ebfa31
SM
64762000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6477
6478 * syntax.c (scan_lists): Check that the right quote char has the
6479 right Sstring syntax when jumping over strings.
6480 (init_syntax_once): Use Smax rather than 13.
6481
5cdb3cf3
MB
64822000-12-09 Miles Bader <miles@gnu.org>
6483
6484 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6485 with PARTIALLY, inverting the sense.
6486 (window_scroll_pixel_based): Scroll partially visible lines into
6487 place if we hit the beginning or end of the buffer.
a12167c5
MB
6488 (displayed_window_lines): Don't include partially visible lines.
6489 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6490
842b2a94
GM
64912000-12-08 Gerd Moellmann <gerd@gnu.org>
6492
6493 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6494
6495 * tparam.c (tparam1): Change the way buffers are reallocated to be
6496 portable and less obfuscated.
6497
6498 * termcap.c (tgetent): Change the way buffers are reallocated to
6499 be portable and less obfuscated.
6500
6501 * macros.c (store_kbd_macro_char): Change the way buffers are
6502 reallocated to be portable and less obfuscated.
6503
6504 * lread.c (read1): Change the way buffers are reallocated to be
6505 portable and less obfuscated.
6506
6507 * doc.c (Fsubstitute_command_keys): Change the way buffers
6508 are reallocated so that it is portable.
6509
137cad7c
EZ
65102000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6511
6512 * dosfns.c (Ffile_system_info): New function.
6513 (syms_of_dosfns): Defsubr it.
6514
5c7f629c
SM
65152000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6516
6517 * alloc.c (gc_sweep): Add comment.
6518
959e647d
GM
65192000-12-07 Gerd Moellmann <gerd@gnu.org>
6520
52283633
SM
6521 * sound.c (vox_configure): Change order of ioctls.
6522 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6523 Ignore errors when changing volume.
6524 (vox_close): Don't reset the device.
6525
926b7e5e
GM
6526 * process.c (read_process_output): Make sure the process marker's
6527 position is valid when the process buffer is changed in
6528 after-change functions. W3 does that.
52283633 6529
959e647d
GM
6530 * xfns.c (x_free_gcs): New function.
6531
6532 * xterm.h (x_free_gcs): Add prototype.
6533
6534 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6535 freeing GCs here.
6536
6537 * xterm.c (x_destroy_window): Call x_free_gcs so that
6538 resources of non-toolkit X windows will be freed.
6539
478ea067
AI
65402000-12-07 Andrew Innes <andrewi@gnu.org>
6541
6542 * w32fns.c (xlfd_charset_of_font): Fix last change.
6543
fbee3231
DL
65442000-12-06 Dave Love <fx@gnu.org>
6545
67292061
DL
6546 * md5.h (__P): Don't define -- it comes from config.h.
6547
fbee3231
DL
6548 * strftime.c: Change some #if foo to #ifdef foo.
6549
4ee87dbb
AI
65502000-12-06 Andrew Innes <andrewi@gnu.org>
6551
6552 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6553
52283633 6554 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6555 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6556 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6557
9765b4a4
GM
65582000-12-06 Gerd Moellmann <gerd@gnu.org>
6559
d285b373
GM
6560 * alloc.c (gc_sweep): Prevent symbols read during loadup
6561 from being freed.
6562
384333ee
GM
6563 * xdisp.c (underlying_face_id): New function.
6564 (handle_face_prop, face_before_or_after_it_pos): Use it
6565 to determine the face ``under'' a string. Let strings inherit
6566 the face of the buffer under them.
6567
6568 * xfaces.c (face_at_string_position): Update function comment.
52283633 6569
d4b72d58
GM
6570 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6571 matrix if the window's left position has changed; we need to
6572 redraw it in this case.
6573
6574 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6575
e1d05387
GM
6576 * window.c (coordinates_in_window): Check mouse on mode-line or
6577 header-line first.
6578
eb1b0c74
GM
6579 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6580 advertized by the function documentation.
6581
d94d636f
GM
6582 * window.c (syms_of_window): Doc fix.
6583
3887b449
GM
6584 * sound.c (vox_configure): Set volume for left and right channel.
6585 (sound_cleanup): Return nil.
6586
efc8f57a
GM
6587 * xdisp.c (move_it_by_lines): Fix paren typo.
6588
9765b4a4
GM
6589 * xterm.c (x_load_font): Don't use the font's max_bounds for
6590 computing the height of the font. If max_bounds' ascent or
6591 descent are greater than the font's ascent or descent, this means
6592 glyphs overlap, which should be handled now by redisplay.
6593
6529ed87
GM
6594 * window.c (Veven_window_heights): New variable.
6595 (syms_of_window): DEFVAR_LISP it.
6596 (Fdisplay_buffer): Check Veven_window_heights before evening the
6597 window heights.
52283633 6598
0eb2ecde
MB
65992000-12-06 Miles Bader <miles@gnu.org>
6600
6601 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6602 update `default-frame-alist' instead of setting no frame parameters.
6603
03d7a167
KH
66042000-12-06 Kenichi Handa <handa@etl.go.jp>
6605
6606 * composite.c (update_compositions): Fix typo (use the correct
6607 variable).
6608
5f8803c2
JR
66092000-12-05 Jason Rumney <jasonr@gnu.org>
6610
6611 * md5.h: Remove underscores from function declarations.
6612 (__attribute__, __alignof__) [!__GNUC__]: Define.
6613
6614 * md5.c: Delay include of md5.h until after namespace cleaning.
6615
c28a075b
JR
6616 * makefile.w32-in (fns.o): Depend on md5.h
6617 (md5.o): New target.
6618 (sunfns.o): Remove.
6619
6620 * makefile.nt: Likewise.
6621
ff3c7056
JR
66222000-12-05 Jason Rumney <jasonr@altavista.net>
6623
6624 * w32term.c (expose_area): Complete last change.
6625
0c21eeeb
KR
66262000-12-05 Ken Raeburn <raeburn@gnu.org>
6627
6628 * minibuf.c: Include intervals.h.
6629
f201d732
JR
66302000-12-05 Jason Rumney <jasonr@gnu.org>
6631
6632 * w32term.c (x_produce_glyphs): If a font for a component of
6633 a composition is not found, use 1 pixel dot ascent and 0 dot
6634 descent value to avoid displaying terribly tall empty boxes.
6635 (expose_area): Pass x-coordinate relative to the exposed
6636 area to x_draw_glyphs instead of a window-relative coordinate.
6637
21999ab9
GM
66382000-12-05 Gerd Moellmann <gerd@gnu.org>
6639
4d2036e4
GM
6640 * xdisp.c (next_element_from_ellipsis): Save face before selective
6641 display in saved_face_id, and set face_before_selective_p.
6642 (reseat_1): Reset face_before_selective_p.
6643 (append_space, extend_face_to_end_of_line): If iterator's
6644 face_before_selective_p is set, use the face from saved_face_id.
6645 (extend_face_to_end_of_line): For tty frames, make sure to
6646 use the right face id when producing spaces at the end of
6647 the line.
6648
6649 * dispextern.h (struct it): Add face_before_selective_p.
6650
52be17cc
GM
6651 * keyboard.c (record_char): Don't record identical help-echo
6652 events in recent_keys.
6653
8a4f36cc
GM
6654 * xterm.c [USE_X_TOOLKIT]: Close the display.
6655 (xim_close_dpy): Handle case that the display has been closed.
6656
57d6e381
GM
6657 * xterm.c (x_destroy_window): Reset the frame's X window after
6658 destroying it.
6659
21999ab9
GM
6660 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6661 variable window_width.
6662 (line_draw_cost): Fix code skipping over spaces at the end of the
6663 line when must_write_spaces is not set.
6664 (scrolling_window): Fix code inserting runs in list of all runs.
6665
91372bb7
KH
66662000-12-05 Kenichi Handa <handa@etl.go.jp>
6667
6668 * coding.c (setup_coding_system): Be sure to initialize
6669 coding->category_idx.
6670
6c083b4c
GM
66712000-12-04 Gerd Moellmann <gerd@gnu.org>
6672
0c68ce6f 6673 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6674
6452929e
GM
6675 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6676 area to x_draw_glyphs instead of a window-relative coordinate.
6677
d7f31e22
GM
6678 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6679 error in the message.
6680
ae18aa3b
GM
6681 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6682 timer after having read a key. It's not good for code reading
6683 several keys in a loop, like an input method.
6684
caa15ef7
GM
6685 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6686 record undo information for format-decode.
6687
6688 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6689 current buffer is read-only, not if it isn't.
6690
6c083b4c
GM
6691 * keyboard.c (record_char): Record `help-echo' input events
6692 in recent_keys only if they display some help. Don't record
6693 `help-echo' events as macro char.
6694
caa15ef7
GM
66952000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6696
6697 * editfns.c (save_excursion_restore): Don't move point
6698 in another window if it is showing the wrong buffer.
6699 Avoid the call to Fwindow_live_p, for speed.
6700
5a13529b
KH
67012000-12-04 Kenichi Handa <handa@etl.go.jp>
6702
e225faa7
KH
6703 * xfaces.c (struct font_name): New member registry_priority.
6704 (split_font_name): Initialize the above member to zero.
6705 (concat_font_list): New function.
6706 (font_list): Include fonts of all alternative registries.
6707 (FONT_POINT_SIZE_QUANTUM): New macro.
6708 (better_font_p): Ignore point size difference less than
6709 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6710
e89648b4
KH
6711 * xterm.c (x_produce_glyphs): If a font for a component of
6712 a composition is not found, use 1 pixel dot ascent and 0 dot
6713 descent value to avoid displaying terribly tall empty boxes.
6714
5a13529b
KH
6715 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6716
d7935eb6
KR
67172000-12-03 Ken Raeburn <raeburn@gnu.org>
6718
6719 * coding.h (code_convert_string1): Declare.
6720
6721 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6722
52283633 6723 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6724
0dd5e255
JR
67252000-12-02 Jason Rumney <jasonr@gnu.org>
6726
6727 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6728 correctly for single byte character case.
6729 (w32_per_char_metric): Do not try to make any assumptions about
6730 the metrics of BDF fonts.
250cfece 6731 (x_estimate_mode_line_height): If `mode-line' face
52283633 6732 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6733 (note_mouse_highlight): Change the cursor shape on the vertical
6734 border between windows [not enabled].
6735
6736 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6737
6738 * w32fns.c (Fx_create_frame): Reintroduce the call to
6739 face-set-after-frame-defaults.
6740 (Vx_window_horizontal_drag_shape): New variable.
6741 (syms_of_xfns): DEFVAR_LISP it.
6742 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6743 enabled].
0dd5e255 6744
b5d8d2ca
GM
67452000-12-02 Simon Josefsson <simon@josefsson.org>
6746
6747 * fns.c (Fmd5): Use a different logic to decide the coding system
6748 to use.
6749
6750 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6751
fbb87147
EZ
67522000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6753
52283633 6754 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6755
447e9da0
GM
67562000-12-01 Gerd Moellmann <gerd@gnu.org>
6757
7708ced0
GM
6758 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6759 height for YNegative.
6760 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6761 height; also see comment there.
6762
447e9da0
GM
6763 * window.c (coordinates_in_window): Handle computations for
6764 positions on the vertical bar and fringes differently for
6765 window-system frames. Consider some pixels near the vertical bar
6766 as on the bar if the frame doesn't have vertical scroll bars.
6767 Associate positions between mode or header lines with the
6768 right window, the left one.
6769
86d1db20
JR
67702000-12-01 Jason Rumney <jasonr@gnu.org>
6771
6772 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6773
6774 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6775 invalid frame.
6776
a1d58e5b
GM
67772000-12-01 Gerd Moellmann <gerd@gnu.org>
6778
52283633 6779 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6780 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6781 (save_window_save, Fset_window_configuration): Save/restore
6782 window's orig_top and orig_height.
6783
89c609af
JR
67842000-12-01 Jason Rumney <jasonr@gnu.org>
6785
4d177746 6786 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6787
89c609af
JR
6788 * w32fns.c (x_set_cursor_color): Fix last change.
6789
eccc05db
GM
67902000-11-30 Gerd Moellmann <gerd@gnu.org>
6791
31b6671b
GM
6792 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6793 sure that the next redisplay displays the minibuffer, so that
6794 the cursor will be replaced with what the minibuffer wants.
6795
eccc05db
GM
6796 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6797 #ifndef instead of using #if.
6798 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6799 USE_TOOLKIT_SCROLL_BARS is defined.
6800
162de750
JR
68012000-11-30 Jason Rumney <jasonr@gnu.org>
6802
6803 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6804 x_display_cursor.
6805
693c4692
GM
68062000-11-30 Gerd Moellmann <gerd@gnu.org>
6807
6808 * fns.c (Fmd5): Doc fix.
6809
b5d8d2ca 68102000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6811
6812 * fns.c (Fmd5): New function.
6813 (syms_of_fns): Defsubr md5.
6814
6815 * Makefile.in (obj): Add md5.o
6816
b02cd40b
GM
68172000-11-30 Gerd Moellmann <gerd@gnu.org>
6818
edfb795e
GM
6819 * md5.h, md5.c: New files, taken from glibc.
6820
df3aedcf
GM
6821 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6822
b02cd40b 6823 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6824 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6825
8b5176cd
SM
68262000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6827
6828 * eval.c (Frun_hooks): Allow 0 arguments.
6829
346598f1
GM
68302000-11-29 Gerd Moellmann <gerd@gnu.org>
6831
f9396e03
GM
6832 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6833 is over the menu bar widget, say it's not on the frame.
6834
4a967a9b
GM
6835 * xfns.c (Fx_create_frame): Reintroduce the call to
6836 face-set-after-frame-defaults.
6837
346598f1
GM
6838 * eval.c (Fsignal): Reset handling_signal.
6839
222456a1
JR
68402000-11-28 Jason Rumney <jasonr@gnu.org>
6841
6842 * w32menu.c (add_menu_item): Reset menu item text when changing
6843 type to radio button.
6844
8049ddc0
GM
68452000-11-28 Gerd Moellmann <gerd@gnu.org>
6846
346598f1 6847 * xselect.c: Update copyright.
f4f4ee4d 6848
bebe4a2c
GM
6849 * window.c (coordinates_in_window): If on a mode or header line,
6850 but sufficiently close to its start, return ``on vertical
6851 border''. This gives us a way to drag windows horizontally when
6852 using toolkit scroll bars.
6853
6854 * xterm.c (note_mouse_highlight): Change the cursor shape
6855 on the vertical border between windows.
6856
6857 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6858
6859 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6860 (syms_of_xfns): DEFVAR_LISP it.
6861 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6862
8d2c2642
GM
6863 * textprop.c (text_read_only): New function.
6864 (verify_interval_modification): Use it instead of signaling
6865 `text-read-only'. This makes it easier to catch this error
52283633 6866 with a breakpoint.:
8d2c2642 6867
52283633 6868 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6869 not end of line, which includes CR.
6870
5a2bae6c
KH
68712000-11-28 Kenichi Handa <handa@etl.go.jp>
6872
6873 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6874 include no-conversion.
6875
ae31f84d
JR
68762000-11-27 Jason Rumney <jasonr@gnu.org>
6877
6878 * w32fns.c (w32_load_system_font): Always mark font as double byte
6879 if codepage is unicode.
6880
67f1cf4c
GM
68812000-11-27 Gerd Moellmann <gerd@gnu.org>
6882
4a74d071 6883 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6884 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6885
902ae620
GM
6886 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6887 `vertical-line', `mode-line' and `header-line' events.
6888
6889 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6890 of a character, a TAB for instance. This is easier than to set
6891 up the iterator exactly, and it's not a frequent case, so the
6892 additional effort wouldn't really pay off.
6893
c1e279c2
AC
68942000-11-26 Andrew Choi <akochoi@i-cable.com>
6895
67f1cf4c 6896 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6897 init_window_once.
6898
a609568a
JR
68992000-11-25 Jason Rumney <jasonr@gnu.org>
6900
52283633
SM
6901 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6902 Args to window_from_coordinates should be pixel coordinates.
48b21762 6903
a609568a
JR
6904 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6905 redisplay handles them properly.
6906
a658d039
MB
69072000-11-25 Miles Bader <miles@gnu.org>
6908
6909 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6910
d3416cca
JR
69112000-11-24 Jason Rumney <jasonr@gnu.org>
6912
6913 * w32.c (init_environment): Set LANG environment variable based on
6914 locale settings, if not set.
6915
6916 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6917 making tool bar smaller. When clearing the frame, also
6918 clear current matrices. Clear frame when tool bar disappears.
6919 Don't use more lines for the tool-bar than is available.
6920 (x_change_window_heights): New function.
6921
ba193890
GM
69222000-11-24 Gerd Moellmann <gerd@gnu.org>
6923
2be8f184
GM
6924 * xdisp.c (init_from_display_pos): If POS says we're already after
6925 an overlay string ending at POS, make sure to pop the iterator
6926 because it will be in front of that overlay string. When POS is
6927 ZV, we've thereby also ``processed'' overlay strings at ZV.
6928
ba193890
GM
6929 * xfaces.c (lface_from_face_name): Function comment fix.
6930
1862a24e
MB
69312000-11-24 Miles Bader <miles@gnu.org>
6932
6933 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6934 apply `mode-line-inverse-video' -- zero means force display using
6935 the default face, non-zero means display using the specialized face.
6936 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6937
f07fa1b8
KH
69382000-11-23 Kenichi Handa <handa@etl.go.jp>
6939
6940 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6941 hard coded `4'.
6942
2bcdf662
EZ
69432000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6944
6945 * coding.c (decode_coding_emacs_mule): Fix the case of
6946 CODING_EOL_LF, which used uninitialized value of c.
6947
ba8299ff
SM
69482000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6949
6950 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6951
f4117c4d
GM
69522000-11-22 Gerd Moellmann <gerd@gnu.org>
6953
03e757c1
GM
6954 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6955 buffer object.
6956
f4117c4d
GM
6957 * frame.h (struct frame): Replace desired_tool_bar_items,
6958 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6959 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6960
6961 * frame.c (make_frame): Change initialization of tool bar
6962 items accordingly.
6963
6964 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6965 Change references to members deleted from struct frame to use the
f4117c4d
GM
6966 new ones.
6967
6968 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6969 references to members deleted from struct frame to use the new ones.
f4117c4d 6970
52283633 6971 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6972
6973 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6974
6975 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6976 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6977 from struct frame to use the new ones.
6978
f8e2f3f2
MB
69792000-11-23 Miles Bader <miles@gnu.org>
6980
6981 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6982 the face's inverse-video attribute, rather than overriding it.
6983
60e8e0a5
GM
69842000-11-22 Gerd Moellmann <gerd@gnu.org>
6985
6986 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6987 making tool bar smaller.
6988
92dd1b29
DL
69892000-11-22 Dave Love <fx@gnu.org>
6990
6991 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6992
e672fdce
MB
69932000-11-22 Miles Bader <miles@gnu.org>
6994
3a17d6cc
MB
6995 * keyboard.c (Vminibuffer_message_timeout): New variable.
6996 (command_loop_1): Use it to determine message timeout.
6997 (syms_of_keyboard): Initialize it.
6998
60e8e0a5 6999 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7000
e9655d81
KH
70012000-11-22 Kenichi Handa <handa@etl.go.jp>
7002
7003 * sysdep.c: Move the code for declaring h_errno after #include
7004 <netdb.h>.
7005
77270fac
GM
70062000-11-21 Gerd Moellmann <gerd@gnu.org>
7007
cd913aae
GM
7008 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7009 the menu bar when the tooltip is unmapped.
7010
77270fac
GM
7011 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7012 sole visible buffer when we're currently in the mini-buffer, and
7013 give up if so.
52283633 7014
556635d6
JR
70152000-11-21 Jason Rumney <jasonr@gnu.org>
7016
7017 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7018 put on the clipboard.
7019 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7020 copy of what Emacs last put there. If they are the same, do not
52283633 7021 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7022
5b7bde64
MB
70232000-11-22 Miles Bader <miles@gnu.org>
7024
7025 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7026 (syms_of_minibuf): Initialize it.
7027 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7028 to prompt, don't make read-only.
7029
ff23e1dd
GM
70302000-11-21 Gerd Moellmann <gerd@gnu.org>
7031
52283633
SM
7032 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7033 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7034
7aaf4388
GM
7035 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7036
f5f47add 7037 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7038
ff23e1dd
GM
7039 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7040
37c35586
KH
70412000-11-21 Kenichi Handa <handa@etl.go.jp>
7042
7043 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7044 ... #endif scope.
7045
ff9ab414
GM
70462000-11-20 Gerd Moellmann <gerd@gnu.org>
7047
52283633 7048 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7049 screen supports it.
7050
29a01b72
GM
7051 * s/gnu-linux.h: Don't use `#cpu'.
7052
09dfdf85
GM
7053 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7054 not defined in mman.h.
7055
52283633 7056 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7057 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7058 and store an index in the XClientMessageEvent. Storing a
7059 Lisp_Object or pointer can fail on a 64 bit system, since X only
7060 transfers 32 bits.
52283633
SM
7061 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7062
81459ac9
DL
70632000-11-20 Dave Love <fx@gnu.org>
7064
7065 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7066
56c13ae6
GM
70672000-11-20 Gerd Moellmann <gerd@gnu.org>
7068
7069 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7070
495a6df3
KH
70712000-11-20 Kenichi Handa <handa@etl.go.jp>
7072
2bcf3714
KH
7073 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7074 by WIDTH.
7075
495a6df3
KH
7076 * alloc.c (make_string): Fix previous change. Be sure to make
7077 unibyte string correctly.
7078
6d950f4c
GM
70792000-11-19 Gerd Moellmann <gerd@gnu.org>
7080
39b39373
GM
7081 * window.c (Fwindow_list): Change parameter list to be XEmacs
7082 compatible.
7083 (window_list_1): New function.
7084 (window_loop): Use it instead of Fwindow_list.
7085
b95b34e5
GM
7086 * sysdep.c (emacs_ospeed): New variable.
7087 (toplevel): Don't declare ospeed extern.
7088 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7089
7090 * termcap.c (ospeed): Remove.
7091 (tputs) [!emacs]: Remove unused code.
7092 (tgetent): Avoid a compiler warning.
7093
e83dc917
GM
7094 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7095 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7096 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7097
7098 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7099 removed.
7100 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7101 Take the X display as additional argument.
7102 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7103 `Widget' is a pointer type that's not easily stored in Lisp_Object
7104 form in a portable way.
52283633 7105
6d950f4c
GM
7106 * dispnew.c (update_text_area): Fix last change.
7107
e47306e6
GM
71082000-11-18 Gerd Moellmann <gerd@gnu.org>
7109
fb3cd89b
GM
7110 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7111
7112 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7113 clear current matrices.
7114
edaa9aed
GM
7115 * buffer.c (mmap_enlarge): Don't print a message on stderr
7116 if mapping new memory at the end of the existing region fails.
7117
e47306e6
GM
7118 * dispnew.c (update_text_area): Don't skip over equal glyphs
7119 when the last current glyph overlaps the glyph to its right.
7120
509633e3
MB
71212000-11-18 Miles Bader <miles@gnu.org>
7122
7123 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7124 lines that *end* with "..." too (that's the most common case!).
7125
d392e9c5
GM
71262000-11-18 Gerd Moellmann <gerd@gnu.org>
7127
67988445
GM
7128 * xdisp.c (resize_mini_window): Temporarily change to the
7129 mini-window's buffer if necessary.
1bfdbe43 7130
d392e9c5
GM
7131 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7132 the tooltip obscures less text under it.
7133
71342000-11-17 Gerd Moellmann <gerd@gnu.org>
7135
7136 * puresize.h (BASE_PURESIZE): Increase to 700000.
7137
92bb977f
JR
71382000-11-18 Jason Rumney <jasonr@gnu.org>
7139
7140 * w32term.c (w32_draw_bitmap): Use face to set colors.
7141
26fbf20b
DL
71422000-11-17 Dave Love <fx@gnu.org>
7143
7144 * lread.c (Fload): Fix #ifdef for pcc.
7145
100b593b
GM
71462000-11-17 Gerd Moellmann <gerd@gnu.org>
7147
7148 * xdisp.c (pos_visible_p): Compute the default character height
7149 differently.
7150
a288d0d1
GM
71512000-11-16 Gerd Moellmann <gerd@gnu.org>
7152
cac94de6 7153 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7154 knowing the line's height; use the default font's height in that case.
cac94de6 7155
a288d0d1
GM
7156 * xfaces.c (weight_table): Add `demi' with the same meaning as
7157 `demibold'.
7158
981fb6f6
KH
71592000-11-16 Kenichi Handa <handa@etl.go.jp>
7160
2cca872d 7161 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7162 (clear_glyph_row): Delete local static variable null_row.
7163
e5fa381b
JR
71642000-11-15 Jason Rumney <jasonr@gnu.org>
7165
7166 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7167 (w32_alloc_lighter_color): Use new brightness calculations from
7168 xterm.c. Scale delta to be in the range expected by W32.
7169 (w32_draw_relief_rect): Use frame relief colors.
7170
8e42f043
GM
71712000-11-15 Gerd Moellmann <gerd@gnu.org>
7172
6d133d1f
GM
7173 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7174 (Qinhibit_default_face_x_resources): New variable.
7175 (syms_of_frame): Initialize it.
7176 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7177
7178 * xdisp.c (pos_visible_p): Improve function comment.
7179
7180 * lisp.h (BINDING_STACK_SIZE): New macro.
7181
8e42f043
GM
7182 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7183 reading the directory if readdir returns null and errno is EAGAIN
7184 or EINTR.
7185
e8c87124
SM
71862000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7187
7188 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7189 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7190 Set amount_to_scroll to max of dx and scroll_step so that
7191 scroll-conservatively doesn't defeat scroll-step>1.
7192 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7193 scroll-conservatively for line-at-a-time scrolling.
7194
5f0c971d
GM
71952000-11-14 Gerd Moellmann <gerd@gnu.org>
7196
7197 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7198 extra argument.
7199
7200 * xdisp.c (current_mode_line_height, current_header_line_height):
7201 New variables.
7202 (init_xdisp): Initialize them.
7203 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7204 and use exact mode line heights if it is set.
7205
7206 * lisp.h (pos_visible_p): Change prototype.
7207
7208 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7209 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7210 and current_header_line_height first.
52283633
SM
7211 (current_mode_line_height, current_header_line_height):
7212 Declare extern.
5f0c971d 7213
d7361edf
MB
72142000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7215
7216 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7217 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7218 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7219
ee5e440a
MB
72202000-11-14 Miles Bader <miles@gnu.org>
7221
7222 * xterm.c (x_alloc_lighter_color): Include an additive component
7223 too for dark colors, because FACTOR isn't enough.
7224 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7225 New macros.
7226
5ca020fc
GM
72272000-11-13 Gerd Moellmann <gerd@gnu.org>
7228
7229 * keyboard.c (show_help_echo): Call message3_nolog with number of
7230 bytes in the help string as 2nd parameter, instead of the number
7231 of characters.
7232
9d348294
MB
72332000-11-13 Miles Bader <miles@gnu.org>
7234
7235 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7236 (Fload): Use new openp return protocol.
7237 Don't try to use Vload_source_file_function to load .elc files.
7238 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7239 openp return protocol.
7240 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7241
1729bb9a
KH
72422000-11-11 Kenichi Handa <handa@etl.go.jp>
7243
4e677396
KH
7244 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7245
7246 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7247 Defined these macros.
7248 (NLIST_STRUCT): Avoid re-defining it.
7249
1729bb9a
KH
7250 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7251 -I/usr/contrib/X11R6/include.
7252 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7253
a82fe213
JR
72542000-11-10 Jason Rumney <jasonr@gnu.org>
7255
7256 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7257
7258 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7259 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7260
7261 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7262 (Qw32_charset_vietnamese): New symbol.
7263 (xlfd_charset_of_font): New function.
7264 (w32_load_system_font): Use it.
7265 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7266 when Vw32_charset_info_alist is nil to ensure default face always
7267 has font. Use Fcar and Fcdr for safety.
7268 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7269 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7270 pseudo-codepages for special cases.
7271 (w32_to_x_font): New parameter to allow charset portion to be
7272 specified where there is many to one mapping. Callers changed.
7273 (w32_list_fonts): Avoid listing fonts that won't display.
7274
52d89894
GM
72752000-11-10 Gerd Moellmann <gerd@gnu.org>
7276
7277 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7278 (font_list_1): Renamed from font_list.
7279 (font_list): New function, trying alternative registries from
7280 Vface_alternative_font_registry_alist.
7281 (Finternal_set_alternative_font_registry_alist): New function.
7282 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7283 Vface_alternative_font_registry_alist.
7284 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7285
651cd3da
KR
72862000-11-09 Ken Raeburn <raeburn@gnu.org>
7287
7288 * lisp.h (Flooking_at): Declare.
7289
388ac098
GM
72902000-11-09 Gerd Moellmann <gerd@gnu.org>
7291
778fbc46 7292 * dired.c (directory_files_internal): Fix a braino.
52283633 7293
388ac098
GM
7294 * dired.c (directory_files_internal): Add missing GCPRO's.
7295 Some cleanup.
7296
ecaedde1
GM
72972000-11-08 Gerd Moellmann <gerd@gnu.org>
7298
f7eb32aa
GM
7299 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7300 (resize_mini_window): Return quickly if Vresize_mini_window is
7301 nil. Don't return if Vmax_mini_window_height is nil.
7302
7303 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7304 (syms_of_xdisp): Initialize them.
7305 (resize_mini_window): Act according to the setting of
7306 Vresize_mini_window.
7307 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7308
ecaedde1
GM
7309 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7310 scroll bar widget after configuring it, so that it will appear at
7311 the right position from the start.
7312 (XTredeem_scroll_bar): Cleaned up.
7313
3747ef2c
KH
73142000-11-08 Kenichi Handa <handa@etl.go.jp>
7315
7316 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7317 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7318 division by two.
7319
7320 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7321
03391420
DL
73222000-11-07 Dave Love <fx@gnu.org>
7323
7758f1c1 7324 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7325
7326 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7327
b5de343d
GM
73282000-11-07 Gerd Moellmann <gerd@gnu.org>
7329
acad3c0b
GM
7330 * window.c (Fset_window_configuration): Don't try to preserve
7331 point in the current buffer, if that buffer is displayed in more
7332 than one window.
7333
b5de343d
GM
7334 * xfaces.c (lookup_named_face): If default face isn't realized,
7335 try to realize it. Return -1 if not successful.
7336 (Fx_list_fonts): Handle case that face cannot be determined.
7337 (Fface_font): Likewise.
7338
cdb1fe49
GM
73392000-11-06 Gerd Moellmann <gerd@gnu.org>
7340
7341 * window.c (displayed_window_lines): Detect partially
7342 visible lines at the bottom correctly.
7343
d3a67486
SM
73442000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7345
7346 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7347 when ensuring we don't do visit in indirect buffer.
7348
ff8dd5d5
KH
73492000-11-06 Kenichi Handa <handa@etl.go.jp>
7350
7351 * composite.h (compose_chars_in_text): Add prototype.
7352
7353 * composite.c (Vcomposition_function_table): New variable.
7354 (Qcomposition_function_table): New variable.
7355 (run_composition_function): Call
7356 Vcompose_chars_after_function with three arguments.
7357 (compose_chars_in_text): New function.
7358 (syms_of_composite): Modified the doc-string of
7359 Vcompose_chars_after_function. Declare composition-function-table
7360 as a lisp variable, and initialize it.
7361
7362 * xfns.c (x_encode_text): Suppress producing escape sequences for
7363 composition.
7364
7365 * xselect.c: Include composite.h.
7366 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7367
d1145f85
AI
73682000-11-05 Andrew Innes <andrewi@gnu.org>
7369
7370 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7371
7372 * sysdep.c (read_input_waiting): Remove extraneous argument to
7373 read_socket_hook.
7374
7375 * w32fns.c (Fx_server_version): Include w32_build_number in the
7376 return list.
7377
7378 * w32heap.c (w32_build_number): New variable.
7379 (cache_system_info): Set it.
7380
7381 * w32heap.h (w32_build_number): Add extern.
7382
7383 * emacs.c (syms_of_emacs): Update docstring for
7384 system-configuration, to reflect the actual usage on MS-Windows.
7385
e85ee976
GM
73862000-10-31 Gerd Moellmann <gerd@gnu.org>
7387
26dcb81b
GM
7388 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7389 process idle timers while waiting for another event.
7390
52283633 7391 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7392 the default face are colored.
7393
e85ee976
GM
7394 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7395 window height hasn't changed.
7396
01b220b6
JR
73972000-10-31 Jason Rumney <jasonr@gnu.org>
7398
7399 * w32term.c (x_produce_glyphs): Handle composite characters.
7400 (x_draw_glyph_string_foreground)
7401 (x_draw_composite_glyph_string_foreground): Restore old font.
7402
4e6b7204
MB
74032000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7404
7405 * minibuf.c (read_minibuf): Reset the undo history just before
7406 starting the recursive-edit.
7407
d4358b37
GM
74082000-10-30 Gerd Moellmann <gerd@gnu.org>
7409
563f68f1
GM
7410 * xfaces.c (menu_face_change_count): New variable.
7411 (Finternal_set_lisp_face_attribute): Increment it for changes
7412 of the `menu' face.
7413 (realize_basic_faces): Reflect changes in the `menu' faces
7414 in menu bars.
7415
82e274d1
GM
7416 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7417 dy obtained from the iterator's y-position after moving from
7418 scroll_margin_pos to PT; see comment there.
52283633 7419
0dbf9fd2
GM
7420 * xdisp.c (safe_eval_handler): Call add_to_log.
7421
906b3b14
GM
7422 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7423 is not a symbol or string.
7424
d4358b37
GM
7425 * xdisp.c (echo_area_display): Don't perform a display update from
7426 inside redisplay. The update will happen anyway at the end of
7427 redisplay, and it can confuse redisplay (GC messages while
7428 redisplaying, for instance.)
7429
70c825df
SM
74302000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7431
cf9b4b0b
SM
7432 * xrdb.c (x_load_resources): Use the class name in the defaults.
7433
70c825df
SM
7434 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7435 (regex_compile): Catch bogus \(\1\).
7436
a1d34b1e
GM
74372000-10-30 Gerd Moellmann <gerd@gnu.org>
7438
cae71efe
GM
7439 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7440 RGB values.
52283633 7441
35efe0a1
GM
7442 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7443 we have a color cache, check that the cached color equals the
7444 allocated color. If not, clear the color cache.
7445
1d3baf74
GM
7446 * window.c (displayed_window_lines): Change buffers if necessary.
7447 Fix computation of displayed lines.
7448
a1d34b1e
GM
7449 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7450 update_menu_bindings to DEFVAR_BOOL.
7451
70737ea9
KH
74522000-10-30 Kenichi Handa <handa@etl.go.jp>
7453
70c825df 7454 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7455
fa0cb51d
KH
7456 * puresize.h (BASE_PURESIZE): Increase to 680000.
7457
70737ea9
KH
7458 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7459
0e4c08e8
JR
74602000-10-29 Jason Rumney <jasonr@gnu.org>
7461
7462 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7463
7464 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7465 (w32_cache_char_metrics): Handle possibility that 'x' does not
7466 exist in a BDF font.
7467 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7468
7469 * w32bdf.h (bdffont): Add nchars.
7470
7471 * w32bdf.c (set_bdf_font_info): Set it.
7472 (w32_BDF_TextOut): Swap byte order of double byte characters.
7473 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7474
45b84006
EZ
74752000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7476
7477 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7478 don't override the colors in frame's param_alist, unless they are
7479 unspecified.
7480
7481 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7482 reverse the effect of the highlight flag.
7483
caf9deee
KR
74842000-10-27 Ken Raeburn <raeburn@gnu.org>
7485
7486 * window.h (Fwindow_live_p): Declare.
7487
ae0b9b46
KR
7488 * undo.c (record_delete): Check that last_undo_buffer is really a
7489 buffer before applying XBUFFER to it.
7490
7491 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7492 Faref.
7493
02067692
SM
74942000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7495
7496 * lisp.h (KEYMAPP): New macro.
7497 (get_keymap): Remove.
7498 (get_keymap_1): Rename get_keymap.
7499
7500 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7501
7502 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7503
7504 * xmenu.c (single_submenu): Use KEYMAPP.
7505 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7506 Use KEYMAPP rather than Fkeymapp.
7507
7508 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7509
7510 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7511 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7512 Use KEYMAPP rather than Fkeymapp.
7513 (single_submenu): Use KEYMAPP.
7514 (w32_menu_show, w32_dialog_show): Use TRUE.
7515
7516 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7517
7518 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7519 (Fkeymapp): Use KEYMAPP.
7520 (get_keymap): Rename from get_keymap_1. Remove old def.
7521 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7522 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7523 (Fminor_mode_key_binding): Don't raise an error if the binding
7524 is not a keymap.
7525 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7526 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7527
7528 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7529 Allow Vspecial_event_map to be autoloaded.
7530 (menu_bar_items): Fetch the keymap rather than using keymapp.
7531 (menu_bar_one_keymap): No need to follow func-indirect any more.
7532 (parse_menu_item): get_keymap_1 -> get_keymap.
7533 (tool_bar_items): Fetch the keymap rather than using keymapp.
7534 (read_key_sequence): Use KEYMAPP.
7535
7536 * intervals.c (get_local_map): Use get_keymap rather than following
7537 function-indirections explicitly.
7538
7539 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7540
f9d80af3
JR
75412000-10-27 Jason Rumney <jasonr@gnu.org>
7542
7543 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7544 point, as Windows has oversized fonts.
7545
7546 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7547
a3ba27da
GM
75482000-10-27 Gerd Moellmann <gerd@gnu.org>
7549
7550 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7551 (freehook, reallochook): Handle null pointer arguments.
7552 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7553
aa3b80cc
SM
75542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7555
7556 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7557 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7558 Giving in to popular pressure to shut up the compiler with casts.
7559
e24e84cc
GM
75602000-10-27 Gerd Moellmann <gerd@gnu.org>
7561
7562 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7563 signed value, and use a default value computed from the font's
7564 maximum descent.
7565
05ea7ef2
MB
75662000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7567
7568 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7569 that specify a negative underline position can still use underlines.
7570
7571 * window.c (Fpos_visible_in_window_p): Make POS default to
7572 WINDOW's point, not the current buffer's point.
7573
0b95284b
DL
75742000-10-26 Dave Love <fx@gnu.org>
7575
7576 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7577 when it's necessary.
7578
6c5b90af
GM
75792000-10-26 Gerd Moellmann <gerd@gnu.org>
7580
8b6d9dc9
GM
7581 * window.c (size_window): Compute size difference from sum of old
7582 child window sizes instead of from parent's size.
7583
6bc92b2e
GM
7584 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7585 Handle obscured lines at the top of the window.
7586
7587 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7588 down after the last error condition check.
7589
6c5b90af
GM
7590 * frame.c (Fdelete_frame): Run delete-frame-hook.
7591
42f92d4d
KH
75922000-10-26 Kenichi Handa <handa@etl.go.jp>
7593
7594 * coding.c (decode_coding): Fix previous change (check also
7595 CODING_MODE_LAST_BLOCK).
7596
d97151cb
SM
75972000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7598
e7efc503
SM
7599 * regex.c: More `unsigned char' -> `re_char' changes.
7600 Also change several `int' into `re_wchar_t'.
7601 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7602 (PUSH_FAILURE_POINTER): Don't cast any more.
7603 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7604 We want GCC to complain, since this piece of code makes
7605 re_match non-reentrant, which *should* be fixed.
7606 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7607 (EXTEND_BUFFER): Use RETALLOC.
7608 (SET_LIST_BIT): Don't cast.
7609 (re_wchar_t): New type.
7610 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7611 that those two functions will always properly return.
7612 (IMMEDIATE_QUIT_CHECK): Cast to void.
7613 (analyse_first): Use recursion rather than an explicit stack.
7614 (re_compile_fastmap): Can't fail anymore.
7615 (re_search_2): Don't check re_compile_fastmap for failure.
7616 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7617 Now also sets the new value (passed in a new argument).
7618 (re_match_2_internal): Use it.
7619 Also, use a new var `reg' of type size_t when looping through regs
7620 rather than reuse the inappropriate `mcnt'.
7621
d97151cb
SM
7622 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7623 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7624 (where_is_internal): Renamed from Fwhere_is_internal.
7625 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7626 (Fwhere_is_internal): New function wrapping where_is_internal.
7627 (where_is_internal_1): Handle the case where we're filling the cache.
7628 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7629
d5789b65
MB
76302000-10-25 Miles Bader <miles@gnu.org>
7631
7632 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7633
4ecda532
GM
76342000-10-25 Gerd Moellmann <gerd@gnu.org>
7635
7636 * window.c (pos_fully_visible_p): Removed.
7637 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7638 if position is visible and/or fully visible.
7639
7640 * lisp.h (pos_visible_p): Add prototype.
7641
7642 * xdisp.c (pos_visible_p): New function.
7643
68c3a137
KH
76442000-10-25 Kenichi Handa <handa@etl.go.jp>
7645
7646 * process.c (send_process): If OBJECT is t, it means that the data
7647 is from C string, but we should encode it. Before calling
7648 setup_raw_text_coding_system, be sure to flush out data by the
7649 previous coding system.
7650
7ae1c032
MB
76512000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7652
ff4dcd4b
MB
7653 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7654 assignment of startpos to prev when startpos == pos.
7655
7ae1c032
MB
7656 * editfns.c (find_field): Set the field stickiness correctly from
7657 overlay fields. Use renamed `text_property_stickiness'.
7658 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7659 Only check text properties, not overlays.
7ae1c032
MB
7660 * textprop.c (get_char_property_and_overlay): New function.
7661 (Fget_char_property): Use it.
7662 * intervals.h (get_char_property_and_overlay): Add declaration.
7663
49801145
SM
76642000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7665
7666 * keymap.c: Use AREF, ASET and ASIZE macros.
7667 (Fmake_sparse_keymap): Docstring fix.
7668 (synkey): Remove.
7669 (shadow_lookup): Move up.
7670 Handle the case where lookup-key returns an integer.
7671 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7672 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7673 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7674 Simplify/rewrite the keymap-finding code.
7675 Add check for command shadowing, using shadow_lookup.
7676
39e776cd
SM
76772000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7678
7679 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7680 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7681 a symbol.
7682
2488aba5
AI
76832000-10-24 Andrew Innes <andrewi@gnu.org>
7684
7685 * dired.c (directory_files_internal_unwind): New function.
7686 (directory_files_internal): Use it to ensure closedir is called
7687 even if expand-file-name or file-attributes throw, eg. because of
7688 a user interrupt. Also enable immediate_quit while calling
7689 re_search, so that matching can be interrupted as well.
7690
b94fdf61
AI
76912000-10-24 Andrew Innes <andrewi@gnu.org>
7692
7693 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7694 NT-Emacs only.
7695 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7696 so that re_search functions only quit when callers expect them to.
7697
76982000-10-24 Kenichi Handa <handa@etl.go.jp>
7699
7700 * regex.c (regex_compile): Change the way of handling a range from
7701 a char less than 256 to a char not less than 256.
7702
1946f901
GM
77032000-10-24 Gerd Moellmann <gerd@gnu.org>
7704
7ae2f10f
GM
7705 * window.c (size_window): Prevent setting window's width or
7706 height to a negative value (esp. with XSETFASTINT).
7707
5dcab13e
GM
7708 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7709 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7710 (protect_malloc_state) [GC_MALLOC_CHECK &&
7711 GC_PROTECT_MALLOC_STATE]: New function.
7712 (PROTECT_MALLOC_STATE): New macro.
7713 (__malloc_initialize, morecore, _malloc_internal)
7714 (_free_internal) _realloc_internal): Use it to make _heapinfo
7715 read-only outside of gmalloc.
7716
63e1b552
GM
7717 * keymap.c: Update copyright.
7718
1946f901
GM
7719 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7720 a symbol.
7721
4fa09beb
GM
77222000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7723
7724 * filelock.c (unlock_all_files): Use unlock_file to expand each
7725 buffer's file_truename before trying remove its lock file.
7726
23afac01
EZ
77272000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7728
7729 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7730 or CRLF, decode EOLs.
7731
04448b95
KH
77322000-10-24 Kenichi Handa <handa@etl.go.jp>
7733
7734 * window.c (Fdisplay_buffer): Fix doc.
7735
3090a5a5
JR
77362000-10-23 Jason Rumney <jasonr@gnu.org>
7737
7738 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7739 ASCII font of default fontset on Windows.
7740
7741 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7742 xterm.c comment below).
7743
7744 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7745
a83fee2c
GM
77462000-10-23 Gerd Moellmann <gerd@gnu.org>
7747
7748 * xterm.c (x_connection_closed): Reset handling_signal.
7749
52283633 7750 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7751
6ffdb539
MB
77522000-10-23 Miles Bader <miles@gnu.org>
7753
7754 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7755 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7756 maintain old behavior.
7757 * minibuf.c (Fminibuffer_complete): Likewise.
7758
7f1c969b
MB
77592000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7760
7761 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7762 that when a font can't be exactly centered, it errs up rather than
7763 down.
7764
23afac01 77652000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7766
52283633 7767 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7768
1a578e9b
AC
77692000-10-23 Andrew Choi <akochoi@i-cable.com>
7770
7771 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7772
7773 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7774 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7775
7776 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7777 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7778 syms_of_search, x_term_init, and init_keyboard before calling
7779 init_window_once. Also, call syms_of_xmenu.
7780
7781 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7782 default fontset to Monaco.
7783
7784 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7785 NewMacWindow and DisposeMacWindow.
7786 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7787 instead of calling NewMacWindow and setting fields of
7788 f->output_data.mac directly. Call init_frame_faces.
7789 (Fdelete_frame) [macintosh]: Remove unused code.
7790 (Fmodify_frame_parameters) [macintosh]: Call
7791 x_set_frame_parameters instead of mac_set_frame_parameters.
7792
7793 * frame.h [macintosh]: Define menu_bar_lines field in struct
7794 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7795
7796 * keyboard.c [macintosh]: Include macterm.h.
7797 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7798 and menu_bar_activate_event type events as for X and NT.
7799 (make_lispy_event) [macintosh]: Construct lisp events of type
7800 MENU_BAR_EVENT as for X and NT.
7801
7802 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7803 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7804 (sys_subshell) [macintosh]: Remove definition entirely.
7805 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7806 Vwindow_system_version here. Remove initialization of
7807 Vx_bitmap_file_path.
7808 (read_input_waiting): Correct the number of parameters passed to
7809 read_socket_hook.
7810 Move all Macintosh functions to mac/mac.c.
7811
7812 * term.c [macintosh]: Include macterm.h.
7813
7814 * window.c [macintosh]: Include macterm.h.
7815
7816 * xdisp.c [macintosh]: Include macterm.h. Declare
7817 set_frame_menubar and pending_menu_activation.
7818 (echo_area_display) [macintosh]: Do not return if terminal frame
7819 is the selected frame.
7820 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7821 Allow only the selected frame to set menu bar.
7822 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7823 calling FRAME_EXTERNAL_MENU_BAR (f).
7824 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7825
7826 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7827 and check_x. Declare XCreateGC. Define x_create_gc and
7828 x_free_gc. Initialize font_sort_order.
7829 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7830 but call x_list_fonts instead of w32_list_fonts.
7831 (Finternal_face_x_get_resource) [macintosh]: Do not call
7832 display_x_get_resource.
7833 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7834 (realize_x_face) [macintosh]: Load the font if it is specified in
7835 ATTRS.
52283633 7836 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7837
1ffbabe3
SM
78382000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7839
7840 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7841 is nil: since we go to the end of submap anyway, we'd end up
7842 setting nil to nil.
7843 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7844 doesn't obey autoload.
7845
bed43f1d
EZ
78462000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7847
1ffbabe3 7848 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7849
ea4233a7
JR
78502000-10-21 Jason Rumney <jasonr@gnu.org>
7851
7852 * w32term.c (w32_cache_char_metrics): Double check that font is
7853 really fixed pitch before trusting tmPitchAndFamily.
7854
f3d3c491
AI
78552000-10-21 Andrew Innes <andrewi@gnu.org>
7856
7857 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7858
7859 * w32term.h: Extern decl for w32_cache_char_metrics.
7860
7861 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7862
7863 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7864 (w32_unload_font): Free per_char array if present.
7865
7866 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7867 cached information in emulated XFontStruct to handle common cases
7868 quickly. Do not allocate XCharStruct for return.
7869 (w32_native_per_char_metric): New function.
7870 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7871 allocating one.
7872 (x_produce_glyphs): Don't get an HDC. Change calls to
7873 w32_per_char_metric to match arg change above. Remove calls to
7874 free results.
7875 (w32_get_glyph_overhangs): Ditto.
7876 (w32_cache_char_metrics): New function.
7877
7878 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7879 ($(BLD)/casefiddle.$(O)): Remove compile command.
7880 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7881 ($(BLD)/dispnew.obj):
7882 ($(BLD)/keyboard.obj):
7883 ($(BLD)/w32inevt.obj):
7884 ($(BLD)/w32bdf.obj):
7885 ($(BLD)/alloc.obj):
7886 ($(BLD)/buffer.obj):
7887 ($(BLD)/editfns.obj):
7888 ($(BLD)/emacs.obj):
7889 ($(BLD)/fileio.obj):
7890 ($(BLD)/fns.obj):
7891 ($(BLD)/indent.obj):
7892 ($(BLD)/insdel.obj):
7893 ($(BLD)/intervals.obj):
7894 ($(BLD)/minibuf.obj):
7895 ($(BLD)/print.obj):
7896 ($(BLD)/scroll.obj):
7897 ($(BLD)/sysdep.obj):
7898 ($(BLD)/textprop.obj):
7899 ($(BLD)/widget.obj):
f3d3c491
AI
7900 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7901 ($(BLD)/term.obj): Add dependency on dispextern.h.
7902
52283633
SM
7903 * makefile.nt ($(BLD)\dispnew.obj):
7904 ($(BLD)\keyboard.obj):
7905 ($(BLD)\w32inevt.obj):
7906 ($(BLD)\w32bdf.obj):
7907 ($(BLD)\alloc.obj):
7908 ($(BLD)\buffer.obj):
7909 ($(BLD)\editfns.obj):
7910 ($(BLD)\emacs.obj):
7911 ($(BLD)\fileio.obj):
7912 ($(BLD)\fns.obj):
7913 ($(BLD)\indent.obj):
7914 ($(BLD)\insdel.obj):
7915 ($(BLD)\intervals.obj):
7916 ($(BLD)\minibuf.obj):
7917 ($(BLD)\print.obj):
7918 ($(BLD)\scroll.obj):
7919 ($(BLD)\sysdep.obj):
7920 ($(BLD)\textprop.obj):
7921 ($(BLD)\widget.obj):
f3d3c491
AI
7922 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7923 ($(BLD)\term.obj): Add dependency on dispextern.h
7924
18ad4821
EZ
79252000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7926
7927 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7928 with an additional argument of Qt.
7929
de54681a
MB
79302000-10-21 Miles Bader <miles@gnu.org>
7931
7932 * window.c (pos_fully_visible_in_window_p): New function.
7933 (Fpos_visible_in_window_p): Add FULLY argument.
7934 Use pos_fully_visible_in_window_p.
7935 (window_scroll_pixel_based, window_scroll_line_based): Update
7936 calls to Fpos_visible_in_window_p.
7937 * lisp.h (Fpos_visible_in_window_p): Update prototype
7938
13c844fb
GM
79392000-10-20 Gerd Moellmann <gerd@gnu.org>
7940
7941 * alloc.c (toplevel): Conditionalize compilation of mem_*
7942 functions differently.
52283633 7943
d9506268
JR
79442000-10-20 Jason Rumney <jasonr@gnu.org>
7945
7946 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7947 mem_init where it used to be. mem_z etc not defined otherwise.
7948
8094989b
GM
79492000-10-20 Gerd Moellmann <gerd@gnu.org>
7950
7951 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7952 GC_MALLOC_CHECK.
7953 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7954 structure definition and related variabled to the top of the file.
7955 Include this code when GC_MALLOC_CHECK is defined.
7956 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7957 register/unregister allocated region.
7958 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7959 which isn't allocated.
7960 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7961 something which is already in use.
7962 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7963 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7964 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7965 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7966
7967 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7968 _malloc_internal instead of malloc.
7969 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7970 of free.
7971
ea456eb4
AI
79722000-10-20 Andrew Innes <andrewi@gnu.org>
7973
7974 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7975 Windows.
7976 (my_strftime) <macro>: Don't use macro arg list when redefining as
7977 _strftime_copytm.
7978 (my_strftime) <function>: Supply 0 as ut argument.
7979
e64c3a75
JR
79802000-10-19 Jason Rumney <jasonr@altavista.net>
7981
7982 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7983 including dispextern.h, as it stops faces from working.
7984
7985 * w32fns.c (Fx_create_frame): Don't bother calling
7986 face-set-after-frame-default since the caller does it for us
7987 anyway. Clean up calls to x_get_arg to be consistent with X.
7988
7989 * w32term.c (x_produce_glyphs): Handle
7990 unibyte_display_via_language_environment correctly.
7991 (w32_draw_box_rect): Fix the calculation of width and height.
7992
7993 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7994 as it has stopped working.
7995 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7996 menu-bar.
7997
17401c97
GM
79982000-10-19 Gerd Moellmann <gerd@gnu.org>
7999
8000 * eval.c (skip_debugger): Prevent a compiler warning.
8001 (Fcondition_case): Likewise.
8002 (Fbacktrace_frame): Use a null interactive spec.
8003
773272d8
KH
80042000-10-19 Kenichi Handa <handa@etl.go.jp>
8005
8006 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8007
a42943e9
GM
80082000-10-18 Gerd Moellmann <gerd@gnu.org>
8009
e50517d9
GM
8010 * strftime.c: Sync with glibc, file version 1.78.
8011 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8012 should no longer be used according to ISO 8601.
8013
9035a35a
GM
8014 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8015 no map for meta_prefix_char, don't try to use it as a keymap.
8016 Instead, if T_OK is non-zero, look up a default binding, if any,
8017 otherwise, if T_OK is zero, return nil.
8018
a42943e9
GM
8019 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8020 (x_to_xcolors, png_load): Use x_query_color.
8021
52283633
SM
8022 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8023 New functions.
a42943e9
GM
8024 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8025 which can be slow.
8026 (x_copy_color, x_alloc_lighter_color): Likewise.
8027
8028 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8029 (x_query_color, x_query_colors): Add prototype.
8030
8031 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8032 check_string_bytes only if not noninteractive, increase count to 50.
8033
00de2987
MB
80342000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8035
8036 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8037 markers correctly.
8038
54918e2b
GM
80392000-10-17 Gerd Moellmann <gerd@gnu.org>
8040
1f0b3fd2
GM
8041 * alloc.c (pure_bytes_used): Renamed from pureptr.
8042 (ALIGN): New macro.
8043 (pure_alloc): New function.
8044 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8045 Use it.
8046 (Fpurecopy): Use PURE_POINTER_P.
8047
68c5d1db
GM
8048 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8049 PT has moved backward.
52283633 8050
9a038881
GM
8051 * xdisp.c (cursor_row_p): Take continued lines into account.
8052
361b097f
GM
8053 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8054 string's size_byte.
8055 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8056 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8057 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8058 string allocated.
8059
54918e2b
GM
8060 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8061 of selective display off while searching for the next line start.
8062
03ed0806
KH
80632000-10-17 Kenichi Handa <handa@etl.go.jp>
8064
8065 * Makefile.in (term.o): Depend on dispextern.h.
8066
7e05cdaf
SM
80672000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8068
8069 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8070
a6801fd1
GM
80712000-10-16 Gerd Moellmann <gerd@gnu.org>
8072
483de32b
GM
8073 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8074 the iterator at the beginning, so that they can be set later on,
8075 for instance in reseat_at_next_visible_line_start, without being
8076 overwritten.
8077
a6801fd1
GM
8078 * xfns.c (pbm_format): Add :foreground and :background keywords.
8079 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8080 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8081
dbf1fcc1
EZ
80822000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8083
8084 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8085
52283633 8086 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8087
8088 * msdos.c (IT_set_face): Compare highlighted face with the default
8089 face, and invert colors if these faces' colors are identical.
8090 (Fmsdos_remember_default_colors): Don't swap foreground and
8091 background colors in initial_colors[].
8092 (IT_set_frame_parameters): Don't swap frame's foreground and
8093 background pixels. If ALIST includes "(reverse . t)", swap
8094 foreground-color and background-color properties in frame's
8095 param_alist. If the original frame's param_alist doesn't specify
8096 the colors, store unspecified-fg and unspecified-bg, reversed if
8097 required.
8098
8099 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8100 the colors are unspecified and reversed, reverse fore- and back-
8101 ground in the returned value.
8102 (Fframe_parameter): Ditto.
8103
b41fe2c3 81042000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8105
3a6b59d9
GM
8106 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8107 get_last_unchanged_at_beg_row.
8108 (find_first_unchanged_at_end_row): Renamed from
8109 get_first_unchanged_at_end_row.
8110 (find_first_unchanged_at_end_row): Convert assertions to
8111 unconditional tests which abort. When looking for a row in
8112 unchanged text, don't go further back than first_text_row.
8113
b41fe2c3
GM
8114 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8115 Don't add in the last line's height when deciding if the new
8116 position is below the scroll margin.
9d1af64f 8117
b41fe2c3 81182000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8119
8120 * editfns.c (Fconstrain_to_field): Check carefully for field
8121 boundaries if either OLD_POS or NEW_POS has a non-nil field
8122 property, even if they're the same.
8123
c412cb7b
KH
81242000-10-16 Kenichi Handa <handa@etl.go.jp>
8125
8126 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8127 height for XFillRectangle.
8128
5586f3eb
SM
81292000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8130
8131 * syntax.c (Fstring_to_syntax): New function extracted from
8132 Fmodify_syntax_entry.
8133 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8134 (skip_chars, Fforward_comment): Remove unused variables.
8135 (syms_of_syntax): Add defsubr for string-to-syntax.
8136 (describe_syntax): Add code for comment and string fences.
8137
db785038
SM
81382000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8139
8140 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8141 Do the meta->esc mapping. Call get_keyelt before returning.
8142 Start scanning from the second element (the first is always `keymap')
8143 to make it easier to detect when we reach a parent map.
8144 Handle the case of inheriting from a symbol whose function is a map.
8145 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8146 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8147 (get_keyelt, Flookup_key): Update call to access_keymap.
8148 Remove the meta->esc mappings.
8149 (define_as_prefix): Delete old disabled code.
8150 (menu_item_p): New function.
8151 (where_is_internal_1): Skip over the few remaining menu items.
8152 * lisp.h (access_keymap): Update prototype.
8153 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8154 Update call to access_keymap.
8155 (follow_key, read_key_sequence): Update calls to access_keymap.
8156 Remove the meta->esc mappings.
8157
cafafe0b
GM
81582000-10-13 Gerd Moellmann <gerd@gnu.org>
8159
a2e2a7f6
GM
8160 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8161 with additional argument.
8162
cafafe0b
GM
8163 * xdisp.c (cursor_row_p): New function.
8164 (try_cursor_movement, display_line): Use it.
52283633 8165
cafafe0b
GM
8166 * xdisp.c (append_space): Also save/restore iterator's current
8167 character and its length.
8168
8169 * xdisp.c (init_from_display_pos): Add an assertion.
8170 (handle_stop): Don't set iterator's add_overlay_start.
8171 (handle_invisible_prop): Likewise.
8172 (load_overlay_strings): If text under an overlay is invisible,
8173 take both before- and after-strings into account when the iterator
8174 is positioned either at the start or at the end of the overlay.
8175 (forward_to_next_line_start): Rewritten.
8176 (reseat_at_next_visible_line_start): Rewritten.
8177 (set_iterator_to_next): Add parameter RESEAT_P.
8178
8179 * dispextern.h (struct it): Remove member add_overlay_start.
8180 (set_iterator_to_next): Change prototype.
8181
c744452b
KH
81822000-10-13 Kenichi Handa <handa@etl.go.jp>
8183
8184 * coding.c (code_convert_region): Be sure to initialize
8185 coding->category_idx.
e4a3f4e1
KH
8186 (decode_coding_string): Set coding->src_multibyte and
8187 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8188 (encode_coding_string): Set coding->src_multibyte and
8189 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8190
321fd26f
SM
81912000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8192
8193 * xfns.c (Fx_create_frame): Don't bother calling
8194 face-set-after-frame-default since the caller does it for us anyway.
8195
76832439
EZ
81962000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8197
8198 * window.c (coordinates_in_window): Fix detection of vertical line
8199 on character terminals.
8200
2483cf58
GM
82012000-10-12 Gerd Moellmann <gerd@gnu.org>
8202
8203 * editfns.c (save_excursion_save): Additionally record the
8204 selected window.
8205 (save_excursion_restore): If buffer was visible in a window, and a
8206 different window was selected, and the old selected window is
8207 still live, restore point in that window.
8208
eb991b25
KH
82092000-10-12 Kenichi Handa <handa@etl.go.jp>
8210
8a0eba09
KH
8211 * xterm.c (x_produce_glyphs): Handle
8212 unibyte_display_via_language_environment correctly.
8213
20401fcc
KH
8214 * regex.c (regex_compile): Change the way of handling a range from
8215 unibyte char to multibyte char.
8216
8217 * syntax.c (skip_chars): Change the way of handling a range from
8218 unibyte char to multibyte char.
8219
eb991b25
KH
8220 * process.c (read_process_output): Cancel previous change.
8221
365dd325
EZ
82222000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8223
c1b096cb
EZ
8224 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8225
365dd325
EZ
8226 * charset.c (Ffind_charset_string): Doc fix.
8227 (Ffind_charset_region): Doc fix.
8228
eb483c2b
KH
82292000-10-11 Kenichi Handa <handa@mule.m17n.org>
8230
8231 * process.c (read_process_output): Fix previous change. Adjust
8232 multibyteness of text to insert in a buffer by
52283633 8233 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8234
b40bfb99
AS
82352000-10-10 Andreas Schwab <schwab@suse.de>
8236
8237 * alloc.c (mark_object): Remove all workarounds installed on
8238 1993-08-08.
8239
caff31d4
KH
82402000-10-10 Kenichi Handa <handa@etl.go.jp>
8241
52283633 8242 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8243 (base64_encode_1): Make it work for a text of multibyte form.
8244 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8245 case. Don't call str_to_multibyte because base64_decode_1
8246 produces correct multibyte form for eight-bit codes.
52283633 8247 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8248 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8249 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8250 codes.
8251
8252 * charset.h (CHAR_STRING): Optimized for single byte characters.
8253
cba026ef
AS
82542000-10-09 Andreas Schwab <schwab@suse.de>
8255
8256 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8257 -1 after socket is closed, to fall through to error processing.
8258
1e21fe48
EZ
82592000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8260
8261 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8262 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8263 background-color, change also the colors of the default face for
8264 this frame.
8265
a640322e
EZ
82662000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8267
8268 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8269 them extern (they are defined on xfaces.c).
8270 (syms_of_msdos): Don't intern and don't staticpro
8271 Qbackground_color and Qforeground_color.
8272
a115794c
EZ
82732000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8274
8275 * frame.c (Fframe_parameter): For non-windowed frames, if
8276 f->param_alist says foreground or background color is unspecified,
8277 call tty_color_name to return the color name computed from the
8278 frame's current colors.
8279
f5533b63
DL
82802000-10-06 Dave Love <fx@gnu.org>
8281
8282 * terminfo.c (ospeed): Don't declare.
8283
8284 * sysdep.c: Don't include string.h.
8285 (h_errno): Declare conditional also on TRY_AGAIN.
8286
8287 * charset.c (Ffind_charset_string): Doc fix.
8288
52283633 8289 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8290 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8291 error messages.
8292
2b06561a
DL
82932000-10-05 Dave Love <fx@gnu.org>
8294
8295 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8296 position like menu-bar.
8297
ca839c85
GM
82982000-10-05 Gerd Moellmann <gerd@gnu.org>
8299
8300 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8301
8302 * xdisp.c (handle_single_display_prop): Use safe_call1.
8303 (safe_call): Renamed from call_function.
8304 (safe_call1): New function.
8305 (handle_fontified_prop): Use safe_call1 instead of call1.
8306 (safe_eval): Renamed from eval_form.
8307 (safe_eval_handler): Renamed from eval_handler.
8308 (handle_single_display_prop, display_mode_element): Use safe_eval
8309 instead of eval_form.
8310
8311 * xfaces.c (merge_face_heights): Use safe_call instead of
8312 call_function.
8313
8314 * keyboard.c (show_help_echo): Use safe_call instead of
8315 call_function; use safe_eval instead of eval_form.
8316
8317 * lisp.h (safe_call): Renamed from call_function.
8318 (safe_eval): Renamed from eval_form.
8319 (safe_call1): Add prototype.
8320
a3489ece
MB
83212000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8322
8323 * xfns.c (image_ascent): Rearrange ascent calculation for the
8324 has-a-font case.
8325
35810b6f
SM
83262000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8327
8328 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8329 (where_is_internal_1): Don't bother ignoring menu-items any more.
8330
3dc78168
GM
83312000-10-04 Gerd Moellmann <gerd@gnu.org>
8332
8333 * keyboard.c (update_menu_bindings): New variable.
8334 (parse_menu_item): Use AREF. If update_menu_bindings
8335 is 0, don't update menu bindings.
8336 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8337
1efc2bb9
EZ
83382000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8339
8340 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8341 to `mark_object'.
8342
3f679f55
SM
83432000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8344
8345 * syntax.c (forw_comment): Match nestedness of ender/starter.
8346 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8347 (prev_char_comstart_first): Remove.
8348 (back_comment): Check two-char comment markers more carefully
8349 to better handle overlapping cases like *//* or /* */* */ ...
8350 Match nestedness of ender/starter.
8351
2021ab61
DL
83522000-10-02 Dave Love <fx@gnu.org>
8353
8354 * config.in (HAVE_GAI_STRERROR): Add undef.
8355
8356 * process.c (Fopen_network_stream): Use it.
8357
8358 * m/alpha.h (NO_REMAP): Don't define.
8359
64e6cc18
GM
83602000-10-02 Gerd Moellmann <gerd@gnu.org>
8361
8362 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8363 return with a string converted to an integer or vice versa when
8364 Vmocklisp_arguments is t.
8365 (Fsignal): Likewise. The function can return for `quit'.
8366 (struct gcpro): Declare member `var' to point to a volatile
8367 Lisp_Object.
8368
8369 * eval.c (error): Prevent compiler warning.
8370
b1904cd9
SM
83712000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8372
8373 * keymap.c (keymap_memberp): New function.
8374 (Fset_keymap_parent): Use it.
8375 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8376 Use keymap_memberp to avoid creating cycles.
8377 (access_keymap): Use KEYMAPP.
8378
71c9ec51
GM
83792000-09-30 Gerd Moellmann <gerd@gnu.org>
8380
8381 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8382 gai_strerror. Make sure xerrno is set if connect fails. Improve
8383 error recovery.
71c9ec51 8384
c70c6b58
JR
83852000-09-29 Jason Rumney <jasonr@gnu.org>
8386
8387 * w32term.c (w32_char_font_type, w32_encode_char)
8388 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8389 (w32_bdf_per_char_metric): New function.
8390 (w32_per_char_metric): Use it.
8391 (x_draw_glyph_string_background): Always draw background for BDF
8392 glyphs.
8393
8394 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8395 GDI object which is a scarce resource.
8396
8397 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8398 (get_quoted_string): Fix limit on memchr search.
8399 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8400 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8401 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8402 (get_cached_font_char, cache_char_offset): Use macro
8403 BDF_CODEPOINT_RANGE_COVER_P.
8404 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8405 (clear_cached_bitmap_slots): New function.
8406 (GET_HEX_VALUE): G-Z, g-z are not hex.
8407 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8408 (get_bitmap_with_cache): Use new cache implementation.
8409 (create_offscreen_bitmap): New function.
8410 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8411
8412 * w32term.c (x_produce_glyphs): If the distance from the current
8413 position to the next tab stop is less than a canonical character
8414 width, use the tab stop after that.
8415 (x_draw_glyphs): Handle case START and END are out of bounds more
8416 carefully.
8417 (x_clear_mouse_face): Block/unblock input.
8418 (x_display_and_set_cursor): Don't show a hollow box cursor for
8419 buffers whose cursor_type is nil.
8420
fe01239f
GM
84212000-09-29 Gerd Moellmann <gerd@gnu.org>
8422
52283633 8423 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8424
8425 * dispextern.h (updating_frame): Declare extern.
8426
e7c52f1f
AS
84272000-09-29 Andreas Schwab <schwab@suse.de>
8428
8429 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8430
de6e1f7c
GM
84312000-09-29 Gerd Moellmann <gerd@gnu.org>
8432
25126faa
GM
8433 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8434 use its function definition.
8435 (tool_bar_items): Likewise.
8436
de6e1f7c 8437 * lisp.h (fatal): Declare NO_RETURN.
52283633 8438
454ee39b
KH
84392000-09-29 Kenichi Handa <handa@etl.go.jp>
8440
8441 * keymap.c: Remove the line "#undef NULL".
8442
96301c5f
GM
84432000-09-28 Gerd Moellmann <gerd@gnu.org>
8444
52283633 8445 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8446
efffeeb4
DL
84472000-09-28 Dave Love <fx@gnu.org>
8448
ecb8b666
DL
8449 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8450
dc3cd20f
DL
8451 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8452
8453 * .gdbinit (xreload): Note its need on GNU/Linux.
8454
efffeeb4
DL
8455 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8456 r_alloc, r_alloc_free.
8457
8610d903
KH
84582000-09-28 Kenichi Handa <handa@etl.go.jp>
8459
8460 * syntax.c (skip_chars): Handle negation correctly.
8461
8901d1ac
GM
84622000-09-27 Gerd Moellmann <gerd@gnu.org>
8463
6f22f1ad
GM
8464 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8465 with non-zero FORCE_P argument.
8466
52283633 8467 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8468 Add assertions.
8469
8470 * xdisp.c (window_box_height): Add an assertion.
8471
8472 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8473 tool-bar than is available.
8474 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8475
36f1966f
DL
84762000-09-27 Dave Love <fx@gnu.org>
8477
efffeeb4 8478 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8479
31d929e5
GM
84802000-09-26 Gerd Moellmann <gerd@gnu.org>
8481
c98863bf
GM
8482 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8483 instead of BITS_PER_INT.
8484 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8485 EMACS_UINT, respectively.
8486 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8487
8488 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8489
8490 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8491
77072ab1
GM
8492 * window.c (freeze_window_starts): Construct last argument for
8493 foreach_window differently.
8494
8495 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8496
8497 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8498 EMACS_UINT instead of `int' and `unsigned int'.
8499 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8500
8501 * frame.h (struct frame): Make the `nothing' member of union
8502 output_data an EMACS_INT.
8503
52283633 8504 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8505 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8506 size in the sdata structure.
8507 (SDATA_NBYTES, SDATA_DATA): New macros.
8508 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8509 differently for the different layout of the sdata structure.
8510 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8511 in sdata.
8512 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8513 Check that size recorded in the string size and size recorded in
8514 the sdata structure agree.
8515
3e60b029
DL
85162000-09-25 Dave Love <fx@gnu.org>
8517
8518 * buffer.c: Include stdio.h.
8519
8520 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8521
3e60b029
DL
8522 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8523
8524 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8525 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8526 (__malloc_extra_blocks): Declare as __malloc_size_t.
8527
8ff16b4e
GM
85282000-09-25 Gerd Moellmann <gerd@gnu.org>
8529
755a2ccd
GM
8530 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8531
d8b4516f
GM
8532 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8533 (read_char): If help-echo is showing, preserve the echo area
8534 when redisplaying.
8535
8536 * xdisp.c (help_echo_showing_p): New variable.
8537 (set_message): Reset it to 0.
8538 (init_xdisp): Initialize help_echo_showing_p.
8539
8540 * dispextern.h (help_echo_showing_p): Declare extern.
8541
8542 * config.in: Fix typo in __GNUC_MINOR__.
8543
8544 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8545
b11af2dd
GM
8546 * s/freebsd.h (POSIX_SIGNALS): Define.
8547
8ff16b4e
GM
8548 * xterm.c (x_clear_mouse_face): Block/unblock input.
8549
844eb643
DL
85502000-09-24 Dave Love <fx@gnu.org>
8551
8552 * fns.c (base64_encode_1): Fix last change.
8553
b30ab1b3
GM
85542000-09-22 Gerd Moellmann <gerd@gnu.org>
8555
8556 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8557
8558 * xdisp.c (try_window_reusing_current_matrix): More fixes
8559 for the case window has a header-line.
8560
c6cbe5f0
DL
85612000-09-22 Dave Love <fx@gnu.org>
8562
4c7c1f3f
DL
8563 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8564 a doc string.
8565
8566 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8567
c6cbe5f0
DL
8568 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8569
550a625e
GM
85702000-09-21 Gerd Moellmann <gerd@gnu.org>
8571
4c7c1f3f 8572 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8573 for GCC >= 2.5.
8574
52283633
SM
8575 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8576 Declare NO_RETURN.
fca99116 8577
80d26f99
GM
8578 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8579 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8580 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8581 warnings.
52283633 8582
80d26f99
GM
8583 * marker.c (byte_char_debug_check): Return void.
8584
623a0aae
GM
8585 * xfns.c (Fx_create_frame): Set default frame parameter value
8586 for tool-bar-lines to 1.
8587
8588 * dispnew.c (scrolling_window): Compare y-positions of rows
8589 equal at the start. Some simplification.
8590
8591 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8592 reused rows' y-position in the case window has a header-line, and
8593 new window start is greater than old window start.
8594
42ac0ae5
GM
8595 * process.c (process_sent_to): New variable.
8596 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8597 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8598 Declare more parameters volatile.
8599
550a625e
GM
8600 * lread.c (Vrecursive_load_depth_limit): New variable.
8601 (Fload): Check recursive loads whose recursion depth exceeds
8602 Vrecursive_load_depth_limit.
8603 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8604
8320414c
GM
86052000-09-20 Gerd Moellmann <gerd@gnu.org>
8606
f46c275e
GM
8607 * fileio.c (Fread_file_name): Doc fix.
8608
8609 * editfns.c (Fmessage_or_box): Doc fix.
8610
8611 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8612
b7e11c5b 8613 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8614
8320414c
GM
8615 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8616 symbols are specified, add color translations to the cache.
52283633 8617 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8618 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8619 xpm_cache_color.
8620 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8621 structures to xpm_init_color_cache.
8622
da1608d9
GM
86232000-09-19 Gerd Moellmann <gerd@gnu.org>
8624
52283633 8625 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8626
6badfa25
AI
86272000-09-19 Andrew Innes <andrewi@gnu.org>
8628
8629 * makefile.nt (bootstrap-emacs): Don't change directory.
8630
3a5f42bb
KH
86312000-09-19 Kenichi Handa <handa@etl.go.jp>
8632
1b7649bd
KH
8633 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8634
3a5f42bb
KH
8635 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8636 If output buffer is too small, signal an appropriated error.
8637
9f83cf0b
DL
86382000-09-18 Dave Love <fx@gnu.org>
8639
52283633 8640 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8641 (current_active_maps): Remove redundant get_local_map call.
8642
28c7826c
GM
86432000-09-18 Gerd Moellmann <gerd@gnu.org>
8644
5cefa566
GM
8645 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8646 cursor for buffers whose cursor_type is nil.
52283633 8647
6fed3546
GM
8648 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8649 a feature to implement that is already implemented.
8650 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8651 warnings.
8652
8653 * xfns.c (x_clear_image_1): New function.
8654 (x_clear_image): Use it.
52283633 8655 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8656
05b1f851
GM
8657 * dispnew.c (update_window): Move test for invisible lines
8658 at the top to update_window_line.
8659 (update_window_line): Handle invisible lines here.
8660
f4779de9
GM
8661 * xfns.c (clear_image_cache): Clear current matrices of all
8662 frames sharing an image cache. Block input while freeing
8663 images. Fix timestamp comparison.
8664 (x_clear_image): Also free the mask.
8665
28c7826c
GM
8666 * xfns.c (lookup_image): Block input while loading the image so
8667 that we won't get interrupted in a state where the image isn't yet
8668 set up completely.
8669 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8670 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8671 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8672 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8673
b7412313
GM
86742000-09-16 Gerd Moellmann <gerd@gnu.org>
8675
8676 * dispnew.c (update_window): Make sure to make desired rows
8677 current even if they are completely invisible at the top
8678 of a window.
8679
47e351a3
GM
86802000-09-15 Gerd Moellmann <gerd@gnu.org>
8681
7f8f1edc
GM
8682 * xfns.c (lookup_image): Build mask before applying an algorithm.
8683 Recognize algorithm `disabled'.
8684 (cross_disabled_images): New variable.
8685 (COLOR_INTENSITY): New macro.
8686 (x_detect_edges): Use COLOR_INTENSITY.
8687 (x_disable_image): New function.
8688 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8689
8690 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8691 disabled state, don't apply an image transformation algorithm if
8692 the user specified an image for the disabled state. Use
28c7826c 8693 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8694 user hasn't specified an image.
8695
ebb8f116
GM
8696 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8697 allocation functions with the XPM lib.
8698 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8699 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8700 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8701 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8702 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8703 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8704 functions, if possible, because these handle color allocation
8705 failure more gracefully.
8706 (Fimage_mask_p): New function.
8707
47e351a3
GM
8708 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8709 (Qedge_detection, Qheuristic): New symbols.
8710 (syms_of_xfns): Initialize new symbols.
8711 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8712 `algorithm (edge-detection ...)'.
8713 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8714 (tiff_format, gif_format, gs_format): Add `:mask'.
8715 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8716 (GIF_MASK, GS_MASK): New enumerators.
8717 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8718 (emboss_matrix, laplace_matrix): New variables.
8719 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8720 (x_edge_detection): New functions.
8721 (x_laplace): Rewritten in terms of x_detect_edges.
8722 (x_build_heuristic_mask): If image has a mask, free it.
8723
fe83b953
AI
87242000-09-14 Andrew Innes <andrewi@gnu.org>
8725
8726 * makefile.w32-in: Revert to Unix line endings.
8727
3021e816
AI
87282000-09-14 Andrew Innes <andrewi@gnu.org>
8729
8730 * makefile.w32-in: Standardize indentation somewhat.
8731 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8732 cater for differences between shells.
8733
8734 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8735
2a32b5ea
GM
87362000-09-14 Gerd Moellmann <gerd@gnu.org>
8737
8738 * xterm.c (x_produce_glyphs): If the distance from the current
8739 position to the next tab stop is less than a canonical character
8740 width, use the tab stop after that.
8741
b4331e96
DL
87422000-09-14 Dave Love <fx@gnu.org>
8743
8744 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8745
ef9e4345
GM
87462000-09-14 Gerd Moellmann <gerd@gnu.org>
8747
085536c2
GM
8748 * xdisp.c (handle_fontified_prop): While running fontification
8749 functions, bind `fontification-functions' and
8750 `after-change-functions' to nil.
8751
ef9e4345
GM
8752 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8753 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8754
8755 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8756
8757 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8758 USE_MMAP_FOR_BUFFERS.
8759
8760 * insdel.c (make_gap): Use enlarge_buffer_text.
8761
8762 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8763 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8764 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8765 from former r_alloc_* functions in ralloc.c.
52283633 8766 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8767 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8768 (mmap_init) [REL_ALLOC_MMAP]: New function.
8769 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8770 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8771 BUFFER_FREE.
8772
8773 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8774 (enlarge_buffer_text): Add prototype.
8775
8776 * ralloc.c: Remove everything having to do with the use of mmap.
8777
f8608968
GM
87782000-09-13 Gerd Moellmann <gerd@gnu.org>
8779
2a494b2d
GM
8780 * sound.c (Fplay_sound): Doc fix.
8781
8c907a56
GM
8782 * keyboard.c: Avoid some more compiler warnings.
8783 (parse_tool_bar_item): Ignore cached key bindings.
8784
f8608968
GM
8785 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8786 and allocation of Lisp data.
8787
6ab70e9a
GM
87882000-09-12 Gerd Moellmann <gerd@gnu.org>
8789
d12d0a9b
GM
8790 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8791 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8792 defaults first.
8793
6ab70e9a
GM
8794 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8795
63c36c3c
KH
87962000-09-12 Miyashita Hisashi <himi@meadowy.org>
8797
8798 * ccl.c: Comment fixed.
8799 (MAX_MAP_SET_LEVEL): Increased to 30.
8800 (PUSH_MAPPING_STACK): Enclose with do-while block.
8801 (POP_MAPPING_STACK): Likewise.
8802 (stack_idx_of_map_multiple): New variable.
8803 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8804 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8805 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8806 (ccl_driver) <CCL_MapSingle>: Likewise.
8807 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8808 with the case where looking up process reaches to the end of
8809 map-set, and call CCL programs as the above change.
8810
7ee3bd7b
GM
88112000-09-11 Gerd Moellmann <gerd@gnu.org>
8812
8ec8a5ec
GM
8813 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8814 that might be clobbered by longjmp.
8815 (check_x_display_info, x_decode_color, create_frame_xic)
8816 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8817 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8818
f74b0705
GM
8819 * lread.c (init_lread): Set Vloads_in_progress to nil.
8820 (Fload): Show list of recursively loaded files, when signaling an
8821 error.
8822
7ee3bd7b
GM
8823 * lread.c (Vloads_in_progress): New variable.
8824 (record_load_unwind): New function.
8825 (Fload): Check for recursive loads.
8826 (syms_of_lread): Initialize Vloads_in_progress.
8827 (read_integer, read1): Avoid some compiler warnings.
8828
8829 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8830 compiler warnings.
8831
974e1e5b
MB
88322000-09-11 Miles Bader <miles@gnu.org>
8833
8834 * editfns.c (Fbuffer_string): Doc fix.
8835
9824c4e3
GM
88362000-09-10 Gerd Moellmann <gerd@gnu.org>
8837
8838 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8839
6a72fdd1
KR
88402000-09-09 Ken Raeburn <raeburn@gnu.org>
8841
8842 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8843 whether to include other header files.
8844
28e6fb66
GM
88452000-09-09 Gerd Moellmann <gerd@gnu.org>
8846
52283633 8847 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8848 by Fmemq as a boolean.
28e6fb66 8849
7f8b6551
SM
88502000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8851
8852 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8853
a8710abf
GM
88542000-09-08 Gerd Moellmann <gerd@gnu.org>
8855
d1a02881
GM
8856 * ralloc.c (mmap_fd): Remove initializer which can make it
8857 read-only in a dumped Emacs.
8858 (mmap_fd_1): New variable.
8859 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8860 restore it from there.
8861 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8862 unconditionally so that mmap_fd can be initialized there.
8863 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8864 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8865 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8866
c454aac1
GM
8867 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8868
8869 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8870 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8871
fc653ef2
GM
8872 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8873
3015eec0
GM
8874 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8875 inheritance.
8876
bfe0ee88
GM
8877 * xdisp.c (try_window_id): When trying to locate cursor in
8878 unchanged rows at the top, handle the case that we can't find it.
8879
a8710abf
GM
8880 * xterm.c (x_draw_glyphs): Handle case START and END are out
8881 of bounds more carefully.
8882
6b7d4ae4
DL
88832000-09-08 Dave Love <fx@gnu.org>
8884
423193c5
DL
8885 * s/sol2.h (REL_ALLOC_MMAP): Define.
8886 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8887
8888 * ralloc.c: Don't include string.h (redundant).
8889 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8890 [!MAP_ANON]: Include fcntl.h.
8891 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8892 (r_alloc, r_re_alloc, r_alloc_free)
8893 (mmap_enlarge, mmap_set_vars): Use it.
8894 (r_alloc_init_fd): New function.
8895 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8896 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8897 malloc type.
8898
8899 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8900 Remove vm-limit.o.
8901
6b7d4ae4
DL
8902 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8903 change to __NetBSD__.
8904
44d31981
KH
89052000-09-08 Kenichi Handa <handa@etl.go.jp>
8906
8907 * search.c (compile_pattern): Check the multibyteness of cached
8908 string and PATTERN.
8909
aad40737
MB
89102000-09-08 Miles Bader <miles@gnu.org>
8911
8912 * xfaces.c (default_face_vector): Function removed.
8913 (Finternal_merge_in_global_face): Restore old global/local
8914 attribute override order. Use inline loop instead of calling
8915 default_face_vector.
8916
91a211b5
GM
89172000-09-07 Gerd Moellmann <gerd@gnu.org>
8918
8919 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8920 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8921 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8922 where necessary, in case POINTER_TYPE is `void'.
8923
03419440
EZ
89242000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8925
8926 * frame.c (make_terminal_frame): Initialize frame foreground and
8927 background colors to unspecified, for the initial instance of an
8928 MSDOS frame.
8929
f46f845b
GM
89302000-09-07 Gerd Moellmann <gerd@gnu.org>
8931
24f76fbf
GM
8932 * ralloc.c (mmap_find): Fix overlap computation.
8933 (mmap_enlarge): Compute nbytes before trying to find an
8934 overlapping region.
8935
f46f845b
GM
8936 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8937 instead of `!='.
8938
8939 * lread.c (syms_of_lread): Change value of regexp
8940 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8941
8942 * xmenu.c (xdialog_show): When looking up the selection in
8943 menu_items, take `quote' boundaries into account; this corresponds
8944 to a nil ITEM in x-popup-dialog.
8945
3c014385
KH
89462000-09-07 Kenichi Handa <handa@etl.go.jp>
8947
fd6f711b
KH
8948 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8949 not 0x81.
8950 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8951
3c014385 8952 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8953 encoding, not decoding. Fix the handling of latin-jisx0201.
8954 Check for the charset katakana-jisx0201 too.
3c014385 8955 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8956 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8957
0da3ecef
GM
89582000-09-07 Gerd Moellmann <gerd@gnu.org>
8959
ab0ee409
GM
8960 * xfaces.c (Vparam_value_alist): New variable.
8961 (syms_of_xfaces): Initialize it.
8962 (Finternal_set_lisp_face_attribute): Avoid more consing.
8963
8964 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8965 specially.
8966 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8967 (Qbackground_mode): New variable.
8968 (syms_of_frame_1): Initialize Qbackground_mode.
8969
8970 * lisp.h (Qdisplay): Declare extern.
1091dd67 8971
0da3ecef
GM
8972 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8973 change face on all frames, and change the default for new frames.
8974
b14654b9
DL
89752000-09-07 Dave Love <fx@gnu.org>
8976
8977 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8978
d24fd56f
KH
89792000-09-07 Kenichi Handa <handa@etl.go.jp>
8980
794f3670
KH
8981 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8982
0fddd0dc
KH
8983 * charset.c: Include composite.h
8984 (lisp_string_width): New function.
8985 (Fstring_width): Call lisp_string_width instead of strwidth.
8986
8987 * Makefile.in (charset.o): Depends on composite.h.
8988
d24fd56f
KH
8989 * process.c (read_process_output): Before inserting the decoded
8990 text in the buffer, adjust the multibyteness.
8991
fa0b693c
GM
89922000-09-06 Gerd Moellmann <gerd@gnu.org>
8993
52283633 8994 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8995 buffer's text buffer is null, map new memory.
8996
0a58f946
GM
8997 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8998 POINTER_TYPE and size_t.
8999 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9000 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9001 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9002 [REL_ALLOC_MMAP]: New macros.
9003 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9004 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9005 [REL_ALLOC_MMAP]: New functions.
9006
9007 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9008 before and after unexec.
9009
9010 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9011 text buffers if necessary.
9012
9013 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9014 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9015 in prototypes.
9016
fa0b693c
GM
9017 * config.in (HAVE_MMAP): Add #undef.
9018
877055f6
GM
90192000-09-05 Gerd Moellmann <gerd@gnu.org>
9020
08ba3862
GM
9021 * frame.c (Qdisplay_type): New variable.
9022 (syms_of_frame_1): Initialize it.
9023 (Fframe_parameter): New function that avoids consing.
9024 (syms_of_frame): Defsubr it.
9025
66ffe51c
GM
9026 * buffer.c (Fother_buffer): Consider buffers as invisible when
9027 they are displayed in a window on an invisible frame.
9028
877055f6
GM
9029 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9030 get-largest-window always return nil.
9031
bb970e67
GM
90322000-09-04 Gerd Moellmann <gerd@gnu.org>
9033
9034 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9035 variable; recognize Emacs 19 elc files.
9036
7a3d0e0e
MB
90372000-09-04 Miles Bader <miles@gnu.org>
9038
9039 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9040 before initially popping up the menu, so the menu doesn't flash
52283633 9041 when the face settings are significantly different from the defaults.
7a3d0e0e 9042
14473664
SM
90432000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9044
9045 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9046 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9047 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9048 (BIT_UNIBYTE): Remove.
9049 (re_match_2_internal): Delete corresponding code and streamline the
9050 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9051 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9052 (re_wctype_t): New type.
9053 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9054 (regex_compile): Use them and fix handling of overly long char classes.
9055
c1174479
AI
90562000-09-03 Andrew Innes <andrewi@gnu.org>
9057
f8803e97
AI
9058 * makefile.w32-in: Change to DOS line endings.
9059
c1174479
AI
9060 * s/ms-w32.h (ORDINARY_LINK): New define.
9061
9062 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9063 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9064
9065 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9066 (distclean): Delete them here instead.
9067
44ef7cf6
AI
9068 * w32proc.c (compare_env): Convert to uppercase for comparison,
9069 not lowercase, to match how the native Windows shell works.
9070
49b3bd82
JR
90712000-09-03 Jason Rumney <jasonr@gnu.org>
9072
9073 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9074 CVS changes the line-ends when checking in/out on DOS/Windows.
9075
9076 * makefile.nt (emacs): Do not change directory to run temacs, as
9077 the load-path is set relative to current directory.
9078
a3d35a39
MB
90792000-09-03 Miles Bader <miles@gnu.org>
9080
9081 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9082
d276b0cf
GM
90832000-09-02 Gerd Moellmann <gerd@gnu.org>
9084
715e84c9
GM
9085 * xdisp.c (redisplay_mode_lines): New function.
9086 (display_mode_lines): Return number of mode lines displayed.
9087 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9088 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9089
8892f40b
GM
9090 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9091 string.h and strings.h.
9092 (index) [HAVE_INDEX]: Add prototype.
9093
d276b0cf
GM
9094 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9095 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9096
9097 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9098 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9099
38404229
GM
91002000-09-01 Gerd Moellmann <gerd@gnu.org>
9101
9102 * lread.c (read1): Accept `?' as symbol constituent, for
9103 compatiblity with XEmacs.
9104
c0f9ea08
SM
91052000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9106
9107 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9108 (struct re_pattern_buffer): Remove newline_anchor.
9109 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9110 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9111 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9112 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9113 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9114 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9115 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9116 Get rid of references to newline_anchor.
9117 (regcomp): Allocate and precompute a fastmap.
9118
8c0f83fe
GM
91192000-08-31 Gerd Moellmann <gerd@gnu.org>
9120
9121 * lread.c (openp): GCPRO local variable `filename'.
9122
4bb91c68
SM
91232000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9124
9125 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9126
9127 * regex.c: Merge some changes from GNU libc. Add prototypes.
9128 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9129 Use memcmp and memcpy instead of bcopy and bcmp.
9130 (init_syntax_once): Use ISALNUM.
9131 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9132 (REG_UNSET_VALUE): Remove. Use NULL instead.
9133 (REG_UNSET, re_match_2_internal): Use NULL.
9134 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9135 New macros.
9136 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9137 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9138 (regex_compile): In handle_interval, return an error rather than try to
9139 unfetch the interval if we can't find the closing brace.
9140 Obey the RE_NO_GNU_OPS syntax bit.
9141 (TOLOWER): New macro.
9142 (regcomp): Use it.
9143 (regexec): Allocate regs.start and regs.end as one block.
9144
5226a931
GM
91452000-08-30 Gerd Moellmann <gerd@gnu.org>
9146
868dd24b
GM
9147 * xdisp.c (echo_area_display): Check display_completed instead
9148 of calling detect_input_pending.
9149
9150 * dispnew.c (update_frame): Only set display_completed here; move
9151 the update_begin and update_end calls here from update_frame_1.
9152 (update_frame_1): Don't set display_completed here, don't call
9153 update_begin/update_end.
9154
5226a931
GM
9155 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9156 instead of store_frame_param.
9157
2a8bd25f
GM
91582000-08-29 Gerd Moellmann <gerd@gnu.org>
9159
9160 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9161 desired window matrix hasn't been displayed, use the current row
9162 instead. Make sure that only those frame rows are updated for
9163 which there exists a corresponding enabled desired row.
52283633 9164
ba3478d9
MB
91652000-08-29 Miles Bader <miles@gnu.org>
9166
9167 * xfaces.c (default_face_vector): New function.
9168 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9169
87d0f685
GM
91702000-08-29 Gerd Moellmann <gerd@gnu.org>
9171
9172 * lread.c (openp): Prevent temporary string passed to
9173 Ffile_readable_p from being garbage collected.
9174
6fa86045
DL
91752000-08-28 Dave Love <fx@gnu.org>
9176
9177 * keymap.c (store_in_keymap): Add `static' to declaration.
9178
bb17930d
GM
91792000-08-28 Gerd Moellmann <gerd@gnu.org>
9180
9181 * emacs.c, callint.c, doc.c, editfns.c
9182 (toplevel) [HAVE_STRING_H]: Include string.h.
9183 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9184 (index): Remove prototypes which might conflict with non-standard
9185 definitions of index/strchr.
9186
9187 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9188 (rindex): Define only if !HAVE_RINDEX.
9189
9190 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9191
9192 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9193
87188200
MB
91942000-08-28 Miles Bader <miles@gnu.org>
9195
9196 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9197 made inconsistent by a font-related attribute in FROM.
9198 (merge_face_inheritance): Add function comment.
9199
41a68aef
KH
92002000-08-28 Kenichi Handa <handa@etl.go.jp>
9201
9202 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9203 the 4th arg (PREV_EVENT) Qt to suppress input method.
9204
f7c436c1
SM
92052000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9206
0b32bf0e
SM
9207 * regex.c: Indent cpp directives and remove parens after `defined'.
9208 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9209 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9210 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9211 (re_compile_pattern): Use size_t for length.
9212 (init_syntax_once): Move to a better place.
9213 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9214 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9215
f7c436c1
SM
9216 * syntax.c (back_comment): Detect cases where a comment-starter is
9217 actually inside another comment as in: /* a // b */ c // d \n.
9218 Make it clear that `comstart_pos' is unused for nested comments.
9219
9220 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9221 (KEYMAPP): New macro.
9222 (Fkeymap_parent, Fset_keymap_parent): Use it.
9223 (fix_submap_inheritance): Mark it static.
9224 (define_as_prefix, describe_buffer_bindings, describe_command)
9225 (describe_translation, describe_map): Complete prototypes.
9226
9227 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9228
9229 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9230 to better match the key-lookup behavior.
9231
6288c62f
GM
92322000-08-27 Gerd Moellmann <gerd@gnu.org>
9233
9234 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9235 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9236
e931344e
EZ
92372000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9238
9239 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9240 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9241 (xterm.o): Depend on coding.h
9242
d10dfeef
KH
92432000-08-26 Kenichi Handa <handa@etl.go.jp>
9244
9245 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9246 the corresponding '#endif'.
9247
2d73e8d3
MB
92482000-08-26 Miles Bader <miles@gnu.org>
9249
9250 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9251 * xfaces.c (QCinherit): New variable.
9252 (syms_of_xfaces): Initialize it.
9253 (LFACE_INHERIT): New macro.
9254 (Finternal_get_lisp_face_attribute)
52283633 9255 (merge_face_vector_with_property)
2d73e8d3
MB
9256 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9257 (check_lface_attrs): Allow new types of face height. Check
9258 inherit attribute.
9259 (CYCLE_CHECK): New macro.
9260 (merge_face_inheritance): New function.
9261 (merge_face_vectors): Merge inherited faces too. Add F and
9262 CYCLE_CHECK arguments.
9263 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9264 (lookup_named_face, lookup_derived_face, realize_named_face)
9265 (face_at_string_position, face_at_buffer_position): Supply
9266 new F and CYCLE_CHECK arguments to merge_face_vectors.
9267 (merge_face_heights): New function.
52283633 9268 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9269 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9270 handle relative face heights.
9271 (lface_same_font_attributes_p): Compare heights using EQ.
9272
6ce974d4
KH
92732000-08-26 Kenichi Handa <handa@etl.go.jp>
9274
9275 * charset.c (char_to_string): Check the character validity.
52283633 9276 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9277
dc1e502d
SM
92782000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9279
9280 * regex.c (PUSH_FAILURE_COUNT): New macro.
9281 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9282 Handle popping of a register's or a counter's data.
9283 (POP_FAILURE_POINT): Use the new name.
9284 (re_match_2_internal): Push counter data on the stack for succeed_n,
9285 jump_n and set_number_at and remove misleading dead code in succeed_n.
9286
bd9d0f3f
GM
92872000-08-25 Gerd Moellmann <gerd@gnu.org>
9288
9289 * xdisp.c (redisplay_internal): If considering all windows on all
9290 frames, update the display for each frame as soon as possible,
9291 instead of first building all desired matrices for all frames, and
9292 then updating them all.
9293 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9294
aa5b8e15
GM
92952000-08-24 Gerd Moellmann <gerd@gnu.org>
9296
17494071
GM
9297 * bytecode.c (mark_byte_stack): Add a comment.
9298
52283633
SM
9299 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9300 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9301 a graphical frame.
9302
c543db81
KH
93032000-08-24 Kenichi Handa <handa@etl.go.jp>
9304
d246d5f5
KH
9305 * minibuf.c (do_completion): Always use compare-string, not
9306 string-equal because the latter doesn't pay attention to
9307 multibyteness of strings.
9308
c543db81
KH
9309 * process.c (create_process): Don't setup raw-text coding here.
9310 (Fopen_network_stream): Don't set coding->src_multibyte and
9311 coding->dst_multibyte here.
9312 (read_process_output): For process filter, return unibyte string
9313 if default-enable-multibyte-characters is nil.
9314 (send_process): If OBJECT is multibyte text, be sure to encoded it
9315 by the specified coding system for the process. Otherwise, setup
9316 raw-text coding.
52283633 9317 (init_process): Don't initialize default-process-coding-system here.
c543db81 9318
9b47cfe0
EZ
93192000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9320
9321 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9322 <scroll-down-aggressively>: Likewise.
9323
f5a36960
KH
93242000-08-23 Kenichi Handa <handa@etl.go.jp>
9325
9326 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9327 zero. Set coding->produced_char correctly.
9328
69a7ffa7
AI
93292000-08-22 Andrew Innes <andrewi@gnu.org>
9330
9331 * makefile.w32-in: New file.
9332
9333 * unexw32.c (unexec): Ignore old_name, and use the actual location
9334 of the current executable instead. Base new_name on this.
9335
9336 * w32proc.c (create_child): Remove reference to security
9337 descriptor, which isn't needed and doesn't compile with mingw32.
9338
9339 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9340 up dllimport attributes.
9341 (x_update_window_end): Update prototype.
9342
9343 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9344 extern, which screws up dllimport attributes.
9345
9346 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9347 up dllimport attributes.
9348
9349 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9350 screws up dllimport attributes.
9351
9352 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9353 up dllimport attributes.
9354 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9355 screws up dllimport attributes.
9356
9357 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9358 up dllimport attributes.
9359
9360 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9361 screws up dllimport attributes.
9362
9363 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9364 screws up dllimport attributes.
9365
9366 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9367 up dllimport attributes.
9368
9369 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9370 unnecessary extern, which screws up dllimport attributes.
9371 (main): Ditto.
9372
9373 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9374 up dllimport attributes.
9375
9376 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9377 unnecessary extern, which screws up dllimport attributes.
9378
9379 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9380 screws up dllimport attributes.
9381
9382 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9383 up dllimport attributes.
9384
9385 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9386
52283633
SM
9387 * w32bdf.c (search_file_line):
9388 (set_bdf_font_info):
9389 (seek_char):
9390 (w32_get_bdf_glyph):
69a7ffa7
AI
9391 (w32_BDF_to_x_font): Fix compile warnings.
9392
52283633 9393 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9394
9395 * w32select.c: Include keyboard.h before frame.h.
9396
9397 * w32fns.c (max): Define macro.
9398 (JOHAB_CHARSET): Define if not known.
9399 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9400 (Fx_show_tip): Synch with X version.
9401
9402 * w32xfns.c: Include keyboard.h before frame.h.
9403
9404 * w32fns.c: Include keyboard.h before frame.h.
9405
9406 * w32term.c: Include keyboard.h before frame.h.
9407
9408 * fontset.c: Include keyboard.h before frame.h.
9409
9410 * w32inevt.c: Include keyboard.h before frame.h.
9411 (MOUSE_MOVED): Define if not known.
9412
9413 * minibuf.c: Include keyboard.h before frame.h.
9414
9415 * keyboard.c: Include keyboard.h before frame.h.
9416
9417 * indent.c: Include keyboard.h before frame.h.
9418
9419 * dispnew.c: Include keyboard.h before frame.h.
9420
9421 * buffer.c: Include keyboard.h before frame.h.
9422
9423 * alloc.c: Include keyboard.h before frame.h.
9424
9425 * print.c: Include keyboard.h before frame.h.
9426
9427 * process.c: Include keyboard.h before frame.h.
9428
9429 * scroll.c: Include keyboard.h before frame.h.
9430
9431 * sysdep.c: Include keyboard.h before frame.h.
9432
9433 * term.c: Include keyboard.h before frame.h.
9434
9435 * window.c: Include keyboard.h before frame.h.
9436
9437 * xdisp.c: Include keyboard.h before frame.h.
9438 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9439
9440 * frame.c: Include keyboard.h before frame.h.
9441
9442 * w32heap.h: Undefine min, max.
9443
9444 * w32gui.h: Undefine min, max.
9445
9446 * unexw32.c: Change PUCHAR to PCHAR.
9447 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9448 (relocate_offset):
9449 (get_section_info):
69a7ffa7
AI
9450 (copy_executable_and_dump_data): Remove unnecessary static defs.
9451 (copy_executable_and_dump_data): Fix compile warnings.
9452
9453 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9454
9455 * w32console.c (min): Define macro.
9456 (clear_frame, write_glyphs): Fix compile warning.
9457
52283633 9458 * w32proc.c (compare_env):
69a7ffa7
AI
9459 (find_child_console): Fix compile warning.
9460
9461 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9462 sys_errlist instead of _sys_errlist.
9463 (get_emacs_configuration_options): New function.
9464
9465 * s/ms-w32.h (sys_nerr): Provide default definition.
9466 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9467 name with _ prepended.
9468 (NSIG): Define if not known.
9469 (get_emacs_configuration): Provide extern declaration.
9470 (get_emacs_configuration_options): Provide extern declaration.
9471 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9472
9473 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9474 (map_w32_filename):
69a7ffa7
AI
9475 (read_unc_volume): Fix compile warning.
9476
9477 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9478 definitions from being used.
9479
9480 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9481
52283633 9482 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9483 (open_unc_volume): Make arg const.
9484
9485 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9486 (read_input_waiting): Remove excess parameter.
9487
9488 * w32.c (init_environment): Call _access.
9489 (check_windows_init_file): Call _close.
9490 (init_user_info): Call _putenv.
9491 (init_environment): Call _putenv and _strdup.
9492 (init_ntproc): Reset volume info cache on startup.
9493
9494 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9495 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9496 cannot override the CRT malloc.
9497
9498 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9499 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9500
9501 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9502 unless we are linking with a static CRT.
9503 (RVA_TO_PTR): Cast result to unsigned char*.
9504
9505 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9506 (add_volume_info): Use xstrdup.
9507
25060080
SM
95082000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9509
9510 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9511 (do_completion, Fminibuffer_complete_word): Use it.
9512 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9513 var so it can take non-boolean values.
9514
6917e6bb
GM
95152000-08-21 Gerd Moellmann <gerd@gnu.org>
9516
acb7cc89 9517 * editfns.c (find_field): Formatting changes.
52283633 9518 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9519 changed to prototypes, some new protypes added, some functions
9520 made static.
9521
9522 * lisp.h (set_time_zone_rule): Add prototype.
9523 (use_dialog_box): External declaration.
9524
0bbfdc25
GM
9525 * keyboard.c (gen_help_event): Add parameter SIZE.
9526 (kbd_buffer_events_waiting): Slightly rewritten.
9527 (clear_event): New function.
9528 (kbd_buffer_get_event): Use it, and clear the input_events of
9529 HELP_EVENTs.
9530 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9531 don't fill the newly created array with nils.
9532 (toplevel): Convert some old-style function forward declarations
9533 to prototypes.
9534
9535 * keyboard.h (gen_help_event): Change prototype.
9536
9537 * xterm.c (XTread_socket): Change calls to gen_help_event.
9538
9539 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9540
6917e6bb
GM
9541 * eval.c (Fmacroexpand): Doc fix.
9542
e5cd3d11
JR
95432000-08-20 Jason Rumney <jasonr@gnu.org>
9544
9545 * w32term.h (x_display_info_for_display): Remove as this function
9546 does not exist on W32.
9547
9548 * w32term.c (help_echo_window): New variable.
9549 (syms_of_w32term): staticpro it.
9550 (note_mode_line_highlight): Set it.
9551 (XTextExtents16): Removed as there is no equivalent on W32.
9552 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9553 the X way of doing this will not work for W32.
9554 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9555 (x_draw_image_foreground): Avoid drawing outside of the clip area
9556 when image doesn't have a mask.
9557 (note_mouse_highlight): Process overlays in the right order of
9558 priority. Set help_echo_window.
9559 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9560 because that's more visible for large images.
9561
9562 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9563 name to single_keymap_panes.
9564 (w32_menu_show): Set wv->title when dealing with titles.
9565 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9566
6e69ab8c
MB
95672000-08-21 Miles Bader <miles@gnu.org>
9568
9569 * minibuf.c (do_completion): Try again if we rewrite the input
9570 string, but no completion was done, so that any completion message
9571 will be correct.
9572
511bd4eb
GM
95732000-08-20 Gerd Moellmann <gerd@gnu.org>
9574
9575 * xfaces.c (lface_equal_p): Compare strings differently.
9576 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9577 (realize_tty_face): Use them.
9578 (syms_of_xfaces): Initialize new variables.
9579 (map_tty_color): New function, extracted from realize_tty_face.
9580 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9581 foreground or background color, store the new color name in the
9582 realized face; previous code trying to do this had no effect.
9583 (realize_tty_face): Use map_tty_color.
9584 (Fclear_face_cache): Set face_change_count and ensure thorough
9585 redisplay.
9586
1433385f
GM
95872000-08-19 Gerd Moellmann <gerd@gnu.org>
9588
511bd4eb
GM
9589 * undo.c (record_first_change, record_marker_adjustment): Don't
9590 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9591
419ac0a2
KH
95922000-08-18 Kenichi Handa <handa@etl.go.jp>
9593
9594 * coding.c (decode_coding_string): Set members consumed,
9595 consumed_char, produced, produced_char of *coding correctly. If
9596 decode_coding doesn't consume any byte, don't try anymore.
9597 (encode_coding_string): Likewise.
9598
7eb9e30d
GM
95992000-08-18 Gerd Moellmann <gerd@gnu.org>
9600
511bd4eb
GM
9601 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9602 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9603
9604 * xdisp.c (redisplay_internal): Compare windows for equality with
9605 EQ, instead of applying XWINDOW to something that might not
9606 be a window.
52283633 9607
dd34a735
KH
96082000-08-18 Kenichi Handa <handa@etl.go.jp>
9609
9610 * fontset.c (Finternal_char_font): Search only the selected frame
9611 for a window of the current buffer.
9612
385ff9e3
GM
96132000-08-18 Gerd Moellmann <gerd@gnu.org>
9614
511bd4eb 9615 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9616 Lisp_Objects.
9617
385ff9e3
GM
9618 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9619 second half of a HELP_EVENT is found at the start of kbd_buffer.
9620
d6abb4c7
MB
96212000-08-18 Miles Bader <miles@gnu.org>
9622
4618074a
MB
9623 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9624
d6abb4c7
MB
9625 * editfns.c (save_restriction_save): Rewrite to use markers.
9626 (save_restriction_restore): Rewrite to understand new form of data
9627 saved by save_restriction_save.
9628 (Fsave_restriction): Remove cautionary note in doc-string.
9629
a7b28523
GM
96302000-08-17 Gerd Moellmann <gerd@gnu.org>
9631
9632 * fileio.c (build_annotations): Add a comment explaining the
9633 return value of format-annotate-function. Replace a spurious call
9634 to Flength with a CONSP test. Call format-annotate-function with
9635 a fifth arg specifying how many times the function is been called
9636 in a row, to let it choose temporary buffers appropriately.
9637
03c9ed77
DL
96382000-08-17 Dave Love <fx@gnu.org>
9639
9640 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9641 declare make_temp_name twice.
9642
52283633 9643 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9644 (unreadpure): Give it an arg.
9645
9646 * unexalpha.c: Prototype fatal_unexec, mark_x,
9647 update_dynamic_symbols. Declare unexec as void.
9648
9649 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9650 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9651
9652 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9653 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9654
9655 * alloca.c: Use #error.
9656 [POINTER_TYPE]: Use it.
9657
9658 * eval.c (Fdefvar): Doc fix.
9659
9660 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9661 INITIALIZE_INTERVAL.
9662
9663 * buffer.h: Avoid DECLARE_INTERVALS.
9664
9665 * config.in: Add size_t.
9666
aae41d97
EZ
96672000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9668
9669 * w16select.c (set_clipboard_data): If there's not enough memory
9670 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9671 expects. In case of other failures, return 3.
9672 (system_error_msg): New error message.
9673 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9674 system_error_msg.
9675
65aa5e85
GM
96762000-08-16 Gerd Moellmann <gerd@gnu.org>
9677
9678 * term.c (write_glyphs): Also turn off inverse video after turning
9679 off other appearances in case TS_exit_attribute_mode is not equal
9680 to TS_end_standout_mode.
9681 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9682 with the same face.
9683 (turn_off_face): Reset standout_mode only if
9684 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9685 is equal to TS_end_standout_mode.
9686
ece23901
KH
96872000-08-16 Kenichi Handa <handa@etl.go.jp>
9688
9d7bcb2e
KH
9689 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9690 sequence at the end of the source block.
9691
ece23901
KH
9692 * ccl.c (Fccl_program_p): Docstring modified.
9693 (Fccl_execute): Likewise.
9694 (Fccl_execute_on_string): Likewise.
9695
5e30eaa2
EZ
96962000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9697
9698 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9699
290602fd
KH
97002000-08-16 Kenichi Handa <handa@etl.go.jp>
9701
9702 The following changes are mainly to fix bugs of
9703 encode/decode-coding-string failing if encoding/decoding return
9704 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9705 variable conversion_buffer.
9706
9707 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9708 decrement dst_end to avoid buffer overflow in the later call of
9709 string_as_multibyte
9710
9711 * coding.h (conversion_buffer_size, conversion_buffer)
9712 (get_conversion_buffer): Extern deleted.
9713
9714 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9715 (conversion_buffer, conversion_buffer_size): Variables deleted.
9716 (get_conversion_buffer): Function deleted.
9717 (struct conversion_buffer): New structure.
9718 (MAX_ALLOCA): New macro.
9719 (allocate_conversion_buffer): New macro.
9720 (extend_conversion_buffer, free_conversion_buffer): New functions.
9721 (ccl_coding_driver): Set coding->result.
9722 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9723 this is the last block of source.
9724 (encode_coding): Likewise. Handle the source block as the last
9725 one only when the whole source text is consumed.
9726 (decode_coding_string): Handle the case that the output buffer is
9727 too small to decode the whole source text. Use
9728 allocate_conversion_buffer, extend_conversion_buffer and
9729 free_conversion_buffer, not get_conversion_buffer.
9730 (encode_coding_string): Likewise.
9731 (init_coding): Function deleted.
52283633 9732 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9733
9734 * emacs.c (main): Don't call init_coding.
9735
52283633 9736 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9737
9738 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9739 (insert_glyphs): Likewise.
9740
9741 * w32console.c (write_glyphs): Use a locally declared
9742 conversion_buffer.
9743
b9f80d41
EZ
97442000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9745
9746 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9747 member of display_info is NULL.
9748
32dc52f7
GM
97492000-08-15 Gerd Moellmann <gerd@gnu.org>
9750
52283633 9751 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9752
32dc52f7 9753 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9754 appearances with capability `me'.
32dc52f7
GM
9755 (write_glyphs): Switch on inverse video before each face change.
9756
4eb22d33
DL
97572000-08-14 Dave Love <fx@gnu.org>
9758
9759 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9760 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9761 (lisp_free): Declare and make static.
9762
9763 * window.c: Fix embedded comment.
9764 (syms_of_window): Fix doc string.
9765
90cbf47e
GM
97662000-08-14 Gerd Moellmann <gerd@gnu.org>
9767
52283633 9768 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9769 make sure to print `C-' before `M-', like in the manual.
9770
440fc135
GM
97712000-08-11 Gerd Moellmann <gerd@gnu.org>
9772
9773 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9774 since they aren't relocated anymore.
52283633 9775 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9776
9777 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9778 partially visible line which is smaller than the window's height.
440fc135 9779
6e264fad
KH
97802000-08-11 Kenichi Handa <handa@etl.go.jp>
9781
9782 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9783 the multibyte form of eight-bit-control characters.
6e264fad
KH
9784 (Fccl_execute_on_string): Initialize ccl->multibyte.
9785
9786 * ccl.h (struct ccl_program): New member multibyte.
9787
9788 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9789
c371f69a
KH
97902000-08-11 Kenichi Handa <handa@etl.go.jp>
9791
9792 * regex.c (regex_compile) <normal_char>: Pay attention to
9793 multibyteness.
9794 (analyse_first) <exactn>: Setup fastmap correctly for
9795 eight-bit-control characters.
9796
97972000-08-11 Kenichi Handa <handa@etl.go.jp>
9798
52283633 9799 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9800
9801 * keyboard.c (make_lispy_event): Handle the new event type
9802 multibyte_char_keystroke.
9803
9804 * xterm.c: Include coding.h.
9805 (XTread_socket): Work around a bug of XmbLookupString. If the
9806 input is from XIM, decode it according to the current locale. In
9807 that case, generate multibyte_char_keystroke events.
9808
b8ddbe71
KH
98092000-08-11 Kenichi Handa <handa@etl.go.jp>
9810
9811 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9812 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9813
47589c8c
GM
98142000-08-10 Gerd Moellmann <gerd@gnu.org>
9815
9816 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9817 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9818 (move_it_in_display_line_to): Record iterator's ascent and descent
9819 before producing glyphs, and restore them when we know the glyph
9820 doesn't fit on the line.
9821 (move_it_to): Restructured so that it's easier to debug. If
9822 moving to a vpos, and not moving to an x or character position,
9823 stop as soon as the specified vpos is reached; don't move further
9824 into that line because that might change the computed line height.
9825 (try_cursor_movement): New function, extracted from the cursor
9826 movement branch of redisplay_window. If ending on a partially
9827 visible line, don't try to scroll if the cursor line is taller
9828 than the window.
9829 (redisplay_window): Use try_cursor_movement.
9830
9831 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9832 because that function doesn't cope with variable-height lines.
9833
9834 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9835 box cursor because that's better visible for large images.
52283633 9836
c51bacd6
MB
98372000-08-10 Miles Bader <miles@gnu.org>
9838
9839 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9840
bea56df7
GM
98412000-08-10 Gerd Moellmann <gerd@gnu.org>
9842
9843 * xdisp.c (Vmessages_buffer_name): New variable.
9844 (message_dolog): Use it.
9845 (syms_of_xdisp): Initialize it.
9846
99cd7364
EZ
98472000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9848
52283633 9849 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9850 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9851 redundant now that keyboard.h is included.
9852
7d093d56
EZ
98532000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9854
9855 * keyboard.c (kbd_buffer_events_waiting): New function.
9856
9857 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9858
9859 * msdos.c: Include keyboard.h.
9860 (XMenuActivate): Empty no_event events from the event buffer. If
9861 no events are left after that, call clear_input_pending.
9862 (mouse_clear_clicks): New function, code moved from mouse_init.
9863 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9864 mouse driver to ``forget'' any past clicks.
9865
9866 * Makefile.in (msdos.o): Depend on keyboard.h.
9867
41e757a6
GM
98682000-08-09 Gerd Moellmann <gerd@gnu.org>
9869
8e7bd231
GM
9870 * lisp.h (input_pending): External declaration.
9871
9872 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9873
8e7bd231
GM
9874 * xdisp.c (echo_area_display): Display thoroughly if input is
9875 pending. Bind redisplay-dont-pause to t during the redisplay.
9876 in case input is pending.
9877
9878 * dispnew.c (Qredisplay_dont_pause): New variable.
9879 (syms_of_display): Initialize and staticpro it.
9880 (update_frame_1): Don't interrupt the display for pending input if
9881 redisplay_dont_pause is set.
52283633 9882
43028b7e
GM
9883 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9884
41e757a6
GM
9885 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9886
2f2174fa
KH
98872000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9888
9889 * callproc.c (Fcall_process): Terminate the unwind-protect around
9890 the post-read-conversion of coding system.
9891
0a6fd67e
MB
9892 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9893 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9894 * buffer.h (overlays_at): Update prototype.
9895 * xdisp.c (next_overlay_change): Update call to overlays_at.
9896 * xfaces.c (face_at_buffer_position): Likewise.
9897 * textprop.c (Fget_char_property): Likewise.
9898 * xterm.c (note_mouse_highlight): Likewise.
9899
0c80756e
MB
9900 * minibuf.c (do_completion): Don't consider a simple change of
9901 case as `completion'.
9902
975f250a
KR
99032000-08-08 Ken Raeburn <raeburn@gnu.org>
9904
52283633 9905 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9906 * undo.c (record_delete): Make sure last_point_position_buffer is
9907 a buffer before comparing pointers.
9908
9909 * coding.h (decode_coding_string): Declare.
9910
9911 * intervals.h (Fprevious_single_char_property_change): Declare.
9912
9913 * textprop.c (Fprevious_single_char_property_change): Don't do
9914 arithmetic directly on lisp objects.
9915
52283633 9916 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9917
9918 * keyboard.h (menu_item_eval_property): Declare.
9919
9920 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9921 reuse as buffer name, instead of recreating (and discarding) every
9922 time a message is logged.
9923 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9924 (current_message_1, truncate_message_1, set_message_1)
9925 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9926 (current_message, truncate_echo_area, display_echo_area)
9927 (resize_echo_area_axactly): Changed calls.
b347b3fd 9928
975f250a 9929 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9930 Lisp object.
975f250a 9931 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9932 must be an integer, not a Lisp object.
975f250a 9933
46dc9912
KH
99342000-08-08 Kenichi Handa <handa@etl.go.jp>
9935
9936 * charset.c (Fchar_width): Doc fix.
9937
9f6d1a6c
GM
99382000-08-08 Gerd Moellmann <gerd@gnu.org>
9939
9940 * charset.c (Fstring_width): Doc fix.
9941
ff3d9573
GM
99422000-08-07 Gerd Moellmann <gerd@gnu.org>
9943
41e757a6 9944 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9945 line, clear ascent and descent members of the iterator structure;
9946 the height of the continued line does not affect the height of the
9947 continuation line.
9948 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9949 line taller than the window.
9950 (redisplay_window) <forced window start>: Handle case that the
9951 middle of the window is not found in any row.
9952 (dump_glyph_row): Show more information.
9953 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9954 first text line in a glyph matrix.
9955
9956 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9957 of the clip area when image doesn't have a mask.
9958
70fc58b3
GM
9959 * fns.c (sweep_weak_table): Fix survival conditions for
9960 key-or-value and key-and-value weakness.
9961
9962 * .gdbinit (xhashtable): New command.
9963
ac0e96ee
GM
9964 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9965 tables out of the list of all weak hash tables.
9966
ff3d9573
GM
9967 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9968 a new buffer is created, make sure echo_area_buffer[] references
9969 the new buffer.
9970
e0d8827b
EZ
99712000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9972
9973 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9974 the doc string.
9975
c6f35378
KH
99762000-08-07 Kenichi Handa <handa@etl.go.jp>
9977
9978 * syntax.c (skip_chars): Fix previous change. Make the handling
9979 of unibyte string consistent with that of regex search.
9980
1fd4c450
GM
99812000-08-05 Gerd Moellmann <gerd@gnu.org>
9982
e49aa397
GM
9983 * xmenu.c (popup_get_selection): Use xfree instead of free.
9984
9985 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9986
9987 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9988
9989 * callproc.c (child_setup): Use xfree instead of free.
9990
9991 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9992 instead of malloc.
9993 (run_mac_command, closedir): Use `xfree' instead of `free'.
9994
9995 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9996
9997 * eval.c (error): Use xfree instead of free.
9998
1fd4c450
GM
9999 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10000
10001 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10002 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10003
82d497fc
KH
100042000-08-05 Kenichi Handa <handa@etl.go.jp>
10005
10006 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10007 conversion.
10008
59f953a2
NF
100092000-08-04 Noah Friedman <friedman@splode.com>
10010
10011 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10012 docstring.
10013
688351f2
GM
100142000-08-04 Gerd Moellmann <gerd@gnu.org>
10015
10016 * syntax.c (skip_chars): Fix typo in error message.
10017
2dad51cc
AS
100182000-08-04 Andreas Schwab <schwab@suse.de>
10019
10020 * m/ia64.h: Moved from s/ia64.h.
10021
99bb2c60
KH
100222000-08-04 Kenichi Handa <handa@etl.go.jp>
10023
082a1df2
KH
10024 * process.c (read_process_output): Big simplification. Handle
10025 composition and post-read-conversion of coding system correctly.
10026 (send_process): Handle composition correctly.
10027
10028 * callproc.c (Fcall_process): Handle post-read-conversion of
10029 coding system if any.
10030
99bb2c60
KH
10031 * coding.c (decode_coding_iso2022): More strict check for handling
10032 single shifting.
082a1df2
KH
10033 (coding_restore_composition): Pay attention to the case that
10034 cmp_data is not set properly (because of invalid code in the
10035 source text).
10036 (run_pre_post_conversion_on_str): Include text properties in the
10037 resulting string.
10038 (decode_coding_string): Set members of coding correctly.
99bb2c60 10039
f4988be7
GM
100402000-08-03 Gerd Moellmann <gerd@gnu.org>
10041
10042 * s/ia64.h: New file.
10043
10044 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10045 Use NULL instead of 0 at the end of variable argument list of
10046 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10047 sizeof (int) < sizeof (void *).
10048
10049 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10050 of variable argument lists of XtVaGetValues and XtVaSetValues.
10051
10052 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10053 variable argument lists of XtVaGetValues and XtVaSetValues.
10054
ead53494
GM
100552000-08-02 Gerd Moellmann <gerd@gnu.org>
10056
10057 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10058 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10059
10060 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10061 prototype.
10062
10063 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10064 in call to Fsingle_key_description.
10065
10066 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10067 Callers changed.
10068
100692000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10070
10071 * window.c (display_buffer_reuse_frames): New variable.
10072 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10073 frames displaying BUFFER.
52283633 10074 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10075
10b0f752
MB
100762000-08-01 Miles Bader <miles@gnu.org>
10077
10078 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10079 when to constrain NEW_POS (they were pretty screwed up before).
10080
16425c4a
EZ
100812000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10082
10083 * msdos.c (run_msdos_command): Save and restore the master
10084 environment, for the case that child_setup signals an error.
10085 When mirroring slashes in DOS shell commands, don't fail when
10086 argv[2] has embedded blanks.
da288c14
EZ
10087 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10088 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10089 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10090
10091 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10092 using alloca; free it after run_msdos_command returns.
10093
27f73852
DL
100942000-07-27 Dave Love <fx@gnu.org>
10095
52283633
SM
10096 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10097 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10098
10099 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10100
c0261b5e
EZ
101012000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10102
10103 * editfns.c (lisp_time_argument): Fix last change.
10104
b548072f
GM
101052000-07-27 Gerd Moellmann <gerd@gnu.org>
10106
3ab82477
GM
10107 * fns.c (Fdelete): Make it work on vectors and strings in addition
10108 to lists.
10109
b548072f
GM
10110 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10111 (syms_of_fns): Initialize new variables.
52283633 10112 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10113 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10114 weakness, with t meaning the same as `key-and-value'.
10115
91ae8751
KH
101162000-07-27 Kenichi Handa <handa@etl.go.jp>
10117
10118 * coding.h (struct coding_system): Member safe_charset deleted.
10119
10120 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10121 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10122 New variables.
91ae8751
KH
10123 (coding_safe_chars): New function.
10124 (CODING_SAFE_CHAR_P): New macro.
10125 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10126 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10127 (detect_coding_iso2022): New local variable safe_chars.
10128 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10129 safe_charsets member of the coding system.
10130 (decode_coding_iso2022): New local variable safe_chars.
10131 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10132 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10133 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10134 (ENCODE_UNSAFE_CHARACTER): New macro.
10135 (encode_coding_iso2022): New local variable safe_chars. Check
10136 unsafe chars.
10137 (setup_coding_system): Delete the code to initialize
10138 coding->safe_charses
10139 (intersection, find_safe_codings): New functions.
10140 (Ffind_coding_systems_region_internal): New function.
10141 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10142 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10143 variable and initialize it.
10144
10145 * fns.c (char_table_ref_and_index): New function.
10146
10147 * lisp.h (char_table_ref_and_index): Add prototype.
10148
34a7a267
SS
101492000-07-26 Sam Steingold <sds@gnu.org>
10150
10151 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10152 (Ffloat_time): New built-in Lisp function.
34a7a267 10153
a95cb10a
GM
101542000-07-26 Gerd Moellmann <gerd@gnu.org>
10155
3353ef5a
GM
10156 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10157 for the character code.
10158
10159 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10160 GNU/Linux.
10161
a95cb10a
GM
10162 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10163 if called for a popup menu.
10164 (xmenu_show): Store help string in widget values.
10165
b4a12321
DL
101662000-07-26 Dave Love <fx@gnu.org>
10167
10168 * syswait.h: Move some definitions.
10169 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10170 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10171 perspicuous definitions.
10172 (WTERMSIG): Fix bit pattern used.
10173
13f5ad37
KH
101742000-07-26 Kenichi Handa <handa@etl.go.jp>
10175
10176 * print.c (print_object): If vector printing is truncated, print
10177 "..." to indicate it as well as the case of list printing.
10178
070fe99c
GM
101792000-07-25 Gerd Moellmann <gerd@gnu.org>
10180
969065c3
GM
10181 * xdisp.c (next_element_from_display_vector): Improve comments.
10182
10183 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10184 for the character code, and the rest for the face id as in 20.x.
10185 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10186
10187 * window.c (window_display_table): Cleaned up.
10188
070fe99c
GM
10189 * syntax.c (Fforward_word): Add last arg nil in call of
10190 Fconstrain_to_field.
10191
bad77ef7
EZ
101922000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10193
969065c3 10194 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10195 identical but for the letter-case, don't call
10196 barf_or_query_if_file_exists.
bad77ef7 10197
c28da489
MB
101982000-07-25 Miles Bader <miles@gnu.org>
10199
10200 * editfns.c (find_field): Honor special `boundary' fields.
10201 (Qboundary): New variables.
10202 (syms_of_editfns): Initialize Qboundary.
10203 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10204 Use scan_buffer instead of find_before_next_newline, because it
10205 allows us to detect the boundary case where there's a newline at
10206 the search limit.
10207 * lisp.h (Fconstrain_to_field): Update external declaration.
10208
e3c31fd5
GM
102092000-07-24 Gerd Moellmann <gerd@gnu.org>
10210
10211 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10212 if that is nil.
c28da489 10213
c66c29a2
DL
102142000-07-24 Dave Love <fx@gnu.org>
10215
10216 * s/sunos4-0.h, s/sol2.h:
10217 (LIBS_TERMCAP): Move from m/sparc.h.
10218
10219 * m/sparc.h (TERMINFO): Moved to system files (probably only
10220 relevant for sunos4 judging by its vintage).
10221 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10222 __arch64__.
10223
fbe0a958
EZ
102242000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10225
10226 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10227 name to single_keymap_panes.
10228
7d88e5c9
AS
102292000-07-24 Andreas Schwab <schwab@suse.de>
10230
10231 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10232
e024b101
GM
102332000-07-24 Gerd Moellmann <gerd@gnu.org>
10234
10235 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10236 parameters instead of using int parameters. Expect FN to accept
10237 EMACS_INT parameters.
10238 (display_echo_area, resize_echo_area_axactly, current_message)
10239 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10240 with new argument list.
10241 (resize_mini_window_1): New callback function.
10242 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10243 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10244
25c1a9ce
KH
102452000-07-24 Kenichi Handa <handa@etl.go.jp>
10246
10247 * fontset.c (fontset_ref): Remove INLINE declaration.
10248 (fontset_ref_via_base): Likewise.
10249 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10250 to downcase.
10251
7f987ac0
EZ
102522000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10253
10254 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10255 correct order of priority. If help echo was found in an overlay,
10256 use that overlay as the object in which the help echo was found.
10257
e2db3069
MB
102582000-07-22 Miles Bader <miles@gnu.org>
10259
10260 * textprop.c (Fprevious_single_char_property_change): The initial
10261 property value should be from the position preceding POSITION, not
10262 following it.
10263
5e3203e4
EZ
102642000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10265
10266 * coding.c (syms_of_coding): Doc fix for
10267 inhibit-iso-escape-detection.
10268
62145073
GM
102692000-07-21 Gerd Moellmann <gerd@gnu.org>
10270
c20aeb83
GM
10271 * xterm.c (note_mouse_highlight): Process overlays in the right
10272 order of priority.
34a7a267 10273
743934db
GM
10274 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10275
10276 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10277 overlay, use that overlay as the object in which the help was found.
743934db 10278
d1dc7e43 10279 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10280
62145073
GM
10281 * window.c (foreach_window): Instead of a fake variable argument
10282 list, take one USER_DATA argument.
10283 (foreach_window_1): Likewise, and call callback functions with two
10284 args, the window and USER_DATA.
10285 (struct check_window_data): New struct.
10286 (check_window_containing): Use it.
10287 (window_from_coordinates): Set up a struct check_window_data for
10288 foreach_window.
10289 (add_window_to_list, freeze_window_start): Change parameters
10290 according to new calling convention.
10291
10292 * window.h (foreach_window): Change prototype.
10293
10294 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10295
102962000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10297
10298 * xmenu.c (menu_help_callback): Call show_help_echo with
10299 additional arguments OBJECT and POS.
10300
11270583
KH
103012000-07-21 Kenichi Handa <handa@etl.go.jp>
10302
07b14857
KH
10303 * data.c (Faset): Allow storing any multibyte character in a
10304 string. Convert unibyte string to multibyte if necessary.
10305
11270583
KH
10306 * xfns.c (x_encode_text): New function.
10307 (x_set_name): Use x_encode_text.
10308 (x_set_title): Likewise.
10309
10310 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10311
10312 * xterm.h (x_encode_text): Add prototype.
10313
bc75b4fd
DL
103142000-07-20 Dave Love <fx@gnu.org>
10315
10316 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10317 xfree, not free.
10318
48c14970
EZ
103192000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10320
10321 * msdos.c (help_echo_window): New variable.
10322 (syms_of_msdos): Initialize and staticpro it.
10323 (IT_note_mode_line_highlight): Set help_echo_window.
10324 (IT_note_mouse_highlight): Ditto.
10325 (dos_rawgetc): Store help_echo_window in the second event produced
10326 for HELP_EVENTs.
10327
10328 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10329 Record the object that generated the help echo and the position of
10330 that object in help_echo_object and help_echo_pos. Record that
10331 some glyphs in a row are displayed in mouse-face.
10332 (IT_update_begin): Don't clear mouse highlight unless one of the
10333 enabled glyph rows is marked as being displayed in mouse-face.
10334 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10335 and position recorded in help_echo_object and help_echo_pos to the
10336 event queue.
10337 (IT_menu_display): Accept a new argument PN: the pane number of
10338 the current menu pane. Record the pane number and the item
10339 number of the item which has associated help string.
10340 (XMenuActivate): Update the prototype for help_callback in
10341 function declaration. Call IT_menu_display with the current menu
10342 pane number as an additional argument. Call help_callback with
10343 two additional arguments: the pane number and the item number of
10344 the menu item associated with the help text.
10345 (help_echo_object, help_echo_pos): New variables.
10346 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10347
10348 * msdos.h (XMenuActivate): Update prototype.
10349
4279296d
GM
103502000-07-19 Gerd Moellmann <gerd@gnu.org>
10351
47db06aa
GM
10352 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10353 Add some more prototypes.
10354
10355 * xterm.c, xterm.h: Add some more prototypes.
10356
10357 * lisp.h (Fnext_single_char_property_change): Add prototype.
10358
10359 * dispnew.c (direct_output_for_insert): Remove confusing
10360 outer local variable mouse_face_overwritten_p.
10361 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10362
4279296d
GM
10363 * alloc.c (allocate_string_data): Don't copy old string contents.
10364
670acd62
KH
103652000-07-19 Kenichi Handa <handa@etl.go.jp>
10366
10367 * coding.c (code_convert_region): Delete text properties before
10368 shrinking the conversion region.
10369
7cea38bc
GM
103702000-07-18 Gerd Moellmann <gerd@gnu.org>
10371
dc1cac59
GM
10372 * dispnew.c (update_text_area): Write the whole row if it
10373 has mouse-face in it.
10374
85a8aca9
GM
10375 * xfaces.c (face-alternative-font-family-alist): Remove
10376 DEFVAR_LISP; staticpro instead.
10377
34a7a267 10378 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10379 new arguments.
10380
10381 * keyboard.c (show_help_echo): Add parameter WINDOW.
10382 (read_char): Call show_help_echo with window extracted from Lisp
10383 help event.
10384 (gen_help_event): Add parameter WINDOW.
10385
10386 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10387
10388 * xterm.c (help_echo_window): New variable.
52283633 10389 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10390 (XTread_socket): Pass help_echo_window to gen_help_event.
10391 (syms_of_xterm): Initialize and staticpro help_echo_window.
10392
f8276b77
DL
103932000-07-18 Dave Love <fx@gnu.org>
10394
52283633 10395 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10396
088831a6
GM
103972000-07-18 Gerd Moellmann <gerd@gnu.org>
10398
3d6cd763
GM
10399 * alloc.c (allocate_string_data): If string had already data
10400 assigned, copy old contents to new string data.
10401
10402 * coding.c (syms_of_coding): Fix typo in spelling of variable
10403 `inhibit-iso-escape-detection'.
10404
088831a6
GM
10405 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10406
10407 * Makefile.in: Add dependencies on dispextern.h.
10408 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10409 `free'; both can conflict with system header files.
10410
bc8a8d55
KH
104112000-07-18 Kenichi Handa <handa@etl.go.jp>
10412
10413 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10414 undefined.
10415
069f5950
DL
104162000-07-18 Dave Love <fx@gnu.org>
10417
10418 * window.c (Fwindow_list): Declare arg `window'.
10419
aa96c820
KH
104202000-07-18 Kenichi Handa <handa@etl.go.jp>
10421
10422 * coding.c (setup_coding_system): Don't override the explicitly
10423 specified designations.
10424
06be8d32
MB
104252000-07-15 Miles Bader <miles@gnu.org>
10426
10427 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10428 from `text_property_eq' and `text_property_stickiness', respectively.
10429 (find_field, Fconstrain_to_field, char_property_eq)
10430 (char_property_stickiness): Changed to call char-property functions
10431 instead of text-property-only ones.
10432
10433 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10434 `next_single_char_property_change'). Do more error checking, and
10435 cleanup limit behavior.
10436 (Fprevious_single_char_property_change): New function.
10437 (syms_of_textprop): Initialize new subrs.
10438
10439 * xdisp.c (display_prop_end, invisible_text_between_p):
10440 Call Fnext_single_char_property_change instead of
10441 next_single_char_property_change.
10442
3fddcdc3
JR
104432000-07-15 Jason Rumney <jasonr@gnu.org>
10444
10445 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10446 after menu is finished with.
10447 (add_menu_item): Only consider wv->title as a menu title.
10448 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10449
10450 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10451 null title.
10452 (FONT_REGEXP): Remove unused macro, and its sub-components.
10453 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10454
10455 * w32term.c (help_echo_object, help_echo_pos): New variables.
10456 (note_mode_line_highlight): Store additional information about the
10457 help-echo in help_echo_object and help_echo_pos. Check both
10458 `local-map' and `keymap' properties for changing the cursor
10459 (note_mouse_highlight): Store additional information about the
10460 help-echo in help_echo_object and help_echo_pos.
10461 (note_tool_bar_highlight): Set help_echo_object to nil and
10462 help_echo_pos to -1.
10463 (w32_read_socket): Use gen_help_event instead of filling
10464 input_events manually.
10465 (syms_of_w32term): Staticpro help_echo_object.
10466 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10467 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10468 (x_clear_mouse_face): New function.
10469 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10470 (x_update_window_begin): No need to turn off the mouse
10471 highlight here.
10472 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10473 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10474 (x_fill_stretch_glyph_string): Consume runs of stretch
10475 glyphs instead of a single one.
10476 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10477 with new argument list.
10478 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10479 (x_append_glyph, x_append_composite_glyph)
10480 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10481 changes in struct glyph starting 1999-12-27. See comments for
10482 xterm.c on 2000-07-05.
10483
178c5d9c
SS
104842000-07-14 Sam Steingold <sds@gnu.org>
10485
10486 * xfaces.c (realize_x_face): Fix the last patch:
10487 check `default_face' before dereferencing.
10488
6fe533f6
DL
104892000-07-14 Dave Love <fx@gnu.org>
10490
069f5950 10491 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10492
dd7b81cf
KH
104932000-07-14 Kenichi Handa <handa@etl.go.jp>
10494
0693904a 10495 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10496 default_face's fontset, not using the default fontset.
0693904a 10497
dd7b81cf
KH
10498 * coding.c (inhibit_iso_escape_detection): New variable.
10499 (syms_of_coding): Make it a Lisp variable.
10500 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10501 nonzero, ignore ISO2022's escape sequence.
10502
d5aa31d8
GM
105032000-07-14 Gerd Moellmann <gerd@gnu.org>
10504
e5acf0ca
GM
10505 * alloca.c (malloc) [emacs]: Define as xmalloc.
10506
bd23a692
GM
10507 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10508 use that instead of the mouse position. Add parameters DX and DY.
10509
10510 * dispextern.h (Fx_show_tip): Adjust number of parameters
10511 in prototype.
10512
9662da0b
GM
10513 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10514 if HELP is a function, call it with OBJECT and POS as parameters
10515 to get the help to display.
10516 (gen_help_event, kbd_buffer_store_help_event): New functions.
10517 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10518 (read_char): Call show_help_echo with new parameters.
10519
178c5d9c 10520 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10521 Add prototypes.
10522
10523 * xterm.c (help_echo_object, help_echo_pos): New variables.
10524 (note_mode_line_highlight): Store additional information about the
10525 help-echo in help_echo_object and help_echo_pos. Check both
10526 `local-map' and `keymap' properties for changing the cursor
10527 (note_mouse_highlight): Store additional information about the
10528 help-echo in help_echo_object and help_echo_pos.
10529 (note_tool_bar_highlight): Set help_echo_object to nil and
10530 help_echo_pos to -1.
10531 (XTread_socket): Use gen_help_event instead of filling
10532 input_events manually.
10533 (syms_of_xterm): Staticpro help_echo_object.
10534
10535 * xmenu.c (menu_highlight_callback): Use
10536 kbd_buffer_store_help_event instead of setting up and input_event
10537 structure manually.
10538
10539 * xdisp.c (eval_form): GCPRO argument sexpr.
10540 (call_function): New function.
10541 (handle_single_display_prop): Use call_function and FUNCTIONP
10542 instead of checking whether if font_height is a symbol and
10543 using eval_form.
10544
10545 * eval.c (internal_condition_case_2): New function.
10546
10547 * lisp.h (FUNCTIONP): New macro.
10548 (internal_condition_case_2, call_function): Add prototypes.
10549
d5aa31d8
GM
10550 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10551 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10552 Always set `arg' member of input_events.
10553 (construct_menu_click): Unused function removed.
10554
10555 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10556
10557 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10558 (construct_drag_n_drop, x_scroll_bar_handle_click)
10559 (w32_read_socket): Always set `arg' member of input_events.
10560
10561 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10562
10563 * lisp.h (eval_form): Add prototype.
10564
10565 * xdisp.c (eval_form): Make it externally visible.
10566
0f1a9b23
GM
105672000-07-13 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10570 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10571 consing. For prefix events, store the frame in the `arg' slot of
10572 the event, otherwise store the key there.
10573 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10574 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10575
10576 * xmenu.c (menu_highlight_callback): Store help string in the
10577 `arg' member of the input event; don't cons.
10578 (menubar_selection_callback): Use the `arg' slot of input events
10579 to queue additional information, instead of consing.
10580
10581 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10582
10583 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10584 TOOL_BAR_EVENTs.
10585 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10586
10587 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10588 input events to queue additional information, instead of consing.
10589
10590 * keyboard.c (kbd_buffer_gcpro): Renamed from
10591 kbd_buffer_frame_or_window. Now used for all Lisp objects
10592 referenced from the input queue.
10593 (kbd_buffer_store_event): Always use structure assignment for
10594 copying input events. Record all Lisp objects referenced from
10595 events in kbd_buffer_gcpro.
10596 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10597 differently from input events. Test for prefix menu_bar_events
10598 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10599 event in kbd_buffer_gcpro to nil.
10600 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10601 frame_or_window is equal to its arg member as prefix events.
10602 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10603 used by an input event to nil.
10604 (init_keyboard): Use two times the size of the input queue
10605 for kbd_buffer_gcpro.
10606 (syms_of_keyboard): Likewise.
10607
52283633
SM
10608 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10609 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10610
10611 * termhooks.h (struct input_event): Add member `arg'.
10612 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10613 (USER_SIGNAL_EVENT): Renamed from user_signal.
10614
10615 * xfaces.c (ASET): Remove definition.
10616
10617 * lisp.h (AREF, ASET, ASIZE): New macros.
10618
10619 * fontset.c (AREF, ASIZE): Remove definitions.
10620
10621 * fns.c (AREF): Remove definition.
178c5d9c 10622
0f1a9b23
GM
10623 * composite.c (AREF): Remove definition.
10624
712eaef2
GM
106252000-07-12 Gerd Moellmann <gerd@gnu.org>
10626
d8ee7803
GM
10627 * dispnew.c (redraw_overlapped_rows): Add missing local.
10628 (scrolling_window): Remove debug code.
10629
712eaef2
GM
10630 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10631 Before scrolling, turn off a mouse-highlight in the window
10632 being scrolled.
10633
10634 * xterm.c (x_update_window_end): Add parameter
10635 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10636 redisplay in XTframe_up_to_date.
10637 (x_clear_mouse_face): New function.
10638 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10639
10640 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10641 current glyph row.
10642 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10643 it when any row is written to that contains glyphs highlighted in
10644 mouse-face.
10645 (update_window): Call the window update end hook with new
10646 parameter MOUSE_FACE_OVERWRITTEN_P.
10647 (direct_output_for_insert): Give up if row contains mouse-face.
10648
10649 * dispextern.h (struct redisplay_interface): Add parameter
10650 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10651 (clear_mouse_face): New function pointer member.
10652
02010917
SM
106532000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10654
10655 * syntax.c (back_comment): Use one switch rather than a few `if's.
10656 Obey open_paren_in_column_0_is_defun_start.
10657 When reverting to the `slow' method, try to nicely handle the case
10658 of nested comments by checking that the comment-starter we found
10659 does indeed match the comment-ender.
10660 (scan_sexps_forward, scan_sexps_forward):
10661 Ignore excessive opening parenthesis rather than throwing an error.
10662
d76c03ea
GM
106632000-07-11 Gerd Moellmann <gerd@gnu.org>
10664
10665 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10666 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10667
10668 * dispnew.c (direct_output_forward_char): Give up if currently
10669 displaying a message instead of the minibuffer contents.
10670
10671 * xterm.c (x_update_window_begin): No need to turn off the mouse
10672 highlight here.
10673 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10674 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10675
10676 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10677 compare the mouse_face_p flags of both rows.
10678
10679 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10680
d55ead18
EZ
106812000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10682
10683 * keyboard.c (show_help_echo): Accept additional parameter
10684 ok_to_overwrite_keystroke_echo.
10685 (read_char): Call show_help_echo with a zero
10686 ok_to_overwrite_keystroke_echo argument.
52283633 10687 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10688 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10689 ok_to_overwrite_keystroke_echo argument.
10690 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10691 non-zero ok_to_overwrite_keystroke_echo argument.
10692
df75b1a3
GM
106932000-07-10 Gerd Moellmann <gerd@gnu.org>
10694
4b92c49a
GM
10695 * xdisp.c (try_window_id): If changes are all below what is
10696 displayed in the window, and point is in the window, we still
10697 might have to find point on the display.
10698
10699 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10700 glyphs instead of a single one.
10701 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10702 with new argument list.
10703 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10704
df75b1a3
GM
10705 * keymap.c (get_keymap_1): Add comment that this function can GC.
10706 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10707 comment that functions can GC.
10708 (Fset_keymap_parent): GCPRO arg KEYMAP.
10709
4314cf3e
EZ
107102000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10711
10712 * msdos.c (XMenuActivate): After exiting the menu, restore the
10713 echo area message and erase it.
10714
ab49ce15
KH
107152000-07-10 Kenichi Handa <handa@etl.go.jp>
10716
10717 * fontset.c (Ffontset_info): Make the return value more compatible
10718 with that of Emacs 20.
10719
090a072f
GM
107202000-07-07 Gerd Moellmann <gerd@gnu.org>
10721
10722 * eval.c (Fsignal): Handle case that backtrace_list is null.
10723
f92de4a6
KH
107242000-07-07 Kenichi Handa <handa@etl.go.jp>
10725
10726 * ccl.c (Fccl_execute): Typo fixed.
10727
dd8888a1
GM
107282000-07-06 Gerd Moellmann <gerd@gnu.org>
10729
e5c81191 10730 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10731
dd8888a1
GM
10732 * window.c (Fwindow_list): Reverse list at the end.
10733 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10734 means allow windows on OWINDOW's frame, only.
10735 (window_loop): Simplified; use Fwindow_list.
10736
10737 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10738
485266d0
GM
107392000-07-05 Gerd Moellmann <gerd@gnu.org>
10740
10741 * xterm.c (XTread_socket): Increment handling_signal at the start,
10742 decrement it at the end.
10743
10744 * eval.c (handling_signal): New variable.
10745 (Fsignal): Abort if handling_signal is non-zero.
10746
10747 * lisp.h (handling_signal): External declaration.
178c5d9c 10748
485266d0
GM
10749 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10750
80fcd514
KR
107512000-07-05 Ken Raeburn <raeburn@gnu.org>
10752
10753 Sound support for NetBSD through "Linux emulation" support:
10754 * config.in (HAVE_SOUNDCARD_H): Undef.
10755 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10756 * Makefile.in (LIBSOUND): New variable.
10757 (LIBES): Include it.
52283633
SM
10758 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10759 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10760 (vox_open): Use DEFAULT_SOUND_DEVICE.
10761 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10762
d5c5cddd
GM
107632000-07-05 Gerd Moellmann <gerd@gnu.org>
10764
10765 * print.c (print_error_message): If Vsignaling_function is set,
10766 show it in *Messages*.
10767
10768 * lisp.h (Vsignaling_function): External declaration.
10769
10770 * eval.c (Vsignaling_function): New variable.
10771 (Fsignal): Compute it.
10772 (syms_of_eval): Staticpro it.
10773
65171e3a
DL
107742000-07-05 Dave Love <fx@gnu.org>
10775
10776 * syswait.h: Use the autoconf recommended approach. Old code
10777 #if'd out in case we need to revert.
10778
178c5d9c 10779 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10780
e2c46326
AI
107812000-07-05 Andrew Innes <andrewi@gnu.org>
10782
10783 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10784 when non-NULL instead of __morecore, to take account of buffer
10785 memory. This also solves a problem with spurious memory warnings
10786 on Windows.
10787
10788 * ralloc.c: Make real_morecore non-static.
10789
10790 * eval.c (internal_condition_case): Comment out abort if
10791 interrupt_input_blocked is not zero.
10792
10793 * makefile.nt: Add support for `bootstrap' and related targets.
10794 Include minimal debug info in emacs.exe in release build.
10795 Remove all dependencies on lisp.h, and fixup some others.
10796
10797 * w32.c (init_environment): Install code from 20.7 for providing
10798 default values for environment variables, based on the
10799 executable's own location.
52283633 10800 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10801 (sys_socket): Install socket inheritance bug fix from 20.7.
10802
10803 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10804 here via blockinput.h).
10805
a027a91b
SM
108062000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10807
e4b31601
SM
10808 * w32menu.c (w32_menu_display_help):
10809 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10810
10811 * keyboard.h (show_help_echo): Declare.
10812
10813 * keyboard.c (show_help_echo): New function, extracted from read_char.
10814 Feval its `msg' argument if it's a cons cell.
10815 (read_char): Use it.
4cf8d9d5 10816 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10817
178c5d9c 10818 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10819 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10820 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10821 (dos_rawgetc):
10822 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10823 (note_tool_bar_highlight, w32_read_socket):
10824 Do not gratuitously ignore non-string `help-echo' properties.
10825
88d75730
GM
108262000-07-05 Gerd Moellmann <gerd@gnu.org>
10827
969f7e79
GM
10828 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10829
71201b00
GM
10830 * window.c (delete_all_subwindows): Reset Vwindow_list.
10831
88d75730
GM
10832 * xterm.c (x_append_glyph, x_append_composite_glyph)
10833 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10834 changes in struct glyph starting 1999-12-27. Some bit-fields of
10835 struct glyph were not set, which made glyphs unequal when compared
10836 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10837 effects were the result. This also depended on the contents of
10838 memory returned by xmalloc. If flickering happens again, activate
10839 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10840 gone with that, chances are that it is caused by something similar.
88d75730
GM
10841
10842 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10843
88d75730
GM
10844 * dispextern.h: Add some comments.
10845
10846 * window.c (add_window_to_list): Add parameter LIST.
10847 (window_list): Order list so that, for each frame, windows are
10848 in canonical order, and so that frames appear in the list in
10849 the order given by Vframe_list.
10850 (next_window): Reverse the handling of NEXT_P.
10851
53654733
GM
108522000-07-04 Gerd Moellmann <gerd@gnu.org>
10853
87efd256
GM
10854 * window.c (Vwindow_list): New variable.
10855 (make_window, delete_window): Set Vwindow_list to nil.
10856 (check_window_containing): New function.
10857 (window_from_coordinates): Rewritten.
10858 (add_window_to_list, window_list, candidate_window_p)
10859 (decode_next_window_args, next_window): New functions.
52283633 10860 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10861 (Fwindow_list): New function.
10862 (Fother_window): Cleaned up.
10863 (foreach_window): Add a longer "variable argument list". Let
10864 callback function return 0 to indicate that cycling over windows
10865 should stop.
10866 (foreach_window_1): Likewise.
10867 (freeze_window_start): Return int.
10868 (init_window): New function.
10869 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10870
10871 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10872 input_event with bzero.
10873 (main): Call init_window.
10874
53654733
GM
10875 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10876 a menu filter.
10877
4a8c194f
KH
108782000-07-04 Kenichi Handa <handa@etl.go.jp>
10879
10880 * composite.h (make_composition_value_copy): Extern it.
10881
10882 * composite.c (make_composition_value_copy): New function.
10883
10884 * editfns.c (Fformat): While copying text properties, make each
10885 composition property value a copy.
10886
10887 * fns.c (concat): While copying text properties, make each
10888 composition property value a copy.
10889
831a6cb0
GM
108902000-07-03 Gerd Moellmann <gerd@gnu.org>
10891
2f516940
GM
10892 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10893
178c5d9c 10894 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10895 marked already.
10896
831a6cb0
GM
10897 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10898 include those frames as candidates which have their focus
10899 redirected to the minibuffer frame.
10900
d9c4f922
SM
109012000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10902
10903 * fns.c (Fputhash): Return `value' rather than nil.
10904
3780bc22
GM
109052000-06-30 Gerd Moellmann <gerd@gnu.org>
10906
97d176db
GM
10907 * frame.c (next_frame): Don't check focus redirection in case
10908 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10909 unless their focus is redirected, which contradicts the
10910 specification of next-frame, and leads to infinite loops in
10911 certain situations when cycling through windows with next-window.
10912
dca9961d
KH
109132000-06-30 Kenichi Handa <handa@etl.go.jp>
10914
10915 * coding.c (code_convert_region): Even if the length of text is
10916 zero, try to convert it if coding->type is coding_type_ccl.
10917 (decode_coding_string, encode_coding_string): Likewise.
10918
d5483ab1
GM
109192000-06-28 Gerd Moellmann <gerd@gnu.org>
10920
af5c25e1 10921 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10922 the display if windows_or_buffers_changed.
af5c25e1
GM
10923
10924 * dispnew.c (struct row_entry): New structure.
10925 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10926 (row_table_size, old_lines, new_lines, old_lines_size)
10927 (new_lines_size, run_pool, runs_size, runs): New variables.
10928 (add_row_entry): New function.
10929 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10930 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10931 holding them in local variables. Use a larger hash table whose
10932 size depends on glyph matrix sizes. Don't use bzero to clear the
10933 hash table; instead, clear used slots only.
10934
10935 * fns.c (next_almost_prime): Make it externally visible.
10936
10937 * lisp.h (next_almost_prime): Add prototype.
10938
d5483ab1
GM
10939 * s/isc4-0.h (sigunblock): Define.
10940
10941 * s/sco5.h (sigunblock): Define.
10942
93e40f40
DL
109432000-06-27 Dave Love <fx@gnu.org>
10944
10945 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10946 (moved to osf5-0.h).
10947 [!NOT_C_CODE]: Protect string.h stuff.
10948
10949 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10950 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10951
3c4b7685
GM
109522000-06-27 Gerd Moellmann <gerd@gnu.org>
10953
97d176db 10954 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10955 below the last line from the needed window height.
10956
32cad0aa
SM
109572000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10958
10959 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10960 (Fwidget_get): Use it.
10961 (syms_of_fns): Defsubr it.
10962
2c69ced2
GM
109632000-06-26 Gerd Moellmann <gerd@gnu.org>
10964
178c5d9c 10965 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10966 display info for XIM.
10967 (xim_open_dpy): Likewise.
10968 (xim_close_dpy): Don't free the display info's XIM.
10969
10970 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10971
10972 * config.in (USE_XIM): New define.
10973
3fc720e4
GM
10974 * keymap.c (get_keyelt): For menu-items containing a `:filter
10975 FILTER', apply FILTER to the menu-item's definition to get the
10976 real definition to use.
10977
10978 * lisp.h (QCfilter): External declaration.
10979
2c69ced2
GM
10980 * xfns.c (Fimage_size): New function.
10981 (syms_of_xfns): Defsubr it.
10982
f978b2a2
AS
109832000-06-26 Andreas Schwab <schwab@suse.de>
10984
10985 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10986 Fstring_as_unibyte.
10987
94cc7892
DL
109882000-06-25 Dave Love <fx@gnu.org>
10989
52283633 10990 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10991
10992 * Makefile.in (blockinput.h): Depend on atimer.h.
10993 (atimer.h): Depend on systime.h.
10994
52283633 10995 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10996
52283633 10997 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10998
10999 * lisp.h (swap_in_global_binding): Declare.
11000
b8c24556
KR
110012000-06-24 Ken Raeburn <raeburn@gnu.org>
11002
11003 * process.c (Fopen_network_stream): Turn off atimers for duration
11004 of call to connect. (Patch from Gerd.)
11005
8cf8560b
DL
110062000-06-23 Dave Love <fx@gnu.org>
11007
511c7541
DL
11008 * ralloc.c: Maybe include unistd.h
11009
8cf8560b
DL
11010 * emacs.c (setgrp): Undefine before defining.
11011 (malloc_warning, set_time_zone_rule, index): Prototype.
11012
11013 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11014 HAVE_STRUCT_TIMEZONE.
11015
11016 * s/osf1.h: Move string.h hack here from alpha.h and make it
11017 conditional.
11018 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11019 _XOPEN_SOURCE.
11020 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11021 (SOCKLEN_TYPE): Don't define.
11022
11023 * m/alpha.h: Remove string.h hack.
11024
11025 * s/osf5-0.h: New file.
11026
11027 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11028 include time.h, done by systime.h.
11029 [__FreeBSD__]: Remove redundant includes.
11030
3fc720e4 11031 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11032 (delete_temp_file): Return Qnil to avoid warning.
11033
11034 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11035
11036 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11037 HAVE_X_WINDOWS.
11038
11039 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11040
11041 * composite.h (compose_text): Declare.
11042
11043 * xterm.c: Don't include sys/types.h unconditionally. Don't
11044 protect its inclusion with !USG (following xmenu.c).
11045
ea055732
GM
110462000-06-23 Gerd Moellmann <gerd@gnu.org>
11047
11048 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11049 in x_create_frame.
11050
74b01b80
EZ
110512000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11052
11053 * coding.c (decode_eol_post_ccl): Special handling for undecided
11054 and inconsistent EOL types.
11055
64f3a166
GM
110562000-06-22 Gerd Moellmann <gerd@gnu.org>
11057
16cf31f7
GM
11058 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11059 trough color and main window's background color.
11060
52283633 11061 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11062
11063 * xterm.h (Xt_app_con): External declaration.
11064
11065 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11066
486a103d
GM
11067 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11068
64f3a166
GM
11069 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11070 (handle_invisible_prop): Record the start of invisible text in
11071 it->add_overlay_start.
11072 (struct overlay_entry): Add member `overlay'.
11073 (handle_overlay_change): Simplify.
11074 (next_overlay_string): After having processed overlay strings at the
11075 end of the buffer, record that fact in
11076 it->overlay_strings_at_end_processed_p.
11077 (compare_overlay_entries): If before- and after-strings come
11078 from the same overlay, let before-strings come first.
11079 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11080 (load_overlay_strings): Take it->add_overlay_start into account
11081 when adding overlay strings.
11082
11083 * dispextern.h (struct it): Add member add_overlay_start.
11084
bb746ea6
DL
110852000-06-22 Dave Love <fx@gnu.org>
11086
11087 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11088
11089 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11090
a8f573f3
KH
110912000-06-22 Kenichi Handa <handa@etl.go.jp>
11092
11093 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11094 is greater than 0.
11095
9f2bbc92
DL
110962000-06-21 Dave Love <fx@gnu.org>
11097
178c5d9c 11098 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11099
3ee5041c
SM
111002000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11101
11102 * syntax.c (back_comment): Simplify string-parity counting (with
11103 the added benefit of handling multiple string-styles as long as
11104 they are not intertwined).
11105 Jump to the slow code as soon as a comment starter is found in
11106 a "string_lossage" position. Fixes the case: " /* " /* " */.
11107
4c343001
DL
111082000-06-21 Dave Love <fx@gnu.org>
11109
11110 * Makefile.in: Use GETLOADAVG_LIBS.
11111
11112 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11113 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11114
e6365855
SM
111152000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11116
11117 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11118 (Fforward_comment, scan_lists):
11119 Check the comstyle of single-char comment-starters.
11120 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11121 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11122 Check the comstyle of single-char comment-starters.
11123 Clarify control-flow around the Scomment case.
e6365855 11124
5700d2cc
DL
111252000-06-20 Dave Love <fx@gnu.org>
11126
d355bd8a
SM
11127 * fns.c (make_hash_table, maybe_resize_hash_table):
11128 Cast arg of next_almost_prime.
5700d2cc 11129
178c5d9c 11130 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11131
11132 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11133 and unistd.h.
11134
4a27bdfb
GM
111352000-06-20 Gerd Moellmann <gerd@gnu.org>
11136
a61d762c 11137 * keyboard.c (adjust_point_for_property): Check if display
52283633 11138 property should be treated as intangible by looking at its value.
a61d762c 11139
178c5d9c 11140 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11141 (display_prop_intangible_p): New functions.
11142
11143 * dispextern.h (display_prop_intangible_p): Add prototype.
11144
11145 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11146
4a27bdfb
GM
11147 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11148 argument to sigprocmask.
11149
11150 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11151 argument to sigprocmask.
11152
11153 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11154 sigprocmask_set, and pass a pointer to it to sigprocmask.
11155
11156 * sysdep.c (sigprocmask_set): New variable.
11157
11158 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11159 report_file_error.
11160
427ec082
SS
111612000-06-20 Sam Steingold <sds@gnu.org>
11162
11163 * xrdb.c: Don't declare xmalloc, xrealloc.
11164
8972fe79 111652000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11166
11167 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11168 (re_comp): Cast gettext return value to avoid complaints when
11169 !HAVE_LIBINTL.
11170
074b6efe
DL
111712000-06-20 Dave Love <fx@gnu.org>
11172
52283633 11173 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11174
5700d2cc 11175 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11176
d355bd8a 11177 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11178
11179 * m/alpha.h: Don't declare xmalloc, xrealloc.
11180
0af4f205
DL
11181 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11182
11183 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11184
11185 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11186
11187 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11188 HAVE_GETWD.
11189
074b6efe
DL
11190 * keyboard.h (poll_for_input_1): Declare.
11191
11192 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11193
11194 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11195
11196 * doprnt.c: Don't declare xmalloc, xrealloc.
11197
11198 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11199 (getenv, ctime, getwd): Removed.
11200 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11201
11202 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11203 x_set_tool_bar_lines.
11204
11205 * config.in: Add HAVE_GETWD. Move some definitions above
11206 machine/system includes.
11207
68a5e97b
KH
112082000-06-20 Kenichi Handa <handa@etl.go.jp>
11209
95417e1e
KH
11210 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11211
68a5e97b
KH
11212 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11213 contain information about ENCODING.
11214
11215 * fontset.c (FONTSET_ASCII): Use the first element of char table
11216 for an ASCII font, not defalt slot.
11217 (fontset_ref_via_base): If FONTSET doesn't contain information for
11218 C, try the default fontset.
11219 (make_fontset): Don't copy the default fontset.
11220 (fontset_font_pattern): Likewise.
11221 (accumulate_font_info): If ELT is nil, use the corresponding
11222 element in the default fontset.
11223
3b4fa1b2
DL
112242000-06-19 Dave Love <fx@gnu.org>
11225
943e731c
DL
11226 * syntax.c (Fparse_partial_sexp): Doc fix.
11227
11228 * regex.h: Test PROTOTYPES as well as __STDC__.
11229
3b4fa1b2
DL
11230 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11231 errno, strerror. Put text after #endif in comment.
11232
52283633 11233 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11234
11235 * xterm.c (x_frame_of_widget): Likewise.
11236
cdf0357b
GM
112372000-06-19 Gerd Moellmann <gerd@gnu.org>
11238
11239 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11240 to Vfundamental_mode_abbrev_table.
11241
11242 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11243 bogus objects are marked. This slows down GC by ~80 percent, but
11244 it might be worth trying when debugging GC-related problems.
11245 This feature requires conservative stack marking to be enabled.
11246
11247 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11248 returns XLookupChars, reset `modifiers' to zero.
11249
998e9f8c
DL
112502000-06-19 Dave Love <fx@gnu.org>
11251
11252 * mktime.c: Unprotoized.
11253
18e21ce8 112542000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11255
11256 * data.c (set_internal): If variable is frame-local,
11257 store the new value immediately into the frame parameter alist.
11258
140c4ac6
KR
112592000-06-19 Ken Raeburn <raeburn@gnu.org>
11260
14358466
KR
11261 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11262 in the custom handler pointer.
11263
140c4ac6
KR
11264 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11265 value, or checks for CHAR_META can fail when Lisp_Object is a
11266 union type.
11267 * keymap.c (get_keyelt): Likewise.
11268
10d7bf84
KH
112692000-06-19 Kenichi Handa <handa@etl.go.jp>
11270
11271 * ccl.h (struct ccl_program): New member eol_type.
11272 (struct ccl_spec): New member cr_carryover.
11273
11274 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11275 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11276
11277 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11278 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11279 (decode_eol_post_ccl): New function.
11280 (decode_coding): Don't detect EOL format here for CCL based coding
11281 systems.
11282 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11283 decode_eol_post_ccl after running the CCL program.
11284 (code_convert_region): Don't detect EOL format here for CCL based
11285 coding systems.
11286 (decode_coding_string): Likewise.
11287
52e386c2
KR
112882000-06-18 Ken Raeburn <raeburn@gnu.org>
11289
11290 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11291 when treating it as an integer.
11292
11293 * coding.h (encode_coding_string): Declare.
11294
11295 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11296 it as an integer.
11297
11298 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11299 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11300 to be passed to get_local_map.
11301
11302 * sound.c (Fplay_sound): Don't call make_number on
11303 Frun_hook_with_args count argument.
11304
11305 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11306 for lisp objects in X event structure data field, when lisp
11307 objects are represented with unions.
11308 (x_scroll_bar_to_input_event): Ditto.
11309
b357b9d4
KR
113102000-06-16 Ken Raeburn <raeburn@gnu.org>
11311
11312 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11313 termination of string. Fix sense of test whether
11314 Vline_number_display_limit is an integer.
b357b9d4 11315
a871441d
GM
113162000-06-16 Gerd Moellmann <gerd@gnu.org>
11317
a9021acd
GM
11318 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11319 only if HAVE_X_WINDOWS.
11320
6344985d
GM
11321 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11322 of titles.
11323
427ec082 11324 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11325 out of bounds.
11326
228b083e
EZ
113272000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11328
11329 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11330 of its headers.
11331
c25b53a2
KH
113322000-06-15 Kenichi Handa <handa@etl.go.jp>
11333
11334 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11335 start of the while loop.
11336
a6981b11
GM
113372000-06-15 Gerd Moellmann <gerd@gnu.org>
11338
e9924e52
GM
11339 * atimer.c (alarm_signal_handler): Add forward declaration.
11340
a6981b11
GM
11341 * data.c (set_internal): Remove debug code.
11342
25fa6deb
GM
113432000-06-14 Gerd Moellmann <gerd@gnu.org>
11344
dce6b995
GM
11345 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11346
9f817ea4
GM
11347 * unexec.c (toplevel) [COFF]: Include coff.h.
11348
11349 * s/lynxos.h: New file.
11350
11351 * keymap.c (Fsingle_key_description): Enclose function key and
11352 event symbol names in angle brackets.
11353
8a4e3c0c
GM
11354 * xdisp.c (setup_echo_area_for_printing): Call
11355 message_log_maybe_newline if message_buf_print is not set.
11356
11357 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11358 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11359 function does something useful even when message_buf_print is
11360 already set.
11361
52283633
SM
11362 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11363 New variables.
25fa6deb
GM
11364 (ensure_echo_area_buffers): Initialize echo buffer's
11365 truncate lines setting to nil.
11366 (with_echo_area_buffer): Don't set the echo buffer's truncate
11367 lines setting here.
8a4e3c0c 11368 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11369 of message_truncate_lines.
11370 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11371 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11372 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11373
11374 * keyboard.c (read_char): Bind message-truncate-lines to t
11375 while displaying a help-echo.
11376
11377 * lisp.h (Qmessage_truncate_lines): External declaration.
11378
163dcff3
GM
113792000-06-13 Gerd Moellmann <gerd@gnu.org>
11380
1681ead6
GM
11381 * xdisp.c (Vline_number_display_limit): Renamed from
11382 line_number_display_limit.
11383 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11384 Extend documentation string. Initialize
11385 Vline_number_display_limit to nil meaning no limit.
11386 (decode_mode_spec): Use Vline_number_display_limit with its new
11387 meaning.
11388
163dcff3
GM
11389 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11390
18e21ce8 113912000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11392
11393 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11394
163dcff3
GM
11395 * xfns.c (x_set_frame_parameters): Comment fix.
11396
11397 * frame.c (store_frame_param): Call swap_in_global_binding if the
11398 variable's current binding was chosen based on this frame.
11399
11400 * data.c (swap_in_global_binding): New function.
11401
a704139d
EZ
114022000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11403
11404 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11405 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11406
9b6610db
EZ
114072000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11408
11409 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11410
c68833d2
JR
114112000-06-12 Jason Rumney <jasonr@gnu.org>
11412
11413 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11414
11415 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11416
11417 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11418
11419 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11420
ed1056b3
GM
114212000-06-12 Gerd Moellmann <gerd@gnu.org>
11422
11423 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11424 (syms_of_xfaces): Defsubr Sdump_colors.
11425 (x_free_colors): Don't treat b&w specially on default visual.
11426 (x_free_dpy_colors): New function.
11427 (free_face_colors): Don't check visual class; it's done
11428 in x_free_colors.
11429
11430 * xterm.c (x_frame_of_widget): New function.
11431 (x_alloc_nearest_color_for_widget): Use it.
11432 (x_copy_dpy_color): New function.
11433 (x_destroy_window): Free various colors.
11434
5050a2ef
KH
114352000-06-12 Kenichi Handa <handa@etl.go.jp>
11436
11437 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11438
11439 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11440
11441 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11442
11443 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11444
11445 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11446
fb1b041d
DL
114472000-06-11 Dave Love <fx@gnu.org>
11448
11449 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11450
ff96b5f4
EZ
114512000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11452
11453 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11454
db8eeecd
GM
114552000-06-11 Gerd Moellmann <gerd@gnu.org>
11456
ed1056b3 11457 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11458 to `XEvent *'.
11459
49b71c5f
KH
114602000-06-10 Kenichi Handa <handa@etl.go.jp>
11461
c479bd55
KH
11462 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11463 (regex_compile): Fix the code for handling the case of single byte
11464 char and multibyte char being mixed in a range within [...].
11465
ff6a65c2
KH
11466 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11467 and dst_multibyte members of coding.
11468
49b71c5f
KH
11469 * charset.c (update_charset_table): Update the table
11470 bytes_by_char_head.
11471 (init_charset_once): Initialize elements of bytes_by_char_head to
11472 1 except for leading codes for private charases.
11473
11474 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11475 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11476
9e80b57d
KR
114772000-06-09 Ken Raeburn <raeburn@gnu.org>
11478
11479 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11480 access the data it doesn't point to.
11481
f83fe4b4
GM
114822000-06-08 Gerd Moellmann <gerd@gnu.org>
11483
11484 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11485 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11486 event queue. This is necessary because Emacs otherwise won't
11487 perform a switch-frame to a new frame until some other event, for
11488 example a keystroke event, forces it to do so. This has various
11489 effects, one visible being that the cursor of a frame created with
11490 C-x 5 2 or switched to with a window manager key binding like
11491 A-TAB stays hollow because selected_window isn't on the newly
11492 focused frame until the switch-frame is performed.
11493
11494 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11495 generating a switch-frame event if necessary.
11496
11497 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11498
11499 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11500 it's an integer.
11501
0890801b
KH
115022000-06-08 Kenichi Handa <handa@etl.go.jp>
11503
52283633 11504 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11505
173cbca8
GM
115062000-06-07 Gerd Moellmann <gerd@gnu.org>
11507
3091c2a6
GM
11508 * window.c (displayed_window_lines): Take empty lines at
11509 the bottom of a window into account.
427ec082 11510
f38952fe
GM
11511 * window.c (displayed_window_lines): New function.
11512 (Fmove_to_window_line): Use displayed_window_lines to determine
11513 the number of lines to move, instead of using the window's height.
11514
11515 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11516 to stop reading, even if the form read sets point to a different
11517 value when evaluated.
11518
427ec082 11519 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11520 put the cursor.
11521
6ba6c818
KH
115222000-06-07 Kenichi Handa <handa@etl.go.jp>
11523
11524 * fileio.c (e_write): Free composition data if stored in
11525 coding->cmp_data.
11526
5f1aea9a
GM
115272000-06-06 Gerd Moellmann <gerd@gnu.org>
11528
666852af
GM
11529 * xdisp.c (display_line): Set row's and iterator's
11530 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11531 Set cursor even if row ends in the middle of a character.
11532 (dump_glyph_row): Print values of new flags.
11533 (redisplay_window) <cursor movement in unchanged window>: When
11534 point has been moved forward, and PT is at the end of the cursor
11535 row, don't place the cursor in the next row if the cursor row ends
11536 in the middle of a character or at ZV.
11537
11538 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11539 (struct glyph_row): Add starts_in_middle_of_char_p and
11540 ends_in_middle_of_char_p.
11541 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11542 ends_in_middle_of_char_p flag.
11543 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11544
d13f3e2e
GM
11545 * term.c (append_glyph): Revert change of 2000-06-06.
11546
11547 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11548 padding glyph not fitting on line as whole character not
11549 fitting on line.
11550
5f1aea9a
GM
11551 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11552 this isn't true for images with `:ascent 100'.
11553
10cda9b0
KH
115542000-06-06 Kenichi Handa <handa@etl.go.jp>
11555
ed00559d
KH
11556 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11557 as modified if it is originally unmodified.
11558
10cda9b0
KH
11559 * term.c (encode_terminal_code): Change the way to check if
11560 terminal coding does any conversion.
11561 (append_glyph): Set glyph->pixel_width correctly.
11562
11563 * xdisp.c (display_line): While checking line continuation, pay
11564 attention to a padding glyph.
11565
1969fae2
GM
115662000-06-05 Gerd Moellmann <gerd@gnu.org>
11567
11568 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11569
162ccef4
DL
115702000-06-05 Dave Love <fx@gnu.org>
11571
f19f32dd
DL
11572 * xdisp.c: Include fontset.h.
11573
11574 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11575
11576 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11577
11578 * dispnew.c: Conditionally include term.h.
11579
11580 * coding.h: Declare code_convert_string_norecord.
11581
11582 * frame.h (struct frame): Use volatile unconditionally.
11583
11584 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11585
11586 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11587
11588 * systime.h: Protect against multiple inclusion.
11589 (timezone) [USG5_4]: Define as time_t.
11590
11591 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11592 (Foptimize_char_table, make_temp_name): Declare.
11593
11594 * Makefile.in (xdisp.o): Depend on fontset.h.
11595
11596 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11597
11598 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11599 (Foptimize_char_table, make_temp_name): Declare.
11600
427ec082 11601 * s/irix4-0.h:
162ccef4
DL
11602 * s/irix5-0.h:
11603 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11604
2082fe81
DL
116052000-06-02 Dave Love <fx@gnu.org>
11606
11607 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11608
dcf671d2
GM
116092000-06-02 Gerd Moellmann <gerd@gnu.org>
11610
11611 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11612 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11613 be freed.
11614
11615 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11616 glyph, use the ASCII NUL character to determine the face.
11617
d42122a3
DL
116182000-06-02 Dave Love <fx@gnu.org>
11619
11620 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11621 (VFORK_RETURN_TYPE): Remove.
427ec082 11622
d42122a3
DL
11623 * config.in: Add NO_MATHERR.
11624
dd432f16
DL
116252000-06-01 Dave Love <fx@gnu.org>
11626
90aa4ea8
DL
11627 * cmds.c (internal_self_insert): Don't check
11628 Vbefore_change_function, Vafter_change_function.
11629
11630 * insdel.c (signal_before_change, signal_after_change): Likewise.
11631
11632 * buffer.c (Vbefore_change_function, Vafter_change_function):
11633 Variables and their initializations deleted.
11634
2330c9d4
DL
11635 * callint.c (Fcall_interactively): Doc fix.
11636
dd432f16
DL
11637 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11638
bf9e8804
DL
116392000-05-31 Dave Love <fx@gnu.org>
11640
11641 * textprop.c: Revert last change -- duplicated.
11642
3694b4ab
GM
116432000-05-31 Gerd Moellmann <gerd@gnu.org>
11644
11645 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11646 in #if 0.
11647
11648 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11649
f14156cd
JR
116502000-05-31 Jason Rumney <jasonr@gnu.org>
11651
8119aab8
JR
11652 * search.c (Fre_search_forward, Fre_search_backward)
11653 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11654
f14156cd
JR
11655 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11656
4aab9be3
JR
116572000-05-30 Jason Rumney <jasonr@gnu.org>
11658
11659 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11660 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11661
52283633 11662 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11663
11664 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11665 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11666 expand a nil default_filename.
11667
11668 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11669 pointer to glyph_to_pixel_coords, not a frame.
11670
11671 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11672 coding.h to dependencies.
11673
11674 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11675
11676 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11677 window pointer to be consistent with w32term.c and xterm.c.
11678
11679 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11680 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11681 (Qline_spacing, Qcenter): New variables.
11682 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11683 (x_set_line_spacing): New function.
52283633 11684 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11685 (x_specified_cursor_type): New function.
11686 (x_set_cursor_type): Use it.
11687 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11688 and icon strings.
11689 (validate_x_resource_name, x_get_resource_string): Measure lengths
11690 of external strings in bytes.
11691 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11692 GetTextExtentPoint32 with NULL title.
11693 (Fx_create_frame): Initialize Qline_spacing.
11694 (w32_load_system_font): Initialize font->double_byte_p.
11695 (x_to_w32_charset): Use Vw32_charset_info_alist.
11696 (Image, busy cursor, tooltip functions): Merged changes from
11697 xfns.c. Not yet functional on Windows.
11698
11699 * w32gui.h (W32FontStruct): Add double_byte_p member.
11700
11701 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11702 (emacs_button_translation): Use it.
11703 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11704 in `mask' to be set.
11705
11706 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11707 menu strings.
11708
11709 * w32term.c: Format and doc changes to bring closer to xterm.c.
11710 (w32_char_font_type): New enum.
11711 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11712 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11713 (w32_encode_char): New function.
11714 (x_encode_char): Removed.
11715 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11716 x_encode_char and w32_font_is_double_byte.
11717 (x_produce_image_glyph): Use image_ascent.
11718 (x_produce_glyphs): Use new version of w32_per_char_metric and
11719 handle NULL return value. Allow extra line spacing.
11720 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11721 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11722 w32_font_type member of glyph instead.
11723 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11724 (fast_find_position): Make sure not to consider rows not visible
11725 in the window.
11726 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11727 w32_menu_display_help with input blocked, as it can abort.
11728 (x_display_and_set_cursor): Choose cursor depending
11729 on buffer-local value of cursor_type.
11730 (x_draw_bar_cursor): Add parameter WIDTH.
11731
11732 * w32term.h (CP_DEFAULT): Define.
11733 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11734
10fc3187
GM
117352000-05-30 Gerd Moellmann <gerd@gnu.org>
11736
11737 * search.c (Fre_search_forward, Fre_search_backward)
11738 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11739
d0555360
KH
117402000-05-30 Kenichi Handa <handa@etl.go.jp>
11741
11742 * coding.c (detect_coding_iso2022): Fix code for checking
11743 CODING_CATEGORY_MASK_ISO_8_2.
11744
f1ad044f
SM
117452000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11746
11747 * regex.c (PREFETCH_NOLIMIT): New function.
11748 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11749
84ec3b4b
GM
117502000-05-29 Gerd Moellmann <gerd@gnu.org>
11751
66254a13
GM
11752 * syntax.c (find_defun_start): Move test for
11753 open_paren_in_column_0_is_defun_start outside of the loop.
11754
49e70dec
GM
11755 * xdisp.c (redisplay_window): Really switch buffers when
11756 displaying mode lines, and temporarily set selected_frame to the
11757 frame of the window that's redisplayed.
11758
84ec3b4b
GM
11759 * xfaces.c (free_realized_faces): Block/unblock input.
11760 (free_realized_multibyte_face): Ditto.
11761
869a3a14
DL
117622000-05-29 Dave Love <fx@gnu.org>
11763
11764 * textprop.c (Qkeymap): New variable.
11765 (syms_of_textprop): Intern it.
11766
11767 * keymap.c: Include intervals.h.
11768 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11769
11770 * Makefile.in (keymap.o): Depend on intervals.h.
11771
11772 * keyboard.c (menu_bar_items, tool_bar_items)
11773 (Fexecute_extended_command): Deal with `keymap' property.
11774 (read_key_sequence): Track map from `keymap' property as well as
11775 `local_map'.
11776
11777 * intervals.c (get_local_map): Extra arg to allow looking for
11778 `keymap' too.
11779
11780 * intervals.h (map_property): New enum.
11781 (get_local_map): Extra arg using it.
11782 (Qkeymap): Declare.
11783
84ec3b4b 11784 * lisp.h (get_local_map): Don't declare here.
869a3a14 11785
89d0c844
KH
117862000-05-29 Kenichi Handa <handa@etl.go.jp>
11787
11788 * Makefile.in (callproc.o): Depend on composite.h.
11789
11790 * callproc.c: Include composite.h.
11791 (Fcall_process): Handle composition correctly.
11792
11793 * coding.h (coding_allocate_composition_data): Extern it.
11794 (coding_restore_composition): Likewise.
11795
11796 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11797 yet allocated, finish decoding with result
11798 CODING_FINISH_INSUFFICIENT_CMP.
11799 (coding_allocate_composition_data): Make it non-static.
11800 (coding_restore_composition): Likewise.
11801
797a084a
EZ
118022000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11803
11804 * charset.c (syms_of_charset): Revert last change.
11805
cf872af5
EZ
118062000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11807
11808 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11809 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11810 Handa.
cf872af5 11811
5b1ae051
EZ
118122000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11813
11814 * charset.c (syms_of_charset): Set width of character sets
11815 eight-bit-control and eight-bit-graphic to 1 column.
11816
34ec9ebe
GM
118172000-05-26 Gerd Moellmann <gerd@gnu.org>
11818
11819 * config.in (HAVE_SPEED_T): New define.
11820
11821 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11822 `extern speed_t'.
11823
dd854dc2
DL
118242000-05-26 Dave Love <fx@gnu.org>
11825
11826 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11827
11828 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11829 (Fsubr_arity): New function.
11830 (syms_of_data): Install them.
11831
ba9f8f95
KH
118322000-05-26 Kenichi Handa <handa@etl.go.jp>
11833
0f3e0672
KH
11834 * charset.c (init_charset_once): Set the table bytes_by_char_head
11835 correctly.
11836
cebefb44
KH
11837 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11838 the default fontset to what Emacs uses by default.
0f3e0672
KH
11839 (check_registry_encoding): This function deleted.
11840 (Fset_fontset_font): Remove the adhoc condition for the default
11841 fontset. Allow cons in FONTNAME.
cebefb44 11842
0f3e0672
KH
11843 * fns.c (map_char_table): Ignore char-table entries for
11844 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11845
7a18af49
KR
118462000-05-25 Ken Raeburn <raeburn@gnu.org>
11847
11848 * emacs.c (main): Initialize keyboard syms before initializing
11849 window code, so face names are available.
11850
d2af47df
SM
118512000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11852
11853 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11854 of an anchor at the beginning of a shy-group.
11855
fc6a6a4e
GM
118562000-05-25 Gerd Moellmann <gerd@gnu.org>
11857
11858 * xdisp.c (handle_invisible_prop): Don't try to skip over
11859 invisible text if end of text is already reached.
11860
005f0d35
DL
118612000-05-25 Dave Love <fx@gnu.org>
11862
02513cdd
DL
11863 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11864
005f0d35
DL
11865 * coding.c (encode_eol): Add null statement after label.
11866
89f6ca4e
EZ
118672000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11868
11869 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11870 2000-05-20.
11871
a4e1759e
KH
118722000-05-25 Kenichi Handa <handa@etl.go.jp>
11873
11874 * ccl.c (ccl_driver): Fix previous change.
11875
eacfd7fe
KH
118762000-05-25 Kenichi Handa <handa@etl.go.jp>
11877
46ab33a9
KH
11878 * coding.c (run_pre_post_conversion_on_str): Set point to the
11879 beginning of buffer before calling coding->post_read_conversion.
11880 (decode_coding_string): Give correct args to
11881 run_pre_post_conversion_on_str.
11882 (encode_coding_string): Likewise.
11883
eacfd7fe
KH
11884 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11885 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11886 eight-bit-graphic correctly.
11887
f8569325
DL
118882000-05-24 Kenichi HANDA <handa@etl.go.jp>
11889
11890 * fileio.c (Finsert_file_contents): Even if a file is not found,
11891 execute codes for setting up coding system. Call
11892 after-insert-file-functions unconditionally.
11893
04545643
GM
118942000-05-24 Gerd Moellmann <gerd@gnu.org>
11895
11896 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11897 BSD_PGRPS are not defined.
11898
747d90ea
KH
118992000-05-24 Kenichi Handa <handa@etl.go.jp>
11900
11901 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11902 DESCRIPTION.
11903 (syms_of_charset): Avoid building same strings.
11904
716e3b88
GM
119052000-05-23 Gerd Moellmann <gerd@gnu.org>
11906
11907 * lread.c (Fload): Add a comment about the meaning of
11908 Vuser_init_file being t.
11909
11910 * puresize.h (BASE_PURESIZE): Increase to 675000.
11911
11912 * s/gnu-linux.h (setpgrp): Don't define it here because this
11913 prevents compilation on GNU/Linux systems with glib 2.2.
11914
11915 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11916 as setpgid.
427ec082 11917
9aeb39fa
EZ
119182000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11919
11920 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11921 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11922 version.
11923 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11924
29ced61b
KH
119252000-05-23 Kenichi Handa <handa@etl.go.jp>
11926
52283633 11927 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11928
3d80f24d
KH
11929 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11930
52283633 11931 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11932
29ced61b
KH
11933 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11934
d7e00792
KH
119352000-05-22 Kenichi Handa <handa@etl.go.jp>
11936
c9d80d38
KH
11937 * keyboard.c (read_char): Allow character codes 128..255 to be
11938 handled by input-method-function.
11939
d7e00792
KH
11940 * insdel.c (adjust_markers_for_replace): Fix previous change.
11941 (adjust_after_replace): If PREV_TEXT is nil, call
11942 adjust_markers_for_insert, not adjust_markers_for_replace.
11943
087121cc 119442000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11945
087121cc
GM
11946 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11947 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11948 [HAVE_GRANDPT]: Define.
11949 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11950
11951 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11952 like SYSV_PTYS.
11953
11954 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11955
11956 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11957
c9671f81
KH
119582000-05-20 Kenichi Handa <handa@etl.go.jp>
11959
11960 The following changes are to handle 8-bit characters in a
11961 multibyte buffer/string without facing with byte combining
11962 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11963 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11964
11965 * Makefile.in (fns.o): Depend on charset.h.
11966
11967 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11968 convert it to unibyte.
11969 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11970
11971 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11972 apparent char boundary.
11973 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11974 0x80..0x9F to/from multibyte form.
11975
11976 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11977 to unibyte.
11978
11979 * callproc.c (Fcall_process): Always encode an argument string if
11980 it is multibyte. Setup src_multibyte and dst_multibyte members of
11981 process_coding properly.
ce75fd23 11982
c9671f81
KH
11983 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11984 SPLIT_NON_ASCII_CHAR.
11985
11986 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11987 as is.
11988 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11989
52283633 11990 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11991 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11992 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11993 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11994 and eight-bit-graphic.
11995 (char_to_string): Likewise. Signal an error for too large
11996 character code.
11997 (char_printable_p): Return 0 for 8-bit characters.
11998 (update_charset_table): Update iso_charset_table only when a final
11999 character is non-negative.
12000 (find_charset_in_text): Renamed from find_charset_in_str.
12001 Arguments and return value changed. Callers changed.
12002 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12003 be -1 if CHARSET is used only internally.
12004 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12005 eight-bit-graphic.
12006 (Fcharset_after): Simplified.
12007 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12008 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12009 (multibyte_chars_in_text): Simplified by assuming there's no
12010 invalid multibyte sequence.
52283633
SM
12011 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12012 (str_as_unibyte): New functions.
12013 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12014 (init_charset_once): Initialization for
12015 LEADING_CODE_8_BIT_CONTROL.
12016 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12017 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12018 eight-bit-control and eight-bit-graphic.
12019
52283633
SM
12020 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12021 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12022 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12023 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12024 (CHARSET_REVERSE_CHARSET): Likewise.
12025 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12026 eight-bit-graphic.
12027 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12028 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12029 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12030 encounter an invalid multibyte sequence.
12031 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12032 sequence is always valid.
12033 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12034 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12035 (CHAR_STRING): For 8-bit characters, call char_to_string.
12036 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12037 multibyte sequence is always valid.
12038 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12039 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12040 (str_as_unibyte): Extern them.
c9671f81 12041 (BCOPY_SHORT): Fix a bug.
52283633 12042 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12043 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12044 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12045 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12046
bd4bde7f 12047 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12048 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12049 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12050 (EMIT_BYTES): New macros.
12051 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12052 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12053 macros deleted.
12054 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12055 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12056 check the validity of multibyte sequence.
12057 (decode_coding_emacs_mule): New function.
12058 (encode_coding_emacs_mule): New macro.
12059 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12060 the source.
12061 (DECODE_ISO_CHARACTER): Just return a character code.
12062 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12063 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12064 EMIT_CHAR to produced decoded characters. Exit the loop only by
12065 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12066 block here.
12067 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12068 only position codes for an invalid character.
12069 (encode_designation_at_bol): Return new destination pointer. 5th
12070 arg DSTP is changed to DST.
12071 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12072 from the source by ONE_MORE_CHAR. Don't handle the case of last
12073 block here.
12074 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12075 macros deleted.
52283633
SM
12076 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12077 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12078 TWO_MORE_BYTES to fetch a byte from the source.
12079 (encode_eol): Pay attention to coding->src_multibyte.
12080 (detect_coding, detect_eol): Preserve members src_multibyte and
12081 dst_multibyte.
12082 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12083 (encoding_buffer_size): Set magnification to 3 for all coding
12084 systems that require encoding.
12085 (ccl_coding_driver): For decoding, be sure that the result is
12086 valid multibyte sequence.
12087 (decode_coding): Initialize coding->errors and coding->result.
12088 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12089 and raw-text, always call decode_eol. Handle the case of last
12090 block here. If not coding->dst_multibyte, convert the resulting
12091 sequence to unibyte.
12092 (encode_coding): Initialize coding->errors and coding->result.
12093 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12094 and raw-text, always call encode_eol. Handle the case of last
12095 block here.
12096 (shrink_decoding_region, shrink_encoding_region): Detect cases
12097 that we can't skip data more rigidly.
12098 (code_convert_region): Setup src_multibyte and dst_multibyte
12099 members of coding. For decoding, if the buffer is multibyte,
12100 convert the source sequence to unibyte in advance. For encoding,
12101 if the buffer is multibyte, convert the resulting sequence to
12102 multibyte afterward.
12103 (run_pre_post_conversion_on_str): New function.
12104 (code_convert_string): Deleted and divided into the following two.
12105 (decode_coding_string, encode_coding_string): New functions.
12106 (code_convert_string1, code_convert_string_norecord): Call one of
12107 above.
12108 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12109 MAKE_NON_ASCII_CHAR.
52283633
SM
12110 (Fset_terminal_coding_system_internal)
12111 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12112 and dst_multibyte members.
12113 (init_coding_once): Initialize iso_code_class with new enum
12114 ISO_control_0 and ISO_control_1.
12115
12116 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12117 devided into ISO_control_0 and ISO_control_1.
12118 (struct coding_system): New members src_multibyte, dst_multibyte,
12119 errors, and result. Delete member fake_multibyte.
12120 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12121 nonzero.
12122 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12123 nonzero.
12124
12125 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12126 (Faset): Likewise.
12127
12128 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12129 multibyte form.
12130 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12131 combining occurs.
12132 (Ftranspose_region): Delete codes for handling byte combining.
12133
12134 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12135 dst_multibyte members of coding. On handling REPLACE on unibyte
12136 buffer, convert the result of decode_coding to unibyte. On
12137 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12138 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12139 multibyteness of the source (buffer or string).
12140
12141 * fns.c (concat): Handle 8-bit characters correctly.
12142 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12143 unibyte in the result.
12144 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12145 valid multibyte form in the result.
12146 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12147 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12148 return -1, signal an error.
12149 (base64_encode_1): New arg MULTIBYTE. Get each character by
12150 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12151 character is found, return -1.
12152 (Fbase64_decode_region): Delete codes for handling byte-combining.
12153 Treat each decoded byte as a unibyte character.
12154 (Fbase64_decode_string): Return unibyte string.
12155 (Fcompare_strings, concat, string_byte_to_char): Use
12156 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12157 FETCH_STRING_CHAR_ADVANCE.
12158 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12159 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12160
12161 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12162 SPLIT_NON_ASCII_CHAR.
12163 (fontset_ref_via_base, fontset_set): Likewise
12164
12165 * insdel.c (adjust_markers_for_record_delete): Deleted.
12166 (adjust_markers_for_insert): Argument changed. Caller changed.
12167 (adjust_markers_for_replace): Likewise.
52283633
SM
12168 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12169 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12170 (copy_text): Delete unused local varialbe c_save. For converting
12171 to multibyte, be sure to make all 8-bit characters in valid
12172 multibyte form.
12173 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12174 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12175 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12176 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12177 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12178 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12179 handling byte combining.
12180 (adjust_before_replace): Deleted.
427ec082 12181
c9671f81
KH
12182 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12183 SPLIT_NON_ASCII_CHAR.
12184 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12185 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12186 (Fkey_description): Likewise.
12187
12188 * lread.c (read1): On reading multibyte string, be sure to make
12189 all 8-bit chararacters in valid multibyte form.
12190 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12191
12192 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12193 unconditionally.
12194
12195 * process.c (Fstart_process): GCPRO current_dir before calling
12196 Ffind_operation_coding_system. Encode arguments here.
12197 (create_process): Don't encode arguments here. Setup
12198 src_multibyte and dst_multibyte members of struct coding.
12199 (read_process_output): Setup src_multibyte and dst_multibyte
12200 members of struct coding. If the output is to multibyte buffer,
12201 always decode the output of the process. Adjust the
52283633 12202 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12203 (send_process): Setup coding->src_multibyte according to the
12204 multibyteness of the source.
12205
52283633 12206 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12207 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12208 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12209
52283633 12210 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12211
12212 * w16select.c (Fw16_set_clipboard_data): Setup members
12213 src_multibyte and dst_multibyte of coding. Adjusted for the
12214 change for find_charset_in_str.
12215 (Fw16_get_clipboard_data): Likewise.
12216
12217 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12218 dst_multibyte of coding.
12219 (x_to_w32_font): Likewise.
12220
12221 * w32select.c (Fw32_set_clipboard_data): Setup members
12222 src_multibyte and dst_multibyte of coding. Adjusted for the
12223 change for find_charset_in_str.
12224 (Fw32_get_clipboard_data): Likewise.
12225
12226 * xdisp.c (get_next_display_element): Handle 8-bit characters
12227 correctly.
52283633
SM
12228 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12229 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12230
12231 * xselect.c (selection_data_to_lisp_data): Setup members
12232 src_multibyte and dst_multibyte of coding. Adjusted for the
12233 change for find_charset_in_str.
12234 (lisp_data_to_selection_data): Likewise.
12235
5f64c9e0
GM
122362000-05-19 Gerd Moellmann <gerd@gnu.org>
12237
52283633 12238 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12239
5f64c9e0
GM
12240 * dispextern.h (Vimage_types): Add extern declaration.
12241
12242 * xdisp.c (Vimage_types): Moved here from xfns.c.
12243 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12244
12245 * xfns.c (Vimages_types): Moved to xdisp.c.
12246 (syms_of_xfns): Move `image-types' to xdisp.c.
12247
12248 * w32fns.c (Vimage_types): Removed.
12249 (syms_of_w32fns): Remove `image-types'.
12250
813086ea
KH
122512000-05-18 Kenichi Handa <handa@etl.go.jp>
12252
12253 * fns.c (map_char_table): Pay attention to character number of
12254 charset. Check the validity of charset at the first level. For
12255 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12256 the default value.
12257
12258 * fontset.c: Include "buffer.h".
12259 (fs_load_font): If the face has fontset, record the face ID in
12260 that fontset.
12261 (Finternal_char_font): New function.
12262 (accumulate_font_info): New function.
12263 (Ffontset_info): Rewritten for the new fontset implementation.
12264 (syms_of_fontset): Register Vdefault_fontset in the first element
12265 of Vfontset_table. Include Vdefault_fontset in
12266 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12267 function.
12268
bdaebbf0
DL
122692000-05-16 Dave Love <fx@gnu.org>
12270
12271 * m/iris5d.h: Deleted -- unused.
12272
cb613bb8
GM
122732000-05-16 Gerd Moellmann <gerd@gnu.org>
12274
b15f3b77
GM
12275 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12276 `invalid' instead of `illegal'.
12277
12278 * indent.c (Fmove_to_column): When ending within a tab, insert
12279 spaces first so that markers at the end of the tab get adjusted.
12280
835c1b36
GM
12281 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12282 buffer list that wasn't selected in that frame.
12283
cb613bb8
GM
12284 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12285 is needed on mescaline, use a 2 char prefix, and call
12286 make_temp_name with second arg non-zero.
12287
12288 * fileio.c (make_temp_name): New function, extracted from
12289 Fmake_temp_name.
12290 (Fmake_temp_name): Use it.
12291
f685bea9
EZ
122922000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12293
52283633 12294 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12295
a1b8d58b
GM
122962000-05-15 Gerd Moellmann <gerd@gnu.org>
12297
12298 * Makefile.in (lisp): Add env.elc.
12299
12300 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12301
a265079f
GM
123022000-05-12 Gerd Moellmann <gerd@gnu.org>
12303
12304 * search.c (Freplace_match): Handle case of `\N' in the
12305 replacement when there's no group N.
12306
da4496b6
GM
123072000-05-11 Gerd Moellmann <gerd@gnu.org>
12308
0ace421a
GM
12309 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12310 of the message to message_dolog.
12311
1172eb8d
GM
12312 * keyboard.c (read_char): Don't clear current message for help
12313 events; let the code handling help events handle this. Change
12314 code detecting help events that should be ignored.
12315
da4496b6
GM
12316 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12317 we're interating over a string.
12318
0623e40f
DL
123192000-05-09 Dave Love <fx@gnu.org>
12320
12321 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12322 that offset before writing. Move gcpro region past call of
12323 Ffile_regular_p.
12324
bae2503b
DL
123252000-05-04 Dave Love <fx@gnu.org>
12326
12327 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12328
ec82fb2f
GM
123292000-05-04 Gerd Moellmann <gerd@gnu.org>
12330
12331 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12332 of inserted characters when BUF equals the current buffer, and PT
12333 is in front of or equal to FROM.
12334
cbf18892
GM
123352000-05-03 Gerd Moellmann <gerd@gnu.org>
12336
4ff40dd0
GM
12337 * xdisp.c (handle_single_display_prop): If display property value
12338 is invalid, or something not supported on the frame, restore
12339 iterator's position to what it was initially. Make sure to return
12340 0 for invalid and unsupported property values.
12341
cbf18892
GM
12342 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12343 that x_per_char_metric returns null.
12344
1b0672c3
GM
123452000-05-02 Gerd Moellmann <gerd@gnu.org>
12346
576da55d
GM
12347 * xterm.h (struct face): Add forward declaration.
12348 (struct image): Ditto.
12349 (image_ascent): Add prototype.
12350
12351 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12352 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12353 image_ascent instead of using IMAGE_ASCENT.
12354
12355 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12356 (IMAGE_ASCENT): Removed.
12357
12358 * xfns.c (Qcenter): New variable.
12359 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12360 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12361 (image_ascent): New function.
12362 (lookup_image): Recognize `:ascent center'.
12363 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12364 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12365 (xbm_load): Don't set image's ascent here.
12366 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12367 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12368 check ascent values here.
12369 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12370 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12371 (syms_of_xfns): Initialize Qcenter.
12372
1b0672c3
GM
12373 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12374 to the limits, increase the limits.
12375
0d7811ed
KH
123762000-05-01 Kenichi Handa <handa@etl.go.jp>
12377
12378 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12379 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12380
a943a5ca
GM
123812000-04-28 Gerd Moellmann <gerd@gnu.org>
12382
12383 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12384 taller than the window.
12385
5dba1e29
KH
123862000-04-28 Kenichi Handa <handa@etl.go.jp>
12387
12388 * xfaces.c (realize_x_face): Fix the argument of the second
12389 xassert. BASE_FACE may not be a face for ASCII.
12390
353964e3
GM
123912000-04-27 Gerd Moellmann <gerd@gnu.org>
12392
c76e04a8
GM
12393 * print.c (print_object): Treat print-length < 0 as nil.
12394
12395 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12396
12397 * s/freebsd.h (TERMCAP_OBJ): Removed.
12398 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12399
12400 * lread.c (read1): Don't treat period followed by certain
12401 characters as symbol start.
12402
12403 * xfns.c (slurp_file): New function.
12404 (xbm_image_p): Handle case of in-memory XBM files.
12405 (xbm_scan): Rewritten to work on memory buffers instead of files.
12406 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12407 Work on memory buffers instead of files. If DATA is null test
12408 if buffer looks like an in-memory XBM file.
12409 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12410 memory buffers instead of files.
12411 (xbm_file_p): New function.
12412 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12413
353964e3
GM
12414 * lread.c (end_of_file_error): New function.
12415 (read1): Call it instead of signaling `end-of-file' directly.
12416
427ec082 12417 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12418 with Fprinc instead of Fprin1.
12419
24d744ac
KR
124202000-04-26 Ken Raeburn <raeburn@gnu.org>
12421
12422 * window.c (freeze_window_start): Check that minibuffer scroll
12423 window isn't nil before extracting the window structure pointer
12424 from it.
12425
12426 * undo.c (record_delete): If we hit the end of the undo list, stop
12427 picking elements apart.
12428
7464346d
GM
124292000-04-26 Gerd Moellmann <gerd@gnu.org>
12430
12431 * xdisp.c (display_line): If lines are continued, restore
12432 iterator's ascent/descent information to the values before the
12433 first glyph not fitting on the line.
12434
612839b6
GM
124352000-04-25 Gerd Moellmann <gerd@gnu.org>
12436
12437 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12438 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12439
12440 * dispnew.c (increment_matrix_positions): Renamed from
12441 increment_glyph_matrix_buffer_positions.
12442 (increment_row_positions): Renamed from
12443 increment_glyph_row_buffer_positions.
12444
12445 * dispextern.h: Change names of renamed functions from dispnew.c
12446 in prototypes.
12447
cc181e95
GM
124482000-04-24 Gerd Moellmann <gerd@gnu.org>
12449
abfcc168
GM
12450 * fileio.c (Fdo_auto_save): Create directories for auto-save
12451 list file if necessary.
12452
cc181e95
GM
12453 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12454 from buffer or frame.
12455 (automatic_hscrolling_p): New variable.
12456 (hscroll_windows): Scroll windows horizontally only if automatic
12457 hscrolling is allowed.
12458 (syms_of_xdisp): New variable `automatic-hscrolling'.
12459
12460 * frame.h (struct frame): Add member extra_line_spacing.
12461
12462 * xfns.c (x_set_line_spacing): New function.
12463 (Fx_create_frame): Set line spacing from resources.
12464 (Qline_spacing): New variable.
12465 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12466
cc181e95
GM
12467 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12468
12469 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12470 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12471 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12472 extra_line_spacing from default value.
12473 (init_buffer_once): Initialize default value of extra_line_spacing.
12474
12475 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12476 and extra3.
12477
12478 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12479 prompt_width. Add extra line spacing.
12480
12481 * term.c (produce_glyphs): Remove reference to struct it's
12482 prompt_width.
12483
12484 * dispextern.h (struct it): Remove member prompt_width, add
12485 extra_line_spacing.
12486
58827478
GM
124872000-04-22 Gerd Moellmann <gerd@gnu.org>
12488
12489 * dispnew.c (update_frame_line): When writing a whole line, make
12490 sure cursor is in the right row afterwards, otherwise a use of
12491 capability `ch' in cmgoto might leave the cursor in the row below.
12492
25a87f42
GM
124932000-04-21 Gerd Moellmann <gerd@gnu.org>
12494
12495 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12496
12497 * keyboard.c (timer_check): Fix typo in comment.
12498
54edf5c2
KH
124992000-04-21 Kenichi Handa <handa@etl.go.jp>
12500
12501 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12502 name change: ch -> character.
12503
3a64eef5
GM
125042000-04-20 Gerd Moellmann <gerd@gnu.org>
12505
12506 * keyboard.c (echo_message_buffer): New variable.
12507 (echo_now): Set echo_message_buffer to the echo area buffer used
12508 to display the echo.
12509 (cancel_echoing): Reset echo_message_buffer to nil.
12510 (read_char): Code rewritten that handles canceling an echo or
12511 echoing a dash, respectively.
12512
12513 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12514 directory doesn't exist.
12515
6142fdcb
DL
125162000-04-19 Dave Love <fx@gnu.org>
12517
12518 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12519 (concat): Don't allow numeric args.
12520 (Fconcat): Doc change.
6142fdcb 12521
ac6b5352
SM
125222000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12523
12524 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12525 instead define end_match(1|2) more carefully.
12526 Use GET_CHAR_BEFORE_2 for `begline'.
12527
cb9215e4
GM
125282000-04-19 Gerd Moellmann <gerd@gnu.org>
12529
5e3dac3f
GM
12530 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12531 on 64-bit systems where NULL is defined as `0'.
12532
12533 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12534 the `variable argument list' to make it work on Alpha.
12535
cb9215e4
GM
12536 * m/alpha.h (_LP64) [!_LP64]: Define.
12537 (ORDINARY_LINK): Define for NetBSD.
12538
12539 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12540
f532dca0
DL
125412000-04-19 Dave Love <fx@gnu.org>
12542
c750667e
DL
12543 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12544 change.
12545
12546 * Makefile.in (LIBS): Don't use.
12547 (GETLOADAVG_OBJ): Define again.
12548 (otherobj): Add GETLOADAVG_OBJ.
12549
f532dca0
DL
12550 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12551
1c7e22fd
GM
125522000-04-18 Gerd Moellmann <gerd@gnu.org>
12553
f6d3257b
GM
12554 * lread.c (read_filtered_event): Cancel and start busy cursor.
12555
427ec082 12556 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12557 that the per-character metrics may be null.
12558
e10f64e7
GM
125592000-04-17 Gerd Moellmann <gerd@gnu.org>
12560
0daee095
GM
12561 * buffer.c (clone_per_buffer_values): New function.
12562 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12563 clone_per_buffer_values if CLONE is not nil.
12564
e10f64e7
GM
12565 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12566
38687d43
DL
125672000-04-16 Dave Love <fx@gnu.org>
12568
12569 * Makefile.in: Remove obsolete localcpp stuff.
12570 (GETLOADAVG_OBJ): Don't define.
12571 (obj): Move LIBOBJS...
12572 (otherobj): ... to here.
12573 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12574 whitespace-only lines after the continuation (Irix).
12575
c21c7262
GM
125762000-04-14 Gerd Moellmann <gerd@gnu.org>
12577
12578 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12579
12580 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12581
314767c0
DL
125822000-04-14 Dave Love <fx@gnu.org>
12583
12584 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12585 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12586 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12587 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12588 NLIST_STRUCT.
12589
12590 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12591 autoconfiscated HAVE_GETLOADAVG.
12592
12593 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12594 BROKEN_MKTIME.
12595
a2522dca
GM
125962000-04-14 Gerd Moellmann <gerd@gnu.org>
12597
12598 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12599 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12600
33744b5d
DL
126012000-04-14 Dave Love <fx@gnu.org>
12602
c21c7262 12603 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12604 (INTERVAL_SRC): Convert to make variable.
12605 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12606 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12607 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12608 add LIBOBJS.
12609 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12610 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12611 (shortlisp): Add facemenu, float-sup, frame.
12612 (SOME_MACHINE_LISP): Remove them from here.
12613 (LIBES): Change unused LDLIBS to autoconf LIBS.
12614
12615 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12616
9d3d5916
KH
126172000-04-14 Kenichi Handa <handa@etl.go.jp>
12618
12619 * composite.c (update_compositions): If FROM and TO are not in a
12620 valid range, do nothing.
12621
198e3c7a
GM
126222000-04-13 Gerd Moellmann <gerd@gnu.org>
12623
52283633 12624 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12625
52283633 12626 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12627
12628 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12629 as TERMCAP_OBJ.
12630
055a28c9
EZ
126312000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12632
12633 * fileio.c (a_write): Remove redundant semi-colons.
12634 (e_write): Return -1 if failed to write all the data.
12635 This fixes the changes made at 1999-12-15.
12636
f5c75033
DL
126372000-04-12 Dave Love <fx@gnu.org>
12638
12639 * fns.c (mapcar1): Test for null vals to support mapc.
12640 (Fmapc): New function.
12641
0c3cfc51
EZ
126422000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12643
12644 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12645 (IT_frame_up_to_date): Support the buffer local value of
12646 cursor-type, if defined.
12647
33465a31
DL
126482000-04-10 Dave Love <fx@gnu.org>
12649
12650 * editfns.c (preceding-char, following-char): Doc fix.
12651
6ed56568
KR
126522000-04-10 Ken Raeburn <raeburn@gnu.org>
12653
12654 * Makefile.in (temacs): Revert 2000-03-12 change.
12655
7cf80d4e
JR
126562000-04-10 Jason Rumney <jasonr@gnu.org>
12657
12658 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12659
34f3f342
GM
126602000-04-10 Gerd Moellmann <gerd@gnu.org>
12661
1a1b1895
GM
12662 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12663 area buffer, if it's not set up yet.
12664
34f3f342
GM
12665 * indent.c (compute_motion): Set immediate_quit.
12666
be0dbdab
GM
126672000-04-09 Gerd Moellmann <gerd@gnu.org>
12668
52283633 12669 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12670 (realize_tty_face): Suppress boldness if colors are the inverse of
12671 the default colors, and tty_suppress_bold_inverse_default_colors_p
12672 is set.
12673 (Ftty_suppress_bold_inverse_default_colors): New function.
12674 (syms_of_xfaces): Defsubr it.
12675
be0dbdab
GM
12676 * buffer.c (Frestore_buffer_modified_p): New function.
12677 (syms_of_buffer): Defsubr it.
12678
e8413c3b
KR
126792000-04-08 Ken Raeburn <raeburn@gnu.org>
12680
87f67317
KR
12681 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12682 charset id (int) argument, not a charset (Lisp_Object).
12683
e8413c3b
KR
12684 * coding.h (code_convert_string): Declare.
12685 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12686 object, as the fourth argument to code_convert_string.
12687
52283633 12688 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12689 (Fset_fontset_font): Use EQ to compare lisp objects.
12690
7c752c80
KR
126912000-04-05 Ken Raeburn <raeburn@gnu.org>
12692
c0333abc
KR
12693 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12694 a pointer that looks like a lisp object.
12695 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12696 zero, instead see whether it's an integer object, since they can't
12697 have intervals.
12698 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12699
52283633
SM
12700 * dispnew.c (allocate_matrices_for_frame_redisplay)
12701 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12702 to convert between (unsigned) int values and lisp integers.
12703 * keyboard.c (read_key_sequence): Likewise.
12704 * lread.c (substitute_object_recurse): Likewise.
12705 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12706 * minibuf.c (do_completion, Fminibuffer_complete_word)
12707 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12708 * term.c (produce_special_glyphs): Likewise.
12709
12710 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12711 * print.c (print_preprocess, print_object): Likewise.
12712
12713 * search.c (compile_pattern): Use NILP when checking for nil.
12714
74e49b38
KR
12715 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12716 __OPTIMIZE__]: Provide a GNU C macro version that handles
12717 lisp-object unions.
12718 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12719 field, to better cope with ENABLE_CHECKING and calls that modify a
12720 Lisp_Object using its old value.
12721
685e5ed2
GM
127222000-04-04 Gerd Moellmann <gerd@gnu.org>
12723
c407c570
GM
12724 * window.c (compare_window_configurations): Signal an error
12725 if parameters C1 or C2 aren't window configurations.
12726
685e5ed2
GM
12727 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12728 AFTER_POTENTIAL_GC calls around calls to functions that can
12729 signal an error and thus invoke the debugger.
12730
587a49ab
GM
127312000-04-03 Gerd Moellmann <gerd@gnu.org>
12732
62f20204
GM
12733 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12734 an error if decoding fails.
12735
587a49ab
GM
12736 * keyboard.c (lispy_mouse_names): Variable removed.
12737 (Vlispy_mouse_stem): New variable.
12738 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12739 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12740 for any mouse button number. Increase size of mouse_syms and
12741 button_down_location as needed. Call modify_event_symbol with
12742 different arguments.
12743 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12744 Call modify_event_symbol with different arguments.
12745 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12746 for any button number. Call modify_event_symbol with different
12747 arguments.
12748 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12749 Accept a string for NAME_ALIST_OR_STEM.
12750
12751 * lisp.h (larger_vector): Add prototype.
12752
12753 * fns.c (larger_vector): Make externally visible.
12754
12755 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12756
2d1675e4
SM
127572000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12758
12759 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12760 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12761 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12762 we are between str1 and str2.
12763 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12764 (PATFETCH): Use `TRANSLATE'.
12765 (PATFETCH_RAW): Fetch multibyte char if applicable.
12766 (PATUNFETCH): Remove.
12767 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12768 When writing a char, write it directly into the pattern buffer rather
12769 than going needlessly through a temp char-array.
12770 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12771 multibyte magic and remove the useless `#ifdef emacs'.
12772 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12773 buffer.
12774
12775 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12776 conditional on `emacs'.
12777
12778 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12779
cc2d8c6b
KR
127802000-04-01 Ken Raeburn <raeburn@gnu.org>
12781
12782 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12783 non-union-type versions of XMARK and friends here, because XMARK
12784 and friends won't work on an integer field if NO_UNION_TYPE is not
12785 defined.
52283633 12786 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12787
52283633 12788 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12789 (syms_of_composite): Delete local var NARGS, pass an int as first
12790 argument to Fmake_hash_table.
12791
2387b382
KR
12792 * editfns.c (text_property_stickiness): Use NILP to test
12793 Lisp_Object boolean value.
12794 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12795 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12796 problems reading from and changing the same lisp value in an
12797 XSETSTRING call.
12798
27660e89
GM
127992000-04-01 Gerd Moellmann <gerd@gnu.org>
12800
12801 * term.c (TN_no_color_video): New variable.
12802 (term_init): Intitialize TN_no_color_video.
12803 (enum no_color_bit): New enumeration.
12804 (MAY_USE_WITH_COLORS_P): New macro.
12805 (turn_on_face): Use it to determine if attributes may be used
12806 combined with colors.
12807
3578db3c
KR
128082000-04-01 Ken Raeburn <raeburn@gnu.org>
12809
12810 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12811 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12812 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12813 proper accessor macros.
12814 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12815 (grow_mini_window): Fix typo getting int value of root->height.
12816
6fc556fd
KR
12817 * xdisp.c (compute_string_pos): Fix order of arguments to
12818 string_pos_nchars_ahead.
12819 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12820 count arg to variable-arg routines like Frun_hook_with_args and
12821 Fformat.
587a49ab
GM
12822 (back_to_previous_visible_line_start)
12823 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12824 fixed-arg routines like Fget_char_property and Fmake_string.
12825 (reconsider_clip_changes): Use XINT when comparing integer lisp
12826 objects, or passing them as int arguments.
587a49ab
GM
12827 (mark_window_display_accurate, insert_left_trunc_glyphs)
12828 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12829 storing or passing integer values as lisp objects.
12830 (set_cursor_from_row, highlight_trailing_whitespace): Use
12831 INTEGERP, not implicit test against zero, for glyph object.
12832 (try_window_id): Don't use make_number when we want an int value.
12833
12834 * xfaces.c (xlfd_symbolic_value): Make last argument a
12835 Lisp_Object, to be consistent with callers.
12836 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12837 (lface_hash): Apply XFASTINT to lisp values before folding in.
12838
12839 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12840 fill in window width and height. Pass an int, not a lisp object,
12841 as first arg to Finsert.
12842
6e7b2457
GM
128432000-04-01 Gerd Moellmann <gerd@gnu.org>
12844
610d841e
GM
12845 * xfaces.c (realize_basic_faces): Block input while realizing
12846 the faces.
12847
6e7b2457
GM
12848 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12849
12850 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12851
aa110c0c
GM
128522000-03-31 Gerd Moellmann <gerd@gnu.org>
12853
12854 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12855 or ASCII, handle case that per-char metric is null.
aa110c0c 12856
8801a864
KR
128572000-03-30 Ken Raeburn <raeburn@gnu.org>
12858
c6129d7e
KR
12859 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12860
52283633
SM
12861 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12862 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12863 pointer, using eassert.
12864 * frame.h (XFRAME): Likewise.
12865
52283633
SM
12866 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12867 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12868 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12869 * data.c (set_internal): Likewise.
52283633
SM
12870 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12871 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12872 * fileio.c (auto_save_1): Likewise.
12873 * insdel.c (check_markers): Likewise.
12874 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12875 * undo.c (record_insert): Likewise.
12876 * vmsproc.c (child_sig): Likewise.
12877 * window.c (unshow_buffer, window_loop): Likewise.
12878 * xterm.c (x_erase_phys_cursor): Likewise.
12879
8e7af858
GM
128802000-03-30 Gerd Moellmann <gerd@gnu.org>
12881
12882 * xfns.c (free_image_cache): Free the cache structure itself
12883 last, after all its members have been freed.
12884
12885 * lisp.h (xstrdup): Add prototype.
12886
12887 * alloc.c (xstrdup): Moved here from xfaces.c.
12888 (allocating_for_lisp): Variable removed.
52283633 12889 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12890
12891 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12892 of Fsymbol_value.
12893 (xstrdup): Moved to alloc.c.
12894
e0b8c689
KR
128952000-03-29 Ken Raeburn <raeburn@gnu.org>
12896
b96f9fb7
KR
12897 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12898
12899 * emacs.c (main): Fix sense of no-loadup test.
12900
e0b8c689
KR
12901 * config.in (ENABLE_CHECKING): Undef.
12902
12903 * lisp.h (struct interval): Replace "parent" field with a union of
12904 interval pointer and Lisp_Object; add new bitfield to use as
12905 discriminant. Change other flag fields to bitfields.
12906 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12907 is defined and the supplied test fails, print a message and abort.
12908 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12909
12910 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12911 pointers; abort if the value looks like a lisp object.
52283633
SM
12912 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12913 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12914 Modify for new interval parent definition.
12915
52283633
SM
12916 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12917 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12918 addressable lisp object in the interval structure.
12919 (die): New function.
12920 (suppress_checking): New variable.
12921
12922 * intervals.c (interval_start_pos): Just return 0 if there's no
12923 parent object.
12924
f83c5440
GM
129252000-03-29 Gerd Moellmann <gerd@gnu.org>
12926
12927 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12928 and earlier Emacs versions.
12929
12930 * keyboard.c (Ftop_level): Cancel busy-cursor.
12931
12932 * eval.c (call_debugger): Cancel busy-cursor.
12933
fdce64ff
KH
129342000-03-29 Kenichi Handa <handa@etl.go.jp>
12935
12936 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12937 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12938
f6a3f532
SM
129392000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12940
12941 * regex.c (analyse_first): New function obtained by ripping out most
12942 of re_compile_fastmap and generalizing it a little bit so that it
12943 can also just return whether a given (sub)pattern can match the empty
12944 string or not.
12945 (regex_compile): Use `analyse_first' to decide whether the loop-check
12946 needs to be done or not for *, +, *? and +? (the loop check is costly
12947 for non-greedy repetition).
12948 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12949
e9b309ac
DL
129502000-03-28 Dave Love <fx@gnu.org>
12951
52283633 12952 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12953
e9b309ac
DL
12954 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12955
ed0767d8
SM
129562000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12957
12958 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12959 an expression.
12960 (enum re_opcode_t): Update description of succeed_n.
12961 (PATFETCH): Always define.
12962 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12963 operators, char classes, shy-groups and intervals).
12964 Optimize special cases of intervals so as to only use succeed_n and
12965 jump_n when really needed.
12966 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12967 that we don't have to handle the special cases any more.
12968 Simplify on_failure_jump handling as well.
12969
e11e7e46
JR
129702000-03-28 Jason Rumney <jasonr@gnu.org>
12971
12972 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12973
88faab89
GM
129742000-03-27 Gerd Moellmann <gerd@gnu.org>
12975
182ff242
GM
12976 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12977
12978 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12979
182ff242
GM
12980 * alloc.c (mark_maybe_object): New function.
12981 (mark_memory): Use it.
12982 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12983 (setjmp_tested_p, longjmp_done): New variables.
12984 (test_setjmp): New function.
12985 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12986 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12987
c1005d06
GM
12988 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12989 to DEC_TEXT_POS and INC_TEXT_POS.
12990
12991 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12992 with parameter MULTIBYTE_P.
12993
52283633 12994 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12995
7439e5b9 12996 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12997 buffers because it looks for multibyte character byte sequences
12998 which don't exist in unibyte text.
7439e5b9 12999
d9c545da
GM
13000 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13001
11fd416e 13002 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13003 [DEBUG_X_COLORS]: New functions.
13004 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13005
13006 * xfns.c (x_set_cursor_color): Get color reference counts right.
13007
13008 * xterm.c (x_copy_color): New function.
13009 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13010
13011 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13012 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13013 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13014 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13015 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13016 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13017 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13018 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13019 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13020 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13021
11fd416e
GM
13022 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13023 names for handling per-buffer variables.
d9c545da
GM
13024
13025 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13026 instead of MAX_BUFFER_LOCAL_VARS.
13027 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13028
13029 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13030
88faab89
GM
13031 * xfns.c (x_specified_cursor_type): New function.
13032 (x_set_cursor_type): Use it.
13033
13034 * buffer.h (struct buffer): Add cursor_type.
13035
d80f42b7
SM
130362000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13037
13038 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13039 (print_partial_compiled_pattern, re_compile_fastmap):
13040 Handle new opcode.
d80f42b7
SM
13041 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13042 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13043 executing it as well as when popping it off the stack to find infinite
13044 loops in non-greedy repetition operators.
13045
89e80928
GM
130462000-03-26 Gerd Moellmann <gerd@gnu.org>
13047
3d4ff2dd
GM
13048 * doc.c (Qfunction_documentation): New variable.
13049 (syms_of_doc): Initialize Qfunction_documentation.
13050 (Fdocumentation): If FUNCTION is a symbol with non-nil
13051 `function-documentation' property, return a documentation derived
13052 from that.
13053
bd96bd79
GM
13054 * buffer.c (syms_of_buffer): Add default-cursor-type.
13055 (init_buffer_once): Don't let cursor_type have a local value
13056 in every buffer.
13057
19d1bc27
GM
13058 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13059 on buffer-local value of cursor_type.
13060 (x_draw_bar_cursor): Add parameter WIDTH.
13061
13062 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13063 (init_buffer_once): Set default cursor_type value to t.
13064 Mark cursor_type as local everywhere.
13065 (syms_of_buffer): New per-buffer variable cursor-type.
13066
89e80928
GM
13067 * buffer.h (struct buffer): Remove member local_var_flags,
13068 add local_flags.
13069 (MAX_BUFFER_LOCAL_VARS): New macro.
13070 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13071 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13072 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13073 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13074
52283633 13075 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13076
13077 * category.c (Fset_category_table): Use new macros for per-buffer
13078 variables.
13079
13080 * buffer.c (buffer_permanent_local_flags): Make a char array.
13081 (max_buffer_local_idx): New variable.
13082 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13083 for new handling of per-buffer variables.
13084 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13085 (init_buffer_once): Initialize per-buffer vars differently.
13086 Set max_buffer_local_idx.
13087
13088 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13089 variables.
13090
52283633 13091 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13092
13093 * data.c (do_symval_forwarding, store_symval_forwarding)
13094 (find_symbol_value, set_internal, default_value, Fset_default)
13095 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13096 per-buffer variables.
13097
13098 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13099
9a0dd3dc
GM
131002000-03-24 Gerd Moellmann <gerd@gnu.org>
13101
b68c375f
GM
13102 * xterm.c (x_term_init): Unblock input around call1 of
13103 Qvendor_specific_keysyms.
13104
9a0dd3dc
GM
13105 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13106 (find_defun_start): Consider an open parenthesis in column 0
13107 a defun start only if open_paren_in_column_0_is_defun_start is set.
13108 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13109
7973e637
SM
131102000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13111
13112 * eval.c (Fautoload): Add entry in load-history (if after dump).
13113 * lread.c (load-history): Update docstring.
13114
39210e90
GM
131152000-03-24 Gerd Moellmann <gerd@gnu.org>
13116
13117 * indent.c (Fvertical_motion): Always use the current buffer.
13118 Temporarily change the window's buffer, if necessary.
13119
72db3ab5
GM
131202000-03-23 Gerd Moellmann <gerd@gnu.org>
13121
13122 * xterm.c (fast_find_position): Make sure not to consider rows
13123 not visible in the window.
13124
990b2375
SM
131252000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13126
13127 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13128 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13129
ff4df011
JR
131302000-03-22 Jason Rumney <jasonr@gnu.org>
13131
13132 * w32menu.c (single_submenu): Set help string to NULL if none.
13133 (w32_menu_show): Set help string correctly.
13134 (add-menu-item): Set help string in MIIM_DATA for menu item.
13135 Load SetMenuItemInfoA explicitly.
13136 (w32_menu_display_help): New function.
427ec082 13137
ff4df011
JR
13138 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13139 (QCdata): Moved to xdisp.c.
13140
13141 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13142 (Vw32_charset_to_codepage_alist): Removed.
13143 (Vw32_charset_info_alist): New variable.
52283633
SM
13144 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13145 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13146 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13147 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13148 with TODO comment.
13149 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13150 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13151 Define Vw32_charset_info_alist and w32_charset symbols.
13152
131532000-03-22 Jason Rumney <jasonr@gnu.org>
13154
13155 * makefile.nt (w32bdf.obj): Update dependencies.
13156
13157 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13158
13159 * w32fns.c: Include fontset.h after dispextern.h.
13160 (Fx_create_frame): Do not create fontset.
13161 (w32_load_system_font): Doc fix.
13162 (Fx_close_connection): Free full_name if it is not shared.
13163
13164 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13165 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13166 Callers updated.
ff4df011
JR
13167 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13168 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13169 (w32_font_is_double_byte): New function, needs body.
13170 (x_append_glyph): Set glyph->glyph_not_available_p.
13171 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13172 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13173 character, convert it to a unibyte character.
13174 (struct glyph_string): Delete member `charset'.
13175 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13176 calculating it is found.
13177 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13178 the case that per char metric is not available correctly.
13179 (x_fill_glyph_string): Handle the case that the specific glyph is
13180 not available correctly.
13181 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13182 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13183 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13184 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13185 fontset. Don't call FS_LOAD_FONT.
13186
439d5cb4
KR
131872000-03-22 Ken Raeburn <raeburn@gnu.org>
13188
13189 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13190 (INT_LISPLIKE): New macro.
13191 (NULL_INTERVAL_P): Use it.
52283633
SM
13192 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13193 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13194 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13195
13196 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13197 explicit references to "parent" field of struct interval and
13198 associated unclean type conversions.
52283633
SM
13199 * intervals.c (create_root_interval, root_interval, rotate_right)
13200 (rotate_left, balance_possible_root_interval, split_interval_right)
13201 (split_interval_left, interval_start_pos, find_interval)
13202 (next_interval, previous_interval, update_interval)
13203 (adjust_intervals_for_insertion, delete_node, delete_interval)
13204 (adjust_intervals_for_deletion, merge_interval_right)
13205 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13206 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13207 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13208 Likewise.
13209 * syntax.c (update_syntax_table): Likewise.
13210
13211 * intervals.c (reproduce_tree_obj): New function, like
13212 reproduce_tree but takes a Lisp_Object for the parent. Declare
13213 with prototype.
13214 (graft_intervals_into_buffer): Use it when appropriate.
13215 (reproduce_tree): Declare with prototype.
13216 (balance_possible_root_interval): Check that the parent is a lisp
13217 object before trying to examine its type.
13218
ee1c5b21
GM
132192000-03-22 Gerd Moellmann <gerd@gnu.org>
13220
13221 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13222 as strings only if both are known to be strings.
13223
13224 * s/openbsd.h (LIBS_TERMCAP): Undef.
13225
1fb352e0
SM
132262000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13227
13228 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13229 definitions for non-Emacs compilation.
13230 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13231 outside of `#ifdef emacs'.
13232 (print_partial_compiled_pattern): Update.
13233 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13234 (re_compile_fastmap): Merge handling of charset and charset_not (for
13235 emacs and non-emacs compilation as well).
13236 Similarly for (not)categoryspec and (not)syntaxspec.
13237 Don't use the fastmap when reaching `anychar' since the added
13238 complexity is not justified.
13239 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13240 and (not)syntaxspec. Merge (not)categoryspec.
13241
fdaa1f77
KH
132422000-03-22 Kenichi Handa <handa@etl.go.jp>
13243
52283633
SM
13244 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13245 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13246 --without-x.
fdaa1f77 13247
d152fb46
DL
132482000-03-21 Dave Love <fx@gnu.org>
13249
13250 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13251 doc string.
13252
d2cafc8c
GM
132532000-03-21 Gerd Moellmann <gerd@gnu.org>
13254
13255 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13256 (lface_fully_specified_p): Don't check contents of
13257 LFACE_FONT_INDEX because that attribute is optional.
13258 (realize_x_face): Remove now unwarranted xassert.
13259
9111d4b5
KH
132602000-03-21 Kenichi HANDA <handa@etl.go.jp>
13261
13262 The following changes are to make font selection based on
13263 characters, not charset. In addition, they recover fontset
13264 facilities while utilizing the new font selection mechanism.
13265
6c4bfdc0
KH
13266 * Makefile.in (fontset.o): Depend on dispextern.h.
13267
13268 * alloc.c (mark_face_cache): Don't mark face->registry.
13269
9111d4b5
KH
13270 * dispextern.h (struct glyph): New member glyph_not_available_p.
13271 Use 22 bits for face_id.
13272 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13273 (struct face): Delete member registry, new member ascii_face.
13274 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13275 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13276 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13277 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13278
13279 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13280 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13281 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13282 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13283 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13284 (fs_free_face_fontset, fontset_font_pattern)
13285 (face_suitable_for_char_p, face_for_char)
13286 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13287 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13288 (FS_LOAD_FACE_FONT): New macro.
13289
13290 * fontset.c: All codes rewritten or adjusted for the change of
13291 fontset implementation. Now fontset is represented by char table.
52283633
SM
13292 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13293 Variables removed.
9111d4b5 13294 (my_strcasecmp): Function removed.
52283633 13295 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13296 (AREF, ASIZE): New macros.
52283633
SM
13297 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13298 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13299 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13300 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13301 (fontset_id_valid_p, font_family_registry, fontset_name)
13302 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13303 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13304 New functions.
13305 (fs_load_font): New arg FACE. Caller changed.
13306 (fs_query_fontset): Argument changed. Caller changed.
13307 (Fquery_fontset): call fs_query_fontset.
13308 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13309 Functions removed.
52283633
SM
13310 (clear_fontset_elements, check_registry_encoding)
13311 (check_fontset_name): New functions.
9111d4b5
KH
13312 (syms_of_fontset): Set char-table-extra-slots property of fontset
13313 to 3. Staticpro and initialize Vfontset_table and
13314 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13315
13316 * frame.h (struct frame): Member `fontset_data' removed.
13317 (FRAME_FONTSET_DATA): Macro removed.
13318
13319 * frame.c (make_frame): Don't allocate f->fontset_data.
13320 (Fdelete_frame): Don't free f->fontset_data.
13321
6c4bfdc0
KH
13322 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13323
9111d4b5
KH
13324 * xdisp.c (charset_at_position): Function removed.
13325 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13326 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13327 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13328 Likewise.
13329 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13330 FACE_FOR_CHARSET.
52283633
SM
13331 (get_next_display_element, append_space)
13332 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13333
13334 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13335 Variables removed.
13336 (clear_font_table, frame_update_line_height, load_face_font):
13337 Adjusted for the change of fontset implementation.
13338 (load_face_fontset_font): Function removed.
13339 (pixel_point_size): New function.
13340 (font_list): Argument type changed. Caller changed.
13341 (LFACE_FONT): New macro.
13342 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13343 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13344 Lisp_Object. Determine the font name by actually loading a font
13345 by the specified pattern. Set LFACE_FONT (lface) to the specified
13346 pattern. Even if a font is not found, don't try alternatives.
13347 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13348 (set_font_frame_param): If `font' is specified in lface, use it.
13349 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13350 (lface_same_font_attributes_p): Likewise.
13351 (make_realized_face): Arguent changed. Caller changed. Set
13352 face->ascii_face to face itself.
13353 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13354 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13355 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13356 (free_realized_multibyte_face): New function.
13357 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13358 changed. Caller changed.
13359 (try_font_list): Argument type changed.
13360 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13361 (choose_face_font): Argument changed. Handle fontset properly.
13362 (choose_face_fontset_font): Function removed.
13363 (realize_default_face, realize_named_face): Don't remove the
13364 former face here.
13365 (realize_face): Argument changed. Caller changed. Remove face
52283633 13366 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13367 (realize_x_face): Argument changed. Caller changed. For a
13368 multibyte character, share fontset with base_face. For a single
52283633 13369 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13370 (realize_tty_face): Argument changed. Caller changed.
13371 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13372 (face_at_buffer_position): Don't check multibyte_p for returning
13373 DEFAULT_FACE_ID.
13374 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13375 FACE_SUITABLE_FOR_CHARSET_P.
13376 (syms_of_xfaces): Remove code for Qx_charset_registry and
13377 Vface_default_registry.
13378
6c4bfdc0
KH
13379 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13380 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13381 (x_per_char_metric): Don't try FONT->default_char. Even if
13382 pcm->width is zero, glyph bits may exist.
13383 (x_encode_char): Always initialize char2b->byte1.
13384 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13385 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13386 (x_append_glyph): Set glyph->glyph_not_available_p.
13387 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13388 it->charset. Handle the case that per char metric is not
13389 available. If it->multibyte_p is zero and it->c is a multibyte
13390 character, convert it to a unibyte character.
13391 (struct glyph_string): Delete member `charset'.
13392 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13393 the case that per char metric is not available correctly.
13394 (x_fill_glyph_string): Handle the case that the specific glyph is
13395 not available correctly.
13396 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13397 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13398 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13399 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13400 fontset. Don't call FS_LOAD_FONT.
13401
13402 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13403 (x_create_tip_frame): Likewise.
13404 (Fx_close_connection): Free full_name of font_info.
13405
13406 * fns.c (optimize_sub_char_table): New function.
13407 (Foptimize_char_table): New function.
13408 (syms_of_fns): Defsubr Soptimize_char_table.
13409
b33dd3b0
GM
134102000-03-20 Gerd Moellmann <gerd@gnu.org>
13411
13412 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13413 only if buffer is displayed in some window.
13414
13415 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13416 (try_window_reusing_current_matrix): Don't call scroll run
13417 function if run's current and desired position are the same;
13418 this prevents cursor flickering.
13419
4e8a9132
SM
134202000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13421
13422 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13423
13424 * regex.c (RE_STRING_CHAR): New macro.
13425 (GET_CHAR_AFER_2): Remove.
13426 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13427 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13428 (print_partial_compiled_pattern, re_compile_fastmap)
13429 (re_match_2_internal): Remove on_failure_jump_exclusive.
13430 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13431 optimization only need to work for * (ie. can use of_keep_string_jump).
13432 Remove the special case for .*\n since it is now covered by the general
13433 optimization.
13434 (re_search_2): Don't bother with `room'.
13435 (skip_one_char): New function.
13436 (skip_noops): Simplify since `memory' is not needed any more.
13437 (mutually_exclusive_p): Restructure slightly to use `switch' and
13438 add handling for "all" remaining cases.
13439 (re_match_2_internal): Change on_failure_jump_smart to use
13440 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13441 rather than on_failure_jump_exclusive.
13442
2136fdd4
GM
134432000-03-19 Gerd Moellmann <gerd@gnu.org>
13444
13445 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13446 number of bits per RGB because it's everywhere used as the depth
13447 of the visual.
13448
13449 * term.c (calculate_costs): Remove code dealing with X frames.
13450
18e21ce8 134512000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13452
13453 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13454
d7b511c4
GM
134552000-03-18 Gerd Moellmann <gerd@gnu.org>
13456
13457 * lread.c (read_integer): Unread the last char not consumed.
13458
16b5d424
GM
134592000-03-17 Gerd Moellmann <gerd@gnu.org>
13460
13461 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13462 which are in the process of being deleted.
16b5d424 13463
1fa28578
GM
134642000-03-16 Gerd Moellmann <gerd@gnu.org>
13465
83488cce
GM
13466 * Makefile.in (mostlyclean): Add `*.core'.
13467 (clean): Add `bootstrap-emacs'.
13468
1fa28578
GM
13469 * lread.c (read_integer): New function.
13470 (read1): Support read syntax #o, #x, #b, #r.
13471
99633e97
SM
134722000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13473
1fa28578
GM
13474 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13475 make sure POINTER_TO_OFFSET gives the same value before and after
13476 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13477 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13478 (debug): Now only active if > 0 rather than if != 0.
13479 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13480 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13481 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13482 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13483 (store_op1, store_op2, insert_op1, insert_op2)
13484 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13485 (group_in_compile_stack): Move to after its arg's types are
13486 declared and add a prototype.
99633e97 13487 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13488 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13489 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13490 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13491 indentation of the greedy-op and shy-group code.
99633e97
SM
13492 (at_(beg|end)line_loc_p): Fix argument's types.
13493 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13494 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13495 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13496 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13497 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13498 QUIT unconditionally.
99633e97 13499
699238d9
GM
135002000-03-15 Gerd Moellmann <gerd@gnu.org>
13501
13502 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13503 a sole completion.
13504
13505 * process.c (send_process): Add a hint that the function
13506 can call Lisp code to its comment.
13507
13508 * lread.c (load_dangerous_libraries): New variable.
13509 (Vbytecomp_version_regexp): New variable.
13510 (safe_to_load_p): New function.
13511 (Fload): Handle files not compiled with Emacs specially.
13512 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13513
34e23e5a
GM
135142000-03-14 Gerd Moellmann <gerd@gnu.org>
13515
9c763cca
GM
13516 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13517
13518 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13519 support functions only if HAVE_X11R6_XIM is defined.
13520 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13521
13522 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13523
13524 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13525 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13526 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13527
13528 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13529 (HAVE_X11R6_XIM): Define.
13530
13531 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13532
34e23e5a
GM
13533 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13534 If set, call XSynchronize.
13535
66f0296e
SM
135362000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13537
34e23e5a
GM
13538 * regex.c: Declare a new type `re_char' used throughout the code
13539 for the string char type. It's `const unsigned char' to match the
13540 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13541 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13542 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13543 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13544 code duplication.
66f0296e
SM
13545
13546 * charset.h (GET_CHAR_AFTER_2): Remove.
13547 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13548
854a025c
KR
135492000-03-12 Ken Raeburn <raeburn@gnu.org>
13550
13551 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13552 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13553 of them try to use backquotes.
13554
b9d2c7e2
DL
135552000-03-12 Dave Love <fx@gnu.org>
13556
13557 * unexelf.c: Restore changes of 1999-10-19.
13558 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13559 fix its type and alignment; copy it from current process.
13560
5e5dff44
GM
135612000-03-12 Gerd Moellmann <gerd@gnu.org>
13562
9b2f3c38
GM
13563 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13564 has been found. Fix bug not computing timer's predecessor.
13565
427ec082 13566 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13567 file name.
13568
e1cff360
GM
13569 * window.c (Fsave_window_excursion): Doc fix.
13570
52283633 13571 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13572
e411ce4b
EZ
135732000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13574
13575 * msdos.c (vga_installed): New function, code moved from
13576 dos_set_window_size.
13577 (Qbar, Qcursor_type, outside_cursor): New variables.
13578 (syms_of_msdos): Intern and staticpro them.
13579 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13580 shape used outside Emacs when called for the first time.
13581 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13582 cursor shape used outside Emacs.
13583 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13584 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13585 type has changed.
13586 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13587 parameters specify the cursor. Make qreverse a global
13588 variable (renamed to Qreverse).
13589
80460654
GM
135902000-03-09 Gerd Moellmann <gerd@gnu.org>
13591
13592 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13593
95cd4c40
SM
135942000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13595
13596 This is a big redesign of failure-stack and register handling, prompted
13597 by bugs revealed when trying to add shy-groups. Overall, what happened
13598 is that loops are now structured a little differently, groups can be
13599 shy and the code is a little simpler.
13600
13601 * regex.h: Update the copyright.
13602 (RE_SHY_GROUPS): New value.
13603 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13604 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13605
80460654
GM
13606 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13607 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13608 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13609 for (start|stop)_memory since they now only take one argument (the
13610 second has becomes unnecessary).
52283633 13611 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13612 (print_compiled_pattern): Use %ld to printf long ints and flush to
13613 make debugging a little easier.
95cd4c40
SM
13614 (union fail_stack_elt): Make the integer unsigned.
13615 (struct fail_stack_type): Add a `frame' element.
13616 (INIT_FAIL_STACK): Init `frame' as well.
13617 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13618 (DEBUG_PUSH, DEBUG_POP): Remove.
13619 (NUM_REG_ITEMS): Remove.
13620 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13621 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13622 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13623 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13624 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13625 New macros.
80460654
GM
13626 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13627 address pushed is not the destination of the jump but the source
13628 of it instead.
95cd4c40
SM
13629 (NUM_FAILURE_ITEMS): Remove.
13630 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13631 registers before the actual failure point). Don't hardcode any
13632 meaning for str==NULL anymore.
95cd4c40 13633 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13634 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13635 Remove.
95cd4c40
SM
13636 (REG_UNSET_VALUE): Use NULL (why not?).
13637 (compile_range): Remove declaration since it doesn't exist.
13638 (struct compile_stack_elt_t): Remove inner_group_offset.
13639 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13640 (regex_grow_registers): Remove dead code.
13641 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13642 (regex_compile): Add shy-groups Change loops to use
13643 on_failure_jump_smart&jump instead of
13644 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13645 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13646 variable to me). Use `jump' instead of `jump_past_alt' and don't
13647 bother with push_dummy_failure in alternatives since it is now
13648 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13649 emacs' for (re)allocating the stack.
13650 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13651 from loop when bufp->can_be_null rather than jumping to `done'.
13652 Avoid jumping backwards so as to ensure termination. Use
13653 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13654 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13655 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13656 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13657 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13658 (lowest_active_reg, highest_active_reg)
13659 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13660 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13661 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13662 variables. Push register (in `start_memory') on the stack rather
13663 than storing it in old_reg(start|end). Remove the cycle detection
13664 from `stop_memory', replaced by the use of on_failure_jump_loop
13665 for greedy loops. Add code for the new on_failure_jump_<foo>.
13666 Remove ad-hoc code in `on_failure_jump' to push more registers in
13667 the case of a loop. Take out code from `maybe_pop_jump' into
13668 separate functions and adapt it to the semantics of
13669 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13670 and push_dummy_failure. Remove dummy_failure handling and
13671 handling of `failures to jump to on_failure_jump' (this last one
13672 was already dead code, it seems).
13673 (group_match_null_string_p, alt_match_null_string_p)
13674 (common_op_match_null_string_p): Remove.
95cd4c40 13675
7397acc4
DL
136762000-03-08 Dave Love <fx@gnu.org>
13677
13678 * config.in: Don't depend on __STDC__ for volatile.
13679 Add POINTER_TYPE, PTR, PROTOTYPES.
13680
13681 * hftctl.c, strftime.c: Use PROTOTYPES.
13682 * eval.c (find_handler_clause): Likewise.
13683
13684 * mem-limits.h: Use POINTER_TYPE.
13685
13686 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13687 (memory_warnings): Declare using POINTER_TYPE.
13688
5e91ff9e
GM
136892000-03-08 Gerd Moellmann <gerd@gnu.org>
13690
feab4fba
GM
13691 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13692
52283633 13693 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13694
5e91ff9e
GM
13695 * xfns.c: Remove obsolete code in #if 0.
13696 (Fx_focus_frame): New function.
13697
a735b7e1
KH
136982000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13699
13700 * coding.c (coding_category_name): Add coding-category-utf-8,
13701 coding-category-utf-16-be, coding-category-utf-16-le.
13702 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13703 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13704 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13705 (detect_coding_utf_8): New function.
13706 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13707 UTF_16_LOW_SURROGATE_P): New macros.
13708 (detect_coding_utf_16): New function
13709 (detect_coding_mask): When priorities are specified, skip any
13710 categories that have `nil' coding-system. Fix bug of returning
13711 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13712 returns a mask not set in PRIORITIES.
13713 (detect_eol_type_in_2_octet_form): New function.
13714 (detect_eol): selects detect_eol_type_XXX to call according to
13715 cooding->category_idx.
13716 (detect_coding_system): Remove `nil' coding-system in the result.
13717 (Fupdate_coding_systems_internal): Update all coding-categories.
13718
52283633
SM
13719 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13720 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13721 New macros.
13722 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13723 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13724 (CODING_CATEGORY_IDX_UTF_16_LE)
13725 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13726 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13727 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13728 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13729
9994cc69
GM
137302000-03-07 Gerd Moellmann <gerd@gnu.org>
13731
e9b4e5ff
GM
13732 * doc.c (Fdocumentation_property): If value is not a string,
13733 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13734
f7daf1e1
GM
13735 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13736 close the display with XtCloseDisplay. This caused a bus error
13737 on OpenWindows.
13738
9994cc69
GM
13739 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13740 complete but not unique.
13741
4336c705
GM
137422000-03-06 Gerd Moellmann <gerd@gnu.org>
13743
18bb0684
GM
13744 * process.c (send_process): Remove local variable `procname' that
13745 might become invalid when a GC happens. Instead, access the
13746 process name slot directly.
13747
4336c705
GM
13748 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13749 orig_height if set.
13750
13751 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13752 orig_height if set.
13753
515d0d0e
EZ
137542000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13755
13756 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13757 glyph matrices have been freed.
13758
100b3cbb
GM
137592000-03-05 Gerd Moellmann <gerd@gnu.org>
13760
50df5e5a 13761 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13762 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13763
13764 * xfns.c (QCdata): Moved to xdisp.c.
13765
13766 * xdisp.c (QCdata): Moved here from xfns.c.
13767 (syms_of_xdisp): Initialize QCdata.
13768
13769 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13770
13771 * window.c (coordinates_in_window): Use
13772 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13773 FRAME_INTERNAL_BORDER_WIDTH.
13774
100b3cbb 13775 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13776 it is obviously invalid.
100b3cbb
GM
13777
13778 * xterm.c (x_term_init): Create a colormap if not using the
13779 default visual.
13780
13781 * xterm.h (select_visual): Change prototype.
13782
13783 * xfns.c (select_visual): Rewritten. Recognize user-specified
13784 visual classes.
13785 (visual_classes): New variable.
13786
64d739c4
GM
137872000-03-04 Gerd Moellmann <gerd@gnu.org>
13788
13789 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13790 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13791 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13792 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13793 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13794 XtNcolormap resources.
13795 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13796 (Fx_create_frame): Initialize color members of x_output structure.
13797 (xpm_load): Pass colormap to XPM lib.
13798
13799 * xfaces.c (x_free_colors): Access colormap of frame using
13800 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13801 when default colormap is used.
13802
13803 * xterm.c (x_term_init): Set Colormap member of x_display_info
13804 structure. Copy colormap if resource `privateColormap' is
13805 specified (PseudoColor only).
13806 (x_setup_relief_color): Access colormap of frame using
13807 FRAME_X_COLORMAP.
13808
13809 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13810 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13811
c3cee013
JR
138122000-03-04 Jason Rumney <jasonr@gnu.org>
13813
13814 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13815 other non-platform-specific equivalents.
64d739c4 13816 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13817 specific functions and macros as their w32 equivalents where
13818 non-platform-specifics are not available.
13819 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13820 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13821 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13822 (frame_update_line_height): Use macros to access f->output_data.
13823 (defined_color): Remove FIXME comments; fixed.
13824 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13825 into #ifdef blocks. Add WINDOWSNT blocks.
13826 (Fx_list_fonts): Use macros for accessing font data.
13827 (set_lface_from_font_name): Different default fonts for X and
13828 WINDOWSNT.
13829 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13830 scalable for backward compatibility.
64d739c4 13831 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13832 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13833
64d739c4 13834 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13835 syms_of_w32faces.
13836
13837 * makefile.nt (w32faces.obj): Remove.
13838 (xfaces.obj): Add.
13839
807cc41c
JR
138402000-03-03 Jason Rumney <jasonr@gnu.org>
13841
13842 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13843 correct parameters.
13844
0007072a
KR
138452000-03-03 Ken Raeburn <raeburn@gnu.org>
13846
13847 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13848 standard ELF definitions here if the system header does not.
13849
71a6ba55
GM
138502000-03-03 Gerd Moellmann <gerd@gnu.org>
13851
13852 * xterm.c (PER_CHAR_METRIC): Removed.
13853 (x_per_char_metric_1, x_default_char): New functions.
13854 (x_per_char_metric): If font's default char is invalid, return
13855 metrics of a suitably chosen usable default char.
13856 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13857 char, replace occurrences of unprintable chars with a suitably
13858 chosen usable default char.
71a6ba55 13859
900fa1f1
GM
138602000-03-02 Gerd Moellmann <gerd@gnu.org>
13861
42f55fe0
GM
13862 * xterm.c (note_mouse_highlight): Return quickly if frame's
13863 glyph matrices have been freed.
13864
13865 * dispnew.c (free_glyphs): Block input while freeing matrices.
13866
900fa1f1
GM
13867 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13868
52283633
SM
13869 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13870 Use x_free_colors.
900fa1f1
GM
13871
13872 * dispextern.h (x_free_colors): Add prototype.
13873
13874 * xfaces.c (x_free_colors): New function.
13875 (unload_color, free_face_colors): Use it.
13876
2f950292
EZ
138772000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13878
13879 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13880
13881 * window.c [MSDOS]: Include msdos.h.
13882
54d04320
DL
138832000-03-02 Dave Love <fx@gnu.org>
13884
13885 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13886
13887 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13888 set C_OPTIMIZE_SWITCH for gcc.
13889
0ba93ac4
KH
138902000-03-02 Kenichi Handa <handa@etl.go.jp>
13891
13892 * coding.c (coding_save_composition): Be sure to allocate
13893 composition data area in coding even if there's no composition in
13894 the current run.
13895
a2bc11d4
JR
138962000-03-01 Jason Rumney <jasonr@gnu.org>
13897
13898 * w32term.c: Equivalent changes to those made to xterm.c on
13899 2000-02-25 and 2000-02-24.
13900
13901 * w32fns.c: Equivalent changes to those made to xfns.c on
13902 2000-02-25 and 2000-02-21.
13903
13904 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13905 correct line-end convention is followed.
13906
13907 * w32menu.c [HAVE_BOXES]: Remove #undef.
13908 (single_keymap_panes): Remove code for simulating checkmarks.
13909 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13910 Remove code for drawing simulated checkmarks.
13911 (w32_menu_show): make unibyte help string correctly.
13912 (add_menu_item): draw standard Windows checkmarks. Draw radio
13913 buttons as radio buttons if possible.
13914
72d19d75
GM
139152000-03-01 Gerd Moellmann <gerd@gnu.org>
13916
2df636f4
GM
13917 * sysdep.c (start_of_text): Don't define this function for NetBSD
13918 with ELF.
13919
427ec082 13920 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13921 Don't define.
13922 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13923 (LINKER): Don't undef if __NetBSD__ is defined.
13924
13925 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13926
13927 * fileio.c [__NetBSD__]: Define `unix'.
13928
72d19d75
GM
13929 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13930
ed4d0512
GM
139312000-02-29 Gerd Moellmann <gerd@gnu.org>
13932
50b1039f
GM
13933 * atimer.c (start_atimer): Don't abort when timers are stopped.
13934 (append_atimer_lists): New function.
13935 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13936 arbitrary lists of stopped and running atimers.
13937
ed4d0512
GM
13938 * atimer.c (cancel_atimer): Handle canceling an atimer when
13939 some timers are stopped.
13940
13941 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13942 after canceling it.
13943
13944 * fns.c (maybe_resize_hash_table): Handle case of new size
13945 coming out as being the same as old size.
13946
387023ee
JR
139472000-02-27 Jason Rumney <jasonr@gnu.org>
13948
13949 * makefile.nt: Add atimer.h to dependencies.
13950 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13951 * w32console.c: Only disable window system features for dispextern.h
13952 (initialize_w32_display): Build a display info for the console.
13953 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13954 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13955 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13956 as 2 button mice.
13957 * w32gui.h (struct W32FontStruct): Revert last change after change
13958 to xdisp.c.
13959 * w32menu.c (single_submenu): Set up help string.
13960 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13961 (w32_dialog_show): Set up help string.
13962 * w32term.c (w32_display_info_for_display): Remove unused function.
13963 (w32_draw_bitmap): Use pre-built bitmaps.
13964 (w32_initialize_display_info): New function to initialize parts of
13965 display info that are common to both GUI and console frames.
13966 (w32_term_init): Use w32_initialize_display_info. Do not set
13967 Vw32_num_mouse_buttons here, as it is not called for console
13968 frames. Build bitmaps for indicating truncated lines etc.
13969 (x_delete_display): Destroy pre-built bitmaps.
13970 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13971 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13972
4516715a
DL
139732000-02-27 Dave Love <fx@gnu.org>
13974
13975 * lisp.h: Add a bunch of prototypes.
13976
171ca836
KH
139772000-02-26 Kenichi Handa <handa@etl.go.jp>
13978
13979 * keyboard.c (read_char): Set `usec' correctly.
13980
4013921d
KH
139812000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13982
13983 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13984 `lambda', set reg[RRR] to the map index.
13985 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13986 reg[RRR] to 0. Otherwise, set it to -1.
13987
9244a058
GM
139882000-02-25 Gerd Moellmann <gerd@gnu.org>
13989
2df636f4 13990 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13991
18e21ce8 139922000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13993
f43d79c1
GM
13994 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13995 and contains a `:', prepend `/:'.
13996
13997 * window.c (select_window_1): If selected_window is nil,
13998 don't "swap out" the buffer's point.
13999 (Fset_window_configuration): Set selected_window to nil
14000 before calling Fselect_window.
14001 (unshow_buffer): Don't set point in buffer from window's point
14002 if another more recently selected window also shows the buffer.
14003
bed0c171
GM
140042000-02-25 Gerd Moellmann <gerd@gnu.org>
14005
449c3c52
GM
14006 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14007
f5b58615
GM
14008 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14009 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14010 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14011 New variables.
f5b58615
GM
14012 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14013 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14014 (hide_busy_cursor): New functions.
14015 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14016
14017 * minibuf.c (read_minibuf): Cancel busy-cursor.
14018
14019 * keyboard.c (command_loop_1): Call start_busy_cursor before
14020 Fcommand_execute and cancel_busy_cursor after it.
14021 (timer_check): Remove busy-cursor code.
14022 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14023 cursor timer.
14024
14025 * process.c (wait_reading_process_input): Remove busy-cursor code.
14026
14027 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14028 Fx_hide_busy_cursor.
14029
14030 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14031 Remove prototyoes.
14032 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14033
14034 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14035
14036 * xterm.c (XTread_socket): Remove busy-cursor code.
14037
4eb8436f
GM
14038 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14039 (build_frame_matrix_from_leaf_window): Put code handling
14040 glyph row's not being a slice of a frame row in #if 0.
14041 (sync_window_with_frame_matrix_rows): New function.
14042 (frame_row_to_window): New function.
14043 (mirror_line_dance): Handle copies between windows.
14044
3cb65b0e
GM
14045 * lread.c (Fload): Use `xfree' instead of `free'.
14046 (init_obarray): Use `xmalloc' instead of `malloc'.
14047
bed0c171
GM
14048 * window.c (Fset_window_buffer): Set WINDOW to the window
14049 after decoding.
2add4349
GM
14050 (coordinates_in_window): Take frame's internal border width
14051 into account.
bed0c171 14052
42088c12
GM
140532000-02-24 Gerd Moellmann <gerd@gnu.org>
14054
14055 * xterm.c (x_display_and_set_cursor): Display cursor of
14056 non-selected windows depending on the setting of
14057 cursor_in_non_selected_windows.
14058
14059 * xdisp.c (cursor_in_non_selected_windows): New variable.
14060 (syms_of_xdisp): DEFVAR_BOOL it.
14061
d1e103b2
GM
140622000-02-23 Gerd Moellmann <gerd@gnu.org>
14063
723e779c
GM
14064 * data.c (Fstring_to_number): If number is greater than what
14065 fits into an integer, return a float.
14066
d1e103b2
GM
14067 * eval.c (specbind): Remove references to
14068 keyword_symbols_constant_flag.
14069
14070 * data.c (keyword_symbols_constant_flag): Removed.
14071 (Fmakunbound, set_internal, syms_of_data): Remove references to
14072 keyword_symbols_constant_flag.
14073
14074 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14075
214f877f
KH
140762000-02-23 Kenichi Handa <handa@etl.go.jp>
14077
14078 * syntax.c (multibyte_syntax_as_symbol): New variable.
14079 (syms_of_syntax): Declare it as a Lisp variable.
14080 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14081 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14082 nonzero, treat all multibyte characters as symbol.
52283633 14083 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14084
130adcb7
EZ
140852000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14086
3cb65b0e 14087 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14088 a deleted frame.
130adcb7 14089
17cbbf95
GM
140902000-02-21 Gerd Moellmann <gerd@gnu.org>
14091
14092 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14093
14094 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14095 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14096
beb0bc36
DL
140972000-02-21 Dave Love <fx@gnu.org>
14098
14099 * frame.c (Vmouse_position_function): New variable.
14100 (Fmouse_position): Use it.
14101 (syms_of_frame): Install it.
14102
14103 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14104
1d92afcd
GM
141052000-02-20 Gerd Moellmann <gerd@gnu.org>
14106
14107 * fileio.c (Finsert_file_contents): Unbind the binding of
14108 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14109
14110 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14111 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14112 (specbind, unbind_to): Handle most common case of non-constant
14113 symbol with trivial value specially.
14114
14115 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14116
18e21ce8 141172000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14118
14119 * data.c (Fmake_variable_buffer_local): Doc fix.
14120 Init found_for_buffer to 0.
14121 (Fmake_variable_frame_local): If the variable has already
14122 been buffer-local, set the check_frame field.
14123
1d4311c3
EZ
141242000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14125
14126 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14127 produced for CODING_MODE_LAST_BLOCK requires.
14128
2dc95ddd
DL
141292000-02-18 Dave Love <fx@gnu.org>
14130
14131 * keyboard.c (echo_keystrokes): Remove declaration.
14132 (Vecho_keystrokes) New variable.
14133 (read_char, record_menu_key, read_key_sequence): Use it to allow
14134 use of float value.
14135 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14136
14137 * lread.c: Undef feature selection macros before defining.
14138
f0930f35
GM
141392000-02-18 Gerd Moellmann <gerd@gnu.org>
14140
14141 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14142 for symbols other than the symbol in question.
14143
e3d4de90
DL
141442000-02-17 Dave Love <fx@gnu.org>
14145
14146 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14147
0b378936
GM
141482000-02-17 Gerd Moellmann <gerd@gnu.org>
14149
d621caf7
GM
14150 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14151
0b378936
GM
14152 * alloc.c (enum mem_type): Compile unconditionally.
14153
3b451f74
EZ
141542000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14155
14156 * xfaces.c (tty_defined_color): Don't return faulire indication
14157 for unspecified-fg and unspecified-bg pseudo-colors.
14158
10689a01
GM
141592000-02-17 Gerd Moellmann <gerd@gnu.org>
14160
1216f5e4
GM
14161 * alloc.c (mark_object): Don't mark symbol names in pure space.
14162 (gc_sweep): Don't unmark symbol names in pure space.
14163
14164 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14165 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14166 [GC_MARK_STACK]: New defines.
427ec082 14167 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14168 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14169
14170 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14171
14172 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14173 allocate_buffer instead of xmalloc.
14174
14175 * alloc.c (toplevel): Include setjmp.h.
14176 (PURE_POINTER_P): New define.
14177 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14178 (Vdead) [GC_MARK_STACK]: New variable.
14179 (lisp_malloc): Add parameter TYPE, call mem_insert if
14180 GC_MARK_STACK is defined.
14181 (allocate_buffer): New function.
427ec082 14182 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14183 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14184 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14185 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14186 (MEM_NIL) [GC_MARK_STACK]: New define.
14187 (struct mem_node) [GC_MARK_STACK]: New structure.
14188 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14189 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14190 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14191 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14192 (mark_stack) [GC_MARK_STACK]: New functions.
14193 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14194 (clear_marks): Removed.
14195 (gc_sweep): Set free conses' car, free floats' type, free
14196 symbols' function to Vdead. Use lisp_free to free buffers.
14197 (init_alloc_once): Initialize Vdead.
14198 (survives_gc_p): Return non-zero for pure objects.
14199
14200 * alloc.c: Add comments throughout the file.
14201
2503c8b1
GM
14202 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14203 that unblocks alarms.
14204
8389e1e2
GM
14205 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14206 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14207 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14208
10689a01 14209 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14210
bfc17d18
KH
142112000-02-17 Kenichi Handa <handa@etl.go.jp>
14212
4a09dee0
KH
14213 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14214 avoid infinite error signaling. Allocate sufficient memory for
14215 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14216
2b927d02
SM
142172000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14218
14219 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14220 depends on the previous behavior.
14221
b49cb764
GM
142222000-02-16 Gerd Moellmann <gerd@gnu.org>
14223
14224 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14225
99e95407
GM
142262000-02-15 Gerd Moellmann <gerd@gnu.org>
14227
14228 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14229
14230 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14231 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14232 write(2).
14233
6ffd3cf7
RS
142342000-02-15 Richard M. Stallman <rms@gnu.org>
14235
14236 * data.c (set_internal): Don't make variable buffer-local
14237 if within a let-binding for the same buffer.
14238 (let_shadows_buffer_binding_p): New function.
14239
14240 * eval.c (specbind): For buffer-local value,
14241 record the current buffer also.
14242 (unbind_to): Cope with that change.
14243
cad53475
GM
142442000-02-15 Gerd Moellmann <gerd@gnu.org>
14245
14246 * window.c (Fsave_window_excursion): Doc fix.
14247
1aa963c8
SM
142482000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14249
14250 * syntax.c (back_comment): Make sure we only consider comment-starters
14251 of the relevant style and return -1 in case of a failure to find the
14252 beginning of the comment.
14253 (Fforward_comment): If back_comment fails, go back to the position just
14254 after the comment-end.
14255 (scan_lists): Add comment describing a very minor bug.
14256
b9b84fd3
SM
142572000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14258
14259 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14260 `completion-regexp-list' in the docstring.
14261
3a28db80
DL
142622000-02-14 Dave Love <fx@gnu.org>
14263
14264 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14265
fb4a568d
SM
142662000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14267
14268 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14269 to Emacs' syntax. Also fix the comment about set/not-set meanings
14270 since Emacs syntax is not the value 0 any more.
14271 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14272 since it's now part of RE_SYNTAX_EMACS.
14273
1063ebb5
DL
142742000-02-12 Dave Love <fx@gnu.org>
14275
52283633 14276 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14277
fb07a302
GM
142782000-02-12 Gerd Moellmann <gerd@gnu.org>
14279
14280 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14281
aaf2320c
DL
142822000-02-12 Dave Love <fx@gnu.org>
14283
14284 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14285
14286 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14287 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14288 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14289
14290 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14291
14292 * s/nextstep.h: Don't define HAVE_ALLOCA.
14293
14294 * config.in: Add vfork bits.
14295
eedf8bde
GM
142962000-02-12 Gerd Moellmann <gerd@gnu.org>
14297
14298 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14299 unwind function to undo the effect of stopping atimers.
14300
52283633 14301 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14302
14303 * atimer.c (stopped_atimers): New variable.
14304 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14305 New functions.
14306
14307 * atimer.h (stop_other_atimers, run_all_atimers)
14308 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14309
eedf8bde
GM
14310 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14311
8476c2f8
KR
143122000-02-11 Ken Raeburn <raeburn@gnu.org>
14313
14314 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14315 library may depend on jpeg.
14316 (atimer.o): Depends on atimer.c.
14317
0e85e4a3
KH
143182000-02-11 Kenichi Handa <handa@etl.go.jp>
14319
14320 * insdel.c (del_range_1): Call update_compositions.
14321 (del_range_both): Call update_compositions just once..
14322
97fa0cc8
DL
143232000-02-10 Dave Love <fx@gnu.org>
14324
14325 * xfns.c (create_frame_xic): Fix initialization of automatic
14326 aggregates for pcc.
14327
25566a3c
KH
143282000-02-09 Kenichi Handa <handa@etl.go.jp>
14329
14330 * ccl.c (CCL_MAKE_CHAR): New macro.
14331 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14332 registers by CCL_MAKE_CHAR before calling translate_char.
14333 <CCL_TranslateCharacterConstTbl> Likewise.
14334
69da54ba
DL
143352000-02-08 Dave Love <fx@gnu.org>
14336
14337 * lread.c (__EXTENSIONS__): Define.
14338
f7136ee8
GM
143392000-02-08 Gerd Moellmann <gerd@gnu.org>
14340
14341 * puresize.h (BASE_PURESIZE): Increase to 650000.
14342
7768790b
EZ
143432000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14344
14345 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14346 the help message.
14347
38fd211b
EZ
143482000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14349
14350 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14351 md, mh, mb, mr, and me to the fake termcap entry.
14352
66e4690f
KR
143532000-02-06 Ken Raeburn <raeburn@gnu.org>
14354
14355 * sound.c (sound_cleanup): Don't call device close routine if the
14356 function pointer is null.
14357
a75dfea0
AI
143582000-02-06 Andrew Innes <andrewi@gnu.org>
14359
14360 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14361 around image definitions and prototypes.
14362 (gamma_correct) [WINDOWSNT]: New prototype.
14363
14364 * w32term.c (x_make_frame_visible): Replace call to
14365 input_poll_signal with poll_for_input.
14366
14367 * window.c [WINDOWSNT]: Include w32term.h.
14368
14369 * xdisp.c [WINDOWSNT]: Include w32term.h.
14370
14371 * makefile.nt: Add dependencies on w32gui.h.
14372 (OBJ1): Include atimer.obj.
14373 ($(BLD)\atimer.obj): New dependency rule.
14374
14375 * w32.c (sigmask): New function (does nothing).
14376 (sigunblock): Ditto.
14377
14378 * frame.c [WINDOWSNT]: Include w32term.h.
14379
14380 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14381
14382 * lread.c (syms_of_lread): Fix literal newlines.
14383
14384 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14385 the string constant limit (2048 bytes) in MSVC.
14386 (main): Ditto.
14387
59ddecde
GM
143882000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14389
52283633 14390 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14391 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14392 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14393 dispatch the event.
14394
07590973
DL
143952000-02-04 Dave Love <fx@gnu.org>
14396
14397 * fileio.c: Remove some unused vars.
14398 (_GNU_SOURCE): Define (for euidaccess).
14399
14400 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14401
14402 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14403 gcpro1, gcpro2.
14404 (read_minibuf): Deal with allow_props correctly.
14405
649351f9
EZ
144062000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14407
14408 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14409
66e4690f 144102000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14411
14412 * search.c (compile_pattern): If a cache entry has a nil regexp,
14413 fill in that entry instead of clobbering a previously cached
14414 string regexp.
14415
66e4690f 144162000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14417
14418 * puresize.h (BASE_PURESIZE): Increase to 610000.
14419
d240a249
GM
144202000-02-02 Gerd Moellmann <gerd@gnu.org>
14421
14422 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14423 can GC.
14424
ca91fb26
KH
144252000-02-02 Kenichi Handa <handa@etl.go.jp>
14426
25660570
KH
14427 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14428 instead of incrementing ic directly.
14429 <CCL_WriteExprConst> Likewise.
14430 <ccl_set_expr>: Set ic to jump_address.
14431
ca91fb26
KH
14432 * fileio.c (e_write): Fix the handling of
14433 CODING_FINISH_INSUFFICIENT_SRC.
14434
2ede9689
DL
144352000-02-01 Dave Love <fx@gnu.org>
14436
14437 * editfns.c (Fpropertize): Doc fix.
14438
14439 * process.c (Fstart_process): Doc fix.
14440
14441 * eval.c: Fix various doc strings not to duplicate information
14442 from help-manyarg-func-alist.
14443
52283633 14444 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14445
14446 * doc.c (Vhelp_manyarg_func_alist): New variable.
14447 (Fdocumentation): Use it.
14448 (syms_of_doc): Define it.
14449
b6680a0e
GM
144502000-01-31 Gerd Moellmann <gerd@gnu.org>
14451
2cb750ba
GM
14452 * xterm.c (xim_open_dpy): Remove unused local variable.
14453
52283633 14454 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14455
14456 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14457 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14458
b6680a0e
GM
14459 * fns.c (sweep_weak_table): New function.
14460 (sweep_weak_hash_tables): Use it. Keep on marking until there
14461 is no more change.
14462
994c5afe
GM
144632000-01-30 Gerd Moellmann <gerd@gnu.org>
14464
14465 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14466 that XTread_socket does not crash by trying to call XNoOp on a
14467 closed display.
427ec082 14468
f00276e3
JR
144692000-01-30 Jason Rumney <jasonr@gnu.org>
14470
14471 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14472 Change selected_frame to SELECTED_FRAME ().
14473 (w32_console_mouse_position): Remove #ifndef MULE from around
14474 `insist' parameter.
14475
14476 * makefile.nt: Remove dosfns.obj.
14477
14478 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14479
14480 * w32fns.c (w32_defined_color): Check for valid frame before
14481 applying gamma correction. Eliminate dependency on frame elsewhere.
14482 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14483 (w32_to_x_font): Use resx and resy not height_in and width_in.
14484 (x_to_w32_font): Doc fix.
14485 (xlfd_strip_height): New function to strip and return font height.
14486 (w32_font_match): Compare height separately from rest of xlfd
14487 spec, using xlfd_strip_height.
14488
14489 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14490 width_in. Use w32_defined_color in place of defined_color.
14491
14492 * w32faces.c: Merge more of DOS and X specifics in preparation for
14493 merge with xfaces.c.
14494 (defined_color): Remove FIXME comment.
14495 (tty_color_name): Provide w32-specific function.
14496 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14497
14498 * w32console.c (turn_on_face, turn_off_face): Removed.
14499 (w32_face_attributes): New function.
14500 (Global_variables): Reduce scope where possible.
14501 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14502 fill attribute.
14503 (hl_mode): Don't modify text attributes.
14504 (write_glyphs): Don't do anything if len <= 0. Use
14505 w32_face_attributes to get attributes for drawing. Write
14506 terminating codes using char_attr_normal.
14507 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14508 (update_begin, update_end): Likewise.
14509 (vga_stdcolor_name): New function.
14510 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14511 (Fset_screen_color): Remove char_attr_reverse.
14512
b08e8bb2
GM
145132000-01-29 Gerd Moellmann <gerd@gnu.org>
14514
14515 * xfns.c (xic_set_preeditarea): Take window parameter and
14516 window-relative pixel-positions.
14517
14518 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14519 is its frame's selected window.
14520 (xim_instantiate_callback): Likewise.
14521
14522 * xfns.c (x_create_im): Removed.
14523 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14524 (supported_xim_styles): Renamed from supported_styles.
14525 (best_xim_style): Renamed from best_style.
14526 (create_frame_xic): Renamed from xic_create_frame.
14527 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14528
b08e8bb2
GM
145292000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14530
14531 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14532 our frames, call XFilterEvent with 2nd parameter `None'.
14533 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14534 returning XBufferOverflow.
52283633 14535 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14536 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14537 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14538 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14539 (xim_initialize, xim_close)
14540 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14541 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14542 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14543 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14544
14545 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14546 and `xim_styles'.
14547 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14548 `xic_style' and `xic_xfs'.
14549 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14550 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14551 (FRAME_XIM): Removed.
14552
14553 * xfns.c (supported_styles): New variable.
14554 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14555 (xic_create_xfontset, best_style, xic_create_frame)
14556 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14557 (xic_set_xfontset): New functions.
14558
142e109c
DL
145592000-01-28 Dave Love <fx@gnu.org>
14560
14561 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14562
14563 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14564
b02786f9
GM
145652000-01-28 Gerd Moellmann <gerd@gnu.org>
14566
d060bc9f
GM
14567 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14568 for *scratch* if it already existed.
14569
b02786f9
GM
14570 * emacs.c (USAGE): New macro.
14571 (main): Use it to display usage information.
14572
2c52d7e4
EZ
145732000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14574
14575 Support for the menu-help feature:
14576
52283633 14577 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14578
14579 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14580 part of the line to the termscript file.
14581 (IT_clear_to_end): Clear the entire line, not just its beginning.
14582 (menu_help_message, prev_menu_help_message): New variables.
14583 (IT_menu_make_room): Make room for the help_text member.
14584 (IT_menu_display): New argument disp_help; all callers changed.
14585 If disp_help is non-zero, store the help text of the active menu
14586 item in menu_help_message.
14587 (XMenuAddPane): Initialize the help_text member to NULL.
14588 (XMenuAddSelection): New argument help_text. Store it in the
14589 XMenu structure.
14590 (XMenuActivate): New argument help_callback. If the value of
14591 menu_help_message has changed since the last time, display the
14592 menu help message text while waiting for the mouse to move. Clear
14593 the echo area before exiting.
14594 (XMenuDestroy): Free the help_text member.
14595
ffe0bcd1
GM
145962000-01-27 Gerd Moellmann <gerd@gnu.org>
14597
14598 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14599 XMenuAddSelection. Pass help callback to XMenuActivate.
14600 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14601
50dbd23f
EZ
146022000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14603
14604 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14605 and EMACS_SET_USECS.
14606
f5941bf8
GM
146072000-01-26 Dave Love <fx@gnu.org>
14608
6c67ddee
DL
14609 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14610
f5941bf8
GM
14611 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14612 an error may be signalled.
14613
9e49c990
GM
146142000-01-26 Gerd Moellmann <gerd@gnu.org>
14615
fc3cb460
GM
14616 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14617 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14618
9e49c990
GM
14619 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14620
d0c037d8
GM
146212000-01-25 Gerd Moellmann <gerd@gnu.org>
14622
14623 * charset.c (Fstring): If there is a multibyte char among
14624 the args, always return a multibyte string.
14625
e12489f9
GM
146262000-01-25 Gerd Moellmann <gerd@gnu.org>
14627
14628 * sysdep.c (sys_select): Turn atimers off and on instead of
14629 recording and restoring old alarm handler
14630
14631 * process.c (toplevel): Include atimer.h.
14632 (create_process_1): Rewritten.
14633 (create_process): Use atimers instead of alarm.
14634 (wait_reading_process_input) [hpux]: Turn atimers off instead
14635 of turning off SIGALRM.
14636 (wait_reading_process_input): Turn off atimers instead off
14637 calling stop_polling.
14638
14639 * emacs.c (main): Call init_atimer.
14640
14641 * keyboard.c (toplevel): Include systime.h and atimer.h.
14642 (polling_for_input): Removed because unused.
14643 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14644 (poll_timer): New variable.
14645 (poll_for_input, poll_for_input_1): New functions.
14646 (start_polling, stop_polling): Rewritten.
14647
14648 * keyboard.h (polling_for_input): Removed.
427ec082 14649
e12489f9
GM
14650 * atimer.h, atimer.c: New files.
14651
14652 * Makefile.in (obj): Add atimer.o.
14653 (atimer.o): New target.
14654
14655 * blockinput.h (pending_atimers): Add extern declaration.
14656 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14657
14658 * lisp.h (popup_activated_flag): Add extern declaration.
14659
14660 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14661 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14662 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14663
14664 * xterm.c (toplevel): Include atimer.h.
14665 (toolkit_scroll_bar_interaction): New variable.
14666 (Fxt_process_timeouts): Removed.
14667 (x_process_timeouts): New function.
14668 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14669 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14670 (x_make_frame_visible): Call poll_for_input_1 instead of
14671 input_poll_signal. Don't call alarm.
14672 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14673
1e5279b9
DL
146742000-01-24 Dave Love <fx@gnu.org>
14675
6c67ddee 14676 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14677 Don't use -cckr -- apparently not now necessary.
14678
edf6aeb8
EZ
146792000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14680
14681 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14682 screen boundary.
14683
9badad41
JR
146842000-01-23 Jason Rumney <jasonr@gnu.org>
14685
14686 * w32fns.c (w32_defined_color): Apply gamma correction before
14687 trying to map to the palette.
14688 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14689 to w32_clear_rect.
14690
14691 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14692 here. Callers changed to always pass real device context.
14693 (w32_draw_bitmap): Likewise.
14694 (w32_get_glyph_overhangs): Likewise.
52283633 14695 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14696 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14697 pfnSetScrollInfo and SetScrollRange.
14698 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14699 back into MULE characters after decoding them.
14700 (x_get_glyph_face_and_encoding): Likewise.
14701 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14702 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14703 (x_produce_glyphs): Calculate per char metrics for a character
14704 that we know exists in default font when font_not_found_p is true.
14705
63bd786b
JR
147062000-01-22 Jason Rumney <jasonr@gnu.org>
14707
14708 * makefile.nt (intervals.obj, composite.obj): New modules.
14709 (composite.h): Added as dependency where appropriate.
14710
14711 * w32gui.h (XGCValue): New struct for emulating X GCs.
14712
14713 * w32term.h (XCharStruct): New struct for emulating X.
14714
14715 * w32console.c (turn_on_face, turn_off_face): New functions.
14716 (change_line_highlight): New prototype for new redisplay.
14717 (write_glyphs): Support multibyte text. Support faces.
14718
52283633 14719 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14720
14721 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14722 throughout. struct frame * in place of FRAME_PTR.
14723 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14724 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14725 (w32_get_arg): Renamed from x_get_arg.
14726 (Fx_file_dialog): New function.
14727 (w32_list_fonts): Check cache before asking system.
14728 (Vw32_enable_synthesized_fonts): New variable.
14729 (Vw32_enable_italics): Obsolete, removed.
14730
14731 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14732 Use SELECTED_FRAME macro.
14733
14734 * w32menu.c: Add skeleton support for help strings on menus.
14735 (add_menu_item): Native checkbox and radio support added, but not
14736 yet enabled due to bugs.
14737 (push_menu_item): Add parameters type, selection and help.
14738 Callers updated.
14739 Formatting changes to reduce unnecessary diffs with xmenu.c.
14740
14741 * w32select.c (Fw32_set_clipboard_data): Update call to
14742 find_charset_in_str.
14743
14744 * w32term.c: Complete rewrite for new redisplay based on new
14745 xterm.c with necessary sections merged back in from old w32term.c.
14746
6ffd3cf7 147472000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14748
14749 * data.c (set_internal): Further fix in same criterion.
14750
6ffd3cf7 147512000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14752
14753 * data.c (set_internal): Fix the criteria for whether
14754 to swap out the old cached binding.
14755
60af03f1
DL
147562000-01-19 Dave Love <fx@gnu.org>
14757
14758 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14759
f9be074f
KH
147602000-01-18 Kenichi Handa <handa@etl.go.jp>
14761
14762 * regex.c (re_compile_fastmap): While checking a range table for
14763 `charset', skip flag bits for a character class correctly.
14764
52b8dbf9
GM
147652000-01-17 Gerd Moellmann <gerd@gnu.org>
14766
d36100c9
GM
14767 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14768
52283633 14769 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14770
14771 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14772 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14773
14774 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14775 MENU_ITEMS_ITEM_.*.
14776 (MENU_ITEMS_ITEM_HELP): New enumerator.
14777 (push_menu_item): Add parameter HELP. Record help in menu_items.
14778 (single_menu_item, single_submenu, list_of_items): Call
14779 push_menu_item with new parameter.
14780 (single_submenu): Set help string in widget value.
14781 (menu_highlight_callback): New function.
14782 (set_frame_menubar): Call lw_create_widget with new
14783 parameter list.
14784 (xmenu_show, xdialog_show): Ditto.
14785
3139018f
GM
147862000-01-13 Gerd Moellmann <gerd@gnu.org>
14787
14788 * sound.c (Fplay_sound): Improve doc string.
14789
83c8f461
RS
147902000-01-11 Richard M. Stallman <rms@gnu.org>
14791
14792 * lisp.h (set_internal): Enter the new arg.
14793
14794 * eval.c (specbind): Record buffer-local variables specially,
14795 indicating which buffer's binding was saved.
14796 (unbind_to): Restore buffer-local variables specially
14797 in the proper buffer.
14798
14799 * data.c (set_internal): New arg BUF.
427ec082 14800
83c8f461
RS
14801 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14802 * data.c (Fset): Pass new arg to set_internal.
14803 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14804
1fab1775
GM
148052000-01-11 Gerd Moellmann <gerd@gnu.org>
14806
52283633 14807 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14808
83c8f461 148092000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14810
14811 * minibuf.c (Ftry_completion): Doc fix.
14812
7a85e4df
GM
148132000-01-11 Gerd Moellmann <gerd@gnu.org>
14814
14815 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14816 vector, too.
14817
a970dae4
AS
148182000-01-11 Andreas Schwab <schwab@suse.de>
14819
14820 * coding.c (code_convert_region): Initialize total_skip.
14821
c65d14ee
DL
148222000-01-08 Dave Love <fx@gnu.org>
14823
14824 * eval.c (Fuser_variable_p): Check customizability too.
14825
834938d2
GM
148262000-01-07 Gerd Moellmann <gerd@gnu.org>
14827
14828 * minibuf.c (Fcompleting_read): Doc fix.
14829
e0303cd6
GM
148302000-01-05 Gerd Moellmann <gerd@gnu.org>
14831
8a26744b
GM
14832 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14833 -L /usr/local/lib.
14834
e0303cd6
GM
14835 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14836 Check that input style is supported before trying to create an
14837 IC for it.
14838 (x_window): Call x_create_im.
427ec082 14839
2e471eb5
GM
148402000-01-04 Gerd Moellmann <gerd@gnu.org>
14841
560a7bd2
GM
14842 * xfns.c (current_gif_memory_src): New variable.
14843 (gif_load): Record the address of the current memory source
14844 in current_gif_memory_src.
14845 (gif_read_from_memory): Use current_gif_memory_src.
14846
f9ee84a3
GM
14847 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14848 macros statement form.
14849
d1299cde
GM
14850 * sound.c (struct sound): Renamed from struct sound_file.
14851 (struct sound): Add members `data' and `header_size'.
14852 (enum sound_attr): Add SOUND_DATA.
14853 (current_sound, current_sound_device): Variables renamed from
14854 sound_file and sound_device.
14855 (parse_sound): Parse :data.
14856 (parse_sound): Handle sound data in strings.
14857 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14858 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14859 needed header size.
14860 (wav_play, au_play): Play sounds from string data.
14861
2e471eb5
GM
14862 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14863
14864 * lisp.h: Add prototype for allocate_string_data.
14865
52283633 14866 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14867
14868 * alloc.c (mark_buffer): Remove code in #if 0.
14869 (gc_sweep): Ditto.
14870 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14871 (strings_consed): New variable.
14872 (allocate_string): Set it.
14873 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14874 (Fmemory_use_counts): Return strings_consed. Use Flist.
14875
14876 * alloc.c: General cleanup in comments etc. Remove conditional
14877 compilation for `standalone'.
14878
14879 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14880
14881 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14882 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14883 (DONT_COPY_FLAG): Removed.
14884 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14885 (struct sdata, struct sblock): New
14886 (struct string_block): Rewritten.
14887 (STRINGS_IN_STRING_BLOCK): New macro.
14888 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14889 (large_sblocks, string_blocks, string_free_list): New variables.
14890 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14891 (init_strings): Rewritten.
14892 (allocate_string, allocate_string_data, compact_small_strings)
14893 (free_large_strings, sweep_strings): New functions.
14894 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14895 (struct string_block_head, current_string_block)
14896 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14897 (STRING_PAD): Removed.
14898 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14899 (Fgarbage_collect): Don't set mark bit in large strings.
14900 (mark_object): Mark strings differently. Mark symbol names
14901 differently.
14902 (survives_gc_p): Test marked strings differently.
427ec082 14903 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14904 symbol names.
14905 (compact_strings): Removed.
14906
42608ba8
EZ
149072000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14908
14909 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14910 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14911
e0a09e1a
KH
149122000-01-04 Kenichi Handa <handa@etl.go.jp>
14913
dd9f0750 14914 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14915 in a non-empty buffer.
dd9f0750 14916
3c0f3b15 14917 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14918
44cd3ae5
GM
149192000-01-03 Gerd Moellmann <gerd@gnu.org>
14920
14921 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14922 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14923
14924 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14925
c182a70f
EZ
149262000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14927
14928 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14929 need to test for MSDOS frames.
14930
24480d5b
EZ
149312000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14932
14933 * dosfns.c (unspecified_colors): Remove.
14934 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14935 unspecified_bg.
14936 (msdos_stdcolor_name): Return strings for unspecified fore- and
14937 back-ground colors.
14938
14939 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14940 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14941 (tty_color_name): Return Lisp strings for unspecified fore- and
14942 back-ground colors.
14943 (Finternal_set_lisp_face_attribute): Remove the special treatment
14944 for Qunspecified_{f,b}g.
52283633 14945 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14946
047f434a
GM
149472000-01-03 Gerd Moellmann <gerd@gnu.org>
14948
14949 * xdisp.c (reseat_at_next_visible_line_start): Position before
14950 newline only if ending up on a newline.
14951 (next_element_from_ellipsis): Return success. Handle case of
52283633 14952 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14953 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14954 returns 0.
14955
d684c676
EZ
149562000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14957
14958 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14959 (Fcolor_supported_p): Renamed from face-color-supported-p.
14960
5fe1d139
EZ
149612000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14962
14963 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14964 list of colors renamed to tty-defined-color-alist.
14965 (tty_color_name): Pass the frame to tty-color-by-index.
14966 (realize_tty_face): tty-color-alist is now a function which
14967 accepts the frame as argument.
14968
52283633 14969 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14970
816be8b8
EZ
149712000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14972
14973 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14974 encode_terminal_code.
14975
b635321e
EZ
149762000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14977
14978 * dispnew.c (mode_line_string): Support termcap frames as well.
14979
9b784e96
GM
149802000-01-01 Gerd Moellmann <gerd@gnu.org>
14981
27189709
GM
14982 * syntax.c (Fforward_word): Undo previous change.
14983
14984 * editfns.c (Fconstrain_to_field): Don't constrain if
14985 inhibit-field-text-motion is non-nil.
14986 (Fline_beginning_position): Undo previous change.
14987 (Fline_end_position): Ditto.
14988
14989 * syntax.c (Fforward_word): Notice field boundaries only if
14990 inhibit-field-text-motion is nil.
14991
14992 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14993
14994 * editfns.c (Vinhibit_field_text_motion): New variable.
14995 (inhibit-field-text-motion): New DEFVAR_LISP.
14996 (Fline_beginning_position, Fline_end_position): Notice field
14997 boundaries only if inhibit-field-text-motion is nil.
14998
45158a91
GM
14999 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15000 All calls adjusted.
15001 (x_build_heuristic_mask): Likewise.
15002 (xbm_load_image_from_file): Change error output.
15003 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15004 (gif_load, gs_load, x_kill_gs_process): Ditto.
15005
9b784e96
GM
15006 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15007 color indices when accessing raster pixels.
63cec32f
GM
15008 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15009 one of :file or :data.
15010 (enum pbm_keyword_index): Add PBM_DATA.
15011 (pbm_format): Add :data.
15012 (pbm_image_p): Allow either :file or :data.
15013 (pbm_read_file): New function.
15014 (pbm_scan_number): Rewritten to read from string.
15015 (pbm_load): Support :data.
9b784e96 15016
2cb085db 15017See ChangeLog.8 for earlier changes.
6922b018
KH
15018
15019;; Local Variables:
49b3bd82 15020;; coding: iso-2022-7bit
6922b018 15021;; End:
2a34a036
GM
15022
15023 Copyright (C) 2001 Free Software Foundation, Inc.
15024 Copying and distribution of this file, with or without modification,
15025 are permitted provided the copyright notice and this notice are preserved.