Split the __hpux conditional into the parts
[bpt/emacs.git] / src / ChangeLog
CommitLineData
70da46c3
PJ
12001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * macros.c, msdos.c, w16select.c: Change doc-string comments to
4 `new style' [w/`doc:' keyword].
5
8af01033
JR
62001-12-10 Jason Rumney <jasonr@gnu.org>
7
8 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
9 before using.
10
7363986a
PJ
112001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
12
13 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
14 keyword].
15
d9e6c4b1
EZ
162001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
17
d20fc48a
EZ
18 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
19
d9e6c4b1
EZ
20 * s/hpux10.h (srand48): Don't undefine.
21
f1a85b89
JR
222001-12-09 Jason Rumney <jasonr@gnu.org>
23
24 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
25 comment to explain where the struct came from.
26 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
27 (add_menu_item): Process pop-up menus first to avoid memory leak.
28 (add_menu_item, w32_menu_display_help): Use `help' field as
29 Lisp_Object.
30 (w32_free_submenu_strings): Only free owner-drawn strings.
31
3a62677f
PJ
322001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
33
72244db2
PJ
34 * COPYING: Moved back.
35
3a62677f
PJ
36 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
37 Add parentheses around && within ||.
38
39 * indent.c (compute_motion): Likewise.
40
41 * intervals.c (merge_properties_sticky): Likewise.
42
43 * coding.c (setup_coding_system, shrink_encoding_region)
44 (Fdecode_sjis_char): Likewise.
45
9d113d9d
AS
462001-12-07 Andreas Schwab <schwab@suse.de>
47
b8523839
AS
48 * xdisp.c (display_mode_element): Don't read past end of string if
49 it ends with '%'.
50
9464dea4
AS
51 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
52 can hold.
53
9d113d9d
AS
54 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
55 from most_positive_fixnum and most_negative_fixnum, resp., and
56 type changed to Lisp_Object.
57 (syms_of_data): DEFVAR_LISP them.
58
70ec1377
RS
592001-12-07 Richard M. Stallman <rms@gnu.org>
60
61 * callproc.c (init_callproc): Set Vdata_directory based on the source
62 location whenever Emacs was run uninstalled.
63
92f7dd37
PE
642001-12-06 Paul Eggert <eggert@twinsun.com>
65
66 * config.in (HAVE_WORKING_VFORK): New #undefs.
67 * process.c (create_process):
68 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
69 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
70 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
71 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
72 * m/intel386.h (HAVE_VFORK): Likewise.
73 * m/mips-siemens.h (HAVE_VFORK): Likewise.
74 * m/mips.h (HAVE_VFORK): Likewise.
75 * s/freebsd.h (vfork): Remove #define.
76 * s/lynxos.h (HAVE_VFORK): Remove #undef.
77 * s/usg5-4-2.h: Fix comment about vfork.
78
c93674bb
RS
792001-12-06 Richard M. Stallman <rms@gnu.org>
80
81 * s/hpux10.h (random): Add undef.
82 (HAVE_RANDOM): Define it just once.
83
59b59892
SM
842001-12-06 Stefan Monnier <monnier@cs.yale.edu>
85
86 * eval.c: Undo last change: the standard syntax is not wanted.
87
c6ea2775
EZ
882001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
89
90 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
91 scroll bars of the frame before deleting the frame itself. If the
92 frame has a widget, delete the frame with XtDestroyWidget, and do
93 not call XDestroyWindow before that.
94
91175673
KS
952001-12-06 Kim F. Storm <storm@cua.dk>
96
97 * xfns.c (x_report_frame_params): Return actual fringe widths.
98
99 * w32fns.c (x_report_frame_params): Return actual fringe widths.
100
e0fead5d
AI
1012001-12-05 Andrew Innes <andrewi@gnu.org>
102
103 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
104 excessively large.
105
106 * insdel.c (make_gap_larger): New function.
107 (make_gap_smaller): New function.
108 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
109 make_gap_smaller if arg is negative.
110
c186cdb3
SM
1112001-12-04 Stefan Monnier <monnier@cs.yale.edu>
112
113 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
114 Pass a dummy argument when calling interrupt_signal.
115 (parse_menu_item): Mark disabled items before checking for empty def.
116 (read_char_minibuf_menu_prompt): Make safety more visible.
117 (read_key_sequence): Add a `first_unbound' variable.
118 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
119 unbound prefix as soon as we can detect it.
120
121 * doc.c (Fsnarf_documentation): Add prototype.
122 (get_doc_string): Handle negative arguments.
123 (Fdocumentation): Use AREF and ASIZE.
124 Move the calls to get_doc_string to a single place.
125 Don't confuse an interactive-spec for a docstring reference.
126 (Fdocumentation_property): Take advantage of the fact that
127 get_doc_string now ignores the sign of the docstring position.
128
129 * eval.c: Use standard syntax for usage in docstrings.
130
58cfce98
PJ
1312001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
132
c186cdb3 133 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 134
62854fe2
PJ
1352001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
136
137 * xterm.c (x_draw_image_relief): Use predefined macro instead of
138 constant when the value of `tool_bar_button_relief' is negative.
139
656f46bb
RS
1402001-12-02 Richard M. Stallman <rms@gnu.org>
141
142 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
143 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
144
145 * fileio.c (read_non_regular): Delete Fsignal call.
146
036e218d
SM
1472001-12-01 Stefan Monnier <monnier@cs.yale.edu>
148
149 * lisp.h (run_hook_list_with_args): Undo last change.
150
7ddb2c16
GM
1512001-12-01 Gerd Moellmann <gerd@gnu.org>
152
153 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
154
ace9b298
JR
1552001-12-01 Jason Rumney <jasonr@gnu.org>
156
90647b07
JR
157 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
158
159 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
160 [!WM_MOUSELEAVE]: Define.
161
ace9b298
JR
162 * w32menu.c (current_popup_menu, get_menu_item_info):
163 (set_menu_item_info): New vars.
164 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
165 (w32_menu_show): Set current_popup_menu.
166 (add_menu_item): Allocate new strings for owner-drawn menu items
167 and help strings.
168 Use owner-draw for disabled menu items again.
169 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
170 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
171
172 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
173 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
174 <WM_EXITMENULOOP>: Free menu strings.
175 <WM_MOUSELEAVE>: Stop tracking mouse.
176 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
177
178 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
179 and mouse face.
180
a9549909 1812001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
182
183 The following changes add left-fringe and right-fringe
184 frame parameters to adjust fringe widths, or remove one or
185 both fringes.
036e218d 186
9fbc32aa
KS
187 * frame.h (struct frame): Remove trunc_area_pixel_width and
188 trunc_area_cols fields.
189 (Qleft_fringe, Qright_fringe): Declare.
190 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
191
192 * frame.c (Qleft_fringe, Qright_fringe): New vars.
193 (syms_of_frame): Initialize them.
194
195 * window.c (coordinates_in_window): Handle separate left and right
196 fringe widths.
197
198 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
199 and fringe_cols fields.
200 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
201 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
202 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
203 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
204 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
205 (x_compute_fringe_widths): Add prototype.
206
207 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
208 fill fringe evenly with small dashes.
209 (x_draw_fringe_bitmap): Clear background if necessary. Align and
210 clip the new ZV bitmap to avoid jitter between rows.
211 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
212 background. Don't draw fringe bitmaps if fringe width is zero.
213 (x_compute_fringe_widths): New function.
214 (x_new_font, x_set_window_size_1): Use it.
215
216 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
217 (x_set_frame_parameters): Process Process `font' parameter before other
218 parameters as fringe widths depend on it.
219 (x_set_fringe_width): New function.
220 (x_figure_window_size): Use x_compute_fringe_widths.
221 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
222 parameters.
223
224 * widget.c (set_frame_size): Use x_compute_fringe_widths.
225 (EmacsFrameSetCharSize): Ditto.
226
227 * w32term.h: Merged changes from xterm.h.
228 * w32term.c: Merged changes from xterm.c.
229 * w32fns.c: Merged changes from xfns.c.
230
0142178a
PJ
2312001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
232
233 * COPYING: Removed.
234
d4824a5d
DL
2352001-11-29 Dave Love <fx@gnu.org>
236
237 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
238 extra extra slot.
239 (detect_coding_mask): Fix call of detect_coding_iso2022.
240
b1356234
PJ
2412001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
242
243 * fileio.c (file-name-coding-system)
244 (default-file-name-coding-system): Doc fix (links to referenced
245 variables added).
246
3ce081f5
SM
2472001-11-28 Stefan Monnier <monnier@cs.yale.edu>
248
99e380ee
SM
249 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
250 Add dummy uses of gcproN variables.
251
3ce081f5 252 * category.c (describe_category, describe_category_1)
2ad56c09 253 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
254 (syms_of_category): Don't defsubr Sdescribe_categories.
255
66458f32
RS
2562001-11-28 Richard M. Stallman <rms@gnu.org>
257
258 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
259
260 * Makefile.in (lispdir): New variable, referring to build dir.
261 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
262
59a86c99
AI
2632001-11-28 Andrew Innes <andrewi@gnu.org>
264
265 * w32menu.c (w32_menu_display_help): Actually add the new argument
266 OWNER.
267
eb77a5f4
JR
2682001-11-28 Jason Rumney <jasonr@gnu.org>
269
270 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
271 menu items. From David Ponce <dponce@wanadoo.fr>.
272 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
273 conditionally.
274 (w32_menu_display_help): New argument OWNER. Rewritten to store a
275 help event in the owner frame's keyboard buffer.
276
277 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
278 (Fx_show_tip): Don't subtract last width from row width.
279
280 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
281 (w32_read_socket): Use EQ to compare frames.
282
bb313871
GM
2832001-11-28 Gerd Moellmann <gerd@gnu.org>
284
285 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
286 OVERLAPS_P.
287
55b43a63
PJ
2882001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
289
6052529b
PJ
290 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
291 `gcpro3' and `gcpro4'.
292
3ce081f5
SM
293 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
294
2952001-11-28 Stefan Monnier <monnier@cs.yale.edu>
296
297 * ccl.c: Use AREF and ASIZE.
298
2992001-11-27 Stefan Monnier <monnier@cs.yale.edu>
300
301 * lisp.h (run_hook_list_with_args): Remove.
302 (LIST_END_P): Fix call to wrong_type_argument.
303 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 304
111ed14e
SM
3052001-11-26 Stefan Monnier <monnier@cs.yale.edu>
306
9fabb2f5
SM
307 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
308 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
309
310 * eval.c: Use AREF and ASIZE.
311 (Ffetch_bytecode): Add the file name to the error message.
312
313 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
314 which match the end of the file-name.
315 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
316 is not a valid env var, but leave it as is instead.
317
111ed14e
SM
318 * keymap.c (access_keymap): Handle t bindings like nil bindings.
319 Make nil bindings in char-tables transparent.
320 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
321
2fa0eedf
RS
3222001-11-26 Richard M. Stallman <rms@gnu.org>
323
d1420435
RS
324 * textprop.c (set_text_properties_1): Allow START, END in either order.
325 Do nothing if range is empty.
326
2fa0eedf
RS
327 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
328
ebcbef4e
RS
329 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
330 (clean): Not here.
331
5c131048
SM
3322001-11-25 Stefan Monnier <monnier@cs.yale.edu>
333
334 * textprop.c (set_text_properties_1): Clearly mark that the
335 interval should not be empty.
336
337 * intervals.c (graft_intervals_into_buffer):
338 Don't call set_text_properties_1 on an empty interval.
339
96d276c3
RS
3402001-11-25 Richard M. Stallman <rms@gnu.org>
341
6108b49c
RS
342 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
343
96d276c3
RS
344 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
345 don't lose the data in it.
346
5eea19a4
RS
3472001-11-25 Juanma Barranquero <lektu@terra.es>
348
349 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
350
351 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
352
353 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
354
438e57dd
SM
3552001-11-25 Stefan Monnier <monnier@cs.yale.edu>
356
357 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
358
c88e5347
EZ
3592001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
360
361 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
362 Niemitalo <kon@iki.fi>.
363
59ce1461
JR
3642001-11-25 Jason Rumney <jasonr@gnu.org>
365
366 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
367
368 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
369 (Fx_show_tip): Block input during frame creation.
370 (Fx_show_tip, Fx_hide_tip): Enable.
371
8727d588
RS
3722001-11-24 Richard M. Stallman <rms@gnu.org>
373
374 * lread.c (Fload): Detect recursive load error for more than 3
375 nestings of the same file.
376 (Vrecursive_load_depth_limit): Variable deleted.
377 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
378
cc63037e
JR
3792001-11-24 Jason Rumney <jasonr@gnu.org>
380
381 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
382 mouse position if either left or top is not specified.
383
384 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
385 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
386 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
387 (my_create_tip_window): Assign tip_window.
388 (x_create_tip_frame): Use same defaults as X.
389 (compute_tip_xy): Remove unused variable. Use full screen width.
390 (Fx_show_tip): Do not double height. Call ShowWindow directly.
391
392 * w32term.c (x_after_update_window_line): Doc fix.
393 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
394 frames.
395 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
396
397 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
398 for all Windowed systems.
399
deece6f5
EZ
4002001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
401
402 * msdos.c (IT_clear_screen): If the frame's faces are not yet
403 realized, use the initial screen colors to clear the screen.
404
1b944d9c
PJ
4052001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
406
28ff4293
PJ
407 * textprop.c (Fset_text_properties): Remove unused variables
408 `unchanged', `prev_changed', `s' and `len'.
409
56167cc5
PJ
410 * search.c (Freplace_match): Remove unused variable `inslen'.
411
1b944d9c
PJ
412 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
413
ca56d953
JR
4142001-11-22 Jason Rumney <jasonr@gnu.org>
415
416 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
417 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
418 (my_create_tip_window): New function.
419 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
420 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
421
33399dce
JR
4222001-11-20 Jason Rumney <jasonr@gnu.org>
423
424 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
425 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
426
427 * w32fns.c (Vw32_system_coding_system): Remove.
428 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
429
9b46de40
SM
4302001-11-19 Stefan Monnier <monnier@cs.yale.edu>
431
6710ea06
SM
432 * fileio.c (Fwrite_region): Move choose_write_coding_system to
433 after build_annotations.
434
a395ef6a
SM
435 * syntax.c (describe_syntax): Add dummy arg.
436 (describe_syntax_1): Update call to describe_vector.
437
438 * category.c (describe_category): Add dummy arg.
439 (describe_category_1): Update call to describe_vector.
440
441 * keymap.c (Fdescribe_vector): Add `describer' parameter.
442 (describe_command, describe_translation): Add dummy second param.
443 (describe_map): Call elt_describer with two arguments.
444 (describe_vector_princ): Add `fun' parameter.
445 Call it instead of the hardcoded `princ'.
446 (describe_vector): Add arg `args'.
447 Pass it as a new second argument to elt_describer.
448
449 * keymap.h (describe_vector): Update prototype.
450
9b46de40
SM
451 * frame.c: Don't include keymap.h any more.
452 (keys_of_frame): Remove.
453
454 * lisp.h (keys_of_frame): Remove declaration.
455
456 * emacs.c (main): Don't call `keys_of_frame' any more.
457
aff37336
SS
4582001-11-14 Andreas Schwab <schwab@suse.de>
459
460 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
461 if defined, 0 otherwise.
9b46de40 462 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
463 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
464
b9937f07
RS
4652001-11-19 Richard M. Stallman <rms@gnu.org>
466
467 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
468
2cd23960
JR
4692001-11-18 Jason Rumney <jasonr@gnu.org>
470
471 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
472 (x_draw_bar_cursor): If the background color of the glyph under
473 the cursor equals the frame's cursor color, use the glyph's
474 foreground color for drawing the bar cursor.
475 (x_after_update_window_line): Clear internal border in different
476 circumstances.
477 (w32_set_vertical_scroll_bar): Check for width and height > 0.
478 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
479 (x_set_glyph_string_background_width):
480 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
481 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
482 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
483 if cursor_in_non_selected_windows is false.
9b46de40 484 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
485 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
486 Notice if cursor gets overwritten.
487 (notice_overwritten_cursor): Renamed from
488 note_overwritten_text_cursor. Rewritten to take glyph widths
489 into account, and to take X positions as parameters.
490 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
491 around call to x_draw_glyphs.
492 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
493 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
494 color to use for image glyph reliefs.
495 (x_draw_image_relief): Accept zero tool_bar_button_relief.
496 (glyph_rect): Remove unused variable `area'.
497
498 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
499 some items.
500 (x_set_internal_border_width): Set frame garbaged when window
501 doesn't exist yet.
502 (Fx_create_frame): Accept zero tool_bar_button_relief.
503 (x_clear_image_1, four_corners_best, image_background)
504 (image_background_transparent): New functions.
505 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
506 (gs_format): Add `:background' entry.
507 (lookup_image): Set IMG's background color if specified.
508 (pbm_load, xbm_load_image, png_load): Set IMG's background field
509 when appropriate.
510 (x_clear_image_1): Reset `background_valid' and
511 `background_transparent_valid' fields.
512 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
513 calculating it here. Set IMG's background_transparent field.
514 (enum xpm_keyword_index): Add XPM_BACKGROUND.
515 (enum png_keyword_index): Add PNG_BACKGROUND.
516 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
517 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
518 (enum gif_keyword_index): Add GIF_BACKGROUND.
519 (enum gs_keyword_index): Add GS_BACKGROUND.
520 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
521 Pre-calculate image background color where necessary.
9b46de40
SM
522 (x_create_x_image_and_pixmap, xbm_load, gs_load):
523 Use display info's n_cbits entry for screen depth.
2cd23960
JR
524 (Fx_show_tip): Remove unused variables `buffer', `top',
525 `left', `max_width' and `max_height'.
526
527 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
528
a4184c1c
GM
5292001-11-18 Gerd Moellmann <gerd@gnu.org>
530
531 * puresize.h (BASE_PURESIZE): Increase to 750000.
532
f6fa0866
PJ
5332001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
534
535 * frame.c (Fframe_live_p): Doc fix.
536
f4ca4b00
RS
5372001-11-18 Richard M. Stallman <rms@gnu.org>
538
539 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
540 (message_dolog_marker3): New static variables hold three markers.
541 (syms_of_xdisp): Initialize and staticpro them.
542 (message_dolog): Use message_dolog_marker1..3 instead of
543 allocating markers each time. Unchain them when done.
544
f4e25f94
RS
5452001-11-17 Richard M. Stallman <rms@gnu.org>
546
547 * doc.c (Fsnarf_documentation): Doc fix.
548
91c153e2
AS
5492001-11-17 Andreas Schwab <schwab@suse.de>
550
551 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
552
65b7d3e7
RS
5532001-11-17 Richard M. Stallman <rms@gnu.org>
554
555 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
556
6b5f6311
JR
5572001-11-17 Jason Rumney <jasonr@gnu.org>
558
559 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
560
be676094
GM
5612001-11-17 Gerd Moellmann <gerd@gnu.org>
562
563 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
564 with invalid position.
565
032a857d
RS
5662001-11-16 Richard M. Stallman <rms@gnu.org>
567
568 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
569
570 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
571 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
572 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
573
574 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
575
b6270150
SM
5762001-11-16 Stefan Monnier <monnier@cs.yale.edu>
577
578 * fileio.c (build_annotations): Split off the tail.
579 (build_annotations_2): New fun. Extracted from build_annotations.
580 (Fwrite_region): Split the call to build_annotations into two
581 calls to build_annotations and build_annotations_2.
582
792e5cbd
PJ
5832001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
584
98cbb9fa
PJ
585 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
586 clear_waiting_for_input with argument.
587
588 * xterm.h (x_update_cursor): Remove duplicated prototype.
589
b6270150 590 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 591
ea904403 592 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 593
ea904403 594 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 595
fa336b91
SM
5962001-11-16 Stefan Monnier <monnier@cs.yale.edu>
597
598 * fileio.c (choose_write_coding_system): New fun, extracted
599 from Fwrite_region.
600 (Fwrite_region): Use it.
601
602 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
603 (funcall_lambda, run_hook_with_args): Make static and add prototype.
604 (ml_apply, find_handler_clause): Add prototype.
605
077907d4
EZ
6062001-11-16 Eli Zaretskii <eliz@gnu.org>
607
aa2af83a
EZ
608 * config.in: Add #undef HAVE_COFF_H.
609
077907d4
EZ
610 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
611 Required for ISC 4.1.
612
1756e2fb
EZ
6132001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
614
615 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
616 Andrew Wiseman <a.wiseman@btclick.com>.
617
06e8f738
KS
6182001-11-16 Kim F. Storm <storm@cua.dk>
619
620 The following changes are made to clean up the various internal
621 references to the fringes to actually use the term `fringe' for
622 them. Previously, they were called `flags areas', `bitmap areas',
623 `left/right side of windows', or implicitly as `flags' or
624 `bitmaps':
625
626 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
627 Comments fixed. Use renamed symbols.
fa336b91 628
06e8f738 629 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 630
06e8f738
KS
631 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
632 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
633 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 634
06e8f738 635 * msdos.c: Comment fix.
fa336b91 636
06e8f738 637 * w32fns.c: Use renamed symbols.
fa336b91 638
06e8f738
KS
639 * w32term.c: Comment fixes. Use renamed symbols.
640 (fringe_bitmap_type): Renamed from bitmap_type.
641 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
642 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
643 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 644
06e8f738
KS
645 * w32term.h: Comment fixes. Use renamed symbols.
646 (fringes_extra): Renamed from flags_areas_extra.
647 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
648 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
649 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
650 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
651 (FRAME_X_LEFT_FRINGE_WIDTH):
652 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
653 (FRAME_X_RIGHT_FRINGE_WIDTH):
654 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
655
06e8f738 656 * widget.c: Use renamed symbols.
fa336b91 657
06e8f738
KS
658 * window.c: Comment fixes. Use renamed symbols.
659 (coordinates-in-window-p): Doc fix.
fa336b91 660
06e8f738 661 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 662
06e8f738 663 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 664
06e8f738 665 * xfns.c: Use renamed symbols.
fa336b91 666
06e8f738
KS
667 * xterm.c: Comment fixes. Use renamed symbols.
668 (fringe_bitmap_type): Renamed from bitmap_type.
669 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
670 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
671 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
672
673 * xterm.h: Comment fixes. Use renamed symbols.
674 (fringes_extra): Renamed from flags_areas_extra.
675 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
676 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
677 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
678 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
679 (FRAME_X_LEFT_FRINGE_WIDTH):
680 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
681 (FRAME_X_RIGHT_FRINGE_WIDTH):
682 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 683
9ce647f4
JR
6842001-11-15 Jason Rumney <jasonr@gnu.org>
685
686 * w32menu.c (add-menu-item): Make help_echo and radio buttons
687 work for most menu items. From David Ponce
688 <david.ponce@wanadoo.fr>.
689
9b784ab8
GM
6902001-11-15 Gerd Moellmann <gerd@gnu.org>
691
9f7e52b4
GM
692 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
693 Some x_set_* function expect to be called even if old and new
694 value are equal.
695
696 * xdisp.c (build_desired_tool_bar_string): Accept zero
697 tool_bar_button_relief.
698
699 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
700
701 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 702
34e5d0af
GM
703 * xterm.c (x_draw_bar_cursor): If the background color of the
704 glyph under the cursor equals the frame's cursor color, use
705 the glyph's foreground color for drawing the bar cursor.
706
9b784ab8
GM
707 * dispnew.c (direct_output_forward_char): Fix character/byte
708 position comparison.
709
89512fcd
MB
7102001-11-15 Miles Bader <miles@gnu.org>
711
712 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
713 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
714 Update arguments to find_field.
715 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
716 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
717 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
718 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
719
7d18891d
RS
7202001-11-14 Richard M. Stallman <rms@gnu.org>
721
d2936d21
RS
722 * editfns.c (Fpropertize): Allow call with 1 arg.
723
7d18891d
RS
724 * dispextern.h (image_background, image_background_transparent):
725 Conditionalize on HAVE_X_WINDOWS.
726
7272001-11-13 Richard M. Stallman <rms@gnu.org>
728
729 * print.c (Fprin1_to_string): Doc fix.
730
731 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
732
733 * floatfns.c (Fceiling, Ffloor): Doc fixes.
734
735 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
736
737 * fileio.c (Ffile_accessible_directory_p): Doc fix.
738
739 * eval.c (syms_of_eval): Doc fix.
740
741 * coding.c (syms_of_coding): Doc fix.
742
743 * doc.c (Fsnarf_documentation): Doc fix.
744
745 * dispnew.c (syms_of_display): Doc fix.
746
747 * category.c (Fget_unused_category): Doc fix.
748
749 * buffer.c (syms_of_buffer): Doc fixes.
750
9474c847
EZ
7512001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
752
753 * print.c (prin1, print): Doc fix.
754
e3059a5d
PJ
7552001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
756
2b6f3c2b 757 * fontset.h: Remove declarations of variables
e3059a5d
PJ
758 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
759
760 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
761 `Vclip_large_size_font'.
762
b3700ae7
JR
7632001-11-13 Jason Rumney <jasonr@gnu.org>
764
765 * w32fns.c: Doc fix.
766
eae936e2
PJ
7672001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
768
4bb962be
PJ
769 * xfaces.c (Fface_attributes_as_vector): Doc fix.
770
0a332240
PJ
771 * w32fns.c (Fx_synchronize): Reindent.
772
ddb67bdc
PJ
773 * fns.c: Doc fix.
774
3467c402
PJ
775 * emacs.c: Doc fix.
776
777 * coding.c: Doc fix.
778
6e1b91d7
PJ
779 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
780 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
781 `new style' [w/`doc:' keyword].
782
f6e34773
PJ
783 * xmenu.c (x-popup-menu): Reindent.
784 (x-popup-dialog): Likewise.
785
fa336b91 786 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 787
c2552f79
PJ
788 * xdisp.c (Fdump_tool_bar_row): Reindent.
789
94c7167b
PJ
790 * minibuf.c (Fminibuffer_complete_word): Reindent.
791 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 792 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
793 (Fminibuffer_message): Likewise.
794
462a5e3a
PJ
795 * fns.c (Freverse): Reindent.
796
b8de5714
PJ
797 * eval.c (Fif): Reindent.
798 (Fand): Likewise.
799
deb8e082
PJ
800 * editfns.c (Fuser_real_login_name): Reindent.
801 (Finsert_buffer_substring): Likewise.
802 (Fcompare_buffer_substrings): Likewise.
803 (Fsubst_char_in_region): Likewise.
804
bacf09b4
PJ
805 * dispnew.c (Fsit_for): Reindent.
806 (Fframe_or_buffer_changed_p): Likewise.
807 (Finternal_show_cursor_p): Likewise.
808 (syms_of_display): Likewise.
809
eae936e2
PJ
810 * alloc.c (Flist): Reindent.
811 (Fvector): Likewise.
812
1c1d3d69
RS
8132001-11-12 Richard M. Stallman <rms@gnu.org>
814
815 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
816 LeaveNotify events. Only FocusIn and FocusOut do that now.
817 (x_display_and_set_cursor): Do display hollow cursors in active
818 minibuffer windows when they are not selected.
819
b6f4c7ba
JR
8202001-11-12 Jason Rumney <jasonr@gnu.org>
821
822 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
823 * w32term.c: Change doc-string comments to `new style'.
824 [w/`doc:' keyword]. Doc fixes.
825
826 * w32fns.c: Don't define max.
827 (Fx_open_connection): Only execute once.
828
a89f435d
PJ
8292001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
830
831 * ccl.c: Change macros to use do-while block instead of if-else.
832 Use braces to follow GNU Coding Standards.
833
a4cd0cd7
RS
8342001-11-11 Richard M. Stallman <rms@gnu.org>
835
eafb659a
RS
836 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
837
838 * lread.c (read_escape): Use end_of_file_error for reporting eof.
839
a4cd0cd7
RS
840 * insdel.c (replace_range): Use adjust_markers_for_replace
841 instead of adjust_markers_for_delete and adjust_markers_for_insert.
842
843 * intervals.h: Declare set_text_properties and set_text_properties_1.
844
845 * textprop.c (set_text_properties_1): New subroutine
846 broken out of set_text_properties.
847 (set_text_properties): Use set_text_properties_1.
848
849 * intervals.c (graft_intervals_into_buffer):
850 Use set_text_properties_1 to clear out properties.
851
852 * search.c (Freplace_match): Use replace_range to insert
853 and delete. Don't request property inheritance from
854 surrounding text.
855
91823618
JR
8562001-11-10 Jason Rumney <jasonr@gnu.org>
857
858 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
859 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 860 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 861
86928dfb
GM
8622001-11-10 Gerd Moellmann <gerd@gnu.org>
863
fa336b91 864 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
865 instead of malloc/free.
866
40ef1eda
PJ
8672001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
868
ab8469eb
PJ
869 * xfaces.c (merge_face_vectors): Use braces to follow GNU
870 Coding Standards.
871 (Finternal_set_lisp_face_attribute): Likewise.
872
a78e0303
PJ
873 * buffer.c (Fbury_buffer): Likewise.
874
40ef1eda
PJ
875 * indent.c (current_column_1): Remove unused variable `prev_col'.
876
fabf4a91
PJ
877 * coding.c (encode_coding): Use precomputed value of `src'.
878 (encode_coding): Remove unused variable `src_end'.
879 (code_convert_region): Remove unused variables `count'.
880
0c99b139
JR
8812001-11-07 Jason Rumney <jasonr@gnu.org>
882
883 * w32term.c (x_display_and_set_cursor): Do not move system caret
884 if cursor_glyph is NULL.
885
830ddd77
PJ
8862001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
887
888 * keymap.c (access_keymap): Fix compilation error.
889
55c6d645
MB
8902001-11-07 Miles Bader <miles@gnu.org>
891
892 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
893
5de38842
PJ
8942001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
895
7a4564a4
PJ
896 * intervals.c (graft_intervals_into_buffer):
897 Remove #ifdef'd-out code.
898 (graft_intervals_into_buffer): Remove unused variable `middle'.
899
5de38842
PJ
900 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
901 code (eval-current-buffer).
902 Change doc-string comments to `new style' [w/`doc:' keyword].
903
4fa23df5
RS
9042001-11-06 Richard M. Stallman <rms@gnu.org>
905
906 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
907
7a6a97d7
SM
9082001-11-06 Stefan Monnier <monnier@cs.yale.edu>
909
c191d13c
SM
910 * lread.c (read1): Fix behavior with nested backquoting.
911
7a6a97d7
SM
912 * keyboard.c (make_lispy_event): Check integerness and fix
913 Lisp_Object/int mixup.
914
44dc78e0
PJ
9152001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
916
917 * fns.c (copy_hash_table): Remove unused variable `v'.
918
17893c65
PJ
919 * fontset.c (fontset_font_pattern): Remove unused variable
920 `family_registry'.
921
4d994a79
PJ
922 * indent.c (current_column_1): Remove unused variable `prev_col'.
923
d5360cc7
RS
9242001-11-05 Richard M. Stallman <rms@gnu.org>
925
926 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
927
928 * buffer.c (Fkill_buffer): Don't delete auto save file
929 if buffer is modified.
930
96238a5a
AI
9312001-11-05 Andrew Innes <andrewi@gnu.org>
932
933 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
934 CHECK_NUMBER_CDR.
935
d9d54213
RS
9362001-11-05 Richard M. Stallman <rms@gnu.org>
937
938 * unexelf.c (unexec): Minor changes; clean up comments.
939
b116830b
SS
9402001-11-05 Sam Steingold <sds@gnu.org>
941
942 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
943
3297e2a1
AS
9442001-11-05 Andreas Schwab <schwab@suse.de>
945
946 * sound.c (sound_perror): Save errno from being clobbered.
947
9212319f 9482001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
949
950 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
951 the program image directly.
952
7dd73b78
PJ
9532001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
954
955 * buffer.h (Fbuffer_local_value): Add prototype.
956
982f6c7e
RS
9572001-11-04 Richard M. Stallman <rms@gnu.org>
958
d31053f9
RS
959 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
960 and CHECK_BUFFER.
961
962 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
963 (record_char): Likewise.
964
965 * keyboard.c (make_lispy_event): Don't insist a drag event must
966 move to a different buffer position. Instead, check for moving at
967 least double_click_fuzz.
968
969 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
970
971 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
972
982f6c7e
RS
973 * indent.c (current_column_1, Fmove_to_column): Separate the code
974 for display-table glyphs from the code buffer text, to fix
975 bugs in the former.
976
830047fd
RS
9772001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
978
979 * buffer.c (Fbuffer_local_value): New function.
c191d13c 980 (syms_of_buffer): Defsubr it.
b116830b 981
830047fd
RS
982 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
983 value of `cursor-in-non-selected-windows'.
984
985 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
986 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
987 (syms_of_xdisp): Initialize it.
b116830b 988
2df5238c
PJ
9892001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
990
4e397688
PJ
991 * xfns.c (Fx_create_frame): Doc fix.
992
48b0f3ae
PJ
993 * coding.c: Change doc-string comments to `new style' [w/`doc:'
994 keyword].
995
2df5238c
PJ
996 * eval.c (top_level_value, top_level_set): Remove commented and
997 #ifdef'd-out code.
998 (Fdefvar): Fix usage in doc-string.
999
3ecaf7e5
RS
10002001-11-03 Richard M. Stallman <rms@gnu.org>
1001
1002 * xfns.c: Include unistd.h, if it exists.
1003
1004 * editfns.c: Move the include of ctype.h after unistd.h.
1005
1006 * gmalloc.c: Test BROKEN_PROTOTYPES.
1007
8db2e33b
KR
10082001-11-03 Ken Raeburn <raeburn@gnu.org>
1009
1010 * lisp.h (CHECK_STRING_CAR): New macro.
1011 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1012 treating XCAR and XCDR as lvalues.
1013 (openp): Use CHECK_STRING_CAR.
1014 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1015
aed29b97
EZ
10162001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1017
1018 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1019 (SIGMASKTYPE): Define.
aed29b97
EZ
1020
1021 * syssignal.h (sigunblock): Don't define if already defined.
1022
6cb16f95
PJ
10232001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1024
16b45be4
EZ
1025 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1026 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1027 Fix typos in comments.
1028
020f9b38
PJ
1029 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1030 and #ifdef'd-out code.
1031 Fix and reindent comments.
1032
c191d13c 1033 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1034
6cb16f95
PJ
1035 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1036 argument `i' in macros.
1037
1038 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1039 `i' in macros.
1040
16b45be4
EZ
1041 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1042 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1043 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1044 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1045 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1046 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1047 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1048 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1049 in macros.
1050
1051 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1052 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1053 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1054 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1055 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1056 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1057 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1058 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1059 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1060 (remove unused second argument).
1061
7e9d3c2f
SM
10622001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1063
1064 * syntax.c (describe_syntax): New wrapper.
1065 (Finternal_describe_syntax_value): Rename from describe_syntax.
1066 Don't insert space at front and \n at the end.
1067 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1068
1069 * regex.c (re_wctype): Try to fix some warnings.
1070 (regcomp, regexec): Don't forget the __restrict.
1071
e6bff182
RS
10722001-11-02 Richard M. Stallman <rms@gnu.org>
1073
1074 * textprop.c (Fget_char_property): Doc fix.
1075
9ba48103
PJ
10762001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1077
1078 * process.c (Fstart_process): Add usage to doc-string.
1079
1080 * data.c (Fsetq_default): Ditto.
1081
1082 * callint.c (Finteractive): Ditto.
1083
c22e59e1
SM
10842001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1085
1086 * macros.c: Don't include keymap.h any more.
1087
9271ed2c
RS
10882001-11-01 Richard M. Stallman <rms@gnu.org>
1089
e6bff182
RS
1090 * data.c (Fmake_local_variable): Doc fix.
1091
1092 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1093 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1094
9271ed2c
RS
1095 * keymap.c (Fdescribe_buffer_bindings): Print character property
1096 bindings along with or instead of the buffer local map.
1097 Make the overriding maps override what they should.
1098
8b8bd9c6
PJ
10992001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1100
1101 * window.c (grow_mini_window): Fix typo in comment.
1102
27188d11
GM
11032001-11-01 Gerd Moellmann <gerd@gnu.org>
1104
7b49b9d2
GM
1105 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1106 (XTset_vertical_scroll_bar): Likewise.
1107
43f7c3ea
GM
1108 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1109 instead of IMAGE_BACKGROUND.
c22e59e1 1110
b350c2e5
GM
1111 * xfns.c (four_corners_best): Reindent.
1112
c22e59e1 1113 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1114 Handle :box so that it is possible to specify sexprs.
1115
d576358b
PJ
11162001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1117
1118 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1119 (Fface_font): Ditto.
1120 (Finternal_set_alternative_font_registry_alist): Ditto.
1121 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1122
1123 * xfns.c (x-get-resource): Reindent.
1124
bf00d461
EZ
11252001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1126
1127 * s/hpux11.h: New file.
1128
4e10df59
PJ
11292001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1130
2b209b97
PJ
1131 * emacs.c (USAGE1): Show command line option --no-window-system
1132 instead of --no-windows in usage.
1133 (standard_args): Rename --no-windows to --no-window-system.
1134 (bug_reporting_address): Follow Emacs coding conventions.
1135
9dbc9081
PJ
1136 * eval.c (Fcommandp): Doc fix.
1137 Change doc-string comments to `new style' [w/`doc:' keyword].
1138
4e10df59
PJ
1139 * frame.c (Fframe_live_p): Doc fix.
1140
1141 * buffer.c (selective-display-ellipses): Doc fix.
1142
dd387b25
GM
11432001-10-31 Gerd Moellmann <gerd@gnu.org>
1144
fe957e65
GM
1145 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1146
dd387b25
GM
1147 * xfaces.c (realize_x_face): If C is not a single-byte character,
1148 set the face's colors_copied_bitwise_p instead of the defaulted_p
1149 members which have a different meaning.
1150 (free_face_colors): Do nothing for a face whose colors have been
1151 copied bitwise.
1152
c22e59e1 1153 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1154
2e1280f8
PJ
11552001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1156
687784e8
PJ
1157 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1158 [w/`doc:' keyword].
2e1280f8 1159
b9d9a9b9
GM
11602001-10-31 Gerd Moellmann <gerd@gnu.org>
1161
1162 * fns.c (require_unwind): Return Lisp_Object.
1163
48400103
PJ
11642001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1165
fa1361cb
PJ
1166 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1167 (last-input-char): Revert doc-string to be the same as the
1168 doc-string of `last-input-event'.
1169
48400103
PJ
1170 * xdisp.c: Fix typos in comments.
1171
eafa3196
GM
11722001-10-31 Gerd Moellmann <gerd@gnu.org>
1173
1174 * window.c (grow_mini_window): Handle case that the root
1175 window is already smaller than the nominal mininum height.
1176
747d3f2a
SM
11772001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1178
bf9bb76f
SM
1179 * emacs.c (main): Don't call keys_of_macros any more.
1180
1181 * lisp.h (keys_of_macros): Remove.
1182
1183 * macros.c (keys_of_macros): Remove.
1184
747d3f2a
SM
1185 * xfaces.c (Fface_attribute_relative_p): Declare args.
1186
5e905a57
JR
11872001-10-30 Jason Rumney <jasonr@gnu.org>
1188
1189 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1190 (enum_font_cb2): Ignore fonts with vertical orientation.
1191
3a426197
RS
11922001-10-30 Richard M. Stallman <rms@gnu.org>
1193
1194 * keyboard.c (Finput_pending_p): Doc fix.
1195
a742d646
GM
11962001-10-30 Gerd Moellmann <gerd@gnu.org>
1197
259cf6bc
GM
1198 * xterm.c (x_after_update_window_line): Don't run the code
1199 clearing in borders for rows whose visible height is 0.
1200
3f99f948
GM
1201 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1202 resized_p flag is set. If not set, use the much less flickering
1203 method previously used.
1204
1205 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1206
1207 * frame.h (struct frame) <resized_p>: New member.
1208
b4a3be43
GM
1209 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1210 as large as the number of bytes to convert.
747d3f2a 1211
a742d646
GM
1212 * lread.c (to_multibyte): New function.
1213 (read1): Use it.
1214
cacbb9e9
EZ
12152001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1216
1217 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1218
99cb6b2f
GM
12192001-10-30 Gerd Moellmann <gerd@gnu.org>
1220
327f42ee 1221 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1222 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1223 if the row's fill_line_p is set and drawing the last glyph with
1224 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1225
99cb6b2f
GM
1226 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1227
8e8223e2
SM
12282001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1229
1230 * xmenu.c: Include coding.h and charset.h.
1231 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1232 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1233 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1234 Explicitly set wv->help. Use `TRUE' rather than `True'.
1235 (menu_help_callback): Use empty_string.
1236
1237 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1238 (Fx_popup_dialog): Explicitly init f.
1239 (w32_menu_display_help): Use empty_string.
1240
4d083a8f
RS
12412001-10-29 Richard M. Stallman <rms@gnu.org>
1242
b2304472
RS
1243 * fns.c (Frequire): Detect recursive try to require the same
1244 feature 3 or more levels deep, and get error.
1245 (require_unwind): New subroutine.
1246 (require_nesting_list): New variable.
1247 (syms_of_fns): Init and staticpro it.
1248
4d083a8f
RS
1249 * print.c (print_object): Clarify indication of insertion type.
1250
2fe41216
EZ
12512001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1252
90480000
EZ
1253 * coding.c (syms_of_coding): Document that locale-coding-system is
1254 used for decoding input on X.
1255
2fe41216
EZ
1256 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1257
74e79967
PJ
12582001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1259
1260 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1261 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1262
60ebcfe8
GM
12632001-10-29 Gerd Moellmann <gerd@gnu.org>
1264
9a7bdceb
GM
1265 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1266 use NO_CURSOR if cursor_in_non_selected_windows is false.
1267
3f08fcd2
GM
1268 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1269 the slant attribute if FRAME is t.
1270
0ccfdad2
GM
1271 * xfns.c (x_set_internal_border_width): Set frame garbaged
1272 when X window doesn't exist yet.
1273
ef253080
GM
1274 * xterm.c (x_after_update_window_line): Clear internal border
1275 in different circumstances.
b116830b 1276
60ebcfe8
GM
1277 * xterm.c (XTread_socket) <KeyPress>: Don't use
1278 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1279 <handa@etl.go.jp>.
1280
73d25f9c
EZ
12812001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1282
1283 * m/ibms390.h: New file. From Adam Thornton
1284 <athornton@sinenomine.net>.
1285
cac1daf0
GM
12862001-10-28 Gerd Moellmann <gerd@gnu.org>
1287
053b3256 1288 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1289
cac1daf0
GM
1290 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1291 a loop counter.
1292
13b1a09c
PJ
12932001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1294
186486eb
PJ
1295 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1296
4707d2d0
PJ
1297 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1298 keyword].
1299 Fix typos in comments.
b116830b 1300
d883731c
PJ
1301 * emacs.c (bug_reporting_address): New function.
1302 Use it when displaying usage message.
1303
04012254
PJ
1304 * minibuf.c (read_minibuf): Remove unused external declaration of
1305 variable `Qread_only'.
1306
13b1a09c
PJ
1307 * keymap.c (access_keymap): Remove unused variable `charset'.
1308
5bbf4378
MB
13092001-10-28 Miles Bader <miles@gnu.org>
1310
1311 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1312 Remove #ifdef'd-out code.
1313 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1314 (syms_of_xfaces): Initialize them.
1315
1ce1e4ee
JR
13162001-10-27 Jason Rumney <jasonr@gnu.org>
1317
1318 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1319 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1320 position using the system caret.
1321
1322 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1323 (w32_system_caret_height, w32_system_caret_x)
1324 (w32_system_caret_y): New variables for tracking system caret.
1325 (w32_initialize): Initialize them.
c2d53558 1326 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1327
c2d53558
SM
1328 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1329 New messages types.
1ce1e4ee
JR
1330
1331 * w32term.c (note_mouse_highlight): Clear old help_echo.
1332
4e30ce42
PJ
13332001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1334
bb4600a4
PJ
1335 * xterm.c: Fix typo in a comment.
1336
7db35a48
PJ
1337 * emacs.c: Fix typos in comments.
1338 Remove unnecessary spaces.
1339 Change doc-string comments to `new style' [w/`doc:' keyword].
1340 (USAGE2): Fix typos in usage string.
1341
a7248e4f
PJ
1342 * xterm.c: Fix typo in a comment.
1343
4e30ce42
PJ
1344 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1345 emacs.c.
1346
62725a92
GM
13472001-10-27 Gerd Moellmann <gerd@gnu.org>
1348
798dbe1f 1349 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1350 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1351 farther backward when target_y was not reached.
1352
62725a92
GM
1353 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1354 Display errno only if non-zero.
1355 (sound_warning): New function.
1356 (vox_configure): Don't treat failing to set sample rate as error.
1357 (various places): Improve error messages.
1358
d4e34d24
EZ
13592001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1360
944e6f60
EZ
1361 * fileio.c (Faccess_file): Run the argument filename through
1362 Fexpand_file_name, before using it.
1363
d4e34d24
EZ
1364 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1365 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1366
38d2af0c
GM
13672001-10-26 Gerd Moellmann <gerd@gnu.org>
1368
da80a8d5
GM
1369 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1370
38d2af0c
GM
1371 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1372 Fix clearing in the case of scroll bars on the right.
c2d53558 1373
56f508dd
EZ
13742001-10-26 Juanma Barranquero <lektu@terra.es>
1375
1376 * w32gui.h (XImage): Add a dummy typedef.
1377
fbd5ceb2
GM
13782001-10-26 Gerd Moellmann <gerd@gnu.org>
1379
c2d53558 1380 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1381
b23236fb
EZ
13822001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1383
1384 * frame.c (Fframe_parameter): Fix last change.
1385
5d991fc4
EZ
1386 * fileio.c: Revert last change (which removed old commented-out
1387 version of expand-file-name). Add a comment that explains why
1388 this old version should not be removed.
1389
879eadc3
GM
13902001-10-25 Gerd Moellmann <gerd@gnu.org>
1391
75700ff2
GM
1392 * frame.c (Fframe_parameter): Fix a bug whereby some
1393 ``artificial'' frame parameters, like `minibuffer' were not
1394 obtained by calling Fframe_parameters.
1395
dfe92a6a
GM
1396 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1397 cursor differently.
1398
879eadc3
GM
1399 * xdisp.c (move_it_vertically_backward): Compute line height
1400 differently. Add heuristic to try to be more compatible to 20.x.
1401
e1010ebe
SM
14022001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1403
d73a471b
SM
1404 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1405
d6da5a06
GM
1406 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1407 boolean.
e1010ebe 1408
f66bd220
MB
14092001-10-25 Miles Bader <miles@gnu.org>
1410
1411 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1412 BG is a pointer to a structure, not a structure.
1413 (gif_format, png_format): Add missing commas.
1414
d436d538
RS
14152001-10-24 Richard M. Stallman <rms@gnu.org>
1416
1417 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1418 (syms_of_xfaces): Defsubr it.
d436d538 1419
075c507b
PJ
14202001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1421
1422 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1423 variable `area'.
1424
d492b584
PJ
14252001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1426
c2d53558 1427 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1428
e2a57b34
MB
14292001-10-25 Miles Bader <miles@gnu.org>
1430
1431 * dispextern.h (struct image): Add `background',
1432 `background_valid', and `background_transparent' fields.
1433 (image_background, image_background_transparent): New declarations.
1434 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1435 * xfns.c (image_background, image_background_transparent)
1436 (four_corners_best): New functions.
c2d53558 1437 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1438 (gs_format): Add `:background' entry.
1439 (lookup_image): Set IMG's background color if specified.
1440 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1441 when appropriate.
1442 (x_clear_image_1): Reset `background_valid' and
1443 `background_transparent_valid' fields.
1444 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1445 calculating it here. Set IMG's background_transparent field.
1446 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1447 (enum png_keyword_index): Add PNG_BACKGROUND.
1448 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1449 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1450 (enum gif_keyword_index): Add GIF_BACKGROUND.
1451 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1452 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1453 Pre-calculate image background color where necessary.
1454 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1455 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1456 color to use for image glyph reliefs.
1457
b547b6e8
GM
14582001-10-24 Gerd Moellmann <gerd@gnu.org>
1459
d9e3b8c6
GM
1460 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1461 in full-width rows.
c2d53558 1462
b547b6e8
GM
1463 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1464 Fix clearing of area not covered by scroll bar.
1465
2beb36f9
PJ
14662001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1467
1468 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1469 and `real_start'.
c2d53558 1470 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1471 (glyph_rect): Remove unused variable `area'.
1472
76cb5e06
GM
14732001-10-24 Gerd Moellmann <gerd@gnu.org>
1474
bdbdebff 1475 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1476
1477 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1478 (row_containing_pos): Take additional argument DY.
1479 Treat rows ending in middle of char differently.
62e33982
GM
1480 (display_line): Handle tabs on window systems differently.
1481
1482 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1483 with additional argument.
1484
1485 * dispextern.h (row_containing_pos): Adjust prototype.
1486
76cb5e06
GM
1487 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1488 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1489 (try_window_id, try_window_reusing_current_matrix)
1490 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1491 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1492
996fee11
PJ
14932001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1494
c9e60620
PJ
1495 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1496 gnuemacs).
1497 (HAVE_BOXES): Fix typo in comment.
1498 (push_menu_pane): Fix typo in comment.
1499
3b552d56
PJ
1500 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1501 of `Qwhen'.
1502 (single_display_prop_string_p): Remove unused local declarations
1503 of `Qwhen' and `Qmargin'.
1504 (string_buffer_position): Remove unused variable `around'.
1505 (store_frame_title): Remove unused variable `width'.
1506
15c565ac
PJ
1507 * window.c: Don't define max.
1508 (coordinates_in_window): Remove unused variable `uy'.
1509
a8818eb9
PJ
1510 * widget.c: Don't define max.
1511
996fee11
PJ
1512 * process.c: Don't define max.
1513 (create_process): Remove unused variable `buffer'.
1514
496e1a5b
GM
15152001-10-23 Gerd Moellmann <gerd@gnu.org>
1516
c2d53558 1517 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1518
5905ae8b
EZ
15192001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1520
1521 * xfaces.c (Finternal_set_lisp_face_attribute)
1522 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1523 frame is on a windowed display.
1524
24db49fb
GM
15252001-10-23 Gerd Moellmann <gerd@gnu.org>
1526
c2d53558
SM
1527 * dispnew.c (sync_window_with_frame_matrix_rows):
1528 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1529 of marginal areas.
1530
c2d53558 1531 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1532
f0487f05
EZ
15332001-10-23 Andreas Schwab <schwab@suse.de>
1534
1535 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1536 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1537
f0a48a01
GM
15382001-10-23 Gerd Moellmann <gerd@gnu.org>
1539
c2d53558 1540 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1541 REAL_END. Notice if cursor gets overwritten.
1542 (notice_overwritten_cursor): Take X positions as parameters.
1543 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1544 around call to x_draw_glyphs.
1545
a50a10a0
PJ
15462001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1547
fc11dff0
PJ
1548 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1549 instead of C) and usage.
a50a10a0 1550
fc11dff0
PJ
1551 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1552 of C) and usage.
a50a10a0
PJ
1553
1554 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1555 `left', `max_width' and `max_height'.
1556
8738febd
GM
15572001-10-23 Gerd Moellmann <gerd@gnu.org>
1558
1559 * xdisp.c (display_line): For a tab continued to the next line,
1560 set row's ends_in_middle_of_char_p.
1561
653c329b
GM
15622001-10-22 Gerd Moellmann <gerd@gnu.org>
1563
1564 * xdisp.c (display_line): Fix computation of continuation lines
1565 width for TABs.
1566
f958c5ac
PJ
15672001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1568
7ba51063
PJ
1569 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1570 `Qlaplace'.
1571
f958c5ac
PJ
1572 * fileio.c: Remove unused code.
1573
eb360291
MB
15742001-10-22 Miles Bader <miles@gnu.org>
1575
1576 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1577 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1578 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1579
98515cf0
JR
15802001-10-21 Jason Rumney <jasonr@gnu.org>
1581
1582 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1583
93026d88
EZ
15842001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1585
1586 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1587 (Finsert_string): Avoid the multi-line string literals warning.
1588
c9a95b79
MB
15892001-10-22 Miles Bader <miles@gnu.org>
1590
1591 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1592 (Fdocumentation): Don't use it.
1593 (syms_of_doc): Don't initialize it.
1594
1595 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1596 * print.c (Fwith_output_to_temp_buffer): Likewise.
1597 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1598 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1599 (Fsave_restriction): Likewise.
c2d53558
SM
1600 * eval.c (Frun_hooks, Frun_hook_with_args)
1601 (Frun_hook_with_args_until_failure)
1602 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1603 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1604 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1605 (Funwind_protect, Fcondition_case): Likewise.
1606 * coding.c (Ffind_operation_coding_system): Likewise.
1607 * keyboard.c (Ftrack_mouse): Likewise.
1608
a3b10252
MB
16092001-10-21 Miles Bader <miles@gnu.org>
1610
c2d53558 1611 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1612 (Fmake_hash_table): Add usage: string to doc string.
1613 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1614 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1615 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1616 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1617 (Fml_prefix_argument_loop): Likewise.
1618
c6f73eec
PJ
16192001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1620
c2d53558 1621 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1622
c6f73eec
PJ
1623 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1624 style' [w/`doc:' keyword].
1625
1626 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1627 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1628 comments to `new style' [w/`doc:' keyword].
1629
3cf3436e
JR
16302001-10-21 Jason Rumney <jasonr@gnu.org>
1631
1632 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1633
c169b8f1
JR
1634 * w32term.c (remember_mouse_glyph): New function.
1635 (w32_mouse_position): Use it.
1636 (note_mouse_movement): If the mouse moved off the glyph, remember
1637 its new position.
c2d53558 1638
4fdd691b
JR
1639 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1640 (w32_display_info): Add mouse_face_overlay.
1641
c169b8f1
JR
1642 * w32term.c (notice_overwritten_cursor): Renamed from
1643 note_overwritten_text_cursor. Rewritten to take glyph widths into
1644 account.
1645 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1646 (fast_find_string_pos): New function.
1647 (fast_find_position): Return the correct vpos. Add parameter
1648 STOP. In the final row, stop before glyphs having STOP as object.
1649 Don't consider glyphs that are not from a buffer.
1650 (fast_find_position) [0]: Add a presumably more correct version
1651 for after 21.1.
1652 (expose_window_tree, expose_frame): Don't compute intersections here.
1653 (expose_window): Do it here instead.
1654 (expose_window_tree, expose_window, expose_line): Return 1 when
1655 overwriting mouse-face.
1656 (expose_window): If W is the window currently being updated, mark
1657 the frame garbaged.
1658 (expose_frame): If mouse-face was overwritten, redo it.
1659 (x_use_underline_position_properties): New variable.
1660 (syms_of_xterm): DEFVAR_BOOL it.
1661 (x_draw_glyph_string): Add comment to use it in future.
1662 (x_draw_glyph_string): Restore clipping after drawing box.
1663 Fix a computation of the underline position.
1664 (w32_get_glyph_string_clip_rect): Minor cleanup.
1665 (x_fill_stretch_glyph_string): Remove an assertion.
1666 (x_produce_glyphs): Don't convert multibyte characters
1667 to unibyte characters in unibyte buffers.
1668 (cursor_in_mouse_face_p): New function.
1669 (x_draw_stretch_glyph_string): Use it to choose a different GC
1670 when drawing a cursor within highlighted text. Don't draw
1671 background again if it has already been drawn.
1672 (x_draw_glyph_string_box): Don't draw a full-width
1673 box just because the glyph row's full_width_p flag is set.
1674 (x_draw_glyphs): Fix computation of rightmost x for
1675 full-width rows.
1676 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1677 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1678 change bottom shadow accordingly. Some cleanup.
1679 (x_update_window_end): Handle overwritten mouse face
1680 also for tool bar windows.
1681 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1682 DRAW is DRAW_IMAGE_RAISED.
1683 (clear_mouse_face): Return 1 if text with mouse face was
1684 actually redrawn. Make the function static. Reset
1685 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1686 optimize away highlighting if we pass over that same overlay again.
1687 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1688 to detect a case where we have to highlight a different region
1689 despite not having left the currently highlighted region.
1690 Set mouse_face_overlay in the x_display_info. Avoid changing the
1691 mouse pointer shape when show_mouse_face has already done it, or
1692 there is no need. Handle mouse-face and help-echo in strings.
1693 (glyph_rect): New function.
1694 (w32_mouse_position): Use it to raise the threshold for mouse
1695 movement event generation.
1696 (w32_initialize_display_info): Initialize the x_display_info's
1697 mouse_face_overlay.
1698 (w32_set_vertical_scroll_bar): Don't clear a zero height
1699 or width area.
1700 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1701 a widget to zero height.
1702
3cf3436e 1703 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1704 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1705 equivalents in menu_items.
1706 (w32_menu_show): Don't overwrite an item's name with its key
1707 description in case the description is a multibyte string.
1708 (single_submenu): Some cleanup.
1709
1710 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1711 (postprocess_image): New function.
1712 (lookup_image): Call it for all image types except PostScript.
1713 (x_kill_gs_process): Call postprocess_image.
1714 (tiff_error_handler, tiff_warning_handler): New functions.
1715 (tiff_load): Install them as handlers.
1716 (x_kill_gs_process): Recognize if someone has cleared the image
1717 cache under us.
1718 (valid_image_p): Protect better against invalid image
1719 specifications. Previous code could signal an error.
1720 (Fx_hide_tip, Fshow_tip): Doc fix.
1721 (Fv_max_tooltip_size): New variable.
1722 (syns_of_xfns): DEFVAR_LISP it.
1723 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1724 window buffer to *tip* right after creating the frame. Set frame's
1725 window_width. Use a maximum tooltip size specified by
1726 Vx_max_tooltip_size, if that has valid contents.
1727 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1728 Make sure the tooltip is completely visible.
1729 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1730 (Fx_create_frame): Adjust the frame's height for presence
1731 of the tool bar before calling x_figure_window_size.
1732 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1733 when the window gets smaller.
1734 (x_set_foreground_color): Set frame's cursor_pixel.
1735 (x_set_foreground_color, x_set_background_color): Cleaned up.
1736 (x_set_font): Handle case of x_new_fontset returning the same name
1737 as before, although there was a change in fontsets.
1738
386ca361
MB
17392001-10-21 Miles Bader <miles@gnu.org>
1740
c2d53558 1741 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1742 (Flogxor): Add usage: string to doc string.
1743 * charset.c (Fstring): Likewise.
1744 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1745 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1746
14ff1ee0
PJ
17472001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1748
03be2694
PJ
1749 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1750
1751 * alloc.c: Reindent DEFUNs with doc: keywords.
1752
1753 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1754
14ff1ee0
PJ
1755 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1756 keyword].
1757
71431a0e
GM
17582001-10-20 Gerd Moellmann <gerd@gnu.org>
1759
6aa97356 1760 * (Version 21.1 released.)
71431a0e 1761
39f624fa
PJ
17622001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1763
c2d53558 1764 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1765
1766 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1767 0 because unused.
1768
1769 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1770 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1771 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1772
abcce93a
MB
17732001-10-20 Miles Bader <miles@gnu.org>
1774
1775 The following changes remove the glyph_row `inverse_p' field,
1776 which is never set anymore, due to other changes:
1777
1778 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1779 (reassert_line_highlight, change_line_highlight): Declarations removed.
1780 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1781 (line_hash_code, row_equal_p, fake_current_matrices)
1782 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1783 (update_frame_line, update_frame_line, update_frame_line):
1784 Don't use `inverse_p' field.
1785 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1786 change_line_highlight_hook.
1787 (XTreassert_line_highlight, x_change_line_highlight):
1788 Functions removed.
c2d53558 1789 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1790 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1791 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1792 `inverse_p' field.
c2d53558 1793 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1794 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1795 (w32_reassert_line_highlight, x_change_line_highlight):
1796 Functions removed.
1797 * w32console.c (reassert_line_highlight, change_line_highlight):
1798 Functions removed.
1799 (initialize_w32_display): Don't set reassert_line_highlight_hook
1800 or change_line_highlight_hook.
1801 (hl_mode): Function removed.
c2d53558
SM
1802 (reset_terminal_modes, set_terminal_modes, update_begin)
1803 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1804 (clear_frame, ins_del_lines): Don't call it.
1805 * termhooks.h (reassert_line_highlight_hook)
1806 (change_line_highlight_hook): Declarations removed.
1807 * term.c (reassert_line_highlight_hook)
1808 (change_line_highlight_hook): Variables removed.
1809 (reassert_line_highlight, change_line_highlight): Functions removed.
1810 * msdos.c (IT_reassert_line_highlight)
1811 (IT_change_line_highlight): Functions removed.
1812 (internal_terminal_init): Don't set reassert_line_highlight_hook
1813 or change_line_highlight_hook.
1814 (highlight): Variable removed.
c2d53558 1815 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1816 (IT_set_terminal_modes): Don't set or use it.
1817
1818 The following changes remove inverse-video support for terminals
1819 that use a `magic cookie' standout mode. Due to changes in the
1820 way mode-lines are displayed, such support no longer works
1821 anyway, and it's probable that almost no one uses such terminals
1822 anymore:
1823
1824 * term.c (standout_requested): Variable removed.
1825 (update_end, highlight_if_desired): Don't use it.
1826 (chars_wasted, copybuf): Variables removed.
1827 (write_standout_marker): Function removed.
c2d53558 1828 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1829 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1830 Don't use `chars_wasted' or `copybuf'.
1831 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1832 Set `costs_set' to true.
1833 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1834 `chars_wasted'.
1835 (clear_end_of_line): Function removed.
1836 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1837 (clear_to_end): Call `clear_end_of_line' instead of
1838 `clear_end_of_line_raw'.
54800acb
MB
1839 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1840 (term_init): Don't set them.
1841 Turn off any standout/underline modes that require magic cookies.
c2d53558 1842 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1843 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1844 Remove special processing for magic-cookie standout modes.
1845 (turn_off_face, turn_on_face): Remove special processing for
1846 underline magic-cookie glitch.
abcce93a 1847
0b5f679f
RS
18482001-10-19 Richard M. Stallman <rms@gnu.org>
1849
1850 * eval.c (syms_of_eval): Doc fixes.
1851
5a4a5bd4
GM
18522001-10-19 Gerd Moellmann <gerd@gnu.org>
1853
1854 * xdisp.c (redisplay_internal): Don't clear echo area if the
1855 mini-window is selected.
1856
79f1f96c
MB
18572001-10-19 Miles Bader <miles@gnu.org>
1858
b57c2708
MB
1859 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1860 doesn't take precedence if the affected property's value is nil.
1861
1862 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1863
79f1f96c
MB
1864 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1865 with fields and suggest using `forward-line' to avoid them.
1866 * editfns.c (Fline_beginning_position, Fline_end_position):
1867 Clarify documentation.
1868
ef879104
SM
18692001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1870
1871 * keymap.c (current_minor_maps): `override' only shadows its
1872 correspondent in minor-mode-map-alist, not the whole tail.
1873
97f4db8c
AI
18742001-10-18 Andrew Innes <andrewi@gnu.org>
1875
1876 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1877 optimization. The fontp->encoding array was not being initialized
1878 correctly when compiled with optimizations by MSVC.
1879
e6b70fd8
GM
18802001-10-18 Gerd Moellmann <gerd@gnu.org>
1881
30903479 1882 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1883
0e804d38
AI
18842001-10-17 Andrew Innes <andrewi@gnu.org>
1885
1886 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1887
1888 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1889 font_info.charset field.
1890
1891 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1892 rather than working it out by calling w32_codepage_for_font for
1893 every glyph.
1894
66e5868a
AI
18952001-10-17 Andrew Innes <andrewi@gnu.org>
1896
1897 * w32term.c (w32_read_socket): Determine clipping rectangle for
1898 the entire frame, including areas covered by scrollbars and the
1899 menubar. This avoids internal arguments about whether a frame is
1900 fully obscured or not.
1901
15b00083
GM
19022001-10-17 Gerd Moellmann <gerd@gnu.org>
1903
23e8bd86
GM
1904 * xdisp.c (try_window_id): Undo last change. Give up if
1905 window ends in strings.
30903479 1906
9c6ba6d1 1907 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1908 end if the rest of the window after the window end was already blank.
23e8bd86 1909
30903479 1910 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1911 for the release of 21.1.
1912
30903479 1913 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1914
945220bd
MB
19152001-10-17 Miles Bader <miles@gnu.org>
1916
1917 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1918 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1919 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1920 Change doc-string comments to `new style' [w/`doc:' keyword].
1921 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1922 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1923 out make-docfile.
1924
14242528
MB
19252001-10-16 Miles Bader <miles@gnu.org>
1926
1927 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1928
3ddf952f
GM
19292001-10-16 Gerd Moellmann <gerd@gnu.org>
1930
1931 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1932 *scratch*.
1933
f3fbd155
KR
19342001-10-16 Ken Raeburn <raeburn@gnu.org>
1935
1936 Avoid the assumption that car and cdr slots of cons cells are
1937 addressable lvalues; this allows for easier experimentation with
1938 other lisp implementations that may not permit such accesses for
1939 various reasons. Not quite complete -- buffer.c still needs some
1940 work, and w32/mac files need rechecking -- so compile-time
1941 enforcement is left disabled for now.
1942
1943 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1944 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1945 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1946 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1947 (XSETCAR, XSETCDR): New macros.
1948 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1949 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1950 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1951 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1952 XSETCDR.
1953 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1954 * buffer.c (record_buffer, Fbury_buffer)
1955 (swap_out_buffer_local_variables, recenter_overlay_lists)
1956 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1957 fields of a cons cell respectively.
1958 * callint.c (quotify_args, Fcall_interactively): Likewise.
1959 * ccl.c (Fregister_code_conversion_map): Likewise.
1960 * coding.c (detect_coding_system): Likewise.
1961 * composite.c (get_composition_id, make_composition_value_copy):
1962 Likewise.
30903479
SM
1963 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1964 (swap_in_symval_forwarding, set_internal, Fset_default)
1965 (Fmake_variable_buffer_local, Fmake_local_variable)
1966 (Fmake_variable_frame_local): Likewise.
f3fbd155 1967 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1968 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1969 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1970 * minibuf.c (get_minibuffer): Likewise.
1971 * search.c (Fmatch_data): Likewise.
1972 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1973 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1974 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1975 Likewise.
1976 * w32term.c (x_delete_display): Likewise.
1977 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1978 Likewise.
c2d53558 1979 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1980 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1981 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1982 (Fread_file_name): Use XSETCAR.
1983 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1984 CHECK_NUMBER_CDR.
1985 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1986 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1987 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1988 CHECK_NUMBER_CDR.
1989 * keyboard.c (read_char): Alter list traversal to avoid taking the
1990 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1991 (parse_menu_item): Use XSETCAR and XSETCDR.
1992 (reach_char_x_menu_prompt): Use XSETCAR.
1993 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1994 (Fcommand_execute): Use XSETCDR.
1995 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1996 (openp): Change list traversal to avoid using XCAR as lvalue.
1997 (read_list): Use XSETCDR.
1998 * process.c (wait_reading_process_input): Change wait_for_cell
1999 handling to avoid taking addresses of cons cell slots.
30903479
SM
2000 * xselect.c (x_own_selection, x_handle_selection_clear)
2001 (x_clear_frame_selections): Use XSETCDR.
2002 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2003 (x_handle_property_notify, x_get_foreign_selection)
2004 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2005
502150e5
PJ
20062001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2007
018ba359
PJ
2008 * buffer.c: Put doc strings in comments.
2009
30903479 2010 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2011
b56ba8de
SS
20122001-10-15 Sam Steingold <sds@gnu.org>
2013
2014 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2015
6a0b793a
PJ
20162001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2017
30903479
SM
2018 * process.c (process-inherit-coding-system-flag)
2019 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2020 in comment.
2021
a1f17501 2022 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2023 arguments. Put doc strings in comments.
a65da641
PJ
2024
2025 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2026
aa601ad0
GM
20272001-10-15 Gerd Moellmann <gerd@gnu.org>
2028
30903479 2029 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2030
aa601ad0
GM
2031 * window.c (select_window_1): Unfreeze window start. Remove a
2032 doubled test for WINDOW being live.
2033
288148a1
PJ
20342001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2035
dd8d1e71
PJ
2036 * fns.c (Fmapconcat): Fix typo in a doc string.
2037
288148a1
PJ
2038 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2039
9f5eb4a3
GM
20402001-10-15 Gerd Moellmann <gerd@gnu.org>
2041
2042 * xterm.c (x_draw_glyph_string): Restore clipping after
2043 drawing box.
2044
dbae44c8
PJ
20452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2046
30903479 2047 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2048
0c88c937
SM
20492001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2050
56378db4
GM
2051 * indent.c (skip_invisible): Use new retval of
2052 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2053
845e4cf4
SM
2054 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2055 If a parent is reached and noinherit is set, exit immediately.
2056 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2057
0c88c937
SM
2058 * s/ms-w32.h (EXEC_SUFFIXES):
2059 * s/msdos.h (EXEC_SUFFIXES):
2060 * process.h (EXEC_SUFFIXES): Remove.
2061
2062 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2063 (decode_suffixes): Remove.
2064
2065 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2066 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2067 (invisible_ellipsis_p): Remove.
0c88c937
SM
2068
2069 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2070 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2071 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2072 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2073 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2074
d19be8a9
PJ
20752001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2076
04d7d066
PJ
2077 * lisp.h (Ftop_level): Add prototype.
2078
d624284c
PJ
2079 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2080 (XTread_socket): Improve style of comments to follow other
2081 comments.
2082
a87414f9
PJ
2083 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2084 is already prototyped in included lisp.h).
2085
d19be8a9
PJ
2086 * frame.c (Fset_mouse_position): Improve style of comment to
2087 follow other comments.
2088 (Fset_mouse_pixel_position): Improve style of comment to follow
2089 other comments.
2090 (Fmake_frame_visible): Doc fix and typo in comment.
2091 (Fmake_frame_invisible): Doc fix and typo in comment.
2092 (Ficonify_frame): Fix typo in comment.
2093
c061c855
GM
20942001-10-14 Gerd Moellmann <gerd@gnu.org>
2095
37f6b5b6 2096 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2097 * term.c, alloc.c: Put doc strings in comments.
c061c855 2098
e641b454
GM
20992001-10-13 Gerd Moellmann <gerd@gnu.org>
2100
2101 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2102 Provide definitions for doc strings in comments.
2103
2104 * fns.c: Put doc strings in comments.
2105
51724e26
EZ
21062001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2107
2108 * dired.c (file_name_completion): Ignore a candidate directory if
2109 it matches an element in completion-ignored-extensions that ends
2110 in a slash.
2111 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2112 feature in the doc string.
2113 (Ffile_name_completion): Ditto.
2114
be5fc59b
SM
21152001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2116
5a1373f3
SM
2117 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2118
2119 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2120
2121 * lisp.h (Fprovide): Update prototype.
2122 (Ffeaturep, invisible_p): Remove.
2123
bbc4a3d3 2124 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2125 (DOLIST, LOOP_PROPVAL): New macros.
2126 (invisible_p, invisible_ellipsis_p): Use them.
2127 (invisible_noellipsis_p): New function.
2128 (syms_of_xdisp): Use empty_string.
2129
2130 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2131
2132 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2133 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2134
2135 * print.c (Fwith_output_to_temp_buffer): Align with
2136 internal_with_output_to_temp_buffer.
2137 (print_preprocess): Use traverse_intervals_noorder.
2138 (print_object): Update call to traverse_intervals.
2139
2140 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2141 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2142
2143 * intervals.c (traverse_intervals_noorder): New function.
2144 (search_for_interval, count_intervals): Use it.
2145 (traverse_intervals): Use less stack space and drop `depth' arg.
2146
2147 * fns.c (Ffeaturep): Add new `subfeature' arg.
2148 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2149 (Qsubfeatures): New var.
2150 (syms_of_fns): Initialize it.
2151
026f408d
SM
2152 * keymap.c (Fkey_description): Use empty_string.
2153 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2154 (syms_of_keymap): Setup inheritance between maps.
2155 Don't export Sdescribe_bindings_internal any more.
2156
be5fc59b
SM
2157 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2158
3365175e
GM
21592001-10-12 Gerd Moellmann <gerd@gnu.org>
2160
2161 * xterm.c (notice_overwritten_cursor): Renamed from
2162 note_overwritten_text_cursor. Rewritten to take glyph widths into
2163 account.
2164
2ab7765c
EZ
21652001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2166
2167 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2168 multi-line strings without a trailing "\n\".
2169
311346bb
PJ
21702001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2171
2172 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2173 defined.
2174
2168e04d
SM
21752001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2176
026f408d
SM
2177 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2178
c0ec53ad
SM
2179 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2180 * w32proc.c (sys_spawnve):
2181 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2182 * w32.c (check_windows_init_file):
2183 * sound.c (Fplay_sound):
026f408d 2184 * emacs.c (init_cmdargs):
c0ec53ad
SM
2185 * process.c (Fstart_process): Update calls to openp.
2186
2187 * callproc.c (Vexec_suffixes): New var.
2188 (Fcall_process): Update call to openp.
2189 (decode_suffixes): New function.
2190 (syms_of_callproc): Init exec-suffixes.
2191
2192 * lread.c (Vload_suffixes, default_suffixes): New vars.
2193 (openp): Take a lisp list of suffixes.
2194 Check for file-name-handlers even if the file was absolute already.
2195 (syms_of_lread): Declare load-suffixes.
2196 (Fload): Fix up call to openp.
2197 Don't bother checking for file-name-handler at the very beginning.
2198
f6333468
SM
2199 * keymap.h (Fcopy_keymap): Don't export.
2200
2201 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2202 (Vload_suffixes, Vexec_suffixes): Declare.
2203 (openp): Update prototype.
f6333468
SM
2204
2205 * emacs.c (empty_string): New var.
2206 (syms_of_emacs): Initialize it.
2207
2208 * search.c (wordify): Use it.
2209
2210 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2211 selected window if it's not displayed there. Handle the case
2212 when the window is dedicated.
2213 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2214
2215 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2216
2168e04d
SM
2217 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2218 Remove left_ok and right_ok.
2219 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2220 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2221 new meaning of b_property.
2222
2223 * syntax.c (update_syntax_table): Simplify.
2224 (Fforward_comment): Don't skip quoted chars when going backward.
2225
13d95cc0
GM
22262001-10-11 Gerd Moellmann <gerd@gnu.org>
2227
beb0990f
GM
2228 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2229 in case I is of some unsigned type, in which case
2230 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2231 comparison becomes bogus.
2232
cb938d46
GM
2233 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2234 (Fuser_full_name): Fix bug treating a float as a fixnum.
2235
2236 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2237
2238 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2239
13d95cc0
GM
2240 * lisp.h (circular_list_error): Add prototype.
2241
2242 * data.c (Qcircular_list): New variable.
2243 (circular_list_error): New function.
2244 (syms_of_data): Initialize it Qcircular_list.
2245
e35f6ff7
SM
22462001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2247
2248 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2249 casefiddle.c, buffer.c: Include keymap.h.
2250
619632ac
GM
22512001-10-10 Gerd Moellmann <gerd@gnu.org>
2252
2253 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2254 options. From Dave Love <d.love@dl.ac.uk>.
2255
5e5388f6
GM
22562001-10-09 Gerd Moellmann <gerd@gnu.org>
2257
2258 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2259 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2260
14a3dff7
GM
2261 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2262 unsigned char.
2263 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2264
76ba8daf
AI
22652001-10-08 Andrew Innes <andrewi@gnu.org>
2266
2267 * lisp.h [max]: Undef min and max before redefining them.
2268
2269 * w32gui.h: Do not undef min and max.
2270
2271 * w32heap.h: Do not undef min and max.
2272
2273 * s/ms-w32.h: Do not undef min and max.
2274
166253cb
SM
22752001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2276
2277 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2278
0c4d9527
SS
22792001-10-08 Sam Steingold <sds@gnu.org>
2280
2281 * keymap.c (current-active-maps): Quote newlines (compilation error).
2282
14bfa771
EZ
22832001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2284
2285 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2286 bindings.elc, since otherwise doc strings in bindings.el get wrong
2287 offsets in etc/DOC.
2288
bdb7aa47
SM
22892001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2290
9985827f
SM
2291 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2292
2293 * keyboard.h (map_prompt): Remove.
2294
2295 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2296 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2297
bdb7aa47
SM
2298 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2299
2300 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2301
2302 * keyboard.c (map_prompt): Remove.
2303 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2304 Use Fkeymap_prompt.
2305
2306 * keymap.h: New file. Extracted from lisp.h.
2307
9985827f
SM
2308 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2309 (accessible_keymaps_1): New function.
2310 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2311 (Fwhere_is_internal): Use Fcurrent_active_maps.
2312 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2313 Insert in current buffer rather than standard-output.
2314 Don't call `help-mode'. Export to elisp.
2315 (describe_buffer_bindings): New wrapper.
2316 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2317 and Sdescribe_buffer_bindings.
2318
402c9a51
GM
23192001-10-08 Gerd Moellmann <gerd@gnu.org>
2320
9985827f 2321 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2322 Remove code setting signal handler.
2323
9985827f 2324 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2325 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2326
3fe81fdf
PJ
23272001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2328
2329 * keyboard.c: Don't define min/max.
2330
55fa7820
GM
23312001-10-08 Gerd Moellmann <gerd@gnu.org>
2332
9985827f 2333 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2334 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2335 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2336 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2337 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2338 Don't define min/max.
2339
2340 * lisp.h (min, max): New macros.
2341
55fa7820
GM
2342 * puresize.h (BASE_PURESIZE): Increase to 725000.
2343
1aad31e4
PJ
23442001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2345
9180dc8c
PJ
2346 * xfaces.c (free_frame_menubar): Add prototype.
2347
01f67d2c
PJ
2348 * lisp.h (init_window): Add prototype.
2349
2350 * editfns.c: Include ctype.h.
2351
2352 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2353 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2354 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2355 variable `sb'.
2356
5f351ff1
PJ
2357 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2358 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2359 `popup_activated_flag' and `title'.
2360
479dfe87
PJ
2361 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2362
dff49fc8
PJ
2363 * emacs.c (main): Remove extra `;'.
2364
248ac615
PJ
2365 * atimer.h (struct atimer): Fix typos in a comment.
2366
2367 * atimer.c: Fix typo.
2368
af232c7d
PJ
2369 * Makefile.in: Fix typo.
2370
2371 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2372
d876f455
MB
23732001-10-07 Miles Bader <miles@gnu.org>
2374
2375 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2376
0037e2f2
KR
23772001-10-07 Ken Raeburn <raeburn@gnu.org>
2378
b056f36d
KR
2379 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2380 Lisp_Object.
2381
0037e2f2
KR
2382 * lisp.h (Ffield_end): Declare.
2383
1a4372ef
GM
23842001-10-07 Gerd Moellmann <gerd@gnu.org>
2385
a4a74e8c
GM
2386 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2387
2388 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2389
2390 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2391
2392 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2393
1a4372ef
GM
2394 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2395 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2396
2397 * alloc.c (inhibit_garbage_collection): Simplify.
2398 (Fmemory_use_counts): Ditto.
2399
9985827f 2400 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2401 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2402 most-negative-fixnum.
2403
9985827f 2404 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2405 (FIXNUM_OVERFLOW_P): New macros.
2406
4650e362
MB
24072001-10-06 Miles Bader <miles@gnu.org>
2408
2409 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2410 scroll_bar_bottom_shadow_pixel fields.
2411 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2412 for the shadows, and tell the toolkit about them if we succeed.
2413 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2414 Free scroll-bar shadow colors.
2415 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2416 Free scroll-bar shadow colors when the background color changes.
2417 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2418 Initialize scroll-bar shadow-color fields.
2419
ace64e0a
GM
24202001-10-05 Gerd Moellmann <gerd@gnu.org>
2421
2422 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2423
ec66bdc7
MB
24242001-10-05 Miles Bader <miles@gnu.org>
2425
9985827f
SM
2426 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2427 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2428 New functions (were in simple.el).
9985827f 2429 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2430 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2431 (syms_of_minibuf): Initialize them.
2432
a0fb4492
GM
24332001-10-05 Gerd Moellmann <gerd@gnu.org>
2434
2435 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2436 (tiff_load): Install them as error and warning handler.
2437
0bcf87c1
AI
24382001-10-04 Andrew Innes <andrewi@gnu.org>
2439
2440 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2441 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2442 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2443 (x_to_w32_charset): Handle private format for unknown charsets.
2444 Handle wildcards in charset spec, by ignoring them.
2445 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2446 "*-" prefix from charset.
2447 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2448 handle the truncated font spec form constructed by font_list_1, so
2449 that we correctly identify the charset fields. Don't remove "*-"
2450 prefix from charset.
2451 (w32_list_synthesized_fonts): Fix argument to alloca.
2452
c89e4bc5
GM
24532001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2454
2455 * window.h (MINI_WINDOW_P): Use NILP.
2456
2457 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2458
2459 * termhooks.h (struct input_event): Use proper type for `kind'.
2460
24612001-10-04 Gerd Moellmann <gerd@gnu.org>
2462
2463 This handles unknown keysyms better than before. For example,
2464 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2465 Emacs formerly completely ignored F5. With the change, it derives
2466 a key symbol from the name of the X keysym, `ccaron' in this case.
2467 Reported by Martin Buchholz.
2468
2469 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2470 unknown keysyms.
2471
2472 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2473 that EVENT->code isn't a function key, use the keysym's name.
2474
24752001-10-04 Gerd Moellmann <gerd@gnu.org>
2476
2477 FOREACH is a macro that should make it easier to loop over Lisp
2478 lists with checks for cycles and proper lists.
2479
2480 * lisp.h (LIST_END_P, FOREACH): New macros.
2481
24822001-10-04 Gerd Moellmann <gerd@gnu.org>
2483
2484 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2485 called for a lost connection. Prevent dumping core in this case.
2486 Instead print the X error, and exit. On user request.
2487
2488 * xterm.c (error_msg): New variable.
2489 (x_fatal_error_signal): New function.
2490 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2491 as fatal_error_signal_hook around the call to XtCloseDisplay.
2492
2493 * emacs.c (fatal_error_signal_hook): New variable.
2494 (fatal_error_signal): Call that function.
2495
24962001-10-04 Gerd Moellmann <gerd@gnu.org>
2497
2498 With this, Emacs prints how much pure storage it will
2499 approximately need in case pure storage overflows while dumping.
2500
2501 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2502 New variables.
2503 (init_alloc_once): Initialize new variables.
2504 (PURE_POINTER_P): Use new variables.
2505 (pure_alloc): If pure storage overflows, allocate from the heap.
2506 (check_pure_size): New function.
2507 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2508
2509 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2510 (check_pure_size): Add prototype.
2511
2512 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2513
25142001-10-04 Gerd Moellmann <gerd@gnu.org>
2515
2516 This adds a post-gc-hook that's run with GC inhibited.
2517 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2518
2519 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2520 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2521 (Fgarbage_collect): Run post-gc-hook.
2522
25232001-10-04 Gerd Moellmann <gerd@gnu.org>
2524
2525 This adds `defvaralias' and `indirect-variable'. Changes not
2526 directly related to this feature are there to gain the same
2527 performance again as before variable aliases.
2528
2529 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2530 code to get and set symbol values, to take defvaralias into account.
2531
2532 (Note: the new `constant' bit-flag in symbols would make it
2533 possible to define arbitrary read-only variables, e.g. with
2534 `defconst'.)
2535
2536 Documentation is in lispref/variables.texi. Added to NEWS.
2537
2538 * lisp.h (enum symbol_interned): New enumeration.
2539 (struct Lisp_Symbol): Remove member `obarray', add
2540 `indirect_variable', `constant', and `interned'.
2541 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2542 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2543 (indirect_variable): Add prototype.
2544
2545 * print.c (print_preprocess, print_object): Test internedness of
2546 symbols differently.
2547
2548 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2549 bit-fields.
2550 (init_obarray): Likewise for t and nil.
2551
2552 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2553 (Fdefvaralias): New function.
2554 (specbind): Simplify the test if symbol is a constant.
2555 (syms_of_eval): Defsubr Fdefvaralias.
2556
2557 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2558 (Qcyclic_variable_indirection): New variable.
2559 (Fkeywordp): Check for internedness differently.
2560 (Fmakunbound): Simplify the test if symbol is a constant.
2561 (indirect_variable, Findirect_variable): New functions.
2562 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2563 aliased symbol.
2564 (let_shadows_buffer_binding_p): Check for variable aliases.
2565 (set_internal): Simplify the test if SYMBOL is a constant.
2566 If SYMBOL has a buffer-local value and is an alias, use the aliased
2567 symbol instead.
2568 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2569 Sindirect_variable.
2570
2571 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2572 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2573 set directly.
2574
2575 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2576
2577 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2578 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2579 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2580
ab952a4f
GM
25812001-10-04 Gerd Moellmann <gerd@gnu.org>
2582
2583 * Branch for 21.1.
b56ba8de 2584
ba88ff28
MB
25852001-10-03 Miles Bader <miles@gnu.org>
2586
2587 * callproc.c (syms_of_callproc): Explicitly state in the
2588 documentation for `process-environment' that earlier entries take
2589 precedence over later ones.
2590
ae1a9581
MB
25912001-10-02 Miles Bader <miles@gnu.org>
2592
2593 * textprop.c (Fnext_char_property_change)
2594 (Fprevious_char_property_change): Remove reference to non-existant
2595 argument OBJECT from doc-string.
2596
257e3f57
GM
25972001-10-01 Gerd Moellmann <gerd@gnu.org>
2598
2599 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2600 (try_window_id): Skip back over lines ending in a newline from a
2601 string.
2602
2603 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2604 New bit flag
2605
c1f29759
RS
26062001-10-01 Richard M. Stallman <rms@gnu.org>
2607
2608 * search.c (Freplace_match): Doc fix.
2609
c30dce3d
AI
26102001-09-28 Andrew Innes <andrewi@gnu.org>
2611
2612 * w32menu.c (set_frame_menubar): Take into account that
2613 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2614 <raeburn@gnu.org>.
2615
03be5931
EZ
26162001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2617
2618 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2619
75bec752
PJ
26202001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2621
2622 * s/gnu-linux.h: Fix a typo in comment.
2623
83100e0a
AS
26242001-09-28 Andreas Schwab <schwab@suse.de>
2625
2626 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2627 nocombreloc, in case -z combreloc is the default.
2628
a74b48cf
GM
26292001-09-28 Gerd Moellmann <gerd@gnu.org>
2630
2631 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2632 really going on here.
2633
09c4719e
SM
26342001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2635
2636 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2637
f7d5d963
EZ
26382001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2639
2640 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2641 utf-8, menu-bar, and latin-N.
2642 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2643 unconditionally now.
2644 (lisp): Add latin-N, since they are preloaded.
2645
9240e746
GM
26462001-09-27 Gerd Moellmann <gerd@gnu.org>
2647
14531065
GM
2648 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2649 to the left. Some cleanup.
2650
9240e746
GM
2651 * xdisp.c (display_mode_element): One more case where a string's
2652 multibyteness should be used for display.
2653
edd1e654
GM
26542001-09-26 Gerd Moellmann <gerd@gnu.org>
2655
b02439c8
GM
2656 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2657 reading at EOF.
2658
032906b1 2659 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2660 of the only temporarily set echoing flag for deciding when
032906b1
GM
2661 the cancel echoing.
2662
2663 * keyboard.c (echo_kboard): Make externally visible.
2664
2665 * lisp.h (echo_kboard): Declare extern.
2666
cb617e7c 2667 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2668 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2669 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2670 this round of redisplay if make_cursor_line_fully_visible fails.
2671 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2672 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2673
2674 * dispextern.h (required_matrix_width, required_matrix_height):
2675 Add prototypes.
2676
09c4719e
SM
2677 * dispnew.c (required_matrix_width, required_matrix_height):
2678 New functions.
cb617e7c 2679 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2680 (allocate_matrices_for_frame_redisplay: Use them.
2681 Remove parameters CH_DIM.
cb617e7c 2682
edd1e654
GM
2683 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2684 and selected_window to the frame of the window whose mode-lines
2685 are displayed, and to the window itself.
2686 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2687 here.
edd1e654 2688
924b604c
GM
26892001-09-25 Gerd Moellmann <gerd@gnu.org>
2690
daba7643
GM
2691 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2692 the image cache under us.
2693
b7a22712 2694 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2695 with a string value, use that string's multibyteness for displaying.
b7a22712 2696
ad648212
GM
2697 * keyboard.c (read_char): Don't clear a message for a switch-frame
2698 event. From Stefan Monnier <monnier@cs.yale.edu>.
2699
9f8531e5
GM
2700 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2701 version for after 21.1.
2702
2703 * xdisp.c (row_containing_pos): Make externally visible.
2704
2705 * dispextern.h (row_containing_pos): Add prototype.
2706
924b604c
GM
2707 * process.c (send_process): Disable composition if from_byte < 0.
2708 From Kenichi Handa <handa@etl.go.jp>.
2709
6f3f0db4
GM
27102001-09-24 Gerd Moellmann <gerd@gnu.org>
2711
c69c0ebc
GM
2712 * xterm.c (refreshicon): Function removed.
2713
d1182bc4
GM
2714 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2715
2716 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2717
2718 * xterm.c (toplevel): Remove includes in #if 0.
2719
6f3f0db4
GM
2720 * process.c (sigchld_handler) [LINUX]: Don't return from
2721 the signal handler at the end of the loop.
2722
59957f85
GM
27232001-09-21 Gerd Moellmann <gerd@gnu.org>
2724
09c4719e
SM
2725 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2726 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2727
a0528984
EZ
27282001-09-21 Markus Rost <rost@math.ohio-state.edu>
2729
2730 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2731
db92b288
GM
27322001-09-20 Gerd Moellmann <gerd@gnu.org>
2733
3fed8ad5
GM
2734 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2735 since this function can be called during GC.
2736
db92b288
GM
2737 * callproc.c (Fcall_process): Handle errors from pipe(2).
2738 (child_setup): Delete code in #ifdef vipc.
2739
7121b85a
GM
27402001-09-19 Gerd Moellmann <gerd@gnu.org>
2741
72f62cb5
GM
2742 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2743 (display_mode_element): Display the string from decode_mode_spec
2744 depending on its multibyteness.
2745
a2697022
GM
2746 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2747
7121b85a
GM
2748 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2749
bfc97351
GM
27502001-09-18 Gerd Moellmann <gerd@gnu.org>
2751
c9063433
GM
2752 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2753 recursive_edit_unwind.
2754 (recursive_edit_unwind): Set kboard state according to
2755 SINGLE-KBOARD.
2756
3fbdba3e
GM
2757 * buffer.c (modify_overlay): Don't do nothing if START == END;
2758 This can still be a modification, for example when an overlay has
2759 a before-string or after-string.
2760 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2761 an overlay with before-string or after-string.
2762
1270031d
GM
2763 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2764 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2765
bfc97351
GM
2766 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2767 first_unchanged_at_end_row is in front of
2768 last_unchanged_at_beg_row. This code should be removed after the
2769 release of 21.1.
2770
d8a973aa
GM
27712001-09-17 Gerd Moellmann <gerd@gnu.org>
2772
e18c8b8d
GM
2773 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2774 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2775
d8a973aa
GM
2776 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2777 versions >= 2.95.
2778
ed7d6ba4
EZ
27792001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2780
2781 * dired.c (Ffile_attributes): Doc fix.
2782
551629f9
GM
27832001-09-14 Gerd Moellmann <gerd@gnu.org>
2784
2785 * fileio.c (Ffile_symlink_p): Fix last change.
2786
2787 * filelock.c (current_lock_owner): Fix last change.
2788
4c8c7926
GM
27892001-09-13 Gerd Moellmann <gerd@gnu.org>
2790
620c4704
GM
2791 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2792 take that to mean that the buffer is too small.
2793
81c3310d
GM
2794 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2795 that to mean that the buffer is too small.
2796
06fd3792
GM
2797 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2798 current buffer's multibyteness when discarding the iterator's
2799 stack.
2800
4c8c7926
GM
2801 * xfns.c (Fx_window_property): Handle case that property gets
2802 deleted between the two calls to XGetWindowProperty.
2803
9a72e4c1
GM
28042001-09-11 Gerd Moellmann <gerd@gnu.org>
2805
bd819d14 2806 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2807
a41edd99
GM
2808 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2809 in addition to read-only.
2810
2811 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2812 to t in addition to read-only.
2813
2814 * lisp.h (Qinhibit_modification_hooks): Declare.
2815
2816 * insdel.c (Qinhibit_modification_hooks): New variable.
2817 (syms_of_insdel): Initialize and staticpro it.
2818
d4881c6a
GM
2819 * textprop.c (verify_interval_modification): Don't run
2820 modification-hooks if inhibit_modification_hooks.
2821
2822 * dispnew.c (set_window_cursor_after_update): Fix code
2823 finding glyph row containing cursor when cursor_in_echo_area
2824 is >= 0.
2825
9a72e4c1
GM
2826 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2827 (add_to_log): Use bcopy instead of strcpy.
2828 (init_from_display_pos): Use an explicit loop over bytes in
2829 overlay strings instead of calling index.
2830
f4a374a1
GM
28312001-09-10 Gerd Moellmann <gerd@gnu.org>
2832
300e57bd
GM
2833 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2834
2835 * dispnew.c (direct_output_for_insert): Don't change IT's
2836 stop_charpos to something in front of its current position.
2837
f4a374a1
GM
2838 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2839 `format'.
2840
7e4cbc91
RS
28412001-09-10 Richard M. Stallman <rms@gnu.org>
2842
2843 * frame.c (Fmouse_position): Doc fix.
2844
6afad91e
GM
28452001-09-07 Gerd Moellmann <gerd@gnu.org>
2846
2847 * xdisp.c (init_from_display_pos): Don't compare the result
2848 of calling index with NULL.
2849
f76e0368
GM
28502001-09-06 Gerd Moellmann <gerd@gnu.org>
2851
2852 * xfns.c (x_set_background_color): Don't change the colors
2853 of the X window of scroll bar widgets.
2854
9ead1b60
AI
28552001-09-05 Andrew Innes <andrewi@gnu.org>
2856
2857 * w32fns.c (w32_createwindow): Undo last change.
2858
c3b497b3
GM
28592001-09-05 Gerd Moellmann <gerd@gnu.org>
2860
08e1d6df
GM
2861 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2862
c3b497b3
GM
2863 * xdisp.c (string_buffer_position): Use *single_char_property*
2864 functions instead of the *single_property* functions.
b56ba8de 2865
8f860180
AI
28662001-09-04 Andrew Innes <andrewi@gnu.org>
2867
9a72e4c1
GM
2868 * w32term.c (w32_read_socket): Add more information to debugging
2869 output.
8f860180
AI
2870
2871 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2872 from Emacs frames, so that calls to GetClipBox in w32term.c
2873 correctly report when part of a frame is visible (including
2874 scrollbars, etc). This prevents repeated redrawing of frames when
2875 only a scrollbar is visible.
2876 (w32_wnd_proc): Add more frame information to debugging output.
2877
2ee1aa00
SM
28782001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2879
2880 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2881
e3b22517
GM
28822001-09-03 Gerd Moellmann <gerd@gnu.org>
2883
7e376260
GM
2884 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2885 help-echo for a string which doesn't have help-echo itself, use
2886 get-char-property to obtain the help-echo from the string's buffer
2887 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2888 have mouse-face, look ``under'' the string for mouse-face from an
2889 overlay.
2890 (fast_find_position): Add parameter STOP. In the final row, stop
2891 before glyphs having STOP as object. Don't consider glyphs that
2892 are not from a buffer.
2893
e3b22517
GM
2894 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2895
9a249bba
EZ
28962001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2897
2898 * fns.c (Fmd5): Doc fix.
2899
c9979669
GM
29002001-08-31 Gerd Moellmann <gerd@gnu.org>
2901
2902 * composite.c (update_compositions): Do nothing if
2903 inhibit-modification-hooks is set.
2904
9584e63a
GM
29052001-08-30 Gerd Moellmann <gerd@gnu.org>
2906
986ec8f2 2907 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2908 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2909 glyph matrices etc. in a core dump.
2910
92a25631
GM
2911 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2912 (syms_of_xdisp): Initialize them.
2913 (handle_single_display_prop): Don't change point, bind `object',
2914 `position', and `buffer-position' instead to the object having the
2ee1aa00 2915 `display' property, position in the object and position in the buffer.
92a25631 2916
9584e63a
GM
2917 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2918 of the buffer if REPLACE is non-nil.
2919
d38633a3
GM
29202001-08-29 Gerd Moellmann <gerd@gnu.org>
2921
2922 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2923
f4fccc1e
EZ
29242001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2925
2926 * w32term.c (x_set_glyph_string_background_width)
2927 (show_mouse_face): Track the last changes in xterm.c.
2928
eaaa65b0
GM
29292001-08-28 Gerd Moellmann <gerd@gnu.org>
2930
7b0870b2
GM
2931 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2932 string's background width so that multi-line mouse-face is drawn
2933 to the right edge of the window.
2934 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2935 glyphs.
2936
6b6e2422 2937 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2938 before inserting/writing glyphs.
6b6e2422 2939
eaaa65b0
GM
2940 * xdisp.c (display_mode_element): Use string_byte_to_char to
2941 determine character positions in strings, use chars_in_text
2942 instead of strwidth.
2943 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2944 a matrix as parameter; this is easier to use from GDB.
2945
9ad62cf8
MB
29462001-08-28 Miles Bader <miles@gnu.org>
2947
2ee1aa00
SM
2948 * textprop.c (Fprevious_single_char_property_change)
2949 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2950
32171635
GM
29512001-08-27 Gerd Moellmann <gerd@gnu.org>
2952
47d57b22
GM
2953 * fileio.c (Finsert_file_contents): Allocate, restore, and
2954 free composition data in the case of REPLACE not being nil.
2955
2956 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2957 there exist overlay strings with newlines at POS.
2958 (text_outside_line_unchanged_p): Return 0 if changes start at
2959 START and overlays exist at START. Likewise for END.
2960 (try_window_id): Give up if init_to_row_end returns 0.
2961
32171635
GM
2962 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2963 unconditionally.
2964
e1249666
GM
29652001-08-24 Gerd Moellmann <gerd@gnu.org>
2966
33954c45
GM
2967 * keymap.c (access_keymap): Return the cdr of the binding of
2968 a generic character instead of its definition (KEY . BINDING).
2969
e1249666
GM
2970 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2971 to 0 also in the REPLACE case.
2972
fb4c6c96
AC
29732001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2974
2975 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2976 open to determine whether file is readable (as for DOS_NT).
2977
59ecf80b
GM
29782001-08-23 Gerd Moellmann <gerd@gnu.org>
2979
2980 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2981 coding.type is coding_type_no_conversion or coding_type_raw_text,
2982 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2983 non-nil instead of just setting enable_multibyte_characters in the
2984 buffer to nil.
2985
40e33037
GM
29862001-08-22 Gerd Moellmann <gerd@gnu.org>
2987
374388c3
GM
2988 * dispextern.h (struct face_cache): Add member
2989 menu_face_changed_p.
2990
2991 * xfaces.c (menu_face_changed_default): New variable.
2992 (menu_face_changed_count): Variable removed.
2993 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2994 the menu_face_changed_default flag, otherwise set the FRAME's
2995 menu_face_changed_p flag if the `menu' face has been changed.
2996 Prevent calling set_font_frame_param if FRAME is t.
2997 (make_face_cache): Initialize cache's menu_face_changed_p
2998 from menu_face_changed_default.
2999 (realize_basic_faces): Look into the frame's face cache to
3000 determine if the menu appearance needs updating.
3001
40e33037
GM
3002 * keymap.c (access_keymap): Fix last change to not consider
3003 IDX when it has modifiers.
3004
859ea4b8
GM
30052001-08-21 Gerd Moellmann <gerd@gnu.org>
3006
3007 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3008 . BINDING) exists, where GENERIC-CHAR is the generic character of
3009 the charset of IDX, return BINDING unless there exists a binding
3010 for IDX itself.
3011
e8660d73
GM
30122001-08-16 Gerd Moellmann <gerd@gnu.org>
3013
cca1b1d7
GM
3014 * xrdb.c (SYSV): Don't define on Solaris 2.
3015 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3016
e8660d73 3017 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3018 of the screen line, not text line, containing IT's current position.
e8660d73 3019
93aba6fc
GM
30202001-08-15 Gerd Moellmann <gerd@gnu.org>
3021
288d4e06
GM
3022 * window.c (window_scroll_pixel_based): Don't recenter if
3023 PT is partially visible in the window.
3024
3452efc2
SM
3025 * xterm.c (expose_window_tree, expose_window, expose_line):
3026 Return 1 when overwriting mouse-face.
82f053ab
GM
3027 (expose_frame): If mouse-face was overwritten, redo it.
3028
93aba6fc
GM
3029 * xfaces.c (x_update_menu_appearance): Don't call
3030 set_frame_menubar, let the next redisplay do it.
3031
858a55c1
AI
30322001-08-14 Andrew Innes <andrewi@gnu.org>
3033
3034 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3035 drawing glyph string.
3036
3a990b67
EZ
30372001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3038
3039 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3040 running HI-UX/MPP.
3041
04386463
GM
30422001-08-14 Gerd Moellmann <gerd@gnu.org>
3043
3044 * xfaces.c (x_update_menu_appearance): Save and restore value of
3045 interrupt_input_blocked.
3046
3e6385a4
GM
30472001-08-13 Gerd Moellmann <gerd@gnu.org>
3048
b0e619b4
GM
3049 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3050 a line start, move back to the line start.
3452efc2 3051
0de73d5a
GM
3052 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3053 exactly when a mini-buffer is active.
3054
3e6385a4
GM
3055 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3056 in units of 1/8 character on non window-system frames.
3057 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3058
d1b5f629
EZ
30592001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3060
3061 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3062 a doc string.
3063
eaa2319f
GM
30642001-08-09 Gerd Moellmann <gerd@gnu.org>
3065
8e3189f0
GM
3066 * keyboard.c (Vpre_help_message): New variable.
3067 (syms_of_keyboard): Initialize and staticpro it.
3068 (show_help_echo): Record current message before displaying a
3069 help-echo, and restore that message when clearing the help.
3070
eaa2319f
GM
3071 * xfns.c (x_create_im): Remove prototype.
3072
3073 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3074
3075 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3076
eaa2319f
GM
30772001-08-08 Gerd Moellmann <gerd@gnu.org>
3078
3079 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3080 windows whose height has changed, disable partially visible lines.
eaa2319f 3081
17fdcfc8
GM
30822001-08-07 Gerd Moellmann <gerd@gnu.org>
3083
22d01aed 3084 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3085 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3086
17fdcfc8
GM
3087 * xdisp.c (start_display): Don't try to determine the continuation
3088 lines width if lines are truncated. It's superfluous and leads to
3089 incorrect results if POS is not visible in the window after
3090 reseating the iterator at the previous line start.
3091
8e3fe78e
GM
30922001-08-06 Gerd Moellmann <gerd@gnu.org>
3093
3094 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3095
98a8938c
GM
30962001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3097
3098 * alloc.c (init_stack): Remove declaration.
3099
18f9986a
GM
31002001-08-03 Gerd Moellmann <gerd@gnu.org>
3101
5e1f85e0
GM
3102 * keyboard.c (read_key_sequence): Check that key is an integer
3103 before comparing it with quit_char.
3104 (add_command_key): Use larger_vector.
3105 (read_char_x_menu_prompt): Instead of converting symbol and
3106 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3107 which cannot be confused with valid events.
5e1f85e0
GM
3108 (read_char): When reading from Vunread_command_events, check for
3109 events of the form (EVENT . disabled) instead of
3110 (EVENT . nil).
3111
18f9986a
GM
3112 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3113 a float, determine the max height from the frame's height.
3114
fbc7f2a6
GM
31152001-08-02 Gerd Moellmann <gerd@gnu.org>
3116
3117 * xdisp.c (redisplay_internal): Take message_cleared_p into
3118 account only if minibuf_level == 0.
3119
81b1a79d
GM
31202001-08-01 Gerd Moellmann <gerd@gnu.org>
3121
e5c60873
GM
3122 * xdisp.c (redisplay_internal): Add a check for the last
3123 displayed message.
3452efc2 3124
6e019995
GM
3125 * xdisp.c (message_cleared_p): New variable.
3126 (clear_message): Set message_cleared_p when clearing the current
3127 message.
3128 (redisplay_internal): Look at message_cleared_p to capture
3129 the case that the echo area should be cleared.
3130
308a74d8
GM
3131 * keyboard.c (command_loop_1): Fix spelling of
3132 resize_echo_area_exactly.
3133
3452efc2 3134 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3135
3136 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3137
81b1a79d
GM
3138 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3139 current matrix when the window gets smaller.
3140
ada329e6
EZ
31412001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3142
3143 * print.c (strout): Cast the character passed to insert_char to
3144 unsigned char, to avoid sign extension when it is promoted to int.
3145
ed86208c
GM
31462001-07-31 Gerd Moellmann <gerd@gnu.org>
3147
3148 * fileio.c (Finsert_file_contents): Don't treat a return value
3149 of 0 from emacs_read as an IO error.
3150
6594ac22
GM
31512001-07-30 Gerd Moellmann <gerd@gnu.org>
3152
cef68af5
GM
3153 * keyboard.c (abs): New macro.
3154 (double_click_fuzz): New variable.
3155 (make_lispy_event): Use it to determine what makes a double-click.
3156 (syms_of_keyboard): DEFVAR_INT it.
3157
6594ac22
GM
3158 * xmenu.c (set_frame_menubar): Take into account that
3159 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3160 <raeburn@gnu.org>.
3161
75c5350a
GM
31622001-07-27 Gerd Moellmann <gerd@gnu.org>
3163
3164 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3165
3166 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3167 of row's visible height.
3168
3169 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3170 deal with the first overlay string having an image `display' property.
3171 (try_window_reusing_current_matrix, compute_line_metrics):
3172 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3173 row is invisible above and part of the row is at the same time
3174 invisible below the window.
3175
ac49effe
GM
31762001-07-26 Gerd Moellmann <gerd@gnu.org>
3177
3178 * xfns.c (x-show-tip): Doc fix.
3452efc2 3179
ac49effe
GM
3180 * xfns.c (Vx_max_tooltip_size): New variable.
3181 (syms_of_xfns): DEFVAR_LISP it.
3182 (Fx_show_tip): Set frame's window_width to the width of the
3183 window. Use a maximum tooltip size specified by
3184 Vx_max_tooltip_size, if that has valid contents.
3185 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3186
8c3b00cb
AI
31872001-07-26 Andrew Innes <andrewi@gnu.org>
3188
3189 * w32term.c (x_display_list): New variable.
3190 (w32_term_init): Set it.
3191
3192 * w32term.h (x_display_list): New extern.
3193
16098288
GM
31942001-07-26 Gerd Moellmann <gerd@gnu.org>
3195
3196 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3197 is non-nil, instead of when redisplaying_p is non-zero.
3198 See comment there.
16098288
GM
3199 (mark_window_display_accurate_1): Add an assertion.
3200
64c5be50
GM
32012001-07-25 Gerd Moellmann <gerd@gnu.org>
3202
e743f599
GM
3203 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3204
563b384d
GM
3205 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3206 events so that we get a chance of processing expose events.
3207
64c5be50
GM
3208 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3209
296808a5
GM
32102001-07-24 Gerd Moellmann <gerd@gnu.org>
3211
3212 * xfns.c (valid_image_p): Protect better against invalid image
3213 specifications. Previous code could signal an error.
3214
5247262a
GM
32152001-07-23 Gerd Moellmann <gerd@gnu.org>
3216
3452efc2 3217 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3218 presence of display table entries.
3219 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3220
dd42b31a
GM
3221 * dispnew.c (adjust_glyph_matrix): In the optimization for
3222 windows whose height has changed, use the new window height
3223 to compute which rows to invalidate.
3224
9e5a7f2a
GM
3225 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3226 (MAX_10_EXP): New macro.
3227 (Fformat): Use it.
3228
5247262a
GM
3229 * coding.c (code_convert_region): Handle the multibyte case if
3230 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3231
177ab8ce
GM
32322001-07-20 Gerd Moellmann <gerd@gnu.org>
3233
6e07c0a5
GM
3234 * dispextern.h (struct face): Change type of `stipple' to
3235 int; it's an ID.
3236
177ab8ce
GM
3237 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3238
b5b80599
GM
32392001-07-19 Gerd Moellmann <gerd@gnu.org>
3240
4e2a256b
GM
3241 * dispnew.c (update_window): Don't set the cursor at the end
3242 of the update if display update has been paused.
3243
3452efc2 3244 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3245
c1fd9232
KR
32462001-07-18 Ken Raeburn <raeburn@gnu.org>
3247
3248 * fns.c (Fset_char_table_default): Check that a charset is defined
3249 before checking its dimension.
3250
928a85c1
KR
32512001-07-17 Ken Raeburn <raeburn@gnu.org>
3252
3253 * coding.c (setup_coding_system): Don't do any designation based
3254 on reg_bits if charset is not yet defined.
3255
fb4c6c96 3256 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3257 pointer, using eassert.
3258
de11c1ea
GM
32592001-07-17 Gerd Moellmann <gerd@gnu.org>
3260
3452efc2
SM
3261 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3262 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3263
467f1209
GM
32642001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3265
3266 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3267
c3d6be34
GM
32682001-07-16 Gerd Moellmann <gerd@gnu.org>
3269
c1d61a7d
GM
3270 * fileio.c (unwind_read): Function removed.
3271 (read_non_regular, read_non_regular_quit): New functions.
3272 (Finsert_file_contents): When reading from non-regular files,
3273 arrange to catch a `quit' and terminate the loop. Rearrange
3274 code so that a `quit' when reading from a regular file doesn't
3275 insert text in the buffer.
3276
c3d6be34
GM
3277 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3278 Clear faces afterwards.
3279 (clear_font_table): Take a x_display_info parameter. Don't free
3280 fonts being the default font of any frame on the given display.
3281
e06aa1f9
GM
32822001-07-13 Gerd Moellmann <gerd@gnu.org>
3283
3284 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3285 instead of CHAR_STRING which can signal an error.
3286
3287 * charset.c (char_to_string_1): Extracted from char_to_string.
3288 Return -1 instead of signaling an error.
3289 (char_to_string): Use it.
3290
3291 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3292
176c92e6
SM
32932001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3294
3295 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3296 is t, don't try to append anything to it.
3297
1c56232f
EZ
32982001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3299
3300 * dired.c (file_name_completion): Pass dp->d_name to
3301 Fstring_match, not elt, which is always nil here.
3302
1d2b2268
GM
33032001-07-12 Gerd Moellmann <gerd@gnu.org>
3304
3305 * xselect.c (x_decline_selection_request): Handle errors
3306 caused by receivers that have vanished.
3307
3308 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3309 ignoring events on foreign windows in #if 0. Always dispatch
3310 the event after checking it with x_handle_property_notify.
3311
3312 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3313 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3314 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3315 (toplevel): Add prototypes for file-local functions.
3316 (x_atom_to_symbol): Remove DPYINFO parameter.
3317
fe5a0162
SM
33182001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3319
3320 * w32menu.c (menubar_selection_callback, w32_menu_show):
3321 Initialize `entry' to nil.
3322 (w32_dialog_show): Remove unused `save_wv' variable.
3323 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3324
a777242c
GM
33252001-07-11 Gerd Moellmann <gerd@gnu.org>
3326
8ee5b6a3
GM
3327 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3328
d0e2444e
GM
3329 * fileio.c (unwind_read): Print a message when discarding inserted
3330 text or switching the buffer to unibyte. Change parameter.
3331 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3332
a777242c
GM
3333 * fileio.c (unwind_read): New function.
3334 (Finsert_file_contents): Record it as unwind-function for
3335 the case that reading is interrupted by C-g.
3336
ae794295
GM
33372001-07-10 Gerd Moellmann <gerd@gnu.org>
3338
fe5a0162 3339 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3340 update when scrolling_window returns 0.
3341
6b05fae3
GM
3342 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3343
3344 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3345 for the case that x_decode_color signals an error.
6b05fae3 3346
ae794295
GM
3347 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3348
bb6e8cee
GM
33492001-07-09 Gerd Moellmann <gerd@gnu.org>
3350
3351 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3352 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3353 around ioctls.
3354
36b40a8a
EZ
33552001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3356
24b97d4b
EZ
3357 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3358 doc string line for dos-timezone-offset.
3359
36b40a8a
EZ
3360 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3361 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3362 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3363 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3364
3365 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3366
0967b4b0
GM
33672001-07-05 Gerd Moellmann <gerd@gnu.org>
3368
f25cfe53
GM
3369 * sound.c: Include Emacs' header files with #include "...".
3370
0967b4b0
GM
3371 * eval.c (specbind): Additionally record the buffer that was
3372 current when a buffer-local or frame-local variable was bound.
3373
c347a1c3
GM
33742001-07-04 Gerd Moellmann <gerd@gnu.org>
3375
3376 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3377 to unibyte characters in unibyte buffers.
3378
6332ca8a
GM
33792001-07-03 Gerd Moellmann <gerd@gnu.org>
3380
38472d44
GM
3381 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3382 the frame on the binding stack. Change format of entries for
3383 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3384 (unbind_to): Handle unbinding a frame-local variable.
3385
6332ca8a 3386 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3387 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3388 (dump_glyph_row): Print row's continuation_lines_width.
3389 (try_window_id): Take the shortcut if ZV is visible in the
3390 window, but there are actually no changes at ZV.
3391
63d1b174
GM
33922001-07-02 Gerd Moellmann <gerd@gnu.org>
3393
4c175203
GM
3394 * xterm.h (x_free_dpy_colors): Add prototype.
3395
3396 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3397 right number of arguments.
3398
0b54ce28
GM
3399 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3400 ($(lwlibdir)TAGS): New target.
4c175203 3401 (TAGS): Fix dependency list.
0b54ce28 3402
63d1b174
GM
3403 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3404 with input blocked.
3405
d827466c
GM
34062001-06-30 Gerd Moellmann <gerd@gnu.org>
3407
3408 * emacs.c (main): Remove extern declaration for sys_nerr, which
3409 isn't used and causes a compilation error with GCC 3.0 on
3410 FreeBSD 4.3.
3411
b5cb1ada
GM
34122001-06-27 Gerd Moellmann <gerd@gnu.org>
3413
a5d3ec3f 3414 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3415 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3416 (toplevel): Include <signal.h> and syssignal.h.
3417
b5cb1ada
GM
3418 * sound.c (vox_configure, vox_close): Turn off atimers
3419 around ioctls.
3420
d9bad487
GM
34212001-06-26 Gerd Moellmann <gerd@gnu.org>
3422
fdbb67fe
GM
3423 * keyboard.c (read_char) <non_reread>: Record the previous idle
3424 start time before calling timer_stop_idle.
3425 (read_char) <reread_first>: After processing a help-echo event,
3426 restore the previous idle start time.
3427
d9bad487
GM
3428 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3429 the start of invisible text.
3430 (setup_for_ellipsis): New function.
3431 (next_overlay_string): After all overlay strings have been
3432 processed, display an ellipsis if necessary.
3433 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3434 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3435
3436 * dispextern.h (struct iterator_stack_entry): Add member
3437 display_ellipsis_p.
3438
2b9c25e0
GM
34392001-06-25 Gerd Moellmann <gerd@gnu.org>
3440
80de57df
GM
3441 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3442 on the value of the wait-for-wm frame parameter.
3443
3444 * xterm.h (struct x_output): Add member wait_for_wm.
3445
3446 * xfns.c (Qwait_for_wm): New variable.
3447 (x_frame_parms): Add entry for `wait-for-wm".
3448 (x_set_wait_for_wm): New function.
3449 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3450 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3451
2b9c25e0
GM
3452 * xdisp.c (try_window_id) <all changes below window end>: Don't
3453 take this shortcut if ZV is visible in the window.
3454 (try_window_id): When checking for window start being in changed
3455 text, don't check that the buffer's size has changed.
3456
f772775c
RS
34572001-06-23 Richard M. Stallman <rms@gnu.org>
3458
3459 * minibuf.c (Fcompleting_read): Doc fix.
3460
fa9090b8
GM
34612001-06-19 Gerd Moellmann <gerd@gnu.org>
3462
3463 * composite.c (Ffind_composition_internal): Accept ZV
3464 and a string's end position as POS.
3465
f6f1beba
GM
34662001-06-18 Gerd Moellmann <gerd@gnu.org>
3467
3468 * composite.c (Ffind_composition_internal): Check POS
3469 for validity.
3470
0ae83348
EZ
34712001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3472
3473 * editfns.c (Fmessage_box): If the frame is not under a window
3474 system, output the message in the echo area.
3475
e4cdc335
RS
34762001-06-14 Richard M. Stallman <rms@gnu.org>
3477
3478 * xdisp.c (try_window_id): When EOB is visible, don't treat
3479 insertion at EOB as if it were "off the bottom of the screen."
3480
a55a5f3c
AI
34812001-06-11 Andrew Innes <andrewi@gnu.org>
3482
3483 * w32proc.c (create_child): Add new parameter is_gui_app.
3484 (w32_executable_type): Add new parameter is_gui_app.
3485 (sys_spawnve): Use it.
3486 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3487 SIGQUIT. This matches better how the signals are interpreted by
3488 MSVC compiled programs.
3489 (syms_of_ntproc): Update docstring.
3490
1b85dc1c
SM
34912001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3492
3493 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3494 well otherwise note_mouse_highlight might optimize away highlighting
3495 if we pass over that same overlay again.
3496
b75f8eab
EZ
34972001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3498
3499 * lread.c (Fload): Document that the argument is run via
3500 substitute-in-file-name.
3501
94843cc1
GM
35022001-05-31 Gerd Moellmann <gerd@gnu.org>
3503
b14659e6
GM
3504 * Makefile.in (bootstrap-doc): New target.
3505 (bootstrap-emacs): Depend on it.
3506
0894672f
GM
3507 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3508 auto-save-list-file-name when shutting down Emacs, because
3509 creating the directory might signal an error, and leaves
3510 Emacs in a strange state.
3511
94843cc1
GM
3512 * term.c: (tty_cursor_hidden): New variable.
3513 (update_begin): Don't call tty_hide_cursor. Clean up.
3514 (update_end, set_terminal_window, set_scroll_region): Clean up.
3515 (ring_bell, reset_terminal_modes): Clean up.
3516 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3517 on tty_cursor_hidden.
3518 (write_glyphs): Call tty_hide_cursor.
3519
db3a49a6
SM
35202001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3521
3522 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3523
8bd189fb
GM
35242001-05-30 Gerd Moellmann <gerd@gnu.org>
3525
6f1be3b9
GM
3526 * xfns.c (enum image_value_type): New enumerator
3527 IMAGE_STRING_OR_NIL_VALUE.
3528 (parse_image_spec): Handle it.
3529 (xbm_format, pbm_format): Use it for :foreground and :background.
3530 (xbm_load, pbm_load): Check for nil color names.
3531
8bd189fb
GM
3532 * xterm.c (note_mouse_highlight): If an overlapping overlay
3533 exists, but we find that we highlight the same overlay as before,
3534 don't do the highlighting again.
3535
7bdba03c
GM
35362001-05-29 Gerd Moellmann <gerd@gnu.org>
3537
4c329aa8
GM
3538 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3539 Protect unibyte strings created by replacing their multibyte
3540 equivalents in menu_items.
3541
e15e2828
GM
3542 * keymap.c (Fsingle_key_description): NUL-terminate the string
3543 buffer before calling build_string.
3544
7bdba03c
GM
3545 * callproc.c (Fcall_process): Deal with decode_coding returning
3546 CODING_FINISH_INCONSISTENT_EOL.
3547
89c8dc6c
GM
35482001-05-28 Gerd Moellmann <gerd@gnu.org>
3549
db3a49a6 3550 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3551 an item's name with its key description in case the description
3552 is a multibyte string.
3553
3554 * keymap.c (Fsingle_key_description): Create a multibyte string
3555 only if necessary.
3556
eb04d6cd
GM
3557 * macros.c (Fstart_kbd_macro): Doc fix.
3558
8bd6307f
GM
3559 * xterm.c (cursor_in_mouse_face_p): New function.
3560 (x_draw_stretch_glyph_string): Use it to choose a different GC
3561 when drawing a cursor within highlighted text.
3562
e26c4089
GM
3563 * editfns.c (char_property_eq): Put in #if 0.
3564
3565 * indent.c (string_display_width): Put in #if 0.
3566
3567 * lread.c (Fload): Remove unused label.
3568
89c8dc6c
GM
3569 * termcap.c (speeds): Put in #if 0.
3570
9a1211f2
GM
35712001-05-18 Gerd Moellmann <gerd@gnu.org>
3572
29148a3f
GM
3573 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3574
9a1211f2
GM
3575 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3576 transformation matrix by 10.
3577
09393d07
GM
35782001-05-16 Gerd Moellmann <gerd@gnu.org>
3579
3580 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3581 only if it's equal to the former foreground pixel color.
db3a49a6 3582 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3583 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3584
460e6bae
GM
35852001-05-16 Dave Love <fx@gnu.org>
3586
3587 * insdel.c (signal_before_change, signal_after_change): Consider a
3588 local change hook which changes the buffer.
99c78ce8
GM
3589
3590 * process.c (read_process_output): Don't call signal_after_change
3591 and update_compositions after insert_from_string_before_markers.
3592
dbcf3c03
GM
35932001-05-16 Gerd Moellmann <gerd@gnu.org>
3594
a90b3d3c
GM
3595 * xfaces.c (split_font_name): Use the right field when
3596 checking for `[...]' syntax.
3597
1b7818b4
GM
3598 * buffer.c (copy_overlays): New function.
3599 (clone_per_buffer_values): Use it.
3600
3601 * buffer.h (OVERLAY_PLIST): New macro.
3602
9bae8781
GM
3603 * keymap.c (Fsingle_key_description): Replace a build_string with
3604 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3605
dbcf3c03
GM
3606 * fontset.c (Ffontset_info): Check that face is non-null
3607 before accessing its fields.
3608
8a1ae4dd
GM
36092001-05-15 Gerd Moellmann <gerd@gnu.org>
3610
18a0a39e
GM
3611 * keyboard.c (read_key_sequence): Prevent generating a fake
3612 prefix key twice.
3613
e335b66a
GM
3614 * xfaces.c (split_font_name): Handle `[...]' for the right
3615 font name fields.
3616
8a1ae4dd
GM
3617 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3618 of CCL_STAT_INVALID_CMD.
3619
3cf80731
SM
36202001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3621
33568849
SM
3622 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3623 in <var> has no default value yet.
3624
3cf80731
SM
3625 * xfaces.c (try_alternative_families): First try the FAMILY.
3626 And if nothing is found in the end, try again with scalable fonts.
3627 (try_font_list): Let try_alternative_families do a bit more of
3628 the work. Only use FAMILY if it is not nil.
3629 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3630
933b0249
GM
36312001-05-14 Gerd Moellmann <gerd@gnu.org>
3632
58e5af83
GM
3633 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3634 pointer shape when show_mouse_face has already done it.
33568849 3635
58e5af83 3636 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3637 full-width rows.
3638
7b16a6bf
GM
3639 * xfaces.c (split_font_name): Make sure to leave the loop
3640 with the right value of `i'.
3cf80731 3641
933b0249
GM
3642 * xfaces.c (split_font_name): Handle matrix transformations
3643 in the pixel and point size fields of XLFD font names.
3644 (xlfd_point_size): Likewise.
3645
dddcbf00
EZ
36462001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3647
3cf80731 3648 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3649 (x_to_w32_font): Add prototype.
3650
7689ef0b
EZ
3651 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3652 redefining, to avoid compiler warnings.
3653
e7c15bba
EZ
3654 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3655
dddcbf00
EZ
3656 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3657 (w32_get_bdf_glyph): Cast between unsigned char and char when
3658 passing arguments to subroutines, to shut up compiler warnings.
3659 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3660 GET_HEX_VAL.
3661
3662 * xfaces.c: Include keyboard.h before frame.h, not after it.
3663
3664 * widget.c: Include keyboard.h before frame.h.
3665
3666 * w32term.h (struct image, struct face): Forward declaration, to
3667 avoid compiler warnings.
3668
7bd2d083
GM
36692001-05-11 Gerd Moellmann <gerd@gnu.org>
3670
47e72862
GM
3671 * keyboard.c (read_key_sequence): Don't modify events when
3672 generating fake prefix keys (mode-line, scroll-bar, ...) since
3673 this prevents proper processing of such events when pushed back
3674 into unread-command-events.
3675
dd5f324b
GM
3676 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3677 actually redrawn. Make the function static.
3678 (note_mouse_highlight): Fix a case where the mouse cursor
3679 was changed back to the text cursor.
3680
3681 * xterm.h (clear_mouse_face): Remove prototype.
3682
d88a79d4
GM
3683 * xdisp.c (try_window_id): Fix the fix and set the right
3684 window_end_vpos.
3685
3686 * xdisp.c (try_window_id): Fix computation of window end in the
3687 case that lines were deleted at the end of the window. Add some
3688 more debug_method_adds.
0416532f 3689
7bd2d083
GM
3690 * xfaces.c (try_alternative_families): New function.
3691 (try_font_list): Use it. If ATTRS specifies a family, check
3692 fonts from that family first.
3693 (choose_face_font): Remove code setting the family part of
3694 the pattern to nil.
3695
23fca891
GM
36962001-05-10 Gerd Moellmann <gerd@gnu.org>
3697
ff9aa2ca
GM
3698 * xdisp.c (try_window_id): Fix case of all changes before
3699 the window start.
7b2654b5 3700
23fca891
GM
3701 * xdisp.c (try_window_id): Add some xasserts.
3702
e9726794
GM
37032001-05-09 Gerd Moellmann <gerd@gnu.org>
3704
3705 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3706
9e53a675
GM
37072001-05-09 Dave Love <fx@gnu.org>
3708
3709 * xdisp.c (GIVE_UP): Fix for K&R C.
3710
0d487c52
GM
37112001-05-09 Gerd Moellmann <gerd@gnu.org>
3712
fe88d421
GM
3713 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3714
0d487c52
GM
3715 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3716 back to the text cursor shape without need.
3717
1e9fc92e
GM
37182001-05-07 Gerd Moellmann <gerd@gnu.org>
3719
a2a6232e
GM
3720 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3721
3722 * dispextern.h (inverse_video): Declare extern.
3723
1e9fc92e
GM
3724 * keyboard.c (delete_kboard): Handle the case that selected_frame
3725 has been deleted in the course of x_connection_closed.
3726
12949a7f
EZ
37272001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3728
7b2654b5
SM
3729 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3730 Fix the change from 2001-04-30.
12949a7f 3731
2fa2f461
GM
37322001-05-03 Gerd Moellmann <gerd@gnu.org>
3733
a779d213
GM
3734 * xfns.c (file_dialog_unmap_cb): New function.
3735 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3736 where a dialog is closed via the window manager.
3737
7b2654b5 3738 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3739 the window start or all below the window end mostly rewritten.
3740 (redisplay_window): Move the tests if try_window_id is
3741 applicable to try_window_id.
3742 (GIVE_UP): New macro.
3743
3356df63
GM
37442001-05-02 Gerd Moellmann <gerd@gnu.org>
3745
a39202f6 3746 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3747 currently being updated, mark the frame garbaged.
3748 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3749 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3750
3356df63
GM
3751 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3752 again if it has already been drawn.
3753
a9d2fd1d
SM
37542001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3755
3756 * syntax.c (update_syntax_table): Check that oldi has the same
3757 properties as old_prop before deciding not to invalidate.
3758
c95fc5f1
GM
37592001-04-30 Gerd Moellmann <gerd@gnu.org>
3760
a9793e45
GM
3761 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3762 read-only text that is so because of text properties.
3763
c95fc5f1 3764 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3765 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3766 windows that are components of a Lucid menu bar.
3767
5a5d9185
GM
37682001-04-27 Gerd Moellmann <gerd@gnu.org>
3769
3770 * term.c (turn_on_face): Fix reverse video handling on terminals
3771 that don't support colors.
3772
ba973f7a
GM
37732001-04-26 Gerd Moellmann <gerd@gnu.org>
3774
3775 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3776 a non-buffer.
3777
8c56a983
GM
37782001-04-25 Gerd Moellmann <gerd@gnu.org>
3779
a728644c
GM
3780 * term.c (toggle_highlight): New function.
3781 (turn_on_face): Change handling of reverse video.
3782
7b2654b5
SM
3783 * process.c (wait_reading_process_input):
3784 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3785
bfd8410f
GM
3786 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3787 of the number of overlays to check.
3788
be2488ca
GM
3789 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3790
8c56a983
GM
3791 * xdisp.c (try_window_id): Fix a case where window_end_pos
3792 and window_end_bytepos were not adjusted.
3793
522d42f7
GM
37942001-04-23 Gerd Moellmann <gerd@gnu.org>
3795
3796 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3797 zero instead of -1.
3798
78c1afb6
EZ
37992001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3800
a9d2fd1d
SM
3801 * process.c (wait_reading_process_input) [!subprocesses]:
3802 Don't reference waiting_for_user_input_p, it's not defined in the
3803 branch without async subprocesses support.
78c1afb6 3804
a2fab450
GM
38052001-04-19 Gerd Moellmann <gerd@gnu.org>
3806
a122a38e
GM
3807 * keyboard.c (delete_kboard): Prevent a dangling reference
3808 from current_kboard to KB, which is freed.
3809
a9d2fd1d
SM
3810 * process.c (wait_reading_process_input):
3811 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3812 read_key_sequence aware of buffer changes from under it.
3813
0f8d6dc7
GM
38142001-04-18 Gerd Moellmann <gerd@gnu.org>
3815
eeffb293
GM
3816 * xfaces.c (Qscalable_fonts_allowed): New variable.
3817 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3818 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3819 removed.
eeffb293 3820 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3821 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3822 for scalable-fonts-allowed to t.
eeffb293 3823
0f8d6dc7
GM
3824 * fileio.c (Finsert_file_contents): If the file size returned from
3825 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3826 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3827
eec2d1de
EZ
38282001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3829
3830 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3831 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3832 (__memalign_hook): Make the two prototypes consistent.
3833
f4f480bd
GM
38342001-04-17 Gerd Moellmann <gerd@gnu.org>
3835
3836 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3837 matrix of mini-windows.
3838
52283633
SM
38392001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3840
3841 * intervals.c (find_interval): Don't rebalance during signal handling.
3842
ec2423c9
GM
38432001-04-11 Gerd Moellmann <gerd@gnu.org>
3844
30cb0001 3845 * fns.c: Include blockinput.h.
52283633 3846
ec2423c9
GM
3847 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3848
719d83ad
GM
38492001-04-10 Gerd Moellmann <gerd@gnu.org>
3850
60f8d735
GM
3851 * fns.c (Fcompare_strings): Fix return values.
3852
afffeb57
GM
3853 * window.c (window_scroll): Change the meaning of N to mean
3854 N screen-fulls or N lines.
3855 (window_scroll_pixel_based, window_scroll_line_based)
3856 (scroll_command, Fscroll_other_window): Change accordingly.
3857
52283633
SM
3858 * window.c (window_scroll_pixel_based, Frecenter):
3859 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3860 height of the window.
3861
3862 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3863 instead of using it.last_visible_y for the height of the window.
52283633 3864
719d83ad 3865 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3866 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3867
3868 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3869 able to write to hidden and system files. From Dan Holmsand
3870 <dan@eyebee.com>.
719d83ad 3871
8ddf3ee1
GM
3872 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3873 Holmsand <dan@eyebee.com>.
719d83ad 3874
522ed7fb
GM
38752001-04-09 Gerd Moellmann <gerd@gnu.org>
3876
9170e5d4
GM
3877 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3878
522ed7fb
GM
3879 * window.c (window_internal_height): Return 1 less if the
3880 window has a header line.
3881
3882 * xdisp.c (try_window_id): When scrolling on a terminal, take
3883 the change of window_internal_height into account.
3884
ceeb3d7d
EZ
38852001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3886
3887 * gmalloc.c (align): If the argument SIZE would overflow
3888 __malloc_ptrdiff_t, fail right away.
3889
63685b9d
GM
38902001-04-06 Gerd Moellmann <gerd@gnu.org>
3891
3892 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3893 Make sure the tooltip is completely visible.
3894 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3895
3896 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3897
3898 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3899
3ffb33bb
DL
39002001-04-06 Dave Love <fx@gnu.org>
3901
52283633
SM
3902 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3903 Fix test of `from'.
3ffb33bb 3904
869fb12c
GM
39052001-04-06 Gerd Moellmann <gerd@gnu.org>
3906
52283633 3907 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3908
869fb12c
GM
3909 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3910
441bf856
GM
39112001-04-05 Gerd Moellmann <gerd@gnu.org>
3912
4d664b04
GM
3913 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3914
52283633 3915 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3916
30ca89f5
GM
3917 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3918 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3919
3920 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3921 shell widget's position only if it is non-null.
3922
52283633
SM
3923 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3924 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3925
81a81c0f
GM
3926 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3927 FILENAME to bring it in synch with the documentation.
3928
441bf856
GM
3929 * xfaces.c (realizing_basic_faces_p): Renamed from
3930 realize_default_face_p.
3931 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3932 (realize_default_face): Don't set the flag.
3933
702a1e8e
GM
39342001-04-04 Gerd Moellmann <gerd@gnu.org>
3935
1013f4e3
GM
3936 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3937
52283633
SM
3938 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3939
1013f4e3
GM
3940 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3941 the buffer that was used for echoing.
3942
702a1e8e
GM
3943 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3944 (first_font_matching): Removed unused function.
3945 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3946 (may_use_scalable_font_p): Remove parameter FONT; rename
3947 parameter NAME to FONT.
3948 (x_face_list_fonts): Fix missing bounds check.
3949 (realizing_default_face_p): New variable.
3950 (realize_default_face): Set and clear that flag.
3951 (x_face_list_fonts): When called during the realization of the
3952 default face, and no matching fonts are found when ignoring
3953 scalable fonts and fonts matching a regexp from
3954 face-ignored-fonts, try without ignoring fonts.
3955
f9dbcda4
GM
39562001-04-03 Gerd Moellmann <gerd@gnu.org>
3957
ad18ffb1
GM
3958 * xfns.c (postprocess_image): New function.
3959 (lookup_image): Call it for all image types except PostScript.
3960 (x_kill_gs_process): Call postprocess_image.
3961
f9dbcda4
GM
3962 * xterm.c (x_use_underline_position_properties): New variable.
3963 (x_draw_glyph_string): Use it.
3964 (syms_of_xterm): DEFVAR_BOOL it.
3965
651f03b6
GM
39662001-04-02 Gerd Moellmann <gerd@gnu.org>
3967
3968 * xterm.c (x_alloc_nearest_color_1): New function.
3969 (x_alloc_nearest_color): Use it.
3970 (x_color_cells): Take a Display as argument, instead of a frame.
3971 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3972 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3973 (x_initialize): Register cvt_string_to_pixel as resource converter
3974 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3975
73d75a62
GM
39762001-03-30 Gerd Moellmann <gerd@gnu.org>
3977
b2046df8
GM
3978 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3979 (set_iterator_to_next): If a string from a display property ends,
3980 consider the case that this might also be the end of an
3981 overlay string having the display property.
3982
52283633 3983 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3984
87d8eba4
GM
3985 * xdisp.c (reseat_to_string): Undo last change.
3986
73d75a62
GM
3987 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3988 matrix of a window when the header line changes, when
3989 new rows are allocated, or when the width changes.
3990
911a2406
EZ
39912001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3992
52283633 3993 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3994
aea51abe
EZ
39952001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3996
3997 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3998 deprecated.
3999
176bc847
GM
40002001-03-29 Gerd Moellmann <gerd@gnu.org>
4001
ed31fabf
GM
4002 * data.c (Fsubr_interactive_form): New function.
4003 (syms_of_data): Defsubr it.
4004
176bc847
GM
4005 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4006 (live_float_p, live_misc_p): Return 1 only if the offset of the
4007 pointer in its block is >= 0.
4008
e59d0e9d
GM
40092001-03-28 Paul Eggert <eggert@twinsun.com>
4010
4011 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4012 microseconds calcuation. Avoid double-rounding problem.
4013 In doc string, warn that the result is approximate.
4014
f827b862
GM
40152001-03-28 Gerd Moellmann <gerd@gnu.org>
4016
30a3f61c
GM
4017 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4018 bind `inhibit-eval-during-redisplay' to t.
4019
4020 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4021
4022 * xdisp.c (inhibit_eval_during_redisplay)
4023 (Qinhibit_eval_during_redisplay): New variables.
4024 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4025 don't eval, return nil instead.
4026 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4027 Initialize Qinhibit_eval_during_redisplay.
4028
e719f5ae
GM
4029 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4030 the iterator's multibyte_p flag.
4031
deb2613a
GM
4032 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4033 instead of setting it to zero; it's incremented for each frame
4034 where the menu face is changed.
4035
52283633
SM
4036 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4037 change bottom shadow accordingly.
4038
4039 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4040 intersections here.
4041 (expose_window): Do it here instead.
52283633 4042 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4043
f827b862
GM
4044 * bytecode.c (BYTE_CODE_QUIT): New macro.
4045 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4046
4bde0ebb
GM
40472001-03-27 Gerd Moellmann <gerd@gnu.org>
4048
607ec83c
GM
4049 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4050 Give up if matrix starts in an ellipsis.
4051 (init_from_display_pos): Do nothing if POS doesn't specify
4052 a dpvec_index but the iterator has such a position.
4053
0245398f
GM
4054 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4055
aba25348
GM
4056 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4057 x/y position is (0, 0) after destroying the menu bar, restore
4058 its original position.
4059
4bde0ebb
GM
4060 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4061 (init_from_display_pos): Use it.
4062 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4063
8cdb267e
GM
40642001-03-26 Gerd Moellmann <gerd@gnu.org>
4065
4066 * xdisp.c (try_window_id): Undo last change.
4067
9948db79
EZ
40682001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4069
4070 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4071
4072 * buffer.c (syms_of_buffer): Doc fix.
4073
2eddf899
GM
40742001-03-26 Gerd Moellmann <gerd@gnu.org>
4075
4076 * xfaces.c (x_update_menu_appearance): Use local variable
4077 popup_path for setting font resources.
4078
6c145d35
EZ
40792001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4080
6a65b1b5
EZ
4081 * frame.c (Fframe_list): Don't reference tip_frame if
4082 HAVE_WINDOW_SYSTEM is not defined.
4083
6c145d35
EZ
4084 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4085 <wl@gnu.org>.
4086
d74c1900
GM
40872001-03-25 Gerd Moellmann <gerd@gnu.org>
4088
20fbd925
GM
4089 * xdisp.c (init_from_display_pos): Test invisible property
4090 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4091
927c5b3b
GM
4092 * xdisp.c (redisplay_internal) <update one window>: Make sure
4093 last_arrow_position and last_arrow_string are set.
4094
d74c1900
GM
4095 * frame.c (Fframe_list): Don't return a tooltip frame.
4096
091f8878
GM
40972001-03-23 Gerd Moellmann <gerd@gnu.org>
4098
52283633
SM
4099 * xdisp.c (mark_window_display_accurate_1): New function,
4100 extracted from mark_window_display_accurate.
4101 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4102 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4103 (mark_window_display_accurate): Use it.
4104 (redisplay_internal): Use it for the selected window.
4105 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4106 for the selected frame.
4107
ac90c44f
GM
4108 * xdisp.c Use make_number, for readability.
4109 (try_window_id): Disable rows below the window end.
4110 (try_window_reusing_current_matrix): Use cursor_row_p.
4111 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4112 of rows.
4113 (init_from_display_pos): If POS specifies a position in a display
4114 vector, maybe get the iterator set up for that ellipsis.
43c09969 4115
091f8878
GM
4116 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4117
991786dd
EZ
41182001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4119
4120 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4121
6c29b43c
GM
41222001-03-23 Gerd Moellmann <gerd@gnu.org>
4123
4124 * xfaces.c (x_update_menu_appearance): Use a different path
4125 for Lucid popup menus.
4126
d8731202
SM
41272001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4128
4129 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4130
4131 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4132 (string_buffer_position): Use `make_number'.
4133
f61a541b
GM
41342001-03-22 Gerd Moellmann <gerd@gnu.org>
4135
3c9e997b
GM
4136 * xfaces.c (x_update_menu_appearance): Renamed from
4137 x_set_menu_face_resources. Use different resources for popups.
4138
4139 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4140 (GC_CHECK_STRING_BYTES): Don't define.
4141
364cd450
GM
4142 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4143 Removed, together with subroutines.
4144 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4145 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4146
d8731202
SM
4147 * dispextern.h (x_set_menu_resources_from_menu_face):
4148 Remove prototype.
364cd450 4149
d8731202 4150 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4151 Remove calls to x_set_menu_resources_from_menu_face.
4152
d8731202
SM
4153 * xfaces.c (xm_set_menu_resources_from_menu_face):
4154 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4155
4156 * xmenu.c: Include widget.h.
4157 (single_submenu): Return int. Some cleanup.
4158 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4159
140330de
GM
41602001-03-21 Gerd Moellmann <gerd@gnu.org>
4161
4162 * xterm.c (x_update_window_end): Handle overwritten mouse face
4163 also for tool bar windows.
4164 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4165 DRAW is DRAW_IMAGE_RAISED.
4166
1741905c
GM
41672001-03-20 Gerd Moellmann <gerd@gnu.org>
4168
fa88947e
GM
4169 * print.c (syms_of_print): Doc fixes.
4170
1741905c
GM
4171 * fns.c (Fmd5): Doc fix.
4172
ade0bee1
GM
41732001-03-19 Gerd Moellmann <gerd@gnu.org>
4174
357e7376
GM
4175 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4176 Clear area of the frame not occupied by the scroll bar.
4177
c2c097cc
GM
4178 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4179 tip frame's root window buffer to *tip* right after creating
4180 the frame.
4181
ade0bee1
GM
4182 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4183 is an integer don't have to be for space characters.
4184
88c6e37e
GM
41852001-03-16 Gerd Moellmann <gerd@gnu.org>
4186
52283633
SM
4187 * indent.c (current_column, current_column_1, Fmove_to_column)
4188 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4189
c62eed76
KH
41902001-03-15 Kenichi Handa <handa@etl.go.jp>
4191
4192 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4193 drawing glyph string.
4194
c899e7e6
GM
41952001-03-15 Gerd Moellmann <gerd@gnu.org>
4196
d0bbfc99
GM
4197 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4198 (command_loop_1): Undo last change.
4199
03d1a189
GM
4200 * xterm.c (fast_find_position): Return the correct vpos.
4201
c899e7e6 4202 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4203 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4204 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4205 Call store_symval_forwarding with BUF null.
4206 (set_internal): Call store_symval_forwarding with the BUF
4207 parameter passed to set_internal. Formerly, the value was always
4208 set in the current buffer; the buffer recorded in specbind for
4209 this case wasn't used.
4210 (arith_driver): Reindent.
4211
52283633
SM
4212 * buffer.c (swap_out_buffer_local_variables):
4213 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4214
4215 * lisp.h (store_symval_forwarding): Change prototype.
4216
4217 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4218
57ac7c81
GM
42192001-03-14 Gerd Moellmann <gerd@gnu.org>
4220
697617d9
GM
4221 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4222 FOR_DELETION. Avoid resizing the mini-window of the selected
4223 frame if FOR_DELETION is set.
4224 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4225 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4226 signature.
4227
4228 * window.c (Fset_window_configuration): Change call to
4229 do_switch_frame to new format.
4230
4231 * keyboard.c (quit_throw_to_read_char): Change call to
4232 do_switch_frame to new format.
4233
4234 * lisp.h (do_switch_frame): Change prototype.
4235
819dce0f
GM
4236 * frame.c (Fframe_parameters): In the `buffer-list' frame
4237 parameter, store the buffer list of FRAME, not the list of the
4238 selected frame.
4239
57ac7c81
GM
4240 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4241 box just because the glyph row's full_width_p flag is set.
4242
65008712
GM
42432001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4244
4245 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4246 skip the padding blanks inserted in extend_face_to_end_of_line,
4247 before checking for trailing whitespace.
4248
159cf431
GM
42492001-03-13 Gerd Moellmann <gerd@gnu.org>
4250
52283633 4251 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4252 Remove special handling for LessTif/Motif.
4253 (toplevel): Don't include Xm/Xm.h.
4254
52283633
SM
4255 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4256 Remove workaround code for LessTif; it doesn't work anymore.
4257
2564ea1b 4258 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4259 Xm/ScrollBarP.h.
afcdc0a1 4260
52283633
SM
4261 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4262 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4263 contemporary LessTif.
4264
52283633
SM
4265 * xfaces.c (xm_set_menu_resources_from_menu_face):
4266 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4267
159cf431
GM
4268 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4269 removing button grabs.
4270
c6f7429a
KH
42712001-03-13 Kenichi Handa <handa@etl.go.jp>
4272
cb82d767
KH
4273 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4274 and clip-large-size-font as obsolete.
4275
c6f7429a
KH
4276 * lread.c (read_multibyte): Check the validity of multibyte
4277 sequence. If invalid, return the first byte.
4278
760cefb5
GM
42792001-03-12 Gerd Moellmann <gerd@gnu.org>
4280
4281 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4282 before running the command; timer functions or process
4283 filters may have set it.
4284
5141f9d0
EZ
42852001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4286
4287 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4288 Doc fix.
4289
b6a15240
GM
42902001-03-12 Gerd Moellmann <gerd@gnu.org>
4291
4292 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4293 to sprintf.
4294
95522746
GM
42952001-03-09 Gerd Moellmann <gerd@gnu.org>
4296
db14cfc5
GM
4297 * dispextern.h (string_buffer_position): Add prototype.
4298
52283633 4299 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4300 (single_display_prop_string_p): New functions.
4301
4302 * xterm.c (note_mouse_highlight): If there's no help-echo on
4303 a string, look at the buffer text ``under'' it.
4304
4305 * keyboard.c (make_lispy_event): Add string info to the event,
4306 analogous to what's done on mode lines.
4307 (read_key_sequence): For a click on a string, consider `local-map'
4308 and `keymap' of that string.
4309
52283633
SM
4310 * keyboard.c (make_lispy_event, make_lispy_movement):
4311 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4312
4313 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4314
4315 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4316 POS; return void.
4317
95522746
GM
4318 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4319 flags argument to emacs_open; it seems to conflict with O_EXCL.
4320
898a399d
KH
43212001-03-09 Kenichi Handa <handa@etl.go.jp>
4322
28cd4910
KH
4323 * composite.h (struct composition): Change types of members;
4324 glyph_len to unsigned, width to unsigned short.
898a399d 4325
4cdf6a6c
AI
43262001-03-08 Andrew Innes <andrewi@gnu.org>
4327
4328 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4329 menu titles.
4330
129004d3
GM
43312001-03-08 Gerd Moellmann <gerd@gnu.org>
4332
221dd3e7
GM
4333 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4334 instead of nil.
4335
52283633 4336 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4337 help-echo in strings.
4338 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4339 (fast_find_string_pos): New function.
4340
52283633
SM
4341 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4342 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4343
4344 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4345 Handle `mouse-face'.
4346
4347 * dispextern.h (face_at_string_position): Change prototype.
4348
52283633 4349 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4350
129004d3
GM
4351 * keyboard.c (make_lispy_event): Avoid generating drag events
4352 if the mouse hasn't actually moved to another buffer position.
52283633 4353
80c8ab8c
DL
43542001-03-08 Dave Love <fx@gnu.org>
4355
129004d3 4356 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4357
989521fd
GM
43582001-03-08 Gerd Moellmann <gerd@gnu.org>
4359
4360 * process.c (Fset_process_window_size): Fix a typo.
4361
bb5c338d
KH
43622001-03-08 Kenichi Handa <handa@etl.go.jp>
4363
4364 * coding.c (detect_coding_sjis): Do more rigid check.
4365 (detect_coding_big5): Likewise.
4366 (decode_coding_sjis_big5): Likewise.
4367 (Fdetect_coding_region): Call detect_coding_system with tailing
4368 anchor byte `\0' for more rigid detection.
52283633 4369 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4370 (Fdetect_coding_string): Likewise.
4371
8b8f9197
SM
43722001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4373
4374 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4375 a string before extracting its data.
4376
3bdf2660
GM
43772001-03-07 Gerd Moellmann <gerd@gnu.org>
4378
4379 * window.c (Frecenter): Rewrite code handling negative values
4380 of ARG on graphical frames.
4381
43822001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4383
4384 * window.c (displayed_window_lines): If W->start is outside the
4385 accessible portion of the buffer, call start_display with BEGV or
4386 ZV instead of W->start.
4387
471f86b9
GM
43882001-03-07 Gerd Moellmann <gerd@gnu.org>
4389
2ab62c6c
GM
4390 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4391
471f86b9
GM
4392 * process.c (Fset_process_filter): Don't crash if the input
4393 file descriptor of PROCESS is closed.
4394 (Fset_process_window_size): Likewise.
4395
101922c3
GM
43962001-03-06 Kenichi Handa <handa@etl.go.jp>
4397
4398 * xterm.c (XTflash): Make the timeout of select shorter, and call
4399 select repeatedly until the desired time expires.
4400
45d051a7
GM
44012001-03-06 Gerd Moellmann <gerd@gnu.org>
4402
4403 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4404
4405 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4406
4407 * lisp.h (Vwindow_list): Declare extern.
4408
8f372c46
EZ
44092001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4410
4411 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4412
f16a7aa5
GM
44132001-03-06 Gerd Moellmann <gerd@gnu.org>
4414
157ae273
GM
4415 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4416 to detect a case where we have to highlight a different region
4417 despite not having left the currently highlighted region.
4418 Set mouse_face_overlay in the x_display_info.
45d051a7 4419 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4420
4421 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4422
4423 * buffer.c (mouse_face_overlay_overlaps): New function.
4424
4425 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4426 (Qmouse_face): Declare extern.
4427
f16a7aa5
GM
4428 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4429 if face_change_count is non-zero.
4430
827afcac
KH
44312001-03-06 Kenichi Handa <handa@etl.go.jp>
4432
4433 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4434 that the source is unibyte.
4435
14c7242e
DL
44362001-03-05 Dave Love <fx@gnu.org>
4437
827afcac 4438 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4439
c28b847b
GM
44402001-03-05 Gerd Moellmann <gerd@gnu.org>
4441
4442 * minibuf.c (read_minibuf): Clean up the binding stack if
4443 called noninteractively.
4444
b86644f2
KH
44452001-03-05 Kenichi Handa <handa@etl.go.jp>
4446
4447 * coding.c (syms_of_coding): Docstring modified.
4448
203682cc 44492001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4450
4451 * charset.c (char_to_string): If a single byte char has modifier
4452 bits that can't be reflected to the character code, ignore them
45d051a7 4453 instead of signaling an error.
b86644f2 4454
e30bd7b7
EZ
44552001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4456
4457 * s/msdos.h: Update copyright notice.
4458
4459 * dosfns.h: Update copyright notice.
4460
4461 * dosfns.c: Update copyright notice.
4462
4463 * msdos.c: Update copyright notice.
4464
b52b65bd
GM
44652001-03-02 Gerd Moellmann <gerd@gnu.org>
4466
4467 * xterm.c (glyph_rect): New function.
4468 (XTmouse_position): Use it to raise the threshold for mouse
4469 movement event generation.
4470
53c4b1e6
EZ
44712001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4472
4473 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4474 specifies (reverse . t), reverse the initial screen colors.
4475 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4476 but we are reversing the colors, set bg_set, not fg_set.
4477 Likewise for setting background-color and reversing: set fg_set.
4478 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4479 in effect.
4480
4481 * xfaces.c (Finternal_set_lisp_face_attribute)
4482 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4483 parameters alist.
4484
f964b4d7
GM
44852001-03-02 Gerd Moellmann <gerd@gnu.org>
4486
ef53d75e
GM
4487 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4488 to a single slash in the middle of file names.
4489
52283633 4490 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4491 Accept only alphanumeric time zone names.
4492
f964b4d7
GM
4493 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4494 or width area.
4495 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4496 a widget to zero height.
52283633 4497
c3c45f65
GM
44982001-03-01 Gerd Moellmann <gerd@gnu.org>
4499
4500 * window.c (Fwindow_end): Call move_it_past_eol only if
4501 ending up on a partially visible line.
4502
028d739a
DL
45032001-03-01 Dave Love <fx@gnu.org>
4504
4505 * ccl.c (Fccl_execute): Doc fix.
4506
57c5889c
GM
45072001-03-01 Gerd Moellmann <gerd@gnu.org>
4508
35f59f6b
GM
4509 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4510 of the tool bar before calling x_figure_window_size.
4511
f84ff02c
GM
4512 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4513 NULL after destroying it, otherwise XTread_socket can access a
4514 destroyed widget when input is unblocked.
4515
8b8f9197 4516 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4517
57c5889c
GM
4518 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4519 same name as before, although there was a change in fontsets.
4520
224227d1
KR
45212001-02-28 Ken Raeburn <raeburn@gnu.org>
4522
4560730a
KR
4523 * lisp.h (Fframe_parameter): Declare.
4524
224227d1 4525 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4526 Lisp_Object.
224227d1 4527
ece93c02
GM
45282001-02-28 Gerd Moellmann <gerd@gnu.org>
4529
11ef99b9
GM
4530 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4531 NULL instead.
4532
4533 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4534 NULL instead.
4535
ece93c02
GM
4536 * alloc.c (toplevel): Include process.h.
4537 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4538 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4539 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4540 (allocate_vector, allocate_hash_table, allocate_window)
4541 (allocate_frame, allocate_process, allocate_other_vector):
4542 New functions.
ece93c02
GM
4543 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4544 (mark_maybe_pointer): New function.
52283633 4545 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4546 remain and not Lisp_Objects.
4547 (min_heap_address, max_heap_address): New variables.
4548 (mem_find): Return MEM_NIL if START is below min_heap_address or
4549 above max_heap_address.
4550 (mem_insert): Compute min_heap_address and max_heap_address.
4551
4552 * process.c (make_process): Use allocate_process.
4553
4554 * frame.c (make_frame): Use allocate_frame.
4555
4556 * window.c (make_window, make_dummy_parent): Use allocate_window.
4557 (Fcurrent_window_configuration): Use allocate_other_vector.
4558
4559 * lisp.h (allocate_vectorlike): Remove prototype.
4560 (allocate_vector, allocate_other_vector, allocate_frame)
4561 (allocate_window, allocate_process, allocate_hash_table):
4562 Add prototypes.
4563
4564 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4565 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4566
063af457
KH
45672001-02-27 Kenichi Handa <handa@etl.go.jp>
4568
4569 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4570 treat the produced bytes as a valid multibyte sequence.
4571
4572 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4573 (ccl_driver) <CCL_WriteMultibyteChar2>:
4574 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4575 <ccl_finish>: Set ccl->eight_bit_control properly.
4576
4577 * ccl.h (struct ccl_program): New member eight_bit_control.
4578
f58c6494
SM
45792001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4580
4581 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4582 accessible_keymaps_char_table.
4583 (accessible_keymaps_char_table): Obey `is_metized'.
4584 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4585 Lisp_Object.
4586
c596c392
GM
45872001-02-26 Gerd Moellmann <gerd@gnu.org>
4588
4589 * dispnew.c: Check HAVE_TERM_H before including term.h.
4590
425de386
AI
45912001-02-24 Andrew Innes <andrewi@gnu.org>
4592
4593 * makefile.w32-in: Update copyright notice.
4594
2ba11bbd
SM
45952001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4596
4597 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4598
66c56ed1
KH
45992001-02-24 Kenichi Handa <handa@etl.go.jp>
4600
4c1593ce
KH
4601 * Makefile.in (lisp): Add international/utf-8.elc.
4602
66c56ed1
KH
4603 * fontset.c (Fnew_fontset): Fix handling of the case that an
4604 element of FONTLIST is a cons of family and registry.
4605
796ead7e
JR
46062001-02-23 Jason Rumney <jasonr@gnu.org>
4607
4608 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4609 to height unconditionally.
4610
4611 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4612 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4613 (x_insert_glyphs): Call window_box_left to obtain the left
4614 x-coordinate of the area to shift.
4615
4616 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4617 safe_run_hooks.
4618
f6839838
AI
46192001-02-22 Andrew Innes <andrewi@gnu.org>
4620
52283633 4621 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4622 ($(BLD)\dispnew.obj):
4623 ($(BLD)\editfns.obj):
4624 ($(BLD)\fileio.obj):
4625 ($(BLD)\filelock.obj):
4626 ($(BLD)\keyboard.obj):
4627 ($(BLD)\w32proc.obj):
4628 ($(BLD)\process.obj):
4629 ($(BLD)\sysdep.obj): Ditto.
4630
4631 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4632 header files.
52283633
SM
4633 ($(BLD)/dispnew.$(O)):
4634 ($(BLD)/editfns.$(O)):
4635 ($(BLD)/fileio.$(O)):
4636 ($(BLD)/filelock.$(O)):
4637 ($(BLD)/keyboard.$(O)):
4638 ($(BLD)/w32proc.$(O)):
4639 ($(BLD)/process.$(O)):
f6839838
AI
4640 ($(BLD)/sysdep.$(O)): Ditto.
4641
c224f70b
GM
46422001-02-22 Gerd Moellmann <gerd@gnu.org>
4643
51695746
GM
4644 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4645 at the start of the function, check that the \n in it->c is
4646 from the iterator's current position.
52283633 4647
a61b7058
GM
4648 * xdisp.c (handle_single_display_prop): Add parameter
4649 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4650 properties which replace the display of text with something else.
4651 (handle_display_prop): Call handle_single_display_prop with
4652 additional argument saying if we already replaced text display
4653 with something else. Use AREF.
52283633 4654 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4655 (decode_mode_spec_coding): Use AREF and ASIZE.
4656
3473f362
GM
4657 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4658 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4659 * vmstime.h: Files removed.
52283633 4660
2bb58df3
GM
4661 * unexencap.c, unexfx2800.c: Files removed.
4662
c224f70b
GM
4663 * dispnew.c (direct_output_for_insert): Give up if we are showing
4664 a message or just cleared the message because we might need to
4665 resize the echo area window or display an empty echo area.
4666
ffc9ff0c
GM
46672001-02-21 Gerd Moellmann <gerd@gnu.org>
4668
0528abe1
GM
4669 * xdisp.c (redisplay_internal): Do the
4670 mark_window_display_accurate after all windows have been
4671 redisplayed because this call resets flags in buffers which are
4672 needed for proper redisplay.
4673
52283633
SM
4674 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4675 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4676 the old names.
4677
52283633
SM
4678 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4679 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4680
4681 * msdos.h (struct x_output): Rename busy_window to
4682 hourglass_window, busy_p to hourglass_p.
4683
52283633
SM
4684 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4685 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4686
4687 * xfns.c: Rename everything containing *busy_cursor* and similar
4688 to *hourglass*.
4689 (syms_of_w32fns): Rename x-busy-pointer-shape to
4690 x-hourglass-pointer-shape, display-busy-cursor to
4691 display-hourglass, busy-cursor-delay to hourglass-delay.
4692
4693 * w32fns.c: Rename everything containing *busy_cursor* and similar
4694 to *hourglass*.
4695 (syms_of_w32fns): Rename x-busy-pointer-shape to
4696 x-hourglass-pointer-shape, display-busy-cursor to
4697 display-hourglass, busy-cursor-delay to hourglass-delay.
4698
4699 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4700 of its busy_p flag.
4701
4702 * dispextern.h (start_hourglass, cancel_hourglass)
4703 (display_hourglass_p): Renamed from *busy_cursor*.
4704
ab2c5f0a
GM
47052001-02-20 Gerd Moellmann <gerd@gnu.org>
4706
d17e49a8
GM
4707 * keyboard.c (read_char): When an event from unread-command-events
4708 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4709
fa97adf6
GM
4710 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4711 equal to the current buffer.
4712
ab2c5f0a
GM
4713 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4714 nil, otherwise we're left with truncate_lines t when a message
4715 is printed with message-truncate-lines bound to t.
4716
aeac019e
GM
47172001-02-19 Gerd Moellmann <gerd@gnu.org>
4718
c8bc6f65
GM
4719 * window.c (Fmove_to_window_line): Undo last change.
4720 (displayed_window_lines): Call line_bottom_y to determine
4721 the line's bottom position.
4722
4723 * dispextern.h (line_bottom_y): Add prototype.
4724
52283633 4725 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4726 (pos_visible_p): Use it.
4727
980a2d69
GM
4728 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4729 set redisplaying_p to 0 here instead of in Frecursive_edit.
4730 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4731 set redisplaying_p.
4732
52283633 4733 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4734 New variables.
4735 (syms_of_xdisp): Initialize new variables.
4736 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4737 Specbind `inhibit-menubar-update' when updating the menu bar.
4738
65048e97
GM
4739 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4740 safe_run_hooks.
4741
4742 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4743 safe_run_hooks.
4744
a57c4026
GM
4745 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4746 is null.
4747
aeac019e
GM
4748 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4749 to the start of the file.
4750
76846b31
GM
47512001-02-16 Gerd Moellmann <gerd@gnu.org>
4752
f3f053f3 4753 * window.c (set_window_buffer): Fix last change.
52283633 4754
f3f053f3
GM
4755 * window.c (set_window_buffer): Set window's vscroll to 0.
4756
dad75588
GM
4757 * window.c (coordinates_in_window): Increase width of area
4758 where the vertical line can be dragged.
4759
c220b753
GM
4760 * xterm.c (x_set_glyph_string_background_width): Extend the
4761 background face to the end of the drawing area in the text
4762 area, only.
4763
c56b1c1b
GM
4764 * xdisp.c (handle_single_display_prop): Set iterator's position
4765 to where the `display' property starts, like for images.
4766 (dump_glyph): New function.
4767 (dump_glyph_row): Use it. Dump info about marginal areas.
4768
4769 * dispnew.c (direct_output_for_insert): Recognize more cases where
4770 glyphs can be written instead of being inserted.
4771
4772 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4773 the left x-coordinate of the area to shift.
4774
76846b31
GM
4775 * dired.c (directory_files_internal): Set result list to nil
4776 before retrying.
4777
0fc71a77
KH
47782001-02-15 Kenichi Handa <handa@etl.go.jp>
4779
4780 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4781 invalid multibyte sequence, treat *SRC as a character of
4782 eight-bit-graphic.
4783
25078b54
EZ
47842001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4785
4786 * textprop.c (Fset_text_properties): Doc fix.
4787
8399f8a0
GM
47882001-02-15 Gerd Moellmann <gerd@gnu.org>
4789
4790 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4791
9a2a6f73
DL
47922001-02-14 Dave Love <fx@gnu.org>
4793
4794 * coding.c: Doc and message fixes.
4795
bf853fee
AI
47962001-02-14 Andrew Innes <andrewi@gnu.org>
4797
4798 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4799 Emacs frame above the screen size.
4800
78c663d8
GM
48012001-02-14 Gerd Moellmann <gerd@gnu.org>
4802
4803 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4804
7cc9f69f
GM
48052001-02-13 Gerd Moellmann <gerd@gnu.org>
4806
0a411995
GM
4807 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4808 case that TO ends up beyond ZV after running before-change-functions.
4809
5ddc1b75
GM
4810 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4811 the selected window if it is showing the buffer in question.
4812
7cc9f69f
GM
4813 * dired.c (directory_files_internal): Initialize errno.
4814 (toplevel): Include errno.h.
4815
2e6621ca
GM
48162001-02-13 Kenichi Handa <handa@etl.go.jp>
4817
4818 * xfaces.c (best_matching_font): New parameter width_ratio.
4819 Multiply avgwidth by width_ratio.
4820 (choose_face_font): Call best_matching_font with width_ratio
4821 calculated from the column width of C.
4822
60222d69
AI
48232001-02-12 Andrew Innes <andrewi@gnu.org>
4824
4825 The following changes are to draw box lines inside characters area
4826 if line-width is negative.
52283633 4827
60222d69
AI
4828 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4829 face->box_line_width is negative.
4830 (x_produce_stretch_glyph): Likewise.
4831 (x_produce_glyphs): Likewise.
4832 (x_estimate_mode_line_height): Likewise.
4833 (x_draw_glyph_string_background): Likewise.
4834 (x_draw_glyph_string_foreground): Likewise.
4835 (x_draw_composite_glyph_string_foreground): Likewise.
4836 (x_draw_glyph_string_box): Likewise.
4837 (x_draw_image_foreground): Likewise.
4838 (x_draw_image_relief): Likewise.
4839 (x_draw_image_foreground_1): Likewise.
4840 (x_draw_image_glyph_string): Likewise.
4841
9804b846
KH
48422001-02-09 Kenichi Handa <handa@etl.go.jp>
4843
4844 The following changes are to draw box lines inside characters area
4845 if line-width is negative.
52283633 4846
9804b846
KH
4847 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4848 face->box_line_width is negative.
4849 (x_produce_stretch_glyph): Likewise.
4850 (x_produce_glyphs): Likewise.
4851 (x_estimate_mode_line_height): Likewise.
4852 (x_draw_glyph_string_background): Likewise.
4853 (x_draw_glyph_string_foreground): Likewise.
4854 (x_draw_composite_glyph_string_foreground): Likewise.
4855 (x_draw_glyph_string_box): Likewise.
4856 (x_draw_image_foreground): Likewise.
4857 (x_draw_image_relief): Likewise.
4858 (x_draw_image_foreground_1): Likewise.
4859 (x_draw_image_glyph_string): Likewise.
4860
4861 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4862 and :line-width can be negative.
52283633 4863 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4864
49be9f70
JR
48652001-02-09 Jason Rumney <jasonr@gnu.org>
4866
4867 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4868 characters the same as ASCII and latin-1.
4869 (x_display_and_set_cursor): Check for the focus frame's selected
4870 window instead of selected_window.
4871 (x_after_update_window_line): Don't clear if frame's internal
4872 border width is zero.
4873 (x_new_font): Don't change a tooltip's size.
4874 (w32_initialize): Set char_ins_del_ok to 1.
4875
4876 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4877 (x_set_font): If font hasn't changed, avoid recomputing
4878 faces and other things.
52283633
SM
4879 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4880 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4881 (x_create_tip_frame): Prevent changing the tooltip's
4882 background color by specifying a color for the default font
4883 in .Xdefaults.
4884 (Qcancel_timer): New variable.
4885 (syms_of_w32fns): Initialize and staticpro it.
4886 (Fx_hide_tip, Fx_show_tip): Use it.
4887 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4888 the timer.
4889 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4890
4891 * w32.c (init_environment): Duplicate local string before putenv.
4892
555e35d2
SZ
48932001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4894
4895 * charset.c (Fstring): A typo.
4896
19c92c94
KH
48972001-02-09 Kenichi Handa <handa@etl.go.jp>
4898
e47a1c33
KH
4899 * charset.c (Fstring): If all arguments are less than 256, return
4900 a unibyte string.
4901
4902 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4903 return a unibyte string.
4904
19c92c94
KH
4905 * coding.c (code_convert_region): After detecting a coding, if
4906 nothing found, set coding->composing to COMPOSITION_NO.
4907 (decode_coding_string): Likewise.
4908
d8e675f5
SM
49092001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4910
4911 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4912 to avoid overflow.
4913
bd503487
KH
49142001-02-07 Kenichi Handa <handa@etl.go.jp>
4915
4916 * charset.c (parse_str_to_multibyte): New function.
4917
4918 * charset.h (parse_str_to_multibyte): Extern it.
4919
4920 * print.c (print_string): If we are going to print a unibyte
4921 string into a multibyte buffer, convert the string to multibyte by
4922 str_to_multibyte.
4923
a8370d72
AI
49242001-02-06 Andrew Innes <andrewi@gnu.org>
4925
4926 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4927 been created. It seems we can get sent window messages such as
4928 WM_ERASEBKGND before we properly update a frame.
4929
c363a1d6
GM
49302001-02-06 Gerd Moellmann <gerd@gnu.org>
4931
4932 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4933 Avoid some unnecessary cursor positioning.
4934
a08332c0
GM
49352001-02-05 Gerd Moellmann <gerd@gnu.org>
4936
52283633 4937 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4938 (LFACE_AVGWIDTH): New macro.
4939 (LFACEP): Use AREF.
4940 (check_lface_attrs): Check LFACE_AVGWIDTH.
4941 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4942 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4943 (merge_face_vectors): Check LFACE_AVGWIDTH.
4944 (Finternal_make_lisp_face): Use AREF.
4945 (xm_set_menu_resources_from_menu_face)
4946 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4947 (Finternal_lisp_face_empty_p): Use AREF.
4948 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4949 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4950 Compare average widths..
4951 (best_matching_font): Arrange for comparing average widths.
4952
52283633
SM
4953 * dispextern.h (enum lface_attribute_index):
4954 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4955
5cb3c8d4
DL
49562001-02-05 Dave Love <fx@gnu.org>
4957
4958 * puresize.h: Revert last change following loadup.el change.
4959
193fba87
AI
49602001-02-05 Andrew Innes <andrewi@gnu.org>
4961
4962 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4963 invocation of temacs, to work with Windows 2000.
4964 (bootstrap-emacs): Ditto.
4965
e16f52ce
GM
49662001-02-05 Gerd Moellmann <gerd@gnu.org>
4967
7a58ab59
GM
4968 * xterm.c (x_display_and_set_cursor): Check for the focus
4969 frame's selected window instead of selected_window.
4970
e89aaabd
GM
4971 * xdisp.c (try_scrolling): If point is in the line below the
4972 window, make sure to move the iterator at least a canonical
4973 char height down.
4974
52283633 4975 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4976
789ce875
KH
49772001-02-05 Kenichi Handa <handa@etl.go.jp>
4978
52283633
SM
4979 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4980 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4981 (ccl_driver): If the CCL program is terminated because of
4982 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4983 destination instead of throwing them away.
4984
20b28f82
GM
49852001-02-02 Gerd Moellmann <gerd@gnu.org>
4986
79fb38c0
GM
4987 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4988 faces and other things.
4989
20b28f82
GM
4990 * xdisp.c (get_next_display_element): Fix case of empty
4991 display table entry.
4992
5a72551e
EZ
49932001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4994
eb24d0bf
EZ
4995 * editfns.c (Fconstrain_to_field): Doc fix.
4996
6a3f48c7
EZ
4997 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4998 into `thoroughly', to make it consistent with the doc string.
4999
5a72551e
EZ
5000 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5001
01acdb05
GM
50022001-02-01 Gerd Moellmann <gerd@gnu.org>
5003
0353b28f
GM
5004 * search.c (search_buffer): Call set_search_regs with a byte
5005 position, not a character position.
5006
01acdb05
GM
5007 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5008 minibuffer-only,
5009
e86b5133
EZ
50102001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5011
5012 * frame.c (Fmodify_frame_parameters): Doc fix.
5013
7442878f
GM
50142001-01-31 Gerd Moellmann <gerd@gnu.org>
5015
01acdb05
GM
5016 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5017 identifier which is not reserved by Standard C.
52283633 5018
7442878f
GM
5019 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5020
5021 * window.c (enum window_part): New enumeration.
5022 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5023 Qright_bitmap_area.
5024 (coordinates_in_window): Return an enumerator from enum
5025 window_part. Fix handling of right scroll bar.
5026 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5027 `right-fringe' instead of `left-bitmap-area' and
5028 `right-bitmap-area'. Use enumerators from enum window_part
5029 instead of hard-coded integers.
52283633
SM
5030 (check_window_containing, window_from_coordinates):
5031 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5032 (syms_of_window): Replace Qleft_bitmap_area and
5033 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5034
7c132cba
EZ
50352001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5036
5037 * editfns.c (Fformat_time_string): Doc fix.
5038
c359dd9e
SM
50392001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5040
5041 * keymap.c (Fwhere_is_internal): Use the first valid binding
5042 if no ascii binding is found (when firstonly is t).
5043
ce070307
GM
50442001-01-31 Gerd Moellmann <gerd@gnu.org>
5045
b4f30ec5
GM
5046 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5047 instead of Finteractive_p.
5048
5049 * lisp.h (interactive_p): Add prototype.
5050
5051 * eval.c (interactive_p): New function.
5052 (Finteractive_p): Use it.
5053
ce070307
GM
5054 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5055
f57b6e64
DL
50562001-01-31 Dave Love <fx@gnu.org>
5057
d61c7afe
DL
5058 * .gdbinit (hook-run): Define to run xreload.
5059
f57b6e64
DL
5060 * textprop.c (Fset_text_properties): Fix newline in doc string.
5061
eef93f99
GM
50622001-01-30 Gerd Moellmann <gerd@gnu.org>
5063
52283633
SM
5064 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5065 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5066
5067 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5068 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5069 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5070
5071 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5072 height.
5073
d9c1f6f9
DL
50742001-01-30 Dave Love <fx@gnu.org>
5075
5076 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5077 AFTER_POTENTIAL_GC.
5078
e8f044a0
GM
50792001-01-29 Gerd Moellmann <gerd@gnu.org>
5080
52283633
SM
5081 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5082 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5083
8e1db7b3
EZ
50842001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5085
5086 * textprop.c (Fset_text_properties): Doc fix.
5087
4eefd9d2
GM
50882001-01-29 Gerd Moellmann <gerd@gnu.org>
5089
5090 * xdisp.c (forward_to_next_line_start): Remove xassert.
5091
fccb8288
EZ
50922001-01-29 Jason Rumney <jasonr@gnu.org>
5093
4eefd9d2 5094 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5095 returning without releasing it.
5096
76581eab
KH
50972001-01-29 Kenichi Handa <handa@etl.go.jp>
5098
5099 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5100 for '^', '$', and '\0'.
5101
83a96b4d
AC
51022001-01-28 Andrew Choi <akochoi@i-cable.com>
5103
5604ec34
AC
5104 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5105 regex for '^', '$', and '\0'.
5106
83a96b4d
AC
5107 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5108 only if current_sblock has been initialized.
5109
5110 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5111 terminal frame even if it is the only visible frame.
5112
c09a6440
KH
51132001-01-28 Kenichi Handa <handa@etl.go.jp>
5114
5115 * fontset.c (font_family_registry): Even if FONTNAME conform to
5116 XLFD, if it specifies other fields than family and registry,
52283633 5117 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5118 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5119 a signle byte character. Don't set FAMILY part to nil here.
5120 It is handled by the caller choose_face_font.
c09a6440
KH
5121 (Fnew_fontset): Call font_family_registry with FORCE 0.
5122 (Fset_fontset_font): Likewise.
5123
4dcd74e6
GM
51242001-01-27 Gerd Moellmann <gerd@gnu.org>
5125
5126 * xdisp.c (display_line): Don't treat a newline as fitting
5127 on the line.
5128
d2906bf8
GM
51292001-01-26 Gerd Moellmann <gerd@gnu.org>
5130
0130fe1a
GM
5131 * window.c (size_window): Set the window's orig_top to nil when
5132 changing heights, so that a future shrink_mini_window won't
5133 restore a bogus height.
5134
550f0e6a
GM
5135 * frame.c (do_switch_frame): If selected frame has a mini-window,
5136 resize that to exact size.
5137
b7b20fbd
GM
5138 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5139
a47b7816
GM
5140 * xdisp.c (display_line): Simplify check for glyphs fitting
5141 entirely in the line.
5142
d2906bf8
GM
5143 * xfns.c (xic_style): New variable.
5144 (create_frame_xic): Move static variable to global scope for
550f0e6a 5145 the case that `static' gets defined away.
d2906bf8 5146
73df2b1e
KH
51472001-01-26 Kenichi Handa <handa@etl.go.jp>
5148
5149 * coding.c (decode_coding): Set a flag for inhibiting
5150 inconsistent eol.
5151 (code_convert_region): Always set saved_coding_symbol.
5152 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5153 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5154
6613cfc4
GM
51552001-01-25 Gerd Moellmann <gerd@gnu.org>
5156
c5e6e06b
GM
5157 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5158 XClearArea.
5159
5160 * xterm.c (x_after_update_window_line): Don't clear if frame's
5161 internal border width is zero.
5162 (x_clear_area): New function.
5163 (x_after_update_window_line, x_clear_end_of_line)
5164 (x_scroll_bar_create, x_scroll_bar_set_handle)
5165 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5166 instead of XClearArea.
5167
5168 * xterm.h (x_clear_area): Add prototype.
5169
6613cfc4
GM
5170 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5171 which doesn't seem necessary anymore with Lesstif 0.92.
5172
650cc6cc
DL
51732001-01-25 Dave Love <fx@gnu.org>
5174
34ac3367
DL
5175 * puresize.h (BASE_PURESIZE): Up to 720000.
5176
650cc6cc
DL
5177 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5178
5e37dc22
GM
51792001-01-25 Gerd Moellmann <gerd@gnu.org>
5180
e1e441f9
GM
5181 * xdisp.c (echo_area_display): Don't call redisplay_internal
5182 when Emacs is shutting down. We can't run hooks etc. that
5183 would be necessary to do a redisplay.
5184
5e37dc22
GM
5185 * lread.c (read_integer): Use type EMACS_INT instead of int.
5186
0fb94c7f
EZ
51872001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5188
5189 * ccl.c (ccl_driver): Fix last change.
5190
e3778624
KH
51912001-01-25 Kenichi Handa <handa@etl.go.jp>
5192
5193 * ccl.h (sturct ccl_program): New member suppress_error.
5194
bb264518 5195 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5196 insert error message to the output.
5197 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5198
5199 * coding.h (struct coding_system): New member suppress_error.
5200
5201 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5202 (Fset_terminal_coding_system_internal): Set the member
5203 suppress_error to 1.
5204 (Fset_safe_terminal_coding_system_internal): Likewise.
5205
245ed2b1
SM
52062001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5207
5208 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5209 as if it was a `charset'.
5210
f9aaedb6
GM
52112001-01-24 Gerd Moellmann <gerd@gnu.org>
5212
5213 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5214 value in where_is_cache; the next lookup in the cache returns
5215 something bogus if we do.
5216
c3902c3e
EZ
52172001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5218
5219 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5220 if HAVE_WINDOW_SYSTEM isn't defined.
5221
3497f73e
GM
52222001-01-24 Gerd Moellmann <gerd@gnu.org>
5223
e7e41584
GM
5224 * fns.c (sweep_weak_table): Fix code taking items out of
5225 the hash collision chain. Some cleanup.
5226
3497f73e
GM
5227 * xterm.c (x_new_font): Don't change a tooltip's size.
5228
5229 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5230 background color by specifying a color for the default font
5231 in .Xdefaults.
5232
3d48e687
KH
52332001-01-24 Kenichi Handa <handa@etl.go.jp>
5234
96531b20
KH
5235 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5236 a workaround for SunOS 4's cc.
5237 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5238 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5239 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5240 statement.
3d48e687 5241
a30629d2
GM
52422001-01-23 Gerd Moellmann <gerd@gnu.org>
5243
5244 * xterm.c (x_set_window_size_1): New function extracted from
5245 x_set_window_size.
5246 (x_set_window_size): Use it.
5247 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5248 doesn't have a widget, like tooltips.
5249
5a43decf
EZ
52502001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5251
52283633 5252 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5253
b0e98867
KH
52542001-01-23 Kenichi Handa <handa@etl.go.jp>
5255
5256 * fns.c (Fset_char_table_default): Fix to make sub char-table
5257 correctly.
5258
50606b4c
GM
52592001-01-22 Gerd Moellmann <gerd@gnu.org>
5260
cb2ddc53 5261 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5262 a desired tool bar string, even if there are no tool bar items.
5263
57c28064
GM
5264 * xdisp.c (Ftool_bar_lines_needed): New function.
5265 (syms_of_xdisp): Defsubr it.
5266
50606b4c
GM
5267 * editfns.c (Fformat): Don't extend text properties from arguments
5268 to padding chars in the result.
5269
2f169c38
EZ
52702001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5271
5272 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5273
0f32f023
AI
52742001-01-20 Andrew Innes <andrewi@gnu.org>
5275
52283633 5276 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5277 (w32_initialize): Don't set term hooks that aren't actually needed
5278 in windowed mode.
5279
5280 * xfaces.c (realize_default_face):
5281 (realize_face):
5282 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5283
5284 * xdisp.c (handle_single_display_prop): Remove references to
5285 FRAME_W32_CONSOLE_P.
5286
52283633 5287 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5288
5289 * frame.h (output_method): Remove output_w32_console method.
5290 (FRAME_W32_CONSOLE_P): Remove macro.
5291
5292 * frame.c (Qw32_console): Remove variable.
5293 (Fframep): Remove references to it.
5294 (syms_of_frame): Ditto.
5295 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5296
5297 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5298 redefinition.
5299
7173eada
KH
53002001-01-20 Kenichi Handa <handa@etl.go.jp>
5301
5302 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5303
755b45ce
AI
53042001-01-19 Andrew Innes <andrewi@gnu.org>
5305
5306 * w32.c (init_environment): Add a version-independent site-lisp
5307 directory to EMACSLOADPATH, after the version dependent one.
5308
0a949811
GM
53092001-01-19 Gerd Moellmann <gerd@gnu.org>
5310
8501998a
GM
5311 * editfns.c (Fbuffer_substring): Doc fix.
5312
52283633
SM
5313 * xdisp.c (message_dolog, message2, message2_nolog):
5314 Rename parameter LEN to NBYTES.
0a949811 5315
e6ebcbbe
KH
53162001-01-19 Kenichi Handa <handa@etl.go.jp>
5317
200ecca2
KH
5318 * charset.c (strwidth): Use c_string_width.
5319 (c_string_width): New function.
5320 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5321 Caller changed.
5322
5323 * charset.h (c_string_width, lisp_string_width): Extern them.
5324
52283633 5325 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5326
e6ebcbbe
KH
5327 * indent.c (check_composition): Check validity of composition.
5328
200ecca2
KH
5329 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5330 characters by calling c_string_width.
5331 (x_consider_frame_title): Get byte length of frame tile string
5332 correctly.
5333 (display_mode_element): Pay attention to width of non-ASCII
5334 characters by calling strwidth.
5335
8692ca92
GM
53362001-01-18 Gerd Moellmann <gerd@gnu.org>
5337
8962e303
GM
5338 * xfns.c (Qcancel_timer): New variable.
5339 (syms_of_xfns): Initialize and staticpro it.
5340 (Fx_hide_tip, Fx_show_tip): Use it.
5341 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5342 the timer.
5343 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5344
91523be9
GM
5345 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5346
5347 * window.h (WINDOW_LIVE_P): New macro.
5348
b0b7ed0e
GM
5349 * window.c (window_size_fixed): New variable.
5350 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5351 the doc string.
5352
06bccf8e
GM
5353 * eval.c (specbind): If binding a per-buffer variable which
5354 doesn't have a buffer-local value in the current buffer, change
5355 the global value by changing the value of the symbol bound in all
5356 buffers not having their own value, to make it consistent with
5357 what happens with other buffer-local variables.
5358
8692ca92
GM
5359 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5360
5361 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5362 when searching for a newline.
5363
bb3a3b50
KH
53642001-01-18 Kenichi Handa <handa@etl.go.jp>
5365
5366 * xdisp.c (display_string): Fix previous change.
5367
c2cc16fa
JR
53682001-01-18 Jason Rumney <jasonr@gnu.org>
5369
5370 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5371 GLYPH_DEBUG is defined.
5372 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5373 true for images with `:ascent 100'.
5374 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5375 meantime, use face MOUSE_FACE_ID.
5376 If first glyph isn't a character glyph, use the ASCII NUL
5377 character to determine the face.
5378 (expose_area): Do not treat left margin specially.
5379 (note_mode_line_highlight): If no local_map, check global keymap.
5380 (note_mouse_highlight): Initialize overlay.
52283633 5381 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5382 (show_scroll_bars): Remove unused function.
5383 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5384 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5385 Clip to row.
52283633 5386 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5387 (x_free_frame_resources): Unload relief colors.
5388
9c11f79e
GM
53892001-01-17 Gerd Moellmann <gerd@gnu.org>
5390
3aec8722 5391 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5392 get_next_display_element when the newline is already found.
5393 This may change the iterator's position, when its current position is
3aec8722
GM
5394 equal to the iterator's stop_charpos.
5395
f3ffc2c3
GM
5396 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5397 zero, use this method only at the end of a line.
5398
52283633 5399 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5400 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5401 if SCALABLE_FONTS_P is set.
52283633 5402
d26d6fd9
GM
5403 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5404 so that scalable fonts are included.
5405
9c11f79e
GM
5406 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5407 In the cache, use a key containing the information if scalable
5408 fonts are included.
5409 (x_load_font): Adapt to change of keys in the font cache.
5410
54112001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5412
d26d6fd9
GM
5413 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5414 XListFonts to take advantage of font caching.
5415
9c11f79e
GM
5416 * xterm.c (x_list_fonts): Ensure caching font information when
5417 called for a null frame, which is the case frequently when Emacs
5418 starts.
5419
51446987
GM
54202001-01-17 Gerd Moellmann <gerd@gnu.org>
5421
f864120f
GM
5422 * xfns.c (QCconversion): Replaces QCalgorithm.
5423
5424 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5425
5426 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5427 of :algorithm.
52283633 5428
e37d1417
GM
5429 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5430 not everything could be displayed.
5431
51446987
GM
5432 * line.h, x-list-font.c: Files removed because unused.
5433
9ad4f3e5
AI
54342001-01-17 Andrew Innes <andrewi@gnu.org>
5435
5436 * dired.c (directory_files_internal): Convert result from readdir
5437 to a unibyte string initially, to avoid possible misinterpretation
5438 of some bytes as the internal form of Emacs characters.
5439
2eda09b5
KH
54402001-01-17 Kenichi Handa <handa@etl.go.jp>
5441
5442 * fns.c (concat): Be sure to avoid putting the same `composition'
5443 property on the adjacent regions.
5444
826f3788
GM
54452001-01-16 Gerd Moellmann <gerd@gnu.org>
5446
52283633 5447 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5448 (Fscroll_right, Fscroll_left): Set it here instead, if called
5449 interactively.
5450
d57b83b3
GM
5451 * buffer.c (Fset_buffer_modified_p): Set buffer's
5452 prevent_redisplay_optimizations_p flag.
5453
826f3788 5454 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5455 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5456 with additional arg.
5457
5458 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5459 Change prototype.
826f3788 5460
826f3788
GM
5461 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5462 FROM_WHERE, for debugging.
5463
261d788b
KH
54642001-01-16 Kenichi Handa <handa@etl.go.jp>
5465
5466 * ccl.c (Fregister_ccl_program): Handle the return value of
5467 resolve_symbol_ccl_program correctly.
52283633 5468 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5469
bccee4f2
GM
54702001-01-15 Gerd Moellmann <gerd@gnu.org>
5471
e4ded23c
GM
5472 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5473 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5474
5475 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5476 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5477 the display; we didn't open it.
5478
bccee4f2
GM
5479 * dispnew.c (save_or_restore_current_matrices): Function removed.
5480 (save_current_matrix, restore_current_matrix): New functions.
5481 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5482 restore the frame's current matrix. Due to the glyph pointer
5483 setup done in adjust_glyph_matrix, there is no easy way to make
5484 saving the current matrix in the desired matrix generally correct,
5485 so don't try it.
5486
ebeccffa
KH
54872001-01-15 Kenichi Handa <handa@etl.go.jp>
5488
5489 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5490 truncation glyphs.
5491 (display_line): Optimize for wide characters.
e4ded23c 5492 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5493 partially. On ttys, produce more than one truncation glyph for
5494 multi-column characters that don't fit on the line.
5495
64388126
KH
54962001-01-13 Kenichi Handa <handa@etl.go.jp>
5497
52283633
SM
5498 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5499 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5500
8edb0a6f
JR
55012001-01-13 Jason Rumney <jasonr@gnu.org>
5502
5503 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5504 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5505 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5506 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5507
52283633
SM
5508 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5509 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5510 (x_draw_image_glyph_string): Adapt to change of image margins.
5511
5512 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5513 variables.
5514
5515 * w32bdf.c (search_file_line, get_cached_font_char)
5516 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5517
5518 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5519
5520 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5521 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5522 (Fw32_send_sys_command): Remove unused variables.
5523 (w32_msg_pump): Add parentheses.
5524
5525 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5526 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5527 Add parentheses.
5528
4956d1ef
GM
55292001-01-12 Gerd Moellmann <gerd@gnu.org>
5530
b30623be
GM
5531 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5532 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5533 being a pair of margins.
5534 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5535 to DEFVAR_LISP. Extend doc.
5536
5537 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5538 margins.
5539 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5540 pair of integers `(X . Y)', use X for the horizontal and Y for the
5541 vertical margin.
5542 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5543 (parse_image_spec): Check it.
52283633
SM
5544 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5545 (tiff_format, gif_format, gs_format):
5546 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5547
52283633
SM
5548 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5549 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5550 (x_draw_image_glyph_string): Adapt to the change of image margins.
5551
5552 * dispextern.h (struct image): Replace member `margin' with
5553 `hmargin' and `vmargin'.
5554
4554cc79
GM
5555 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5556 and GLYPHS.
5557
5558 * dispnew.c (update_text_area): Put code which decrements the
5559 stop position when the row's face extends to the end of the
3bffc665 5560 line in #if 0.
4554cc79 5561
3cccce8d
GM
5562 * xfns.c (x_set_mouse_color): Fix color allocation.
5563
4956d1ef
GM
5564 * keyboard.c: Call get_local_map with new argument list.
5565
5566 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5567
5568 * intervals.h (enum map_property): Removed.
5569 (get_local_map): Change prototype.
5570
5571 * keymap.c: Call get_local_map with new argument list.
5572 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5573
2c2ff7f2
GM
55742001-01-11 Gerd Moellmann <gerd@gnu.org>
5575
a23887b9
GM
5576 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5577 of the size needed for the tool bar string. For the last image,
5578 use a `display' property that reaches to the end of the string.
5579
a7ee2d2e
GM
5580 * xselect.c (selection_request_dpyinfo): New variable.
5581 (x_handle_selection_request): Set it.
5582 (x_selection_request_lisp_error): Don't call
5583 x_decline_selection_request if selection request's display has
5584 been closed.
5585
52283633
SM
5586 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5587 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5588
457b792c
GM
55892001-01-10 Dave Love <fx@gnu.org>
5590
5591 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5592 ${SOME_MACHINE_LISP}, not ${lisp}.
5593
c1efd260
GM
55942001-01-10 Gerd Moellmann <gerd@gnu.org>
5595
52283633
SM
5596 * xdisp.c (display_line): On ttys, produce more than one truncation
5597 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5598
ac95a621
GM
5599 * xselect.c (x_reply_selection_request): Add a comment.
5600
c1efd260
GM
5601 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5602 XkbGetNames instead of XkbGetKeyboard.
5603
1bfb1345
DL
56042001-01-10 Dave Love <fx@gnu.org>
5605
5606 * sysdep.c (random): Revert the declaration.
5607
38119822
GM
56082001-01-09 Gerd Moellmann <gerd@gnu.org>
5609
52283633
SM
5610 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5611 Call function string_bytes.
35f464a7
GM
5612 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5613
5614 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5615 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5616 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5617 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5618 the current sblock.
5619 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5620 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5621 after sweeping strings, and at the end.
5622 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5623
38119822
GM
5624 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5625 ensure that pop_message is called.
5626
5627 * keyboard.c (Fexecute_extended_command): Use a
5628 record_unwind_protect to ensure that pop_message is called.
5629
5630 * lisp.h (push_message_unwind): Add prototype.
5631
5632 * xdisp.c (push_message_unwind): New function.
5633
5634 * fileio.c (do_auto_save_unwind): Do the pop_message here
5635 instead of in Fdo_auto_save.
5636 (Fdo_auto_save): Don't call pop_message.
5637
f47a9ec4
KR
56382001-01-08 Ken Raeburn <raeburn@gnu.org>
5639
5640 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5641 in inner block.
5642
a758f97d
GM
56432001-01-08 Gerd Moellmann <gerd@gnu.org>
5644
6d0afc03
GM
5645 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5646 when increasing window's vscroll.
5647
a758f97d
GM
5648 * macros.c (Qkbd_macro_termination_hook): New variable.
5649 (syms_of_macros): Initialize and staticpro it.
5650 (pop_kbd_macro): Run kbd-macro-termination-hook.
5651
5652 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5653
1bfb1345 56542001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5655
5656 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5657 arglist, for documentation's sake.
5658
0dac6924
AI
56592001-01-06 Andrew Innes <andrewi@gnu.org>
5660
5661 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5662 of *.pdb.
5663
8182406a
AI
56642001-01-05 Andrew Innes <andrewi@gnu.org>
5665
5666 * term.c (update_end): Don't check updating_frame; for some reason
5667 this can be 0 sometimes, such as after dismissing a popup menu,
5668 and isn't necessary given the explicit frame argument.
5669
3828218c
GM
56702001-01-05 Gerd Moellmann <gerd@gnu.org>
5671
5672 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5673 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5674
2f5ded21
GM
56752001-01-04 Gerd Moellmann <gerd@gnu.org>
5676
52283633 5677 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5678
5679 * xfns.c (x_create_tip_frame): Preserve the value of
5680 face_change_count around the creation of the tip frame.
52283633 5681
2f5ded21
GM
5682 * xfns.c (last_show_tip_args): New variable.
5683 (compute_tip_xy): New function.
5684 (Fx_show_tip): Reuse an existing tip frame, if possible.
5685 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5686
dfad65fa
DL
56872001-01-04 Dave Love <fx@gnu.org>
5688
64d4ec0f
DL
5689 * editfns.c (Fformat): Doc fix.
5690
dfad65fa
DL
5691 * systime.h (set_file_times): Prototype.
5692
5693 * widget.h (EmacsFrameSetCharSize_): Prototype.
5694
5695 * sysdep.c (random, srandom): Declare explicitly.
5696
5697 * dispextern.h (move_it_vertically_backward): Declare.
5698
85fe3b5e
GM
56992001-01-04 Gerd Moellmann <gerd@gnu.org>
5700
0f2ac578
GM
5701 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5702 like in Fx_create_frame.
5703
482cca61
GM
5704 * xfaces.c (set_font_frame_param): Don't do anything for
5705 non-graphical frames.
5706
85fe3b5e
GM
5707 * window.c (Fdelete_other_windows): Set window's window_end_valid
5708 to nil when changing the window's start. Don't change the
5709 window's start when its top position hasn't changed. If we do,
5710 this will set the window's optional_new_start, which act's like a
5711 force_start during redisplay with C-x 1 M-> under particular
5712 circumstances (see report from Per Starback to emacs-pretest-bug
5713 from 2000-12-13.).
5714
3e99d3b4
GM
57152001-01-03 Gerd Moellmann <gerd@gnu.org>
5716
a77dc1ec
GM
5717 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5718 short cut at the start of the function. Add an assertion.
5719 (reseat_at_next_visible_line_start): Add an assertion.
5720
2f3cad6c
GM
5721 * window.c (Frecenter): When changing the window start, set the
5722 window's window_end_valid to nil.
5723 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5724
5725 * dispextern.h (move_it_past_eol): Add prototype.
5726
5727 * xdisp.c (move_it_past_eol): New function.
5728
3e99d3b4
GM
5729 * window.c (Fwindow_end): Doc fix.
5730
57312001-01-03 Dave Love <fx@gnu.org>
5732
52283633 5733 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5734
bafb434c
GM
57352001-01-03 Gerd Moellmann <gerd@gnu.org>
5736
5737 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5738 the enabled_p flag of the glyph row at window_end_vpos to 0.
5739 (handle_single_display_prop): Fix last change.
5740
5297fb00
RS
57412001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5742
5743 * window.c (Frecenter): Doc fix.
5744
13d6a61c
AI
57452001-01-02 Andrew Innes <andrewi@gnu.org>
5746
5747 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5748
5749 * frame.h (output_method): Add output_w32_console method.
5750 (FRAME_W32_CONSOLE_P): New macro.
5751
5752 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5753 use output_w32_console method.
5754 (Qw32_console): New Lisp_Object.
5755 (Fframep): Return it.
5756 (syms_of_frame): Init it.
52283633 5757 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5758
5759 * xfaces.c (realize_default_face): Set face foreground and
5760 background to unspecified for w32_console frames.
5761 (realize_face): Realize face cache for w32_console frames.
5762 (realize_tty_face): Accept w32_console frames.
5763
52283633 5764 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5765 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5766 necessary, even if running interactively.
5767
5768 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5769 w32_console frames.
5770
52283633
SM
5771 * w32term.c (x_update_begin):
5772 (x_update_end):
5773 (x_clear_frame):
5774 (x_ins_del_lines):
5775 (x_change_line_highlight):
5776 (x_delete_glyphs):
5777 (w32_ring_bell):
5778 (x_update_begin):
5779 (x_update_end):
5780 (w32_reassert_line_highlight):
5781 (w32_frame_rehighlight):
13d6a61c
AI
5782 (w32_frame_raise_lower): Do nothing if not w32 frame.
5783
5784 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5785
5786 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5787 system doesn't tell us directly.
5788 (Fx_display_visual_class): Implement properly.
5789
d6bb0c0d
GM
57902001-01-02 Gerd Moellmann <gerd@gnu.org>
5791
5792 * window.c (Frecenter): Handle centering in graphical frames
5793 specially. Centering on the basis of line counts doesn't work
5794 reliably with variable-height lines.
52283633 5795
315f5865
EZ
57962001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5797
5798 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5799 and al[].
5800
52283633 5801 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5802 (update_compositions): Remove unused variable `hook'.
5803
5804 * intervals.c (get_local_map): Remove unused variable `tem'.
5805
5806 * doprnt.c (doprnt1): Remove unused variable `size'.
5807
5808 * fns.c (Flength): Remove unused variable `tail'.
5809 (Fdelete): Remove unused variable `size'.
5810
5811 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5812 and `gcpro2'.
5813
52283633 5814 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5815
5816 * data.c (find_symbol_value): Remove extra 3rd argument in the
5817 call to swap_in_symval_forwarding.
5818
52283633 5819 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5820
5821 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5822 (trivial_regexp_p): Remove unused variable `c'.
5823 (boyer_moore): Remove unused variable `k'.
5824
5825 * indent.c (current_column): Remove unused variable `stopchar'.
5826 (Fcompute_motion): Remove unused variable `contin'.
5827
5828 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5829
5830 * dired.c (directory_files_internal): Fix a typo in a comment.
5831 Remove an unused variable `handler'.
52283633 5832 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5833 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5834 on BSD4_2.
5835
52283633 5836 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5837
5838 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5839 and `buf'.
5840 (Fmarker_insertion_type): Remove unused variable `buf'.
5841
5842 * insdel.c (make_gap): Remove unused variable `result'.
5843
52283633 5844 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5845 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5846 (menu_bar_items): Remove unused function-scope variable `tem'.
5847
5848 * fontset.c (fontset_ref): Remove unused variable `i'.
5849 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5850 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5851 (make_fontset_for_ascii_face): Remove unused variable `name'.
5852 (fs_load_font): Remove unused variable `font_idx'.
52283633 5853 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5854 (list_fontsets): Remove unused variable `tail'.
5855 (Fnew_fontset): Remove unused variables `family' and `registry'.
5856 (accumulate_font_info): Remove unused variable `tmp'.
5857 (Ffontset_font): Remove unused variable `id'.
5858 (syms_of_fontset): Remove unused variable `i'.
5859
5860 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5861 to x_term_init.
5862 (lookup_image): Remove unused variable `file'.
5863 (xbm_load): Remove unused variables `bitmap_data', `height', and
5864 `width'. Remove function-local variable `i', leave the
5865 block-local one.
5866 (gif_load): Remove unused variable `inc'.
5867
52283633 5868 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5869 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5870 leave only the one in the inner block.
5871
5872 * xfaces.c (face_fontset, realize_default_face): Remove unused
5873 variable `fontset'.
5874 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5875
5876 * term.c (encode_terminal_code): Remove unused variable `c'.
5877
5878 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5879 char *' instead of `char *'.
5880
5881 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5882 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5883 (Fchar_category_set): Remove unused variables `val', `charset',
5884 `c1' and `c2'.
5885
52283633
SM
5886 * coding.c (detect_coding_iso2022, setup_coding_system):
5887 Remove unused variable `i'.
315f5865
EZ
5888 (detect_coding_mask): Remove unused variable `idx'.
5889 (detect_coding): Remove unused variable `i'.
5890 (ccl_coding_driver): Remove unused variable `result'.
5891 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5892 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5893 (encode_coding_string): Remove unused variables `gcpro1' and
5894 `saved_coding_symbol'.
5895 (Ffind_coding_systems_region_internal): Remove function-local
5896 variable args[], leave only the block-local one.
5897 (code_convert_region1): Remove unused variable `len'.
5898
5899 * charset.c (char_printable_p): Remove unused variable `chars'.
5900 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5901 (str_to_multibyte): Remove unused variable `c'.
5902
5903 * window.c (size_window): Remove block-local variable `min_size'.
5904
5905 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5906 `header_line_height'.
5907 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5908 enum display_element_type.
5909
1a8a9daf
GM
59102001-01-02 Gerd Moellmann <gerd@gnu.org>
5911
6dde6abc 5912 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5913 statements that call X. Save away the error message in a local copy.
5914
1883b2c6
GM
5915 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5916 the start.
5917
a13be207
GM
5918 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5919 in or at the start of invisible text.
5920
1a8a9daf
GM
5921 * dispnew.c (update_window): Don't check_current_matrix_flags.
5922
3608c0f9
JR
59232001-01-01 Jason Rumney <jasonr@gnu.org>
5924
5925 * w32fns.c (x_figure_window_size): Do not allow new_height and
5926 new_width of frame to override specified values.
5927
abb1acc4
KH
59282000-12-30 Kenichi Handa <handa@etl.go.jp>
5929
52283633 5930 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5931
762a68ec
GM
59322000-12-29 Gerd Moellmann <gerd@gnu.org>
5933
52283633 5934 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5935 (update_window) [GLYPH_DEBUG]: Call it.
5936 (scrolling_window): Prevent including current rows which are below
5937 what's displayed in the window.
5938
5939 * xdisp.c (try_window_reusing_current_matrix)
5940 <new start <= old start>: Disable rows in the current matrix
5941 which are below the window after scrolling.
52283633 5942
762a68ec
GM
5943 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5944 is zero. It's not worth the complexity.
5945 (invisible_text_between_p): Put in #if 0 because unused.
5946
2d5912c1
GM
59472000-12-28 Gerd Moellmann <gerd@gnu.org>
5948
46f6a258
GM
5949 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5950 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5951
89f93679
GM
5952 * keyboard.c (echo_char): If C is an integer, always call
5953 push_key_description. Former code could signal an invalid
5954 character error.
5955
5956 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5957 If set, print multibyte text.
5958 (Fsingle_key_description): Call push_key_description with
5959 FORCE_MULTIBYTE set.
5960 (describe_buffer_bindings): Likewise.
5961
5962 * lisp.h (push_key_description): Add prototype.
5963
c06017fb
GM
5964 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5965 around the call to redisplay_internal.
5966
f1d2ce7f
GM
5967 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5968
2d5912c1
GM
5969 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5970
9371f831
KH
59712000-12-28 Kenichi Handa <handa@etl.go.jp>
5972
5973 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5974 (ccl_driver): New local variable `extra_bytes'.
5975
5976 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5977
52283633
SM
5978 * coding.c (setup_coding_system):
5979 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5980 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5981
0c80628a
KH
59822000-12-28 Kenichi Handa <handa@etl.go.jp>
5983
5984 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5985 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5986 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5987 (decode_composition_emacs_mule): New function.
5988 (decode_coding_emacs_mule): Decode composition sequence by calling
5989 decode_composition_emacs_mule.
5990 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5991 (encode_coding_emacs_mule): Changed from macro to function.
5992 If a text contains compositions, encode them correctly.
0c80628a
KH
5993 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5994 that decoding and encoding are required.
5995
3e32cc27
GM
59962000-12-27 Gerd Moellmann <gerd@gnu.org>
5997
5e25feee
GM
5998 * xfaces.c (PT_PER_INCH): New macro.
5999 (xlfd_point_size): Compute real point size from font's pixel size.
6000 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6001 instead of 72.
6002
892d8fcd
GM
6003 * .gdbinit: Comment out the line pointing to the Lesstif source
6004 directory.
6005
12c8b416
GM
6006 * window.c (Frecenter): Use displayed_window_lines instead
6007 of window_internal_height.
6008
6061fbf0
GM
6009 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6010 instead of x-toolkit-scroll-bars-p.
6011 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6012
6013 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6014 instead of x-toolkit-scroll-bars-p.
6015 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6016
3e32cc27
GM
6017 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6018 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6019 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6020 New variables.
6021 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6022 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6023 (build_frame_matrix_from_leaf_window): Remove unused code.
6024 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6025 redisplay history.
6026 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6027 (update_window) [GLYPH_DEBUG]: Likewise.
6028 (syms_of_display): Defsubr dump-redisplay-history.
6029
31798cfe
GM
60302000-12-23 Gerd Moellmann <gerd@gnu.org>
6031
f717c2ba
GM
6032 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6033 the end of the prompt. Set echo_after_prompt to the offset
6034 of echoptr in echobuf.
6035
aeb2b8fc
GM
6036 * xdisp.c (init_from_display_pos): Pop until the iterator's
6037 stack is empty; there may be frames for stretch or images
6038 on the stack.
6039
31798cfe
GM
6040 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6041 (save_or_restore_current_matrix): New function for the same
6042 purpose, but more efficient.
6043 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6044
f8156156
EZ
60452000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6046
6047 * xdisp.c (syms_of_xdisp): Fix last change.
6048
bdd6d4e8
GM
60492000-12-23 Gerd Moellmann <gerd@gnu.org>
6050
6051 * xdisp.c (syms_of_xdisp): Doc fix.
6052
6053 * xdisp.c (redisplay_window): Remove label restore_buffers;
6054 use finish_scroll_bars instead to make sure that scroll bars
6055 are redeemed. If we don't do this, flickering can result from
6056 scroll bars being destroyed and recreated.
6057
9436cdf9
JR
60582000-12-22 Jason Rumney <jasonr@gnu.org>
6059
6060 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6061 in the wrong colors when the foreground is not black.
6062 (expose_window): Don't redraw the window that's currently being
6063 updated.
6064
951f9df5
GM
60652000-12-22 Gerd Moellmann <gerd@gnu.org>
6066
856ff7a7
GM
6067 * window.c (size_window): When setting the window's too_small_ok
6068 flag, compare old size with minimum size depending on WIDTH_P,
6069 don't compare with window_min_width.
52283633 6070
951f9df5
GM
6071 * window.c (delete_window): Simplify somewhat.
6072 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6073 freeing window matrices. The flag windows_or_buffers_changed is
6074 set, so the next redisplay will consider all windows; this should
6075 suffice.
6076
886bc933
KH
60772000-12-22 Kenichi Handa <handa@etl.go.jp>
6078
6079 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6080
6081 * ccl.h (struct ccl_program): New member cr_consumed.
6082
6083 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6084 (CCL_READ_CHAR): Handle EOL conversion here.
6085 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6086
177f4e88
GM
60872000-12-21 Gerd Moellmann <gerd@gnu.org>
6088
52283633 6089 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6090
6091 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6092 otherwise tabs of different size compare equal.
6093
6094 * callint.c (Fcall_interactively): Prevent a compiler warning.
6095
6096 * print.c (print_unwind): Return nil.
6097 (PRINTDECLARE): Initialize all local variables.
6098 (print_preprocess): Add a default case.
6099
8e15274f
GM
6100 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6101
6102 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6103
52283633 6104 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6105 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6106
6107 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6108
6109 * dispnew.c (ensure_frame_matrix): Removed.
6110 (save_frame_matrix, restore_frame_matrix): New functions.
6111 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6112
6113 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6114 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6115
99012074
AI
61162000-12-21 Andrew Innes <andrewi@gnu.org>
6117
6118 * w32term.c (x_update_begin): Regenerate the palette here, rather
6119 than for each window.
6120
6121 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6122 palette is NULL, since this corrupts memory! Also get
6123 display_info reference from frame.
6124
29ef7d2d
JR
61252000-12-21 Jason Rumney <jasonr@gnu.org>
6126
6127 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6128
6129 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6130 to avoid returning without releasing it.
3e27fa1f 6131
3f9d67a6
KH
61322000-12-21 Kenichi Handa <handa@etl.go.jp>
6133
587fc3f9
KH
6134 * keymap.c (push_key_description): Don't convert eight-bit-control
6135 and eight-bit-graphic to multibyte character.
6136
3f9d67a6
KH
6137 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6138 generic character and CODE1 is nil, return the smallest character
6139 in CHARSET.
6140
774ba8c9
DL
61412000-12-20 Dave Love <fx@gnu.org>
6142
6143 * s/osf5-0.h (NSIG): Don't redefine.
6144
88416888
SM
61452000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6146
6147 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6148 excluding menu-bar and tool-bar.
6149 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6150 (menu_item_p): Remove.
6151 (where_is_internal_1): Don't ignore menu-items.
6152
a6426c6f
GM
61532000-12-20 Gerd Moellmann <gerd@gnu.org>
6154
03ff8aab
GM
6155 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6156 into account.
6157
6158 * window.c (make_window): Initialize window's min_hscroll.
6159 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6160 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6161 to zero.
6162 (struct saved_window): New member min_hscroll.
6163 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6164 (Fset_window_configuration): Set window's min_hscroll.
6165 (save_window_save): Save window's min_hscroll.
6166 (compare_window_configurations): Compare min_hscroll values.
6167
6168 * window.h (struct window): New member min_hscroll.
6169
6170 * keyboard.c (echo_prompt): Prevent a compiler warning.
6171
8de4aaf8
GM
6172 * xdisp.c (try_cursor_movement): Fix last change. The real
6173 condition is that PT is at the end of the row, and should
6174 be displayed at the start of the next row.
52283633 6175
3f7e3031
GM
6176 * xdisp.c (try_cursor_movement): If we end on a partially
6177 visible line, end we already decided to scroll, return -1.
6178
a6426c6f
GM
6179 * dispextern.h (ensure_frame_matrix): Add prototype.
6180
6181 * window.c (delete_window, Fsplit_window)
6182 (Fset_window_configuration): Call ensure_frame_matrix.
6183
52283633
SM
6184 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6185 New functions.
a6426c6f
GM
6186 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6187 completed, call fake_current_matrices instead of marking frame
6188 garbaged.
6189
57fa2774
JR
61902000-12-20 Jason Rumney <jasonr@gnu.org>
6191
6192 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6193
d925df90
EZ
61942000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6195
6196 * fns.c (Frequire): Doc fix.
6197
7b93a85b
GM
61982000-12-19 Gerd Moellmann <gerd@gnu.org>
6199
52283633 6200 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6201
c74e645b
GM
6202 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6203 currently displaying a message.
6204
7b93a85b
GM
6205 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6206 xterm.h.
6207 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6208
90d97e64
AI
62092000-12-18 Andrew Innes <andrewi@gnu.org>
6210
6211 * w32.c (w32_strerror): New function.
6212
6213 * w32.h (w32_strerror): New extern.
6214
6215 * w32fns.c (Fw32_shell_execute): Use it.
6216
91c9e6ce
GM
62172000-12-18 Gerd Moellmann <gerd@gnu.org>
6218
6219 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6220
6f4745e2
EZ
62212000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6222
6223 * msdos.c (IT_set_face): Obey inverse_video.
6224
c9e088ce
KH
62252000-12-18 Kenichi Handa <handa@etl.go.jp>
6226
6227 * dired.c (directory_files_internal): Always return decoded filenames.
6228
c3695f5f
GM
62292000-12-18 Gerd Moellmann <gerd@gnu.org>
6230
52d8e4ff
GM
6231 * xterm.c (x_connection_closed): Prevent being called recursively
6232 because of an error condition in XtCloseDisplay.
52283633 6233
62be9979
GM
6234 * xdisp.c (init_iterator): If noninteractive, and the frame's
6235 face cache is null, make one.
6236
52283633 6237 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6238
c3695f5f
GM
6239 * process.c (wait_reading_process_input): Check for pending
6240 input when running timers.
6241
78555fbe
EZ
62422000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6243
52283633 6244 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6245
b2b36264
KH
62462000-12-18 Kenichi Handa <handa@etl.go.jp>
6247
6248 * process.c (read_process_output): Don't run a filter if the code
6249 decoder produces nothing but carryover.
6250
9c543fbf
AI
62512000-12-17 Andrew Innes <andrewi@gnu.org>
6252
6253 * w32.c (sys_rename): Only check errno against EEXIST, and not
6254 EACCES, when determining whether rename failed because the target
6255 exists. This was resulting in indefinite looping on Windows 9x if
6256 the source file was locked by another process.
6257
6258 * w32fns.c (Ffile_system_info): New function.
6259 (syms_of_w32fns): Defsubr it.
6260
10c2b5a8
GM
62612000-12-17 Gerd Moellmann <gerd@gnu.org>
6262
b0228ace
GM
6263 * window.c (coordinates_in_window): Fix computation for
6264 position on vertical line between mode lines.
6265
10c2b5a8
GM
6266 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6267 Don't alter tip_frame or tip_window.
6268 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6269 was deleted.
6270
c844a81a
GM
6271 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6272 Don't alter tip_frame or tip_window.
6273 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6274 was deleted.
6275
6c825f8e
EZ
62762000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6277
6278 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6279 be consistent with the doc string. Reported by NAKAJIMA Mikio
6280 <minakaji@osaka.email.ne.jp>.
6281
af4bb4c8
KH
62822000-12-16 Kenichi Handa <handa@etl.go.jp>
6283
6284 * xfaces.c (Vface_ignored_fonts): New variable.
6285 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6286 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6287
8062e53a
GM
62882000-12-15 Gerd Moellmann <gerd@gnu.org>
6289
e87b8809
GM
6290 * dispnew.c (update_window): Detect pending input every nth line
6291 updated, i.e. do it depending on real work done, and not on the
6292 vpos of the line.
6293
6294 * xterm.c (expose_window): Don't redraw the window that's
6295 currently being updated.
6296
a6768cc5
GM
6297 * window.c (Fset_window_point): Remove test for
6298 cursor_in_non_selected_windows.
6299
4ea7fdca
GM
6300 * lread.c (read1): Recognize end of file after `\\'.
6301
8062e53a
GM
6302 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6303 not unwind_create_frame.
6304
bb7959c1
GM
63052000-12-15 Dave Love <fx@gnu.org>
6306
6307 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6308 bcopy & al.
6309
6310 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6311
ced04c42
KH
63122000-12-15 Kenichi Handa <handa@etl.go.jp>
6313
c5443913
KH
6314 * coding.c (setup_coding_system): Clear all members of the struct
6315 coding_system at first.
bc137305
KH
6316 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6317 argument.
6318 (code_convert_region): Don't override coding->src_multibyte and
6319 coding->dst_multibyte.
c5443913 6320
ced04c42
KH
6321 * fns.c (Fmd5): Docstring improved.
6322
c2d7f289
MB
63232000-12-15 Miles Bader <miles@gnu.org>
6324
6325 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6326 are actually marked as mode-lines; otherwise use
6327 estimate_mode_line_height.
6328
9d7d9263
GM
63292000-12-14 Gerd Moellmann <gerd@gnu.org>
6330
6331 * editfns.c (Fformat): Prevent a buffer overrun when the format
6332 specifies a precision.
6333
7cf0153a
EZ
63342000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6335
6336 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6337 argument is outside the range [2..3].
6338
1de0f662
AI
63392000-12-14 Andrew Innes <andrewi@gnu.org>
6340
6341 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6342 nothing to do. Bind inhibit-quit.
6343 (tip_frame): Make it a Lisp_Object.
6344 (x_create_tip_frame): Set tip_frame after it has been added to
6345 Vframe_list.
6346 (Fx_show_tip): Don't set tip_frame here.
52283633 6347 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6348 (unwind_create_frame, unwind_create_tip_frame): New functions.
6349 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6350 while a frame is only partially constructed.
6351
6352 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6353 (x_free_frame_resources): New function.
6354 (x_destroy_window): Use it.
6355
02387dcc
GM
63562000-12-14 Gerd Moellmann <gerd@gnu.org>
6357
6358 * xfns.c (Fx_backspace_delete_keys_p): New function.
6359 (syms_of_xfns): Defsubr it.
6360
6361 * config.in (HAVE_XKBGETKEYBOARD): Add.
6362
0544ef49
KH
63632000-12-14 Kenichi Handa <handa@etl.go.jp>
6364
98d62747
KH
6365 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6366 Always store string in multibyte representation in echobuf.
6367 (echo_char): Always store string in multibyte representation in
6368 echobuf.
6369 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6370 (read_key_sequence): Adjusted for the change of echo_prompt.
6371
a20193cd
KH
6372 * fns.c (Fmd5): Docstring improved.
6373
191b83b6
KH
6374 * lisp.h (detect_coding_system): Prototype adjusted.
6375
0544ef49
KH
6376 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6377 (detect_coding_emacs_mule, detect_coding_iso2022,)
6378 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6379 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6380 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6381 (detect_coding_mask, detect_coding_system): New argument
6382 MULTIBYTEP. Callers changed.
1da1bb05
KH
6383 (decode_coding_string): Set coding->src_multibyte and
6384 coding->dst_multibyte before calling detect_coding and detect_eol.
6385 Update them after some coding system is detected.
52283633 6386
d5b3eb1b
SM
63872000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6388
6389 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6390
6391 * keyboard.c (menu_bar_items, tool_bar_items):
6392 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6393
f7f8bb69
GM
63942000-12-13 Gerd Moellmann <gerd@gnu.org>
6395
52283633 6396 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6397 New variables.
6398 (unwind_create_frame, unwind_create_tip_frame): New functions.
6399 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6400 while a frame is only partially constructed.
6401
6402 * xterm.h (x_free_frame_resources): Declare.
6403
6404 * xterm.c (x_free_frame_resources): New function.
6405 (x_destroy_window): Use it.
6406
e10da507
GM
6407 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6408 don't interrupt the update for pending input initially, i.e.
6409 update at least some lines.
6410
6411 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6412
d5b3eb1b 6413 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6414
6415 * xfns.c (gray_bitmap_bits): Declare `char *'.
6416
90aa2856
GM
64172000-12-12 Gerd Moellmann <gerd@gnu.org>
6418
6419 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6420 lines start with a relief line.
6421
a308c9cd
DL
64222000-12-12 Dave Love <fx@gnu.org>
6423
6424 * window.c (Fdisplay_buffer): Doc fix.
6425 (Fwindow_list): Remove unused var.
6426
6427 * buffer.h (mmap_set_vars): Declare.
6428
6429 * window.h (Fset_window_point): Declare.
6430
d575011f
EZ
64312000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6432
bf6282d2 6433 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6434 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6435 variable `area'. When looking for a row under (X,Y), give up if some
6436 of the previous rows is not enabled.
d575011f 6437
ecf4d726
GM
64382000-12-12 Gerd Moellmann <gerd@gnu.org>
6439
2ebf6139
GM
6440 * window.c (Fset_window_point): If displaying cursors in windows
6441 other than the selected window, make sure redisplay updates
6442 other windows to show the new value of point in the window.
6443
6444 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6445
bfdb75ee
GM
6446 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6447 the buffer is the sole visible buffer when in the mini-buffer.
6448
52283633 6449 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6450 Bind `inhibit-read-only' to t.
6451 (unwind_with_echo_area_buffer): Use AREF.
6452
c0006262
GM
6453 * xfns.c (Fx_hide_tip): Simplified.
6454
52283633
SM
6455 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6456 instead of `1'.
e9a59cad 6457
ecf4d726
GM
6458 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6459
e5959a9a
GM
64602000-12-11 Gerd Moellmann <gerd@gnu.org>
6461
a3642e49 6462 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6463
44b5a125
GM
6464 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6465 nothing to do. Bind inhibit-quit.
6466 (tip_frame): Make it a Lisp_Object.
6467 (x_create_tip_frame): Set tip_frame after it has been added to
6468 Vframe_list.
6469 (Fx_show_tip): Don't set tip_frame here.
6470
6471 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6472
6473 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6474 Lisp_Object.
6475
6476 * dispextern.h: Change external declaration of tip_frame.
6477
d990421f
GM
6478 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6479 return an empty string.
6480
4db87380
GM
6481 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6482 of the window's update_mode_line flag, since the former is set by
6483 force-mode-line-update, not the latter. This makes
6484 column-number-mode slightly faster.
52283633 6485
e5959a9a
GM
6486 * xdisp.c (try_window_id) <all changes above window start>:
6487 Set the cursor.
6488
169fe44e
GM
64892000-12-11 Paul Eggert <eggert@twinsun.com>
6490
6491 * config.in (HAVE_FTELLO): Remove.
6492 (HAVE_FSEEKO): Add.
6493 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6494 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6495 HAVE_FTELLO.
6496 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6497 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6498
59ec59ae
MB
64992000-12-11 Miles Bader <miles@gnu.org>
6500
6501 * window.c (displayed_window_lines): Don't round up when
6502 converting empty space at bottom to lines.
ff904dd6
MB
6503 Handle non-newline-terminated final lines properly.
6504 (Fwindow_text_height): New function (used to be in lisp).
6505 (syms_of_window): Initialize it.
59ec59ae 6506
42ebfa31
SM
65072000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6508
6509 * syntax.c (scan_lists): Check that the right quote char has the
6510 right Sstring syntax when jumping over strings.
6511 (init_syntax_once): Use Smax rather than 13.
6512
5cdb3cf3
MB
65132000-12-09 Miles Bader <miles@gnu.org>
6514
6515 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6516 with PARTIALLY, inverting the sense.
6517 (window_scroll_pixel_based): Scroll partially visible lines into
6518 place if we hit the beginning or end of the buffer.
a12167c5
MB
6519 (displayed_window_lines): Don't include partially visible lines.
6520 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6521
842b2a94
GM
65222000-12-08 Gerd Moellmann <gerd@gnu.org>
6523
6524 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6525
6526 * tparam.c (tparam1): Change the way buffers are reallocated to be
6527 portable and less obfuscated.
6528
6529 * termcap.c (tgetent): Change the way buffers are reallocated to
6530 be portable and less obfuscated.
6531
6532 * macros.c (store_kbd_macro_char): Change the way buffers are
6533 reallocated to be portable and less obfuscated.
6534
6535 * lread.c (read1): Change the way buffers are reallocated to be
6536 portable and less obfuscated.
6537
6538 * doc.c (Fsubstitute_command_keys): Change the way buffers
6539 are reallocated so that it is portable.
6540
137cad7c
EZ
65412000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6542
6543 * dosfns.c (Ffile_system_info): New function.
6544 (syms_of_dosfns): Defsubr it.
6545
5c7f629c
SM
65462000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6547
6548 * alloc.c (gc_sweep): Add comment.
6549
959e647d
GM
65502000-12-07 Gerd Moellmann <gerd@gnu.org>
6551
52283633
SM
6552 * sound.c (vox_configure): Change order of ioctls.
6553 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6554 Ignore errors when changing volume.
6555 (vox_close): Don't reset the device.
6556
926b7e5e
GM
6557 * process.c (read_process_output): Make sure the process marker's
6558 position is valid when the process buffer is changed in
6559 after-change functions. W3 does that.
52283633 6560
959e647d
GM
6561 * xfns.c (x_free_gcs): New function.
6562
6563 * xterm.h (x_free_gcs): Add prototype.
6564
6565 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6566 freeing GCs here.
6567
6568 * xterm.c (x_destroy_window): Call x_free_gcs so that
6569 resources of non-toolkit X windows will be freed.
6570
478ea067
AI
65712000-12-07 Andrew Innes <andrewi@gnu.org>
6572
6573 * w32fns.c (xlfd_charset_of_font): Fix last change.
6574
fbee3231
DL
65752000-12-06 Dave Love <fx@gnu.org>
6576
67292061
DL
6577 * md5.h (__P): Don't define -- it comes from config.h.
6578
fbee3231
DL
6579 * strftime.c: Change some #if foo to #ifdef foo.
6580
4ee87dbb
AI
65812000-12-06 Andrew Innes <andrewi@gnu.org>
6582
6583 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6584
52283633 6585 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6586 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6587 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6588
9765b4a4
GM
65892000-12-06 Gerd Moellmann <gerd@gnu.org>
6590
d285b373
GM
6591 * alloc.c (gc_sweep): Prevent symbols read during loadup
6592 from being freed.
6593
384333ee
GM
6594 * xdisp.c (underlying_face_id): New function.
6595 (handle_face_prop, face_before_or_after_it_pos): Use it
6596 to determine the face ``under'' a string. Let strings inherit
6597 the face of the buffer under them.
6598
6599 * xfaces.c (face_at_string_position): Update function comment.
52283633 6600
d4b72d58
GM
6601 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6602 matrix if the window's left position has changed; we need to
6603 redraw it in this case.
6604
6605 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6606
e1d05387
GM
6607 * window.c (coordinates_in_window): Check mouse on mode-line or
6608 header-line first.
6609
eb1b0c74
GM
6610 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6611 advertized by the function documentation.
6612
d94d636f
GM
6613 * window.c (syms_of_window): Doc fix.
6614
3887b449
GM
6615 * sound.c (vox_configure): Set volume for left and right channel.
6616 (sound_cleanup): Return nil.
6617
efc8f57a
GM
6618 * xdisp.c (move_it_by_lines): Fix paren typo.
6619
9765b4a4
GM
6620 * xterm.c (x_load_font): Don't use the font's max_bounds for
6621 computing the height of the font. If max_bounds' ascent or
6622 descent are greater than the font's ascent or descent, this means
6623 glyphs overlap, which should be handled now by redisplay.
6624
6529ed87
GM
6625 * window.c (Veven_window_heights): New variable.
6626 (syms_of_window): DEFVAR_LISP it.
6627 (Fdisplay_buffer): Check Veven_window_heights before evening the
6628 window heights.
52283633 6629
0eb2ecde
MB
66302000-12-06 Miles Bader <miles@gnu.org>
6631
6632 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6633 update `default-frame-alist' instead of setting no frame parameters.
6634
03d7a167
KH
66352000-12-06 Kenichi Handa <handa@etl.go.jp>
6636
6637 * composite.c (update_compositions): Fix typo (use the correct
6638 variable).
6639
5f8803c2
JR
66402000-12-05 Jason Rumney <jasonr@gnu.org>
6641
6642 * md5.h: Remove underscores from function declarations.
6643 (__attribute__, __alignof__) [!__GNUC__]: Define.
6644
6645 * md5.c: Delay include of md5.h until after namespace cleaning.
6646
c28a075b
JR
6647 * makefile.w32-in (fns.o): Depend on md5.h
6648 (md5.o): New target.
6649 (sunfns.o): Remove.
6650
6651 * makefile.nt: Likewise.
6652
ff3c7056
JR
66532000-12-05 Jason Rumney <jasonr@altavista.net>
6654
6655 * w32term.c (expose_area): Complete last change.
6656
0c21eeeb
KR
66572000-12-05 Ken Raeburn <raeburn@gnu.org>
6658
6659 * minibuf.c: Include intervals.h.
6660
f201d732
JR
66612000-12-05 Jason Rumney <jasonr@gnu.org>
6662
6663 * w32term.c (x_produce_glyphs): If a font for a component of
6664 a composition is not found, use 1 pixel dot ascent and 0 dot
6665 descent value to avoid displaying terribly tall empty boxes.
6666 (expose_area): Pass x-coordinate relative to the exposed
6667 area to x_draw_glyphs instead of a window-relative coordinate.
6668
21999ab9
GM
66692000-12-05 Gerd Moellmann <gerd@gnu.org>
6670
4d2036e4
GM
6671 * xdisp.c (next_element_from_ellipsis): Save face before selective
6672 display in saved_face_id, and set face_before_selective_p.
6673 (reseat_1): Reset face_before_selective_p.
6674 (append_space, extend_face_to_end_of_line): If iterator's
6675 face_before_selective_p is set, use the face from saved_face_id.
6676 (extend_face_to_end_of_line): For tty frames, make sure to
6677 use the right face id when producing spaces at the end of
6678 the line.
6679
6680 * dispextern.h (struct it): Add face_before_selective_p.
6681
52be17cc
GM
6682 * keyboard.c (record_char): Don't record identical help-echo
6683 events in recent_keys.
6684
8a4f36cc
GM
6685 * xterm.c [USE_X_TOOLKIT]: Close the display.
6686 (xim_close_dpy): Handle case that the display has been closed.
6687
57d6e381
GM
6688 * xterm.c (x_destroy_window): Reset the frame's X window after
6689 destroying it.
6690
21999ab9
GM
6691 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6692 variable window_width.
6693 (line_draw_cost): Fix code skipping over spaces at the end of the
6694 line when must_write_spaces is not set.
6695 (scrolling_window): Fix code inserting runs in list of all runs.
6696
91372bb7
KH
66972000-12-05 Kenichi Handa <handa@etl.go.jp>
6698
6699 * coding.c (setup_coding_system): Be sure to initialize
6700 coding->category_idx.
6701
6c083b4c
GM
67022000-12-04 Gerd Moellmann <gerd@gnu.org>
6703
0c68ce6f 6704 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6705
6452929e
GM
6706 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6707 area to x_draw_glyphs instead of a window-relative coordinate.
6708
d7f31e22
GM
6709 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6710 error in the message.
6711
ae18aa3b
GM
6712 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6713 timer after having read a key. It's not good for code reading
6714 several keys in a loop, like an input method.
6715
caa15ef7
GM
6716 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6717 record undo information for format-decode.
6718
6719 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6720 current buffer is read-only, not if it isn't.
6721
6c083b4c
GM
6722 * keyboard.c (record_char): Record `help-echo' input events
6723 in recent_keys only if they display some help. Don't record
6724 `help-echo' events as macro char.
6725
caa15ef7
GM
67262000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6727
6728 * editfns.c (save_excursion_restore): Don't move point
6729 in another window if it is showing the wrong buffer.
6730 Avoid the call to Fwindow_live_p, for speed.
6731
5a13529b
KH
67322000-12-04 Kenichi Handa <handa@etl.go.jp>
6733
e225faa7
KH
6734 * xfaces.c (struct font_name): New member registry_priority.
6735 (split_font_name): Initialize the above member to zero.
6736 (concat_font_list): New function.
6737 (font_list): Include fonts of all alternative registries.
6738 (FONT_POINT_SIZE_QUANTUM): New macro.
6739 (better_font_p): Ignore point size difference less than
6740 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6741
e89648b4
KH
6742 * xterm.c (x_produce_glyphs): If a font for a component of
6743 a composition is not found, use 1 pixel dot ascent and 0 dot
6744 descent value to avoid displaying terribly tall empty boxes.
6745
5a13529b
KH
6746 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6747
d7935eb6
KR
67482000-12-03 Ken Raeburn <raeburn@gnu.org>
6749
6750 * coding.h (code_convert_string1): Declare.
6751
6752 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6753
52283633 6754 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6755
0dd5e255
JR
67562000-12-02 Jason Rumney <jasonr@gnu.org>
6757
6758 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6759 correctly for single byte character case.
6760 (w32_per_char_metric): Do not try to make any assumptions about
6761 the metrics of BDF fonts.
250cfece 6762 (x_estimate_mode_line_height): If `mode-line' face
52283633 6763 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6764 (note_mouse_highlight): Change the cursor shape on the vertical
6765 border between windows [not enabled].
6766
6767 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6768
6769 * w32fns.c (Fx_create_frame): Reintroduce the call to
6770 face-set-after-frame-defaults.
6771 (Vx_window_horizontal_drag_shape): New variable.
6772 (syms_of_xfns): DEFVAR_LISP it.
6773 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6774 enabled].
0dd5e255 6775
b5d8d2ca
GM
67762000-12-02 Simon Josefsson <simon@josefsson.org>
6777
6778 * fns.c (Fmd5): Use a different logic to decide the coding system
6779 to use.
6780
6781 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6782
fbb87147
EZ
67832000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6784
52283633 6785 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6786
447e9da0
GM
67872000-12-01 Gerd Moellmann <gerd@gnu.org>
6788
7708ced0
GM
6789 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6790 height for YNegative.
6791 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6792 height; also see comment there.
6793
447e9da0
GM
6794 * window.c (coordinates_in_window): Handle computations for
6795 positions on the vertical bar and fringes differently for
6796 window-system frames. Consider some pixels near the vertical bar
6797 as on the bar if the frame doesn't have vertical scroll bars.
6798 Associate positions between mode or header lines with the
6799 right window, the left one.
6800
86d1db20
JR
68012000-12-01 Jason Rumney <jasonr@gnu.org>
6802
6803 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6804
6805 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6806 invalid frame.
6807
a1d58e5b
GM
68082000-12-01 Gerd Moellmann <gerd@gnu.org>
6809
52283633 6810 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6811 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6812 (save_window_save, Fset_window_configuration): Save/restore
6813 window's orig_top and orig_height.
6814
89c609af
JR
68152000-12-01 Jason Rumney <jasonr@gnu.org>
6816
4d177746 6817 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6818
89c609af
JR
6819 * w32fns.c (x_set_cursor_color): Fix last change.
6820
eccc05db
GM
68212000-11-30 Gerd Moellmann <gerd@gnu.org>
6822
31b6671b
GM
6823 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6824 sure that the next redisplay displays the minibuffer, so that
6825 the cursor will be replaced with what the minibuffer wants.
6826
eccc05db
GM
6827 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6828 #ifndef instead of using #if.
6829 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6830 USE_TOOLKIT_SCROLL_BARS is defined.
6831
162de750
JR
68322000-11-30 Jason Rumney <jasonr@gnu.org>
6833
6834 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6835 x_display_cursor.
6836
693c4692
GM
68372000-11-30 Gerd Moellmann <gerd@gnu.org>
6838
6839 * fns.c (Fmd5): Doc fix.
6840
b5d8d2ca 68412000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6842
6843 * fns.c (Fmd5): New function.
6844 (syms_of_fns): Defsubr md5.
6845
6846 * Makefile.in (obj): Add md5.o
6847
b02cd40b
GM
68482000-11-30 Gerd Moellmann <gerd@gnu.org>
6849
edfb795e
GM
6850 * md5.h, md5.c: New files, taken from glibc.
6851
df3aedcf
GM
6852 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6853
b02cd40b 6854 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6855 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6856
8b5176cd
SM
68572000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6858
6859 * eval.c (Frun_hooks): Allow 0 arguments.
6860
346598f1
GM
68612000-11-29 Gerd Moellmann <gerd@gnu.org>
6862
f9396e03
GM
6863 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6864 is over the menu bar widget, say it's not on the frame.
6865
4a967a9b
GM
6866 * xfns.c (Fx_create_frame): Reintroduce the call to
6867 face-set-after-frame-defaults.
6868
346598f1
GM
6869 * eval.c (Fsignal): Reset handling_signal.
6870
222456a1
JR
68712000-11-28 Jason Rumney <jasonr@gnu.org>
6872
6873 * w32menu.c (add_menu_item): Reset menu item text when changing
6874 type to radio button.
6875
8049ddc0
GM
68762000-11-28 Gerd Moellmann <gerd@gnu.org>
6877
346598f1 6878 * xselect.c: Update copyright.
f4f4ee4d 6879
bebe4a2c
GM
6880 * window.c (coordinates_in_window): If on a mode or header line,
6881 but sufficiently close to its start, return ``on vertical
6882 border''. This gives us a way to drag windows horizontally when
6883 using toolkit scroll bars.
6884
6885 * xterm.c (note_mouse_highlight): Change the cursor shape
6886 on the vertical border between windows.
6887
6888 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6889
6890 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6891 (syms_of_xfns): DEFVAR_LISP it.
6892 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6893
8d2c2642
GM
6894 * textprop.c (text_read_only): New function.
6895 (verify_interval_modification): Use it instead of signaling
6896 `text-read-only'. This makes it easier to catch this error
52283633 6897 with a breakpoint.:
8d2c2642 6898
52283633 6899 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6900 not end of line, which includes CR.
6901
5a2bae6c
KH
69022000-11-28 Kenichi Handa <handa@etl.go.jp>
6903
6904 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6905 include no-conversion.
6906
ae31f84d
JR
69072000-11-27 Jason Rumney <jasonr@gnu.org>
6908
6909 * w32fns.c (w32_load_system_font): Always mark font as double byte
6910 if codepage is unicode.
6911
67f1cf4c
GM
69122000-11-27 Gerd Moellmann <gerd@gnu.org>
6913
4a74d071 6914 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6915 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6916
902ae620
GM
6917 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6918 `vertical-line', `mode-line' and `header-line' events.
6919
6920 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6921 of a character, a TAB for instance. This is easier than to set
6922 up the iterator exactly, and it's not a frequent case, so the
6923 additional effort wouldn't really pay off.
6924
c1e279c2
AC
69252000-11-26 Andrew Choi <akochoi@i-cable.com>
6926
67f1cf4c 6927 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6928 init_window_once.
6929
a609568a
JR
69302000-11-25 Jason Rumney <jasonr@gnu.org>
6931
52283633
SM
6932 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6933 Args to window_from_coordinates should be pixel coordinates.
48b21762 6934
a609568a
JR
6935 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6936 redisplay handles them properly.
6937
a658d039
MB
69382000-11-25 Miles Bader <miles@gnu.org>
6939
6940 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6941
d3416cca
JR
69422000-11-24 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32.c (init_environment): Set LANG environment variable based on
6945 locale settings, if not set.
6946
6947 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6948 making tool bar smaller. When clearing the frame, also
6949 clear current matrices. Clear frame when tool bar disappears.
6950 Don't use more lines for the tool-bar than is available.
6951 (x_change_window_heights): New function.
6952
ba193890
GM
69532000-11-24 Gerd Moellmann <gerd@gnu.org>
6954
2be8f184
GM
6955 * xdisp.c (init_from_display_pos): If POS says we're already after
6956 an overlay string ending at POS, make sure to pop the iterator
6957 because it will be in front of that overlay string. When POS is
6958 ZV, we've thereby also ``processed'' overlay strings at ZV.
6959
ba193890
GM
6960 * xfaces.c (lface_from_face_name): Function comment fix.
6961
1862a24e
MB
69622000-11-24 Miles Bader <miles@gnu.org>
6963
6964 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6965 apply `mode-line-inverse-video' -- zero means force display using
6966 the default face, non-zero means display using the specialized face.
6967 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6968
f07fa1b8
KH
69692000-11-23 Kenichi Handa <handa@etl.go.jp>
6970
6971 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6972 hard coded `4'.
6973
2bcdf662
EZ
69742000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6975
6976 * coding.c (decode_coding_emacs_mule): Fix the case of
6977 CODING_EOL_LF, which used uninitialized value of c.
6978
ba8299ff
SM
69792000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6980
6981 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6982
f4117c4d
GM
69832000-11-22 Gerd Moellmann <gerd@gnu.org>
6984
03e757c1
GM
6985 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6986 buffer object.
6987
f4117c4d
GM
6988 * frame.h (struct frame): Replace desired_tool_bar_items,
6989 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6990 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6991
6992 * frame.c (make_frame): Change initialization of tool bar
6993 items accordingly.
6994
6995 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6996 Change references to members deleted from struct frame to use the
f4117c4d
GM
6997 new ones.
6998
6999 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7000 references to members deleted from struct frame to use the new ones.
f4117c4d 7001
52283633 7002 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7003
7004 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7005
7006 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7007 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7008 from struct frame to use the new ones.
7009
f8e2f3f2
MB
70102000-11-23 Miles Bader <miles@gnu.org>
7011
7012 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7013 the face's inverse-video attribute, rather than overriding it.
7014
60e8e0a5
GM
70152000-11-22 Gerd Moellmann <gerd@gnu.org>
7016
7017 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7018 making tool bar smaller.
7019
92dd1b29
DL
70202000-11-22 Dave Love <fx@gnu.org>
7021
7022 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7023
e672fdce
MB
70242000-11-22 Miles Bader <miles@gnu.org>
7025
3a17d6cc
MB
7026 * keyboard.c (Vminibuffer_message_timeout): New variable.
7027 (command_loop_1): Use it to determine message timeout.
7028 (syms_of_keyboard): Initialize it.
7029
60e8e0a5 7030 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7031
e9655d81
KH
70322000-11-22 Kenichi Handa <handa@etl.go.jp>
7033
7034 * sysdep.c: Move the code for declaring h_errno after #include
7035 <netdb.h>.
7036
77270fac
GM
70372000-11-21 Gerd Moellmann <gerd@gnu.org>
7038
cd913aae
GM
7039 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7040 the menu bar when the tooltip is unmapped.
7041
77270fac
GM
7042 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7043 sole visible buffer when we're currently in the mini-buffer, and
7044 give up if so.
52283633 7045
556635d6
JR
70462000-11-21 Jason Rumney <jasonr@gnu.org>
7047
7048 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7049 put on the clipboard.
7050 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7051 copy of what Emacs last put there. If they are the same, do not
52283633 7052 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7053
5b7bde64
MB
70542000-11-22 Miles Bader <miles@gnu.org>
7055
7056 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7057 (syms_of_minibuf): Initialize it.
7058 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7059 to prompt, don't make read-only.
7060
ff23e1dd
GM
70612000-11-21 Gerd Moellmann <gerd@gnu.org>
7062
52283633
SM
7063 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7064 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7065
7aaf4388
GM
7066 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7067
f5f47add 7068 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7069
ff23e1dd
GM
7070 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7071
37c35586
KH
70722000-11-21 Kenichi Handa <handa@etl.go.jp>
7073
7074 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7075 ... #endif scope.
7076
ff9ab414
GM
70772000-11-20 Gerd Moellmann <gerd@gnu.org>
7078
52283633 7079 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7080 screen supports it.
7081
29a01b72
GM
7082 * s/gnu-linux.h: Don't use `#cpu'.
7083
09dfdf85
GM
7084 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7085 not defined in mman.h.
7086
52283633 7087 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7088 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7089 and store an index in the XClientMessageEvent. Storing a
7090 Lisp_Object or pointer can fail on a 64 bit system, since X only
7091 transfers 32 bits.
52283633
SM
7092 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7093
81459ac9
DL
70942000-11-20 Dave Love <fx@gnu.org>
7095
7096 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7097
56c13ae6
GM
70982000-11-20 Gerd Moellmann <gerd@gnu.org>
7099
7100 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7101
495a6df3
KH
71022000-11-20 Kenichi Handa <handa@etl.go.jp>
7103
2bcf3714
KH
7104 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7105 by WIDTH.
7106
495a6df3
KH
7107 * alloc.c (make_string): Fix previous change. Be sure to make
7108 unibyte string correctly.
7109
6d950f4c
GM
71102000-11-19 Gerd Moellmann <gerd@gnu.org>
7111
39b39373
GM
7112 * window.c (Fwindow_list): Change parameter list to be XEmacs
7113 compatible.
7114 (window_list_1): New function.
7115 (window_loop): Use it instead of Fwindow_list.
7116
b95b34e5
GM
7117 * sysdep.c (emacs_ospeed): New variable.
7118 (toplevel): Don't declare ospeed extern.
7119 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7120
7121 * termcap.c (ospeed): Remove.
7122 (tputs) [!emacs]: Remove unused code.
7123 (tgetent): Avoid a compiler warning.
7124
e83dc917
GM
7125 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7126 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7127 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7128
7129 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7130 removed.
7131 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7132 Take the X display as additional argument.
7133 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7134 `Widget' is a pointer type that's not easily stored in Lisp_Object
7135 form in a portable way.
52283633 7136
6d950f4c
GM
7137 * dispnew.c (update_text_area): Fix last change.
7138
e47306e6
GM
71392000-11-18 Gerd Moellmann <gerd@gnu.org>
7140
fb3cd89b
GM
7141 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7142
7143 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7144 clear current matrices.
7145
edaa9aed
GM
7146 * buffer.c (mmap_enlarge): Don't print a message on stderr
7147 if mapping new memory at the end of the existing region fails.
7148
e47306e6
GM
7149 * dispnew.c (update_text_area): Don't skip over equal glyphs
7150 when the last current glyph overlaps the glyph to its right.
7151
509633e3
MB
71522000-11-18 Miles Bader <miles@gnu.org>
7153
7154 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7155 lines that *end* with "..." too (that's the most common case!).
7156
d392e9c5
GM
71572000-11-18 Gerd Moellmann <gerd@gnu.org>
7158
67988445
GM
7159 * xdisp.c (resize_mini_window): Temporarily change to the
7160 mini-window's buffer if necessary.
1bfdbe43 7161
d392e9c5
GM
7162 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7163 the tooltip obscures less text under it.
7164
71652000-11-17 Gerd Moellmann <gerd@gnu.org>
7166
7167 * puresize.h (BASE_PURESIZE): Increase to 700000.
7168
92bb977f
JR
71692000-11-18 Jason Rumney <jasonr@gnu.org>
7170
7171 * w32term.c (w32_draw_bitmap): Use face to set colors.
7172
26fbf20b
DL
71732000-11-17 Dave Love <fx@gnu.org>
7174
7175 * lread.c (Fload): Fix #ifdef for pcc.
7176
100b593b
GM
71772000-11-17 Gerd Moellmann <gerd@gnu.org>
7178
7179 * xdisp.c (pos_visible_p): Compute the default character height
7180 differently.
7181
a288d0d1
GM
71822000-11-16 Gerd Moellmann <gerd@gnu.org>
7183
cac94de6 7184 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7185 knowing the line's height; use the default font's height in that case.
cac94de6 7186
a288d0d1
GM
7187 * xfaces.c (weight_table): Add `demi' with the same meaning as
7188 `demibold'.
7189
981fb6f6
KH
71902000-11-16 Kenichi Handa <handa@etl.go.jp>
7191
2cca872d 7192 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7193 (clear_glyph_row): Delete local static variable null_row.
7194
e5fa381b
JR
71952000-11-15 Jason Rumney <jasonr@gnu.org>
7196
7197 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7198 (w32_alloc_lighter_color): Use new brightness calculations from
7199 xterm.c. Scale delta to be in the range expected by W32.
7200 (w32_draw_relief_rect): Use frame relief colors.
7201
8e42f043
GM
72022000-11-15 Gerd Moellmann <gerd@gnu.org>
7203
6d133d1f
GM
7204 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7205 (Qinhibit_default_face_x_resources): New variable.
7206 (syms_of_frame): Initialize it.
7207 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7208
7209 * xdisp.c (pos_visible_p): Improve function comment.
7210
7211 * lisp.h (BINDING_STACK_SIZE): New macro.
7212
8e42f043
GM
7213 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7214 reading the directory if readdir returns null and errno is EAGAIN
7215 or EINTR.
7216
e8c87124
SM
72172000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7218
7219 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7220 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7221 Set amount_to_scroll to max of dx and scroll_step so that
7222 scroll-conservatively doesn't defeat scroll-step>1.
7223 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7224 scroll-conservatively for line-at-a-time scrolling.
7225
5f0c971d
GM
72262000-11-14 Gerd Moellmann <gerd@gnu.org>
7227
7228 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7229 extra argument.
7230
7231 * xdisp.c (current_mode_line_height, current_header_line_height):
7232 New variables.
7233 (init_xdisp): Initialize them.
7234 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7235 and use exact mode line heights if it is set.
7236
7237 * lisp.h (pos_visible_p): Change prototype.
7238
7239 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7240 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7241 and current_header_line_height first.
52283633
SM
7242 (current_mode_line_height, current_header_line_height):
7243 Declare extern.
5f0c971d 7244
d7361edf
MB
72452000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7246
7247 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7248 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7249 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7250
ee5e440a
MB
72512000-11-14 Miles Bader <miles@gnu.org>
7252
7253 * xterm.c (x_alloc_lighter_color): Include an additive component
7254 too for dark colors, because FACTOR isn't enough.
7255 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7256 New macros.
7257
5ca020fc
GM
72582000-11-13 Gerd Moellmann <gerd@gnu.org>
7259
7260 * keyboard.c (show_help_echo): Call message3_nolog with number of
7261 bytes in the help string as 2nd parameter, instead of the number
7262 of characters.
7263
9d348294
MB
72642000-11-13 Miles Bader <miles@gnu.org>
7265
7266 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7267 (Fload): Use new openp return protocol.
7268 Don't try to use Vload_source_file_function to load .elc files.
7269 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7270 openp return protocol.
7271 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7272
1729bb9a
KH
72732000-11-11 Kenichi Handa <handa@etl.go.jp>
7274
4e677396
KH
7275 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7276
7277 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7278 Defined these macros.
7279 (NLIST_STRUCT): Avoid re-defining it.
7280
1729bb9a
KH
7281 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7282 -I/usr/contrib/X11R6/include.
7283 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7284
a82fe213
JR
72852000-11-10 Jason Rumney <jasonr@gnu.org>
7286
7287 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7288
7289 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7290 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7291
7292 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7293 (Qw32_charset_vietnamese): New symbol.
7294 (xlfd_charset_of_font): New function.
7295 (w32_load_system_font): Use it.
7296 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7297 when Vw32_charset_info_alist is nil to ensure default face always
7298 has font. Use Fcar and Fcdr for safety.
7299 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7300 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7301 pseudo-codepages for special cases.
7302 (w32_to_x_font): New parameter to allow charset portion to be
7303 specified where there is many to one mapping. Callers changed.
7304 (w32_list_fonts): Avoid listing fonts that won't display.
7305
52d89894
GM
73062000-11-10 Gerd Moellmann <gerd@gnu.org>
7307
7308 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7309 (font_list_1): Renamed from font_list.
7310 (font_list): New function, trying alternative registries from
7311 Vface_alternative_font_registry_alist.
7312 (Finternal_set_alternative_font_registry_alist): New function.
7313 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7314 Vface_alternative_font_registry_alist.
7315 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7316
651cd3da
KR
73172000-11-09 Ken Raeburn <raeburn@gnu.org>
7318
7319 * lisp.h (Flooking_at): Declare.
7320
388ac098
GM
73212000-11-09 Gerd Moellmann <gerd@gnu.org>
7322
778fbc46 7323 * dired.c (directory_files_internal): Fix a braino.
52283633 7324
388ac098
GM
7325 * dired.c (directory_files_internal): Add missing GCPRO's.
7326 Some cleanup.
7327
ecaedde1
GM
73282000-11-08 Gerd Moellmann <gerd@gnu.org>
7329
f7eb32aa
GM
7330 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7331 (resize_mini_window): Return quickly if Vresize_mini_window is
7332 nil. Don't return if Vmax_mini_window_height is nil.
7333
7334 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7335 (syms_of_xdisp): Initialize them.
7336 (resize_mini_window): Act according to the setting of
7337 Vresize_mini_window.
7338 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7339
ecaedde1
GM
7340 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7341 scroll bar widget after configuring it, so that it will appear at
7342 the right position from the start.
7343 (XTredeem_scroll_bar): Cleaned up.
7344
3747ef2c
KH
73452000-11-08 Kenichi Handa <handa@etl.go.jp>
7346
7347 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7348 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7349 division by two.
7350
7351 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7352
03391420
DL
73532000-11-07 Dave Love <fx@gnu.org>
7354
7758f1c1 7355 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7356
7357 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7358
b5de343d
GM
73592000-11-07 Gerd Moellmann <gerd@gnu.org>
7360
acad3c0b
GM
7361 * window.c (Fset_window_configuration): Don't try to preserve
7362 point in the current buffer, if that buffer is displayed in more
7363 than one window.
7364
b5de343d
GM
7365 * xfaces.c (lookup_named_face): If default face isn't realized,
7366 try to realize it. Return -1 if not successful.
7367 (Fx_list_fonts): Handle case that face cannot be determined.
7368 (Fface_font): Likewise.
7369
cdb1fe49
GM
73702000-11-06 Gerd Moellmann <gerd@gnu.org>
7371
7372 * window.c (displayed_window_lines): Detect partially
7373 visible lines at the bottom correctly.
7374
d3a67486
SM
73752000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7376
7377 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7378 when ensuring we don't do visit in indirect buffer.
7379
ff8dd5d5
KH
73802000-11-06 Kenichi Handa <handa@etl.go.jp>
7381
7382 * composite.h (compose_chars_in_text): Add prototype.
7383
7384 * composite.c (Vcomposition_function_table): New variable.
7385 (Qcomposition_function_table): New variable.
7386 (run_composition_function): Call
7387 Vcompose_chars_after_function with three arguments.
7388 (compose_chars_in_text): New function.
7389 (syms_of_composite): Modified the doc-string of
7390 Vcompose_chars_after_function. Declare composition-function-table
7391 as a lisp variable, and initialize it.
7392
7393 * xfns.c (x_encode_text): Suppress producing escape sequences for
7394 composition.
7395
7396 * xselect.c: Include composite.h.
7397 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7398
d1145f85
AI
73992000-11-05 Andrew Innes <andrewi@gnu.org>
7400
7401 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7402
7403 * sysdep.c (read_input_waiting): Remove extraneous argument to
7404 read_socket_hook.
7405
7406 * w32fns.c (Fx_server_version): Include w32_build_number in the
7407 return list.
7408
7409 * w32heap.c (w32_build_number): New variable.
7410 (cache_system_info): Set it.
7411
7412 * w32heap.h (w32_build_number): Add extern.
7413
7414 * emacs.c (syms_of_emacs): Update docstring for
7415 system-configuration, to reflect the actual usage on MS-Windows.
7416
e85ee976
GM
74172000-10-31 Gerd Moellmann <gerd@gnu.org>
7418
26dcb81b
GM
7419 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7420 process idle timers while waiting for another event.
7421
52283633 7422 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7423 the default face are colored.
7424
e85ee976
GM
7425 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7426 window height hasn't changed.
7427
01b220b6
JR
74282000-10-31 Jason Rumney <jasonr@gnu.org>
7429
7430 * w32term.c (x_produce_glyphs): Handle composite characters.
7431 (x_draw_glyph_string_foreground)
7432 (x_draw_composite_glyph_string_foreground): Restore old font.
7433
4e6b7204
MB
74342000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7435
7436 * minibuf.c (read_minibuf): Reset the undo history just before
7437 starting the recursive-edit.
7438
d4358b37
GM
74392000-10-30 Gerd Moellmann <gerd@gnu.org>
7440
563f68f1
GM
7441 * xfaces.c (menu_face_change_count): New variable.
7442 (Finternal_set_lisp_face_attribute): Increment it for changes
7443 of the `menu' face.
7444 (realize_basic_faces): Reflect changes in the `menu' faces
7445 in menu bars.
7446
82e274d1
GM
7447 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7448 dy obtained from the iterator's y-position after moving from
7449 scroll_margin_pos to PT; see comment there.
52283633 7450
0dbf9fd2
GM
7451 * xdisp.c (safe_eval_handler): Call add_to_log.
7452
906b3b14
GM
7453 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7454 is not a symbol or string.
7455
d4358b37
GM
7456 * xdisp.c (echo_area_display): Don't perform a display update from
7457 inside redisplay. The update will happen anyway at the end of
7458 redisplay, and it can confuse redisplay (GC messages while
7459 redisplaying, for instance.)
7460
70c825df
SM
74612000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7462
cf9b4b0b
SM
7463 * xrdb.c (x_load_resources): Use the class name in the defaults.
7464
70c825df
SM
7465 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7466 (regex_compile): Catch bogus \(\1\).
7467
a1d34b1e
GM
74682000-10-30 Gerd Moellmann <gerd@gnu.org>
7469
cae71efe
GM
7470 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7471 RGB values.
52283633 7472
35efe0a1
GM
7473 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7474 we have a color cache, check that the cached color equals the
7475 allocated color. If not, clear the color cache.
7476
1d3baf74
GM
7477 * window.c (displayed_window_lines): Change buffers if necessary.
7478 Fix computation of displayed lines.
7479
a1d34b1e
GM
7480 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7481 update_menu_bindings to DEFVAR_BOOL.
7482
70737ea9
KH
74832000-10-30 Kenichi Handa <handa@etl.go.jp>
7484
70c825df 7485 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7486
fa0cb51d
KH
7487 * puresize.h (BASE_PURESIZE): Increase to 680000.
7488
70737ea9
KH
7489 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7490
0e4c08e8
JR
74912000-10-29 Jason Rumney <jasonr@gnu.org>
7492
7493 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7494
7495 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7496 (w32_cache_char_metrics): Handle possibility that 'x' does not
7497 exist in a BDF font.
7498 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7499
7500 * w32bdf.h (bdffont): Add nchars.
7501
7502 * w32bdf.c (set_bdf_font_info): Set it.
7503 (w32_BDF_TextOut): Swap byte order of double byte characters.
7504 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7505
45b84006
EZ
75062000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7507
7508 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7509 don't override the colors in frame's param_alist, unless they are
7510 unspecified.
7511
7512 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7513 reverse the effect of the highlight flag.
7514
caf9deee
KR
75152000-10-27 Ken Raeburn <raeburn@gnu.org>
7516
7517 * window.h (Fwindow_live_p): Declare.
7518
ae0b9b46
KR
7519 * undo.c (record_delete): Check that last_undo_buffer is really a
7520 buffer before applying XBUFFER to it.
7521
7522 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7523 Faref.
7524
02067692
SM
75252000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7526
7527 * lisp.h (KEYMAPP): New macro.
7528 (get_keymap): Remove.
7529 (get_keymap_1): Rename get_keymap.
7530
7531 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7532
7533 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7534
7535 * xmenu.c (single_submenu): Use KEYMAPP.
7536 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7537 Use KEYMAPP rather than Fkeymapp.
7538
7539 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7540
7541 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7542 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7543 Use KEYMAPP rather than Fkeymapp.
7544 (single_submenu): Use KEYMAPP.
7545 (w32_menu_show, w32_dialog_show): Use TRUE.
7546
7547 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7548
7549 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7550 (Fkeymapp): Use KEYMAPP.
7551 (get_keymap): Rename from get_keymap_1. Remove old def.
7552 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7553 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7554 (Fminor_mode_key_binding): Don't raise an error if the binding
7555 is not a keymap.
7556 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7557 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7558
7559 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7560 Allow Vspecial_event_map to be autoloaded.
7561 (menu_bar_items): Fetch the keymap rather than using keymapp.
7562 (menu_bar_one_keymap): No need to follow func-indirect any more.
7563 (parse_menu_item): get_keymap_1 -> get_keymap.
7564 (tool_bar_items): Fetch the keymap rather than using keymapp.
7565 (read_key_sequence): Use KEYMAPP.
7566
7567 * intervals.c (get_local_map): Use get_keymap rather than following
7568 function-indirections explicitly.
7569
7570 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7571
f9d80af3
JR
75722000-10-27 Jason Rumney <jasonr@gnu.org>
7573
7574 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7575 point, as Windows has oversized fonts.
7576
7577 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7578
a3ba27da
GM
75792000-10-27 Gerd Moellmann <gerd@gnu.org>
7580
7581 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7582 (freehook, reallochook): Handle null pointer arguments.
7583 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7584
aa3b80cc
SM
75852000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7586
7587 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7588 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7589 Giving in to popular pressure to shut up the compiler with casts.
7590
e24e84cc
GM
75912000-10-27 Gerd Moellmann <gerd@gnu.org>
7592
7593 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7594 signed value, and use a default value computed from the font's
7595 maximum descent.
7596
05ea7ef2
MB
75972000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7598
7599 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7600 that specify a negative underline position can still use underlines.
7601
7602 * window.c (Fpos_visible_in_window_p): Make POS default to
7603 WINDOW's point, not the current buffer's point.
7604
0b95284b
DL
76052000-10-26 Dave Love <fx@gnu.org>
7606
7607 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7608 when it's necessary.
7609
6c5b90af
GM
76102000-10-26 Gerd Moellmann <gerd@gnu.org>
7611
8b6d9dc9
GM
7612 * window.c (size_window): Compute size difference from sum of old
7613 child window sizes instead of from parent's size.
7614
6bc92b2e
GM
7615 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7616 Handle obscured lines at the top of the window.
7617
7618 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7619 down after the last error condition check.
7620
6c5b90af
GM
7621 * frame.c (Fdelete_frame): Run delete-frame-hook.
7622
42f92d4d
KH
76232000-10-26 Kenichi Handa <handa@etl.go.jp>
7624
7625 * coding.c (decode_coding): Fix previous change (check also
7626 CODING_MODE_LAST_BLOCK).
7627
d97151cb
SM
76282000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7629
e7efc503
SM
7630 * regex.c: More `unsigned char' -> `re_char' changes.
7631 Also change several `int' into `re_wchar_t'.
7632 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7633 (PUSH_FAILURE_POINTER): Don't cast any more.
7634 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7635 We want GCC to complain, since this piece of code makes
7636 re_match non-reentrant, which *should* be fixed.
7637 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7638 (EXTEND_BUFFER): Use RETALLOC.
7639 (SET_LIST_BIT): Don't cast.
7640 (re_wchar_t): New type.
7641 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7642 that those two functions will always properly return.
7643 (IMMEDIATE_QUIT_CHECK): Cast to void.
7644 (analyse_first): Use recursion rather than an explicit stack.
7645 (re_compile_fastmap): Can't fail anymore.
7646 (re_search_2): Don't check re_compile_fastmap for failure.
7647 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7648 Now also sets the new value (passed in a new argument).
7649 (re_match_2_internal): Use it.
7650 Also, use a new var `reg' of type size_t when looping through regs
7651 rather than reuse the inappropriate `mcnt'.
7652
d97151cb
SM
7653 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7654 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7655 (where_is_internal): Renamed from Fwhere_is_internal.
7656 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7657 (Fwhere_is_internal): New function wrapping where_is_internal.
7658 (where_is_internal_1): Handle the case where we're filling the cache.
7659 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7660
d5789b65
MB
76612000-10-25 Miles Bader <miles@gnu.org>
7662
7663 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7664
4ecda532
GM
76652000-10-25 Gerd Moellmann <gerd@gnu.org>
7666
7667 * window.c (pos_fully_visible_p): Removed.
7668 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7669 if position is visible and/or fully visible.
7670
7671 * lisp.h (pos_visible_p): Add prototype.
7672
7673 * xdisp.c (pos_visible_p): New function.
7674
68c3a137
KH
76752000-10-25 Kenichi Handa <handa@etl.go.jp>
7676
7677 * process.c (send_process): If OBJECT is t, it means that the data
7678 is from C string, but we should encode it. Before calling
7679 setup_raw_text_coding_system, be sure to flush out data by the
7680 previous coding system.
7681
7ae1c032
MB
76822000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7683
ff4dcd4b
MB
7684 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7685 assignment of startpos to prev when startpos == pos.
7686
7ae1c032
MB
7687 * editfns.c (find_field): Set the field stickiness correctly from
7688 overlay fields. Use renamed `text_property_stickiness'.
7689 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7690 Only check text properties, not overlays.
7ae1c032
MB
7691 * textprop.c (get_char_property_and_overlay): New function.
7692 (Fget_char_property): Use it.
7693 * intervals.h (get_char_property_and_overlay): Add declaration.
7694
49801145
SM
76952000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7696
7697 * keymap.c: Use AREF, ASET and ASIZE macros.
7698 (Fmake_sparse_keymap): Docstring fix.
7699 (synkey): Remove.
7700 (shadow_lookup): Move up.
7701 Handle the case where lookup-key returns an integer.
7702 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7703 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7704 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7705 Simplify/rewrite the keymap-finding code.
7706 Add check for command shadowing, using shadow_lookup.
7707
39e776cd
SM
77082000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7709
7710 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7711 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7712 a symbol.
7713
2488aba5
AI
77142000-10-24 Andrew Innes <andrewi@gnu.org>
7715
7716 * dired.c (directory_files_internal_unwind): New function.
7717 (directory_files_internal): Use it to ensure closedir is called
7718 even if expand-file-name or file-attributes throw, eg. because of
7719 a user interrupt. Also enable immediate_quit while calling
7720 re_search, so that matching can be interrupted as well.
7721
b94fdf61
AI
77222000-10-24 Andrew Innes <andrewi@gnu.org>
7723
7724 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7725 NT-Emacs only.
7726 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7727 so that re_search functions only quit when callers expect them to.
7728
77292000-10-24 Kenichi Handa <handa@etl.go.jp>
7730
7731 * regex.c (regex_compile): Change the way of handling a range from
7732 a char less than 256 to a char not less than 256.
7733
1946f901
GM
77342000-10-24 Gerd Moellmann <gerd@gnu.org>
7735
7ae2f10f
GM
7736 * window.c (size_window): Prevent setting window's width or
7737 height to a negative value (esp. with XSETFASTINT).
7738
5dcab13e
GM
7739 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7740 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7741 (protect_malloc_state) [GC_MALLOC_CHECK &&
7742 GC_PROTECT_MALLOC_STATE]: New function.
7743 (PROTECT_MALLOC_STATE): New macro.
7744 (__malloc_initialize, morecore, _malloc_internal)
7745 (_free_internal) _realloc_internal): Use it to make _heapinfo
7746 read-only outside of gmalloc.
7747
63e1b552
GM
7748 * keymap.c: Update copyright.
7749
1946f901
GM
7750 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7751 a symbol.
7752
4fa09beb
GM
77532000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7754
7755 * filelock.c (unlock_all_files): Use unlock_file to expand each
7756 buffer's file_truename before trying remove its lock file.
7757
23afac01
EZ
77582000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7759
7760 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7761 or CRLF, decode EOLs.
7762
04448b95
KH
77632000-10-24 Kenichi Handa <handa@etl.go.jp>
7764
7765 * window.c (Fdisplay_buffer): Fix doc.
7766
3090a5a5
JR
77672000-10-23 Jason Rumney <jasonr@gnu.org>
7768
7769 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7770 ASCII font of default fontset on Windows.
7771
7772 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7773 xterm.c comment below).
7774
7775 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7776
a83fee2c
GM
77772000-10-23 Gerd Moellmann <gerd@gnu.org>
7778
7779 * xterm.c (x_connection_closed): Reset handling_signal.
7780
52283633 7781 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7782
6ffdb539
MB
77832000-10-23 Miles Bader <miles@gnu.org>
7784
7785 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7786 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7787 maintain old behavior.
7788 * minibuf.c (Fminibuffer_complete): Likewise.
7789
7f1c969b
MB
77902000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7791
7792 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7793 that when a font can't be exactly centered, it errs up rather than
7794 down.
7795
23afac01 77962000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7797
52283633 7798 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7799
1a578e9b
AC
78002000-10-23 Andrew Choi <akochoi@i-cable.com>
7801
7802 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7803
7804 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7805 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7806
7807 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7808 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7809 syms_of_search, x_term_init, and init_keyboard before calling
7810 init_window_once. Also, call syms_of_xmenu.
7811
7812 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7813 default fontset to Monaco.
7814
7815 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7816 NewMacWindow and DisposeMacWindow.
7817 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7818 instead of calling NewMacWindow and setting fields of
7819 f->output_data.mac directly. Call init_frame_faces.
7820 (Fdelete_frame) [macintosh]: Remove unused code.
7821 (Fmodify_frame_parameters) [macintosh]: Call
7822 x_set_frame_parameters instead of mac_set_frame_parameters.
7823
7824 * frame.h [macintosh]: Define menu_bar_lines field in struct
7825 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7826
7827 * keyboard.c [macintosh]: Include macterm.h.
7828 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7829 and menu_bar_activate_event type events as for X and NT.
7830 (make_lispy_event) [macintosh]: Construct lisp events of type
7831 MENU_BAR_EVENT as for X and NT.
7832
7833 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7834 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7835 (sys_subshell) [macintosh]: Remove definition entirely.
7836 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7837 Vwindow_system_version here. Remove initialization of
7838 Vx_bitmap_file_path.
7839 (read_input_waiting): Correct the number of parameters passed to
7840 read_socket_hook.
7841 Move all Macintosh functions to mac/mac.c.
7842
7843 * term.c [macintosh]: Include macterm.h.
7844
7845 * window.c [macintosh]: Include macterm.h.
7846
7847 * xdisp.c [macintosh]: Include macterm.h. Declare
7848 set_frame_menubar and pending_menu_activation.
7849 (echo_area_display) [macintosh]: Do not return if terminal frame
7850 is the selected frame.
7851 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7852 Allow only the selected frame to set menu bar.
7853 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7854 calling FRAME_EXTERNAL_MENU_BAR (f).
7855 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7856
7857 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7858 and check_x. Declare XCreateGC. Define x_create_gc and
7859 x_free_gc. Initialize font_sort_order.
7860 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7861 but call x_list_fonts instead of w32_list_fonts.
7862 (Finternal_face_x_get_resource) [macintosh]: Do not call
7863 display_x_get_resource.
7864 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7865 (realize_x_face) [macintosh]: Load the font if it is specified in
7866 ATTRS.
52283633 7867 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7868
1ffbabe3
SM
78692000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7870
7871 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7872 is nil: since we go to the end of submap anyway, we'd end up
7873 setting nil to nil.
7874 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7875 doesn't obey autoload.
7876
bed43f1d
EZ
78772000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7878
1ffbabe3 7879 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7880
ea4233a7
JR
78812000-10-21 Jason Rumney <jasonr@gnu.org>
7882
7883 * w32term.c (w32_cache_char_metrics): Double check that font is
7884 really fixed pitch before trusting tmPitchAndFamily.
7885
f3d3c491
AI
78862000-10-21 Andrew Innes <andrewi@gnu.org>
7887
7888 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7889
7890 * w32term.h: Extern decl for w32_cache_char_metrics.
7891
7892 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7893
7894 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7895 (w32_unload_font): Free per_char array if present.
7896
7897 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7898 cached information in emulated XFontStruct to handle common cases
7899 quickly. Do not allocate XCharStruct for return.
7900 (w32_native_per_char_metric): New function.
7901 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7902 allocating one.
7903 (x_produce_glyphs): Don't get an HDC. Change calls to
7904 w32_per_char_metric to match arg change above. Remove calls to
7905 free results.
7906 (w32_get_glyph_overhangs): Ditto.
7907 (w32_cache_char_metrics): New function.
7908
7909 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7910 ($(BLD)/casefiddle.$(O)): Remove compile command.
7911 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7912 ($(BLD)/dispnew.obj):
7913 ($(BLD)/keyboard.obj):
7914 ($(BLD)/w32inevt.obj):
7915 ($(BLD)/w32bdf.obj):
7916 ($(BLD)/alloc.obj):
7917 ($(BLD)/buffer.obj):
7918 ($(BLD)/editfns.obj):
7919 ($(BLD)/emacs.obj):
7920 ($(BLD)/fileio.obj):
7921 ($(BLD)/fns.obj):
7922 ($(BLD)/indent.obj):
7923 ($(BLD)/insdel.obj):
7924 ($(BLD)/intervals.obj):
7925 ($(BLD)/minibuf.obj):
7926 ($(BLD)/print.obj):
7927 ($(BLD)/scroll.obj):
7928 ($(BLD)/sysdep.obj):
7929 ($(BLD)/textprop.obj):
7930 ($(BLD)/widget.obj):
f3d3c491
AI
7931 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7932 ($(BLD)/term.obj): Add dependency on dispextern.h.
7933
52283633
SM
7934 * makefile.nt ($(BLD)\dispnew.obj):
7935 ($(BLD)\keyboard.obj):
7936 ($(BLD)\w32inevt.obj):
7937 ($(BLD)\w32bdf.obj):
7938 ($(BLD)\alloc.obj):
7939 ($(BLD)\buffer.obj):
7940 ($(BLD)\editfns.obj):
7941 ($(BLD)\emacs.obj):
7942 ($(BLD)\fileio.obj):
7943 ($(BLD)\fns.obj):
7944 ($(BLD)\indent.obj):
7945 ($(BLD)\insdel.obj):
7946 ($(BLD)\intervals.obj):
7947 ($(BLD)\minibuf.obj):
7948 ($(BLD)\print.obj):
7949 ($(BLD)\scroll.obj):
7950 ($(BLD)\sysdep.obj):
7951 ($(BLD)\textprop.obj):
7952 ($(BLD)\widget.obj):
f3d3c491
AI
7953 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7954 ($(BLD)\term.obj): Add dependency on dispextern.h
7955
18ad4821
EZ
79562000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7957
7958 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7959 with an additional argument of Qt.
7960
de54681a
MB
79612000-10-21 Miles Bader <miles@gnu.org>
7962
7963 * window.c (pos_fully_visible_in_window_p): New function.
7964 (Fpos_visible_in_window_p): Add FULLY argument.
7965 Use pos_fully_visible_in_window_p.
7966 (window_scroll_pixel_based, window_scroll_line_based): Update
7967 calls to Fpos_visible_in_window_p.
7968 * lisp.h (Fpos_visible_in_window_p): Update prototype
7969
13c844fb
GM
79702000-10-20 Gerd Moellmann <gerd@gnu.org>
7971
7972 * alloc.c (toplevel): Conditionalize compilation of mem_*
7973 functions differently.
52283633 7974
d9506268
JR
79752000-10-20 Jason Rumney <jasonr@gnu.org>
7976
7977 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7978 mem_init where it used to be. mem_z etc not defined otherwise.
7979
8094989b
GM
79802000-10-20 Gerd Moellmann <gerd@gnu.org>
7981
7982 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7983 GC_MALLOC_CHECK.
7984 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7985 structure definition and related variabled to the top of the file.
7986 Include this code when GC_MALLOC_CHECK is defined.
7987 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7988 register/unregister allocated region.
7989 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7990 which isn't allocated.
7991 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7992 something which is already in use.
7993 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7994 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7995 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7996 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7997
7998 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7999 _malloc_internal instead of malloc.
8000 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8001 of free.
8002
ea456eb4
AI
80032000-10-20 Andrew Innes <andrewi@gnu.org>
8004
8005 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8006 Windows.
8007 (my_strftime) <macro>: Don't use macro arg list when redefining as
8008 _strftime_copytm.
8009 (my_strftime) <function>: Supply 0 as ut argument.
8010
e64c3a75
JR
80112000-10-19 Jason Rumney <jasonr@altavista.net>
8012
8013 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8014 including dispextern.h, as it stops faces from working.
8015
8016 * w32fns.c (Fx_create_frame): Don't bother calling
8017 face-set-after-frame-default since the caller does it for us
8018 anyway. Clean up calls to x_get_arg to be consistent with X.
8019
8020 * w32term.c (x_produce_glyphs): Handle
8021 unibyte_display_via_language_environment correctly.
8022 (w32_draw_box_rect): Fix the calculation of width and height.
8023
8024 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8025 as it has stopped working.
8026 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8027 menu-bar.
8028
17401c97
GM
80292000-10-19 Gerd Moellmann <gerd@gnu.org>
8030
8031 * eval.c (skip_debugger): Prevent a compiler warning.
8032 (Fcondition_case): Likewise.
8033 (Fbacktrace_frame): Use a null interactive spec.
8034
773272d8
KH
80352000-10-19 Kenichi Handa <handa@etl.go.jp>
8036
8037 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8038
a42943e9
GM
80392000-10-18 Gerd Moellmann <gerd@gnu.org>
8040
e50517d9
GM
8041 * strftime.c: Sync with glibc, file version 1.78.
8042 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8043 should no longer be used according to ISO 8601.
8044
9035a35a
GM
8045 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8046 no map for meta_prefix_char, don't try to use it as a keymap.
8047 Instead, if T_OK is non-zero, look up a default binding, if any,
8048 otherwise, if T_OK is zero, return nil.
8049
a42943e9
GM
8050 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8051 (x_to_xcolors, png_load): Use x_query_color.
8052
52283633
SM
8053 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8054 New functions.
a42943e9
GM
8055 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8056 which can be slow.
8057 (x_copy_color, x_alloc_lighter_color): Likewise.
8058
8059 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8060 (x_query_color, x_query_colors): Add prototype.
8061
8062 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8063 check_string_bytes only if not noninteractive, increase count to 50.
8064
00de2987
MB
80652000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8066
8067 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8068 markers correctly.
8069
54918e2b
GM
80702000-10-17 Gerd Moellmann <gerd@gnu.org>
8071
1f0b3fd2
GM
8072 * alloc.c (pure_bytes_used): Renamed from pureptr.
8073 (ALIGN): New macro.
8074 (pure_alloc): New function.
8075 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8076 Use it.
8077 (Fpurecopy): Use PURE_POINTER_P.
8078
68c5d1db
GM
8079 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8080 PT has moved backward.
52283633 8081
9a038881
GM
8082 * xdisp.c (cursor_row_p): Take continued lines into account.
8083
361b097f
GM
8084 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8085 string's size_byte.
8086 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8087 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8088 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8089 string allocated.
8090
54918e2b
GM
8091 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8092 of selective display off while searching for the next line start.
8093
03ed0806
KH
80942000-10-17 Kenichi Handa <handa@etl.go.jp>
8095
8096 * Makefile.in (term.o): Depend on dispextern.h.
8097
7e05cdaf
SM
80982000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8099
8100 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8101
a6801fd1
GM
81022000-10-16 Gerd Moellmann <gerd@gnu.org>
8103
483de32b
GM
8104 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8105 the iterator at the beginning, so that they can be set later on,
8106 for instance in reseat_at_next_visible_line_start, without being
8107 overwritten.
8108
a6801fd1
GM
8109 * xfns.c (pbm_format): Add :foreground and :background keywords.
8110 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8111 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8112
dbf1fcc1
EZ
81132000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8114
8115 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8116
52283633 8117 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8118
8119 * msdos.c (IT_set_face): Compare highlighted face with the default
8120 face, and invert colors if these faces' colors are identical.
8121 (Fmsdos_remember_default_colors): Don't swap foreground and
8122 background colors in initial_colors[].
8123 (IT_set_frame_parameters): Don't swap frame's foreground and
8124 background pixels. If ALIST includes "(reverse . t)", swap
8125 foreground-color and background-color properties in frame's
8126 param_alist. If the original frame's param_alist doesn't specify
8127 the colors, store unspecified-fg and unspecified-bg, reversed if
8128 required.
8129
8130 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8131 the colors are unspecified and reversed, reverse fore- and back-
8132 ground in the returned value.
8133 (Fframe_parameter): Ditto.
8134
b41fe2c3 81352000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8136
3a6b59d9
GM
8137 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8138 get_last_unchanged_at_beg_row.
8139 (find_first_unchanged_at_end_row): Renamed from
8140 get_first_unchanged_at_end_row.
8141 (find_first_unchanged_at_end_row): Convert assertions to
8142 unconditional tests which abort. When looking for a row in
8143 unchanged text, don't go further back than first_text_row.
8144
b41fe2c3
GM
8145 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8146 Don't add in the last line's height when deciding if the new
8147 position is below the scroll margin.
9d1af64f 8148
b41fe2c3 81492000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8150
8151 * editfns.c (Fconstrain_to_field): Check carefully for field
8152 boundaries if either OLD_POS or NEW_POS has a non-nil field
8153 property, even if they're the same.
8154
c412cb7b
KH
81552000-10-16 Kenichi Handa <handa@etl.go.jp>
8156
8157 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8158 height for XFillRectangle.
8159
5586f3eb
SM
81602000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8161
8162 * syntax.c (Fstring_to_syntax): New function extracted from
8163 Fmodify_syntax_entry.
8164 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8165 (skip_chars, Fforward_comment): Remove unused variables.
8166 (syms_of_syntax): Add defsubr for string-to-syntax.
8167 (describe_syntax): Add code for comment and string fences.
8168
db785038
SM
81692000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8170
8171 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8172 Do the meta->esc mapping. Call get_keyelt before returning.
8173 Start scanning from the second element (the first is always `keymap')
8174 to make it easier to detect when we reach a parent map.
8175 Handle the case of inheriting from a symbol whose function is a map.
8176 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8177 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8178 (get_keyelt, Flookup_key): Update call to access_keymap.
8179 Remove the meta->esc mappings.
8180 (define_as_prefix): Delete old disabled code.
8181 (menu_item_p): New function.
8182 (where_is_internal_1): Skip over the few remaining menu items.
8183 * lisp.h (access_keymap): Update prototype.
8184 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8185 Update call to access_keymap.
8186 (follow_key, read_key_sequence): Update calls to access_keymap.
8187 Remove the meta->esc mappings.
8188
cafafe0b
GM
81892000-10-13 Gerd Moellmann <gerd@gnu.org>
8190
a2e2a7f6
GM
8191 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8192 with additional argument.
8193
cafafe0b
GM
8194 * xdisp.c (cursor_row_p): New function.
8195 (try_cursor_movement, display_line): Use it.
52283633 8196
cafafe0b
GM
8197 * xdisp.c (append_space): Also save/restore iterator's current
8198 character and its length.
8199
8200 * xdisp.c (init_from_display_pos): Add an assertion.
8201 (handle_stop): Don't set iterator's add_overlay_start.
8202 (handle_invisible_prop): Likewise.
8203 (load_overlay_strings): If text under an overlay is invisible,
8204 take both before- and after-strings into account when the iterator
8205 is positioned either at the start or at the end of the overlay.
8206 (forward_to_next_line_start): Rewritten.
8207 (reseat_at_next_visible_line_start): Rewritten.
8208 (set_iterator_to_next): Add parameter RESEAT_P.
8209
8210 * dispextern.h (struct it): Remove member add_overlay_start.
8211 (set_iterator_to_next): Change prototype.
8212
c744452b
KH
82132000-10-13 Kenichi Handa <handa@etl.go.jp>
8214
8215 * coding.c (code_convert_region): Be sure to initialize
8216 coding->category_idx.
e4a3f4e1
KH
8217 (decode_coding_string): Set coding->src_multibyte and
8218 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8219 (encode_coding_string): Set coding->src_multibyte and
8220 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8221
321fd26f
SM
82222000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8223
8224 * xfns.c (Fx_create_frame): Don't bother calling
8225 face-set-after-frame-default since the caller does it for us anyway.
8226
76832439
EZ
82272000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * window.c (coordinates_in_window): Fix detection of vertical line
8230 on character terminals.
8231
2483cf58
GM
82322000-10-12 Gerd Moellmann <gerd@gnu.org>
8233
8234 * editfns.c (save_excursion_save): Additionally record the
8235 selected window.
8236 (save_excursion_restore): If buffer was visible in a window, and a
8237 different window was selected, and the old selected window is
8238 still live, restore point in that window.
8239
eb991b25
KH
82402000-10-12 Kenichi Handa <handa@etl.go.jp>
8241
8a0eba09
KH
8242 * xterm.c (x_produce_glyphs): Handle
8243 unibyte_display_via_language_environment correctly.
8244
20401fcc
KH
8245 * regex.c (regex_compile): Change the way of handling a range from
8246 unibyte char to multibyte char.
8247
8248 * syntax.c (skip_chars): Change the way of handling a range from
8249 unibyte char to multibyte char.
8250
eb991b25
KH
8251 * process.c (read_process_output): Cancel previous change.
8252
365dd325
EZ
82532000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8254
c1b096cb
EZ
8255 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8256
365dd325
EZ
8257 * charset.c (Ffind_charset_string): Doc fix.
8258 (Ffind_charset_region): Doc fix.
8259
eb483c2b
KH
82602000-10-11 Kenichi Handa <handa@mule.m17n.org>
8261
8262 * process.c (read_process_output): Fix previous change. Adjust
8263 multibyteness of text to insert in a buffer by
52283633 8264 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8265
b40bfb99
AS
82662000-10-10 Andreas Schwab <schwab@suse.de>
8267
8268 * alloc.c (mark_object): Remove all workarounds installed on
8269 1993-08-08.
8270
caff31d4
KH
82712000-10-10 Kenichi Handa <handa@etl.go.jp>
8272
52283633 8273 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8274 (base64_encode_1): Make it work for a text of multibyte form.
8275 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8276 case. Don't call str_to_multibyte because base64_decode_1
8277 produces correct multibyte form for eight-bit codes.
52283633 8278 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8279 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8280 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8281 codes.
8282
8283 * charset.h (CHAR_STRING): Optimized for single byte characters.
8284
cba026ef
AS
82852000-10-09 Andreas Schwab <schwab@suse.de>
8286
8287 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8288 -1 after socket is closed, to fall through to error processing.
8289
1e21fe48
EZ
82902000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8291
8292 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8293 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8294 background-color, change also the colors of the default face for
8295 this frame.
8296
a640322e
EZ
82972000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8298
8299 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8300 them extern (they are defined on xfaces.c).
8301 (syms_of_msdos): Don't intern and don't staticpro
8302 Qbackground_color and Qforeground_color.
8303
a115794c
EZ
83042000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8305
8306 * frame.c (Fframe_parameter): For non-windowed frames, if
8307 f->param_alist says foreground or background color is unspecified,
8308 call tty_color_name to return the color name computed from the
8309 frame's current colors.
8310
f5533b63
DL
83112000-10-06 Dave Love <fx@gnu.org>
8312
8313 * terminfo.c (ospeed): Don't declare.
8314
8315 * sysdep.c: Don't include string.h.
8316 (h_errno): Declare conditional also on TRY_AGAIN.
8317
8318 * charset.c (Ffind_charset_string): Doc fix.
8319
52283633 8320 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8321 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8322 error messages.
8323
2b06561a
DL
83242000-10-05 Dave Love <fx@gnu.org>
8325
8326 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8327 position like menu-bar.
8328
ca839c85
GM
83292000-10-05 Gerd Moellmann <gerd@gnu.org>
8330
8331 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8332
8333 * xdisp.c (handle_single_display_prop): Use safe_call1.
8334 (safe_call): Renamed from call_function.
8335 (safe_call1): New function.
8336 (handle_fontified_prop): Use safe_call1 instead of call1.
8337 (safe_eval): Renamed from eval_form.
8338 (safe_eval_handler): Renamed from eval_handler.
8339 (handle_single_display_prop, display_mode_element): Use safe_eval
8340 instead of eval_form.
8341
8342 * xfaces.c (merge_face_heights): Use safe_call instead of
8343 call_function.
8344
8345 * keyboard.c (show_help_echo): Use safe_call instead of
8346 call_function; use safe_eval instead of eval_form.
8347
8348 * lisp.h (safe_call): Renamed from call_function.
8349 (safe_eval): Renamed from eval_form.
8350 (safe_call1): Add prototype.
8351
a3489ece
MB
83522000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8353
8354 * xfns.c (image_ascent): Rearrange ascent calculation for the
8355 has-a-font case.
8356
35810b6f
SM
83572000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8358
8359 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8360 (where_is_internal_1): Don't bother ignoring menu-items any more.
8361
3dc78168
GM
83622000-10-04 Gerd Moellmann <gerd@gnu.org>
8363
8364 * keyboard.c (update_menu_bindings): New variable.
8365 (parse_menu_item): Use AREF. If update_menu_bindings
8366 is 0, don't update menu bindings.
8367 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8368
1efc2bb9
EZ
83692000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8370
8371 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8372 to `mark_object'.
8373
3f679f55
SM
83742000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8375
8376 * syntax.c (forw_comment): Match nestedness of ender/starter.
8377 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8378 (prev_char_comstart_first): Remove.
8379 (back_comment): Check two-char comment markers more carefully
8380 to better handle overlapping cases like *//* or /* */* */ ...
8381 Match nestedness of ender/starter.
8382
2021ab61
DL
83832000-10-02 Dave Love <fx@gnu.org>
8384
8385 * config.in (HAVE_GAI_STRERROR): Add undef.
8386
8387 * process.c (Fopen_network_stream): Use it.
8388
8389 * m/alpha.h (NO_REMAP): Don't define.
8390
64e6cc18
GM
83912000-10-02 Gerd Moellmann <gerd@gnu.org>
8392
8393 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8394 return with a string converted to an integer or vice versa when
8395 Vmocklisp_arguments is t.
8396 (Fsignal): Likewise. The function can return for `quit'.
8397 (struct gcpro): Declare member `var' to point to a volatile
8398 Lisp_Object.
8399
8400 * eval.c (error): Prevent compiler warning.
8401
b1904cd9
SM
84022000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8403
8404 * keymap.c (keymap_memberp): New function.
8405 (Fset_keymap_parent): Use it.
8406 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8407 Use keymap_memberp to avoid creating cycles.
8408 (access_keymap): Use KEYMAPP.
8409
71c9ec51
GM
84102000-09-30 Gerd Moellmann <gerd@gnu.org>
8411
8412 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8413 gai_strerror. Make sure xerrno is set if connect fails. Improve
8414 error recovery.
71c9ec51 8415
c70c6b58
JR
84162000-09-29 Jason Rumney <jasonr@gnu.org>
8417
8418 * w32term.c (w32_char_font_type, w32_encode_char)
8419 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8420 (w32_bdf_per_char_metric): New function.
8421 (w32_per_char_metric): Use it.
8422 (x_draw_glyph_string_background): Always draw background for BDF
8423 glyphs.
8424
8425 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8426 GDI object which is a scarce resource.
8427
8428 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8429 (get_quoted_string): Fix limit on memchr search.
8430 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8431 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8432 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8433 (get_cached_font_char, cache_char_offset): Use macro
8434 BDF_CODEPOINT_RANGE_COVER_P.
8435 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8436 (clear_cached_bitmap_slots): New function.
8437 (GET_HEX_VALUE): G-Z, g-z are not hex.
8438 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8439 (get_bitmap_with_cache): Use new cache implementation.
8440 (create_offscreen_bitmap): New function.
8441 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8442
8443 * w32term.c (x_produce_glyphs): If the distance from the current
8444 position to the next tab stop is less than a canonical character
8445 width, use the tab stop after that.
8446 (x_draw_glyphs): Handle case START and END are out of bounds more
8447 carefully.
8448 (x_clear_mouse_face): Block/unblock input.
8449 (x_display_and_set_cursor): Don't show a hollow box cursor for
8450 buffers whose cursor_type is nil.
8451
fe01239f
GM
84522000-09-29 Gerd Moellmann <gerd@gnu.org>
8453
52283633 8454 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8455
8456 * dispextern.h (updating_frame): Declare extern.
8457
e7c52f1f
AS
84582000-09-29 Andreas Schwab <schwab@suse.de>
8459
8460 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8461
de6e1f7c
GM
84622000-09-29 Gerd Moellmann <gerd@gnu.org>
8463
25126faa
GM
8464 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8465 use its function definition.
8466 (tool_bar_items): Likewise.
8467
de6e1f7c 8468 * lisp.h (fatal): Declare NO_RETURN.
52283633 8469
454ee39b
KH
84702000-09-29 Kenichi Handa <handa@etl.go.jp>
8471
8472 * keymap.c: Remove the line "#undef NULL".
8473
96301c5f
GM
84742000-09-28 Gerd Moellmann <gerd@gnu.org>
8475
52283633 8476 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8477
efffeeb4
DL
84782000-09-28 Dave Love <fx@gnu.org>
8479
ecb8b666
DL
8480 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8481
dc3cd20f
DL
8482 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8483
8484 * .gdbinit (xreload): Note its need on GNU/Linux.
8485
efffeeb4
DL
8486 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8487 r_alloc, r_alloc_free.
8488
8610d903
KH
84892000-09-28 Kenichi Handa <handa@etl.go.jp>
8490
8491 * syntax.c (skip_chars): Handle negation correctly.
8492
8901d1ac
GM
84932000-09-27 Gerd Moellmann <gerd@gnu.org>
8494
6f22f1ad
GM
8495 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8496 with non-zero FORCE_P argument.
8497
52283633 8498 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8499 Add assertions.
8500
8501 * xdisp.c (window_box_height): Add an assertion.
8502
8503 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8504 tool-bar than is available.
8505 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8506
36f1966f
DL
85072000-09-27 Dave Love <fx@gnu.org>
8508
efffeeb4 8509 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8510
31d929e5
GM
85112000-09-26 Gerd Moellmann <gerd@gnu.org>
8512
c98863bf
GM
8513 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8514 instead of BITS_PER_INT.
8515 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8516 EMACS_UINT, respectively.
8517 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8518
8519 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8520
8521 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8522
77072ab1
GM
8523 * window.c (freeze_window_starts): Construct last argument for
8524 foreach_window differently.
8525
8526 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8527
8528 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8529 EMACS_UINT instead of `int' and `unsigned int'.
8530 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8531
8532 * frame.h (struct frame): Make the `nothing' member of union
8533 output_data an EMACS_INT.
8534
52283633 8535 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8536 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8537 size in the sdata structure.
8538 (SDATA_NBYTES, SDATA_DATA): New macros.
8539 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8540 differently for the different layout of the sdata structure.
8541 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8542 in sdata.
8543 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8544 Check that size recorded in the string size and size recorded in
8545 the sdata structure agree.
8546
3e60b029
DL
85472000-09-25 Dave Love <fx@gnu.org>
8548
8549 * buffer.c: Include stdio.h.
8550
8551 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8552
3e60b029
DL
8553 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8554
8555 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8556 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8557 (__malloc_extra_blocks): Declare as __malloc_size_t.
8558
8ff16b4e
GM
85592000-09-25 Gerd Moellmann <gerd@gnu.org>
8560
755a2ccd
GM
8561 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8562
d8b4516f
GM
8563 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8564 (read_char): If help-echo is showing, preserve the echo area
8565 when redisplaying.
8566
8567 * xdisp.c (help_echo_showing_p): New variable.
8568 (set_message): Reset it to 0.
8569 (init_xdisp): Initialize help_echo_showing_p.
8570
8571 * dispextern.h (help_echo_showing_p): Declare extern.
8572
8573 * config.in: Fix typo in __GNUC_MINOR__.
8574
8575 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8576
b11af2dd
GM
8577 * s/freebsd.h (POSIX_SIGNALS): Define.
8578
8ff16b4e
GM
8579 * xterm.c (x_clear_mouse_face): Block/unblock input.
8580
844eb643
DL
85812000-09-24 Dave Love <fx@gnu.org>
8582
8583 * fns.c (base64_encode_1): Fix last change.
8584
b30ab1b3
GM
85852000-09-22 Gerd Moellmann <gerd@gnu.org>
8586
8587 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8588
8589 * xdisp.c (try_window_reusing_current_matrix): More fixes
8590 for the case window has a header-line.
8591
c6cbe5f0
DL
85922000-09-22 Dave Love <fx@gnu.org>
8593
4c7c1f3f
DL
8594 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8595 a doc string.
8596
8597 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8598
c6cbe5f0
DL
8599 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8600
550a625e
GM
86012000-09-21 Gerd Moellmann <gerd@gnu.org>
8602
4c7c1f3f 8603 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8604 for GCC >= 2.5.
8605
52283633
SM
8606 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8607 Declare NO_RETURN.
fca99116 8608
80d26f99
GM
8609 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8610 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8611 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8612 warnings.
52283633 8613
80d26f99
GM
8614 * marker.c (byte_char_debug_check): Return void.
8615
623a0aae
GM
8616 * xfns.c (Fx_create_frame): Set default frame parameter value
8617 for tool-bar-lines to 1.
8618
8619 * dispnew.c (scrolling_window): Compare y-positions of rows
8620 equal at the start. Some simplification.
8621
8622 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8623 reused rows' y-position in the case window has a header-line, and
8624 new window start is greater than old window start.
8625
42ac0ae5
GM
8626 * process.c (process_sent_to): New variable.
8627 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8628 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8629 Declare more parameters volatile.
8630
550a625e
GM
8631 * lread.c (Vrecursive_load_depth_limit): New variable.
8632 (Fload): Check recursive loads whose recursion depth exceeds
8633 Vrecursive_load_depth_limit.
8634 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8635
8320414c
GM
86362000-09-20 Gerd Moellmann <gerd@gnu.org>
8637
f46c275e
GM
8638 * fileio.c (Fread_file_name): Doc fix.
8639
8640 * editfns.c (Fmessage_or_box): Doc fix.
8641
8642 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8643
b7e11c5b 8644 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8645
8320414c
GM
8646 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8647 symbols are specified, add color translations to the cache.
52283633 8648 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8649 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8650 xpm_cache_color.
8651 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8652 structures to xpm_init_color_cache.
8653
da1608d9
GM
86542000-09-19 Gerd Moellmann <gerd@gnu.org>
8655
52283633 8656 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8657
6badfa25
AI
86582000-09-19 Andrew Innes <andrewi@gnu.org>
8659
8660 * makefile.nt (bootstrap-emacs): Don't change directory.
8661
3a5f42bb
KH
86622000-09-19 Kenichi Handa <handa@etl.go.jp>
8663
1b7649bd
KH
8664 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8665
3a5f42bb
KH
8666 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8667 If output buffer is too small, signal an appropriated error.
8668
9f83cf0b
DL
86692000-09-18 Dave Love <fx@gnu.org>
8670
52283633 8671 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8672 (current_active_maps): Remove redundant get_local_map call.
8673
28c7826c
GM
86742000-09-18 Gerd Moellmann <gerd@gnu.org>
8675
5cefa566
GM
8676 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8677 cursor for buffers whose cursor_type is nil.
52283633 8678
6fed3546
GM
8679 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8680 a feature to implement that is already implemented.
8681 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8682 warnings.
8683
8684 * xfns.c (x_clear_image_1): New function.
8685 (x_clear_image): Use it.
52283633 8686 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8687
05b1f851
GM
8688 * dispnew.c (update_window): Move test for invisible lines
8689 at the top to update_window_line.
8690 (update_window_line): Handle invisible lines here.
8691
f4779de9
GM
8692 * xfns.c (clear_image_cache): Clear current matrices of all
8693 frames sharing an image cache. Block input while freeing
8694 images. Fix timestamp comparison.
8695 (x_clear_image): Also free the mask.
8696
28c7826c
GM
8697 * xfns.c (lookup_image): Block input while loading the image so
8698 that we won't get interrupted in a state where the image isn't yet
8699 set up completely.
8700 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8701 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8702 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8703 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8704
b7412313
GM
87052000-09-16 Gerd Moellmann <gerd@gnu.org>
8706
8707 * dispnew.c (update_window): Make sure to make desired rows
8708 current even if they are completely invisible at the top
8709 of a window.
8710
47e351a3
GM
87112000-09-15 Gerd Moellmann <gerd@gnu.org>
8712
7f8f1edc
GM
8713 * xfns.c (lookup_image): Build mask before applying an algorithm.
8714 Recognize algorithm `disabled'.
8715 (cross_disabled_images): New variable.
8716 (COLOR_INTENSITY): New macro.
8717 (x_detect_edges): Use COLOR_INTENSITY.
8718 (x_disable_image): New function.
8719 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8720
8721 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8722 disabled state, don't apply an image transformation algorithm if
8723 the user specified an image for the disabled state. Use
28c7826c 8724 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8725 user hasn't specified an image.
8726
ebb8f116
GM
8727 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8728 allocation functions with the XPM lib.
8729 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8730 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8731 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8732 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8733 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8734 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8735 functions, if possible, because these handle color allocation
8736 failure more gracefully.
8737 (Fimage_mask_p): New function.
8738
47e351a3
GM
8739 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8740 (Qedge_detection, Qheuristic): New symbols.
8741 (syms_of_xfns): Initialize new symbols.
8742 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8743 `algorithm (edge-detection ...)'.
8744 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8745 (tiff_format, gif_format, gs_format): Add `:mask'.
8746 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8747 (GIF_MASK, GS_MASK): New enumerators.
8748 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8749 (emboss_matrix, laplace_matrix): New variables.
8750 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8751 (x_edge_detection): New functions.
8752 (x_laplace): Rewritten in terms of x_detect_edges.
8753 (x_build_heuristic_mask): If image has a mask, free it.
8754
fe83b953
AI
87552000-09-14 Andrew Innes <andrewi@gnu.org>
8756
8757 * makefile.w32-in: Revert to Unix line endings.
8758
3021e816
AI
87592000-09-14 Andrew Innes <andrewi@gnu.org>
8760
8761 * makefile.w32-in: Standardize indentation somewhat.
8762 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8763 cater for differences between shells.
8764
8765 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8766
2a32b5ea
GM
87672000-09-14 Gerd Moellmann <gerd@gnu.org>
8768
8769 * xterm.c (x_produce_glyphs): If the distance from the current
8770 position to the next tab stop is less than a canonical character
8771 width, use the tab stop after that.
8772
b4331e96
DL
87732000-09-14 Dave Love <fx@gnu.org>
8774
8775 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8776
ef9e4345
GM
87772000-09-14 Gerd Moellmann <gerd@gnu.org>
8778
085536c2
GM
8779 * xdisp.c (handle_fontified_prop): While running fontification
8780 functions, bind `fontification-functions' and
8781 `after-change-functions' to nil.
8782
ef9e4345
GM
8783 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8784 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8785
8786 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8787
8788 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8789 USE_MMAP_FOR_BUFFERS.
8790
8791 * insdel.c (make_gap): Use enlarge_buffer_text.
8792
8793 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8794 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8795 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8796 from former r_alloc_* functions in ralloc.c.
52283633 8797 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8798 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8799 (mmap_init) [REL_ALLOC_MMAP]: New function.
8800 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8801 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8802 BUFFER_FREE.
8803
8804 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8805 (enlarge_buffer_text): Add prototype.
8806
8807 * ralloc.c: Remove everything having to do with the use of mmap.
8808
f8608968
GM
88092000-09-13 Gerd Moellmann <gerd@gnu.org>
8810
2a494b2d
GM
8811 * sound.c (Fplay_sound): Doc fix.
8812
8c907a56
GM
8813 * keyboard.c: Avoid some more compiler warnings.
8814 (parse_tool_bar_item): Ignore cached key bindings.
8815
f8608968
GM
8816 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8817 and allocation of Lisp data.
8818
6ab70e9a
GM
88192000-09-12 Gerd Moellmann <gerd@gnu.org>
8820
d12d0a9b
GM
8821 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8822 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8823 defaults first.
8824
6ab70e9a
GM
8825 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8826
63c36c3c
KH
88272000-09-12 Miyashita Hisashi <himi@meadowy.org>
8828
8829 * ccl.c: Comment fixed.
8830 (MAX_MAP_SET_LEVEL): Increased to 30.
8831 (PUSH_MAPPING_STACK): Enclose with do-while block.
8832 (POP_MAPPING_STACK): Likewise.
8833 (stack_idx_of_map_multiple): New variable.
8834 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8835 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8836 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8837 (ccl_driver) <CCL_MapSingle>: Likewise.
8838 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8839 with the case where looking up process reaches to the end of
8840 map-set, and call CCL programs as the above change.
8841
7ee3bd7b
GM
88422000-09-11 Gerd Moellmann <gerd@gnu.org>
8843
8ec8a5ec
GM
8844 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8845 that might be clobbered by longjmp.
8846 (check_x_display_info, x_decode_color, create_frame_xic)
8847 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8848 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8849
f74b0705
GM
8850 * lread.c (init_lread): Set Vloads_in_progress to nil.
8851 (Fload): Show list of recursively loaded files, when signaling an
8852 error.
8853
7ee3bd7b
GM
8854 * lread.c (Vloads_in_progress): New variable.
8855 (record_load_unwind): New function.
8856 (Fload): Check for recursive loads.
8857 (syms_of_lread): Initialize Vloads_in_progress.
8858 (read_integer, read1): Avoid some compiler warnings.
8859
8860 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8861 compiler warnings.
8862
974e1e5b
MB
88632000-09-11 Miles Bader <miles@gnu.org>
8864
8865 * editfns.c (Fbuffer_string): Doc fix.
8866
9824c4e3
GM
88672000-09-10 Gerd Moellmann <gerd@gnu.org>
8868
8869 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8870
6a72fdd1
KR
88712000-09-09 Ken Raeburn <raeburn@gnu.org>
8872
8873 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8874 whether to include other header files.
8875
28e6fb66
GM
88762000-09-09 Gerd Moellmann <gerd@gnu.org>
8877
52283633 8878 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8879 by Fmemq as a boolean.
28e6fb66 8880
7f8b6551
SM
88812000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8882
8883 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8884
a8710abf
GM
88852000-09-08 Gerd Moellmann <gerd@gnu.org>
8886
d1a02881
GM
8887 * ralloc.c (mmap_fd): Remove initializer which can make it
8888 read-only in a dumped Emacs.
8889 (mmap_fd_1): New variable.
8890 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8891 restore it from there.
8892 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8893 unconditionally so that mmap_fd can be initialized there.
8894 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8895 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8896 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8897
c454aac1
GM
8898 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8899
8900 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8901 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8902
fc653ef2
GM
8903 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8904
3015eec0
GM
8905 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8906 inheritance.
8907
bfe0ee88
GM
8908 * xdisp.c (try_window_id): When trying to locate cursor in
8909 unchanged rows at the top, handle the case that we can't find it.
8910
a8710abf
GM
8911 * xterm.c (x_draw_glyphs): Handle case START and END are out
8912 of bounds more carefully.
8913
6b7d4ae4
DL
89142000-09-08 Dave Love <fx@gnu.org>
8915
423193c5
DL
8916 * s/sol2.h (REL_ALLOC_MMAP): Define.
8917 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8918
8919 * ralloc.c: Don't include string.h (redundant).
8920 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8921 [!MAP_ANON]: Include fcntl.h.
8922 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8923 (r_alloc, r_re_alloc, r_alloc_free)
8924 (mmap_enlarge, mmap_set_vars): Use it.
8925 (r_alloc_init_fd): New function.
8926 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8927 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8928 malloc type.
8929
8930 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8931 Remove vm-limit.o.
8932
6b7d4ae4
DL
8933 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8934 change to __NetBSD__.
8935
44d31981
KH
89362000-09-08 Kenichi Handa <handa@etl.go.jp>
8937
8938 * search.c (compile_pattern): Check the multibyteness of cached
8939 string and PATTERN.
8940
aad40737
MB
89412000-09-08 Miles Bader <miles@gnu.org>
8942
8943 * xfaces.c (default_face_vector): Function removed.
8944 (Finternal_merge_in_global_face): Restore old global/local
8945 attribute override order. Use inline loop instead of calling
8946 default_face_vector.
8947
91a211b5
GM
89482000-09-07 Gerd Moellmann <gerd@gnu.org>
8949
8950 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8951 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8952 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8953 where necessary, in case POINTER_TYPE is `void'.
8954
03419440
EZ
89552000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8956
8957 * frame.c (make_terminal_frame): Initialize frame foreground and
8958 background colors to unspecified, for the initial instance of an
8959 MSDOS frame.
8960
f46f845b
GM
89612000-09-07 Gerd Moellmann <gerd@gnu.org>
8962
24f76fbf
GM
8963 * ralloc.c (mmap_find): Fix overlap computation.
8964 (mmap_enlarge): Compute nbytes before trying to find an
8965 overlapping region.
8966
f46f845b
GM
8967 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8968 instead of `!='.
8969
8970 * lread.c (syms_of_lread): Change value of regexp
8971 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8972
8973 * xmenu.c (xdialog_show): When looking up the selection in
8974 menu_items, take `quote' boundaries into account; this corresponds
8975 to a nil ITEM in x-popup-dialog.
8976
3c014385
KH
89772000-09-07 Kenichi Handa <handa@etl.go.jp>
8978
fd6f711b
KH
8979 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8980 not 0x81.
8981 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8982
3c014385 8983 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8984 encoding, not decoding. Fix the handling of latin-jisx0201.
8985 Check for the charset katakana-jisx0201 too.
3c014385 8986 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8987 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8988
0da3ecef
GM
89892000-09-07 Gerd Moellmann <gerd@gnu.org>
8990
ab0ee409
GM
8991 * xfaces.c (Vparam_value_alist): New variable.
8992 (syms_of_xfaces): Initialize it.
8993 (Finternal_set_lisp_face_attribute): Avoid more consing.
8994
8995 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8996 specially.
8997 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8998 (Qbackground_mode): New variable.
8999 (syms_of_frame_1): Initialize Qbackground_mode.
9000
9001 * lisp.h (Qdisplay): Declare extern.
1091dd67 9002
0da3ecef
GM
9003 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9004 change face on all frames, and change the default for new frames.
9005
b14654b9
DL
90062000-09-07 Dave Love <fx@gnu.org>
9007
9008 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9009
d24fd56f
KH
90102000-09-07 Kenichi Handa <handa@etl.go.jp>
9011
794f3670
KH
9012 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9013
0fddd0dc
KH
9014 * charset.c: Include composite.h
9015 (lisp_string_width): New function.
9016 (Fstring_width): Call lisp_string_width instead of strwidth.
9017
9018 * Makefile.in (charset.o): Depends on composite.h.
9019
d24fd56f
KH
9020 * process.c (read_process_output): Before inserting the decoded
9021 text in the buffer, adjust the multibyteness.
9022
fa0b693c
GM
90232000-09-06 Gerd Moellmann <gerd@gnu.org>
9024
52283633 9025 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9026 buffer's text buffer is null, map new memory.
9027
0a58f946
GM
9028 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9029 POINTER_TYPE and size_t.
9030 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9031 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9032 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9033 [REL_ALLOC_MMAP]: New macros.
9034 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9035 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9036 [REL_ALLOC_MMAP]: New functions.
9037
9038 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9039 before and after unexec.
9040
9041 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9042 text buffers if necessary.
9043
9044 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9045 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9046 in prototypes.
9047
fa0b693c
GM
9048 * config.in (HAVE_MMAP): Add #undef.
9049
877055f6
GM
90502000-09-05 Gerd Moellmann <gerd@gnu.org>
9051
08ba3862
GM
9052 * frame.c (Qdisplay_type): New variable.
9053 (syms_of_frame_1): Initialize it.
9054 (Fframe_parameter): New function that avoids consing.
9055 (syms_of_frame): Defsubr it.
9056
66ffe51c
GM
9057 * buffer.c (Fother_buffer): Consider buffers as invisible when
9058 they are displayed in a window on an invisible frame.
9059
877055f6
GM
9060 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9061 get-largest-window always return nil.
9062
bb970e67
GM
90632000-09-04 Gerd Moellmann <gerd@gnu.org>
9064
9065 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9066 variable; recognize Emacs 19 elc files.
9067
7a3d0e0e
MB
90682000-09-04 Miles Bader <miles@gnu.org>
9069
9070 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9071 before initially popping up the menu, so the menu doesn't flash
52283633 9072 when the face settings are significantly different from the defaults.
7a3d0e0e 9073
14473664
SM
90742000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9075
9076 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9077 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9078 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9079 (BIT_UNIBYTE): Remove.
9080 (re_match_2_internal): Delete corresponding code and streamline the
9081 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9082 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9083 (re_wctype_t): New type.
9084 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9085 (regex_compile): Use them and fix handling of overly long char classes.
9086
c1174479
AI
90872000-09-03 Andrew Innes <andrewi@gnu.org>
9088
f8803e97
AI
9089 * makefile.w32-in: Change to DOS line endings.
9090
c1174479
AI
9091 * s/ms-w32.h (ORDINARY_LINK): New define.
9092
9093 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9094 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9095
9096 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9097 (distclean): Delete them here instead.
9098
44ef7cf6
AI
9099 * w32proc.c (compare_env): Convert to uppercase for comparison,
9100 not lowercase, to match how the native Windows shell works.
9101
49b3bd82
JR
91022000-09-03 Jason Rumney <jasonr@gnu.org>
9103
9104 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9105 CVS changes the line-ends when checking in/out on DOS/Windows.
9106
9107 * makefile.nt (emacs): Do not change directory to run temacs, as
9108 the load-path is set relative to current directory.
9109
a3d35a39
MB
91102000-09-03 Miles Bader <miles@gnu.org>
9111
9112 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9113
d276b0cf
GM
91142000-09-02 Gerd Moellmann <gerd@gnu.org>
9115
715e84c9
GM
9116 * xdisp.c (redisplay_mode_lines): New function.
9117 (display_mode_lines): Return number of mode lines displayed.
9118 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9119 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9120
8892f40b
GM
9121 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9122 string.h and strings.h.
9123 (index) [HAVE_INDEX]: Add prototype.
9124
d276b0cf
GM
9125 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9126 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9127
9128 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9129 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9130
38404229
GM
91312000-09-01 Gerd Moellmann <gerd@gnu.org>
9132
9133 * lread.c (read1): Accept `?' as symbol constituent, for
9134 compatiblity with XEmacs.
9135
c0f9ea08
SM
91362000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9137
9138 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9139 (struct re_pattern_buffer): Remove newline_anchor.
9140 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9141 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9142 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9143 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9144 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9145 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9146 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9147 Get rid of references to newline_anchor.
9148 (regcomp): Allocate and precompute a fastmap.
9149
8c0f83fe
GM
91502000-08-31 Gerd Moellmann <gerd@gnu.org>
9151
9152 * lread.c (openp): GCPRO local variable `filename'.
9153
4bb91c68
SM
91542000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9155
9156 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9157
9158 * regex.c: Merge some changes from GNU libc. Add prototypes.
9159 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9160 Use memcmp and memcpy instead of bcopy and bcmp.
9161 (init_syntax_once): Use ISALNUM.
9162 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9163 (REG_UNSET_VALUE): Remove. Use NULL instead.
9164 (REG_UNSET, re_match_2_internal): Use NULL.
9165 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9166 New macros.
9167 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9168 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9169 (regex_compile): In handle_interval, return an error rather than try to
9170 unfetch the interval if we can't find the closing brace.
9171 Obey the RE_NO_GNU_OPS syntax bit.
9172 (TOLOWER): New macro.
9173 (regcomp): Use it.
9174 (regexec): Allocate regs.start and regs.end as one block.
9175
5226a931
GM
91762000-08-30 Gerd Moellmann <gerd@gnu.org>
9177
868dd24b
GM
9178 * xdisp.c (echo_area_display): Check display_completed instead
9179 of calling detect_input_pending.
9180
9181 * dispnew.c (update_frame): Only set display_completed here; move
9182 the update_begin and update_end calls here from update_frame_1.
9183 (update_frame_1): Don't set display_completed here, don't call
9184 update_begin/update_end.
9185
5226a931
GM
9186 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9187 instead of store_frame_param.
9188
2a8bd25f
GM
91892000-08-29 Gerd Moellmann <gerd@gnu.org>
9190
9191 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9192 desired window matrix hasn't been displayed, use the current row
9193 instead. Make sure that only those frame rows are updated for
9194 which there exists a corresponding enabled desired row.
52283633 9195
ba3478d9
MB
91962000-08-29 Miles Bader <miles@gnu.org>
9197
9198 * xfaces.c (default_face_vector): New function.
9199 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9200
87d0f685
GM
92012000-08-29 Gerd Moellmann <gerd@gnu.org>
9202
9203 * lread.c (openp): Prevent temporary string passed to
9204 Ffile_readable_p from being garbage collected.
9205
6fa86045
DL
92062000-08-28 Dave Love <fx@gnu.org>
9207
9208 * keymap.c (store_in_keymap): Add `static' to declaration.
9209
bb17930d
GM
92102000-08-28 Gerd Moellmann <gerd@gnu.org>
9211
9212 * emacs.c, callint.c, doc.c, editfns.c
9213 (toplevel) [HAVE_STRING_H]: Include string.h.
9214 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9215 (index): Remove prototypes which might conflict with non-standard
9216 definitions of index/strchr.
9217
9218 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9219 (rindex): Define only if !HAVE_RINDEX.
9220
9221 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9222
9223 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9224
87188200
MB
92252000-08-28 Miles Bader <miles@gnu.org>
9226
9227 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9228 made inconsistent by a font-related attribute in FROM.
9229 (merge_face_inheritance): Add function comment.
9230
41a68aef
KH
92312000-08-28 Kenichi Handa <handa@etl.go.jp>
9232
9233 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9234 the 4th arg (PREV_EVENT) Qt to suppress input method.
9235
f7c436c1
SM
92362000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9237
0b32bf0e
SM
9238 * regex.c: Indent cpp directives and remove parens after `defined'.
9239 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9240 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9241 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9242 (re_compile_pattern): Use size_t for length.
9243 (init_syntax_once): Move to a better place.
9244 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9245 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9246
f7c436c1
SM
9247 * syntax.c (back_comment): Detect cases where a comment-starter is
9248 actually inside another comment as in: /* a // b */ c // d \n.
9249 Make it clear that `comstart_pos' is unused for nested comments.
9250
9251 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9252 (KEYMAPP): New macro.
9253 (Fkeymap_parent, Fset_keymap_parent): Use it.
9254 (fix_submap_inheritance): Mark it static.
9255 (define_as_prefix, describe_buffer_bindings, describe_command)
9256 (describe_translation, describe_map): Complete prototypes.
9257
9258 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9259
9260 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9261 to better match the key-lookup behavior.
9262
6288c62f
GM
92632000-08-27 Gerd Moellmann <gerd@gnu.org>
9264
9265 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9266 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9267
e931344e
EZ
92682000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9269
9270 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9271 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9272 (xterm.o): Depend on coding.h
9273
d10dfeef
KH
92742000-08-26 Kenichi Handa <handa@etl.go.jp>
9275
9276 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9277 the corresponding '#endif'.
9278
2d73e8d3
MB
92792000-08-26 Miles Bader <miles@gnu.org>
9280
9281 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9282 * xfaces.c (QCinherit): New variable.
9283 (syms_of_xfaces): Initialize it.
9284 (LFACE_INHERIT): New macro.
9285 (Finternal_get_lisp_face_attribute)
52283633 9286 (merge_face_vector_with_property)
2d73e8d3
MB
9287 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9288 (check_lface_attrs): Allow new types of face height. Check
9289 inherit attribute.
9290 (CYCLE_CHECK): New macro.
9291 (merge_face_inheritance): New function.
9292 (merge_face_vectors): Merge inherited faces too. Add F and
9293 CYCLE_CHECK arguments.
9294 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9295 (lookup_named_face, lookup_derived_face, realize_named_face)
9296 (face_at_string_position, face_at_buffer_position): Supply
9297 new F and CYCLE_CHECK arguments to merge_face_vectors.
9298 (merge_face_heights): New function.
52283633 9299 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9300 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9301 handle relative face heights.
9302 (lface_same_font_attributes_p): Compare heights using EQ.
9303
6ce974d4
KH
93042000-08-26 Kenichi Handa <handa@etl.go.jp>
9305
9306 * charset.c (char_to_string): Check the character validity.
52283633 9307 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9308
dc1e502d
SM
93092000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9310
9311 * regex.c (PUSH_FAILURE_COUNT): New macro.
9312 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9313 Handle popping of a register's or a counter's data.
9314 (POP_FAILURE_POINT): Use the new name.
9315 (re_match_2_internal): Push counter data on the stack for succeed_n,
9316 jump_n and set_number_at and remove misleading dead code in succeed_n.
9317
bd9d0f3f
GM
93182000-08-25 Gerd Moellmann <gerd@gnu.org>
9319
9320 * xdisp.c (redisplay_internal): If considering all windows on all
9321 frames, update the display for each frame as soon as possible,
9322 instead of first building all desired matrices for all frames, and
9323 then updating them all.
9324 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9325
aa5b8e15
GM
93262000-08-24 Gerd Moellmann <gerd@gnu.org>
9327
17494071
GM
9328 * bytecode.c (mark_byte_stack): Add a comment.
9329
52283633
SM
9330 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9331 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9332 a graphical frame.
9333
c543db81
KH
93342000-08-24 Kenichi Handa <handa@etl.go.jp>
9335
d246d5f5
KH
9336 * minibuf.c (do_completion): Always use compare-string, not
9337 string-equal because the latter doesn't pay attention to
9338 multibyteness of strings.
9339
c543db81
KH
9340 * process.c (create_process): Don't setup raw-text coding here.
9341 (Fopen_network_stream): Don't set coding->src_multibyte and
9342 coding->dst_multibyte here.
9343 (read_process_output): For process filter, return unibyte string
9344 if default-enable-multibyte-characters is nil.
9345 (send_process): If OBJECT is multibyte text, be sure to encoded it
9346 by the specified coding system for the process. Otherwise, setup
9347 raw-text coding.
52283633 9348 (init_process): Don't initialize default-process-coding-system here.
c543db81 9349
9b47cfe0
EZ
93502000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9351
9352 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9353 <scroll-down-aggressively>: Likewise.
9354
f5a36960
KH
93552000-08-23 Kenichi Handa <handa@etl.go.jp>
9356
9357 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9358 zero. Set coding->produced_char correctly.
9359
69a7ffa7
AI
93602000-08-22 Andrew Innes <andrewi@gnu.org>
9361
9362 * makefile.w32-in: New file.
9363
9364 * unexw32.c (unexec): Ignore old_name, and use the actual location
9365 of the current executable instead. Base new_name on this.
9366
9367 * w32proc.c (create_child): Remove reference to security
9368 descriptor, which isn't needed and doesn't compile with mingw32.
9369
9370 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9371 up dllimport attributes.
9372 (x_update_window_end): Update prototype.
9373
9374 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9375 extern, which screws up dllimport attributes.
9376
9377 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9378 up dllimport attributes.
9379
9380 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9381 screws up dllimport attributes.
9382
9383 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9384 up dllimport attributes.
9385 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9386 screws up dllimport attributes.
9387
9388 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9389 up dllimport attributes.
9390
9391 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9392 screws up dllimport attributes.
9393
9394 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9395 screws up dllimport attributes.
9396
9397 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9398 up dllimport attributes.
9399
9400 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9401 unnecessary extern, which screws up dllimport attributes.
9402 (main): Ditto.
9403
9404 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9405 up dllimport attributes.
9406
9407 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9408 unnecessary extern, which screws up dllimport attributes.
9409
9410 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9411 screws up dllimport attributes.
9412
9413 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9414 up dllimport attributes.
9415
9416 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9417
52283633
SM
9418 * w32bdf.c (search_file_line):
9419 (set_bdf_font_info):
9420 (seek_char):
9421 (w32_get_bdf_glyph):
69a7ffa7
AI
9422 (w32_BDF_to_x_font): Fix compile warnings.
9423
52283633 9424 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9425
9426 * w32select.c: Include keyboard.h before frame.h.
9427
9428 * w32fns.c (max): Define macro.
9429 (JOHAB_CHARSET): Define if not known.
9430 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9431 (Fx_show_tip): Synch with X version.
9432
9433 * w32xfns.c: Include keyboard.h before frame.h.
9434
9435 * w32fns.c: Include keyboard.h before frame.h.
9436
9437 * w32term.c: Include keyboard.h before frame.h.
9438
9439 * fontset.c: Include keyboard.h before frame.h.
9440
9441 * w32inevt.c: Include keyboard.h before frame.h.
9442 (MOUSE_MOVED): Define if not known.
9443
9444 * minibuf.c: Include keyboard.h before frame.h.
9445
9446 * keyboard.c: Include keyboard.h before frame.h.
9447
9448 * indent.c: Include keyboard.h before frame.h.
9449
9450 * dispnew.c: Include keyboard.h before frame.h.
9451
9452 * buffer.c: Include keyboard.h before frame.h.
9453
9454 * alloc.c: Include keyboard.h before frame.h.
9455
9456 * print.c: Include keyboard.h before frame.h.
9457
9458 * process.c: Include keyboard.h before frame.h.
9459
9460 * scroll.c: Include keyboard.h before frame.h.
9461
9462 * sysdep.c: Include keyboard.h before frame.h.
9463
9464 * term.c: Include keyboard.h before frame.h.
9465
9466 * window.c: Include keyboard.h before frame.h.
9467
9468 * xdisp.c: Include keyboard.h before frame.h.
9469 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9470
9471 * frame.c: Include keyboard.h before frame.h.
9472
9473 * w32heap.h: Undefine min, max.
9474
9475 * w32gui.h: Undefine min, max.
9476
9477 * unexw32.c: Change PUCHAR to PCHAR.
9478 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9479 (relocate_offset):
9480 (get_section_info):
69a7ffa7
AI
9481 (copy_executable_and_dump_data): Remove unnecessary static defs.
9482 (copy_executable_and_dump_data): Fix compile warnings.
9483
9484 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9485
9486 * w32console.c (min): Define macro.
9487 (clear_frame, write_glyphs): Fix compile warning.
9488
52283633 9489 * w32proc.c (compare_env):
69a7ffa7
AI
9490 (find_child_console): Fix compile warning.
9491
9492 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9493 sys_errlist instead of _sys_errlist.
9494 (get_emacs_configuration_options): New function.
9495
9496 * s/ms-w32.h (sys_nerr): Provide default definition.
9497 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9498 name with _ prepended.
9499 (NSIG): Define if not known.
9500 (get_emacs_configuration): Provide extern declaration.
9501 (get_emacs_configuration_options): Provide extern declaration.
9502 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9503
9504 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9505 (map_w32_filename):
69a7ffa7
AI
9506 (read_unc_volume): Fix compile warning.
9507
9508 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9509 definitions from being used.
9510
9511 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9512
52283633 9513 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9514 (open_unc_volume): Make arg const.
9515
9516 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9517 (read_input_waiting): Remove excess parameter.
9518
9519 * w32.c (init_environment): Call _access.
9520 (check_windows_init_file): Call _close.
9521 (init_user_info): Call _putenv.
9522 (init_environment): Call _putenv and _strdup.
9523 (init_ntproc): Reset volume info cache on startup.
9524
9525 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9526 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9527 cannot override the CRT malloc.
9528
9529 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9530 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9531
9532 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9533 unless we are linking with a static CRT.
9534 (RVA_TO_PTR): Cast result to unsigned char*.
9535
9536 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9537 (add_volume_info): Use xstrdup.
9538
25060080
SM
95392000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9540
9541 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9542 (do_completion, Fminibuffer_complete_word): Use it.
9543 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9544 var so it can take non-boolean values.
9545
6917e6bb
GM
95462000-08-21 Gerd Moellmann <gerd@gnu.org>
9547
acb7cc89 9548 * editfns.c (find_field): Formatting changes.
52283633 9549 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9550 changed to prototypes, some new protypes added, some functions
9551 made static.
9552
9553 * lisp.h (set_time_zone_rule): Add prototype.
9554 (use_dialog_box): External declaration.
9555
0bbfdc25
GM
9556 * keyboard.c (gen_help_event): Add parameter SIZE.
9557 (kbd_buffer_events_waiting): Slightly rewritten.
9558 (clear_event): New function.
9559 (kbd_buffer_get_event): Use it, and clear the input_events of
9560 HELP_EVENTs.
9561 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9562 don't fill the newly created array with nils.
9563 (toplevel): Convert some old-style function forward declarations
9564 to prototypes.
9565
9566 * keyboard.h (gen_help_event): Change prototype.
9567
9568 * xterm.c (XTread_socket): Change calls to gen_help_event.
9569
9570 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9571
6917e6bb
GM
9572 * eval.c (Fmacroexpand): Doc fix.
9573
e5cd3d11
JR
95742000-08-20 Jason Rumney <jasonr@gnu.org>
9575
9576 * w32term.h (x_display_info_for_display): Remove as this function
9577 does not exist on W32.
9578
9579 * w32term.c (help_echo_window): New variable.
9580 (syms_of_w32term): staticpro it.
9581 (note_mode_line_highlight): Set it.
9582 (XTextExtents16): Removed as there is no equivalent on W32.
9583 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9584 the X way of doing this will not work for W32.
9585 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9586 (x_draw_image_foreground): Avoid drawing outside of the clip area
9587 when image doesn't have a mask.
9588 (note_mouse_highlight): Process overlays in the right order of
9589 priority. Set help_echo_window.
9590 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9591 because that's more visible for large images.
9592
9593 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9594 name to single_keymap_panes.
9595 (w32_menu_show): Set wv->title when dealing with titles.
9596 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9597
6e69ab8c
MB
95982000-08-21 Miles Bader <miles@gnu.org>
9599
9600 * minibuf.c (do_completion): Try again if we rewrite the input
9601 string, but no completion was done, so that any completion message
9602 will be correct.
9603
511bd4eb
GM
96042000-08-20 Gerd Moellmann <gerd@gnu.org>
9605
9606 * xfaces.c (lface_equal_p): Compare strings differently.
9607 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9608 (realize_tty_face): Use them.
9609 (syms_of_xfaces): Initialize new variables.
9610 (map_tty_color): New function, extracted from realize_tty_face.
9611 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9612 foreground or background color, store the new color name in the
9613 realized face; previous code trying to do this had no effect.
9614 (realize_tty_face): Use map_tty_color.
9615 (Fclear_face_cache): Set face_change_count and ensure thorough
9616 redisplay.
9617
1433385f
GM
96182000-08-19 Gerd Moellmann <gerd@gnu.org>
9619
511bd4eb
GM
9620 * undo.c (record_first_change, record_marker_adjustment): Don't
9621 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9622
419ac0a2
KH
96232000-08-18 Kenichi Handa <handa@etl.go.jp>
9624
9625 * coding.c (decode_coding_string): Set members consumed,
9626 consumed_char, produced, produced_char of *coding correctly. If
9627 decode_coding doesn't consume any byte, don't try anymore.
9628 (encode_coding_string): Likewise.
9629
7eb9e30d
GM
96302000-08-18 Gerd Moellmann <gerd@gnu.org>
9631
511bd4eb
GM
9632 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9633 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9634
9635 * xdisp.c (redisplay_internal): Compare windows for equality with
9636 EQ, instead of applying XWINDOW to something that might not
9637 be a window.
52283633 9638
dd34a735
KH
96392000-08-18 Kenichi Handa <handa@etl.go.jp>
9640
9641 * fontset.c (Finternal_char_font): Search only the selected frame
9642 for a window of the current buffer.
9643
385ff9e3
GM
96442000-08-18 Gerd Moellmann <gerd@gnu.org>
9645
511bd4eb 9646 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9647 Lisp_Objects.
9648
385ff9e3
GM
9649 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9650 second half of a HELP_EVENT is found at the start of kbd_buffer.
9651
d6abb4c7
MB
96522000-08-18 Miles Bader <miles@gnu.org>
9653
4618074a
MB
9654 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9655
d6abb4c7
MB
9656 * editfns.c (save_restriction_save): Rewrite to use markers.
9657 (save_restriction_restore): Rewrite to understand new form of data
9658 saved by save_restriction_save.
9659 (Fsave_restriction): Remove cautionary note in doc-string.
9660
a7b28523
GM
96612000-08-17 Gerd Moellmann <gerd@gnu.org>
9662
9663 * fileio.c (build_annotations): Add a comment explaining the
9664 return value of format-annotate-function. Replace a spurious call
9665 to Flength with a CONSP test. Call format-annotate-function with
9666 a fifth arg specifying how many times the function is been called
9667 in a row, to let it choose temporary buffers appropriately.
9668
03c9ed77
DL
96692000-08-17 Dave Love <fx@gnu.org>
9670
9671 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9672 declare make_temp_name twice.
9673
52283633 9674 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9675 (unreadpure): Give it an arg.
9676
9677 * unexalpha.c: Prototype fatal_unexec, mark_x,
9678 update_dynamic_symbols. Declare unexec as void.
9679
9680 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9681 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9682
9683 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9684 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9685
9686 * alloca.c: Use #error.
9687 [POINTER_TYPE]: Use it.
9688
9689 * eval.c (Fdefvar): Doc fix.
9690
9691 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9692 INITIALIZE_INTERVAL.
9693
9694 * buffer.h: Avoid DECLARE_INTERVALS.
9695
9696 * config.in: Add size_t.
9697
aae41d97
EZ
96982000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9699
9700 * w16select.c (set_clipboard_data): If there's not enough memory
9701 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9702 expects. In case of other failures, return 3.
9703 (system_error_msg): New error message.
9704 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9705 system_error_msg.
9706
65aa5e85
GM
97072000-08-16 Gerd Moellmann <gerd@gnu.org>
9708
9709 * term.c (write_glyphs): Also turn off inverse video after turning
9710 off other appearances in case TS_exit_attribute_mode is not equal
9711 to TS_end_standout_mode.
9712 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9713 with the same face.
9714 (turn_off_face): Reset standout_mode only if
9715 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9716 is equal to TS_end_standout_mode.
9717
ece23901
KH
97182000-08-16 Kenichi Handa <handa@etl.go.jp>
9719
9d7bcb2e
KH
9720 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9721 sequence at the end of the source block.
9722
ece23901
KH
9723 * ccl.c (Fccl_program_p): Docstring modified.
9724 (Fccl_execute): Likewise.
9725 (Fccl_execute_on_string): Likewise.
9726
5e30eaa2
EZ
97272000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9728
9729 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9730
290602fd
KH
97312000-08-16 Kenichi Handa <handa@etl.go.jp>
9732
9733 The following changes are mainly to fix bugs of
9734 encode/decode-coding-string failing if encoding/decoding return
9735 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9736 variable conversion_buffer.
9737
9738 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9739 decrement dst_end to avoid buffer overflow in the later call of
9740 string_as_multibyte
9741
9742 * coding.h (conversion_buffer_size, conversion_buffer)
9743 (get_conversion_buffer): Extern deleted.
9744
9745 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9746 (conversion_buffer, conversion_buffer_size): Variables deleted.
9747 (get_conversion_buffer): Function deleted.
9748 (struct conversion_buffer): New structure.
9749 (MAX_ALLOCA): New macro.
9750 (allocate_conversion_buffer): New macro.
9751 (extend_conversion_buffer, free_conversion_buffer): New functions.
9752 (ccl_coding_driver): Set coding->result.
9753 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9754 this is the last block of source.
9755 (encode_coding): Likewise. Handle the source block as the last
9756 one only when the whole source text is consumed.
9757 (decode_coding_string): Handle the case that the output buffer is
9758 too small to decode the whole source text. Use
9759 allocate_conversion_buffer, extend_conversion_buffer and
9760 free_conversion_buffer, not get_conversion_buffer.
9761 (encode_coding_string): Likewise.
9762 (init_coding): Function deleted.
52283633 9763 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9764
9765 * emacs.c (main): Don't call init_coding.
9766
52283633 9767 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9768
9769 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9770 (insert_glyphs): Likewise.
9771
9772 * w32console.c (write_glyphs): Use a locally declared
9773 conversion_buffer.
9774
b9f80d41
EZ
97752000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9776
9777 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9778 member of display_info is NULL.
9779
32dc52f7
GM
97802000-08-15 Gerd Moellmann <gerd@gnu.org>
9781
52283633 9782 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9783
32dc52f7 9784 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9785 appearances with capability `me'.
32dc52f7
GM
9786 (write_glyphs): Switch on inverse video before each face change.
9787
4eb22d33
DL
97882000-08-14 Dave Love <fx@gnu.org>
9789
9790 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9791 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9792 (lisp_free): Declare and make static.
9793
9794 * window.c: Fix embedded comment.
9795 (syms_of_window): Fix doc string.
9796
90cbf47e
GM
97972000-08-14 Gerd Moellmann <gerd@gnu.org>
9798
52283633 9799 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9800 make sure to print `C-' before `M-', like in the manual.
9801
440fc135
GM
98022000-08-11 Gerd Moellmann <gerd@gnu.org>
9803
9804 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9805 since they aren't relocated anymore.
52283633 9806 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9807
9808 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9809 partially visible line which is smaller than the window's height.
440fc135 9810
6e264fad
KH
98112000-08-11 Kenichi Handa <handa@etl.go.jp>
9812
9813 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9814 the multibyte form of eight-bit-control characters.
6e264fad
KH
9815 (Fccl_execute_on_string): Initialize ccl->multibyte.
9816
9817 * ccl.h (struct ccl_program): New member multibyte.
9818
9819 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9820
c371f69a
KH
98212000-08-11 Kenichi Handa <handa@etl.go.jp>
9822
9823 * regex.c (regex_compile) <normal_char>: Pay attention to
9824 multibyteness.
9825 (analyse_first) <exactn>: Setup fastmap correctly for
9826 eight-bit-control characters.
9827
98282000-08-11 Kenichi Handa <handa@etl.go.jp>
9829
52283633 9830 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9831
9832 * keyboard.c (make_lispy_event): Handle the new event type
9833 multibyte_char_keystroke.
9834
9835 * xterm.c: Include coding.h.
9836 (XTread_socket): Work around a bug of XmbLookupString. If the
9837 input is from XIM, decode it according to the current locale. In
9838 that case, generate multibyte_char_keystroke events.
9839
b8ddbe71
KH
98402000-08-11 Kenichi Handa <handa@etl.go.jp>
9841
9842 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9843 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9844
47589c8c
GM
98452000-08-10 Gerd Moellmann <gerd@gnu.org>
9846
9847 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9848 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9849 (move_it_in_display_line_to): Record iterator's ascent and descent
9850 before producing glyphs, and restore them when we know the glyph
9851 doesn't fit on the line.
9852 (move_it_to): Restructured so that it's easier to debug. If
9853 moving to a vpos, and not moving to an x or character position,
9854 stop as soon as the specified vpos is reached; don't move further
9855 into that line because that might change the computed line height.
9856 (try_cursor_movement): New function, extracted from the cursor
9857 movement branch of redisplay_window. If ending on a partially
9858 visible line, don't try to scroll if the cursor line is taller
9859 than the window.
9860 (redisplay_window): Use try_cursor_movement.
9861
9862 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9863 because that function doesn't cope with variable-height lines.
9864
9865 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9866 box cursor because that's better visible for large images.
52283633 9867
c51bacd6
MB
98682000-08-10 Miles Bader <miles@gnu.org>
9869
9870 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9871
bea56df7
GM
98722000-08-10 Gerd Moellmann <gerd@gnu.org>
9873
9874 * xdisp.c (Vmessages_buffer_name): New variable.
9875 (message_dolog): Use it.
9876 (syms_of_xdisp): Initialize it.
9877
99cd7364
EZ
98782000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9879
52283633 9880 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9881 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9882 redundant now that keyboard.h is included.
9883
7d093d56
EZ
98842000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9885
9886 * keyboard.c (kbd_buffer_events_waiting): New function.
9887
9888 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9889
9890 * msdos.c: Include keyboard.h.
9891 (XMenuActivate): Empty no_event events from the event buffer. If
9892 no events are left after that, call clear_input_pending.
9893 (mouse_clear_clicks): New function, code moved from mouse_init.
9894 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9895 mouse driver to ``forget'' any past clicks.
9896
9897 * Makefile.in (msdos.o): Depend on keyboard.h.
9898
41e757a6
GM
98992000-08-09 Gerd Moellmann <gerd@gnu.org>
9900
8e7bd231
GM
9901 * lisp.h (input_pending): External declaration.
9902
9903 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9904
8e7bd231
GM
9905 * xdisp.c (echo_area_display): Display thoroughly if input is
9906 pending. Bind redisplay-dont-pause to t during the redisplay.
9907 in case input is pending.
9908
9909 * dispnew.c (Qredisplay_dont_pause): New variable.
9910 (syms_of_display): Initialize and staticpro it.
9911 (update_frame_1): Don't interrupt the display for pending input if
9912 redisplay_dont_pause is set.
52283633 9913
43028b7e
GM
9914 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9915
41e757a6
GM
9916 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9917
2f2174fa
KH
99182000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9919
9920 * callproc.c (Fcall_process): Terminate the unwind-protect around
9921 the post-read-conversion of coding system.
9922
0a6fd67e
MB
9923 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9924 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9925 * buffer.h (overlays_at): Update prototype.
9926 * xdisp.c (next_overlay_change): Update call to overlays_at.
9927 * xfaces.c (face_at_buffer_position): Likewise.
9928 * textprop.c (Fget_char_property): Likewise.
9929 * xterm.c (note_mouse_highlight): Likewise.
9930
0c80756e
MB
9931 * minibuf.c (do_completion): Don't consider a simple change of
9932 case as `completion'.
9933
975f250a
KR
99342000-08-08 Ken Raeburn <raeburn@gnu.org>
9935
52283633 9936 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9937 * undo.c (record_delete): Make sure last_point_position_buffer is
9938 a buffer before comparing pointers.
9939
9940 * coding.h (decode_coding_string): Declare.
9941
9942 * intervals.h (Fprevious_single_char_property_change): Declare.
9943
9944 * textprop.c (Fprevious_single_char_property_change): Don't do
9945 arithmetic directly on lisp objects.
9946
52283633 9947 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9948
9949 * keyboard.h (menu_item_eval_property): Declare.
9950
9951 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9952 reuse as buffer name, instead of recreating (and discarding) every
9953 time a message is logged.
9954 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9955 (current_message_1, truncate_message_1, set_message_1)
9956 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9957 (current_message, truncate_echo_area, display_echo_area)
9958 (resize_echo_area_axactly): Changed calls.
b347b3fd 9959
975f250a 9960 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9961 Lisp object.
975f250a 9962 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9963 must be an integer, not a Lisp object.
975f250a 9964
46dc9912
KH
99652000-08-08 Kenichi Handa <handa@etl.go.jp>
9966
9967 * charset.c (Fchar_width): Doc fix.
9968
9f6d1a6c
GM
99692000-08-08 Gerd Moellmann <gerd@gnu.org>
9970
9971 * charset.c (Fstring_width): Doc fix.
9972
ff3d9573
GM
99732000-08-07 Gerd Moellmann <gerd@gnu.org>
9974
41e757a6 9975 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9976 line, clear ascent and descent members of the iterator structure;
9977 the height of the continued line does not affect the height of the
9978 continuation line.
9979 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9980 line taller than the window.
9981 (redisplay_window) <forced window start>: Handle case that the
9982 middle of the window is not found in any row.
9983 (dump_glyph_row): Show more information.
9984 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9985 first text line in a glyph matrix.
9986
9987 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9988 of the clip area when image doesn't have a mask.
9989
70fc58b3
GM
9990 * fns.c (sweep_weak_table): Fix survival conditions for
9991 key-or-value and key-and-value weakness.
9992
9993 * .gdbinit (xhashtable): New command.
9994
ac0e96ee
GM
9995 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9996 tables out of the list of all weak hash tables.
9997
ff3d9573
GM
9998 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9999 a new buffer is created, make sure echo_area_buffer[] references
10000 the new buffer.
10001
e0d8827b
EZ
100022000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10003
10004 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10005 the doc string.
10006
c6f35378
KH
100072000-08-07 Kenichi Handa <handa@etl.go.jp>
10008
10009 * syntax.c (skip_chars): Fix previous change. Make the handling
10010 of unibyte string consistent with that of regex search.
10011
1fd4c450
GM
100122000-08-05 Gerd Moellmann <gerd@gnu.org>
10013
e49aa397
GM
10014 * xmenu.c (popup_get_selection): Use xfree instead of free.
10015
10016 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10017
10018 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10019
10020 * callproc.c (child_setup): Use xfree instead of free.
10021
10022 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10023 instead of malloc.
10024 (run_mac_command, closedir): Use `xfree' instead of `free'.
10025
10026 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10027
10028 * eval.c (error): Use xfree instead of free.
10029
1fd4c450
GM
10030 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10031
10032 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10033 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10034
82d497fc
KH
100352000-08-05 Kenichi Handa <handa@etl.go.jp>
10036
10037 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10038 conversion.
10039
59f953a2
NF
100402000-08-04 Noah Friedman <friedman@splode.com>
10041
10042 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10043 docstring.
10044
688351f2
GM
100452000-08-04 Gerd Moellmann <gerd@gnu.org>
10046
10047 * syntax.c (skip_chars): Fix typo in error message.
10048
2dad51cc
AS
100492000-08-04 Andreas Schwab <schwab@suse.de>
10050
10051 * m/ia64.h: Moved from s/ia64.h.
10052
99bb2c60
KH
100532000-08-04 Kenichi Handa <handa@etl.go.jp>
10054
082a1df2
KH
10055 * process.c (read_process_output): Big simplification. Handle
10056 composition and post-read-conversion of coding system correctly.
10057 (send_process): Handle composition correctly.
10058
10059 * callproc.c (Fcall_process): Handle post-read-conversion of
10060 coding system if any.
10061
99bb2c60
KH
10062 * coding.c (decode_coding_iso2022): More strict check for handling
10063 single shifting.
082a1df2
KH
10064 (coding_restore_composition): Pay attention to the case that
10065 cmp_data is not set properly (because of invalid code in the
10066 source text).
10067 (run_pre_post_conversion_on_str): Include text properties in the
10068 resulting string.
10069 (decode_coding_string): Set members of coding correctly.
99bb2c60 10070
f4988be7
GM
100712000-08-03 Gerd Moellmann <gerd@gnu.org>
10072
10073 * s/ia64.h: New file.
10074
10075 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10076 Use NULL instead of 0 at the end of variable argument list of
10077 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10078 sizeof (int) < sizeof (void *).
10079
10080 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10081 of variable argument lists of XtVaGetValues and XtVaSetValues.
10082
10083 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10084 variable argument lists of XtVaGetValues and XtVaSetValues.
10085
ead53494
GM
100862000-08-02 Gerd Moellmann <gerd@gnu.org>
10087
10088 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10089 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10090
10091 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10092 prototype.
10093
10094 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10095 in call to Fsingle_key_description.
10096
10097 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10098 Callers changed.
10099
101002000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10101
10102 * window.c (display_buffer_reuse_frames): New variable.
10103 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10104 frames displaying BUFFER.
52283633 10105 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10106
10b0f752
MB
101072000-08-01 Miles Bader <miles@gnu.org>
10108
10109 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10110 when to constrain NEW_POS (they were pretty screwed up before).
10111
16425c4a
EZ
101122000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10113
10114 * msdos.c (run_msdos_command): Save and restore the master
10115 environment, for the case that child_setup signals an error.
10116 When mirroring slashes in DOS shell commands, don't fail when
10117 argv[2] has embedded blanks.
da288c14
EZ
10118 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10119 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10120 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10121
10122 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10123 using alloca; free it after run_msdos_command returns.
10124
27f73852
DL
101252000-07-27 Dave Love <fx@gnu.org>
10126
52283633
SM
10127 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10128 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10129
10130 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10131
c0261b5e
EZ
101322000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10133
10134 * editfns.c (lisp_time_argument): Fix last change.
10135
b548072f
GM
101362000-07-27 Gerd Moellmann <gerd@gnu.org>
10137
3ab82477
GM
10138 * fns.c (Fdelete): Make it work on vectors and strings in addition
10139 to lists.
10140
b548072f
GM
10141 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10142 (syms_of_fns): Initialize new variables.
52283633 10143 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10144 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10145 weakness, with t meaning the same as `key-and-value'.
10146
91ae8751
KH
101472000-07-27 Kenichi Handa <handa@etl.go.jp>
10148
10149 * coding.h (struct coding_system): Member safe_charset deleted.
10150
10151 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10152 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10153 New variables.
91ae8751
KH
10154 (coding_safe_chars): New function.
10155 (CODING_SAFE_CHAR_P): New macro.
10156 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10157 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10158 (detect_coding_iso2022): New local variable safe_chars.
10159 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10160 safe_charsets member of the coding system.
10161 (decode_coding_iso2022): New local variable safe_chars.
10162 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10163 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10164 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10165 (ENCODE_UNSAFE_CHARACTER): New macro.
10166 (encode_coding_iso2022): New local variable safe_chars. Check
10167 unsafe chars.
10168 (setup_coding_system): Delete the code to initialize
10169 coding->safe_charses
10170 (intersection, find_safe_codings): New functions.
10171 (Ffind_coding_systems_region_internal): New function.
10172 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10173 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10174 variable and initialize it.
10175
10176 * fns.c (char_table_ref_and_index): New function.
10177
10178 * lisp.h (char_table_ref_and_index): Add prototype.
10179
34a7a267
SS
101802000-07-26 Sam Steingold <sds@gnu.org>
10181
10182 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10183 (Ffloat_time): New built-in Lisp function.
34a7a267 10184
a95cb10a
GM
101852000-07-26 Gerd Moellmann <gerd@gnu.org>
10186
3353ef5a
GM
10187 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10188 for the character code.
10189
10190 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10191 GNU/Linux.
10192
a95cb10a
GM
10193 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10194 if called for a popup menu.
10195 (xmenu_show): Store help string in widget values.
10196
b4a12321
DL
101972000-07-26 Dave Love <fx@gnu.org>
10198
10199 * syswait.h: Move some definitions.
10200 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10201 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10202 perspicuous definitions.
10203 (WTERMSIG): Fix bit pattern used.
10204
13f5ad37
KH
102052000-07-26 Kenichi Handa <handa@etl.go.jp>
10206
10207 * print.c (print_object): If vector printing is truncated, print
10208 "..." to indicate it as well as the case of list printing.
10209
070fe99c
GM
102102000-07-25 Gerd Moellmann <gerd@gnu.org>
10211
969065c3
GM
10212 * xdisp.c (next_element_from_display_vector): Improve comments.
10213
10214 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10215 for the character code, and the rest for the face id as in 20.x.
10216 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10217
10218 * window.c (window_display_table): Cleaned up.
10219
070fe99c
GM
10220 * syntax.c (Fforward_word): Add last arg nil in call of
10221 Fconstrain_to_field.
10222
bad77ef7
EZ
102232000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10224
969065c3 10225 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10226 identical but for the letter-case, don't call
10227 barf_or_query_if_file_exists.
bad77ef7 10228
c28da489
MB
102292000-07-25 Miles Bader <miles@gnu.org>
10230
10231 * editfns.c (find_field): Honor special `boundary' fields.
10232 (Qboundary): New variables.
10233 (syms_of_editfns): Initialize Qboundary.
10234 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10235 Use scan_buffer instead of find_before_next_newline, because it
10236 allows us to detect the boundary case where there's a newline at
10237 the search limit.
10238 * lisp.h (Fconstrain_to_field): Update external declaration.
10239
e3c31fd5
GM
102402000-07-24 Gerd Moellmann <gerd@gnu.org>
10241
10242 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10243 if that is nil.
c28da489 10244
c66c29a2
DL
102452000-07-24 Dave Love <fx@gnu.org>
10246
10247 * s/sunos4-0.h, s/sol2.h:
10248 (LIBS_TERMCAP): Move from m/sparc.h.
10249
10250 * m/sparc.h (TERMINFO): Moved to system files (probably only
10251 relevant for sunos4 judging by its vintage).
10252 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10253 __arch64__.
10254
fbe0a958
EZ
102552000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10256
10257 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10258 name to single_keymap_panes.
10259
7d88e5c9
AS
102602000-07-24 Andreas Schwab <schwab@suse.de>
10261
10262 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10263
e024b101
GM
102642000-07-24 Gerd Moellmann <gerd@gnu.org>
10265
10266 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10267 parameters instead of using int parameters. Expect FN to accept
10268 EMACS_INT parameters.
10269 (display_echo_area, resize_echo_area_axactly, current_message)
10270 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10271 with new argument list.
10272 (resize_mini_window_1): New callback function.
10273 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10274 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10275
25c1a9ce
KH
102762000-07-24 Kenichi Handa <handa@etl.go.jp>
10277
10278 * fontset.c (fontset_ref): Remove INLINE declaration.
10279 (fontset_ref_via_base): Likewise.
10280 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10281 to downcase.
10282
7f987ac0
EZ
102832000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10284
10285 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10286 correct order of priority. If help echo was found in an overlay,
10287 use that overlay as the object in which the help echo was found.
10288
e2db3069
MB
102892000-07-22 Miles Bader <miles@gnu.org>
10290
10291 * textprop.c (Fprevious_single_char_property_change): The initial
10292 property value should be from the position preceding POSITION, not
10293 following it.
10294
5e3203e4
EZ
102952000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10296
10297 * coding.c (syms_of_coding): Doc fix for
10298 inhibit-iso-escape-detection.
10299
62145073
GM
103002000-07-21 Gerd Moellmann <gerd@gnu.org>
10301
c20aeb83
GM
10302 * xterm.c (note_mouse_highlight): Process overlays in the right
10303 order of priority.
34a7a267 10304
743934db
GM
10305 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10306
10307 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10308 overlay, use that overlay as the object in which the help was found.
743934db 10309
d1dc7e43 10310 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10311
62145073
GM
10312 * window.c (foreach_window): Instead of a fake variable argument
10313 list, take one USER_DATA argument.
10314 (foreach_window_1): Likewise, and call callback functions with two
10315 args, the window and USER_DATA.
10316 (struct check_window_data): New struct.
10317 (check_window_containing): Use it.
10318 (window_from_coordinates): Set up a struct check_window_data for
10319 foreach_window.
10320 (add_window_to_list, freeze_window_start): Change parameters
10321 according to new calling convention.
10322
10323 * window.h (foreach_window): Change prototype.
10324
10325 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10326
103272000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10328
10329 * xmenu.c (menu_help_callback): Call show_help_echo with
10330 additional arguments OBJECT and POS.
10331
11270583
KH
103322000-07-21 Kenichi Handa <handa@etl.go.jp>
10333
07b14857
KH
10334 * data.c (Faset): Allow storing any multibyte character in a
10335 string. Convert unibyte string to multibyte if necessary.
10336
11270583
KH
10337 * xfns.c (x_encode_text): New function.
10338 (x_set_name): Use x_encode_text.
10339 (x_set_title): Likewise.
10340
10341 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10342
10343 * xterm.h (x_encode_text): Add prototype.
10344
bc75b4fd
DL
103452000-07-20 Dave Love <fx@gnu.org>
10346
10347 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10348 xfree, not free.
10349
48c14970
EZ
103502000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10351
10352 * msdos.c (help_echo_window): New variable.
10353 (syms_of_msdos): Initialize and staticpro it.
10354 (IT_note_mode_line_highlight): Set help_echo_window.
10355 (IT_note_mouse_highlight): Ditto.
10356 (dos_rawgetc): Store help_echo_window in the second event produced
10357 for HELP_EVENTs.
10358
10359 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10360 Record the object that generated the help echo and the position of
10361 that object in help_echo_object and help_echo_pos. Record that
10362 some glyphs in a row are displayed in mouse-face.
10363 (IT_update_begin): Don't clear mouse highlight unless one of the
10364 enabled glyph rows is marked as being displayed in mouse-face.
10365 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10366 and position recorded in help_echo_object and help_echo_pos to the
10367 event queue.
10368 (IT_menu_display): Accept a new argument PN: the pane number of
10369 the current menu pane. Record the pane number and the item
10370 number of the item which has associated help string.
10371 (XMenuActivate): Update the prototype for help_callback in
10372 function declaration. Call IT_menu_display with the current menu
10373 pane number as an additional argument. Call help_callback with
10374 two additional arguments: the pane number and the item number of
10375 the menu item associated with the help text.
10376 (help_echo_object, help_echo_pos): New variables.
10377 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10378
10379 * msdos.h (XMenuActivate): Update prototype.
10380
4279296d
GM
103812000-07-19 Gerd Moellmann <gerd@gnu.org>
10382
47db06aa
GM
10383 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10384 Add some more prototypes.
10385
10386 * xterm.c, xterm.h: Add some more prototypes.
10387
10388 * lisp.h (Fnext_single_char_property_change): Add prototype.
10389
10390 * dispnew.c (direct_output_for_insert): Remove confusing
10391 outer local variable mouse_face_overwritten_p.
10392 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10393
4279296d
GM
10394 * alloc.c (allocate_string_data): Don't copy old string contents.
10395
670acd62
KH
103962000-07-19 Kenichi Handa <handa@etl.go.jp>
10397
10398 * coding.c (code_convert_region): Delete text properties before
10399 shrinking the conversion region.
10400
7cea38bc
GM
104012000-07-18 Gerd Moellmann <gerd@gnu.org>
10402
dc1cac59
GM
10403 * dispnew.c (update_text_area): Write the whole row if it
10404 has mouse-face in it.
10405
85a8aca9
GM
10406 * xfaces.c (face-alternative-font-family-alist): Remove
10407 DEFVAR_LISP; staticpro instead.
10408
34a7a267 10409 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10410 new arguments.
10411
10412 * keyboard.c (show_help_echo): Add parameter WINDOW.
10413 (read_char): Call show_help_echo with window extracted from Lisp
10414 help event.
10415 (gen_help_event): Add parameter WINDOW.
10416
10417 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10418
10419 * xterm.c (help_echo_window): New variable.
52283633 10420 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10421 (XTread_socket): Pass help_echo_window to gen_help_event.
10422 (syms_of_xterm): Initialize and staticpro help_echo_window.
10423
f8276b77
DL
104242000-07-18 Dave Love <fx@gnu.org>
10425
52283633 10426 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10427
088831a6
GM
104282000-07-18 Gerd Moellmann <gerd@gnu.org>
10429
3d6cd763
GM
10430 * alloc.c (allocate_string_data): If string had already data
10431 assigned, copy old contents to new string data.
10432
10433 * coding.c (syms_of_coding): Fix typo in spelling of variable
10434 `inhibit-iso-escape-detection'.
10435
088831a6
GM
10436 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10437
10438 * Makefile.in: Add dependencies on dispextern.h.
10439 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10440 `free'; both can conflict with system header files.
10441
bc8a8d55
KH
104422000-07-18 Kenichi Handa <handa@etl.go.jp>
10443
10444 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10445 undefined.
10446
069f5950
DL
104472000-07-18 Dave Love <fx@gnu.org>
10448
10449 * window.c (Fwindow_list): Declare arg `window'.
10450
aa96c820
KH
104512000-07-18 Kenichi Handa <handa@etl.go.jp>
10452
10453 * coding.c (setup_coding_system): Don't override the explicitly
10454 specified designations.
10455
06be8d32
MB
104562000-07-15 Miles Bader <miles@gnu.org>
10457
10458 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10459 from `text_property_eq' and `text_property_stickiness', respectively.
10460 (find_field, Fconstrain_to_field, char_property_eq)
10461 (char_property_stickiness): Changed to call char-property functions
10462 instead of text-property-only ones.
10463
10464 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10465 `next_single_char_property_change'). Do more error checking, and
10466 cleanup limit behavior.
10467 (Fprevious_single_char_property_change): New function.
10468 (syms_of_textprop): Initialize new subrs.
10469
10470 * xdisp.c (display_prop_end, invisible_text_between_p):
10471 Call Fnext_single_char_property_change instead of
10472 next_single_char_property_change.
10473
3fddcdc3
JR
104742000-07-15 Jason Rumney <jasonr@gnu.org>
10475
10476 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10477 after menu is finished with.
10478 (add_menu_item): Only consider wv->title as a menu title.
10479 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10480
10481 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10482 null title.
10483 (FONT_REGEXP): Remove unused macro, and its sub-components.
10484 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10485
10486 * w32term.c (help_echo_object, help_echo_pos): New variables.
10487 (note_mode_line_highlight): Store additional information about the
10488 help-echo in help_echo_object and help_echo_pos. Check both
10489 `local-map' and `keymap' properties for changing the cursor
10490 (note_mouse_highlight): Store additional information about the
10491 help-echo in help_echo_object and help_echo_pos.
10492 (note_tool_bar_highlight): Set help_echo_object to nil and
10493 help_echo_pos to -1.
10494 (w32_read_socket): Use gen_help_event instead of filling
10495 input_events manually.
10496 (syms_of_w32term): Staticpro help_echo_object.
10497 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10498 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10499 (x_clear_mouse_face): New function.
10500 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10501 (x_update_window_begin): No need to turn off the mouse
10502 highlight here.
10503 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10504 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10505 (x_fill_stretch_glyph_string): Consume runs of stretch
10506 glyphs instead of a single one.
10507 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10508 with new argument list.
10509 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10510 (x_append_glyph, x_append_composite_glyph)
10511 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10512 changes in struct glyph starting 1999-12-27. See comments for
10513 xterm.c on 2000-07-05.
10514
178c5d9c
SS
105152000-07-14 Sam Steingold <sds@gnu.org>
10516
10517 * xfaces.c (realize_x_face): Fix the last patch:
10518 check `default_face' before dereferencing.
10519
6fe533f6
DL
105202000-07-14 Dave Love <fx@gnu.org>
10521
069f5950 10522 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10523
dd7b81cf
KH
105242000-07-14 Kenichi Handa <handa@etl.go.jp>
10525
0693904a 10526 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10527 default_face's fontset, not using the default fontset.
0693904a 10528
dd7b81cf
KH
10529 * coding.c (inhibit_iso_escape_detection): New variable.
10530 (syms_of_coding): Make it a Lisp variable.
10531 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10532 nonzero, ignore ISO2022's escape sequence.
10533
d5aa31d8
GM
105342000-07-14 Gerd Moellmann <gerd@gnu.org>
10535
e5acf0ca
GM
10536 * alloca.c (malloc) [emacs]: Define as xmalloc.
10537
bd23a692
GM
10538 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10539 use that instead of the mouse position. Add parameters DX and DY.
10540
10541 * dispextern.h (Fx_show_tip): Adjust number of parameters
10542 in prototype.
10543
9662da0b
GM
10544 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10545 if HELP is a function, call it with OBJECT and POS as parameters
10546 to get the help to display.
10547 (gen_help_event, kbd_buffer_store_help_event): New functions.
10548 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10549 (read_char): Call show_help_echo with new parameters.
10550
178c5d9c 10551 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10552 Add prototypes.
10553
10554 * xterm.c (help_echo_object, help_echo_pos): New variables.
10555 (note_mode_line_highlight): Store additional information about the
10556 help-echo in help_echo_object and help_echo_pos. Check both
10557 `local-map' and `keymap' properties for changing the cursor
10558 (note_mouse_highlight): Store additional information about the
10559 help-echo in help_echo_object and help_echo_pos.
10560 (note_tool_bar_highlight): Set help_echo_object to nil and
10561 help_echo_pos to -1.
10562 (XTread_socket): Use gen_help_event instead of filling
10563 input_events manually.
10564 (syms_of_xterm): Staticpro help_echo_object.
10565
10566 * xmenu.c (menu_highlight_callback): Use
10567 kbd_buffer_store_help_event instead of setting up and input_event
10568 structure manually.
10569
10570 * xdisp.c (eval_form): GCPRO argument sexpr.
10571 (call_function): New function.
10572 (handle_single_display_prop): Use call_function and FUNCTIONP
10573 instead of checking whether if font_height is a symbol and
10574 using eval_form.
10575
10576 * eval.c (internal_condition_case_2): New function.
10577
10578 * lisp.h (FUNCTIONP): New macro.
10579 (internal_condition_case_2, call_function): Add prototypes.
10580
d5aa31d8
GM
10581 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10582 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10583 Always set `arg' member of input_events.
10584 (construct_menu_click): Unused function removed.
10585
10586 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10587
10588 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10589 (construct_drag_n_drop, x_scroll_bar_handle_click)
10590 (w32_read_socket): Always set `arg' member of input_events.
10591
10592 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10593
10594 * lisp.h (eval_form): Add prototype.
10595
10596 * xdisp.c (eval_form): Make it externally visible.
10597
0f1a9b23
GM
105982000-07-13 Gerd Moellmann <gerd@gnu.org>
10599
10600 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10601 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10602 consing. For prefix events, store the frame in the `arg' slot of
10603 the event, otherwise store the key there.
10604 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10605 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10606
10607 * xmenu.c (menu_highlight_callback): Store help string in the
10608 `arg' member of the input event; don't cons.
10609 (menubar_selection_callback): Use the `arg' slot of input events
10610 to queue additional information, instead of consing.
10611
10612 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10613
10614 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10615 TOOL_BAR_EVENTs.
10616 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10617
10618 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10619 input events to queue additional information, instead of consing.
10620
10621 * keyboard.c (kbd_buffer_gcpro): Renamed from
10622 kbd_buffer_frame_or_window. Now used for all Lisp objects
10623 referenced from the input queue.
10624 (kbd_buffer_store_event): Always use structure assignment for
10625 copying input events. Record all Lisp objects referenced from
10626 events in kbd_buffer_gcpro.
10627 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10628 differently from input events. Test for prefix menu_bar_events
10629 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10630 event in kbd_buffer_gcpro to nil.
10631 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10632 frame_or_window is equal to its arg member as prefix events.
10633 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10634 used by an input event to nil.
10635 (init_keyboard): Use two times the size of the input queue
10636 for kbd_buffer_gcpro.
10637 (syms_of_keyboard): Likewise.
10638
52283633
SM
10639 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10640 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10641
10642 * termhooks.h (struct input_event): Add member `arg'.
10643 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10644 (USER_SIGNAL_EVENT): Renamed from user_signal.
10645
10646 * xfaces.c (ASET): Remove definition.
10647
10648 * lisp.h (AREF, ASET, ASIZE): New macros.
10649
10650 * fontset.c (AREF, ASIZE): Remove definitions.
10651
10652 * fns.c (AREF): Remove definition.
178c5d9c 10653
0f1a9b23
GM
10654 * composite.c (AREF): Remove definition.
10655
712eaef2
GM
106562000-07-12 Gerd Moellmann <gerd@gnu.org>
10657
d8ee7803
GM
10658 * dispnew.c (redraw_overlapped_rows): Add missing local.
10659 (scrolling_window): Remove debug code.
10660
712eaef2
GM
10661 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10662 Before scrolling, turn off a mouse-highlight in the window
10663 being scrolled.
10664
10665 * xterm.c (x_update_window_end): Add parameter
10666 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10667 redisplay in XTframe_up_to_date.
10668 (x_clear_mouse_face): New function.
10669 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10670
10671 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10672 current glyph row.
10673 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10674 it when any row is written to that contains glyphs highlighted in
10675 mouse-face.
10676 (update_window): Call the window update end hook with new
10677 parameter MOUSE_FACE_OVERWRITTEN_P.
10678 (direct_output_for_insert): Give up if row contains mouse-face.
10679
10680 * dispextern.h (struct redisplay_interface): Add parameter
10681 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10682 (clear_mouse_face): New function pointer member.
10683
02010917
SM
106842000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10685
10686 * syntax.c (back_comment): Use one switch rather than a few `if's.
10687 Obey open_paren_in_column_0_is_defun_start.
10688 When reverting to the `slow' method, try to nicely handle the case
10689 of nested comments by checking that the comment-starter we found
10690 does indeed match the comment-ender.
10691 (scan_sexps_forward, scan_sexps_forward):
10692 Ignore excessive opening parenthesis rather than throwing an error.
10693
d76c03ea
GM
106942000-07-11 Gerd Moellmann <gerd@gnu.org>
10695
10696 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10697 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10698
10699 * dispnew.c (direct_output_forward_char): Give up if currently
10700 displaying a message instead of the minibuffer contents.
10701
10702 * xterm.c (x_update_window_begin): No need to turn off the mouse
10703 highlight here.
10704 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10705 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10706
10707 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10708 compare the mouse_face_p flags of both rows.
10709
10710 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10711
d55ead18
EZ
107122000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10713
10714 * keyboard.c (show_help_echo): Accept additional parameter
10715 ok_to_overwrite_keystroke_echo.
10716 (read_char): Call show_help_echo with a zero
10717 ok_to_overwrite_keystroke_echo argument.
52283633 10718 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10719 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10720 ok_to_overwrite_keystroke_echo argument.
10721 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10722 non-zero ok_to_overwrite_keystroke_echo argument.
10723
df75b1a3
GM
107242000-07-10 Gerd Moellmann <gerd@gnu.org>
10725
4b92c49a
GM
10726 * xdisp.c (try_window_id): If changes are all below what is
10727 displayed in the window, and point is in the window, we still
10728 might have to find point on the display.
10729
10730 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10731 glyphs instead of a single one.
10732 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10733 with new argument list.
10734 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10735
df75b1a3
GM
10736 * keymap.c (get_keymap_1): Add comment that this function can GC.
10737 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10738 comment that functions can GC.
10739 (Fset_keymap_parent): GCPRO arg KEYMAP.
10740
4314cf3e
EZ
107412000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10742
10743 * msdos.c (XMenuActivate): After exiting the menu, restore the
10744 echo area message and erase it.
10745
ab49ce15
KH
107462000-07-10 Kenichi Handa <handa@etl.go.jp>
10747
10748 * fontset.c (Ffontset_info): Make the return value more compatible
10749 with that of Emacs 20.
10750
090a072f
GM
107512000-07-07 Gerd Moellmann <gerd@gnu.org>
10752
10753 * eval.c (Fsignal): Handle case that backtrace_list is null.
10754
f92de4a6
KH
107552000-07-07 Kenichi Handa <handa@etl.go.jp>
10756
10757 * ccl.c (Fccl_execute): Typo fixed.
10758
dd8888a1
GM
107592000-07-06 Gerd Moellmann <gerd@gnu.org>
10760
e5c81191 10761 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10762
dd8888a1
GM
10763 * window.c (Fwindow_list): Reverse list at the end.
10764 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10765 means allow windows on OWINDOW's frame, only.
10766 (window_loop): Simplified; use Fwindow_list.
10767
10768 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10769
485266d0
GM
107702000-07-05 Gerd Moellmann <gerd@gnu.org>
10771
10772 * xterm.c (XTread_socket): Increment handling_signal at the start,
10773 decrement it at the end.
10774
10775 * eval.c (handling_signal): New variable.
10776 (Fsignal): Abort if handling_signal is non-zero.
10777
10778 * lisp.h (handling_signal): External declaration.
178c5d9c 10779
485266d0
GM
10780 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10781
80fcd514
KR
107822000-07-05 Ken Raeburn <raeburn@gnu.org>
10783
10784 Sound support for NetBSD through "Linux emulation" support:
10785 * config.in (HAVE_SOUNDCARD_H): Undef.
10786 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10787 * Makefile.in (LIBSOUND): New variable.
10788 (LIBES): Include it.
52283633
SM
10789 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10790 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10791 (vox_open): Use DEFAULT_SOUND_DEVICE.
10792 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10793
d5c5cddd
GM
107942000-07-05 Gerd Moellmann <gerd@gnu.org>
10795
10796 * print.c (print_error_message): If Vsignaling_function is set,
10797 show it in *Messages*.
10798
10799 * lisp.h (Vsignaling_function): External declaration.
10800
10801 * eval.c (Vsignaling_function): New variable.
10802 (Fsignal): Compute it.
10803 (syms_of_eval): Staticpro it.
10804
65171e3a
DL
108052000-07-05 Dave Love <fx@gnu.org>
10806
10807 * syswait.h: Use the autoconf recommended approach. Old code
10808 #if'd out in case we need to revert.
10809
178c5d9c 10810 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10811
e2c46326
AI
108122000-07-05 Andrew Innes <andrewi@gnu.org>
10813
10814 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10815 when non-NULL instead of __morecore, to take account of buffer
10816 memory. This also solves a problem with spurious memory warnings
10817 on Windows.
10818
10819 * ralloc.c: Make real_morecore non-static.
10820
10821 * eval.c (internal_condition_case): Comment out abort if
10822 interrupt_input_blocked is not zero.
10823
10824 * makefile.nt: Add support for `bootstrap' and related targets.
10825 Include minimal debug info in emacs.exe in release build.
10826 Remove all dependencies on lisp.h, and fixup some others.
10827
10828 * w32.c (init_environment): Install code from 20.7 for providing
10829 default values for environment variables, based on the
10830 executable's own location.
52283633 10831 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10832 (sys_socket): Install socket inheritance bug fix from 20.7.
10833
10834 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10835 here via blockinput.h).
10836
a027a91b
SM
108372000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10838
e4b31601
SM
10839 * w32menu.c (w32_menu_display_help):
10840 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10841
10842 * keyboard.h (show_help_echo): Declare.
10843
10844 * keyboard.c (show_help_echo): New function, extracted from read_char.
10845 Feval its `msg' argument if it's a cons cell.
10846 (read_char): Use it.
4cf8d9d5 10847 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10848
178c5d9c 10849 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10850 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10851 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10852 (dos_rawgetc):
10853 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10854 (note_tool_bar_highlight, w32_read_socket):
10855 Do not gratuitously ignore non-string `help-echo' properties.
10856
88d75730
GM
108572000-07-05 Gerd Moellmann <gerd@gnu.org>
10858
969f7e79
GM
10859 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10860
71201b00
GM
10861 * window.c (delete_all_subwindows): Reset Vwindow_list.
10862
88d75730
GM
10863 * xterm.c (x_append_glyph, x_append_composite_glyph)
10864 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10865 changes in struct glyph starting 1999-12-27. Some bit-fields of
10866 struct glyph were not set, which made glyphs unequal when compared
10867 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10868 effects were the result. This also depended on the contents of
10869 memory returned by xmalloc. If flickering happens again, activate
10870 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10871 gone with that, chances are that it is caused by something similar.
88d75730
GM
10872
10873 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10874
88d75730
GM
10875 * dispextern.h: Add some comments.
10876
10877 * window.c (add_window_to_list): Add parameter LIST.
10878 (window_list): Order list so that, for each frame, windows are
10879 in canonical order, and so that frames appear in the list in
10880 the order given by Vframe_list.
10881 (next_window): Reverse the handling of NEXT_P.
10882
53654733
GM
108832000-07-04 Gerd Moellmann <gerd@gnu.org>
10884
87efd256
GM
10885 * window.c (Vwindow_list): New variable.
10886 (make_window, delete_window): Set Vwindow_list to nil.
10887 (check_window_containing): New function.
10888 (window_from_coordinates): Rewritten.
10889 (add_window_to_list, window_list, candidate_window_p)
10890 (decode_next_window_args, next_window): New functions.
52283633 10891 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10892 (Fwindow_list): New function.
10893 (Fother_window): Cleaned up.
10894 (foreach_window): Add a longer "variable argument list". Let
10895 callback function return 0 to indicate that cycling over windows
10896 should stop.
10897 (foreach_window_1): Likewise.
10898 (freeze_window_start): Return int.
10899 (init_window): New function.
10900 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10901
10902 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10903 input_event with bzero.
10904 (main): Call init_window.
10905
53654733
GM
10906 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10907 a menu filter.
10908
4a8c194f
KH
109092000-07-04 Kenichi Handa <handa@etl.go.jp>
10910
10911 * composite.h (make_composition_value_copy): Extern it.
10912
10913 * composite.c (make_composition_value_copy): New function.
10914
10915 * editfns.c (Fformat): While copying text properties, make each
10916 composition property value a copy.
10917
10918 * fns.c (concat): While copying text properties, make each
10919 composition property value a copy.
10920
831a6cb0
GM
109212000-07-03 Gerd Moellmann <gerd@gnu.org>
10922
2f516940
GM
10923 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10924
178c5d9c 10925 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10926 marked already.
10927
831a6cb0
GM
10928 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10929 include those frames as candidates which have their focus
10930 redirected to the minibuffer frame.
10931
d9c4f922
SM
109322000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10933
10934 * fns.c (Fputhash): Return `value' rather than nil.
10935
3780bc22
GM
109362000-06-30 Gerd Moellmann <gerd@gnu.org>
10937
97d176db
GM
10938 * frame.c (next_frame): Don't check focus redirection in case
10939 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10940 unless their focus is redirected, which contradicts the
10941 specification of next-frame, and leads to infinite loops in
10942 certain situations when cycling through windows with next-window.
10943
dca9961d
KH
109442000-06-30 Kenichi Handa <handa@etl.go.jp>
10945
10946 * coding.c (code_convert_region): Even if the length of text is
10947 zero, try to convert it if coding->type is coding_type_ccl.
10948 (decode_coding_string, encode_coding_string): Likewise.
10949
d5483ab1
GM
109502000-06-28 Gerd Moellmann <gerd@gnu.org>
10951
af5c25e1 10952 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10953 the display if windows_or_buffers_changed.
af5c25e1
GM
10954
10955 * dispnew.c (struct row_entry): New structure.
10956 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10957 (row_table_size, old_lines, new_lines, old_lines_size)
10958 (new_lines_size, run_pool, runs_size, runs): New variables.
10959 (add_row_entry): New function.
10960 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10961 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10962 holding them in local variables. Use a larger hash table whose
10963 size depends on glyph matrix sizes. Don't use bzero to clear the
10964 hash table; instead, clear used slots only.
10965
10966 * fns.c (next_almost_prime): Make it externally visible.
10967
10968 * lisp.h (next_almost_prime): Add prototype.
10969
d5483ab1
GM
10970 * s/isc4-0.h (sigunblock): Define.
10971
10972 * s/sco5.h (sigunblock): Define.
10973
93e40f40
DL
109742000-06-27 Dave Love <fx@gnu.org>
10975
10976 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10977 (moved to osf5-0.h).
10978 [!NOT_C_CODE]: Protect string.h stuff.
10979
10980 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10981 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10982
3c4b7685
GM
109832000-06-27 Gerd Moellmann <gerd@gnu.org>
10984
97d176db 10985 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10986 below the last line from the needed window height.
10987
32cad0aa
SM
109882000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10989
10990 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10991 (Fwidget_get): Use it.
10992 (syms_of_fns): Defsubr it.
10993
2c69ced2
GM
109942000-06-26 Gerd Moellmann <gerd@gnu.org>
10995
178c5d9c 10996 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10997 display info for XIM.
10998 (xim_open_dpy): Likewise.
10999 (xim_close_dpy): Don't free the display info's XIM.
11000
11001 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11002
11003 * config.in (USE_XIM): New define.
11004
3fc720e4
GM
11005 * keymap.c (get_keyelt): For menu-items containing a `:filter
11006 FILTER', apply FILTER to the menu-item's definition to get the
11007 real definition to use.
11008
11009 * lisp.h (QCfilter): External declaration.
11010
2c69ced2
GM
11011 * xfns.c (Fimage_size): New function.
11012 (syms_of_xfns): Defsubr it.
11013
f978b2a2
AS
110142000-06-26 Andreas Schwab <schwab@suse.de>
11015
11016 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11017 Fstring_as_unibyte.
11018
94cc7892
DL
110192000-06-25 Dave Love <fx@gnu.org>
11020
52283633 11021 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11022
11023 * Makefile.in (blockinput.h): Depend on atimer.h.
11024 (atimer.h): Depend on systime.h.
11025
52283633 11026 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11027
52283633 11028 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11029
11030 * lisp.h (swap_in_global_binding): Declare.
11031
b8c24556
KR
110322000-06-24 Ken Raeburn <raeburn@gnu.org>
11033
11034 * process.c (Fopen_network_stream): Turn off atimers for duration
11035 of call to connect. (Patch from Gerd.)
11036
8cf8560b
DL
110372000-06-23 Dave Love <fx@gnu.org>
11038
511c7541
DL
11039 * ralloc.c: Maybe include unistd.h
11040
8cf8560b
DL
11041 * emacs.c (setgrp): Undefine before defining.
11042 (malloc_warning, set_time_zone_rule, index): Prototype.
11043
11044 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11045 HAVE_STRUCT_TIMEZONE.
11046
11047 * s/osf1.h: Move string.h hack here from alpha.h and make it
11048 conditional.
11049 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11050 _XOPEN_SOURCE.
11051 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11052 (SOCKLEN_TYPE): Don't define.
11053
11054 * m/alpha.h: Remove string.h hack.
11055
11056 * s/osf5-0.h: New file.
11057
11058 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11059 include time.h, done by systime.h.
11060 [__FreeBSD__]: Remove redundant includes.
11061
3fc720e4 11062 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11063 (delete_temp_file): Return Qnil to avoid warning.
11064
11065 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11066
11067 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11068 HAVE_X_WINDOWS.
11069
11070 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11071
11072 * composite.h (compose_text): Declare.
11073
11074 * xterm.c: Don't include sys/types.h unconditionally. Don't
11075 protect its inclusion with !USG (following xmenu.c).
11076
ea055732
GM
110772000-06-23 Gerd Moellmann <gerd@gnu.org>
11078
11079 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11080 in x_create_frame.
11081
74b01b80
EZ
110822000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11083
11084 * coding.c (decode_eol_post_ccl): Special handling for undecided
11085 and inconsistent EOL types.
11086
64f3a166
GM
110872000-06-22 Gerd Moellmann <gerd@gnu.org>
11088
16cf31f7
GM
11089 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11090 trough color and main window's background color.
11091
52283633 11092 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11093
11094 * xterm.h (Xt_app_con): External declaration.
11095
11096 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11097
486a103d
GM
11098 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11099
64f3a166
GM
11100 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11101 (handle_invisible_prop): Record the start of invisible text in
11102 it->add_overlay_start.
11103 (struct overlay_entry): Add member `overlay'.
11104 (handle_overlay_change): Simplify.
11105 (next_overlay_string): After having processed overlay strings at the
11106 end of the buffer, record that fact in
11107 it->overlay_strings_at_end_processed_p.
11108 (compare_overlay_entries): If before- and after-strings come
11109 from the same overlay, let before-strings come first.
11110 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11111 (load_overlay_strings): Take it->add_overlay_start into account
11112 when adding overlay strings.
11113
11114 * dispextern.h (struct it): Add member add_overlay_start.
11115
bb746ea6
DL
111162000-06-22 Dave Love <fx@gnu.org>
11117
11118 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11119
11120 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11121
a8f573f3
KH
111222000-06-22 Kenichi Handa <handa@etl.go.jp>
11123
11124 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11125 is greater than 0.
11126
9f2bbc92
DL
111272000-06-21 Dave Love <fx@gnu.org>
11128
178c5d9c 11129 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11130
3ee5041c
SM
111312000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11132
11133 * syntax.c (back_comment): Simplify string-parity counting (with
11134 the added benefit of handling multiple string-styles as long as
11135 they are not intertwined).
11136 Jump to the slow code as soon as a comment starter is found in
11137 a "string_lossage" position. Fixes the case: " /* " /* " */.
11138
4c343001
DL
111392000-06-21 Dave Love <fx@gnu.org>
11140
11141 * Makefile.in: Use GETLOADAVG_LIBS.
11142
11143 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11144 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11145
e6365855
SM
111462000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11147
11148 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11149 (Fforward_comment, scan_lists):
11150 Check the comstyle of single-char comment-starters.
11151 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11152 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11153 Check the comstyle of single-char comment-starters.
11154 Clarify control-flow around the Scomment case.
e6365855 11155
5700d2cc
DL
111562000-06-20 Dave Love <fx@gnu.org>
11157
d355bd8a
SM
11158 * fns.c (make_hash_table, maybe_resize_hash_table):
11159 Cast arg of next_almost_prime.
5700d2cc 11160
178c5d9c 11161 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11162
11163 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11164 and unistd.h.
11165
4a27bdfb
GM
111662000-06-20 Gerd Moellmann <gerd@gnu.org>
11167
a61d762c 11168 * keyboard.c (adjust_point_for_property): Check if display
52283633 11169 property should be treated as intangible by looking at its value.
a61d762c 11170
178c5d9c 11171 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11172 (display_prop_intangible_p): New functions.
11173
11174 * dispextern.h (display_prop_intangible_p): Add prototype.
11175
11176 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11177
4a27bdfb
GM
11178 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11179 argument to sigprocmask.
11180
11181 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11182 argument to sigprocmask.
11183
11184 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11185 sigprocmask_set, and pass a pointer to it to sigprocmask.
11186
11187 * sysdep.c (sigprocmask_set): New variable.
11188
11189 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11190 report_file_error.
11191
427ec082
SS
111922000-06-20 Sam Steingold <sds@gnu.org>
11193
11194 * xrdb.c: Don't declare xmalloc, xrealloc.
11195
8972fe79 111962000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11197
11198 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11199 (re_comp): Cast gettext return value to avoid complaints when
11200 !HAVE_LIBINTL.
11201
074b6efe
DL
112022000-06-20 Dave Love <fx@gnu.org>
11203
52283633 11204 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11205
5700d2cc 11206 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11207
d355bd8a 11208 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11209
11210 * m/alpha.h: Don't declare xmalloc, xrealloc.
11211
0af4f205
DL
11212 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11213
11214 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11215
11216 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11217
11218 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11219 HAVE_GETWD.
11220
074b6efe
DL
11221 * keyboard.h (poll_for_input_1): Declare.
11222
11223 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11224
11225 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11226
11227 * doprnt.c: Don't declare xmalloc, xrealloc.
11228
11229 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11230 (getenv, ctime, getwd): Removed.
11231 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11232
11233 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11234 x_set_tool_bar_lines.
11235
11236 * config.in: Add HAVE_GETWD. Move some definitions above
11237 machine/system includes.
11238
68a5e97b
KH
112392000-06-20 Kenichi Handa <handa@etl.go.jp>
11240
95417e1e
KH
11241 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11242
68a5e97b
KH
11243 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11244 contain information about ENCODING.
11245
11246 * fontset.c (FONTSET_ASCII): Use the first element of char table
11247 for an ASCII font, not defalt slot.
11248 (fontset_ref_via_base): If FONTSET doesn't contain information for
11249 C, try the default fontset.
11250 (make_fontset): Don't copy the default fontset.
11251 (fontset_font_pattern): Likewise.
11252 (accumulate_font_info): If ELT is nil, use the corresponding
11253 element in the default fontset.
11254
3b4fa1b2
DL
112552000-06-19 Dave Love <fx@gnu.org>
11256
943e731c
DL
11257 * syntax.c (Fparse_partial_sexp): Doc fix.
11258
11259 * regex.h: Test PROTOTYPES as well as __STDC__.
11260
3b4fa1b2
DL
11261 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11262 errno, strerror. Put text after #endif in comment.
11263
52283633 11264 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11265
11266 * xterm.c (x_frame_of_widget): Likewise.
11267
cdf0357b
GM
112682000-06-19 Gerd Moellmann <gerd@gnu.org>
11269
11270 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11271 to Vfundamental_mode_abbrev_table.
11272
11273 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11274 bogus objects are marked. This slows down GC by ~80 percent, but
11275 it might be worth trying when debugging GC-related problems.
11276 This feature requires conservative stack marking to be enabled.
11277
11278 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11279 returns XLookupChars, reset `modifiers' to zero.
11280
998e9f8c
DL
112812000-06-19 Dave Love <fx@gnu.org>
11282
11283 * mktime.c: Unprotoized.
11284
18e21ce8 112852000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11286
11287 * data.c (set_internal): If variable is frame-local,
11288 store the new value immediately into the frame parameter alist.
11289
140c4ac6
KR
112902000-06-19 Ken Raeburn <raeburn@gnu.org>
11291
14358466
KR
11292 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11293 in the custom handler pointer.
11294
140c4ac6
KR
11295 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11296 value, or checks for CHAR_META can fail when Lisp_Object is a
11297 union type.
11298 * keymap.c (get_keyelt): Likewise.
11299
10d7bf84
KH
113002000-06-19 Kenichi Handa <handa@etl.go.jp>
11301
11302 * ccl.h (struct ccl_program): New member eol_type.
11303 (struct ccl_spec): New member cr_carryover.
11304
11305 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11306 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11307
11308 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11309 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11310 (decode_eol_post_ccl): New function.
11311 (decode_coding): Don't detect EOL format here for CCL based coding
11312 systems.
11313 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11314 decode_eol_post_ccl after running the CCL program.
11315 (code_convert_region): Don't detect EOL format here for CCL based
11316 coding systems.
11317 (decode_coding_string): Likewise.
11318
52e386c2
KR
113192000-06-18 Ken Raeburn <raeburn@gnu.org>
11320
11321 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11322 when treating it as an integer.
11323
11324 * coding.h (encode_coding_string): Declare.
11325
11326 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11327 it as an integer.
11328
11329 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11330 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11331 to be passed to get_local_map.
11332
11333 * sound.c (Fplay_sound): Don't call make_number on
11334 Frun_hook_with_args count argument.
11335
11336 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11337 for lisp objects in X event structure data field, when lisp
11338 objects are represented with unions.
11339 (x_scroll_bar_to_input_event): Ditto.
11340
b357b9d4
KR
113412000-06-16 Ken Raeburn <raeburn@gnu.org>
11342
11343 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11344 termination of string. Fix sense of test whether
11345 Vline_number_display_limit is an integer.
b357b9d4 11346
a871441d
GM
113472000-06-16 Gerd Moellmann <gerd@gnu.org>
11348
a9021acd
GM
11349 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11350 only if HAVE_X_WINDOWS.
11351
6344985d
GM
11352 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11353 of titles.
11354
427ec082 11355 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11356 out of bounds.
11357
228b083e
EZ
113582000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11359
11360 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11361 of its headers.
11362
c25b53a2
KH
113632000-06-15 Kenichi Handa <handa@etl.go.jp>
11364
11365 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11366 start of the while loop.
11367
a6981b11
GM
113682000-06-15 Gerd Moellmann <gerd@gnu.org>
11369
e9924e52
GM
11370 * atimer.c (alarm_signal_handler): Add forward declaration.
11371
a6981b11
GM
11372 * data.c (set_internal): Remove debug code.
11373
25fa6deb
GM
113742000-06-14 Gerd Moellmann <gerd@gnu.org>
11375
dce6b995
GM
11376 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11377
9f817ea4
GM
11378 * unexec.c (toplevel) [COFF]: Include coff.h.
11379
11380 * s/lynxos.h: New file.
11381
11382 * keymap.c (Fsingle_key_description): Enclose function key and
11383 event symbol names in angle brackets.
11384
8a4e3c0c
GM
11385 * xdisp.c (setup_echo_area_for_printing): Call
11386 message_log_maybe_newline if message_buf_print is not set.
11387
11388 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11389 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11390 function does something useful even when message_buf_print is
11391 already set.
11392
52283633
SM
11393 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11394 New variables.
25fa6deb
GM
11395 (ensure_echo_area_buffers): Initialize echo buffer's
11396 truncate lines setting to nil.
11397 (with_echo_area_buffer): Don't set the echo buffer's truncate
11398 lines setting here.
8a4e3c0c 11399 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11400 of message_truncate_lines.
11401 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11402 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11403 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11404
11405 * keyboard.c (read_char): Bind message-truncate-lines to t
11406 while displaying a help-echo.
11407
11408 * lisp.h (Qmessage_truncate_lines): External declaration.
11409
163dcff3
GM
114102000-06-13 Gerd Moellmann <gerd@gnu.org>
11411
1681ead6
GM
11412 * xdisp.c (Vline_number_display_limit): Renamed from
11413 line_number_display_limit.
11414 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11415 Extend documentation string. Initialize
11416 Vline_number_display_limit to nil meaning no limit.
11417 (decode_mode_spec): Use Vline_number_display_limit with its new
11418 meaning.
11419
163dcff3
GM
11420 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11421
18e21ce8 114222000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11423
11424 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11425
163dcff3
GM
11426 * xfns.c (x_set_frame_parameters): Comment fix.
11427
11428 * frame.c (store_frame_param): Call swap_in_global_binding if the
11429 variable's current binding was chosen based on this frame.
11430
11431 * data.c (swap_in_global_binding): New function.
11432
a704139d
EZ
114332000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11434
11435 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11436 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11437
9b6610db
EZ
114382000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11439
11440 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11441
c68833d2
JR
114422000-06-12 Jason Rumney <jasonr@gnu.org>
11443
11444 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11445
11446 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11447
11448 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11449
11450 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11451
ed1056b3
GM
114522000-06-12 Gerd Moellmann <gerd@gnu.org>
11453
11454 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11455 (syms_of_xfaces): Defsubr Sdump_colors.
11456 (x_free_colors): Don't treat b&w specially on default visual.
11457 (x_free_dpy_colors): New function.
11458 (free_face_colors): Don't check visual class; it's done
11459 in x_free_colors.
11460
11461 * xterm.c (x_frame_of_widget): New function.
11462 (x_alloc_nearest_color_for_widget): Use it.
11463 (x_copy_dpy_color): New function.
11464 (x_destroy_window): Free various colors.
11465
5050a2ef
KH
114662000-06-12 Kenichi Handa <handa@etl.go.jp>
11467
11468 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11469
11470 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11471
11472 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11473
11474 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11475
11476 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11477
fb1b041d
DL
114782000-06-11 Dave Love <fx@gnu.org>
11479
11480 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11481
ff96b5f4
EZ
114822000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11483
11484 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11485
db8eeecd
GM
114862000-06-11 Gerd Moellmann <gerd@gnu.org>
11487
ed1056b3 11488 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11489 to `XEvent *'.
11490
49b71c5f
KH
114912000-06-10 Kenichi Handa <handa@etl.go.jp>
11492
c479bd55
KH
11493 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11494 (regex_compile): Fix the code for handling the case of single byte
11495 char and multibyte char being mixed in a range within [...].
11496
ff6a65c2
KH
11497 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11498 and dst_multibyte members of coding.
11499
49b71c5f
KH
11500 * charset.c (update_charset_table): Update the table
11501 bytes_by_char_head.
11502 (init_charset_once): Initialize elements of bytes_by_char_head to
11503 1 except for leading codes for private charases.
11504
11505 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11506 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11507
9e80b57d
KR
115082000-06-09 Ken Raeburn <raeburn@gnu.org>
11509
11510 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11511 access the data it doesn't point to.
11512
f83fe4b4
GM
115132000-06-08 Gerd Moellmann <gerd@gnu.org>
11514
11515 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11516 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11517 event queue. This is necessary because Emacs otherwise won't
11518 perform a switch-frame to a new frame until some other event, for
11519 example a keystroke event, forces it to do so. This has various
11520 effects, one visible being that the cursor of a frame created with
11521 C-x 5 2 or switched to with a window manager key binding like
11522 A-TAB stays hollow because selected_window isn't on the newly
11523 focused frame until the switch-frame is performed.
11524
11525 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11526 generating a switch-frame event if necessary.
11527
11528 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11529
11530 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11531 it's an integer.
11532
0890801b
KH
115332000-06-08 Kenichi Handa <handa@etl.go.jp>
11534
52283633 11535 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11536
173cbca8
GM
115372000-06-07 Gerd Moellmann <gerd@gnu.org>
11538
3091c2a6
GM
11539 * window.c (displayed_window_lines): Take empty lines at
11540 the bottom of a window into account.
427ec082 11541
f38952fe
GM
11542 * window.c (displayed_window_lines): New function.
11543 (Fmove_to_window_line): Use displayed_window_lines to determine
11544 the number of lines to move, instead of using the window's height.
11545
11546 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11547 to stop reading, even if the form read sets point to a different
11548 value when evaluated.
11549
427ec082 11550 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11551 put the cursor.
11552
6ba6c818
KH
115532000-06-07 Kenichi Handa <handa@etl.go.jp>
11554
11555 * fileio.c (e_write): Free composition data if stored in
11556 coding->cmp_data.
11557
5f1aea9a
GM
115582000-06-06 Gerd Moellmann <gerd@gnu.org>
11559
666852af
GM
11560 * xdisp.c (display_line): Set row's and iterator's
11561 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11562 Set cursor even if row ends in the middle of a character.
11563 (dump_glyph_row): Print values of new flags.
11564 (redisplay_window) <cursor movement in unchanged window>: When
11565 point has been moved forward, and PT is at the end of the cursor
11566 row, don't place the cursor in the next row if the cursor row ends
11567 in the middle of a character or at ZV.
11568
11569 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11570 (struct glyph_row): Add starts_in_middle_of_char_p and
11571 ends_in_middle_of_char_p.
11572 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11573 ends_in_middle_of_char_p flag.
11574 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11575
d13f3e2e
GM
11576 * term.c (append_glyph): Revert change of 2000-06-06.
11577
11578 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11579 padding glyph not fitting on line as whole character not
11580 fitting on line.
11581
5f1aea9a
GM
11582 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11583 this isn't true for images with `:ascent 100'.
11584
10cda9b0
KH
115852000-06-06 Kenichi Handa <handa@etl.go.jp>
11586
ed00559d
KH
11587 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11588 as modified if it is originally unmodified.
11589
10cda9b0
KH
11590 * term.c (encode_terminal_code): Change the way to check if
11591 terminal coding does any conversion.
11592 (append_glyph): Set glyph->pixel_width correctly.
11593
11594 * xdisp.c (display_line): While checking line continuation, pay
11595 attention to a padding glyph.
11596
1969fae2
GM
115972000-06-05 Gerd Moellmann <gerd@gnu.org>
11598
11599 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11600
162ccef4
DL
116012000-06-05 Dave Love <fx@gnu.org>
11602
f19f32dd
DL
11603 * xdisp.c: Include fontset.h.
11604
11605 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11606
11607 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11608
11609 * dispnew.c: Conditionally include term.h.
11610
11611 * coding.h: Declare code_convert_string_norecord.
11612
11613 * frame.h (struct frame): Use volatile unconditionally.
11614
11615 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11616
11617 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11618
11619 * systime.h: Protect against multiple inclusion.
11620 (timezone) [USG5_4]: Define as time_t.
11621
11622 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11623 (Foptimize_char_table, make_temp_name): Declare.
11624
11625 * Makefile.in (xdisp.o): Depend on fontset.h.
11626
11627 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11628
11629 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11630 (Foptimize_char_table, make_temp_name): Declare.
11631
427ec082 11632 * s/irix4-0.h:
162ccef4
DL
11633 * s/irix5-0.h:
11634 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11635
2082fe81
DL
116362000-06-02 Dave Love <fx@gnu.org>
11637
11638 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11639
dcf671d2
GM
116402000-06-02 Gerd Moellmann <gerd@gnu.org>
11641
11642 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11643 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11644 be freed.
11645
11646 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11647 glyph, use the ASCII NUL character to determine the face.
11648
d42122a3
DL
116492000-06-02 Dave Love <fx@gnu.org>
11650
11651 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11652 (VFORK_RETURN_TYPE): Remove.
427ec082 11653
d42122a3
DL
11654 * config.in: Add NO_MATHERR.
11655
dd432f16
DL
116562000-06-01 Dave Love <fx@gnu.org>
11657
90aa4ea8
DL
11658 * cmds.c (internal_self_insert): Don't check
11659 Vbefore_change_function, Vafter_change_function.
11660
11661 * insdel.c (signal_before_change, signal_after_change): Likewise.
11662
11663 * buffer.c (Vbefore_change_function, Vafter_change_function):
11664 Variables and their initializations deleted.
11665
2330c9d4
DL
11666 * callint.c (Fcall_interactively): Doc fix.
11667
dd432f16
DL
11668 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11669
bf9e8804
DL
116702000-05-31 Dave Love <fx@gnu.org>
11671
11672 * textprop.c: Revert last change -- duplicated.
11673
3694b4ab
GM
116742000-05-31 Gerd Moellmann <gerd@gnu.org>
11675
11676 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11677 in #if 0.
11678
11679 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11680
f14156cd
JR
116812000-05-31 Jason Rumney <jasonr@gnu.org>
11682
8119aab8
JR
11683 * search.c (Fre_search_forward, Fre_search_backward)
11684 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11685
f14156cd
JR
11686 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11687
4aab9be3
JR
116882000-05-30 Jason Rumney <jasonr@gnu.org>
11689
11690 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11691 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11692
52283633 11693 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11694
11695 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11696 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11697 expand a nil default_filename.
11698
11699 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11700 pointer to glyph_to_pixel_coords, not a frame.
11701
11702 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11703 coding.h to dependencies.
11704
11705 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11706
11707 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11708 window pointer to be consistent with w32term.c and xterm.c.
11709
11710 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11711 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11712 (Qline_spacing, Qcenter): New variables.
11713 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11714 (x_set_line_spacing): New function.
52283633 11715 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11716 (x_specified_cursor_type): New function.
11717 (x_set_cursor_type): Use it.
11718 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11719 and icon strings.
11720 (validate_x_resource_name, x_get_resource_string): Measure lengths
11721 of external strings in bytes.
11722 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11723 GetTextExtentPoint32 with NULL title.
11724 (Fx_create_frame): Initialize Qline_spacing.
11725 (w32_load_system_font): Initialize font->double_byte_p.
11726 (x_to_w32_charset): Use Vw32_charset_info_alist.
11727 (Image, busy cursor, tooltip functions): Merged changes from
11728 xfns.c. Not yet functional on Windows.
11729
11730 * w32gui.h (W32FontStruct): Add double_byte_p member.
11731
11732 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11733 (emacs_button_translation): Use it.
11734 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11735 in `mask' to be set.
11736
11737 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11738 menu strings.
11739
11740 * w32term.c: Format and doc changes to bring closer to xterm.c.
11741 (w32_char_font_type): New enum.
11742 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11743 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11744 (w32_encode_char): New function.
11745 (x_encode_char): Removed.
11746 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11747 x_encode_char and w32_font_is_double_byte.
11748 (x_produce_image_glyph): Use image_ascent.
11749 (x_produce_glyphs): Use new version of w32_per_char_metric and
11750 handle NULL return value. Allow extra line spacing.
11751 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11752 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11753 w32_font_type member of glyph instead.
11754 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11755 (fast_find_position): Make sure not to consider rows not visible
11756 in the window.
11757 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11758 w32_menu_display_help with input blocked, as it can abort.
11759 (x_display_and_set_cursor): Choose cursor depending
11760 on buffer-local value of cursor_type.
11761 (x_draw_bar_cursor): Add parameter WIDTH.
11762
11763 * w32term.h (CP_DEFAULT): Define.
11764 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11765
10fc3187
GM
117662000-05-30 Gerd Moellmann <gerd@gnu.org>
11767
11768 * search.c (Fre_search_forward, Fre_search_backward)
11769 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11770
d0555360
KH
117712000-05-30 Kenichi Handa <handa@etl.go.jp>
11772
11773 * coding.c (detect_coding_iso2022): Fix code for checking
11774 CODING_CATEGORY_MASK_ISO_8_2.
11775
f1ad044f
SM
117762000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11777
11778 * regex.c (PREFETCH_NOLIMIT): New function.
11779 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11780
84ec3b4b
GM
117812000-05-29 Gerd Moellmann <gerd@gnu.org>
11782
66254a13
GM
11783 * syntax.c (find_defun_start): Move test for
11784 open_paren_in_column_0_is_defun_start outside of the loop.
11785
49e70dec
GM
11786 * xdisp.c (redisplay_window): Really switch buffers when
11787 displaying mode lines, and temporarily set selected_frame to the
11788 frame of the window that's redisplayed.
11789
84ec3b4b
GM
11790 * xfaces.c (free_realized_faces): Block/unblock input.
11791 (free_realized_multibyte_face): Ditto.
11792
869a3a14
DL
117932000-05-29 Dave Love <fx@gnu.org>
11794
11795 * textprop.c (Qkeymap): New variable.
11796 (syms_of_textprop): Intern it.
11797
11798 * keymap.c: Include intervals.h.
11799 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11800
11801 * Makefile.in (keymap.o): Depend on intervals.h.
11802
11803 * keyboard.c (menu_bar_items, tool_bar_items)
11804 (Fexecute_extended_command): Deal with `keymap' property.
11805 (read_key_sequence): Track map from `keymap' property as well as
11806 `local_map'.
11807
11808 * intervals.c (get_local_map): Extra arg to allow looking for
11809 `keymap' too.
11810
11811 * intervals.h (map_property): New enum.
11812 (get_local_map): Extra arg using it.
11813 (Qkeymap): Declare.
11814
84ec3b4b 11815 * lisp.h (get_local_map): Don't declare here.
869a3a14 11816
89d0c844
KH
118172000-05-29 Kenichi Handa <handa@etl.go.jp>
11818
11819 * Makefile.in (callproc.o): Depend on composite.h.
11820
11821 * callproc.c: Include composite.h.
11822 (Fcall_process): Handle composition correctly.
11823
11824 * coding.h (coding_allocate_composition_data): Extern it.
11825 (coding_restore_composition): Likewise.
11826
11827 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11828 yet allocated, finish decoding with result
11829 CODING_FINISH_INSUFFICIENT_CMP.
11830 (coding_allocate_composition_data): Make it non-static.
11831 (coding_restore_composition): Likewise.
11832
797a084a
EZ
118332000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11834
11835 * charset.c (syms_of_charset): Revert last change.
11836
cf872af5
EZ
118372000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11838
11839 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11840 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11841 Handa.
cf872af5 11842
5b1ae051
EZ
118432000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11844
11845 * charset.c (syms_of_charset): Set width of character sets
11846 eight-bit-control and eight-bit-graphic to 1 column.
11847
34ec9ebe
GM
118482000-05-26 Gerd Moellmann <gerd@gnu.org>
11849
11850 * config.in (HAVE_SPEED_T): New define.
11851
11852 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11853 `extern speed_t'.
11854
dd854dc2
DL
118552000-05-26 Dave Love <fx@gnu.org>
11856
11857 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11858
11859 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11860 (Fsubr_arity): New function.
11861 (syms_of_data): Install them.
11862
ba9f8f95
KH
118632000-05-26 Kenichi Handa <handa@etl.go.jp>
11864
0f3e0672
KH
11865 * charset.c (init_charset_once): Set the table bytes_by_char_head
11866 correctly.
11867
cebefb44
KH
11868 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11869 the default fontset to what Emacs uses by default.
0f3e0672
KH
11870 (check_registry_encoding): This function deleted.
11871 (Fset_fontset_font): Remove the adhoc condition for the default
11872 fontset. Allow cons in FONTNAME.
cebefb44 11873
0f3e0672
KH
11874 * fns.c (map_char_table): Ignore char-table entries for
11875 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11876
7a18af49
KR
118772000-05-25 Ken Raeburn <raeburn@gnu.org>
11878
11879 * emacs.c (main): Initialize keyboard syms before initializing
11880 window code, so face names are available.
11881
d2af47df
SM
118822000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11883
11884 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11885 of an anchor at the beginning of a shy-group.
11886
fc6a6a4e
GM
118872000-05-25 Gerd Moellmann <gerd@gnu.org>
11888
11889 * xdisp.c (handle_invisible_prop): Don't try to skip over
11890 invisible text if end of text is already reached.
11891
005f0d35
DL
118922000-05-25 Dave Love <fx@gnu.org>
11893
02513cdd
DL
11894 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11895
005f0d35
DL
11896 * coding.c (encode_eol): Add null statement after label.
11897
89f6ca4e
EZ
118982000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11899
11900 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11901 2000-05-20.
11902
a4e1759e
KH
119032000-05-25 Kenichi Handa <handa@etl.go.jp>
11904
11905 * ccl.c (ccl_driver): Fix previous change.
11906
eacfd7fe
KH
119072000-05-25 Kenichi Handa <handa@etl.go.jp>
11908
46ab33a9
KH
11909 * coding.c (run_pre_post_conversion_on_str): Set point to the
11910 beginning of buffer before calling coding->post_read_conversion.
11911 (decode_coding_string): Give correct args to
11912 run_pre_post_conversion_on_str.
11913 (encode_coding_string): Likewise.
11914
eacfd7fe
KH
11915 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11916 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11917 eight-bit-graphic correctly.
11918
f8569325
DL
119192000-05-24 Kenichi HANDA <handa@etl.go.jp>
11920
11921 * fileio.c (Finsert_file_contents): Even if a file is not found,
11922 execute codes for setting up coding system. Call
11923 after-insert-file-functions unconditionally.
11924
04545643
GM
119252000-05-24 Gerd Moellmann <gerd@gnu.org>
11926
11927 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11928 BSD_PGRPS are not defined.
11929
747d90ea
KH
119302000-05-24 Kenichi Handa <handa@etl.go.jp>
11931
11932 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11933 DESCRIPTION.
11934 (syms_of_charset): Avoid building same strings.
11935
716e3b88
GM
119362000-05-23 Gerd Moellmann <gerd@gnu.org>
11937
11938 * lread.c (Fload): Add a comment about the meaning of
11939 Vuser_init_file being t.
11940
11941 * puresize.h (BASE_PURESIZE): Increase to 675000.
11942
11943 * s/gnu-linux.h (setpgrp): Don't define it here because this
11944 prevents compilation on GNU/Linux systems with glib 2.2.
11945
11946 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11947 as setpgid.
427ec082 11948
9aeb39fa
EZ
119492000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11950
11951 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11952 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11953 version.
11954 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11955
29ced61b
KH
119562000-05-23 Kenichi Handa <handa@etl.go.jp>
11957
52283633 11958 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11959
3d80f24d
KH
11960 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11961
52283633 11962 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11963
29ced61b
KH
11964 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11965
d7e00792
KH
119662000-05-22 Kenichi Handa <handa@etl.go.jp>
11967
c9d80d38
KH
11968 * keyboard.c (read_char): Allow character codes 128..255 to be
11969 handled by input-method-function.
11970
d7e00792
KH
11971 * insdel.c (adjust_markers_for_replace): Fix previous change.
11972 (adjust_after_replace): If PREV_TEXT is nil, call
11973 adjust_markers_for_insert, not adjust_markers_for_replace.
11974
087121cc 119752000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11976
087121cc
GM
11977 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11978 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11979 [HAVE_GRANDPT]: Define.
11980 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11981
11982 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11983 like SYSV_PTYS.
11984
11985 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11986
11987 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11988
c9671f81
KH
119892000-05-20 Kenichi Handa <handa@etl.go.jp>
11990
11991 The following changes are to handle 8-bit characters in a
11992 multibyte buffer/string without facing with byte combining
11993 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11994 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11995
11996 * Makefile.in (fns.o): Depend on charset.h.
11997
11998 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11999 convert it to unibyte.
12000 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12001
12002 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12003 apparent char boundary.
12004 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12005 0x80..0x9F to/from multibyte form.
12006
12007 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12008 to unibyte.
12009
12010 * callproc.c (Fcall_process): Always encode an argument string if
12011 it is multibyte. Setup src_multibyte and dst_multibyte members of
12012 process_coding properly.
ce75fd23 12013
c9671f81
KH
12014 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12015 SPLIT_NON_ASCII_CHAR.
12016
12017 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12018 as is.
12019 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12020
52283633 12021 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12022 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12023 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12024 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12025 and eight-bit-graphic.
12026 (char_to_string): Likewise. Signal an error for too large
12027 character code.
12028 (char_printable_p): Return 0 for 8-bit characters.
12029 (update_charset_table): Update iso_charset_table only when a final
12030 character is non-negative.
12031 (find_charset_in_text): Renamed from find_charset_in_str.
12032 Arguments and return value changed. Callers changed.
12033 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12034 be -1 if CHARSET is used only internally.
12035 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12036 eight-bit-graphic.
12037 (Fcharset_after): Simplified.
12038 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12039 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12040 (multibyte_chars_in_text): Simplified by assuming there's no
12041 invalid multibyte sequence.
52283633
SM
12042 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12043 (str_as_unibyte): New functions.
12044 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12045 (init_charset_once): Initialization for
12046 LEADING_CODE_8_BIT_CONTROL.
12047 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12048 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12049 eight-bit-control and eight-bit-graphic.
12050
52283633
SM
12051 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12052 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12053 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12054 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12055 (CHARSET_REVERSE_CHARSET): Likewise.
12056 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12057 eight-bit-graphic.
12058 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12059 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12060 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12061 encounter an invalid multibyte sequence.
12062 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12063 sequence is always valid.
12064 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12065 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12066 (CHAR_STRING): For 8-bit characters, call char_to_string.
12067 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12068 multibyte sequence is always valid.
12069 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12070 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12071 (str_as_unibyte): Extern them.
c9671f81 12072 (BCOPY_SHORT): Fix a bug.
52283633 12073 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12074 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12075 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12076 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12077
bd4bde7f 12078 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12079 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12080 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12081 (EMIT_BYTES): New macros.
12082 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12083 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12084 macros deleted.
12085 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12086 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12087 check the validity of multibyte sequence.
12088 (decode_coding_emacs_mule): New function.
12089 (encode_coding_emacs_mule): New macro.
12090 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12091 the source.
12092 (DECODE_ISO_CHARACTER): Just return a character code.
12093 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12094 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12095 EMIT_CHAR to produced decoded characters. Exit the loop only by
12096 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12097 block here.
12098 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12099 only position codes for an invalid character.
12100 (encode_designation_at_bol): Return new destination pointer. 5th
12101 arg DSTP is changed to DST.
12102 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12103 from the source by ONE_MORE_CHAR. Don't handle the case of last
12104 block here.
12105 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12106 macros deleted.
52283633
SM
12107 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12108 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12109 TWO_MORE_BYTES to fetch a byte from the source.
12110 (encode_eol): Pay attention to coding->src_multibyte.
12111 (detect_coding, detect_eol): Preserve members src_multibyte and
12112 dst_multibyte.
12113 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12114 (encoding_buffer_size): Set magnification to 3 for all coding
12115 systems that require encoding.
12116 (ccl_coding_driver): For decoding, be sure that the result is
12117 valid multibyte sequence.
12118 (decode_coding): Initialize coding->errors and coding->result.
12119 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12120 and raw-text, always call decode_eol. Handle the case of last
12121 block here. If not coding->dst_multibyte, convert the resulting
12122 sequence to unibyte.
12123 (encode_coding): Initialize coding->errors and coding->result.
12124 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12125 and raw-text, always call encode_eol. Handle the case of last
12126 block here.
12127 (shrink_decoding_region, shrink_encoding_region): Detect cases
12128 that we can't skip data more rigidly.
12129 (code_convert_region): Setup src_multibyte and dst_multibyte
12130 members of coding. For decoding, if the buffer is multibyte,
12131 convert the source sequence to unibyte in advance. For encoding,
12132 if the buffer is multibyte, convert the resulting sequence to
12133 multibyte afterward.
12134 (run_pre_post_conversion_on_str): New function.
12135 (code_convert_string): Deleted and divided into the following two.
12136 (decode_coding_string, encode_coding_string): New functions.
12137 (code_convert_string1, code_convert_string_norecord): Call one of
12138 above.
12139 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12140 MAKE_NON_ASCII_CHAR.
52283633
SM
12141 (Fset_terminal_coding_system_internal)
12142 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12143 and dst_multibyte members.
12144 (init_coding_once): Initialize iso_code_class with new enum
12145 ISO_control_0 and ISO_control_1.
12146
12147 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12148 devided into ISO_control_0 and ISO_control_1.
12149 (struct coding_system): New members src_multibyte, dst_multibyte,
12150 errors, and result. Delete member fake_multibyte.
12151 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12152 nonzero.
12153 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12154 nonzero.
12155
12156 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12157 (Faset): Likewise.
12158
12159 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12160 multibyte form.
12161 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12162 combining occurs.
12163 (Ftranspose_region): Delete codes for handling byte combining.
12164
12165 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12166 dst_multibyte members of coding. On handling REPLACE on unibyte
12167 buffer, convert the result of decode_coding to unibyte. On
12168 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12169 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12170 multibyteness of the source (buffer or string).
12171
12172 * fns.c (concat): Handle 8-bit characters correctly.
12173 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12174 unibyte in the result.
12175 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12176 valid multibyte form in the result.
12177 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12178 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12179 return -1, signal an error.
12180 (base64_encode_1): New arg MULTIBYTE. Get each character by
12181 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12182 character is found, return -1.
12183 (Fbase64_decode_region): Delete codes for handling byte-combining.
12184 Treat each decoded byte as a unibyte character.
12185 (Fbase64_decode_string): Return unibyte string.
12186 (Fcompare_strings, concat, string_byte_to_char): Use
12187 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12188 FETCH_STRING_CHAR_ADVANCE.
12189 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12190 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12191
12192 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12193 SPLIT_NON_ASCII_CHAR.
12194 (fontset_ref_via_base, fontset_set): Likewise
12195
12196 * insdel.c (adjust_markers_for_record_delete): Deleted.
12197 (adjust_markers_for_insert): Argument changed. Caller changed.
12198 (adjust_markers_for_replace): Likewise.
52283633
SM
12199 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12200 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12201 (copy_text): Delete unused local varialbe c_save. For converting
12202 to multibyte, be sure to make all 8-bit characters in valid
12203 multibyte form.
12204 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12205 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12206 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12207 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12208 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12209 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12210 handling byte combining.
12211 (adjust_before_replace): Deleted.
427ec082 12212
c9671f81
KH
12213 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12214 SPLIT_NON_ASCII_CHAR.
12215 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12216 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12217 (Fkey_description): Likewise.
12218
12219 * lread.c (read1): On reading multibyte string, be sure to make
12220 all 8-bit chararacters in valid multibyte form.
12221 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12222
12223 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12224 unconditionally.
12225
12226 * process.c (Fstart_process): GCPRO current_dir before calling
12227 Ffind_operation_coding_system. Encode arguments here.
12228 (create_process): Don't encode arguments here. Setup
12229 src_multibyte and dst_multibyte members of struct coding.
12230 (read_process_output): Setup src_multibyte and dst_multibyte
12231 members of struct coding. If the output is to multibyte buffer,
12232 always decode the output of the process. Adjust the
52283633 12233 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12234 (send_process): Setup coding->src_multibyte according to the
12235 multibyteness of the source.
12236
52283633 12237 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12238 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12239 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12240
52283633 12241 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12242
12243 * w16select.c (Fw16_set_clipboard_data): Setup members
12244 src_multibyte and dst_multibyte of coding. Adjusted for the
12245 change for find_charset_in_str.
12246 (Fw16_get_clipboard_data): Likewise.
12247
12248 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12249 dst_multibyte of coding.
12250 (x_to_w32_font): Likewise.
12251
12252 * w32select.c (Fw32_set_clipboard_data): Setup members
12253 src_multibyte and dst_multibyte of coding. Adjusted for the
12254 change for find_charset_in_str.
12255 (Fw32_get_clipboard_data): Likewise.
12256
12257 * xdisp.c (get_next_display_element): Handle 8-bit characters
12258 correctly.
52283633
SM
12259 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12260 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12261
12262 * xselect.c (selection_data_to_lisp_data): Setup members
12263 src_multibyte and dst_multibyte of coding. Adjusted for the
12264 change for find_charset_in_str.
12265 (lisp_data_to_selection_data): Likewise.
12266
5f64c9e0
GM
122672000-05-19 Gerd Moellmann <gerd@gnu.org>
12268
52283633 12269 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12270
5f64c9e0
GM
12271 * dispextern.h (Vimage_types): Add extern declaration.
12272
12273 * xdisp.c (Vimage_types): Moved here from xfns.c.
12274 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12275
12276 * xfns.c (Vimages_types): Moved to xdisp.c.
12277 (syms_of_xfns): Move `image-types' to xdisp.c.
12278
12279 * w32fns.c (Vimage_types): Removed.
12280 (syms_of_w32fns): Remove `image-types'.
12281
813086ea
KH
122822000-05-18 Kenichi Handa <handa@etl.go.jp>
12283
12284 * fns.c (map_char_table): Pay attention to character number of
12285 charset. Check the validity of charset at the first level. For
12286 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12287 the default value.
12288
12289 * fontset.c: Include "buffer.h".
12290 (fs_load_font): If the face has fontset, record the face ID in
12291 that fontset.
12292 (Finternal_char_font): New function.
12293 (accumulate_font_info): New function.
12294 (Ffontset_info): Rewritten for the new fontset implementation.
12295 (syms_of_fontset): Register Vdefault_fontset in the first element
12296 of Vfontset_table. Include Vdefault_fontset in
12297 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12298 function.
12299
bdaebbf0
DL
123002000-05-16 Dave Love <fx@gnu.org>
12301
12302 * m/iris5d.h: Deleted -- unused.
12303
cb613bb8
GM
123042000-05-16 Gerd Moellmann <gerd@gnu.org>
12305
b15f3b77
GM
12306 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12307 `invalid' instead of `illegal'.
12308
12309 * indent.c (Fmove_to_column): When ending within a tab, insert
12310 spaces first so that markers at the end of the tab get adjusted.
12311
835c1b36
GM
12312 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12313 buffer list that wasn't selected in that frame.
12314
cb613bb8
GM
12315 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12316 is needed on mescaline, use a 2 char prefix, and call
12317 make_temp_name with second arg non-zero.
12318
12319 * fileio.c (make_temp_name): New function, extracted from
12320 Fmake_temp_name.
12321 (Fmake_temp_name): Use it.
12322
f685bea9
EZ
123232000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12324
52283633 12325 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12326
a1b8d58b
GM
123272000-05-15 Gerd Moellmann <gerd@gnu.org>
12328
12329 * Makefile.in (lisp): Add env.elc.
12330
12331 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12332
a265079f
GM
123332000-05-12 Gerd Moellmann <gerd@gnu.org>
12334
12335 * search.c (Freplace_match): Handle case of `\N' in the
12336 replacement when there's no group N.
12337
da4496b6
GM
123382000-05-11 Gerd Moellmann <gerd@gnu.org>
12339
0ace421a
GM
12340 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12341 of the message to message_dolog.
12342
1172eb8d
GM
12343 * keyboard.c (read_char): Don't clear current message for help
12344 events; let the code handling help events handle this. Change
12345 code detecting help events that should be ignored.
12346
da4496b6
GM
12347 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12348 we're interating over a string.
12349
0623e40f
DL
123502000-05-09 Dave Love <fx@gnu.org>
12351
12352 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12353 that offset before writing. Move gcpro region past call of
12354 Ffile_regular_p.
12355
bae2503b
DL
123562000-05-04 Dave Love <fx@gnu.org>
12357
12358 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12359
ec82fb2f
GM
123602000-05-04 Gerd Moellmann <gerd@gnu.org>
12361
12362 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12363 of inserted characters when BUF equals the current buffer, and PT
12364 is in front of or equal to FROM.
12365
cbf18892
GM
123662000-05-03 Gerd Moellmann <gerd@gnu.org>
12367
4ff40dd0
GM
12368 * xdisp.c (handle_single_display_prop): If display property value
12369 is invalid, or something not supported on the frame, restore
12370 iterator's position to what it was initially. Make sure to return
12371 0 for invalid and unsupported property values.
12372
cbf18892
GM
12373 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12374 that x_per_char_metric returns null.
12375
1b0672c3
GM
123762000-05-02 Gerd Moellmann <gerd@gnu.org>
12377
576da55d
GM
12378 * xterm.h (struct face): Add forward declaration.
12379 (struct image): Ditto.
12380 (image_ascent): Add prototype.
12381
12382 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12383 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12384 image_ascent instead of using IMAGE_ASCENT.
12385
12386 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12387 (IMAGE_ASCENT): Removed.
12388
12389 * xfns.c (Qcenter): New variable.
12390 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12391 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12392 (image_ascent): New function.
12393 (lookup_image): Recognize `:ascent center'.
12394 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12395 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12396 (xbm_load): Don't set image's ascent here.
12397 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12398 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12399 check ascent values here.
12400 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12401 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12402 (syms_of_xfns): Initialize Qcenter.
12403
1b0672c3
GM
12404 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12405 to the limits, increase the limits.
12406
0d7811ed
KH
124072000-05-01 Kenichi Handa <handa@etl.go.jp>
12408
12409 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12410 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12411
a943a5ca
GM
124122000-04-28 Gerd Moellmann <gerd@gnu.org>
12413
12414 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12415 taller than the window.
12416
5dba1e29
KH
124172000-04-28 Kenichi Handa <handa@etl.go.jp>
12418
12419 * xfaces.c (realize_x_face): Fix the argument of the second
12420 xassert. BASE_FACE may not be a face for ASCII.
12421
353964e3
GM
124222000-04-27 Gerd Moellmann <gerd@gnu.org>
12423
c76e04a8
GM
12424 * print.c (print_object): Treat print-length < 0 as nil.
12425
12426 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12427
12428 * s/freebsd.h (TERMCAP_OBJ): Removed.
12429 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12430
12431 * lread.c (read1): Don't treat period followed by certain
12432 characters as symbol start.
12433
12434 * xfns.c (slurp_file): New function.
12435 (xbm_image_p): Handle case of in-memory XBM files.
12436 (xbm_scan): Rewritten to work on memory buffers instead of files.
12437 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12438 Work on memory buffers instead of files. If DATA is null test
12439 if buffer looks like an in-memory XBM file.
12440 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12441 memory buffers instead of files.
12442 (xbm_file_p): New function.
12443 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12444
353964e3
GM
12445 * lread.c (end_of_file_error): New function.
12446 (read1): Call it instead of signaling `end-of-file' directly.
12447
427ec082 12448 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12449 with Fprinc instead of Fprin1.
12450
24d744ac
KR
124512000-04-26 Ken Raeburn <raeburn@gnu.org>
12452
12453 * window.c (freeze_window_start): Check that minibuffer scroll
12454 window isn't nil before extracting the window structure pointer
12455 from it.
12456
12457 * undo.c (record_delete): If we hit the end of the undo list, stop
12458 picking elements apart.
12459
7464346d
GM
124602000-04-26 Gerd Moellmann <gerd@gnu.org>
12461
12462 * xdisp.c (display_line): If lines are continued, restore
12463 iterator's ascent/descent information to the values before the
12464 first glyph not fitting on the line.
12465
612839b6
GM
124662000-04-25 Gerd Moellmann <gerd@gnu.org>
12467
12468 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12469 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12470
12471 * dispnew.c (increment_matrix_positions): Renamed from
12472 increment_glyph_matrix_buffer_positions.
12473 (increment_row_positions): Renamed from
12474 increment_glyph_row_buffer_positions.
12475
12476 * dispextern.h: Change names of renamed functions from dispnew.c
12477 in prototypes.
12478
cc181e95
GM
124792000-04-24 Gerd Moellmann <gerd@gnu.org>
12480
abfcc168
GM
12481 * fileio.c (Fdo_auto_save): Create directories for auto-save
12482 list file if necessary.
12483
cc181e95
GM
12484 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12485 from buffer or frame.
12486 (automatic_hscrolling_p): New variable.
12487 (hscroll_windows): Scroll windows horizontally only if automatic
12488 hscrolling is allowed.
12489 (syms_of_xdisp): New variable `automatic-hscrolling'.
12490
12491 * frame.h (struct frame): Add member extra_line_spacing.
12492
12493 * xfns.c (x_set_line_spacing): New function.
12494 (Fx_create_frame): Set line spacing from resources.
12495 (Qline_spacing): New variable.
12496 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12497
cc181e95
GM
12498 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12499
12500 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12501 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12502 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12503 extra_line_spacing from default value.
12504 (init_buffer_once): Initialize default value of extra_line_spacing.
12505
12506 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12507 and extra3.
12508
12509 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12510 prompt_width. Add extra line spacing.
12511
12512 * term.c (produce_glyphs): Remove reference to struct it's
12513 prompt_width.
12514
12515 * dispextern.h (struct it): Remove member prompt_width, add
12516 extra_line_spacing.
12517
58827478
GM
125182000-04-22 Gerd Moellmann <gerd@gnu.org>
12519
12520 * dispnew.c (update_frame_line): When writing a whole line, make
12521 sure cursor is in the right row afterwards, otherwise a use of
12522 capability `ch' in cmgoto might leave the cursor in the row below.
12523
25a87f42
GM
125242000-04-21 Gerd Moellmann <gerd@gnu.org>
12525
12526 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12527
12528 * keyboard.c (timer_check): Fix typo in comment.
12529
54edf5c2
KH
125302000-04-21 Kenichi Handa <handa@etl.go.jp>
12531
12532 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12533 name change: ch -> character.
12534
3a64eef5
GM
125352000-04-20 Gerd Moellmann <gerd@gnu.org>
12536
12537 * keyboard.c (echo_message_buffer): New variable.
12538 (echo_now): Set echo_message_buffer to the echo area buffer used
12539 to display the echo.
12540 (cancel_echoing): Reset echo_message_buffer to nil.
12541 (read_char): Code rewritten that handles canceling an echo or
12542 echoing a dash, respectively.
12543
12544 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12545 directory doesn't exist.
12546
6142fdcb
DL
125472000-04-19 Dave Love <fx@gnu.org>
12548
12549 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12550 (concat): Don't allow numeric args.
12551 (Fconcat): Doc change.
6142fdcb 12552
ac6b5352
SM
125532000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12554
12555 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12556 instead define end_match(1|2) more carefully.
12557 Use GET_CHAR_BEFORE_2 for `begline'.
12558
cb9215e4
GM
125592000-04-19 Gerd Moellmann <gerd@gnu.org>
12560
5e3dac3f
GM
12561 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12562 on 64-bit systems where NULL is defined as `0'.
12563
12564 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12565 the `variable argument list' to make it work on Alpha.
12566
cb9215e4
GM
12567 * m/alpha.h (_LP64) [!_LP64]: Define.
12568 (ORDINARY_LINK): Define for NetBSD.
12569
12570 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12571
f532dca0
DL
125722000-04-19 Dave Love <fx@gnu.org>
12573
c750667e
DL
12574 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12575 change.
12576
12577 * Makefile.in (LIBS): Don't use.
12578 (GETLOADAVG_OBJ): Define again.
12579 (otherobj): Add GETLOADAVG_OBJ.
12580
f532dca0
DL
12581 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12582
1c7e22fd
GM
125832000-04-18 Gerd Moellmann <gerd@gnu.org>
12584
f6d3257b
GM
12585 * lread.c (read_filtered_event): Cancel and start busy cursor.
12586
427ec082 12587 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12588 that the per-character metrics may be null.
12589
e10f64e7
GM
125902000-04-17 Gerd Moellmann <gerd@gnu.org>
12591
0daee095
GM
12592 * buffer.c (clone_per_buffer_values): New function.
12593 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12594 clone_per_buffer_values if CLONE is not nil.
12595
e10f64e7
GM
12596 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12597
38687d43
DL
125982000-04-16 Dave Love <fx@gnu.org>
12599
12600 * Makefile.in: Remove obsolete localcpp stuff.
12601 (GETLOADAVG_OBJ): Don't define.
12602 (obj): Move LIBOBJS...
12603 (otherobj): ... to here.
12604 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12605 whitespace-only lines after the continuation (Irix).
12606
c21c7262
GM
126072000-04-14 Gerd Moellmann <gerd@gnu.org>
12608
12609 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12610
12611 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12612
314767c0
DL
126132000-04-14 Dave Love <fx@gnu.org>
12614
12615 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12616 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12617 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12618 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12619 NLIST_STRUCT.
12620
12621 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12622 autoconfiscated HAVE_GETLOADAVG.
12623
12624 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12625 BROKEN_MKTIME.
12626
a2522dca
GM
126272000-04-14 Gerd Moellmann <gerd@gnu.org>
12628
12629 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12630 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12631
33744b5d
DL
126322000-04-14 Dave Love <fx@gnu.org>
12633
c21c7262 12634 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12635 (INTERVAL_SRC): Convert to make variable.
12636 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12637 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12638 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12639 add LIBOBJS.
12640 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12641 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12642 (shortlisp): Add facemenu, float-sup, frame.
12643 (SOME_MACHINE_LISP): Remove them from here.
12644 (LIBES): Change unused LDLIBS to autoconf LIBS.
12645
12646 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12647
9d3d5916
KH
126482000-04-14 Kenichi Handa <handa@etl.go.jp>
12649
12650 * composite.c (update_compositions): If FROM and TO are not in a
12651 valid range, do nothing.
12652
198e3c7a
GM
126532000-04-13 Gerd Moellmann <gerd@gnu.org>
12654
52283633 12655 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12656
52283633 12657 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12658
12659 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12660 as TERMCAP_OBJ.
12661
055a28c9
EZ
126622000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12663
12664 * fileio.c (a_write): Remove redundant semi-colons.
12665 (e_write): Return -1 if failed to write all the data.
12666 This fixes the changes made at 1999-12-15.
12667
f5c75033
DL
126682000-04-12 Dave Love <fx@gnu.org>
12669
12670 * fns.c (mapcar1): Test for null vals to support mapc.
12671 (Fmapc): New function.
12672
0c3cfc51
EZ
126732000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12674
12675 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12676 (IT_frame_up_to_date): Support the buffer local value of
12677 cursor-type, if defined.
12678
33465a31
DL
126792000-04-10 Dave Love <fx@gnu.org>
12680
12681 * editfns.c (preceding-char, following-char): Doc fix.
12682
6ed56568
KR
126832000-04-10 Ken Raeburn <raeburn@gnu.org>
12684
12685 * Makefile.in (temacs): Revert 2000-03-12 change.
12686
7cf80d4e
JR
126872000-04-10 Jason Rumney <jasonr@gnu.org>
12688
12689 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12690
34f3f342
GM
126912000-04-10 Gerd Moellmann <gerd@gnu.org>
12692
1a1b1895
GM
12693 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12694 area buffer, if it's not set up yet.
12695
34f3f342
GM
12696 * indent.c (compute_motion): Set immediate_quit.
12697
be0dbdab
GM
126982000-04-09 Gerd Moellmann <gerd@gnu.org>
12699
52283633 12700 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12701 (realize_tty_face): Suppress boldness if colors are the inverse of
12702 the default colors, and tty_suppress_bold_inverse_default_colors_p
12703 is set.
12704 (Ftty_suppress_bold_inverse_default_colors): New function.
12705 (syms_of_xfaces): Defsubr it.
12706
be0dbdab
GM
12707 * buffer.c (Frestore_buffer_modified_p): New function.
12708 (syms_of_buffer): Defsubr it.
12709
e8413c3b
KR
127102000-04-08 Ken Raeburn <raeburn@gnu.org>
12711
87f67317
KR
12712 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12713 charset id (int) argument, not a charset (Lisp_Object).
12714
e8413c3b
KR
12715 * coding.h (code_convert_string): Declare.
12716 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12717 object, as the fourth argument to code_convert_string.
12718
52283633 12719 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12720 (Fset_fontset_font): Use EQ to compare lisp objects.
12721
7c752c80
KR
127222000-04-05 Ken Raeburn <raeburn@gnu.org>
12723
c0333abc
KR
12724 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12725 a pointer that looks like a lisp object.
12726 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12727 zero, instead see whether it's an integer object, since they can't
12728 have intervals.
12729 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12730
52283633
SM
12731 * dispnew.c (allocate_matrices_for_frame_redisplay)
12732 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12733 to convert between (unsigned) int values and lisp integers.
12734 * keyboard.c (read_key_sequence): Likewise.
12735 * lread.c (substitute_object_recurse): Likewise.
12736 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12737 * minibuf.c (do_completion, Fminibuffer_complete_word)
12738 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12739 * term.c (produce_special_glyphs): Likewise.
12740
12741 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12742 * print.c (print_preprocess, print_object): Likewise.
12743
12744 * search.c (compile_pattern): Use NILP when checking for nil.
12745
74e49b38
KR
12746 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12747 __OPTIMIZE__]: Provide a GNU C macro version that handles
12748 lisp-object unions.
12749 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12750 field, to better cope with ENABLE_CHECKING and calls that modify a
12751 Lisp_Object using its old value.
12752
685e5ed2
GM
127532000-04-04 Gerd Moellmann <gerd@gnu.org>
12754
c407c570
GM
12755 * window.c (compare_window_configurations): Signal an error
12756 if parameters C1 or C2 aren't window configurations.
12757
685e5ed2
GM
12758 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12759 AFTER_POTENTIAL_GC calls around calls to functions that can
12760 signal an error and thus invoke the debugger.
12761
587a49ab
GM
127622000-04-03 Gerd Moellmann <gerd@gnu.org>
12763
62f20204
GM
12764 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12765 an error if decoding fails.
12766
587a49ab
GM
12767 * keyboard.c (lispy_mouse_names): Variable removed.
12768 (Vlispy_mouse_stem): New variable.
12769 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12770 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12771 for any mouse button number. Increase size of mouse_syms and
12772 button_down_location as needed. Call modify_event_symbol with
12773 different arguments.
12774 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12775 Call modify_event_symbol with different arguments.
12776 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12777 for any button number. Call modify_event_symbol with different
12778 arguments.
12779 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12780 Accept a string for NAME_ALIST_OR_STEM.
12781
12782 * lisp.h (larger_vector): Add prototype.
12783
12784 * fns.c (larger_vector): Make externally visible.
12785
12786 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12787
2d1675e4
SM
127882000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12789
12790 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12791 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12792 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12793 we are between str1 and str2.
12794 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12795 (PATFETCH): Use `TRANSLATE'.
12796 (PATFETCH_RAW): Fetch multibyte char if applicable.
12797 (PATUNFETCH): Remove.
12798 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12799 When writing a char, write it directly into the pattern buffer rather
12800 than going needlessly through a temp char-array.
12801 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12802 multibyte magic and remove the useless `#ifdef emacs'.
12803 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12804 buffer.
12805
12806 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12807 conditional on `emacs'.
12808
12809 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12810
cc2d8c6b
KR
128112000-04-01 Ken Raeburn <raeburn@gnu.org>
12812
12813 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12814 non-union-type versions of XMARK and friends here, because XMARK
12815 and friends won't work on an integer field if NO_UNION_TYPE is not
12816 defined.
52283633 12817 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12818
52283633 12819 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12820 (syms_of_composite): Delete local var NARGS, pass an int as first
12821 argument to Fmake_hash_table.
12822
2387b382
KR
12823 * editfns.c (text_property_stickiness): Use NILP to test
12824 Lisp_Object boolean value.
12825 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12826 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12827 problems reading from and changing the same lisp value in an
12828 XSETSTRING call.
12829
27660e89
GM
128302000-04-01 Gerd Moellmann <gerd@gnu.org>
12831
12832 * term.c (TN_no_color_video): New variable.
12833 (term_init): Intitialize TN_no_color_video.
12834 (enum no_color_bit): New enumeration.
12835 (MAY_USE_WITH_COLORS_P): New macro.
12836 (turn_on_face): Use it to determine if attributes may be used
12837 combined with colors.
12838
3578db3c
KR
128392000-04-01 Ken Raeburn <raeburn@gnu.org>
12840
12841 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12842 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12843 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12844 proper accessor macros.
12845 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12846 (grow_mini_window): Fix typo getting int value of root->height.
12847
6fc556fd
KR
12848 * xdisp.c (compute_string_pos): Fix order of arguments to
12849 string_pos_nchars_ahead.
12850 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12851 count arg to variable-arg routines like Frun_hook_with_args and
12852 Fformat.
587a49ab
GM
12853 (back_to_previous_visible_line_start)
12854 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12855 fixed-arg routines like Fget_char_property and Fmake_string.
12856 (reconsider_clip_changes): Use XINT when comparing integer lisp
12857 objects, or passing them as int arguments.
587a49ab
GM
12858 (mark_window_display_accurate, insert_left_trunc_glyphs)
12859 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12860 storing or passing integer values as lisp objects.
12861 (set_cursor_from_row, highlight_trailing_whitespace): Use
12862 INTEGERP, not implicit test against zero, for glyph object.
12863 (try_window_id): Don't use make_number when we want an int value.
12864
12865 * xfaces.c (xlfd_symbolic_value): Make last argument a
12866 Lisp_Object, to be consistent with callers.
12867 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12868 (lface_hash): Apply XFASTINT to lisp values before folding in.
12869
12870 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12871 fill in window width and height. Pass an int, not a lisp object,
12872 as first arg to Finsert.
12873
6e7b2457
GM
128742000-04-01 Gerd Moellmann <gerd@gnu.org>
12875
610d841e
GM
12876 * xfaces.c (realize_basic_faces): Block input while realizing
12877 the faces.
12878
6e7b2457
GM
12879 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12880
12881 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12882
aa110c0c
GM
128832000-03-31 Gerd Moellmann <gerd@gnu.org>
12884
12885 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12886 or ASCII, handle case that per-char metric is null.
aa110c0c 12887
8801a864
KR
128882000-03-30 Ken Raeburn <raeburn@gnu.org>
12889
c6129d7e
KR
12890 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12891
52283633
SM
12892 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12893 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12894 pointer, using eassert.
12895 * frame.h (XFRAME): Likewise.
12896
52283633
SM
12897 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12898 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12899 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12900 * data.c (set_internal): Likewise.
52283633
SM
12901 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12902 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12903 * fileio.c (auto_save_1): Likewise.
12904 * insdel.c (check_markers): Likewise.
12905 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12906 * undo.c (record_insert): Likewise.
12907 * vmsproc.c (child_sig): Likewise.
12908 * window.c (unshow_buffer, window_loop): Likewise.
12909 * xterm.c (x_erase_phys_cursor): Likewise.
12910
8e7af858
GM
129112000-03-30 Gerd Moellmann <gerd@gnu.org>
12912
12913 * xfns.c (free_image_cache): Free the cache structure itself
12914 last, after all its members have been freed.
12915
12916 * lisp.h (xstrdup): Add prototype.
12917
12918 * alloc.c (xstrdup): Moved here from xfaces.c.
12919 (allocating_for_lisp): Variable removed.
52283633 12920 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12921
12922 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12923 of Fsymbol_value.
12924 (xstrdup): Moved to alloc.c.
12925
e0b8c689
KR
129262000-03-29 Ken Raeburn <raeburn@gnu.org>
12927
b96f9fb7
KR
12928 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12929
12930 * emacs.c (main): Fix sense of no-loadup test.
12931
e0b8c689
KR
12932 * config.in (ENABLE_CHECKING): Undef.
12933
12934 * lisp.h (struct interval): Replace "parent" field with a union of
12935 interval pointer and Lisp_Object; add new bitfield to use as
12936 discriminant. Change other flag fields to bitfields.
12937 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12938 is defined and the supplied test fails, print a message and abort.
12939 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12940
12941 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12942 pointers; abort if the value looks like a lisp object.
52283633
SM
12943 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12944 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12945 Modify for new interval parent definition.
12946
52283633
SM
12947 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12948 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12949 addressable lisp object in the interval structure.
12950 (die): New function.
12951 (suppress_checking): New variable.
12952
12953 * intervals.c (interval_start_pos): Just return 0 if there's no
12954 parent object.
12955
f83c5440
GM
129562000-03-29 Gerd Moellmann <gerd@gnu.org>
12957
12958 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12959 and earlier Emacs versions.
12960
12961 * keyboard.c (Ftop_level): Cancel busy-cursor.
12962
12963 * eval.c (call_debugger): Cancel busy-cursor.
12964
fdce64ff
KH
129652000-03-29 Kenichi Handa <handa@etl.go.jp>
12966
12967 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12968 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12969
f6a3f532
SM
129702000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12971
12972 * regex.c (analyse_first): New function obtained by ripping out most
12973 of re_compile_fastmap and generalizing it a little bit so that it
12974 can also just return whether a given (sub)pattern can match the empty
12975 string or not.
12976 (regex_compile): Use `analyse_first' to decide whether the loop-check
12977 needs to be done or not for *, +, *? and +? (the loop check is costly
12978 for non-greedy repetition).
12979 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12980
e9b309ac
DL
129812000-03-28 Dave Love <fx@gnu.org>
12982
52283633 12983 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12984
e9b309ac
DL
12985 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12986
ed0767d8
SM
129872000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12988
12989 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12990 an expression.
12991 (enum re_opcode_t): Update description of succeed_n.
12992 (PATFETCH): Always define.
12993 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12994 operators, char classes, shy-groups and intervals).
12995 Optimize special cases of intervals so as to only use succeed_n and
12996 jump_n when really needed.
12997 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12998 that we don't have to handle the special cases any more.
12999 Simplify on_failure_jump handling as well.
13000
e11e7e46
JR
130012000-03-28 Jason Rumney <jasonr@gnu.org>
13002
13003 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13004
88faab89
GM
130052000-03-27 Gerd Moellmann <gerd@gnu.org>
13006
182ff242
GM
13007 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13008
13009 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13010
182ff242
GM
13011 * alloc.c (mark_maybe_object): New function.
13012 (mark_memory): Use it.
13013 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13014 (setjmp_tested_p, longjmp_done): New variables.
13015 (test_setjmp): New function.
13016 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13017 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13018
c1005d06
GM
13019 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13020 to DEC_TEXT_POS and INC_TEXT_POS.
13021
13022 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13023 with parameter MULTIBYTE_P.
13024
52283633 13025 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13026
7439e5b9 13027 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13028 buffers because it looks for multibyte character byte sequences
13029 which don't exist in unibyte text.
7439e5b9 13030
d9c545da
GM
13031 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13032
11fd416e 13033 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13034 [DEBUG_X_COLORS]: New functions.
13035 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13036
13037 * xfns.c (x_set_cursor_color): Get color reference counts right.
13038
13039 * xterm.c (x_copy_color): New function.
13040 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13041
13042 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13043 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13044 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13045 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13046 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13047 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13048 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13049 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13050 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13051 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13052
11fd416e
GM
13053 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13054 names for handling per-buffer variables.
d9c545da
GM
13055
13056 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13057 instead of MAX_BUFFER_LOCAL_VARS.
13058 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13059
13060 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13061
88faab89
GM
13062 * xfns.c (x_specified_cursor_type): New function.
13063 (x_set_cursor_type): Use it.
13064
13065 * buffer.h (struct buffer): Add cursor_type.
13066
d80f42b7
SM
130672000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13068
13069 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13070 (print_partial_compiled_pattern, re_compile_fastmap):
13071 Handle new opcode.
d80f42b7
SM
13072 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13073 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13074 executing it as well as when popping it off the stack to find infinite
13075 loops in non-greedy repetition operators.
13076
89e80928
GM
130772000-03-26 Gerd Moellmann <gerd@gnu.org>
13078
3d4ff2dd
GM
13079 * doc.c (Qfunction_documentation): New variable.
13080 (syms_of_doc): Initialize Qfunction_documentation.
13081 (Fdocumentation): If FUNCTION is a symbol with non-nil
13082 `function-documentation' property, return a documentation derived
13083 from that.
13084
bd96bd79
GM
13085 * buffer.c (syms_of_buffer): Add default-cursor-type.
13086 (init_buffer_once): Don't let cursor_type have a local value
13087 in every buffer.
13088
19d1bc27
GM
13089 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13090 on buffer-local value of cursor_type.
13091 (x_draw_bar_cursor): Add parameter WIDTH.
13092
13093 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13094 (init_buffer_once): Set default cursor_type value to t.
13095 Mark cursor_type as local everywhere.
13096 (syms_of_buffer): New per-buffer variable cursor-type.
13097
89e80928
GM
13098 * buffer.h (struct buffer): Remove member local_var_flags,
13099 add local_flags.
13100 (MAX_BUFFER_LOCAL_VARS): New macro.
13101 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13102 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13103 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13104 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13105
52283633 13106 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13107
13108 * category.c (Fset_category_table): Use new macros for per-buffer
13109 variables.
13110
13111 * buffer.c (buffer_permanent_local_flags): Make a char array.
13112 (max_buffer_local_idx): New variable.
13113 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13114 for new handling of per-buffer variables.
13115 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13116 (init_buffer_once): Initialize per-buffer vars differently.
13117 Set max_buffer_local_idx.
13118
13119 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13120 variables.
13121
52283633 13122 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13123
13124 * data.c (do_symval_forwarding, store_symval_forwarding)
13125 (find_symbol_value, set_internal, default_value, Fset_default)
13126 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13127 per-buffer variables.
13128
13129 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13130
9a0dd3dc
GM
131312000-03-24 Gerd Moellmann <gerd@gnu.org>
13132
b68c375f
GM
13133 * xterm.c (x_term_init): Unblock input around call1 of
13134 Qvendor_specific_keysyms.
13135
9a0dd3dc
GM
13136 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13137 (find_defun_start): Consider an open parenthesis in column 0
13138 a defun start only if open_paren_in_column_0_is_defun_start is set.
13139 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13140
7973e637
SM
131412000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13142
13143 * eval.c (Fautoload): Add entry in load-history (if after dump).
13144 * lread.c (load-history): Update docstring.
13145
39210e90
GM
131462000-03-24 Gerd Moellmann <gerd@gnu.org>
13147
13148 * indent.c (Fvertical_motion): Always use the current buffer.
13149 Temporarily change the window's buffer, if necessary.
13150
72db3ab5
GM
131512000-03-23 Gerd Moellmann <gerd@gnu.org>
13152
13153 * xterm.c (fast_find_position): Make sure not to consider rows
13154 not visible in the window.
13155
990b2375
SM
131562000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13157
13158 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13159 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13160
ff4df011
JR
131612000-03-22 Jason Rumney <jasonr@gnu.org>
13162
13163 * w32menu.c (single_submenu): Set help string to NULL if none.
13164 (w32_menu_show): Set help string correctly.
13165 (add-menu-item): Set help string in MIIM_DATA for menu item.
13166 Load SetMenuItemInfoA explicitly.
13167 (w32_menu_display_help): New function.
427ec082 13168
ff4df011
JR
13169 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13170 (QCdata): Moved to xdisp.c.
13171
13172 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13173 (Vw32_charset_to_codepage_alist): Removed.
13174 (Vw32_charset_info_alist): New variable.
52283633
SM
13175 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13176 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13177 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13178 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13179 with TODO comment.
13180 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13181 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13182 Define Vw32_charset_info_alist and w32_charset symbols.
13183
131842000-03-22 Jason Rumney <jasonr@gnu.org>
13185
13186 * makefile.nt (w32bdf.obj): Update dependencies.
13187
13188 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13189
13190 * w32fns.c: Include fontset.h after dispextern.h.
13191 (Fx_create_frame): Do not create fontset.
13192 (w32_load_system_font): Doc fix.
13193 (Fx_close_connection): Free full_name if it is not shared.
13194
13195 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13196 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13197 Callers updated.
ff4df011
JR
13198 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13199 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13200 (w32_font_is_double_byte): New function, needs body.
13201 (x_append_glyph): Set glyph->glyph_not_available_p.
13202 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13203 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13204 character, convert it to a unibyte character.
13205 (struct glyph_string): Delete member `charset'.
13206 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13207 calculating it is found.
13208 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13209 the case that per char metric is not available correctly.
13210 (x_fill_glyph_string): Handle the case that the specific glyph is
13211 not available correctly.
13212 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13213 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13214 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13215 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13216 fontset. Don't call FS_LOAD_FONT.
13217
439d5cb4
KR
132182000-03-22 Ken Raeburn <raeburn@gnu.org>
13219
13220 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13221 (INT_LISPLIKE): New macro.
13222 (NULL_INTERVAL_P): Use it.
52283633
SM
13223 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13224 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13225 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13226
13227 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13228 explicit references to "parent" field of struct interval and
13229 associated unclean type conversions.
52283633
SM
13230 * intervals.c (create_root_interval, root_interval, rotate_right)
13231 (rotate_left, balance_possible_root_interval, split_interval_right)
13232 (split_interval_left, interval_start_pos, find_interval)
13233 (next_interval, previous_interval, update_interval)
13234 (adjust_intervals_for_insertion, delete_node, delete_interval)
13235 (adjust_intervals_for_deletion, merge_interval_right)
13236 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13237 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13238 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13239 Likewise.
13240 * syntax.c (update_syntax_table): Likewise.
13241
13242 * intervals.c (reproduce_tree_obj): New function, like
13243 reproduce_tree but takes a Lisp_Object for the parent. Declare
13244 with prototype.
13245 (graft_intervals_into_buffer): Use it when appropriate.
13246 (reproduce_tree): Declare with prototype.
13247 (balance_possible_root_interval): Check that the parent is a lisp
13248 object before trying to examine its type.
13249
ee1c5b21
GM
132502000-03-22 Gerd Moellmann <gerd@gnu.org>
13251
13252 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13253 as strings only if both are known to be strings.
13254
13255 * s/openbsd.h (LIBS_TERMCAP): Undef.
13256
1fb352e0
SM
132572000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13258
13259 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13260 definitions for non-Emacs compilation.
13261 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13262 outside of `#ifdef emacs'.
13263 (print_partial_compiled_pattern): Update.
13264 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13265 (re_compile_fastmap): Merge handling of charset and charset_not (for
13266 emacs and non-emacs compilation as well).
13267 Similarly for (not)categoryspec and (not)syntaxspec.
13268 Don't use the fastmap when reaching `anychar' since the added
13269 complexity is not justified.
13270 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13271 and (not)syntaxspec. Merge (not)categoryspec.
13272
fdaa1f77
KH
132732000-03-22 Kenichi Handa <handa@etl.go.jp>
13274
52283633
SM
13275 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13276 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13277 --without-x.
fdaa1f77 13278
d152fb46
DL
132792000-03-21 Dave Love <fx@gnu.org>
13280
13281 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13282 doc string.
13283
d2cafc8c
GM
132842000-03-21 Gerd Moellmann <gerd@gnu.org>
13285
13286 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13287 (lface_fully_specified_p): Don't check contents of
13288 LFACE_FONT_INDEX because that attribute is optional.
13289 (realize_x_face): Remove now unwarranted xassert.
13290
9111d4b5
KH
132912000-03-21 Kenichi HANDA <handa@etl.go.jp>
13292
13293 The following changes are to make font selection based on
13294 characters, not charset. In addition, they recover fontset
13295 facilities while utilizing the new font selection mechanism.
13296
6c4bfdc0
KH
13297 * Makefile.in (fontset.o): Depend on dispextern.h.
13298
13299 * alloc.c (mark_face_cache): Don't mark face->registry.
13300
9111d4b5
KH
13301 * dispextern.h (struct glyph): New member glyph_not_available_p.
13302 Use 22 bits for face_id.
13303 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13304 (struct face): Delete member registry, new member ascii_face.
13305 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13306 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13307 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13308 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13309
13310 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13311 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13312 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13313 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13314 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13315 (fs_free_face_fontset, fontset_font_pattern)
13316 (face_suitable_for_char_p, face_for_char)
13317 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13318 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13319 (FS_LOAD_FACE_FONT): New macro.
13320
13321 * fontset.c: All codes rewritten or adjusted for the change of
13322 fontset implementation. Now fontset is represented by char table.
52283633
SM
13323 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13324 Variables removed.
9111d4b5 13325 (my_strcasecmp): Function removed.
52283633 13326 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13327 (AREF, ASIZE): New macros.
52283633
SM
13328 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13329 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13330 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13331 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13332 (fontset_id_valid_p, font_family_registry, fontset_name)
13333 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13334 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13335 New functions.
13336 (fs_load_font): New arg FACE. Caller changed.
13337 (fs_query_fontset): Argument changed. Caller changed.
13338 (Fquery_fontset): call fs_query_fontset.
13339 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13340 Functions removed.
52283633
SM
13341 (clear_fontset_elements, check_registry_encoding)
13342 (check_fontset_name): New functions.
9111d4b5
KH
13343 (syms_of_fontset): Set char-table-extra-slots property of fontset
13344 to 3. Staticpro and initialize Vfontset_table and
13345 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13346
13347 * frame.h (struct frame): Member `fontset_data' removed.
13348 (FRAME_FONTSET_DATA): Macro removed.
13349
13350 * frame.c (make_frame): Don't allocate f->fontset_data.
13351 (Fdelete_frame): Don't free f->fontset_data.
13352
6c4bfdc0
KH
13353 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13354
9111d4b5
KH
13355 * xdisp.c (charset_at_position): Function removed.
13356 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13357 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13358 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13359 Likewise.
13360 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13361 FACE_FOR_CHARSET.
52283633
SM
13362 (get_next_display_element, append_space)
13363 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13364
13365 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13366 Variables removed.
13367 (clear_font_table, frame_update_line_height, load_face_font):
13368 Adjusted for the change of fontset implementation.
13369 (load_face_fontset_font): Function removed.
13370 (pixel_point_size): New function.
13371 (font_list): Argument type changed. Caller changed.
13372 (LFACE_FONT): New macro.
13373 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13374 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13375 Lisp_Object. Determine the font name by actually loading a font
13376 by the specified pattern. Set LFACE_FONT (lface) to the specified
13377 pattern. Even if a font is not found, don't try alternatives.
13378 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13379 (set_font_frame_param): If `font' is specified in lface, use it.
13380 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13381 (lface_same_font_attributes_p): Likewise.
13382 (make_realized_face): Arguent changed. Caller changed. Set
13383 face->ascii_face to face itself.
13384 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13385 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13386 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13387 (free_realized_multibyte_face): New function.
13388 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13389 changed. Caller changed.
13390 (try_font_list): Argument type changed.
13391 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13392 (choose_face_font): Argument changed. Handle fontset properly.
13393 (choose_face_fontset_font): Function removed.
13394 (realize_default_face, realize_named_face): Don't remove the
13395 former face here.
13396 (realize_face): Argument changed. Caller changed. Remove face
52283633 13397 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13398 (realize_x_face): Argument changed. Caller changed. For a
13399 multibyte character, share fontset with base_face. For a single
52283633 13400 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13401 (realize_tty_face): Argument changed. Caller changed.
13402 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13403 (face_at_buffer_position): Don't check multibyte_p for returning
13404 DEFAULT_FACE_ID.
13405 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13406 FACE_SUITABLE_FOR_CHARSET_P.
13407 (syms_of_xfaces): Remove code for Qx_charset_registry and
13408 Vface_default_registry.
13409
6c4bfdc0
KH
13410 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13411 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13412 (x_per_char_metric): Don't try FONT->default_char. Even if
13413 pcm->width is zero, glyph bits may exist.
13414 (x_encode_char): Always initialize char2b->byte1.
13415 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13416 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13417 (x_append_glyph): Set glyph->glyph_not_available_p.
13418 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13419 it->charset. Handle the case that per char metric is not
13420 available. If it->multibyte_p is zero and it->c is a multibyte
13421 character, convert it to a unibyte character.
13422 (struct glyph_string): Delete member `charset'.
13423 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13424 the case that per char metric is not available correctly.
13425 (x_fill_glyph_string): Handle the case that the specific glyph is
13426 not available correctly.
13427 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13428 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13429 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13430 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13431 fontset. Don't call FS_LOAD_FONT.
13432
13433 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13434 (x_create_tip_frame): Likewise.
13435 (Fx_close_connection): Free full_name of font_info.
13436
13437 * fns.c (optimize_sub_char_table): New function.
13438 (Foptimize_char_table): New function.
13439 (syms_of_fns): Defsubr Soptimize_char_table.
13440
b33dd3b0
GM
134412000-03-20 Gerd Moellmann <gerd@gnu.org>
13442
13443 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13444 only if buffer is displayed in some window.
13445
13446 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13447 (try_window_reusing_current_matrix): Don't call scroll run
13448 function if run's current and desired position are the same;
13449 this prevents cursor flickering.
13450
4e8a9132
SM
134512000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13452
13453 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13454
13455 * regex.c (RE_STRING_CHAR): New macro.
13456 (GET_CHAR_AFER_2): Remove.
13457 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13458 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13459 (print_partial_compiled_pattern, re_compile_fastmap)
13460 (re_match_2_internal): Remove on_failure_jump_exclusive.
13461 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13462 optimization only need to work for * (ie. can use of_keep_string_jump).
13463 Remove the special case for .*\n since it is now covered by the general
13464 optimization.
13465 (re_search_2): Don't bother with `room'.
13466 (skip_one_char): New function.
13467 (skip_noops): Simplify since `memory' is not needed any more.
13468 (mutually_exclusive_p): Restructure slightly to use `switch' and
13469 add handling for "all" remaining cases.
13470 (re_match_2_internal): Change on_failure_jump_smart to use
13471 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13472 rather than on_failure_jump_exclusive.
13473
2136fdd4
GM
134742000-03-19 Gerd Moellmann <gerd@gnu.org>
13475
13476 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13477 number of bits per RGB because it's everywhere used as the depth
13478 of the visual.
13479
13480 * term.c (calculate_costs): Remove code dealing with X frames.
13481
18e21ce8 134822000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13483
13484 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13485
d7b511c4
GM
134862000-03-18 Gerd Moellmann <gerd@gnu.org>
13487
13488 * lread.c (read_integer): Unread the last char not consumed.
13489
16b5d424
GM
134902000-03-17 Gerd Moellmann <gerd@gnu.org>
13491
13492 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13493 which are in the process of being deleted.
16b5d424 13494
1fa28578
GM
134952000-03-16 Gerd Moellmann <gerd@gnu.org>
13496
83488cce
GM
13497 * Makefile.in (mostlyclean): Add `*.core'.
13498 (clean): Add `bootstrap-emacs'.
13499
1fa28578
GM
13500 * lread.c (read_integer): New function.
13501 (read1): Support read syntax #o, #x, #b, #r.
13502
99633e97
SM
135032000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13504
1fa28578
GM
13505 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13506 make sure POINTER_TO_OFFSET gives the same value before and after
13507 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13508 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13509 (debug): Now only active if > 0 rather than if != 0.
13510 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13511 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13512 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13513 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13514 (store_op1, store_op2, insert_op1, insert_op2)
13515 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13516 (group_in_compile_stack): Move to after its arg's types are
13517 declared and add a prototype.
99633e97 13518 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13519 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13520 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13521 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13522 indentation of the greedy-op and shy-group code.
99633e97
SM
13523 (at_(beg|end)line_loc_p): Fix argument's types.
13524 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13525 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13526 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13527 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13528 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13529 QUIT unconditionally.
99633e97 13530
699238d9
GM
135312000-03-15 Gerd Moellmann <gerd@gnu.org>
13532
13533 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13534 a sole completion.
13535
13536 * process.c (send_process): Add a hint that the function
13537 can call Lisp code to its comment.
13538
13539 * lread.c (load_dangerous_libraries): New variable.
13540 (Vbytecomp_version_regexp): New variable.
13541 (safe_to_load_p): New function.
13542 (Fload): Handle files not compiled with Emacs specially.
13543 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13544
34e23e5a
GM
135452000-03-14 Gerd Moellmann <gerd@gnu.org>
13546
9c763cca
GM
13547 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13548
13549 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13550 support functions only if HAVE_X11R6_XIM is defined.
13551 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13552
13553 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13554
13555 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13556 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13557 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13558
13559 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13560 (HAVE_X11R6_XIM): Define.
13561
13562 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13563
34e23e5a
GM
13564 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13565 If set, call XSynchronize.
13566
66f0296e
SM
135672000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13568
34e23e5a
GM
13569 * regex.c: Declare a new type `re_char' used throughout the code
13570 for the string char type. It's `const unsigned char' to match the
13571 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13572 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13573 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13574 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13575 code duplication.
66f0296e
SM
13576
13577 * charset.h (GET_CHAR_AFTER_2): Remove.
13578 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13579
854a025c
KR
135802000-03-12 Ken Raeburn <raeburn@gnu.org>
13581
13582 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13583 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13584 of them try to use backquotes.
13585
b9d2c7e2
DL
135862000-03-12 Dave Love <fx@gnu.org>
13587
13588 * unexelf.c: Restore changes of 1999-10-19.
13589 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13590 fix its type and alignment; copy it from current process.
13591
5e5dff44
GM
135922000-03-12 Gerd Moellmann <gerd@gnu.org>
13593
9b2f3c38
GM
13594 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13595 has been found. Fix bug not computing timer's predecessor.
13596
427ec082 13597 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13598 file name.
13599
e1cff360
GM
13600 * window.c (Fsave_window_excursion): Doc fix.
13601
52283633 13602 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13603
e411ce4b
EZ
136042000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13605
13606 * msdos.c (vga_installed): New function, code moved from
13607 dos_set_window_size.
13608 (Qbar, Qcursor_type, outside_cursor): New variables.
13609 (syms_of_msdos): Intern and staticpro them.
13610 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13611 shape used outside Emacs when called for the first time.
13612 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13613 cursor shape used outside Emacs.
13614 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13615 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13616 type has changed.
13617 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13618 parameters specify the cursor. Make qreverse a global
13619 variable (renamed to Qreverse).
13620
80460654
GM
136212000-03-09 Gerd Moellmann <gerd@gnu.org>
13622
13623 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13624
95cd4c40
SM
136252000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13626
13627 This is a big redesign of failure-stack and register handling, prompted
13628 by bugs revealed when trying to add shy-groups. Overall, what happened
13629 is that loops are now structured a little differently, groups can be
13630 shy and the code is a little simpler.
13631
13632 * regex.h: Update the copyright.
13633 (RE_SHY_GROUPS): New value.
13634 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13635 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13636
80460654
GM
13637 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13638 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13639 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13640 for (start|stop)_memory since they now only take one argument (the
13641 second has becomes unnecessary).
52283633 13642 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13643 (print_compiled_pattern): Use %ld to printf long ints and flush to
13644 make debugging a little easier.
95cd4c40
SM
13645 (union fail_stack_elt): Make the integer unsigned.
13646 (struct fail_stack_type): Add a `frame' element.
13647 (INIT_FAIL_STACK): Init `frame' as well.
13648 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13649 (DEBUG_PUSH, DEBUG_POP): Remove.
13650 (NUM_REG_ITEMS): Remove.
13651 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13652 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13653 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13654 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13655 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13656 New macros.
80460654
GM
13657 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13658 address pushed is not the destination of the jump but the source
13659 of it instead.
95cd4c40
SM
13660 (NUM_FAILURE_ITEMS): Remove.
13661 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13662 registers before the actual failure point). Don't hardcode any
13663 meaning for str==NULL anymore.
95cd4c40 13664 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13665 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13666 Remove.
95cd4c40
SM
13667 (REG_UNSET_VALUE): Use NULL (why not?).
13668 (compile_range): Remove declaration since it doesn't exist.
13669 (struct compile_stack_elt_t): Remove inner_group_offset.
13670 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13671 (regex_grow_registers): Remove dead code.
13672 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13673 (regex_compile): Add shy-groups Change loops to use
13674 on_failure_jump_smart&jump instead of
13675 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13676 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13677 variable to me). Use `jump' instead of `jump_past_alt' and don't
13678 bother with push_dummy_failure in alternatives since it is now
13679 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13680 emacs' for (re)allocating the stack.
13681 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13682 from loop when bufp->can_be_null rather than jumping to `done'.
13683 Avoid jumping backwards so as to ensure termination. Use
13684 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13685 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13686 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13687 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13688 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13689 (lowest_active_reg, highest_active_reg)
13690 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13691 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13692 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13693 variables. Push register (in `start_memory') on the stack rather
13694 than storing it in old_reg(start|end). Remove the cycle detection
13695 from `stop_memory', replaced by the use of on_failure_jump_loop
13696 for greedy loops. Add code for the new on_failure_jump_<foo>.
13697 Remove ad-hoc code in `on_failure_jump' to push more registers in
13698 the case of a loop. Take out code from `maybe_pop_jump' into
13699 separate functions and adapt it to the semantics of
13700 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13701 and push_dummy_failure. Remove dummy_failure handling and
13702 handling of `failures to jump to on_failure_jump' (this last one
13703 was already dead code, it seems).
13704 (group_match_null_string_p, alt_match_null_string_p)
13705 (common_op_match_null_string_p): Remove.
95cd4c40 13706
7397acc4
DL
137072000-03-08 Dave Love <fx@gnu.org>
13708
13709 * config.in: Don't depend on __STDC__ for volatile.
13710 Add POINTER_TYPE, PTR, PROTOTYPES.
13711
13712 * hftctl.c, strftime.c: Use PROTOTYPES.
13713 * eval.c (find_handler_clause): Likewise.
13714
13715 * mem-limits.h: Use POINTER_TYPE.
13716
13717 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13718 (memory_warnings): Declare using POINTER_TYPE.
13719
5e91ff9e
GM
137202000-03-08 Gerd Moellmann <gerd@gnu.org>
13721
feab4fba
GM
13722 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13723
52283633 13724 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13725
5e91ff9e
GM
13726 * xfns.c: Remove obsolete code in #if 0.
13727 (Fx_focus_frame): New function.
13728
a735b7e1
KH
137292000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13730
13731 * coding.c (coding_category_name): Add coding-category-utf-8,
13732 coding-category-utf-16-be, coding-category-utf-16-le.
13733 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13734 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13735 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13736 (detect_coding_utf_8): New function.
13737 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13738 UTF_16_LOW_SURROGATE_P): New macros.
13739 (detect_coding_utf_16): New function
13740 (detect_coding_mask): When priorities are specified, skip any
13741 categories that have `nil' coding-system. Fix bug of returning
13742 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13743 returns a mask not set in PRIORITIES.
13744 (detect_eol_type_in_2_octet_form): New function.
13745 (detect_eol): selects detect_eol_type_XXX to call according to
13746 cooding->category_idx.
13747 (detect_coding_system): Remove `nil' coding-system in the result.
13748 (Fupdate_coding_systems_internal): Update all coding-categories.
13749
52283633
SM
13750 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13751 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13752 New macros.
13753 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13754 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13755 (CODING_CATEGORY_IDX_UTF_16_LE)
13756 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13757 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13758 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13759 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13760
9994cc69
GM
137612000-03-07 Gerd Moellmann <gerd@gnu.org>
13762
e9b4e5ff
GM
13763 * doc.c (Fdocumentation_property): If value is not a string,
13764 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13765
f7daf1e1
GM
13766 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13767 close the display with XtCloseDisplay. This caused a bus error
13768 on OpenWindows.
13769
9994cc69
GM
13770 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13771 complete but not unique.
13772
4336c705
GM
137732000-03-06 Gerd Moellmann <gerd@gnu.org>
13774
18bb0684
GM
13775 * process.c (send_process): Remove local variable `procname' that
13776 might become invalid when a GC happens. Instead, access the
13777 process name slot directly.
13778
4336c705
GM
13779 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13780 orig_height if set.
13781
13782 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13783 orig_height if set.
13784
515d0d0e
EZ
137852000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13786
13787 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13788 glyph matrices have been freed.
13789
100b3cbb
GM
137902000-03-05 Gerd Moellmann <gerd@gnu.org>
13791
50df5e5a 13792 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13793 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13794
13795 * xfns.c (QCdata): Moved to xdisp.c.
13796
13797 * xdisp.c (QCdata): Moved here from xfns.c.
13798 (syms_of_xdisp): Initialize QCdata.
13799
13800 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13801
13802 * window.c (coordinates_in_window): Use
13803 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13804 FRAME_INTERNAL_BORDER_WIDTH.
13805
100b3cbb 13806 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13807 it is obviously invalid.
100b3cbb
GM
13808
13809 * xterm.c (x_term_init): Create a colormap if not using the
13810 default visual.
13811
13812 * xterm.h (select_visual): Change prototype.
13813
13814 * xfns.c (select_visual): Rewritten. Recognize user-specified
13815 visual classes.
13816 (visual_classes): New variable.
13817
64d739c4
GM
138182000-03-04 Gerd Moellmann <gerd@gnu.org>
13819
13820 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13821 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13822 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13823 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13824 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13825 XtNcolormap resources.
13826 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13827 (Fx_create_frame): Initialize color members of x_output structure.
13828 (xpm_load): Pass colormap to XPM lib.
13829
13830 * xfaces.c (x_free_colors): Access colormap of frame using
13831 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13832 when default colormap is used.
13833
13834 * xterm.c (x_term_init): Set Colormap member of x_display_info
13835 structure. Copy colormap if resource `privateColormap' is
13836 specified (PseudoColor only).
13837 (x_setup_relief_color): Access colormap of frame using
13838 FRAME_X_COLORMAP.
13839
13840 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13841 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13842
c3cee013
JR
138432000-03-04 Jason Rumney <jasonr@gnu.org>
13844
13845 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13846 other non-platform-specific equivalents.
64d739c4 13847 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13848 specific functions and macros as their w32 equivalents where
13849 non-platform-specifics are not available.
13850 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13851 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13852 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13853 (frame_update_line_height): Use macros to access f->output_data.
13854 (defined_color): Remove FIXME comments; fixed.
13855 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13856 into #ifdef blocks. Add WINDOWSNT blocks.
13857 (Fx_list_fonts): Use macros for accessing font data.
13858 (set_lface_from_font_name): Different default fonts for X and
13859 WINDOWSNT.
13860 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13861 scalable for backward compatibility.
64d739c4 13862 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13863 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13864
64d739c4 13865 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13866 syms_of_w32faces.
13867
13868 * makefile.nt (w32faces.obj): Remove.
13869 (xfaces.obj): Add.
13870
807cc41c
JR
138712000-03-03 Jason Rumney <jasonr@gnu.org>
13872
13873 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13874 correct parameters.
13875
0007072a
KR
138762000-03-03 Ken Raeburn <raeburn@gnu.org>
13877
13878 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13879 standard ELF definitions here if the system header does not.
13880
71a6ba55
GM
138812000-03-03 Gerd Moellmann <gerd@gnu.org>
13882
13883 * xterm.c (PER_CHAR_METRIC): Removed.
13884 (x_per_char_metric_1, x_default_char): New functions.
13885 (x_per_char_metric): If font's default char is invalid, return
13886 metrics of a suitably chosen usable default char.
13887 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13888 char, replace occurrences of unprintable chars with a suitably
13889 chosen usable default char.
71a6ba55 13890
900fa1f1
GM
138912000-03-02 Gerd Moellmann <gerd@gnu.org>
13892
42f55fe0
GM
13893 * xterm.c (note_mouse_highlight): Return quickly if frame's
13894 glyph matrices have been freed.
13895
13896 * dispnew.c (free_glyphs): Block input while freeing matrices.
13897
900fa1f1
GM
13898 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13899
52283633
SM
13900 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13901 Use x_free_colors.
900fa1f1
GM
13902
13903 * dispextern.h (x_free_colors): Add prototype.
13904
13905 * xfaces.c (x_free_colors): New function.
13906 (unload_color, free_face_colors): Use it.
13907
2f950292
EZ
139082000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13909
13910 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13911
13912 * window.c [MSDOS]: Include msdos.h.
13913
54d04320
DL
139142000-03-02 Dave Love <fx@gnu.org>
13915
13916 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13917
13918 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13919 set C_OPTIMIZE_SWITCH for gcc.
13920
0ba93ac4
KH
139212000-03-02 Kenichi Handa <handa@etl.go.jp>
13922
13923 * coding.c (coding_save_composition): Be sure to allocate
13924 composition data area in coding even if there's no composition in
13925 the current run.
13926
a2bc11d4
JR
139272000-03-01 Jason Rumney <jasonr@gnu.org>
13928
13929 * w32term.c: Equivalent changes to those made to xterm.c on
13930 2000-02-25 and 2000-02-24.
13931
13932 * w32fns.c: Equivalent changes to those made to xfns.c on
13933 2000-02-25 and 2000-02-21.
13934
13935 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13936 correct line-end convention is followed.
13937
13938 * w32menu.c [HAVE_BOXES]: Remove #undef.
13939 (single_keymap_panes): Remove code for simulating checkmarks.
13940 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13941 Remove code for drawing simulated checkmarks.
13942 (w32_menu_show): make unibyte help string correctly.
13943 (add_menu_item): draw standard Windows checkmarks. Draw radio
13944 buttons as radio buttons if possible.
13945
72d19d75
GM
139462000-03-01 Gerd Moellmann <gerd@gnu.org>
13947
2df636f4
GM
13948 * sysdep.c (start_of_text): Don't define this function for NetBSD
13949 with ELF.
13950
427ec082 13951 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13952 Don't define.
13953 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13954 (LINKER): Don't undef if __NetBSD__ is defined.
13955
13956 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13957
13958 * fileio.c [__NetBSD__]: Define `unix'.
13959
72d19d75
GM
13960 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13961
ed4d0512
GM
139622000-02-29 Gerd Moellmann <gerd@gnu.org>
13963
50b1039f
GM
13964 * atimer.c (start_atimer): Don't abort when timers are stopped.
13965 (append_atimer_lists): New function.
13966 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13967 arbitrary lists of stopped and running atimers.
13968
ed4d0512
GM
13969 * atimer.c (cancel_atimer): Handle canceling an atimer when
13970 some timers are stopped.
13971
13972 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13973 after canceling it.
13974
13975 * fns.c (maybe_resize_hash_table): Handle case of new size
13976 coming out as being the same as old size.
13977
387023ee
JR
139782000-02-27 Jason Rumney <jasonr@gnu.org>
13979
13980 * makefile.nt: Add atimer.h to dependencies.
13981 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13982 * w32console.c: Only disable window system features for dispextern.h
13983 (initialize_w32_display): Build a display info for the console.
13984 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13985 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13986 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13987 as 2 button mice.
13988 * w32gui.h (struct W32FontStruct): Revert last change after change
13989 to xdisp.c.
13990 * w32menu.c (single_submenu): Set up help string.
13991 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13992 (w32_dialog_show): Set up help string.
13993 * w32term.c (w32_display_info_for_display): Remove unused function.
13994 (w32_draw_bitmap): Use pre-built bitmaps.
13995 (w32_initialize_display_info): New function to initialize parts of
13996 display info that are common to both GUI and console frames.
13997 (w32_term_init): Use w32_initialize_display_info. Do not set
13998 Vw32_num_mouse_buttons here, as it is not called for console
13999 frames. Build bitmaps for indicating truncated lines etc.
14000 (x_delete_display): Destroy pre-built bitmaps.
14001 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14002 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14003
4516715a
DL
140042000-02-27 Dave Love <fx@gnu.org>
14005
14006 * lisp.h: Add a bunch of prototypes.
14007
171ca836
KH
140082000-02-26 Kenichi Handa <handa@etl.go.jp>
14009
14010 * keyboard.c (read_char): Set `usec' correctly.
14011
4013921d
KH
140122000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14013
14014 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14015 `lambda', set reg[RRR] to the map index.
14016 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14017 reg[RRR] to 0. Otherwise, set it to -1.
14018
9244a058
GM
140192000-02-25 Gerd Moellmann <gerd@gnu.org>
14020
2df636f4 14021 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14022
18e21ce8 140232000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14024
f43d79c1
GM
14025 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14026 and contains a `:', prepend `/:'.
14027
14028 * window.c (select_window_1): If selected_window is nil,
14029 don't "swap out" the buffer's point.
14030 (Fset_window_configuration): Set selected_window to nil
14031 before calling Fselect_window.
14032 (unshow_buffer): Don't set point in buffer from window's point
14033 if another more recently selected window also shows the buffer.
14034
bed0c171
GM
140352000-02-25 Gerd Moellmann <gerd@gnu.org>
14036
449c3c52
GM
14037 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14038
f5b58615
GM
14039 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14040 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14041 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14042 New variables.
f5b58615
GM
14043 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14044 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14045 (hide_busy_cursor): New functions.
14046 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14047
14048 * minibuf.c (read_minibuf): Cancel busy-cursor.
14049
14050 * keyboard.c (command_loop_1): Call start_busy_cursor before
14051 Fcommand_execute and cancel_busy_cursor after it.
14052 (timer_check): Remove busy-cursor code.
14053 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14054 cursor timer.
14055
14056 * process.c (wait_reading_process_input): Remove busy-cursor code.
14057
14058 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14059 Fx_hide_busy_cursor.
14060
14061 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14062 Remove prototyoes.
14063 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14064
14065 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14066
14067 * xterm.c (XTread_socket): Remove busy-cursor code.
14068
4eb8436f
GM
14069 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14070 (build_frame_matrix_from_leaf_window): Put code handling
14071 glyph row's not being a slice of a frame row in #if 0.
14072 (sync_window_with_frame_matrix_rows): New function.
14073 (frame_row_to_window): New function.
14074 (mirror_line_dance): Handle copies between windows.
14075
3cb65b0e
GM
14076 * lread.c (Fload): Use `xfree' instead of `free'.
14077 (init_obarray): Use `xmalloc' instead of `malloc'.
14078
bed0c171
GM
14079 * window.c (Fset_window_buffer): Set WINDOW to the window
14080 after decoding.
2add4349
GM
14081 (coordinates_in_window): Take frame's internal border width
14082 into account.
bed0c171 14083
42088c12
GM
140842000-02-24 Gerd Moellmann <gerd@gnu.org>
14085
14086 * xterm.c (x_display_and_set_cursor): Display cursor of
14087 non-selected windows depending on the setting of
14088 cursor_in_non_selected_windows.
14089
14090 * xdisp.c (cursor_in_non_selected_windows): New variable.
14091 (syms_of_xdisp): DEFVAR_BOOL it.
14092
d1e103b2
GM
140932000-02-23 Gerd Moellmann <gerd@gnu.org>
14094
723e779c
GM
14095 * data.c (Fstring_to_number): If number is greater than what
14096 fits into an integer, return a float.
14097
d1e103b2
GM
14098 * eval.c (specbind): Remove references to
14099 keyword_symbols_constant_flag.
14100
14101 * data.c (keyword_symbols_constant_flag): Removed.
14102 (Fmakunbound, set_internal, syms_of_data): Remove references to
14103 keyword_symbols_constant_flag.
14104
14105 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14106
214f877f
KH
141072000-02-23 Kenichi Handa <handa@etl.go.jp>
14108
14109 * syntax.c (multibyte_syntax_as_symbol): New variable.
14110 (syms_of_syntax): Declare it as a Lisp variable.
14111 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14112 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14113 nonzero, treat all multibyte characters as symbol.
52283633 14114 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14115
130adcb7
EZ
141162000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14117
3cb65b0e 14118 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14119 a deleted frame.
130adcb7 14120
17cbbf95
GM
141212000-02-21 Gerd Moellmann <gerd@gnu.org>
14122
14123 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14124
14125 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14126 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14127
beb0bc36
DL
141282000-02-21 Dave Love <fx@gnu.org>
14129
14130 * frame.c (Vmouse_position_function): New variable.
14131 (Fmouse_position): Use it.
14132 (syms_of_frame): Install it.
14133
14134 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14135
1d92afcd
GM
141362000-02-20 Gerd Moellmann <gerd@gnu.org>
14137
14138 * fileio.c (Finsert_file_contents): Unbind the binding of
14139 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14140
14141 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14142 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14143 (specbind, unbind_to): Handle most common case of non-constant
14144 symbol with trivial value specially.
14145
14146 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14147
18e21ce8 141482000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14149
14150 * data.c (Fmake_variable_buffer_local): Doc fix.
14151 Init found_for_buffer to 0.
14152 (Fmake_variable_frame_local): If the variable has already
14153 been buffer-local, set the check_frame field.
14154
1d4311c3
EZ
141552000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14156
14157 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14158 produced for CODING_MODE_LAST_BLOCK requires.
14159
2dc95ddd
DL
141602000-02-18 Dave Love <fx@gnu.org>
14161
14162 * keyboard.c (echo_keystrokes): Remove declaration.
14163 (Vecho_keystrokes) New variable.
14164 (read_char, record_menu_key, read_key_sequence): Use it to allow
14165 use of float value.
14166 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14167
14168 * lread.c: Undef feature selection macros before defining.
14169
f0930f35
GM
141702000-02-18 Gerd Moellmann <gerd@gnu.org>
14171
14172 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14173 for symbols other than the symbol in question.
14174
e3d4de90
DL
141752000-02-17 Dave Love <fx@gnu.org>
14176
14177 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14178
0b378936
GM
141792000-02-17 Gerd Moellmann <gerd@gnu.org>
14180
d621caf7
GM
14181 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14182
0b378936
GM
14183 * alloc.c (enum mem_type): Compile unconditionally.
14184
3b451f74
EZ
141852000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14186
14187 * xfaces.c (tty_defined_color): Don't return faulire indication
14188 for unspecified-fg and unspecified-bg pseudo-colors.
14189
10689a01
GM
141902000-02-17 Gerd Moellmann <gerd@gnu.org>
14191
1216f5e4
GM
14192 * alloc.c (mark_object): Don't mark symbol names in pure space.
14193 (gc_sweep): Don't unmark symbol names in pure space.
14194
14195 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14196 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14197 [GC_MARK_STACK]: New defines.
427ec082 14198 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14199 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14200
14201 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14202
14203 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14204 allocate_buffer instead of xmalloc.
14205
14206 * alloc.c (toplevel): Include setjmp.h.
14207 (PURE_POINTER_P): New define.
14208 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14209 (Vdead) [GC_MARK_STACK]: New variable.
14210 (lisp_malloc): Add parameter TYPE, call mem_insert if
14211 GC_MARK_STACK is defined.
14212 (allocate_buffer): New function.
427ec082 14213 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14214 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14215 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14216 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14217 (MEM_NIL) [GC_MARK_STACK]: New define.
14218 (struct mem_node) [GC_MARK_STACK]: New structure.
14219 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14220 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14221 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14222 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14223 (mark_stack) [GC_MARK_STACK]: New functions.
14224 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14225 (clear_marks): Removed.
14226 (gc_sweep): Set free conses' car, free floats' type, free
14227 symbols' function to Vdead. Use lisp_free to free buffers.
14228 (init_alloc_once): Initialize Vdead.
14229 (survives_gc_p): Return non-zero for pure objects.
14230
14231 * alloc.c: Add comments throughout the file.
14232
2503c8b1
GM
14233 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14234 that unblocks alarms.
14235
8389e1e2
GM
14236 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14237 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14238 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14239
10689a01 14240 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14241
bfc17d18
KH
142422000-02-17 Kenichi Handa <handa@etl.go.jp>
14243
4a09dee0
KH
14244 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14245 avoid infinite error signaling. Allocate sufficient memory for
14246 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14247
2b927d02
SM
142482000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14249
14250 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14251 depends on the previous behavior.
14252
b49cb764
GM
142532000-02-16 Gerd Moellmann <gerd@gnu.org>
14254
14255 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14256
99e95407
GM
142572000-02-15 Gerd Moellmann <gerd@gnu.org>
14258
14259 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14260
14261 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14262 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14263 write(2).
14264
6ffd3cf7
RS
142652000-02-15 Richard M. Stallman <rms@gnu.org>
14266
14267 * data.c (set_internal): Don't make variable buffer-local
14268 if within a let-binding for the same buffer.
14269 (let_shadows_buffer_binding_p): New function.
14270
14271 * eval.c (specbind): For buffer-local value,
14272 record the current buffer also.
14273 (unbind_to): Cope with that change.
14274
cad53475
GM
142752000-02-15 Gerd Moellmann <gerd@gnu.org>
14276
14277 * window.c (Fsave_window_excursion): Doc fix.
14278
1aa963c8
SM
142792000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14280
14281 * syntax.c (back_comment): Make sure we only consider comment-starters
14282 of the relevant style and return -1 in case of a failure to find the
14283 beginning of the comment.
14284 (Fforward_comment): If back_comment fails, go back to the position just
14285 after the comment-end.
14286 (scan_lists): Add comment describing a very minor bug.
14287
b9b84fd3
SM
142882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14289
14290 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14291 `completion-regexp-list' in the docstring.
14292
3a28db80
DL
142932000-02-14 Dave Love <fx@gnu.org>
14294
14295 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14296
fb4a568d
SM
142972000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14298
14299 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14300 to Emacs' syntax. Also fix the comment about set/not-set meanings
14301 since Emacs syntax is not the value 0 any more.
14302 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14303 since it's now part of RE_SYNTAX_EMACS.
14304
1063ebb5
DL
143052000-02-12 Dave Love <fx@gnu.org>
14306
52283633 14307 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14308
fb07a302
GM
143092000-02-12 Gerd Moellmann <gerd@gnu.org>
14310
14311 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14312
aaf2320c
DL
143132000-02-12 Dave Love <fx@gnu.org>
14314
14315 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14316
14317 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14318 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14319 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14320
14321 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14322
14323 * s/nextstep.h: Don't define HAVE_ALLOCA.
14324
14325 * config.in: Add vfork bits.
14326
eedf8bde
GM
143272000-02-12 Gerd Moellmann <gerd@gnu.org>
14328
14329 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14330 unwind function to undo the effect of stopping atimers.
14331
52283633 14332 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14333
14334 * atimer.c (stopped_atimers): New variable.
14335 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14336 New functions.
14337
14338 * atimer.h (stop_other_atimers, run_all_atimers)
14339 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14340
eedf8bde
GM
14341 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14342
8476c2f8
KR
143432000-02-11 Ken Raeburn <raeburn@gnu.org>
14344
14345 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14346 library may depend on jpeg.
14347 (atimer.o): Depends on atimer.c.
14348
0e85e4a3
KH
143492000-02-11 Kenichi Handa <handa@etl.go.jp>
14350
14351 * insdel.c (del_range_1): Call update_compositions.
14352 (del_range_both): Call update_compositions just once..
14353
97fa0cc8
DL
143542000-02-10 Dave Love <fx@gnu.org>
14355
14356 * xfns.c (create_frame_xic): Fix initialization of automatic
14357 aggregates for pcc.
14358
25566a3c
KH
143592000-02-09 Kenichi Handa <handa@etl.go.jp>
14360
14361 * ccl.c (CCL_MAKE_CHAR): New macro.
14362 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14363 registers by CCL_MAKE_CHAR before calling translate_char.
14364 <CCL_TranslateCharacterConstTbl> Likewise.
14365
69da54ba
DL
143662000-02-08 Dave Love <fx@gnu.org>
14367
14368 * lread.c (__EXTENSIONS__): Define.
14369
f7136ee8
GM
143702000-02-08 Gerd Moellmann <gerd@gnu.org>
14371
14372 * puresize.h (BASE_PURESIZE): Increase to 650000.
14373
7768790b
EZ
143742000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14375
14376 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14377 the help message.
14378
38fd211b
EZ
143792000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14380
14381 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14382 md, mh, mb, mr, and me to the fake termcap entry.
14383
66e4690f
KR
143842000-02-06 Ken Raeburn <raeburn@gnu.org>
14385
14386 * sound.c (sound_cleanup): Don't call device close routine if the
14387 function pointer is null.
14388
a75dfea0
AI
143892000-02-06 Andrew Innes <andrewi@gnu.org>
14390
14391 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14392 around image definitions and prototypes.
14393 (gamma_correct) [WINDOWSNT]: New prototype.
14394
14395 * w32term.c (x_make_frame_visible): Replace call to
14396 input_poll_signal with poll_for_input.
14397
14398 * window.c [WINDOWSNT]: Include w32term.h.
14399
14400 * xdisp.c [WINDOWSNT]: Include w32term.h.
14401
14402 * makefile.nt: Add dependencies on w32gui.h.
14403 (OBJ1): Include atimer.obj.
14404 ($(BLD)\atimer.obj): New dependency rule.
14405
14406 * w32.c (sigmask): New function (does nothing).
14407 (sigunblock): Ditto.
14408
14409 * frame.c [WINDOWSNT]: Include w32term.h.
14410
14411 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14412
14413 * lread.c (syms_of_lread): Fix literal newlines.
14414
14415 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14416 the string constant limit (2048 bytes) in MSVC.
14417 (main): Ditto.
14418
59ddecde
GM
144192000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14420
52283633 14421 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14422 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14423 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14424 dispatch the event.
14425
07590973
DL
144262000-02-04 Dave Love <fx@gnu.org>
14427
14428 * fileio.c: Remove some unused vars.
14429 (_GNU_SOURCE): Define (for euidaccess).
14430
14431 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14432
14433 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14434 gcpro1, gcpro2.
14435 (read_minibuf): Deal with allow_props correctly.
14436
649351f9
EZ
144372000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14438
14439 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14440
66e4690f 144412000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14442
14443 * search.c (compile_pattern): If a cache entry has a nil regexp,
14444 fill in that entry instead of clobbering a previously cached
14445 string regexp.
14446
66e4690f 144472000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14448
14449 * puresize.h (BASE_PURESIZE): Increase to 610000.
14450
d240a249
GM
144512000-02-02 Gerd Moellmann <gerd@gnu.org>
14452
14453 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14454 can GC.
14455
ca91fb26
KH
144562000-02-02 Kenichi Handa <handa@etl.go.jp>
14457
25660570
KH
14458 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14459 instead of incrementing ic directly.
14460 <CCL_WriteExprConst> Likewise.
14461 <ccl_set_expr>: Set ic to jump_address.
14462
ca91fb26
KH
14463 * fileio.c (e_write): Fix the handling of
14464 CODING_FINISH_INSUFFICIENT_SRC.
14465
2ede9689
DL
144662000-02-01 Dave Love <fx@gnu.org>
14467
14468 * editfns.c (Fpropertize): Doc fix.
14469
14470 * process.c (Fstart_process): Doc fix.
14471
14472 * eval.c: Fix various doc strings not to duplicate information
14473 from help-manyarg-func-alist.
14474
52283633 14475 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14476
14477 * doc.c (Vhelp_manyarg_func_alist): New variable.
14478 (Fdocumentation): Use it.
14479 (syms_of_doc): Define it.
14480
b6680a0e
GM
144812000-01-31 Gerd Moellmann <gerd@gnu.org>
14482
2cb750ba
GM
14483 * xterm.c (xim_open_dpy): Remove unused local variable.
14484
52283633 14485 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14486
14487 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14488 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14489
b6680a0e
GM
14490 * fns.c (sweep_weak_table): New function.
14491 (sweep_weak_hash_tables): Use it. Keep on marking until there
14492 is no more change.
14493
994c5afe
GM
144942000-01-30 Gerd Moellmann <gerd@gnu.org>
14495
14496 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14497 that XTread_socket does not crash by trying to call XNoOp on a
14498 closed display.
427ec082 14499
f00276e3
JR
145002000-01-30 Jason Rumney <jasonr@gnu.org>
14501
14502 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14503 Change selected_frame to SELECTED_FRAME ().
14504 (w32_console_mouse_position): Remove #ifndef MULE from around
14505 `insist' parameter.
14506
14507 * makefile.nt: Remove dosfns.obj.
14508
14509 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14510
14511 * w32fns.c (w32_defined_color): Check for valid frame before
14512 applying gamma correction. Eliminate dependency on frame elsewhere.
14513 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14514 (w32_to_x_font): Use resx and resy not height_in and width_in.
14515 (x_to_w32_font): Doc fix.
14516 (xlfd_strip_height): New function to strip and return font height.
14517 (w32_font_match): Compare height separately from rest of xlfd
14518 spec, using xlfd_strip_height.
14519
14520 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14521 width_in. Use w32_defined_color in place of defined_color.
14522
14523 * w32faces.c: Merge more of DOS and X specifics in preparation for
14524 merge with xfaces.c.
14525 (defined_color): Remove FIXME comment.
14526 (tty_color_name): Provide w32-specific function.
14527 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14528
14529 * w32console.c (turn_on_face, turn_off_face): Removed.
14530 (w32_face_attributes): New function.
14531 (Global_variables): Reduce scope where possible.
14532 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14533 fill attribute.
14534 (hl_mode): Don't modify text attributes.
14535 (write_glyphs): Don't do anything if len <= 0. Use
14536 w32_face_attributes to get attributes for drawing. Write
14537 terminating codes using char_attr_normal.
14538 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14539 (update_begin, update_end): Likewise.
14540 (vga_stdcolor_name): New function.
14541 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14542 (Fset_screen_color): Remove char_attr_reverse.
14543
b08e8bb2
GM
145442000-01-29 Gerd Moellmann <gerd@gnu.org>
14545
14546 * xfns.c (xic_set_preeditarea): Take window parameter and
14547 window-relative pixel-positions.
14548
14549 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14550 is its frame's selected window.
14551 (xim_instantiate_callback): Likewise.
14552
14553 * xfns.c (x_create_im): Removed.
14554 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14555 (supported_xim_styles): Renamed from supported_styles.
14556 (best_xim_style): Renamed from best_style.
14557 (create_frame_xic): Renamed from xic_create_frame.
14558 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14559
b08e8bb2
GM
145602000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14561
14562 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14563 our frames, call XFilterEvent with 2nd parameter `None'.
14564 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14565 returning XBufferOverflow.
52283633 14566 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14567 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14568 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14569 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14570 (xim_initialize, xim_close)
14571 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14572 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14573 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14574 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14575
14576 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14577 and `xim_styles'.
14578 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14579 `xic_style' and `xic_xfs'.
14580 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14581 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14582 (FRAME_XIM): Removed.
14583
14584 * xfns.c (supported_styles): New variable.
14585 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14586 (xic_create_xfontset, best_style, xic_create_frame)
14587 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14588 (xic_set_xfontset): New functions.
14589
142e109c
DL
145902000-01-28 Dave Love <fx@gnu.org>
14591
14592 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14593
14594 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14595
b02786f9
GM
145962000-01-28 Gerd Moellmann <gerd@gnu.org>
14597
d060bc9f
GM
14598 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14599 for *scratch* if it already existed.
14600
b02786f9
GM
14601 * emacs.c (USAGE): New macro.
14602 (main): Use it to display usage information.
14603
2c52d7e4
EZ
146042000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14605
14606 Support for the menu-help feature:
14607
52283633 14608 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14609
14610 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14611 part of the line to the termscript file.
14612 (IT_clear_to_end): Clear the entire line, not just its beginning.
14613 (menu_help_message, prev_menu_help_message): New variables.
14614 (IT_menu_make_room): Make room for the help_text member.
14615 (IT_menu_display): New argument disp_help; all callers changed.
14616 If disp_help is non-zero, store the help text of the active menu
14617 item in menu_help_message.
14618 (XMenuAddPane): Initialize the help_text member to NULL.
14619 (XMenuAddSelection): New argument help_text. Store it in the
14620 XMenu structure.
14621 (XMenuActivate): New argument help_callback. If the value of
14622 menu_help_message has changed since the last time, display the
14623 menu help message text while waiting for the mouse to move. Clear
14624 the echo area before exiting.
14625 (XMenuDestroy): Free the help_text member.
14626
ffe0bcd1
GM
146272000-01-27 Gerd Moellmann <gerd@gnu.org>
14628
14629 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14630 XMenuAddSelection. Pass help callback to XMenuActivate.
14631 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14632
50dbd23f
EZ
146332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14634
14635 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14636 and EMACS_SET_USECS.
14637
f5941bf8
GM
146382000-01-26 Dave Love <fx@gnu.org>
14639
6c67ddee
DL
14640 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14641
f5941bf8
GM
14642 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14643 an error may be signalled.
14644
9e49c990
GM
146452000-01-26 Gerd Moellmann <gerd@gnu.org>
14646
fc3cb460
GM
14647 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14648 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14649
9e49c990
GM
14650 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14651
d0c037d8
GM
146522000-01-25 Gerd Moellmann <gerd@gnu.org>
14653
14654 * charset.c (Fstring): If there is a multibyte char among
14655 the args, always return a multibyte string.
14656
e12489f9
GM
146572000-01-25 Gerd Moellmann <gerd@gnu.org>
14658
14659 * sysdep.c (sys_select): Turn atimers off and on instead of
14660 recording and restoring old alarm handler
14661
14662 * process.c (toplevel): Include atimer.h.
14663 (create_process_1): Rewritten.
14664 (create_process): Use atimers instead of alarm.
14665 (wait_reading_process_input) [hpux]: Turn atimers off instead
14666 of turning off SIGALRM.
14667 (wait_reading_process_input): Turn off atimers instead off
14668 calling stop_polling.
14669
14670 * emacs.c (main): Call init_atimer.
14671
14672 * keyboard.c (toplevel): Include systime.h and atimer.h.
14673 (polling_for_input): Removed because unused.
14674 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14675 (poll_timer): New variable.
14676 (poll_for_input, poll_for_input_1): New functions.
14677 (start_polling, stop_polling): Rewritten.
14678
14679 * keyboard.h (polling_for_input): Removed.
427ec082 14680
e12489f9
GM
14681 * atimer.h, atimer.c: New files.
14682
14683 * Makefile.in (obj): Add atimer.o.
14684 (atimer.o): New target.
14685
14686 * blockinput.h (pending_atimers): Add extern declaration.
14687 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14688
14689 * lisp.h (popup_activated_flag): Add extern declaration.
14690
14691 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14692 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14693 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14694
14695 * xterm.c (toplevel): Include atimer.h.
14696 (toolkit_scroll_bar_interaction): New variable.
14697 (Fxt_process_timeouts): Removed.
14698 (x_process_timeouts): New function.
14699 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14700 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14701 (x_make_frame_visible): Call poll_for_input_1 instead of
14702 input_poll_signal. Don't call alarm.
14703 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14704
1e5279b9
DL
147052000-01-24 Dave Love <fx@gnu.org>
14706
6c67ddee 14707 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14708 Don't use -cckr -- apparently not now necessary.
14709
edf6aeb8
EZ
147102000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14711
14712 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14713 screen boundary.
14714
9badad41
JR
147152000-01-23 Jason Rumney <jasonr@gnu.org>
14716
14717 * w32fns.c (w32_defined_color): Apply gamma correction before
14718 trying to map to the palette.
14719 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14720 to w32_clear_rect.
14721
14722 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14723 here. Callers changed to always pass real device context.
14724 (w32_draw_bitmap): Likewise.
14725 (w32_get_glyph_overhangs): Likewise.
52283633 14726 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14727 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14728 pfnSetScrollInfo and SetScrollRange.
14729 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14730 back into MULE characters after decoding them.
14731 (x_get_glyph_face_and_encoding): Likewise.
14732 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14733 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14734 (x_produce_glyphs): Calculate per char metrics for a character
14735 that we know exists in default font when font_not_found_p is true.
14736
63bd786b
JR
147372000-01-22 Jason Rumney <jasonr@gnu.org>
14738
14739 * makefile.nt (intervals.obj, composite.obj): New modules.
14740 (composite.h): Added as dependency where appropriate.
14741
14742 * w32gui.h (XGCValue): New struct for emulating X GCs.
14743
14744 * w32term.h (XCharStruct): New struct for emulating X.
14745
14746 * w32console.c (turn_on_face, turn_off_face): New functions.
14747 (change_line_highlight): New prototype for new redisplay.
14748 (write_glyphs): Support multibyte text. Support faces.
14749
52283633 14750 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14751
14752 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14753 throughout. struct frame * in place of FRAME_PTR.
14754 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14755 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14756 (w32_get_arg): Renamed from x_get_arg.
14757 (Fx_file_dialog): New function.
14758 (w32_list_fonts): Check cache before asking system.
14759 (Vw32_enable_synthesized_fonts): New variable.
14760 (Vw32_enable_italics): Obsolete, removed.
14761
14762 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14763 Use SELECTED_FRAME macro.
14764
14765 * w32menu.c: Add skeleton support for help strings on menus.
14766 (add_menu_item): Native checkbox and radio support added, but not
14767 yet enabled due to bugs.
14768 (push_menu_item): Add parameters type, selection and help.
14769 Callers updated.
14770 Formatting changes to reduce unnecessary diffs with xmenu.c.
14771
14772 * w32select.c (Fw32_set_clipboard_data): Update call to
14773 find_charset_in_str.
14774
14775 * w32term.c: Complete rewrite for new redisplay based on new
14776 xterm.c with necessary sections merged back in from old w32term.c.
14777
6ffd3cf7 147782000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14779
14780 * data.c (set_internal): Further fix in same criterion.
14781
6ffd3cf7 147822000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14783
14784 * data.c (set_internal): Fix the criteria for whether
14785 to swap out the old cached binding.
14786
60af03f1
DL
147872000-01-19 Dave Love <fx@gnu.org>
14788
14789 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14790
f9be074f
KH
147912000-01-18 Kenichi Handa <handa@etl.go.jp>
14792
14793 * regex.c (re_compile_fastmap): While checking a range table for
14794 `charset', skip flag bits for a character class correctly.
14795
52b8dbf9
GM
147962000-01-17 Gerd Moellmann <gerd@gnu.org>
14797
d36100c9
GM
14798 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14799
52283633 14800 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14801
14802 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14803 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14804
14805 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14806 MENU_ITEMS_ITEM_.*.
14807 (MENU_ITEMS_ITEM_HELP): New enumerator.
14808 (push_menu_item): Add parameter HELP. Record help in menu_items.
14809 (single_menu_item, single_submenu, list_of_items): Call
14810 push_menu_item with new parameter.
14811 (single_submenu): Set help string in widget value.
14812 (menu_highlight_callback): New function.
14813 (set_frame_menubar): Call lw_create_widget with new
14814 parameter list.
14815 (xmenu_show, xdialog_show): Ditto.
14816
3139018f
GM
148172000-01-13 Gerd Moellmann <gerd@gnu.org>
14818
14819 * sound.c (Fplay_sound): Improve doc string.
14820
83c8f461
RS
148212000-01-11 Richard M. Stallman <rms@gnu.org>
14822
14823 * lisp.h (set_internal): Enter the new arg.
14824
14825 * eval.c (specbind): Record buffer-local variables specially,
14826 indicating which buffer's binding was saved.
14827 (unbind_to): Restore buffer-local variables specially
14828 in the proper buffer.
14829
14830 * data.c (set_internal): New arg BUF.
427ec082 14831
83c8f461
RS
14832 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14833 * data.c (Fset): Pass new arg to set_internal.
14834 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14835
1fab1775
GM
148362000-01-11 Gerd Moellmann <gerd@gnu.org>
14837
52283633 14838 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14839
83c8f461 148402000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14841
14842 * minibuf.c (Ftry_completion): Doc fix.
14843
7a85e4df
GM
148442000-01-11 Gerd Moellmann <gerd@gnu.org>
14845
14846 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14847 vector, too.
14848
a970dae4
AS
148492000-01-11 Andreas Schwab <schwab@suse.de>
14850
14851 * coding.c (code_convert_region): Initialize total_skip.
14852
c65d14ee
DL
148532000-01-08 Dave Love <fx@gnu.org>
14854
14855 * eval.c (Fuser_variable_p): Check customizability too.
14856
834938d2
GM
148572000-01-07 Gerd Moellmann <gerd@gnu.org>
14858
14859 * minibuf.c (Fcompleting_read): Doc fix.
14860
e0303cd6
GM
148612000-01-05 Gerd Moellmann <gerd@gnu.org>
14862
8a26744b
GM
14863 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14864 -L /usr/local/lib.
14865
e0303cd6
GM
14866 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14867 Check that input style is supported before trying to create an
14868 IC for it.
14869 (x_window): Call x_create_im.
427ec082 14870
2e471eb5
GM
148712000-01-04 Gerd Moellmann <gerd@gnu.org>
14872
560a7bd2
GM
14873 * xfns.c (current_gif_memory_src): New variable.
14874 (gif_load): Record the address of the current memory source
14875 in current_gif_memory_src.
14876 (gif_read_from_memory): Use current_gif_memory_src.
14877
f9ee84a3
GM
14878 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14879 macros statement form.
14880
d1299cde
GM
14881 * sound.c (struct sound): Renamed from struct sound_file.
14882 (struct sound): Add members `data' and `header_size'.
14883 (enum sound_attr): Add SOUND_DATA.
14884 (current_sound, current_sound_device): Variables renamed from
14885 sound_file and sound_device.
14886 (parse_sound): Parse :data.
14887 (parse_sound): Handle sound data in strings.
14888 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14889 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14890 needed header size.
14891 (wav_play, au_play): Play sounds from string data.
14892
2e471eb5
GM
14893 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14894
14895 * lisp.h: Add prototype for allocate_string_data.
14896
52283633 14897 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14898
14899 * alloc.c (mark_buffer): Remove code in #if 0.
14900 (gc_sweep): Ditto.
14901 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14902 (strings_consed): New variable.
14903 (allocate_string): Set it.
14904 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14905 (Fmemory_use_counts): Return strings_consed. Use Flist.
14906
14907 * alloc.c: General cleanup in comments etc. Remove conditional
14908 compilation for `standalone'.
14909
14910 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14911
14912 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14913 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14914 (DONT_COPY_FLAG): Removed.
14915 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14916 (struct sdata, struct sblock): New
14917 (struct string_block): Rewritten.
14918 (STRINGS_IN_STRING_BLOCK): New macro.
14919 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14920 (large_sblocks, string_blocks, string_free_list): New variables.
14921 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14922 (init_strings): Rewritten.
14923 (allocate_string, allocate_string_data, compact_small_strings)
14924 (free_large_strings, sweep_strings): New functions.
14925 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14926 (struct string_block_head, current_string_block)
14927 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14928 (STRING_PAD): Removed.
14929 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14930 (Fgarbage_collect): Don't set mark bit in large strings.
14931 (mark_object): Mark strings differently. Mark symbol names
14932 differently.
14933 (survives_gc_p): Test marked strings differently.
427ec082 14934 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14935 symbol names.
14936 (compact_strings): Removed.
14937
42608ba8
EZ
149382000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14939
14940 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14941 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14942
e0a09e1a
KH
149432000-01-04 Kenichi Handa <handa@etl.go.jp>
14944
dd9f0750 14945 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14946 in a non-empty buffer.
dd9f0750 14947
3c0f3b15 14948 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14949
44cd3ae5
GM
149502000-01-03 Gerd Moellmann <gerd@gnu.org>
14951
14952 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14953 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14954
14955 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14956
c182a70f
EZ
149572000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14958
14959 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14960 need to test for MSDOS frames.
14961
24480d5b
EZ
149622000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14963
14964 * dosfns.c (unspecified_colors): Remove.
14965 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14966 unspecified_bg.
14967 (msdos_stdcolor_name): Return strings for unspecified fore- and
14968 back-ground colors.
14969
14970 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14971 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14972 (tty_color_name): Return Lisp strings for unspecified fore- and
14973 back-ground colors.
14974 (Finternal_set_lisp_face_attribute): Remove the special treatment
14975 for Qunspecified_{f,b}g.
52283633 14976 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14977
047f434a
GM
149782000-01-03 Gerd Moellmann <gerd@gnu.org>
14979
14980 * xdisp.c (reseat_at_next_visible_line_start): Position before
14981 newline only if ending up on a newline.
14982 (next_element_from_ellipsis): Return success. Handle case of
52283633 14983 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14984 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14985 returns 0.
14986
d684c676
EZ
149872000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14988
14989 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14990 (Fcolor_supported_p): Renamed from face-color-supported-p.
14991
5fe1d139
EZ
149922000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14993
14994 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14995 list of colors renamed to tty-defined-color-alist.
14996 (tty_color_name): Pass the frame to tty-color-by-index.
14997 (realize_tty_face): tty-color-alist is now a function which
14998 accepts the frame as argument.
14999
52283633 15000 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15001
816be8b8
EZ
150022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15003
15004 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15005 encode_terminal_code.
15006
b635321e
EZ
150072000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15008
15009 * dispnew.c (mode_line_string): Support termcap frames as well.
15010
9b784e96
GM
150112000-01-01 Gerd Moellmann <gerd@gnu.org>
15012
27189709
GM
15013 * syntax.c (Fforward_word): Undo previous change.
15014
15015 * editfns.c (Fconstrain_to_field): Don't constrain if
15016 inhibit-field-text-motion is non-nil.
15017 (Fline_beginning_position): Undo previous change.
15018 (Fline_end_position): Ditto.
15019
15020 * syntax.c (Fforward_word): Notice field boundaries only if
15021 inhibit-field-text-motion is nil.
15022
15023 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15024
15025 * editfns.c (Vinhibit_field_text_motion): New variable.
15026 (inhibit-field-text-motion): New DEFVAR_LISP.
15027 (Fline_beginning_position, Fline_end_position): Notice field
15028 boundaries only if inhibit-field-text-motion is nil.
15029
45158a91
GM
15030 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15031 All calls adjusted.
15032 (x_build_heuristic_mask): Likewise.
15033 (xbm_load_image_from_file): Change error output.
15034 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15035 (gif_load, gs_load, x_kill_gs_process): Ditto.
15036
9b784e96
GM
15037 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15038 color indices when accessing raster pixels.
63cec32f
GM
15039 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15040 one of :file or :data.
15041 (enum pbm_keyword_index): Add PBM_DATA.
15042 (pbm_format): Add :data.
15043 (pbm_image_p): Allow either :file or :data.
15044 (pbm_read_file): New function.
15045 (pbm_scan_number): Rewritten to read from string.
15046 (pbm_load): Support :data.
9b784e96 15047
2cb085db 15048See ChangeLog.8 for earlier changes.
6922b018
KH
15049
15050;; Local Variables:
49b3bd82 15051;; coding: iso-2022-7bit
6922b018 15052;; End:
2a34a036
GM
15053
15054 Copyright (C) 2001 Free Software Foundation, Inc.
15055 Copying and distribution of this file, with or without modification,
15056 are permitted provided the copyright notice and this notice are preserved.