Use setq rather than (set 'foo bar).
[bpt/emacs.git] / src / ChangeLog
CommitLineData
493faf20
AI
12001-12-14 Andrew Innes <andrewi@gnu.org>
2
3 * makefile.w32-in (bootstrap-temacs): Remove dependency on
4 bootstrap-clean.
5
4971e491
EZ
62001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
7
397b3b50 8 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
9 parameter have a numeric value all the time.
10
11 * w32fns.c (x_report_frame_params): Likewise.
12
d911a0fa
RS
132001-12-12 Richard M. Stallman <rms@gnu.org>
14
15 * fileio.c (Fwrite_region): Doc fix.
16
17 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
18 (redisplay_internal): Call clear_image_cache only for window terminals.
19
201c831a
GM
202001-12-12 Gerd Moellmann <gerd@gnu.org>
21
22 * xdisp.c (move_it_vertically_backward): Change heuristic
23 for the case that we didn't move far enough initially.
24
25 * window.c (Frecenter): Simplify computation in the case of window
26 system frames and ARG < 0; use window_box_height.
27
34e39c95
RS
282001-12-11 Richard M. Stallman <rms@gnu.org>
29
30 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
31 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
32
d77fbc16
AI
332001-12-11 Andrew Innes <andrewi@gnu.org>
34
35 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
36 arg is negative.
37
61e3b944
RS
382001-12-11 Richard M. Stallman <rms@gnu.org>
39
40 * m/hp800.h: Split the __hpux conditional into the parts
41 that are right for GNU/Linux too and the parts that are not.
42 Use the former if GNU_LINUX.
43 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
44
45 * s/gnu-linux.h (GNU_LINUX): Defined.
46
70da46c3
PJ
472001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
48
49 * macros.c, msdos.c, w16select.c: Change doc-string comments to
50 `new style' [w/`doc:' keyword].
51
8af01033
JR
522001-12-10 Jason Rumney <jasonr@gnu.org>
53
54 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
55 before using.
56
7363986a
PJ
572001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
58
59 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
60 keyword].
61
d9e6c4b1
EZ
622001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
63
d20fc48a
EZ
64 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
65
d9e6c4b1
EZ
66 * s/hpux10.h (srand48): Don't undefine.
67
f1a85b89
JR
682001-12-09 Jason Rumney <jasonr@gnu.org>
69
70 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
71 comment to explain where the struct came from.
72 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
73 (add_menu_item): Process pop-up menus first to avoid memory leak.
74 (add_menu_item, w32_menu_display_help): Use `help' field as
75 Lisp_Object.
76 (w32_free_submenu_strings): Only free owner-drawn strings.
77
3a62677f
PJ
782001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
79
72244db2
PJ
80 * COPYING: Moved back.
81
3a62677f
PJ
82 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
83 Add parentheses around && within ||.
84
85 * indent.c (compute_motion): Likewise.
86
87 * intervals.c (merge_properties_sticky): Likewise.
88
89 * coding.c (setup_coding_system, shrink_encoding_region)
90 (Fdecode_sjis_char): Likewise.
91
9d113d9d
AS
922001-12-07 Andreas Schwab <schwab@suse.de>
93
b8523839
AS
94 * xdisp.c (display_mode_element): Don't read past end of string if
95 it ends with '%'.
96
9464dea4
AS
97 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
98 can hold.
99
9d113d9d
AS
100 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
101 from most_positive_fixnum and most_negative_fixnum, resp., and
102 type changed to Lisp_Object.
103 (syms_of_data): DEFVAR_LISP them.
104
70ec1377
RS
1052001-12-07 Richard M. Stallman <rms@gnu.org>
106
107 * callproc.c (init_callproc): Set Vdata_directory based on the source
108 location whenever Emacs was run uninstalled.
109
92f7dd37
PE
1102001-12-06 Paul Eggert <eggert@twinsun.com>
111
112 * config.in (HAVE_WORKING_VFORK): New #undefs.
113 * process.c (create_process):
114 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
115 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
116 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
117 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
118 * m/intel386.h (HAVE_VFORK): Likewise.
119 * m/mips-siemens.h (HAVE_VFORK): Likewise.
120 * m/mips.h (HAVE_VFORK): Likewise.
121 * s/freebsd.h (vfork): Remove #define.
122 * s/lynxos.h (HAVE_VFORK): Remove #undef.
123 * s/usg5-4-2.h: Fix comment about vfork.
124
c93674bb
RS
1252001-12-06 Richard M. Stallman <rms@gnu.org>
126
127 * s/hpux10.h (random): Add undef.
128 (HAVE_RANDOM): Define it just once.
129
59b59892
SM
1302001-12-06 Stefan Monnier <monnier@cs.yale.edu>
131
132 * eval.c: Undo last change: the standard syntax is not wanted.
133
c6ea2775
EZ
1342001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
135
136 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
137 scroll bars of the frame before deleting the frame itself. If the
138 frame has a widget, delete the frame with XtDestroyWidget, and do
139 not call XDestroyWindow before that.
140
91175673
KS
1412001-12-06 Kim F. Storm <storm@cua.dk>
142
143 * xfns.c (x_report_frame_params): Return actual fringe widths.
144
145 * w32fns.c (x_report_frame_params): Return actual fringe widths.
146
e0fead5d
AI
1472001-12-05 Andrew Innes <andrewi@gnu.org>
148
149 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
150 excessively large.
151
152 * insdel.c (make_gap_larger): New function.
153 (make_gap_smaller): New function.
154 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
155 make_gap_smaller if arg is negative.
156
c186cdb3
SM
1572001-12-04 Stefan Monnier <monnier@cs.yale.edu>
158
159 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
160 Pass a dummy argument when calling interrupt_signal.
161 (parse_menu_item): Mark disabled items before checking for empty def.
162 (read_char_minibuf_menu_prompt): Make safety more visible.
163 (read_key_sequence): Add a `first_unbound' variable.
164 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
165 unbound prefix as soon as we can detect it.
166
167 * doc.c (Fsnarf_documentation): Add prototype.
168 (get_doc_string): Handle negative arguments.
169 (Fdocumentation): Use AREF and ASIZE.
170 Move the calls to get_doc_string to a single place.
171 Don't confuse an interactive-spec for a docstring reference.
172 (Fdocumentation_property): Take advantage of the fact that
173 get_doc_string now ignores the sign of the docstring position.
174
175 * eval.c: Use standard syntax for usage in docstrings.
176
58cfce98
PJ
1772001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
178
c186cdb3 179 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 180
62854fe2
PJ
1812001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
182
183 * xterm.c (x_draw_image_relief): Use predefined macro instead of
184 constant when the value of `tool_bar_button_relief' is negative.
185
656f46bb
RS
1862001-12-02 Richard M. Stallman <rms@gnu.org>
187
188 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
189 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
190
191 * fileio.c (read_non_regular): Delete Fsignal call.
192
036e218d
SM
1932001-12-01 Stefan Monnier <monnier@cs.yale.edu>
194
195 * lisp.h (run_hook_list_with_args): Undo last change.
196
7ddb2c16
GM
1972001-12-01 Gerd Moellmann <gerd@gnu.org>
198
199 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
200
ace9b298
JR
2012001-12-01 Jason Rumney <jasonr@gnu.org>
202
90647b07
JR
203 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
204
205 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
206 [!WM_MOUSELEAVE]: Define.
207
ace9b298
JR
208 * w32menu.c (current_popup_menu, get_menu_item_info):
209 (set_menu_item_info): New vars.
210 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
211 (w32_menu_show): Set current_popup_menu.
212 (add_menu_item): Allocate new strings for owner-drawn menu items
213 and help strings.
214 Use owner-draw for disabled menu items again.
215 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
216 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
217
218 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
219 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
220 <WM_EXITMENULOOP>: Free menu strings.
221 <WM_MOUSELEAVE>: Stop tracking mouse.
222 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
223
224 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
225 and mouse face.
226
a9549909 2272001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
228
229 The following changes add left-fringe and right-fringe
230 frame parameters to adjust fringe widths, or remove one or
231 both fringes.
036e218d 232
9fbc32aa
KS
233 * frame.h (struct frame): Remove trunc_area_pixel_width and
234 trunc_area_cols fields.
235 (Qleft_fringe, Qright_fringe): Declare.
236 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
237
238 * frame.c (Qleft_fringe, Qright_fringe): New vars.
239 (syms_of_frame): Initialize them.
240
241 * window.c (coordinates_in_window): Handle separate left and right
242 fringe widths.
243
244 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
245 and fringe_cols fields.
246 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
247 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
248 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
249 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
250 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
251 (x_compute_fringe_widths): Add prototype.
252
253 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
254 fill fringe evenly with small dashes.
255 (x_draw_fringe_bitmap): Clear background if necessary. Align and
256 clip the new ZV bitmap to avoid jitter between rows.
257 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
258 background. Don't draw fringe bitmaps if fringe width is zero.
259 (x_compute_fringe_widths): New function.
260 (x_new_font, x_set_window_size_1): Use it.
261
262 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
263 (x_set_frame_parameters): Process Process `font' parameter before other
264 parameters as fringe widths depend on it.
265 (x_set_fringe_width): New function.
266 (x_figure_window_size): Use x_compute_fringe_widths.
267 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
268 parameters.
269
270 * widget.c (set_frame_size): Use x_compute_fringe_widths.
271 (EmacsFrameSetCharSize): Ditto.
272
273 * w32term.h: Merged changes from xterm.h.
274 * w32term.c: Merged changes from xterm.c.
275 * w32fns.c: Merged changes from xfns.c.
276
0142178a
PJ
2772001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
278
279 * COPYING: Removed.
280
d4824a5d
DL
2812001-11-29 Dave Love <fx@gnu.org>
282
283 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
284 extra extra slot.
285 (detect_coding_mask): Fix call of detect_coding_iso2022.
286
b1356234
PJ
2872001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
288
289 * fileio.c (file-name-coding-system)
290 (default-file-name-coding-system): Doc fix (links to referenced
291 variables added).
292
3ce081f5
SM
2932001-11-28 Stefan Monnier <monnier@cs.yale.edu>
294
99e380ee
SM
295 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
296 Add dummy uses of gcproN variables.
297
3ce081f5 298 * category.c (describe_category, describe_category_1)
2ad56c09 299 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
300 (syms_of_category): Don't defsubr Sdescribe_categories.
301
66458f32
RS
3022001-11-28 Richard M. Stallman <rms@gnu.org>
303
304 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
305
306 * Makefile.in (lispdir): New variable, referring to build dir.
307 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
308
59a86c99
AI
3092001-11-28 Andrew Innes <andrewi@gnu.org>
310
311 * w32menu.c (w32_menu_display_help): Actually add the new argument
312 OWNER.
313
eb77a5f4
JR
3142001-11-28 Jason Rumney <jasonr@gnu.org>
315
316 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
317 menu items. From David Ponce <dponce@wanadoo.fr>.
318 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
319 conditionally.
320 (w32_menu_display_help): New argument OWNER. Rewritten to store a
321 help event in the owner frame's keyboard buffer.
322
323 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
324 (Fx_show_tip): Don't subtract last width from row width.
325
326 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
327 (w32_read_socket): Use EQ to compare frames.
328
bb313871
GM
3292001-11-28 Gerd Moellmann <gerd@gnu.org>
330
331 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
332 OVERLAPS_P.
333
55b43a63
PJ
3342001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
335
6052529b
PJ
336 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
337 `gcpro3' and `gcpro4'.
338
3ce081f5
SM
339 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
340
3412001-11-28 Stefan Monnier <monnier@cs.yale.edu>
342
343 * ccl.c: Use AREF and ASIZE.
344
3452001-11-27 Stefan Monnier <monnier@cs.yale.edu>
346
347 * lisp.h (run_hook_list_with_args): Remove.
348 (LIST_END_P): Fix call to wrong_type_argument.
349 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 350
111ed14e
SM
3512001-11-26 Stefan Monnier <monnier@cs.yale.edu>
352
9fabb2f5
SM
353 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
354 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
355
356 * eval.c: Use AREF and ASIZE.
357 (Ffetch_bytecode): Add the file name to the error message.
358
359 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
360 which match the end of the file-name.
361 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
362 is not a valid env var, but leave it as is instead.
363
111ed14e
SM
364 * keymap.c (access_keymap): Handle t bindings like nil bindings.
365 Make nil bindings in char-tables transparent.
366 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
367
2fa0eedf
RS
3682001-11-26 Richard M. Stallman <rms@gnu.org>
369
d1420435
RS
370 * textprop.c (set_text_properties_1): Allow START, END in either order.
371 Do nothing if range is empty.
372
2fa0eedf
RS
373 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
374
ebcbef4e
RS
375 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
376 (clean): Not here.
377
5c131048
SM
3782001-11-25 Stefan Monnier <monnier@cs.yale.edu>
379
380 * textprop.c (set_text_properties_1): Clearly mark that the
381 interval should not be empty.
382
383 * intervals.c (graft_intervals_into_buffer):
384 Don't call set_text_properties_1 on an empty interval.
385
96d276c3
RS
3862001-11-25 Richard M. Stallman <rms@gnu.org>
387
6108b49c
RS
388 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
389
96d276c3
RS
390 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
391 don't lose the data in it.
392
5eea19a4
RS
3932001-11-25 Juanma Barranquero <lektu@terra.es>
394
395 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
396
397 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
398
399 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
400
438e57dd
SM
4012001-11-25 Stefan Monnier <monnier@cs.yale.edu>
402
403 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
404
c88e5347
EZ
4052001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
406
407 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
408 Niemitalo <kon@iki.fi>.
409
59ce1461
JR
4102001-11-25 Jason Rumney <jasonr@gnu.org>
411
412 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
413
414 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
415 (Fx_show_tip): Block input during frame creation.
416 (Fx_show_tip, Fx_hide_tip): Enable.
417
8727d588
RS
4182001-11-24 Richard M. Stallman <rms@gnu.org>
419
420 * lread.c (Fload): Detect recursive load error for more than 3
421 nestings of the same file.
422 (Vrecursive_load_depth_limit): Variable deleted.
423 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
424
cc63037e
JR
4252001-11-24 Jason Rumney <jasonr@gnu.org>
426
427 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
428 mouse position if either left or top is not specified.
429
430 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
431 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
432 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
433 (my_create_tip_window): Assign tip_window.
434 (x_create_tip_frame): Use same defaults as X.
435 (compute_tip_xy): Remove unused variable. Use full screen width.
436 (Fx_show_tip): Do not double height. Call ShowWindow directly.
437
438 * w32term.c (x_after_update_window_line): Doc fix.
439 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
440 frames.
441 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
442
443 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
444 for all Windowed systems.
445
deece6f5
EZ
4462001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
447
448 * msdos.c (IT_clear_screen): If the frame's faces are not yet
449 realized, use the initial screen colors to clear the screen.
450
1b944d9c
PJ
4512001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
452
28ff4293
PJ
453 * textprop.c (Fset_text_properties): Remove unused variables
454 `unchanged', `prev_changed', `s' and `len'.
455
56167cc5
PJ
456 * search.c (Freplace_match): Remove unused variable `inslen'.
457
1b944d9c
PJ
458 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
459
ca56d953
JR
4602001-11-22 Jason Rumney <jasonr@gnu.org>
461
462 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
463 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
464 (my_create_tip_window): New function.
465 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
466 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
467
33399dce
JR
4682001-11-20 Jason Rumney <jasonr@gnu.org>
469
470 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
471 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
472
473 * w32fns.c (Vw32_system_coding_system): Remove.
474 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
475
9b46de40
SM
4762001-11-19 Stefan Monnier <monnier@cs.yale.edu>
477
6710ea06
SM
478 * fileio.c (Fwrite_region): Move choose_write_coding_system to
479 after build_annotations.
480
a395ef6a
SM
481 * syntax.c (describe_syntax): Add dummy arg.
482 (describe_syntax_1): Update call to describe_vector.
483
484 * category.c (describe_category): Add dummy arg.
485 (describe_category_1): Update call to describe_vector.
486
487 * keymap.c (Fdescribe_vector): Add `describer' parameter.
488 (describe_command, describe_translation): Add dummy second param.
489 (describe_map): Call elt_describer with two arguments.
490 (describe_vector_princ): Add `fun' parameter.
491 Call it instead of the hardcoded `princ'.
492 (describe_vector): Add arg `args'.
493 Pass it as a new second argument to elt_describer.
494
495 * keymap.h (describe_vector): Update prototype.
496
9b46de40
SM
497 * frame.c: Don't include keymap.h any more.
498 (keys_of_frame): Remove.
499
500 * lisp.h (keys_of_frame): Remove declaration.
501
502 * emacs.c (main): Don't call `keys_of_frame' any more.
503
aff37336
SS
5042001-11-14 Andreas Schwab <schwab@suse.de>
505
506 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
507 if defined, 0 otherwise.
9b46de40 508 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
509 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
510
b9937f07
RS
5112001-11-19 Richard M. Stallman <rms@gnu.org>
512
513 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
514
2cd23960
JR
5152001-11-18 Jason Rumney <jasonr@gnu.org>
516
517 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
518 (x_draw_bar_cursor): If the background color of the glyph under
519 the cursor equals the frame's cursor color, use the glyph's
520 foreground color for drawing the bar cursor.
521 (x_after_update_window_line): Clear internal border in different
522 circumstances.
523 (w32_set_vertical_scroll_bar): Check for width and height > 0.
524 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
525 (x_set_glyph_string_background_width):
526 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
527 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
528 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
529 if cursor_in_non_selected_windows is false.
9b46de40 530 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
531 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
532 Notice if cursor gets overwritten.
533 (notice_overwritten_cursor): Renamed from
534 note_overwritten_text_cursor. Rewritten to take glyph widths
535 into account, and to take X positions as parameters.
536 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
537 around call to x_draw_glyphs.
538 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
539 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
540 color to use for image glyph reliefs.
541 (x_draw_image_relief): Accept zero tool_bar_button_relief.
542 (glyph_rect): Remove unused variable `area'.
543
544 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
545 some items.
546 (x_set_internal_border_width): Set frame garbaged when window
547 doesn't exist yet.
548 (Fx_create_frame): Accept zero tool_bar_button_relief.
549 (x_clear_image_1, four_corners_best, image_background)
550 (image_background_transparent): New functions.
551 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
552 (gs_format): Add `:background' entry.
553 (lookup_image): Set IMG's background color if specified.
554 (pbm_load, xbm_load_image, png_load): Set IMG's background field
555 when appropriate.
556 (x_clear_image_1): Reset `background_valid' and
557 `background_transparent_valid' fields.
558 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
559 calculating it here. Set IMG's background_transparent field.
560 (enum xpm_keyword_index): Add XPM_BACKGROUND.
561 (enum png_keyword_index): Add PNG_BACKGROUND.
562 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
563 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
564 (enum gif_keyword_index): Add GIF_BACKGROUND.
565 (enum gs_keyword_index): Add GS_BACKGROUND.
566 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
567 Pre-calculate image background color where necessary.
9b46de40
SM
568 (x_create_x_image_and_pixmap, xbm_load, gs_load):
569 Use display info's n_cbits entry for screen depth.
2cd23960
JR
570 (Fx_show_tip): Remove unused variables `buffer', `top',
571 `left', `max_width' and `max_height'.
572
573 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
574
a4184c1c
GM
5752001-11-18 Gerd Moellmann <gerd@gnu.org>
576
577 * puresize.h (BASE_PURESIZE): Increase to 750000.
578
f6fa0866
PJ
5792001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
580
581 * frame.c (Fframe_live_p): Doc fix.
582
f4ca4b00
RS
5832001-11-18 Richard M. Stallman <rms@gnu.org>
584
585 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
586 (message_dolog_marker3): New static variables hold three markers.
587 (syms_of_xdisp): Initialize and staticpro them.
588 (message_dolog): Use message_dolog_marker1..3 instead of
589 allocating markers each time. Unchain them when done.
590
f4e25f94
RS
5912001-11-17 Richard M. Stallman <rms@gnu.org>
592
593 * doc.c (Fsnarf_documentation): Doc fix.
594
91c153e2
AS
5952001-11-17 Andreas Schwab <schwab@suse.de>
596
597 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
598
65b7d3e7
RS
5992001-11-17 Richard M. Stallman <rms@gnu.org>
600
601 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
602
6b5f6311
JR
6032001-11-17 Jason Rumney <jasonr@gnu.org>
604
605 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
606
be676094
GM
6072001-11-17 Gerd Moellmann <gerd@gnu.org>
608
609 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
610 with invalid position.
611
032a857d
RS
6122001-11-16 Richard M. Stallman <rms@gnu.org>
613
614 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
615
616 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
617 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
618 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
619
620 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
621
b6270150
SM
6222001-11-16 Stefan Monnier <monnier@cs.yale.edu>
623
624 * fileio.c (build_annotations): Split off the tail.
625 (build_annotations_2): New fun. Extracted from build_annotations.
626 (Fwrite_region): Split the call to build_annotations into two
627 calls to build_annotations and build_annotations_2.
628
792e5cbd
PJ
6292001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
630
98cbb9fa
PJ
631 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
632 clear_waiting_for_input with argument.
633
634 * xterm.h (x_update_cursor): Remove duplicated prototype.
635
b6270150 636 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 637
ea904403 638 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 639
ea904403 640 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 641
fa336b91
SM
6422001-11-16 Stefan Monnier <monnier@cs.yale.edu>
643
644 * fileio.c (choose_write_coding_system): New fun, extracted
645 from Fwrite_region.
646 (Fwrite_region): Use it.
647
648 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
649 (funcall_lambda, run_hook_with_args): Make static and add prototype.
650 (ml_apply, find_handler_clause): Add prototype.
651
077907d4
EZ
6522001-11-16 Eli Zaretskii <eliz@gnu.org>
653
aa2af83a
EZ
654 * config.in: Add #undef HAVE_COFF_H.
655
077907d4
EZ
656 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
657 Required for ISC 4.1.
658
1756e2fb
EZ
6592001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
660
661 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
662 Andrew Wiseman <a.wiseman@btclick.com>.
663
06e8f738
KS
6642001-11-16 Kim F. Storm <storm@cua.dk>
665
666 The following changes are made to clean up the various internal
667 references to the fringes to actually use the term `fringe' for
668 them. Previously, they were called `flags areas', `bitmap areas',
669 `left/right side of windows', or implicitly as `flags' or
670 `bitmaps':
671
672 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
673 Comments fixed. Use renamed symbols.
fa336b91 674
06e8f738 675 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 676
06e8f738
KS
677 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
678 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
679 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 680
06e8f738 681 * msdos.c: Comment fix.
fa336b91 682
06e8f738 683 * w32fns.c: Use renamed symbols.
fa336b91 684
06e8f738
KS
685 * w32term.c: Comment fixes. Use renamed symbols.
686 (fringe_bitmap_type): Renamed from bitmap_type.
687 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
688 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
689 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 690
06e8f738
KS
691 * w32term.h: Comment fixes. Use renamed symbols.
692 (fringes_extra): Renamed from flags_areas_extra.
693 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
694 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
695 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
696 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
697 (FRAME_X_LEFT_FRINGE_WIDTH):
698 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
699 (FRAME_X_RIGHT_FRINGE_WIDTH):
700 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
701
06e8f738 702 * widget.c: Use renamed symbols.
fa336b91 703
06e8f738
KS
704 * window.c: Comment fixes. Use renamed symbols.
705 (coordinates-in-window-p): Doc fix.
fa336b91 706
06e8f738 707 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 708
06e8f738 709 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 710
06e8f738 711 * xfns.c: Use renamed symbols.
fa336b91 712
06e8f738
KS
713 * xterm.c: Comment fixes. Use renamed symbols.
714 (fringe_bitmap_type): Renamed from bitmap_type.
715 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
716 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
717 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
718
719 * xterm.h: Comment fixes. Use renamed symbols.
720 (fringes_extra): Renamed from flags_areas_extra.
721 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
722 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
723 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
724 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
725 (FRAME_X_LEFT_FRINGE_WIDTH):
726 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
727 (FRAME_X_RIGHT_FRINGE_WIDTH):
728 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 729
9ce647f4
JR
7302001-11-15 Jason Rumney <jasonr@gnu.org>
731
732 * w32menu.c (add-menu-item): Make help_echo and radio buttons
733 work for most menu items. From David Ponce
734 <david.ponce@wanadoo.fr>.
735
9b784ab8
GM
7362001-11-15 Gerd Moellmann <gerd@gnu.org>
737
9f7e52b4
GM
738 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
739 Some x_set_* function expect to be called even if old and new
740 value are equal.
741
742 * xdisp.c (build_desired_tool_bar_string): Accept zero
743 tool_bar_button_relief.
744
745 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
746
747 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 748
34e5d0af
GM
749 * xterm.c (x_draw_bar_cursor): If the background color of the
750 glyph under the cursor equals the frame's cursor color, use
751 the glyph's foreground color for drawing the bar cursor.
752
9b784ab8
GM
753 * dispnew.c (direct_output_forward_char): Fix character/byte
754 position comparison.
755
89512fcd
MB
7562001-11-15 Miles Bader <miles@gnu.org>
757
758 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
759 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
760 Update arguments to find_field.
761 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
762 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
763 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
764 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
765
7d18891d
RS
7662001-11-14 Richard M. Stallman <rms@gnu.org>
767
d2936d21
RS
768 * editfns.c (Fpropertize): Allow call with 1 arg.
769
7d18891d
RS
770 * dispextern.h (image_background, image_background_transparent):
771 Conditionalize on HAVE_X_WINDOWS.
772
7732001-11-13 Richard M. Stallman <rms@gnu.org>
774
775 * print.c (Fprin1_to_string): Doc fix.
776
777 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
778
779 * floatfns.c (Fceiling, Ffloor): Doc fixes.
780
781 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
782
783 * fileio.c (Ffile_accessible_directory_p): Doc fix.
784
785 * eval.c (syms_of_eval): Doc fix.
786
787 * coding.c (syms_of_coding): Doc fix.
788
789 * doc.c (Fsnarf_documentation): Doc fix.
790
791 * dispnew.c (syms_of_display): Doc fix.
792
793 * category.c (Fget_unused_category): Doc fix.
794
795 * buffer.c (syms_of_buffer): Doc fixes.
796
9474c847
EZ
7972001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
798
799 * print.c (prin1, print): Doc fix.
800
e3059a5d
PJ
8012001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
802
2b6f3c2b 803 * fontset.h: Remove declarations of variables
e3059a5d
PJ
804 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
805
806 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
807 `Vclip_large_size_font'.
808
b3700ae7
JR
8092001-11-13 Jason Rumney <jasonr@gnu.org>
810
811 * w32fns.c: Doc fix.
812
eae936e2
PJ
8132001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
814
4bb962be
PJ
815 * xfaces.c (Fface_attributes_as_vector): Doc fix.
816
0a332240
PJ
817 * w32fns.c (Fx_synchronize): Reindent.
818
ddb67bdc
PJ
819 * fns.c: Doc fix.
820
3467c402
PJ
821 * emacs.c: Doc fix.
822
823 * coding.c: Doc fix.
824
6e1b91d7
PJ
825 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
826 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
827 `new style' [w/`doc:' keyword].
828
f6e34773
PJ
829 * xmenu.c (x-popup-menu): Reindent.
830 (x-popup-dialog): Likewise.
831
fa336b91 832 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 833
c2552f79
PJ
834 * xdisp.c (Fdump_tool_bar_row): Reindent.
835
94c7167b
PJ
836 * minibuf.c (Fminibuffer_complete_word): Reindent.
837 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 838 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
839 (Fminibuffer_message): Likewise.
840
462a5e3a
PJ
841 * fns.c (Freverse): Reindent.
842
b8de5714
PJ
843 * eval.c (Fif): Reindent.
844 (Fand): Likewise.
845
deb8e082
PJ
846 * editfns.c (Fuser_real_login_name): Reindent.
847 (Finsert_buffer_substring): Likewise.
848 (Fcompare_buffer_substrings): Likewise.
849 (Fsubst_char_in_region): Likewise.
850
bacf09b4
PJ
851 * dispnew.c (Fsit_for): Reindent.
852 (Fframe_or_buffer_changed_p): Likewise.
853 (Finternal_show_cursor_p): Likewise.
854 (syms_of_display): Likewise.
855
eae936e2
PJ
856 * alloc.c (Flist): Reindent.
857 (Fvector): Likewise.
858
1c1d3d69
RS
8592001-11-12 Richard M. Stallman <rms@gnu.org>
860
861 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
862 LeaveNotify events. Only FocusIn and FocusOut do that now.
863 (x_display_and_set_cursor): Do display hollow cursors in active
864 minibuffer windows when they are not selected.
865
b6f4c7ba
JR
8662001-11-12 Jason Rumney <jasonr@gnu.org>
867
868 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
869 * w32term.c: Change doc-string comments to `new style'.
870 [w/`doc:' keyword]. Doc fixes.
871
872 * w32fns.c: Don't define max.
873 (Fx_open_connection): Only execute once.
874
a89f435d
PJ
8752001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
876
877 * ccl.c: Change macros to use do-while block instead of if-else.
878 Use braces to follow GNU Coding Standards.
879
a4cd0cd7
RS
8802001-11-11 Richard M. Stallman <rms@gnu.org>
881
eafb659a
RS
882 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
883
884 * lread.c (read_escape): Use end_of_file_error for reporting eof.
885
a4cd0cd7
RS
886 * insdel.c (replace_range): Use adjust_markers_for_replace
887 instead of adjust_markers_for_delete and adjust_markers_for_insert.
888
889 * intervals.h: Declare set_text_properties and set_text_properties_1.
890
891 * textprop.c (set_text_properties_1): New subroutine
892 broken out of set_text_properties.
893 (set_text_properties): Use set_text_properties_1.
894
895 * intervals.c (graft_intervals_into_buffer):
896 Use set_text_properties_1 to clear out properties.
897
898 * search.c (Freplace_match): Use replace_range to insert
899 and delete. Don't request property inheritance from
900 surrounding text.
901
91823618
JR
9022001-11-10 Jason Rumney <jasonr@gnu.org>
903
904 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
905 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 906 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 907
86928dfb
GM
9082001-11-10 Gerd Moellmann <gerd@gnu.org>
909
fa336b91 910 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
911 instead of malloc/free.
912
40ef1eda
PJ
9132001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
914
ab8469eb
PJ
915 * xfaces.c (merge_face_vectors): Use braces to follow GNU
916 Coding Standards.
917 (Finternal_set_lisp_face_attribute): Likewise.
918
a78e0303
PJ
919 * buffer.c (Fbury_buffer): Likewise.
920
40ef1eda
PJ
921 * indent.c (current_column_1): Remove unused variable `prev_col'.
922
fabf4a91
PJ
923 * coding.c (encode_coding): Use precomputed value of `src'.
924 (encode_coding): Remove unused variable `src_end'.
925 (code_convert_region): Remove unused variables `count'.
926
0c99b139
JR
9272001-11-07 Jason Rumney <jasonr@gnu.org>
928
929 * w32term.c (x_display_and_set_cursor): Do not move system caret
930 if cursor_glyph is NULL.
931
830ddd77
PJ
9322001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
933
934 * keymap.c (access_keymap): Fix compilation error.
935
55c6d645
MB
9362001-11-07 Miles Bader <miles@gnu.org>
937
938 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
939
5de38842
PJ
9402001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
941
7a4564a4
PJ
942 * intervals.c (graft_intervals_into_buffer):
943 Remove #ifdef'd-out code.
944 (graft_intervals_into_buffer): Remove unused variable `middle'.
945
5de38842
PJ
946 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
947 code (eval-current-buffer).
948 Change doc-string comments to `new style' [w/`doc:' keyword].
949
4fa23df5
RS
9502001-11-06 Richard M. Stallman <rms@gnu.org>
951
952 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
953
7a6a97d7
SM
9542001-11-06 Stefan Monnier <monnier@cs.yale.edu>
955
c191d13c
SM
956 * lread.c (read1): Fix behavior with nested backquoting.
957
7a6a97d7
SM
958 * keyboard.c (make_lispy_event): Check integerness and fix
959 Lisp_Object/int mixup.
960
44dc78e0
PJ
9612001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
962
963 * fns.c (copy_hash_table): Remove unused variable `v'.
964
17893c65
PJ
965 * fontset.c (fontset_font_pattern): Remove unused variable
966 `family_registry'.
967
4d994a79
PJ
968 * indent.c (current_column_1): Remove unused variable `prev_col'.
969
d5360cc7
RS
9702001-11-05 Richard M. Stallman <rms@gnu.org>
971
972 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
973
974 * buffer.c (Fkill_buffer): Don't delete auto save file
975 if buffer is modified.
976
96238a5a
AI
9772001-11-05 Andrew Innes <andrewi@gnu.org>
978
979 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
980 CHECK_NUMBER_CDR.
981
d9d54213
RS
9822001-11-05 Richard M. Stallman <rms@gnu.org>
983
984 * unexelf.c (unexec): Minor changes; clean up comments.
985
b116830b
SS
9862001-11-05 Sam Steingold <sds@gnu.org>
987
988 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
989
3297e2a1
AS
9902001-11-05 Andreas Schwab <schwab@suse.de>
991
992 * sound.c (sound_perror): Save errno from being clobbered.
993
9212319f 9942001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
995
996 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
997 the program image directly.
998
7dd73b78
PJ
9992001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1000
1001 * buffer.h (Fbuffer_local_value): Add prototype.
1002
982f6c7e
RS
10032001-11-04 Richard M. Stallman <rms@gnu.org>
1004
d31053f9
RS
1005 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1006 and CHECK_BUFFER.
1007
1008 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1009 (record_char): Likewise.
1010
1011 * keyboard.c (make_lispy_event): Don't insist a drag event must
1012 move to a different buffer position. Instead, check for moving at
1013 least double_click_fuzz.
1014
1015 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1016
1017 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1018
982f6c7e
RS
1019 * indent.c (current_column_1, Fmove_to_column): Separate the code
1020 for display-table glyphs from the code buffer text, to fix
1021 bugs in the former.
1022
830047fd
RS
10232001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1024
1025 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1026 (syms_of_buffer): Defsubr it.
b116830b 1027
830047fd
RS
1028 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1029 value of `cursor-in-non-selected-windows'.
1030
1031 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1032 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1033 (syms_of_xdisp): Initialize it.
b116830b 1034
2df5238c
PJ
10352001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1036
4e397688
PJ
1037 * xfns.c (Fx_create_frame): Doc fix.
1038
48b0f3ae
PJ
1039 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1040 keyword].
1041
2df5238c
PJ
1042 * eval.c (top_level_value, top_level_set): Remove commented and
1043 #ifdef'd-out code.
1044 (Fdefvar): Fix usage in doc-string.
1045
3ecaf7e5
RS
10462001-11-03 Richard M. Stallman <rms@gnu.org>
1047
1048 * xfns.c: Include unistd.h, if it exists.
1049
1050 * editfns.c: Move the include of ctype.h after unistd.h.
1051
1052 * gmalloc.c: Test BROKEN_PROTOTYPES.
1053
8db2e33b
KR
10542001-11-03 Ken Raeburn <raeburn@gnu.org>
1055
1056 * lisp.h (CHECK_STRING_CAR): New macro.
1057 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1058 treating XCAR and XCDR as lvalues.
1059 (openp): Use CHECK_STRING_CAR.
1060 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1061
aed29b97
EZ
10622001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1063
1064 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1065 (SIGMASKTYPE): Define.
aed29b97
EZ
1066
1067 * syssignal.h (sigunblock): Don't define if already defined.
1068
6cb16f95
PJ
10692001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1070
16b45be4
EZ
1071 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1072 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1073 Fix typos in comments.
1074
020f9b38
PJ
1075 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1076 and #ifdef'd-out code.
1077 Fix and reindent comments.
1078
c191d13c 1079 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1080
6cb16f95
PJ
1081 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1082 argument `i' in macros.
1083
1084 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1085 `i' in macros.
1086
16b45be4
EZ
1087 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1088 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1089 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1090 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1091 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1092 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1093 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1094 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1095 in macros.
1096
1097 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1098 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1099 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1100 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1101 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1102 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1103 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1104 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1105 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1106 (remove unused second argument).
1107
7e9d3c2f
SM
11082001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1109
1110 * syntax.c (describe_syntax): New wrapper.
1111 (Finternal_describe_syntax_value): Rename from describe_syntax.
1112 Don't insert space at front and \n at the end.
1113 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1114
1115 * regex.c (re_wctype): Try to fix some warnings.
1116 (regcomp, regexec): Don't forget the __restrict.
1117
e6bff182
RS
11182001-11-02 Richard M. Stallman <rms@gnu.org>
1119
1120 * textprop.c (Fget_char_property): Doc fix.
1121
9ba48103
PJ
11222001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1123
1124 * process.c (Fstart_process): Add usage to doc-string.
1125
1126 * data.c (Fsetq_default): Ditto.
1127
1128 * callint.c (Finteractive): Ditto.
1129
c22e59e1
SM
11302001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1131
1132 * macros.c: Don't include keymap.h any more.
1133
9271ed2c
RS
11342001-11-01 Richard M. Stallman <rms@gnu.org>
1135
e6bff182
RS
1136 * data.c (Fmake_local_variable): Doc fix.
1137
1138 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1139 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1140
9271ed2c
RS
1141 * keymap.c (Fdescribe_buffer_bindings): Print character property
1142 bindings along with or instead of the buffer local map.
1143 Make the overriding maps override what they should.
1144
8b8bd9c6
PJ
11452001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1146
1147 * window.c (grow_mini_window): Fix typo in comment.
1148
27188d11
GM
11492001-11-01 Gerd Moellmann <gerd@gnu.org>
1150
7b49b9d2
GM
1151 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1152 (XTset_vertical_scroll_bar): Likewise.
1153
43f7c3ea
GM
1154 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1155 instead of IMAGE_BACKGROUND.
c22e59e1 1156
b350c2e5
GM
1157 * xfns.c (four_corners_best): Reindent.
1158
c22e59e1 1159 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1160 Handle :box so that it is possible to specify sexprs.
1161
d576358b
PJ
11622001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1163
1164 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1165 (Fface_font): Ditto.
1166 (Finternal_set_alternative_font_registry_alist): Ditto.
1167 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1168
1169 * xfns.c (x-get-resource): Reindent.
1170
bf00d461
EZ
11712001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1172
1173 * s/hpux11.h: New file.
1174
4e10df59
PJ
11752001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1176
2b209b97
PJ
1177 * emacs.c (USAGE1): Show command line option --no-window-system
1178 instead of --no-windows in usage.
1179 (standard_args): Rename --no-windows to --no-window-system.
1180 (bug_reporting_address): Follow Emacs coding conventions.
1181
9dbc9081
PJ
1182 * eval.c (Fcommandp): Doc fix.
1183 Change doc-string comments to `new style' [w/`doc:' keyword].
1184
4e10df59
PJ
1185 * frame.c (Fframe_live_p): Doc fix.
1186
1187 * buffer.c (selective-display-ellipses): Doc fix.
1188
dd387b25
GM
11892001-10-31 Gerd Moellmann <gerd@gnu.org>
1190
fe957e65
GM
1191 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1192
dd387b25
GM
1193 * xfaces.c (realize_x_face): If C is not a single-byte character,
1194 set the face's colors_copied_bitwise_p instead of the defaulted_p
1195 members which have a different meaning.
1196 (free_face_colors): Do nothing for a face whose colors have been
1197 copied bitwise.
1198
c22e59e1 1199 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1200
2e1280f8
PJ
12012001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1202
687784e8
PJ
1203 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1204 [w/`doc:' keyword].
2e1280f8 1205
b9d9a9b9
GM
12062001-10-31 Gerd Moellmann <gerd@gnu.org>
1207
1208 * fns.c (require_unwind): Return Lisp_Object.
1209
48400103
PJ
12102001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1211
fa1361cb
PJ
1212 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1213 (last-input-char): Revert doc-string to be the same as the
1214 doc-string of `last-input-event'.
1215
48400103
PJ
1216 * xdisp.c: Fix typos in comments.
1217
eafa3196
GM
12182001-10-31 Gerd Moellmann <gerd@gnu.org>
1219
1220 * window.c (grow_mini_window): Handle case that the root
1221 window is already smaller than the nominal mininum height.
1222
747d3f2a
SM
12232001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1224
bf9bb76f
SM
1225 * emacs.c (main): Don't call keys_of_macros any more.
1226
1227 * lisp.h (keys_of_macros): Remove.
1228
1229 * macros.c (keys_of_macros): Remove.
1230
747d3f2a
SM
1231 * xfaces.c (Fface_attribute_relative_p): Declare args.
1232
5e905a57
JR
12332001-10-30 Jason Rumney <jasonr@gnu.org>
1234
1235 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1236 (enum_font_cb2): Ignore fonts with vertical orientation.
1237
3a426197
RS
12382001-10-30 Richard M. Stallman <rms@gnu.org>
1239
1240 * keyboard.c (Finput_pending_p): Doc fix.
1241
a742d646
GM
12422001-10-30 Gerd Moellmann <gerd@gnu.org>
1243
259cf6bc
GM
1244 * xterm.c (x_after_update_window_line): Don't run the code
1245 clearing in borders for rows whose visible height is 0.
1246
3f99f948
GM
1247 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1248 resized_p flag is set. If not set, use the much less flickering
1249 method previously used.
1250
1251 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1252
1253 * frame.h (struct frame) <resized_p>: New member.
1254
b4a3be43
GM
1255 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1256 as large as the number of bytes to convert.
747d3f2a 1257
a742d646
GM
1258 * lread.c (to_multibyte): New function.
1259 (read1): Use it.
1260
cacbb9e9
EZ
12612001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1262
1263 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1264
99cb6b2f
GM
12652001-10-30 Gerd Moellmann <gerd@gnu.org>
1266
327f42ee 1267 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1268 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1269 if the row's fill_line_p is set and drawing the last glyph with
1270 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1271
99cb6b2f
GM
1272 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1273
8e8223e2
SM
12742001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1275
1276 * xmenu.c: Include coding.h and charset.h.
1277 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1278 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1279 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1280 Explicitly set wv->help. Use `TRUE' rather than `True'.
1281 (menu_help_callback): Use empty_string.
1282
1283 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1284 (Fx_popup_dialog): Explicitly init f.
1285 (w32_menu_display_help): Use empty_string.
1286
4d083a8f
RS
12872001-10-29 Richard M. Stallman <rms@gnu.org>
1288
b2304472
RS
1289 * fns.c (Frequire): Detect recursive try to require the same
1290 feature 3 or more levels deep, and get error.
1291 (require_unwind): New subroutine.
1292 (require_nesting_list): New variable.
1293 (syms_of_fns): Init and staticpro it.
1294
4d083a8f
RS
1295 * print.c (print_object): Clarify indication of insertion type.
1296
2fe41216
EZ
12972001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1298
90480000
EZ
1299 * coding.c (syms_of_coding): Document that locale-coding-system is
1300 used for decoding input on X.
1301
2fe41216
EZ
1302 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1303
74e79967
PJ
13042001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1305
1306 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1307 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1308
60ebcfe8
GM
13092001-10-29 Gerd Moellmann <gerd@gnu.org>
1310
9a7bdceb
GM
1311 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1312 use NO_CURSOR if cursor_in_non_selected_windows is false.
1313
3f08fcd2
GM
1314 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1315 the slant attribute if FRAME is t.
1316
0ccfdad2
GM
1317 * xfns.c (x_set_internal_border_width): Set frame garbaged
1318 when X window doesn't exist yet.
1319
ef253080
GM
1320 * xterm.c (x_after_update_window_line): Clear internal border
1321 in different circumstances.
b116830b 1322
60ebcfe8
GM
1323 * xterm.c (XTread_socket) <KeyPress>: Don't use
1324 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1325 <handa@etl.go.jp>.
1326
73d25f9c
EZ
13272001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1328
1329 * m/ibms390.h: New file. From Adam Thornton
1330 <athornton@sinenomine.net>.
1331
cac1daf0
GM
13322001-10-28 Gerd Moellmann <gerd@gnu.org>
1333
053b3256 1334 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1335
cac1daf0
GM
1336 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1337 a loop counter.
1338
13b1a09c
PJ
13392001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1340
186486eb
PJ
1341 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1342
4707d2d0
PJ
1343 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1344 keyword].
1345 Fix typos in comments.
b116830b 1346
d883731c
PJ
1347 * emacs.c (bug_reporting_address): New function.
1348 Use it when displaying usage message.
1349
04012254
PJ
1350 * minibuf.c (read_minibuf): Remove unused external declaration of
1351 variable `Qread_only'.
1352
13b1a09c
PJ
1353 * keymap.c (access_keymap): Remove unused variable `charset'.
1354
5bbf4378
MB
13552001-10-28 Miles Bader <miles@gnu.org>
1356
1357 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1358 Remove #ifdef'd-out code.
1359 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1360 (syms_of_xfaces): Initialize them.
1361
1ce1e4ee
JR
13622001-10-27 Jason Rumney <jasonr@gnu.org>
1363
1364 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1365 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1366 position using the system caret.
1367
1368 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1369 (w32_system_caret_height, w32_system_caret_x)
1370 (w32_system_caret_y): New variables for tracking system caret.
1371 (w32_initialize): Initialize them.
c2d53558 1372 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1373
c2d53558
SM
1374 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1375 New messages types.
1ce1e4ee
JR
1376
1377 * w32term.c (note_mouse_highlight): Clear old help_echo.
1378
4e30ce42
PJ
13792001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1380
bb4600a4
PJ
1381 * xterm.c: Fix typo in a comment.
1382
7db35a48
PJ
1383 * emacs.c: Fix typos in comments.
1384 Remove unnecessary spaces.
1385 Change doc-string comments to `new style' [w/`doc:' keyword].
1386 (USAGE2): Fix typos in usage string.
1387
a7248e4f
PJ
1388 * xterm.c: Fix typo in a comment.
1389
4e30ce42
PJ
1390 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1391 emacs.c.
1392
62725a92
GM
13932001-10-27 Gerd Moellmann <gerd@gnu.org>
1394
798dbe1f 1395 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1396 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1397 farther backward when target_y was not reached.
1398
62725a92
GM
1399 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1400 Display errno only if non-zero.
1401 (sound_warning): New function.
1402 (vox_configure): Don't treat failing to set sample rate as error.
1403 (various places): Improve error messages.
1404
d4e34d24
EZ
14052001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1406
944e6f60
EZ
1407 * fileio.c (Faccess_file): Run the argument filename through
1408 Fexpand_file_name, before using it.
1409
d4e34d24
EZ
1410 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1411 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1412
38d2af0c
GM
14132001-10-26 Gerd Moellmann <gerd@gnu.org>
1414
da80a8d5
GM
1415 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1416
38d2af0c
GM
1417 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1418 Fix clearing in the case of scroll bars on the right.
c2d53558 1419
56f508dd
EZ
14202001-10-26 Juanma Barranquero <lektu@terra.es>
1421
1422 * w32gui.h (XImage): Add a dummy typedef.
1423
fbd5ceb2
GM
14242001-10-26 Gerd Moellmann <gerd@gnu.org>
1425
c2d53558 1426 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1427
b23236fb
EZ
14282001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1429
1430 * frame.c (Fframe_parameter): Fix last change.
1431
5d991fc4
EZ
1432 * fileio.c: Revert last change (which removed old commented-out
1433 version of expand-file-name). Add a comment that explains why
1434 this old version should not be removed.
1435
879eadc3
GM
14362001-10-25 Gerd Moellmann <gerd@gnu.org>
1437
75700ff2
GM
1438 * frame.c (Fframe_parameter): Fix a bug whereby some
1439 ``artificial'' frame parameters, like `minibuffer' were not
1440 obtained by calling Fframe_parameters.
1441
dfe92a6a
GM
1442 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1443 cursor differently.
1444
879eadc3
GM
1445 * xdisp.c (move_it_vertically_backward): Compute line height
1446 differently. Add heuristic to try to be more compatible to 20.x.
1447
e1010ebe
SM
14482001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1449
d73a471b
SM
1450 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1451
d6da5a06
GM
1452 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1453 boolean.
e1010ebe 1454
f66bd220
MB
14552001-10-25 Miles Bader <miles@gnu.org>
1456
1457 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1458 BG is a pointer to a structure, not a structure.
1459 (gif_format, png_format): Add missing commas.
1460
d436d538
RS
14612001-10-24 Richard M. Stallman <rms@gnu.org>
1462
1463 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1464 (syms_of_xfaces): Defsubr it.
d436d538 1465
075c507b
PJ
14662001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1467
1468 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1469 variable `area'.
1470
d492b584
PJ
14712001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1472
c2d53558 1473 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1474
e2a57b34
MB
14752001-10-25 Miles Bader <miles@gnu.org>
1476
1477 * dispextern.h (struct image): Add `background',
1478 `background_valid', and `background_transparent' fields.
1479 (image_background, image_background_transparent): New declarations.
1480 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1481 * xfns.c (image_background, image_background_transparent)
1482 (four_corners_best): New functions.
c2d53558 1483 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1484 (gs_format): Add `:background' entry.
1485 (lookup_image): Set IMG's background color if specified.
1486 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1487 when appropriate.
1488 (x_clear_image_1): Reset `background_valid' and
1489 `background_transparent_valid' fields.
1490 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1491 calculating it here. Set IMG's background_transparent field.
1492 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1493 (enum png_keyword_index): Add PNG_BACKGROUND.
1494 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1495 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1496 (enum gif_keyword_index): Add GIF_BACKGROUND.
1497 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1498 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1499 Pre-calculate image background color where necessary.
1500 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1501 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1502 color to use for image glyph reliefs.
1503
b547b6e8
GM
15042001-10-24 Gerd Moellmann <gerd@gnu.org>
1505
d9e3b8c6
GM
1506 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1507 in full-width rows.
c2d53558 1508
b547b6e8
GM
1509 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1510 Fix clearing of area not covered by scroll bar.
1511
2beb36f9
PJ
15122001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1513
1514 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1515 and `real_start'.
c2d53558 1516 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1517 (glyph_rect): Remove unused variable `area'.
1518
76cb5e06
GM
15192001-10-24 Gerd Moellmann <gerd@gnu.org>
1520
bdbdebff 1521 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1522
1523 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1524 (row_containing_pos): Take additional argument DY.
1525 Treat rows ending in middle of char differently.
62e33982
GM
1526 (display_line): Handle tabs on window systems differently.
1527
1528 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1529 with additional argument.
1530
1531 * dispextern.h (row_containing_pos): Adjust prototype.
1532
76cb5e06
GM
1533 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1534 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1535 (try_window_id, try_window_reusing_current_matrix)
1536 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1537 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1538
996fee11
PJ
15392001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1540
c9e60620
PJ
1541 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1542 gnuemacs).
1543 (HAVE_BOXES): Fix typo in comment.
1544 (push_menu_pane): Fix typo in comment.
1545
3b552d56
PJ
1546 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1547 of `Qwhen'.
1548 (single_display_prop_string_p): Remove unused local declarations
1549 of `Qwhen' and `Qmargin'.
1550 (string_buffer_position): Remove unused variable `around'.
1551 (store_frame_title): Remove unused variable `width'.
1552
15c565ac
PJ
1553 * window.c: Don't define max.
1554 (coordinates_in_window): Remove unused variable `uy'.
1555
a8818eb9
PJ
1556 * widget.c: Don't define max.
1557
996fee11
PJ
1558 * process.c: Don't define max.
1559 (create_process): Remove unused variable `buffer'.
1560
496e1a5b
GM
15612001-10-23 Gerd Moellmann <gerd@gnu.org>
1562
c2d53558 1563 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1564
5905ae8b
EZ
15652001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1566
1567 * xfaces.c (Finternal_set_lisp_face_attribute)
1568 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1569 frame is on a windowed display.
1570
24db49fb
GM
15712001-10-23 Gerd Moellmann <gerd@gnu.org>
1572
c2d53558
SM
1573 * dispnew.c (sync_window_with_frame_matrix_rows):
1574 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1575 of marginal areas.
1576
c2d53558 1577 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1578
f0487f05
EZ
15792001-10-23 Andreas Schwab <schwab@suse.de>
1580
1581 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1582 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1583
f0a48a01
GM
15842001-10-23 Gerd Moellmann <gerd@gnu.org>
1585
c2d53558 1586 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1587 REAL_END. Notice if cursor gets overwritten.
1588 (notice_overwritten_cursor): Take X positions as parameters.
1589 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1590 around call to x_draw_glyphs.
1591
a50a10a0
PJ
15922001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1593
fc11dff0
PJ
1594 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1595 instead of C) and usage.
a50a10a0 1596
fc11dff0
PJ
1597 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1598 of C) and usage.
a50a10a0
PJ
1599
1600 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1601 `left', `max_width' and `max_height'.
1602
8738febd
GM
16032001-10-23 Gerd Moellmann <gerd@gnu.org>
1604
1605 * xdisp.c (display_line): For a tab continued to the next line,
1606 set row's ends_in_middle_of_char_p.
1607
653c329b
GM
16082001-10-22 Gerd Moellmann <gerd@gnu.org>
1609
1610 * xdisp.c (display_line): Fix computation of continuation lines
1611 width for TABs.
1612
f958c5ac
PJ
16132001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1614
7ba51063
PJ
1615 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1616 `Qlaplace'.
1617
f958c5ac
PJ
1618 * fileio.c: Remove unused code.
1619
eb360291
MB
16202001-10-22 Miles Bader <miles@gnu.org>
1621
1622 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1623 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1624 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1625
98515cf0
JR
16262001-10-21 Jason Rumney <jasonr@gnu.org>
1627
1628 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1629
93026d88
EZ
16302001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1631
1632 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1633 (Finsert_string): Avoid the multi-line string literals warning.
1634
c9a95b79
MB
16352001-10-22 Miles Bader <miles@gnu.org>
1636
1637 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1638 (Fdocumentation): Don't use it.
1639 (syms_of_doc): Don't initialize it.
1640
1641 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1642 * print.c (Fwith_output_to_temp_buffer): Likewise.
1643 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1644 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1645 (Fsave_restriction): Likewise.
c2d53558
SM
1646 * eval.c (Frun_hooks, Frun_hook_with_args)
1647 (Frun_hook_with_args_until_failure)
1648 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1649 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1650 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1651 (Funwind_protect, Fcondition_case): Likewise.
1652 * coding.c (Ffind_operation_coding_system): Likewise.
1653 * keyboard.c (Ftrack_mouse): Likewise.
1654
a3b10252
MB
16552001-10-21 Miles Bader <miles@gnu.org>
1656
c2d53558 1657 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1658 (Fmake_hash_table): Add usage: string to doc string.
1659 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1660 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1661 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1662 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1663 (Fml_prefix_argument_loop): Likewise.
1664
c6f73eec
PJ
16652001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1666
c2d53558 1667 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1668
c6f73eec
PJ
1669 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1670 style' [w/`doc:' keyword].
1671
1672 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1673 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1674 comments to `new style' [w/`doc:' keyword].
1675
3cf3436e
JR
16762001-10-21 Jason Rumney <jasonr@gnu.org>
1677
1678 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1679
c169b8f1
JR
1680 * w32term.c (remember_mouse_glyph): New function.
1681 (w32_mouse_position): Use it.
1682 (note_mouse_movement): If the mouse moved off the glyph, remember
1683 its new position.
c2d53558 1684
4fdd691b
JR
1685 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1686 (w32_display_info): Add mouse_face_overlay.
1687
c169b8f1
JR
1688 * w32term.c (notice_overwritten_cursor): Renamed from
1689 note_overwritten_text_cursor. Rewritten to take glyph widths into
1690 account.
1691 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1692 (fast_find_string_pos): New function.
1693 (fast_find_position): Return the correct vpos. Add parameter
1694 STOP. In the final row, stop before glyphs having STOP as object.
1695 Don't consider glyphs that are not from a buffer.
1696 (fast_find_position) [0]: Add a presumably more correct version
1697 for after 21.1.
1698 (expose_window_tree, expose_frame): Don't compute intersections here.
1699 (expose_window): Do it here instead.
1700 (expose_window_tree, expose_window, expose_line): Return 1 when
1701 overwriting mouse-face.
1702 (expose_window): If W is the window currently being updated, mark
1703 the frame garbaged.
1704 (expose_frame): If mouse-face was overwritten, redo it.
1705 (x_use_underline_position_properties): New variable.
1706 (syms_of_xterm): DEFVAR_BOOL it.
1707 (x_draw_glyph_string): Add comment to use it in future.
1708 (x_draw_glyph_string): Restore clipping after drawing box.
1709 Fix a computation of the underline position.
1710 (w32_get_glyph_string_clip_rect): Minor cleanup.
1711 (x_fill_stretch_glyph_string): Remove an assertion.
1712 (x_produce_glyphs): Don't convert multibyte characters
1713 to unibyte characters in unibyte buffers.
1714 (cursor_in_mouse_face_p): New function.
1715 (x_draw_stretch_glyph_string): Use it to choose a different GC
1716 when drawing a cursor within highlighted text. Don't draw
1717 background again if it has already been drawn.
1718 (x_draw_glyph_string_box): Don't draw a full-width
1719 box just because the glyph row's full_width_p flag is set.
1720 (x_draw_glyphs): Fix computation of rightmost x for
1721 full-width rows.
1722 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1723 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1724 change bottom shadow accordingly. Some cleanup.
1725 (x_update_window_end): Handle overwritten mouse face
1726 also for tool bar windows.
1727 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1728 DRAW is DRAW_IMAGE_RAISED.
1729 (clear_mouse_face): Return 1 if text with mouse face was
1730 actually redrawn. Make the function static. Reset
1731 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1732 optimize away highlighting if we pass over that same overlay again.
1733 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1734 to detect a case where we have to highlight a different region
1735 despite not having left the currently highlighted region.
1736 Set mouse_face_overlay in the x_display_info. Avoid changing the
1737 mouse pointer shape when show_mouse_face has already done it, or
1738 there is no need. Handle mouse-face and help-echo in strings.
1739 (glyph_rect): New function.
1740 (w32_mouse_position): Use it to raise the threshold for mouse
1741 movement event generation.
1742 (w32_initialize_display_info): Initialize the x_display_info's
1743 mouse_face_overlay.
1744 (w32_set_vertical_scroll_bar): Don't clear a zero height
1745 or width area.
1746 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1747 a widget to zero height.
1748
3cf3436e 1749 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1750 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1751 equivalents in menu_items.
1752 (w32_menu_show): Don't overwrite an item's name with its key
1753 description in case the description is a multibyte string.
1754 (single_submenu): Some cleanup.
1755
1756 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1757 (postprocess_image): New function.
1758 (lookup_image): Call it for all image types except PostScript.
1759 (x_kill_gs_process): Call postprocess_image.
1760 (tiff_error_handler, tiff_warning_handler): New functions.
1761 (tiff_load): Install them as handlers.
1762 (x_kill_gs_process): Recognize if someone has cleared the image
1763 cache under us.
1764 (valid_image_p): Protect better against invalid image
1765 specifications. Previous code could signal an error.
1766 (Fx_hide_tip, Fshow_tip): Doc fix.
1767 (Fv_max_tooltip_size): New variable.
1768 (syns_of_xfns): DEFVAR_LISP it.
1769 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1770 window buffer to *tip* right after creating the frame. Set frame's
1771 window_width. Use a maximum tooltip size specified by
1772 Vx_max_tooltip_size, if that has valid contents.
1773 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1774 Make sure the tooltip is completely visible.
1775 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1776 (Fx_create_frame): Adjust the frame's height for presence
1777 of the tool bar before calling x_figure_window_size.
1778 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1779 when the window gets smaller.
1780 (x_set_foreground_color): Set frame's cursor_pixel.
1781 (x_set_foreground_color, x_set_background_color): Cleaned up.
1782 (x_set_font): Handle case of x_new_fontset returning the same name
1783 as before, although there was a change in fontsets.
1784
386ca361
MB
17852001-10-21 Miles Bader <miles@gnu.org>
1786
c2d53558 1787 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1788 (Flogxor): Add usage: string to doc string.
1789 * charset.c (Fstring): Likewise.
1790 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1791 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1792
14ff1ee0
PJ
17932001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1794
03be2694
PJ
1795 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1796
1797 * alloc.c: Reindent DEFUNs with doc: keywords.
1798
1799 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1800
14ff1ee0
PJ
1801 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1802 keyword].
1803
71431a0e
GM
18042001-10-20 Gerd Moellmann <gerd@gnu.org>
1805
6aa97356 1806 * (Version 21.1 released.)
71431a0e 1807
39f624fa
PJ
18082001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1809
c2d53558 1810 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1811
1812 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1813 0 because unused.
1814
1815 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1816 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1817 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1818
abcce93a
MB
18192001-10-20 Miles Bader <miles@gnu.org>
1820
1821 The following changes remove the glyph_row `inverse_p' field,
1822 which is never set anymore, due to other changes:
1823
1824 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1825 (reassert_line_highlight, change_line_highlight): Declarations removed.
1826 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1827 (line_hash_code, row_equal_p, fake_current_matrices)
1828 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1829 (update_frame_line, update_frame_line, update_frame_line):
1830 Don't use `inverse_p' field.
1831 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1832 change_line_highlight_hook.
1833 (XTreassert_line_highlight, x_change_line_highlight):
1834 Functions removed.
c2d53558 1835 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1836 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1837 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1838 `inverse_p' field.
c2d53558 1839 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1840 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1841 (w32_reassert_line_highlight, x_change_line_highlight):
1842 Functions removed.
1843 * w32console.c (reassert_line_highlight, change_line_highlight):
1844 Functions removed.
1845 (initialize_w32_display): Don't set reassert_line_highlight_hook
1846 or change_line_highlight_hook.
1847 (hl_mode): Function removed.
c2d53558
SM
1848 (reset_terminal_modes, set_terminal_modes, update_begin)
1849 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1850 (clear_frame, ins_del_lines): Don't call it.
1851 * termhooks.h (reassert_line_highlight_hook)
1852 (change_line_highlight_hook): Declarations removed.
1853 * term.c (reassert_line_highlight_hook)
1854 (change_line_highlight_hook): Variables removed.
1855 (reassert_line_highlight, change_line_highlight): Functions removed.
1856 * msdos.c (IT_reassert_line_highlight)
1857 (IT_change_line_highlight): Functions removed.
1858 (internal_terminal_init): Don't set reassert_line_highlight_hook
1859 or change_line_highlight_hook.
1860 (highlight): Variable removed.
c2d53558 1861 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1862 (IT_set_terminal_modes): Don't set or use it.
1863
1864 The following changes remove inverse-video support for terminals
1865 that use a `magic cookie' standout mode. Due to changes in the
1866 way mode-lines are displayed, such support no longer works
1867 anyway, and it's probable that almost no one uses such terminals
1868 anymore:
1869
1870 * term.c (standout_requested): Variable removed.
1871 (update_end, highlight_if_desired): Don't use it.
1872 (chars_wasted, copybuf): Variables removed.
1873 (write_standout_marker): Function removed.
c2d53558 1874 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1875 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1876 Don't use `chars_wasted' or `copybuf'.
1877 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1878 Set `costs_set' to true.
1879 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1880 `chars_wasted'.
1881 (clear_end_of_line): Function removed.
1882 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1883 (clear_to_end): Call `clear_end_of_line' instead of
1884 `clear_end_of_line_raw'.
54800acb
MB
1885 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1886 (term_init): Don't set them.
1887 Turn off any standout/underline modes that require magic cookies.
c2d53558 1888 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1889 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1890 Remove special processing for magic-cookie standout modes.
1891 (turn_off_face, turn_on_face): Remove special processing for
1892 underline magic-cookie glitch.
abcce93a 1893
0b5f679f
RS
18942001-10-19 Richard M. Stallman <rms@gnu.org>
1895
1896 * eval.c (syms_of_eval): Doc fixes.
1897
5a4a5bd4
GM
18982001-10-19 Gerd Moellmann <gerd@gnu.org>
1899
1900 * xdisp.c (redisplay_internal): Don't clear echo area if the
1901 mini-window is selected.
1902
79f1f96c
MB
19032001-10-19 Miles Bader <miles@gnu.org>
1904
b57c2708
MB
1905 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1906 doesn't take precedence if the affected property's value is nil.
1907
1908 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1909
79f1f96c
MB
1910 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1911 with fields and suggest using `forward-line' to avoid them.
1912 * editfns.c (Fline_beginning_position, Fline_end_position):
1913 Clarify documentation.
1914
ef879104
SM
19152001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1916
1917 * keymap.c (current_minor_maps): `override' only shadows its
1918 correspondent in minor-mode-map-alist, not the whole tail.
1919
97f4db8c
AI
19202001-10-18 Andrew Innes <andrewi@gnu.org>
1921
1922 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1923 optimization. The fontp->encoding array was not being initialized
1924 correctly when compiled with optimizations by MSVC.
1925
e6b70fd8
GM
19262001-10-18 Gerd Moellmann <gerd@gnu.org>
1927
30903479 1928 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1929
0e804d38
AI
19302001-10-17 Andrew Innes <andrewi@gnu.org>
1931
1932 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1933
1934 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1935 font_info.charset field.
1936
1937 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1938 rather than working it out by calling w32_codepage_for_font for
1939 every glyph.
1940
66e5868a
AI
19412001-10-17 Andrew Innes <andrewi@gnu.org>
1942
1943 * w32term.c (w32_read_socket): Determine clipping rectangle for
1944 the entire frame, including areas covered by scrollbars and the
1945 menubar. This avoids internal arguments about whether a frame is
1946 fully obscured or not.
1947
15b00083
GM
19482001-10-17 Gerd Moellmann <gerd@gnu.org>
1949
23e8bd86
GM
1950 * xdisp.c (try_window_id): Undo last change. Give up if
1951 window ends in strings.
30903479 1952
9c6ba6d1 1953 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1954 end if the rest of the window after the window end was already blank.
23e8bd86 1955
30903479 1956 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1957 for the release of 21.1.
1958
30903479 1959 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1960
945220bd
MB
19612001-10-17 Miles Bader <miles@gnu.org>
1962
1963 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1964 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1965 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1966 Change doc-string comments to `new style' [w/`doc:' keyword].
1967 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1968 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1969 out make-docfile.
1970
14242528
MB
19712001-10-16 Miles Bader <miles@gnu.org>
1972
1973 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1974
3ddf952f
GM
19752001-10-16 Gerd Moellmann <gerd@gnu.org>
1976
1977 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1978 *scratch*.
1979
f3fbd155
KR
19802001-10-16 Ken Raeburn <raeburn@gnu.org>
1981
1982 Avoid the assumption that car and cdr slots of cons cells are
1983 addressable lvalues; this allows for easier experimentation with
1984 other lisp implementations that may not permit such accesses for
1985 various reasons. Not quite complete -- buffer.c still needs some
1986 work, and w32/mac files need rechecking -- so compile-time
1987 enforcement is left disabled for now.
1988
1989 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1990 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1991 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1992 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1993 (XSETCAR, XSETCDR): New macros.
1994 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1995 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1996 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1997 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1998 XSETCDR.
1999 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2000 * buffer.c (record_buffer, Fbury_buffer)
2001 (swap_out_buffer_local_variables, recenter_overlay_lists)
2002 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2003 fields of a cons cell respectively.
2004 * callint.c (quotify_args, Fcall_interactively): Likewise.
2005 * ccl.c (Fregister_code_conversion_map): Likewise.
2006 * coding.c (detect_coding_system): Likewise.
2007 * composite.c (get_composition_id, make_composition_value_copy):
2008 Likewise.
30903479
SM
2009 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2010 (swap_in_symval_forwarding, set_internal, Fset_default)
2011 (Fmake_variable_buffer_local, Fmake_local_variable)
2012 (Fmake_variable_frame_local): Likewise.
f3fbd155 2013 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2014 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2015 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2016 * minibuf.c (get_minibuffer): Likewise.
2017 * search.c (Fmatch_data): Likewise.
2018 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2019 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2020 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2021 Likewise.
2022 * w32term.c (x_delete_display): Likewise.
2023 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2024 Likewise.
c2d53558 2025 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2026 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2027 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2028 (Fread_file_name): Use XSETCAR.
2029 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2030 CHECK_NUMBER_CDR.
2031 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2032 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2033 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2034 CHECK_NUMBER_CDR.
2035 * keyboard.c (read_char): Alter list traversal to avoid taking the
2036 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2037 (parse_menu_item): Use XSETCAR and XSETCDR.
2038 (reach_char_x_menu_prompt): Use XSETCAR.
2039 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2040 (Fcommand_execute): Use XSETCDR.
2041 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2042 (openp): Change list traversal to avoid using XCAR as lvalue.
2043 (read_list): Use XSETCDR.
2044 * process.c (wait_reading_process_input): Change wait_for_cell
2045 handling to avoid taking addresses of cons cell slots.
30903479
SM
2046 * xselect.c (x_own_selection, x_handle_selection_clear)
2047 (x_clear_frame_selections): Use XSETCDR.
2048 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2049 (x_handle_property_notify, x_get_foreign_selection)
2050 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2051
502150e5
PJ
20522001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2053
018ba359
PJ
2054 * buffer.c: Put doc strings in comments.
2055
30903479 2056 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2057
b56ba8de
SS
20582001-10-15 Sam Steingold <sds@gnu.org>
2059
2060 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2061
6a0b793a
PJ
20622001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2063
30903479
SM
2064 * process.c (process-inherit-coding-system-flag)
2065 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2066 in comment.
2067
a1f17501 2068 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2069 arguments. Put doc strings in comments.
a65da641
PJ
2070
2071 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2072
aa601ad0
GM
20732001-10-15 Gerd Moellmann <gerd@gnu.org>
2074
30903479 2075 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2076
aa601ad0
GM
2077 * window.c (select_window_1): Unfreeze window start. Remove a
2078 doubled test for WINDOW being live.
2079
288148a1
PJ
20802001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2081
dd8d1e71
PJ
2082 * fns.c (Fmapconcat): Fix typo in a doc string.
2083
288148a1
PJ
2084 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2085
9f5eb4a3
GM
20862001-10-15 Gerd Moellmann <gerd@gnu.org>
2087
2088 * xterm.c (x_draw_glyph_string): Restore clipping after
2089 drawing box.
2090
dbae44c8
PJ
20912001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2092
30903479 2093 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2094
0c88c937
SM
20952001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2096
56378db4
GM
2097 * indent.c (skip_invisible): Use new retval of
2098 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2099
845e4cf4
SM
2100 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2101 If a parent is reached and noinherit is set, exit immediately.
2102 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2103
0c88c937
SM
2104 * s/ms-w32.h (EXEC_SUFFIXES):
2105 * s/msdos.h (EXEC_SUFFIXES):
2106 * process.h (EXEC_SUFFIXES): Remove.
2107
2108 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2109 (decode_suffixes): Remove.
2110
2111 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2112 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2113 (invisible_ellipsis_p): Remove.
0c88c937
SM
2114
2115 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2116 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2117 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2118 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2119 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2120
d19be8a9
PJ
21212001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2122
04d7d066
PJ
2123 * lisp.h (Ftop_level): Add prototype.
2124
d624284c
PJ
2125 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2126 (XTread_socket): Improve style of comments to follow other
2127 comments.
2128
a87414f9
PJ
2129 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2130 is already prototyped in included lisp.h).
2131
d19be8a9
PJ
2132 * frame.c (Fset_mouse_position): Improve style of comment to
2133 follow other comments.
2134 (Fset_mouse_pixel_position): Improve style of comment to follow
2135 other comments.
2136 (Fmake_frame_visible): Doc fix and typo in comment.
2137 (Fmake_frame_invisible): Doc fix and typo in comment.
2138 (Ficonify_frame): Fix typo in comment.
2139
c061c855
GM
21402001-10-14 Gerd Moellmann <gerd@gnu.org>
2141
37f6b5b6 2142 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2143 * term.c, alloc.c: Put doc strings in comments.
c061c855 2144
e641b454
GM
21452001-10-13 Gerd Moellmann <gerd@gnu.org>
2146
2147 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2148 Provide definitions for doc strings in comments.
2149
2150 * fns.c: Put doc strings in comments.
2151
51724e26
EZ
21522001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2153
2154 * dired.c (file_name_completion): Ignore a candidate directory if
2155 it matches an element in completion-ignored-extensions that ends
2156 in a slash.
2157 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2158 feature in the doc string.
2159 (Ffile_name_completion): Ditto.
2160
be5fc59b
SM
21612001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2162
5a1373f3
SM
2163 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2164
2165 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2166
2167 * lisp.h (Fprovide): Update prototype.
2168 (Ffeaturep, invisible_p): Remove.
2169
bbc4a3d3 2170 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2171 (DOLIST, LOOP_PROPVAL): New macros.
2172 (invisible_p, invisible_ellipsis_p): Use them.
2173 (invisible_noellipsis_p): New function.
2174 (syms_of_xdisp): Use empty_string.
2175
2176 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2177
2178 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2179 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2180
2181 * print.c (Fwith_output_to_temp_buffer): Align with
2182 internal_with_output_to_temp_buffer.
2183 (print_preprocess): Use traverse_intervals_noorder.
2184 (print_object): Update call to traverse_intervals.
2185
2186 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2187 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2188
2189 * intervals.c (traverse_intervals_noorder): New function.
2190 (search_for_interval, count_intervals): Use it.
2191 (traverse_intervals): Use less stack space and drop `depth' arg.
2192
2193 * fns.c (Ffeaturep): Add new `subfeature' arg.
2194 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2195 (Qsubfeatures): New var.
2196 (syms_of_fns): Initialize it.
2197
026f408d
SM
2198 * keymap.c (Fkey_description): Use empty_string.
2199 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2200 (syms_of_keymap): Setup inheritance between maps.
2201 Don't export Sdescribe_bindings_internal any more.
2202
be5fc59b
SM
2203 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2204
3365175e
GM
22052001-10-12 Gerd Moellmann <gerd@gnu.org>
2206
2207 * xterm.c (notice_overwritten_cursor): Renamed from
2208 note_overwritten_text_cursor. Rewritten to take glyph widths into
2209 account.
2210
2ab7765c
EZ
22112001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2212
2213 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2214 multi-line strings without a trailing "\n\".
2215
311346bb
PJ
22162001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2217
2218 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2219 defined.
2220
2168e04d
SM
22212001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2222
026f408d
SM
2223 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2224
c0ec53ad
SM
2225 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2226 * w32proc.c (sys_spawnve):
2227 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2228 * w32.c (check_windows_init_file):
2229 * sound.c (Fplay_sound):
026f408d 2230 * emacs.c (init_cmdargs):
c0ec53ad
SM
2231 * process.c (Fstart_process): Update calls to openp.
2232
2233 * callproc.c (Vexec_suffixes): New var.
2234 (Fcall_process): Update call to openp.
2235 (decode_suffixes): New function.
2236 (syms_of_callproc): Init exec-suffixes.
2237
2238 * lread.c (Vload_suffixes, default_suffixes): New vars.
2239 (openp): Take a lisp list of suffixes.
2240 Check for file-name-handlers even if the file was absolute already.
2241 (syms_of_lread): Declare load-suffixes.
2242 (Fload): Fix up call to openp.
2243 Don't bother checking for file-name-handler at the very beginning.
2244
f6333468
SM
2245 * keymap.h (Fcopy_keymap): Don't export.
2246
2247 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2248 (Vload_suffixes, Vexec_suffixes): Declare.
2249 (openp): Update prototype.
f6333468
SM
2250
2251 * emacs.c (empty_string): New var.
2252 (syms_of_emacs): Initialize it.
2253
2254 * search.c (wordify): Use it.
2255
2256 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2257 selected window if it's not displayed there. Handle the case
2258 when the window is dedicated.
2259 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2260
2261 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2262
2168e04d
SM
2263 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2264 Remove left_ok and right_ok.
2265 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2266 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2267 new meaning of b_property.
2268
2269 * syntax.c (update_syntax_table): Simplify.
2270 (Fforward_comment): Don't skip quoted chars when going backward.
2271
13d95cc0
GM
22722001-10-11 Gerd Moellmann <gerd@gnu.org>
2273
beb0990f
GM
2274 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2275 in case I is of some unsigned type, in which case
2276 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2277 comparison becomes bogus.
2278
cb938d46
GM
2279 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2280 (Fuser_full_name): Fix bug treating a float as a fixnum.
2281
2282 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2283
2284 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2285
13d95cc0
GM
2286 * lisp.h (circular_list_error): Add prototype.
2287
2288 * data.c (Qcircular_list): New variable.
2289 (circular_list_error): New function.
2290 (syms_of_data): Initialize it Qcircular_list.
2291
e35f6ff7
SM
22922001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2293
2294 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2295 casefiddle.c, buffer.c: Include keymap.h.
2296
619632ac
GM
22972001-10-10 Gerd Moellmann <gerd@gnu.org>
2298
2299 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2300 options. From Dave Love <d.love@dl.ac.uk>.
2301
5e5388f6
GM
23022001-10-09 Gerd Moellmann <gerd@gnu.org>
2303
2304 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2305 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2306
14a3dff7
GM
2307 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2308 unsigned char.
2309 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2310
76ba8daf
AI
23112001-10-08 Andrew Innes <andrewi@gnu.org>
2312
2313 * lisp.h [max]: Undef min and max before redefining them.
2314
2315 * w32gui.h: Do not undef min and max.
2316
2317 * w32heap.h: Do not undef min and max.
2318
2319 * s/ms-w32.h: Do not undef min and max.
2320
166253cb
SM
23212001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2322
2323 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2324
0c4d9527
SS
23252001-10-08 Sam Steingold <sds@gnu.org>
2326
2327 * keymap.c (current-active-maps): Quote newlines (compilation error).
2328
14bfa771
EZ
23292001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2330
2331 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2332 bindings.elc, since otherwise doc strings in bindings.el get wrong
2333 offsets in etc/DOC.
2334
bdb7aa47
SM
23352001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2336
9985827f
SM
2337 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2338
2339 * keyboard.h (map_prompt): Remove.
2340
2341 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2342 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2343
bdb7aa47
SM
2344 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2345
2346 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2347
2348 * keyboard.c (map_prompt): Remove.
2349 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2350 Use Fkeymap_prompt.
2351
2352 * keymap.h: New file. Extracted from lisp.h.
2353
9985827f
SM
2354 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2355 (accessible_keymaps_1): New function.
2356 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2357 (Fwhere_is_internal): Use Fcurrent_active_maps.
2358 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2359 Insert in current buffer rather than standard-output.
2360 Don't call `help-mode'. Export to elisp.
2361 (describe_buffer_bindings): New wrapper.
2362 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2363 and Sdescribe_buffer_bindings.
2364
402c9a51
GM
23652001-10-08 Gerd Moellmann <gerd@gnu.org>
2366
9985827f 2367 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2368 Remove code setting signal handler.
2369
9985827f 2370 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2371 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2372
3fe81fdf
PJ
23732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2374
2375 * keyboard.c: Don't define min/max.
2376
55fa7820
GM
23772001-10-08 Gerd Moellmann <gerd@gnu.org>
2378
9985827f 2379 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2380 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2381 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2382 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2383 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2384 Don't define min/max.
2385
2386 * lisp.h (min, max): New macros.
2387
55fa7820
GM
2388 * puresize.h (BASE_PURESIZE): Increase to 725000.
2389
1aad31e4
PJ
23902001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2391
9180dc8c
PJ
2392 * xfaces.c (free_frame_menubar): Add prototype.
2393
01f67d2c
PJ
2394 * lisp.h (init_window): Add prototype.
2395
2396 * editfns.c: Include ctype.h.
2397
2398 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2399 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2400 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2401 variable `sb'.
2402
5f351ff1
PJ
2403 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2404 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2405 `popup_activated_flag' and `title'.
2406
479dfe87
PJ
2407 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2408
dff49fc8
PJ
2409 * emacs.c (main): Remove extra `;'.
2410
248ac615
PJ
2411 * atimer.h (struct atimer): Fix typos in a comment.
2412
2413 * atimer.c: Fix typo.
2414
af232c7d
PJ
2415 * Makefile.in: Fix typo.
2416
2417 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2418
d876f455
MB
24192001-10-07 Miles Bader <miles@gnu.org>
2420
2421 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2422
0037e2f2
KR
24232001-10-07 Ken Raeburn <raeburn@gnu.org>
2424
b056f36d
KR
2425 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2426 Lisp_Object.
2427
0037e2f2
KR
2428 * lisp.h (Ffield_end): Declare.
2429
1a4372ef
GM
24302001-10-07 Gerd Moellmann <gerd@gnu.org>
2431
a4a74e8c
GM
2432 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2433
2434 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2435
2436 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2437
2438 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2439
1a4372ef
GM
2440 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2441 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2442
2443 * alloc.c (inhibit_garbage_collection): Simplify.
2444 (Fmemory_use_counts): Ditto.
2445
9985827f 2446 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2447 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2448 most-negative-fixnum.
2449
9985827f 2450 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2451 (FIXNUM_OVERFLOW_P): New macros.
2452
4650e362
MB
24532001-10-06 Miles Bader <miles@gnu.org>
2454
2455 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2456 scroll_bar_bottom_shadow_pixel fields.
2457 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2458 for the shadows, and tell the toolkit about them if we succeed.
2459 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2460 Free scroll-bar shadow colors.
2461 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2462 Free scroll-bar shadow colors when the background color changes.
2463 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2464 Initialize scroll-bar shadow-color fields.
2465
ace64e0a
GM
24662001-10-05 Gerd Moellmann <gerd@gnu.org>
2467
2468 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2469
ec66bdc7
MB
24702001-10-05 Miles Bader <miles@gnu.org>
2471
9985827f
SM
2472 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2473 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2474 New functions (were in simple.el).
9985827f 2475 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2476 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2477 (syms_of_minibuf): Initialize them.
2478
a0fb4492
GM
24792001-10-05 Gerd Moellmann <gerd@gnu.org>
2480
2481 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2482 (tiff_load): Install them as error and warning handler.
2483
0bcf87c1
AI
24842001-10-04 Andrew Innes <andrewi@gnu.org>
2485
2486 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2487 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2488 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2489 (x_to_w32_charset): Handle private format for unknown charsets.
2490 Handle wildcards in charset spec, by ignoring them.
2491 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2492 "*-" prefix from charset.
2493 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2494 handle the truncated font spec form constructed by font_list_1, so
2495 that we correctly identify the charset fields. Don't remove "*-"
2496 prefix from charset.
2497 (w32_list_synthesized_fonts): Fix argument to alloca.
2498
c89e4bc5
GM
24992001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2500
2501 * window.h (MINI_WINDOW_P): Use NILP.
2502
2503 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2504
2505 * termhooks.h (struct input_event): Use proper type for `kind'.
2506
25072001-10-04 Gerd Moellmann <gerd@gnu.org>
2508
2509 This handles unknown keysyms better than before. For example,
2510 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2511 Emacs formerly completely ignored F5. With the change, it derives
2512 a key symbol from the name of the X keysym, `ccaron' in this case.
2513 Reported by Martin Buchholz.
2514
2515 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2516 unknown keysyms.
2517
2518 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2519 that EVENT->code isn't a function key, use the keysym's name.
2520
25212001-10-04 Gerd Moellmann <gerd@gnu.org>
2522
2523 FOREACH is a macro that should make it easier to loop over Lisp
2524 lists with checks for cycles and proper lists.
2525
2526 * lisp.h (LIST_END_P, FOREACH): New macros.
2527
25282001-10-04 Gerd Moellmann <gerd@gnu.org>
2529
2530 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2531 called for a lost connection. Prevent dumping core in this case.
2532 Instead print the X error, and exit. On user request.
2533
2534 * xterm.c (error_msg): New variable.
2535 (x_fatal_error_signal): New function.
2536 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2537 as fatal_error_signal_hook around the call to XtCloseDisplay.
2538
2539 * emacs.c (fatal_error_signal_hook): New variable.
2540 (fatal_error_signal): Call that function.
2541
25422001-10-04 Gerd Moellmann <gerd@gnu.org>
2543
2544 With this, Emacs prints how much pure storage it will
2545 approximately need in case pure storage overflows while dumping.
2546
2547 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2548 New variables.
2549 (init_alloc_once): Initialize new variables.
2550 (PURE_POINTER_P): Use new variables.
2551 (pure_alloc): If pure storage overflows, allocate from the heap.
2552 (check_pure_size): New function.
2553 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2554
2555 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2556 (check_pure_size): Add prototype.
2557
2558 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2559
25602001-10-04 Gerd Moellmann <gerd@gnu.org>
2561
2562 This adds a post-gc-hook that's run with GC inhibited.
2563 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2564
2565 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2566 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2567 (Fgarbage_collect): Run post-gc-hook.
2568
25692001-10-04 Gerd Moellmann <gerd@gnu.org>
2570
2571 This adds `defvaralias' and `indirect-variable'. Changes not
2572 directly related to this feature are there to gain the same
2573 performance again as before variable aliases.
2574
2575 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2576 code to get and set symbol values, to take defvaralias into account.
2577
2578 (Note: the new `constant' bit-flag in symbols would make it
2579 possible to define arbitrary read-only variables, e.g. with
2580 `defconst'.)
2581
2582 Documentation is in lispref/variables.texi. Added to NEWS.
2583
2584 * lisp.h (enum symbol_interned): New enumeration.
2585 (struct Lisp_Symbol): Remove member `obarray', add
2586 `indirect_variable', `constant', and `interned'.
2587 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2588 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2589 (indirect_variable): Add prototype.
2590
2591 * print.c (print_preprocess, print_object): Test internedness of
2592 symbols differently.
2593
2594 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2595 bit-fields.
2596 (init_obarray): Likewise for t and nil.
2597
2598 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2599 (Fdefvaralias): New function.
2600 (specbind): Simplify the test if symbol is a constant.
2601 (syms_of_eval): Defsubr Fdefvaralias.
2602
2603 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2604 (Qcyclic_variable_indirection): New variable.
2605 (Fkeywordp): Check for internedness differently.
2606 (Fmakunbound): Simplify the test if symbol is a constant.
2607 (indirect_variable, Findirect_variable): New functions.
2608 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2609 aliased symbol.
2610 (let_shadows_buffer_binding_p): Check for variable aliases.
2611 (set_internal): Simplify the test if SYMBOL is a constant.
2612 If SYMBOL has a buffer-local value and is an alias, use the aliased
2613 symbol instead.
2614 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2615 Sindirect_variable.
2616
2617 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2618 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2619 set directly.
2620
2621 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2622
2623 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2624 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2625 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2626
ab952a4f
GM
26272001-10-04 Gerd Moellmann <gerd@gnu.org>
2628
2629 * Branch for 21.1.
b56ba8de 2630
ba88ff28
MB
26312001-10-03 Miles Bader <miles@gnu.org>
2632
2633 * callproc.c (syms_of_callproc): Explicitly state in the
2634 documentation for `process-environment' that earlier entries take
2635 precedence over later ones.
2636
ae1a9581
MB
26372001-10-02 Miles Bader <miles@gnu.org>
2638
2639 * textprop.c (Fnext_char_property_change)
2640 (Fprevious_char_property_change): Remove reference to non-existant
2641 argument OBJECT from doc-string.
2642
257e3f57
GM
26432001-10-01 Gerd Moellmann <gerd@gnu.org>
2644
2645 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2646 (try_window_id): Skip back over lines ending in a newline from a
2647 string.
2648
2649 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2650 New bit flag
2651
c1f29759
RS
26522001-10-01 Richard M. Stallman <rms@gnu.org>
2653
2654 * search.c (Freplace_match): Doc fix.
2655
c30dce3d
AI
26562001-09-28 Andrew Innes <andrewi@gnu.org>
2657
2658 * w32menu.c (set_frame_menubar): Take into account that
2659 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2660 <raeburn@gnu.org>.
2661
03be5931
EZ
26622001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2663
2664 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2665
75bec752
PJ
26662001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2667
2668 * s/gnu-linux.h: Fix a typo in comment.
2669
83100e0a
AS
26702001-09-28 Andreas Schwab <schwab@suse.de>
2671
2672 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2673 nocombreloc, in case -z combreloc is the default.
2674
a74b48cf
GM
26752001-09-28 Gerd Moellmann <gerd@gnu.org>
2676
2677 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2678 really going on here.
2679
09c4719e
SM
26802001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2681
2682 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2683
f7d5d963
EZ
26842001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2685
2686 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2687 utf-8, menu-bar, and latin-N.
2688 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2689 unconditionally now.
2690 (lisp): Add latin-N, since they are preloaded.
2691
9240e746
GM
26922001-09-27 Gerd Moellmann <gerd@gnu.org>
2693
14531065
GM
2694 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2695 to the left. Some cleanup.
2696
9240e746
GM
2697 * xdisp.c (display_mode_element): One more case where a string's
2698 multibyteness should be used for display.
2699
edd1e654
GM
27002001-09-26 Gerd Moellmann <gerd@gnu.org>
2701
b02439c8
GM
2702 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2703 reading at EOF.
2704
032906b1 2705 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2706 of the only temporarily set echoing flag for deciding when
032906b1
GM
2707 the cancel echoing.
2708
2709 * keyboard.c (echo_kboard): Make externally visible.
2710
2711 * lisp.h (echo_kboard): Declare extern.
2712
cb617e7c 2713 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2714 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2715 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2716 this round of redisplay if make_cursor_line_fully_visible fails.
2717 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2718 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2719
2720 * dispextern.h (required_matrix_width, required_matrix_height):
2721 Add prototypes.
2722
09c4719e
SM
2723 * dispnew.c (required_matrix_width, required_matrix_height):
2724 New functions.
cb617e7c 2725 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2726 (allocate_matrices_for_frame_redisplay: Use them.
2727 Remove parameters CH_DIM.
cb617e7c 2728
edd1e654
GM
2729 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2730 and selected_window to the frame of the window whose mode-lines
2731 are displayed, and to the window itself.
2732 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2733 here.
edd1e654 2734
924b604c
GM
27352001-09-25 Gerd Moellmann <gerd@gnu.org>
2736
daba7643
GM
2737 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2738 the image cache under us.
2739
b7a22712 2740 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2741 with a string value, use that string's multibyteness for displaying.
b7a22712 2742
ad648212
GM
2743 * keyboard.c (read_char): Don't clear a message for a switch-frame
2744 event. From Stefan Monnier <monnier@cs.yale.edu>.
2745
9f8531e5
GM
2746 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2747 version for after 21.1.
2748
2749 * xdisp.c (row_containing_pos): Make externally visible.
2750
2751 * dispextern.h (row_containing_pos): Add prototype.
2752
924b604c
GM
2753 * process.c (send_process): Disable composition if from_byte < 0.
2754 From Kenichi Handa <handa@etl.go.jp>.
2755
6f3f0db4
GM
27562001-09-24 Gerd Moellmann <gerd@gnu.org>
2757
c69c0ebc
GM
2758 * xterm.c (refreshicon): Function removed.
2759
d1182bc4
GM
2760 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2761
2762 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2763
2764 * xterm.c (toplevel): Remove includes in #if 0.
2765
6f3f0db4
GM
2766 * process.c (sigchld_handler) [LINUX]: Don't return from
2767 the signal handler at the end of the loop.
2768
59957f85
GM
27692001-09-21 Gerd Moellmann <gerd@gnu.org>
2770
09c4719e
SM
2771 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2772 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2773
a0528984
EZ
27742001-09-21 Markus Rost <rost@math.ohio-state.edu>
2775
2776 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2777
db92b288
GM
27782001-09-20 Gerd Moellmann <gerd@gnu.org>
2779
3fed8ad5
GM
2780 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2781 since this function can be called during GC.
2782
db92b288
GM
2783 * callproc.c (Fcall_process): Handle errors from pipe(2).
2784 (child_setup): Delete code in #ifdef vipc.
2785
7121b85a
GM
27862001-09-19 Gerd Moellmann <gerd@gnu.org>
2787
72f62cb5
GM
2788 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2789 (display_mode_element): Display the string from decode_mode_spec
2790 depending on its multibyteness.
2791
a2697022
GM
2792 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2793
7121b85a
GM
2794 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2795
bfc97351
GM
27962001-09-18 Gerd Moellmann <gerd@gnu.org>
2797
c9063433
GM
2798 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2799 recursive_edit_unwind.
2800 (recursive_edit_unwind): Set kboard state according to
2801 SINGLE-KBOARD.
2802
3fbdba3e
GM
2803 * buffer.c (modify_overlay): Don't do nothing if START == END;
2804 This can still be a modification, for example when an overlay has
2805 a before-string or after-string.
2806 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2807 an overlay with before-string or after-string.
2808
1270031d
GM
2809 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2810 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2811
bfc97351
GM
2812 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2813 first_unchanged_at_end_row is in front of
2814 last_unchanged_at_beg_row. This code should be removed after the
2815 release of 21.1.
2816
d8a973aa
GM
28172001-09-17 Gerd Moellmann <gerd@gnu.org>
2818
e18c8b8d
GM
2819 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2820 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2821
d8a973aa
GM
2822 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2823 versions >= 2.95.
2824
ed7d6ba4
EZ
28252001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2826
2827 * dired.c (Ffile_attributes): Doc fix.
2828
551629f9
GM
28292001-09-14 Gerd Moellmann <gerd@gnu.org>
2830
2831 * fileio.c (Ffile_symlink_p): Fix last change.
2832
2833 * filelock.c (current_lock_owner): Fix last change.
2834
4c8c7926
GM
28352001-09-13 Gerd Moellmann <gerd@gnu.org>
2836
620c4704
GM
2837 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2838 take that to mean that the buffer is too small.
2839
81c3310d
GM
2840 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2841 that to mean that the buffer is too small.
2842
06fd3792
GM
2843 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2844 current buffer's multibyteness when discarding the iterator's
2845 stack.
2846
4c8c7926
GM
2847 * xfns.c (Fx_window_property): Handle case that property gets
2848 deleted between the two calls to XGetWindowProperty.
2849
9a72e4c1
GM
28502001-09-11 Gerd Moellmann <gerd@gnu.org>
2851
bd819d14 2852 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2853
a41edd99
GM
2854 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2855 in addition to read-only.
2856
2857 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2858 to t in addition to read-only.
2859
2860 * lisp.h (Qinhibit_modification_hooks): Declare.
2861
2862 * insdel.c (Qinhibit_modification_hooks): New variable.
2863 (syms_of_insdel): Initialize and staticpro it.
2864
d4881c6a
GM
2865 * textprop.c (verify_interval_modification): Don't run
2866 modification-hooks if inhibit_modification_hooks.
2867
2868 * dispnew.c (set_window_cursor_after_update): Fix code
2869 finding glyph row containing cursor when cursor_in_echo_area
2870 is >= 0.
2871
9a72e4c1
GM
2872 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2873 (add_to_log): Use bcopy instead of strcpy.
2874 (init_from_display_pos): Use an explicit loop over bytes in
2875 overlay strings instead of calling index.
2876
f4a374a1
GM
28772001-09-10 Gerd Moellmann <gerd@gnu.org>
2878
300e57bd
GM
2879 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2880
2881 * dispnew.c (direct_output_for_insert): Don't change IT's
2882 stop_charpos to something in front of its current position.
2883
f4a374a1
GM
2884 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2885 `format'.
2886
7e4cbc91
RS
28872001-09-10 Richard M. Stallman <rms@gnu.org>
2888
2889 * frame.c (Fmouse_position): Doc fix.
2890
6afad91e
GM
28912001-09-07 Gerd Moellmann <gerd@gnu.org>
2892
2893 * xdisp.c (init_from_display_pos): Don't compare the result
2894 of calling index with NULL.
2895
f76e0368
GM
28962001-09-06 Gerd Moellmann <gerd@gnu.org>
2897
2898 * xfns.c (x_set_background_color): Don't change the colors
2899 of the X window of scroll bar widgets.
2900
9ead1b60
AI
29012001-09-05 Andrew Innes <andrewi@gnu.org>
2902
2903 * w32fns.c (w32_createwindow): Undo last change.
2904
c3b497b3
GM
29052001-09-05 Gerd Moellmann <gerd@gnu.org>
2906
08e1d6df
GM
2907 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2908
c3b497b3
GM
2909 * xdisp.c (string_buffer_position): Use *single_char_property*
2910 functions instead of the *single_property* functions.
b56ba8de 2911
8f860180
AI
29122001-09-04 Andrew Innes <andrewi@gnu.org>
2913
9a72e4c1
GM
2914 * w32term.c (w32_read_socket): Add more information to debugging
2915 output.
8f860180
AI
2916
2917 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2918 from Emacs frames, so that calls to GetClipBox in w32term.c
2919 correctly report when part of a frame is visible (including
2920 scrollbars, etc). This prevents repeated redrawing of frames when
2921 only a scrollbar is visible.
2922 (w32_wnd_proc): Add more frame information to debugging output.
2923
2ee1aa00
SM
29242001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2925
2926 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2927
e3b22517
GM
29282001-09-03 Gerd Moellmann <gerd@gnu.org>
2929
7e376260
GM
2930 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2931 help-echo for a string which doesn't have help-echo itself, use
2932 get-char-property to obtain the help-echo from the string's buffer
2933 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2934 have mouse-face, look ``under'' the string for mouse-face from an
2935 overlay.
2936 (fast_find_position): Add parameter STOP. In the final row, stop
2937 before glyphs having STOP as object. Don't consider glyphs that
2938 are not from a buffer.
2939
e3b22517
GM
2940 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2941
9a249bba
EZ
29422001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2943
2944 * fns.c (Fmd5): Doc fix.
2945
c9979669
GM
29462001-08-31 Gerd Moellmann <gerd@gnu.org>
2947
2948 * composite.c (update_compositions): Do nothing if
2949 inhibit-modification-hooks is set.
2950
9584e63a
GM
29512001-08-30 Gerd Moellmann <gerd@gnu.org>
2952
986ec8f2 2953 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2954 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2955 glyph matrices etc. in a core dump.
2956
92a25631
GM
2957 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2958 (syms_of_xdisp): Initialize them.
2959 (handle_single_display_prop): Don't change point, bind `object',
2960 `position', and `buffer-position' instead to the object having the
2ee1aa00 2961 `display' property, position in the object and position in the buffer.
92a25631 2962
9584e63a
GM
2963 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2964 of the buffer if REPLACE is non-nil.
2965
d38633a3
GM
29662001-08-29 Gerd Moellmann <gerd@gnu.org>
2967
2968 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2969
f4fccc1e
EZ
29702001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2971
2972 * w32term.c (x_set_glyph_string_background_width)
2973 (show_mouse_face): Track the last changes in xterm.c.
2974
eaaa65b0
GM
29752001-08-28 Gerd Moellmann <gerd@gnu.org>
2976
7b0870b2
GM
2977 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2978 string's background width so that multi-line mouse-face is drawn
2979 to the right edge of the window.
2980 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2981 glyphs.
2982
6b6e2422 2983 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2984 before inserting/writing glyphs.
6b6e2422 2985
eaaa65b0
GM
2986 * xdisp.c (display_mode_element): Use string_byte_to_char to
2987 determine character positions in strings, use chars_in_text
2988 instead of strwidth.
2989 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2990 a matrix as parameter; this is easier to use from GDB.
2991
9ad62cf8
MB
29922001-08-28 Miles Bader <miles@gnu.org>
2993
2ee1aa00
SM
2994 * textprop.c (Fprevious_single_char_property_change)
2995 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2996
32171635
GM
29972001-08-27 Gerd Moellmann <gerd@gnu.org>
2998
47d57b22
GM
2999 * fileio.c (Finsert_file_contents): Allocate, restore, and
3000 free composition data in the case of REPLACE not being nil.
3001
3002 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3003 there exist overlay strings with newlines at POS.
3004 (text_outside_line_unchanged_p): Return 0 if changes start at
3005 START and overlays exist at START. Likewise for END.
3006 (try_window_id): Give up if init_to_row_end returns 0.
3007
32171635
GM
3008 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3009 unconditionally.
3010
e1249666
GM
30112001-08-24 Gerd Moellmann <gerd@gnu.org>
3012
33954c45
GM
3013 * keymap.c (access_keymap): Return the cdr of the binding of
3014 a generic character instead of its definition (KEY . BINDING).
3015
e1249666
GM
3016 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3017 to 0 also in the REPLACE case.
3018
fb4c6c96
AC
30192001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3020
3021 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3022 open to determine whether file is readable (as for DOS_NT).
3023
59ecf80b
GM
30242001-08-23 Gerd Moellmann <gerd@gnu.org>
3025
3026 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3027 coding.type is coding_type_no_conversion or coding_type_raw_text,
3028 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3029 non-nil instead of just setting enable_multibyte_characters in the
3030 buffer to nil.
3031
40e33037
GM
30322001-08-22 Gerd Moellmann <gerd@gnu.org>
3033
374388c3
GM
3034 * dispextern.h (struct face_cache): Add member
3035 menu_face_changed_p.
3036
3037 * xfaces.c (menu_face_changed_default): New variable.
3038 (menu_face_changed_count): Variable removed.
3039 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3040 the menu_face_changed_default flag, otherwise set the FRAME's
3041 menu_face_changed_p flag if the `menu' face has been changed.
3042 Prevent calling set_font_frame_param if FRAME is t.
3043 (make_face_cache): Initialize cache's menu_face_changed_p
3044 from menu_face_changed_default.
3045 (realize_basic_faces): Look into the frame's face cache to
3046 determine if the menu appearance needs updating.
3047
40e33037
GM
3048 * keymap.c (access_keymap): Fix last change to not consider
3049 IDX when it has modifiers.
3050
859ea4b8
GM
30512001-08-21 Gerd Moellmann <gerd@gnu.org>
3052
3053 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3054 . BINDING) exists, where GENERIC-CHAR is the generic character of
3055 the charset of IDX, return BINDING unless there exists a binding
3056 for IDX itself.
3057
e8660d73
GM
30582001-08-16 Gerd Moellmann <gerd@gnu.org>
3059
cca1b1d7
GM
3060 * xrdb.c (SYSV): Don't define on Solaris 2.
3061 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3062
e8660d73 3063 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3064 of the screen line, not text line, containing IT's current position.
e8660d73 3065
93aba6fc
GM
30662001-08-15 Gerd Moellmann <gerd@gnu.org>
3067
288d4e06
GM
3068 * window.c (window_scroll_pixel_based): Don't recenter if
3069 PT is partially visible in the window.
3070
3452efc2
SM
3071 * xterm.c (expose_window_tree, expose_window, expose_line):
3072 Return 1 when overwriting mouse-face.
82f053ab
GM
3073 (expose_frame): If mouse-face was overwritten, redo it.
3074
93aba6fc
GM
3075 * xfaces.c (x_update_menu_appearance): Don't call
3076 set_frame_menubar, let the next redisplay do it.
3077
858a55c1
AI
30782001-08-14 Andrew Innes <andrewi@gnu.org>
3079
3080 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3081 drawing glyph string.
3082
3a990b67
EZ
30832001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3084
3085 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3086 running HI-UX/MPP.
3087
04386463
GM
30882001-08-14 Gerd Moellmann <gerd@gnu.org>
3089
3090 * xfaces.c (x_update_menu_appearance): Save and restore value of
3091 interrupt_input_blocked.
3092
3e6385a4
GM
30932001-08-13 Gerd Moellmann <gerd@gnu.org>
3094
b0e619b4
GM
3095 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3096 a line start, move back to the line start.
3452efc2 3097
0de73d5a
GM
3098 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3099 exactly when a mini-buffer is active.
3100
3e6385a4
GM
3101 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3102 in units of 1/8 character on non window-system frames.
3103 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3104
d1b5f629
EZ
31052001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3106
3107 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3108 a doc string.
3109
eaa2319f
GM
31102001-08-09 Gerd Moellmann <gerd@gnu.org>
3111
8e3189f0
GM
3112 * keyboard.c (Vpre_help_message): New variable.
3113 (syms_of_keyboard): Initialize and staticpro it.
3114 (show_help_echo): Record current message before displaying a
3115 help-echo, and restore that message when clearing the help.
3116
eaa2319f
GM
3117 * xfns.c (x_create_im): Remove prototype.
3118
3119 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3120
3121 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3122
eaa2319f
GM
31232001-08-08 Gerd Moellmann <gerd@gnu.org>
3124
3125 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3126 windows whose height has changed, disable partially visible lines.
eaa2319f 3127
17fdcfc8
GM
31282001-08-07 Gerd Moellmann <gerd@gnu.org>
3129
22d01aed 3130 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3131 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3132
17fdcfc8
GM
3133 * xdisp.c (start_display): Don't try to determine the continuation
3134 lines width if lines are truncated. It's superfluous and leads to
3135 incorrect results if POS is not visible in the window after
3136 reseating the iterator at the previous line start.
3137
8e3fe78e
GM
31382001-08-06 Gerd Moellmann <gerd@gnu.org>
3139
3140 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3141
98a8938c
GM
31422001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3143
3144 * alloc.c (init_stack): Remove declaration.
3145
18f9986a
GM
31462001-08-03 Gerd Moellmann <gerd@gnu.org>
3147
5e1f85e0
GM
3148 * keyboard.c (read_key_sequence): Check that key is an integer
3149 before comparing it with quit_char.
3150 (add_command_key): Use larger_vector.
3151 (read_char_x_menu_prompt): Instead of converting symbol and
3152 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3153 which cannot be confused with valid events.
5e1f85e0
GM
3154 (read_char): When reading from Vunread_command_events, check for
3155 events of the form (EVENT . disabled) instead of
3156 (EVENT . nil).
3157
18f9986a
GM
3158 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3159 a float, determine the max height from the frame's height.
3160
fbc7f2a6
GM
31612001-08-02 Gerd Moellmann <gerd@gnu.org>
3162
3163 * xdisp.c (redisplay_internal): Take message_cleared_p into
3164 account only if minibuf_level == 0.
3165
81b1a79d
GM
31662001-08-01 Gerd Moellmann <gerd@gnu.org>
3167
e5c60873
GM
3168 * xdisp.c (redisplay_internal): Add a check for the last
3169 displayed message.
3452efc2 3170
6e019995
GM
3171 * xdisp.c (message_cleared_p): New variable.
3172 (clear_message): Set message_cleared_p when clearing the current
3173 message.
3174 (redisplay_internal): Look at message_cleared_p to capture
3175 the case that the echo area should be cleared.
3176
308a74d8
GM
3177 * keyboard.c (command_loop_1): Fix spelling of
3178 resize_echo_area_exactly.
3179
3452efc2 3180 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3181
3182 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3183
81b1a79d
GM
3184 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3185 current matrix when the window gets smaller.
3186
ada329e6
EZ
31872001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3188
3189 * print.c (strout): Cast the character passed to insert_char to
3190 unsigned char, to avoid sign extension when it is promoted to int.
3191
ed86208c
GM
31922001-07-31 Gerd Moellmann <gerd@gnu.org>
3193
3194 * fileio.c (Finsert_file_contents): Don't treat a return value
3195 of 0 from emacs_read as an IO error.
3196
6594ac22
GM
31972001-07-30 Gerd Moellmann <gerd@gnu.org>
3198
cef68af5
GM
3199 * keyboard.c (abs): New macro.
3200 (double_click_fuzz): New variable.
3201 (make_lispy_event): Use it to determine what makes a double-click.
3202 (syms_of_keyboard): DEFVAR_INT it.
3203
6594ac22
GM
3204 * xmenu.c (set_frame_menubar): Take into account that
3205 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3206 <raeburn@gnu.org>.
3207
75c5350a
GM
32082001-07-27 Gerd Moellmann <gerd@gnu.org>
3209
3210 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3211
3212 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3213 of row's visible height.
3214
3215 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3216 deal with the first overlay string having an image `display' property.
3217 (try_window_reusing_current_matrix, compute_line_metrics):
3218 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3219 row is invisible above and part of the row is at the same time
3220 invisible below the window.
3221
ac49effe
GM
32222001-07-26 Gerd Moellmann <gerd@gnu.org>
3223
3224 * xfns.c (x-show-tip): Doc fix.
3452efc2 3225
ac49effe
GM
3226 * xfns.c (Vx_max_tooltip_size): New variable.
3227 (syms_of_xfns): DEFVAR_LISP it.
3228 (Fx_show_tip): Set frame's window_width to the width of the
3229 window. Use a maximum tooltip size specified by
3230 Vx_max_tooltip_size, if that has valid contents.
3231 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3232
8c3b00cb
AI
32332001-07-26 Andrew Innes <andrewi@gnu.org>
3234
3235 * w32term.c (x_display_list): New variable.
3236 (w32_term_init): Set it.
3237
3238 * w32term.h (x_display_list): New extern.
3239
16098288
GM
32402001-07-26 Gerd Moellmann <gerd@gnu.org>
3241
3242 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3243 is non-nil, instead of when redisplaying_p is non-zero.
3244 See comment there.
16098288
GM
3245 (mark_window_display_accurate_1): Add an assertion.
3246
64c5be50
GM
32472001-07-25 Gerd Moellmann <gerd@gnu.org>
3248
e743f599
GM
3249 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3250
563b384d
GM
3251 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3252 events so that we get a chance of processing expose events.
3253
64c5be50
GM
3254 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3255
296808a5
GM
32562001-07-24 Gerd Moellmann <gerd@gnu.org>
3257
3258 * xfns.c (valid_image_p): Protect better against invalid image
3259 specifications. Previous code could signal an error.
3260
5247262a
GM
32612001-07-23 Gerd Moellmann <gerd@gnu.org>
3262
3452efc2 3263 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3264 presence of display table entries.
3265 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3266
dd42b31a
GM
3267 * dispnew.c (adjust_glyph_matrix): In the optimization for
3268 windows whose height has changed, use the new window height
3269 to compute which rows to invalidate.
3270
9e5a7f2a
GM
3271 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3272 (MAX_10_EXP): New macro.
3273 (Fformat): Use it.
3274
5247262a
GM
3275 * coding.c (code_convert_region): Handle the multibyte case if
3276 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3277
177ab8ce
GM
32782001-07-20 Gerd Moellmann <gerd@gnu.org>
3279
6e07c0a5
GM
3280 * dispextern.h (struct face): Change type of `stipple' to
3281 int; it's an ID.
3282
177ab8ce
GM
3283 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3284
b5b80599
GM
32852001-07-19 Gerd Moellmann <gerd@gnu.org>
3286
4e2a256b
GM
3287 * dispnew.c (update_window): Don't set the cursor at the end
3288 of the update if display update has been paused.
3289
3452efc2 3290 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3291
c1fd9232
KR
32922001-07-18 Ken Raeburn <raeburn@gnu.org>
3293
3294 * fns.c (Fset_char_table_default): Check that a charset is defined
3295 before checking its dimension.
3296
928a85c1
KR
32972001-07-17 Ken Raeburn <raeburn@gnu.org>
3298
3299 * coding.c (setup_coding_system): Don't do any designation based
3300 on reg_bits if charset is not yet defined.
3301
fb4c6c96 3302 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3303 pointer, using eassert.
3304
de11c1ea
GM
33052001-07-17 Gerd Moellmann <gerd@gnu.org>
3306
3452efc2
SM
3307 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3308 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3309
467f1209
GM
33102001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3311
3312 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3313
c3d6be34
GM
33142001-07-16 Gerd Moellmann <gerd@gnu.org>
3315
c1d61a7d
GM
3316 * fileio.c (unwind_read): Function removed.
3317 (read_non_regular, read_non_regular_quit): New functions.
3318 (Finsert_file_contents): When reading from non-regular files,
3319 arrange to catch a `quit' and terminate the loop. Rearrange
3320 code so that a `quit' when reading from a regular file doesn't
3321 insert text in the buffer.
3322
c3d6be34
GM
3323 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3324 Clear faces afterwards.
3325 (clear_font_table): Take a x_display_info parameter. Don't free
3326 fonts being the default font of any frame on the given display.
3327
e06aa1f9
GM
33282001-07-13 Gerd Moellmann <gerd@gnu.org>
3329
3330 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3331 instead of CHAR_STRING which can signal an error.
3332
3333 * charset.c (char_to_string_1): Extracted from char_to_string.
3334 Return -1 instead of signaling an error.
3335 (char_to_string): Use it.
3336
3337 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3338
176c92e6
SM
33392001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3340
3341 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3342 is t, don't try to append anything to it.
3343
1c56232f
EZ
33442001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3345
3346 * dired.c (file_name_completion): Pass dp->d_name to
3347 Fstring_match, not elt, which is always nil here.
3348
1d2b2268
GM
33492001-07-12 Gerd Moellmann <gerd@gnu.org>
3350
3351 * xselect.c (x_decline_selection_request): Handle errors
3352 caused by receivers that have vanished.
3353
3354 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3355 ignoring events on foreign windows in #if 0. Always dispatch
3356 the event after checking it with x_handle_property_notify.
3357
3358 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3359 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3360 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3361 (toplevel): Add prototypes for file-local functions.
3362 (x_atom_to_symbol): Remove DPYINFO parameter.
3363
fe5a0162
SM
33642001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3365
3366 * w32menu.c (menubar_selection_callback, w32_menu_show):
3367 Initialize `entry' to nil.
3368 (w32_dialog_show): Remove unused `save_wv' variable.
3369 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3370
a777242c
GM
33712001-07-11 Gerd Moellmann <gerd@gnu.org>
3372
8ee5b6a3
GM
3373 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3374
d0e2444e
GM
3375 * fileio.c (unwind_read): Print a message when discarding inserted
3376 text or switching the buffer to unibyte. Change parameter.
3377 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3378
a777242c
GM
3379 * fileio.c (unwind_read): New function.
3380 (Finsert_file_contents): Record it as unwind-function for
3381 the case that reading is interrupted by C-g.
3382
ae794295
GM
33832001-07-10 Gerd Moellmann <gerd@gnu.org>
3384
fe5a0162 3385 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3386 update when scrolling_window returns 0.
3387
6b05fae3
GM
3388 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3389
3390 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3391 for the case that x_decode_color signals an error.
6b05fae3 3392
ae794295
GM
3393 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3394
bb6e8cee
GM
33952001-07-09 Gerd Moellmann <gerd@gnu.org>
3396
3397 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3398 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3399 around ioctls.
3400
36b40a8a
EZ
34012001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3402
24b97d4b
EZ
3403 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3404 doc string line for dos-timezone-offset.
3405
36b40a8a
EZ
3406 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3407 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3408 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3409 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3410
3411 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3412
0967b4b0
GM
34132001-07-05 Gerd Moellmann <gerd@gnu.org>
3414
f25cfe53
GM
3415 * sound.c: Include Emacs' header files with #include "...".
3416
0967b4b0
GM
3417 * eval.c (specbind): Additionally record the buffer that was
3418 current when a buffer-local or frame-local variable was bound.
3419
c347a1c3
GM
34202001-07-04 Gerd Moellmann <gerd@gnu.org>
3421
3422 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3423 to unibyte characters in unibyte buffers.
3424
6332ca8a
GM
34252001-07-03 Gerd Moellmann <gerd@gnu.org>
3426
38472d44
GM
3427 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3428 the frame on the binding stack. Change format of entries for
3429 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3430 (unbind_to): Handle unbinding a frame-local variable.
3431
6332ca8a 3432 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3433 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3434 (dump_glyph_row): Print row's continuation_lines_width.
3435 (try_window_id): Take the shortcut if ZV is visible in the
3436 window, but there are actually no changes at ZV.
3437
63d1b174
GM
34382001-07-02 Gerd Moellmann <gerd@gnu.org>
3439
4c175203
GM
3440 * xterm.h (x_free_dpy_colors): Add prototype.
3441
3442 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3443 right number of arguments.
3444
0b54ce28
GM
3445 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3446 ($(lwlibdir)TAGS): New target.
4c175203 3447 (TAGS): Fix dependency list.
0b54ce28 3448
63d1b174
GM
3449 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3450 with input blocked.
3451
d827466c
GM
34522001-06-30 Gerd Moellmann <gerd@gnu.org>
3453
3454 * emacs.c (main): Remove extern declaration for sys_nerr, which
3455 isn't used and causes a compilation error with GCC 3.0 on
3456 FreeBSD 4.3.
3457
b5cb1ada
GM
34582001-06-27 Gerd Moellmann <gerd@gnu.org>
3459
a5d3ec3f 3460 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3461 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3462 (toplevel): Include <signal.h> and syssignal.h.
3463
b5cb1ada
GM
3464 * sound.c (vox_configure, vox_close): Turn off atimers
3465 around ioctls.
3466
d9bad487
GM
34672001-06-26 Gerd Moellmann <gerd@gnu.org>
3468
fdbb67fe
GM
3469 * keyboard.c (read_char) <non_reread>: Record the previous idle
3470 start time before calling timer_stop_idle.
3471 (read_char) <reread_first>: After processing a help-echo event,
3472 restore the previous idle start time.
3473
d9bad487
GM
3474 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3475 the start of invisible text.
3476 (setup_for_ellipsis): New function.
3477 (next_overlay_string): After all overlay strings have been
3478 processed, display an ellipsis if necessary.
3479 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3480 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3481
3482 * dispextern.h (struct iterator_stack_entry): Add member
3483 display_ellipsis_p.
3484
2b9c25e0
GM
34852001-06-25 Gerd Moellmann <gerd@gnu.org>
3486
80de57df
GM
3487 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3488 on the value of the wait-for-wm frame parameter.
3489
3490 * xterm.h (struct x_output): Add member wait_for_wm.
3491
3492 * xfns.c (Qwait_for_wm): New variable.
3493 (x_frame_parms): Add entry for `wait-for-wm".
3494 (x_set_wait_for_wm): New function.
3495 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3496 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3497
2b9c25e0
GM
3498 * xdisp.c (try_window_id) <all changes below window end>: Don't
3499 take this shortcut if ZV is visible in the window.
3500 (try_window_id): When checking for window start being in changed
3501 text, don't check that the buffer's size has changed.
3502
f772775c
RS
35032001-06-23 Richard M. Stallman <rms@gnu.org>
3504
3505 * minibuf.c (Fcompleting_read): Doc fix.
3506
fa9090b8
GM
35072001-06-19 Gerd Moellmann <gerd@gnu.org>
3508
3509 * composite.c (Ffind_composition_internal): Accept ZV
3510 and a string's end position as POS.
3511
f6f1beba
GM
35122001-06-18 Gerd Moellmann <gerd@gnu.org>
3513
3514 * composite.c (Ffind_composition_internal): Check POS
3515 for validity.
3516
0ae83348
EZ
35172001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3518
3519 * editfns.c (Fmessage_box): If the frame is not under a window
3520 system, output the message in the echo area.
3521
e4cdc335
RS
35222001-06-14 Richard M. Stallman <rms@gnu.org>
3523
3524 * xdisp.c (try_window_id): When EOB is visible, don't treat
3525 insertion at EOB as if it were "off the bottom of the screen."
3526
a55a5f3c
AI
35272001-06-11 Andrew Innes <andrewi@gnu.org>
3528
3529 * w32proc.c (create_child): Add new parameter is_gui_app.
3530 (w32_executable_type): Add new parameter is_gui_app.
3531 (sys_spawnve): Use it.
3532 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3533 SIGQUIT. This matches better how the signals are interpreted by
3534 MSVC compiled programs.
3535 (syms_of_ntproc): Update docstring.
3536
1b85dc1c
SM
35372001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3538
3539 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3540 well otherwise note_mouse_highlight might optimize away highlighting
3541 if we pass over that same overlay again.
3542
b75f8eab
EZ
35432001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3544
3545 * lread.c (Fload): Document that the argument is run via
3546 substitute-in-file-name.
3547
94843cc1
GM
35482001-05-31 Gerd Moellmann <gerd@gnu.org>
3549
b14659e6
GM
3550 * Makefile.in (bootstrap-doc): New target.
3551 (bootstrap-emacs): Depend on it.
3552
0894672f
GM
3553 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3554 auto-save-list-file-name when shutting down Emacs, because
3555 creating the directory might signal an error, and leaves
3556 Emacs in a strange state.
3557
94843cc1
GM
3558 * term.c: (tty_cursor_hidden): New variable.
3559 (update_begin): Don't call tty_hide_cursor. Clean up.
3560 (update_end, set_terminal_window, set_scroll_region): Clean up.
3561 (ring_bell, reset_terminal_modes): Clean up.
3562 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3563 on tty_cursor_hidden.
3564 (write_glyphs): Call tty_hide_cursor.
3565
db3a49a6
SM
35662001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3567
3568 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3569
8bd189fb
GM
35702001-05-30 Gerd Moellmann <gerd@gnu.org>
3571
6f1be3b9
GM
3572 * xfns.c (enum image_value_type): New enumerator
3573 IMAGE_STRING_OR_NIL_VALUE.
3574 (parse_image_spec): Handle it.
3575 (xbm_format, pbm_format): Use it for :foreground and :background.
3576 (xbm_load, pbm_load): Check for nil color names.
3577
8bd189fb
GM
3578 * xterm.c (note_mouse_highlight): If an overlapping overlay
3579 exists, but we find that we highlight the same overlay as before,
3580 don't do the highlighting again.
3581
7bdba03c
GM
35822001-05-29 Gerd Moellmann <gerd@gnu.org>
3583
4c329aa8
GM
3584 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3585 Protect unibyte strings created by replacing their multibyte
3586 equivalents in menu_items.
3587
e15e2828
GM
3588 * keymap.c (Fsingle_key_description): NUL-terminate the string
3589 buffer before calling build_string.
3590
7bdba03c
GM
3591 * callproc.c (Fcall_process): Deal with decode_coding returning
3592 CODING_FINISH_INCONSISTENT_EOL.
3593
89c8dc6c
GM
35942001-05-28 Gerd Moellmann <gerd@gnu.org>
3595
db3a49a6 3596 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3597 an item's name with its key description in case the description
3598 is a multibyte string.
3599
3600 * keymap.c (Fsingle_key_description): Create a multibyte string
3601 only if necessary.
3602
eb04d6cd
GM
3603 * macros.c (Fstart_kbd_macro): Doc fix.
3604
8bd6307f
GM
3605 * xterm.c (cursor_in_mouse_face_p): New function.
3606 (x_draw_stretch_glyph_string): Use it to choose a different GC
3607 when drawing a cursor within highlighted text.
3608
e26c4089
GM
3609 * editfns.c (char_property_eq): Put in #if 0.
3610
3611 * indent.c (string_display_width): Put in #if 0.
3612
3613 * lread.c (Fload): Remove unused label.
3614
89c8dc6c
GM
3615 * termcap.c (speeds): Put in #if 0.
3616
9a1211f2
GM
36172001-05-18 Gerd Moellmann <gerd@gnu.org>
3618
29148a3f
GM
3619 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3620
9a1211f2
GM
3621 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3622 transformation matrix by 10.
3623
09393d07
GM
36242001-05-16 Gerd Moellmann <gerd@gnu.org>
3625
3626 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3627 only if it's equal to the former foreground pixel color.
db3a49a6 3628 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3629 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3630
460e6bae
GM
36312001-05-16 Dave Love <fx@gnu.org>
3632
3633 * insdel.c (signal_before_change, signal_after_change): Consider a
3634 local change hook which changes the buffer.
99c78ce8
GM
3635
3636 * process.c (read_process_output): Don't call signal_after_change
3637 and update_compositions after insert_from_string_before_markers.
3638
dbcf3c03
GM
36392001-05-16 Gerd Moellmann <gerd@gnu.org>
3640
a90b3d3c
GM
3641 * xfaces.c (split_font_name): Use the right field when
3642 checking for `[...]' syntax.
3643
1b7818b4
GM
3644 * buffer.c (copy_overlays): New function.
3645 (clone_per_buffer_values): Use it.
3646
3647 * buffer.h (OVERLAY_PLIST): New macro.
3648
9bae8781
GM
3649 * keymap.c (Fsingle_key_description): Replace a build_string with
3650 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3651
dbcf3c03
GM
3652 * fontset.c (Ffontset_info): Check that face is non-null
3653 before accessing its fields.
3654
8a1ae4dd
GM
36552001-05-15 Gerd Moellmann <gerd@gnu.org>
3656
18a0a39e
GM
3657 * keyboard.c (read_key_sequence): Prevent generating a fake
3658 prefix key twice.
3659
e335b66a
GM
3660 * xfaces.c (split_font_name): Handle `[...]' for the right
3661 font name fields.
3662
8a1ae4dd
GM
3663 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3664 of CCL_STAT_INVALID_CMD.
3665
3cf80731
SM
36662001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3667
33568849
SM
3668 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3669 in <var> has no default value yet.
3670
3cf80731
SM
3671 * xfaces.c (try_alternative_families): First try the FAMILY.
3672 And if nothing is found in the end, try again with scalable fonts.
3673 (try_font_list): Let try_alternative_families do a bit more of
3674 the work. Only use FAMILY if it is not nil.
3675 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3676
933b0249
GM
36772001-05-14 Gerd Moellmann <gerd@gnu.org>
3678
58e5af83
GM
3679 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3680 pointer shape when show_mouse_face has already done it.
33568849 3681
58e5af83 3682 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3683 full-width rows.
3684
7b16a6bf
GM
3685 * xfaces.c (split_font_name): Make sure to leave the loop
3686 with the right value of `i'.
3cf80731 3687
933b0249
GM
3688 * xfaces.c (split_font_name): Handle matrix transformations
3689 in the pixel and point size fields of XLFD font names.
3690 (xlfd_point_size): Likewise.
3691
dddcbf00
EZ
36922001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3693
3cf80731 3694 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3695 (x_to_w32_font): Add prototype.
3696
7689ef0b
EZ
3697 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3698 redefining, to avoid compiler warnings.
3699
e7c15bba
EZ
3700 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3701
dddcbf00
EZ
3702 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3703 (w32_get_bdf_glyph): Cast between unsigned char and char when
3704 passing arguments to subroutines, to shut up compiler warnings.
3705 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3706 GET_HEX_VAL.
3707
3708 * xfaces.c: Include keyboard.h before frame.h, not after it.
3709
3710 * widget.c: Include keyboard.h before frame.h.
3711
3712 * w32term.h (struct image, struct face): Forward declaration, to
3713 avoid compiler warnings.
3714
7bd2d083
GM
37152001-05-11 Gerd Moellmann <gerd@gnu.org>
3716
47e72862
GM
3717 * keyboard.c (read_key_sequence): Don't modify events when
3718 generating fake prefix keys (mode-line, scroll-bar, ...) since
3719 this prevents proper processing of such events when pushed back
3720 into unread-command-events.
3721
dd5f324b
GM
3722 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3723 actually redrawn. Make the function static.
3724 (note_mouse_highlight): Fix a case where the mouse cursor
3725 was changed back to the text cursor.
3726
3727 * xterm.h (clear_mouse_face): Remove prototype.
3728
d88a79d4
GM
3729 * xdisp.c (try_window_id): Fix the fix and set the right
3730 window_end_vpos.
3731
3732 * xdisp.c (try_window_id): Fix computation of window end in the
3733 case that lines were deleted at the end of the window. Add some
3734 more debug_method_adds.
0416532f 3735
7bd2d083
GM
3736 * xfaces.c (try_alternative_families): New function.
3737 (try_font_list): Use it. If ATTRS specifies a family, check
3738 fonts from that family first.
3739 (choose_face_font): Remove code setting the family part of
3740 the pattern to nil.
3741
23fca891
GM
37422001-05-10 Gerd Moellmann <gerd@gnu.org>
3743
ff9aa2ca
GM
3744 * xdisp.c (try_window_id): Fix case of all changes before
3745 the window start.
7b2654b5 3746
23fca891
GM
3747 * xdisp.c (try_window_id): Add some xasserts.
3748
e9726794
GM
37492001-05-09 Gerd Moellmann <gerd@gnu.org>
3750
3751 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3752
9e53a675
GM
37532001-05-09 Dave Love <fx@gnu.org>
3754
3755 * xdisp.c (GIVE_UP): Fix for K&R C.
3756
0d487c52
GM
37572001-05-09 Gerd Moellmann <gerd@gnu.org>
3758
fe88d421
GM
3759 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3760
0d487c52
GM
3761 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3762 back to the text cursor shape without need.
3763
1e9fc92e
GM
37642001-05-07 Gerd Moellmann <gerd@gnu.org>
3765
a2a6232e
GM
3766 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3767
3768 * dispextern.h (inverse_video): Declare extern.
3769
1e9fc92e
GM
3770 * keyboard.c (delete_kboard): Handle the case that selected_frame
3771 has been deleted in the course of x_connection_closed.
3772
12949a7f
EZ
37732001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3774
7b2654b5
SM
3775 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3776 Fix the change from 2001-04-30.
12949a7f 3777
2fa2f461
GM
37782001-05-03 Gerd Moellmann <gerd@gnu.org>
3779
a779d213
GM
3780 * xfns.c (file_dialog_unmap_cb): New function.
3781 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3782 where a dialog is closed via the window manager.
3783
7b2654b5 3784 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3785 the window start or all below the window end mostly rewritten.
3786 (redisplay_window): Move the tests if try_window_id is
3787 applicable to try_window_id.
3788 (GIVE_UP): New macro.
3789
3356df63
GM
37902001-05-02 Gerd Moellmann <gerd@gnu.org>
3791
a39202f6 3792 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3793 currently being updated, mark the frame garbaged.
3794 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3795 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3796
3356df63
GM
3797 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3798 again if it has already been drawn.
3799
a9d2fd1d
SM
38002001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3801
3802 * syntax.c (update_syntax_table): Check that oldi has the same
3803 properties as old_prop before deciding not to invalidate.
3804
c95fc5f1
GM
38052001-04-30 Gerd Moellmann <gerd@gnu.org>
3806
a9793e45
GM
3807 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3808 read-only text that is so because of text properties.
3809
c95fc5f1 3810 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3811 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3812 windows that are components of a Lucid menu bar.
3813
5a5d9185
GM
38142001-04-27 Gerd Moellmann <gerd@gnu.org>
3815
3816 * term.c (turn_on_face): Fix reverse video handling on terminals
3817 that don't support colors.
3818
ba973f7a
GM
38192001-04-26 Gerd Moellmann <gerd@gnu.org>
3820
3821 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3822 a non-buffer.
3823
8c56a983
GM
38242001-04-25 Gerd Moellmann <gerd@gnu.org>
3825
a728644c
GM
3826 * term.c (toggle_highlight): New function.
3827 (turn_on_face): Change handling of reverse video.
3828
7b2654b5
SM
3829 * process.c (wait_reading_process_input):
3830 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3831
bfd8410f
GM
3832 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3833 of the number of overlays to check.
3834
be2488ca
GM
3835 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3836
8c56a983
GM
3837 * xdisp.c (try_window_id): Fix a case where window_end_pos
3838 and window_end_bytepos were not adjusted.
3839
522d42f7
GM
38402001-04-23 Gerd Moellmann <gerd@gnu.org>
3841
3842 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3843 zero instead of -1.
3844
78c1afb6
EZ
38452001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3846
a9d2fd1d
SM
3847 * process.c (wait_reading_process_input) [!subprocesses]:
3848 Don't reference waiting_for_user_input_p, it's not defined in the
3849 branch without async subprocesses support.
78c1afb6 3850
a2fab450
GM
38512001-04-19 Gerd Moellmann <gerd@gnu.org>
3852
a122a38e
GM
3853 * keyboard.c (delete_kboard): Prevent a dangling reference
3854 from current_kboard to KB, which is freed.
3855
a9d2fd1d
SM
3856 * process.c (wait_reading_process_input):
3857 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3858 read_key_sequence aware of buffer changes from under it.
3859
0f8d6dc7
GM
38602001-04-18 Gerd Moellmann <gerd@gnu.org>
3861
eeffb293
GM
3862 * xfaces.c (Qscalable_fonts_allowed): New variable.
3863 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3864 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3865 removed.
eeffb293 3866 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3867 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3868 for scalable-fonts-allowed to t.
eeffb293 3869
0f8d6dc7
GM
3870 * fileio.c (Finsert_file_contents): If the file size returned from
3871 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3872 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3873
eec2d1de
EZ
38742001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3875
3876 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3877 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3878 (__memalign_hook): Make the two prototypes consistent.
3879
f4f480bd
GM
38802001-04-17 Gerd Moellmann <gerd@gnu.org>
3881
3882 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3883 matrix of mini-windows.
3884
52283633
SM
38852001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3886
3887 * intervals.c (find_interval): Don't rebalance during signal handling.
3888
ec2423c9
GM
38892001-04-11 Gerd Moellmann <gerd@gnu.org>
3890
30cb0001 3891 * fns.c: Include blockinput.h.
52283633 3892
ec2423c9
GM
3893 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3894
719d83ad
GM
38952001-04-10 Gerd Moellmann <gerd@gnu.org>
3896
60f8d735
GM
3897 * fns.c (Fcompare_strings): Fix return values.
3898
afffeb57
GM
3899 * window.c (window_scroll): Change the meaning of N to mean
3900 N screen-fulls or N lines.
3901 (window_scroll_pixel_based, window_scroll_line_based)
3902 (scroll_command, Fscroll_other_window): Change accordingly.
3903
52283633
SM
3904 * window.c (window_scroll_pixel_based, Frecenter):
3905 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3906 height of the window.
3907
3908 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3909 instead of using it.last_visible_y for the height of the window.
52283633 3910
719d83ad 3911 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3912 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3913
3914 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3915 able to write to hidden and system files. From Dan Holmsand
3916 <dan@eyebee.com>.
719d83ad 3917
8ddf3ee1
GM
3918 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3919 Holmsand <dan@eyebee.com>.
719d83ad 3920
522ed7fb
GM
39212001-04-09 Gerd Moellmann <gerd@gnu.org>
3922
9170e5d4
GM
3923 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3924
522ed7fb
GM
3925 * window.c (window_internal_height): Return 1 less if the
3926 window has a header line.
3927
3928 * xdisp.c (try_window_id): When scrolling on a terminal, take
3929 the change of window_internal_height into account.
3930
ceeb3d7d
EZ
39312001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3932
3933 * gmalloc.c (align): If the argument SIZE would overflow
3934 __malloc_ptrdiff_t, fail right away.
3935
63685b9d
GM
39362001-04-06 Gerd Moellmann <gerd@gnu.org>
3937
3938 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3939 Make sure the tooltip is completely visible.
3940 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3941
3942 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3943
3944 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3945
3ffb33bb
DL
39462001-04-06 Dave Love <fx@gnu.org>
3947
52283633
SM
3948 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3949 Fix test of `from'.
3ffb33bb 3950
869fb12c
GM
39512001-04-06 Gerd Moellmann <gerd@gnu.org>
3952
52283633 3953 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3954
869fb12c
GM
3955 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3956
441bf856
GM
39572001-04-05 Gerd Moellmann <gerd@gnu.org>
3958
4d664b04
GM
3959 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3960
52283633 3961 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3962
30ca89f5
GM
3963 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3964 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3965
3966 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3967 shell widget's position only if it is non-null.
3968
52283633
SM
3969 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3970 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3971
81a81c0f
GM
3972 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3973 FILENAME to bring it in synch with the documentation.
3974
441bf856
GM
3975 * xfaces.c (realizing_basic_faces_p): Renamed from
3976 realize_default_face_p.
3977 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3978 (realize_default_face): Don't set the flag.
3979
702a1e8e
GM
39802001-04-04 Gerd Moellmann <gerd@gnu.org>
3981
1013f4e3
GM
3982 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3983
52283633
SM
3984 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3985
1013f4e3
GM
3986 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3987 the buffer that was used for echoing.
3988
702a1e8e
GM
3989 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3990 (first_font_matching): Removed unused function.
3991 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3992 (may_use_scalable_font_p): Remove parameter FONT; rename
3993 parameter NAME to FONT.
3994 (x_face_list_fonts): Fix missing bounds check.
3995 (realizing_default_face_p): New variable.
3996 (realize_default_face): Set and clear that flag.
3997 (x_face_list_fonts): When called during the realization of the
3998 default face, and no matching fonts are found when ignoring
3999 scalable fonts and fonts matching a regexp from
4000 face-ignored-fonts, try without ignoring fonts.
4001
f9dbcda4
GM
40022001-04-03 Gerd Moellmann <gerd@gnu.org>
4003
ad18ffb1
GM
4004 * xfns.c (postprocess_image): New function.
4005 (lookup_image): Call it for all image types except PostScript.
4006 (x_kill_gs_process): Call postprocess_image.
4007
f9dbcda4
GM
4008 * xterm.c (x_use_underline_position_properties): New variable.
4009 (x_draw_glyph_string): Use it.
4010 (syms_of_xterm): DEFVAR_BOOL it.
4011
651f03b6
GM
40122001-04-02 Gerd Moellmann <gerd@gnu.org>
4013
4014 * xterm.c (x_alloc_nearest_color_1): New function.
4015 (x_alloc_nearest_color): Use it.
4016 (x_color_cells): Take a Display as argument, instead of a frame.
4017 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4018 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4019 (x_initialize): Register cvt_string_to_pixel as resource converter
4020 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4021
73d75a62
GM
40222001-03-30 Gerd Moellmann <gerd@gnu.org>
4023
b2046df8
GM
4024 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4025 (set_iterator_to_next): If a string from a display property ends,
4026 consider the case that this might also be the end of an
4027 overlay string having the display property.
4028
52283633 4029 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4030
87d8eba4
GM
4031 * xdisp.c (reseat_to_string): Undo last change.
4032
73d75a62
GM
4033 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4034 matrix of a window when the header line changes, when
4035 new rows are allocated, or when the width changes.
4036
911a2406
EZ
40372001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4038
52283633 4039 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4040
aea51abe
EZ
40412001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4042
4043 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4044 deprecated.
4045
176bc847
GM
40462001-03-29 Gerd Moellmann <gerd@gnu.org>
4047
ed31fabf
GM
4048 * data.c (Fsubr_interactive_form): New function.
4049 (syms_of_data): Defsubr it.
4050
176bc847
GM
4051 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4052 (live_float_p, live_misc_p): Return 1 only if the offset of the
4053 pointer in its block is >= 0.
4054
e59d0e9d
GM
40552001-03-28 Paul Eggert <eggert@twinsun.com>
4056
4057 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4058 microseconds calcuation. Avoid double-rounding problem.
4059 In doc string, warn that the result is approximate.
4060
f827b862
GM
40612001-03-28 Gerd Moellmann <gerd@gnu.org>
4062
30a3f61c
GM
4063 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4064 bind `inhibit-eval-during-redisplay' to t.
4065
4066 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4067
4068 * xdisp.c (inhibit_eval_during_redisplay)
4069 (Qinhibit_eval_during_redisplay): New variables.
4070 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4071 don't eval, return nil instead.
4072 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4073 Initialize Qinhibit_eval_during_redisplay.
4074
e719f5ae
GM
4075 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4076 the iterator's multibyte_p flag.
4077
deb2613a
GM
4078 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4079 instead of setting it to zero; it's incremented for each frame
4080 where the menu face is changed.
4081
52283633
SM
4082 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4083 change bottom shadow accordingly.
4084
4085 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4086 intersections here.
4087 (expose_window): Do it here instead.
52283633 4088 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4089
f827b862
GM
4090 * bytecode.c (BYTE_CODE_QUIT): New macro.
4091 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4092
4bde0ebb
GM
40932001-03-27 Gerd Moellmann <gerd@gnu.org>
4094
607ec83c
GM
4095 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4096 Give up if matrix starts in an ellipsis.
4097 (init_from_display_pos): Do nothing if POS doesn't specify
4098 a dpvec_index but the iterator has such a position.
4099
0245398f
GM
4100 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4101
aba25348
GM
4102 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4103 x/y position is (0, 0) after destroying the menu bar, restore
4104 its original position.
4105
4bde0ebb
GM
4106 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4107 (init_from_display_pos): Use it.
4108 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4109
8cdb267e
GM
41102001-03-26 Gerd Moellmann <gerd@gnu.org>
4111
4112 * xdisp.c (try_window_id): Undo last change.
4113
9948db79
EZ
41142001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4115
4116 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4117
4118 * buffer.c (syms_of_buffer): Doc fix.
4119
2eddf899
GM
41202001-03-26 Gerd Moellmann <gerd@gnu.org>
4121
4122 * xfaces.c (x_update_menu_appearance): Use local variable
4123 popup_path for setting font resources.
4124
6c145d35
EZ
41252001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4126
6a65b1b5
EZ
4127 * frame.c (Fframe_list): Don't reference tip_frame if
4128 HAVE_WINDOW_SYSTEM is not defined.
4129
6c145d35
EZ
4130 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4131 <wl@gnu.org>.
4132
d74c1900
GM
41332001-03-25 Gerd Moellmann <gerd@gnu.org>
4134
20fbd925
GM
4135 * xdisp.c (init_from_display_pos): Test invisible property
4136 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4137
927c5b3b
GM
4138 * xdisp.c (redisplay_internal) <update one window>: Make sure
4139 last_arrow_position and last_arrow_string are set.
4140
d74c1900
GM
4141 * frame.c (Fframe_list): Don't return a tooltip frame.
4142
091f8878
GM
41432001-03-23 Gerd Moellmann <gerd@gnu.org>
4144
52283633
SM
4145 * xdisp.c (mark_window_display_accurate_1): New function,
4146 extracted from mark_window_display_accurate.
4147 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4148 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4149 (mark_window_display_accurate): Use it.
4150 (redisplay_internal): Use it for the selected window.
4151 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4152 for the selected frame.
4153
ac90c44f
GM
4154 * xdisp.c Use make_number, for readability.
4155 (try_window_id): Disable rows below the window end.
4156 (try_window_reusing_current_matrix): Use cursor_row_p.
4157 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4158 of rows.
4159 (init_from_display_pos): If POS specifies a position in a display
4160 vector, maybe get the iterator set up for that ellipsis.
43c09969 4161
091f8878
GM
4162 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4163
991786dd
EZ
41642001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4165
4166 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4167
6c29b43c
GM
41682001-03-23 Gerd Moellmann <gerd@gnu.org>
4169
4170 * xfaces.c (x_update_menu_appearance): Use a different path
4171 for Lucid popup menus.
4172
d8731202
SM
41732001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4174
4175 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4176
4177 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4178 (string_buffer_position): Use `make_number'.
4179
f61a541b
GM
41802001-03-22 Gerd Moellmann <gerd@gnu.org>
4181
3c9e997b
GM
4182 * xfaces.c (x_update_menu_appearance): Renamed from
4183 x_set_menu_face_resources. Use different resources for popups.
4184
4185 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4186 (GC_CHECK_STRING_BYTES): Don't define.
4187
364cd450
GM
4188 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4189 Removed, together with subroutines.
4190 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4191 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4192
d8731202
SM
4193 * dispextern.h (x_set_menu_resources_from_menu_face):
4194 Remove prototype.
364cd450 4195
d8731202 4196 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4197 Remove calls to x_set_menu_resources_from_menu_face.
4198
d8731202
SM
4199 * xfaces.c (xm_set_menu_resources_from_menu_face):
4200 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4201
4202 * xmenu.c: Include widget.h.
4203 (single_submenu): Return int. Some cleanup.
4204 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4205
140330de
GM
42062001-03-21 Gerd Moellmann <gerd@gnu.org>
4207
4208 * xterm.c (x_update_window_end): Handle overwritten mouse face
4209 also for tool bar windows.
4210 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4211 DRAW is DRAW_IMAGE_RAISED.
4212
1741905c
GM
42132001-03-20 Gerd Moellmann <gerd@gnu.org>
4214
fa88947e
GM
4215 * print.c (syms_of_print): Doc fixes.
4216
1741905c
GM
4217 * fns.c (Fmd5): Doc fix.
4218
ade0bee1
GM
42192001-03-19 Gerd Moellmann <gerd@gnu.org>
4220
357e7376
GM
4221 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4222 Clear area of the frame not occupied by the scroll bar.
4223
c2c097cc
GM
4224 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4225 tip frame's root window buffer to *tip* right after creating
4226 the frame.
4227
ade0bee1
GM
4228 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4229 is an integer don't have to be for space characters.
4230
88c6e37e
GM
42312001-03-16 Gerd Moellmann <gerd@gnu.org>
4232
52283633
SM
4233 * indent.c (current_column, current_column_1, Fmove_to_column)
4234 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4235
c62eed76
KH
42362001-03-15 Kenichi Handa <handa@etl.go.jp>
4237
4238 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4239 drawing glyph string.
4240
c899e7e6
GM
42412001-03-15 Gerd Moellmann <gerd@gnu.org>
4242
d0bbfc99
GM
4243 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4244 (command_loop_1): Undo last change.
4245
03d1a189
GM
4246 * xterm.c (fast_find_position): Return the correct vpos.
4247
c899e7e6 4248 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4249 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4250 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4251 Call store_symval_forwarding with BUF null.
4252 (set_internal): Call store_symval_forwarding with the BUF
4253 parameter passed to set_internal. Formerly, the value was always
4254 set in the current buffer; the buffer recorded in specbind for
4255 this case wasn't used.
4256 (arith_driver): Reindent.
4257
52283633
SM
4258 * buffer.c (swap_out_buffer_local_variables):
4259 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4260
4261 * lisp.h (store_symval_forwarding): Change prototype.
4262
4263 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4264
57ac7c81
GM
42652001-03-14 Gerd Moellmann <gerd@gnu.org>
4266
697617d9
GM
4267 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4268 FOR_DELETION. Avoid resizing the mini-window of the selected
4269 frame if FOR_DELETION is set.
4270 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4271 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4272 signature.
4273
4274 * window.c (Fset_window_configuration): Change call to
4275 do_switch_frame to new format.
4276
4277 * keyboard.c (quit_throw_to_read_char): Change call to
4278 do_switch_frame to new format.
4279
4280 * lisp.h (do_switch_frame): Change prototype.
4281
819dce0f
GM
4282 * frame.c (Fframe_parameters): In the `buffer-list' frame
4283 parameter, store the buffer list of FRAME, not the list of the
4284 selected frame.
4285
57ac7c81
GM
4286 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4287 box just because the glyph row's full_width_p flag is set.
4288
65008712
GM
42892001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4290
4291 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4292 skip the padding blanks inserted in extend_face_to_end_of_line,
4293 before checking for trailing whitespace.
4294
159cf431
GM
42952001-03-13 Gerd Moellmann <gerd@gnu.org>
4296
52283633 4297 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4298 Remove special handling for LessTif/Motif.
4299 (toplevel): Don't include Xm/Xm.h.
4300
52283633
SM
4301 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4302 Remove workaround code for LessTif; it doesn't work anymore.
4303
2564ea1b 4304 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4305 Xm/ScrollBarP.h.
afcdc0a1 4306
52283633
SM
4307 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4308 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4309 contemporary LessTif.
4310
52283633
SM
4311 * xfaces.c (xm_set_menu_resources_from_menu_face):
4312 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4313
159cf431
GM
4314 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4315 removing button grabs.
4316
c6f7429a
KH
43172001-03-13 Kenichi Handa <handa@etl.go.jp>
4318
cb82d767
KH
4319 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4320 and clip-large-size-font as obsolete.
4321
c6f7429a
KH
4322 * lread.c (read_multibyte): Check the validity of multibyte
4323 sequence. If invalid, return the first byte.
4324
760cefb5
GM
43252001-03-12 Gerd Moellmann <gerd@gnu.org>
4326
4327 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4328 before running the command; timer functions or process
4329 filters may have set it.
4330
5141f9d0
EZ
43312001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4332
4333 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4334 Doc fix.
4335
b6a15240
GM
43362001-03-12 Gerd Moellmann <gerd@gnu.org>
4337
4338 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4339 to sprintf.
4340
95522746
GM
43412001-03-09 Gerd Moellmann <gerd@gnu.org>
4342
db14cfc5
GM
4343 * dispextern.h (string_buffer_position): Add prototype.
4344
52283633 4345 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4346 (single_display_prop_string_p): New functions.
4347
4348 * xterm.c (note_mouse_highlight): If there's no help-echo on
4349 a string, look at the buffer text ``under'' it.
4350
4351 * keyboard.c (make_lispy_event): Add string info to the event,
4352 analogous to what's done on mode lines.
4353 (read_key_sequence): For a click on a string, consider `local-map'
4354 and `keymap' of that string.
4355
52283633
SM
4356 * keyboard.c (make_lispy_event, make_lispy_movement):
4357 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4358
4359 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4360
4361 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4362 POS; return void.
4363
95522746
GM
4364 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4365 flags argument to emacs_open; it seems to conflict with O_EXCL.
4366
898a399d
KH
43672001-03-09 Kenichi Handa <handa@etl.go.jp>
4368
28cd4910
KH
4369 * composite.h (struct composition): Change types of members;
4370 glyph_len to unsigned, width to unsigned short.
898a399d 4371
4cdf6a6c
AI
43722001-03-08 Andrew Innes <andrewi@gnu.org>
4373
4374 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4375 menu titles.
4376
129004d3
GM
43772001-03-08 Gerd Moellmann <gerd@gnu.org>
4378
221dd3e7
GM
4379 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4380 instead of nil.
4381
52283633 4382 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4383 help-echo in strings.
4384 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4385 (fast_find_string_pos): New function.
4386
52283633
SM
4387 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4388 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4389
4390 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4391 Handle `mouse-face'.
4392
4393 * dispextern.h (face_at_string_position): Change prototype.
4394
52283633 4395 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4396
129004d3
GM
4397 * keyboard.c (make_lispy_event): Avoid generating drag events
4398 if the mouse hasn't actually moved to another buffer position.
52283633 4399
80c8ab8c
DL
44002001-03-08 Dave Love <fx@gnu.org>
4401
129004d3 4402 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4403
989521fd
GM
44042001-03-08 Gerd Moellmann <gerd@gnu.org>
4405
4406 * process.c (Fset_process_window_size): Fix a typo.
4407
bb5c338d
KH
44082001-03-08 Kenichi Handa <handa@etl.go.jp>
4409
4410 * coding.c (detect_coding_sjis): Do more rigid check.
4411 (detect_coding_big5): Likewise.
4412 (decode_coding_sjis_big5): Likewise.
4413 (Fdetect_coding_region): Call detect_coding_system with tailing
4414 anchor byte `\0' for more rigid detection.
52283633 4415 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4416 (Fdetect_coding_string): Likewise.
4417
8b8f9197
SM
44182001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4419
4420 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4421 a string before extracting its data.
4422
3bdf2660
GM
44232001-03-07 Gerd Moellmann <gerd@gnu.org>
4424
4425 * window.c (Frecenter): Rewrite code handling negative values
4426 of ARG on graphical frames.
4427
44282001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4429
4430 * window.c (displayed_window_lines): If W->start is outside the
4431 accessible portion of the buffer, call start_display with BEGV or
4432 ZV instead of W->start.
4433
471f86b9
GM
44342001-03-07 Gerd Moellmann <gerd@gnu.org>
4435
2ab62c6c
GM
4436 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4437
471f86b9
GM
4438 * process.c (Fset_process_filter): Don't crash if the input
4439 file descriptor of PROCESS is closed.
4440 (Fset_process_window_size): Likewise.
4441
101922c3
GM
44422001-03-06 Kenichi Handa <handa@etl.go.jp>
4443
4444 * xterm.c (XTflash): Make the timeout of select shorter, and call
4445 select repeatedly until the desired time expires.
4446
45d051a7
GM
44472001-03-06 Gerd Moellmann <gerd@gnu.org>
4448
4449 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4450
4451 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4452
4453 * lisp.h (Vwindow_list): Declare extern.
4454
8f372c46
EZ
44552001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4456
4457 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4458
f16a7aa5
GM
44592001-03-06 Gerd Moellmann <gerd@gnu.org>
4460
157ae273
GM
4461 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4462 to detect a case where we have to highlight a different region
4463 despite not having left the currently highlighted region.
4464 Set mouse_face_overlay in the x_display_info.
45d051a7 4465 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4466
4467 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4468
4469 * buffer.c (mouse_face_overlay_overlaps): New function.
4470
4471 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4472 (Qmouse_face): Declare extern.
4473
f16a7aa5
GM
4474 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4475 if face_change_count is non-zero.
4476
827afcac
KH
44772001-03-06 Kenichi Handa <handa@etl.go.jp>
4478
4479 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4480 that the source is unibyte.
4481
14c7242e
DL
44822001-03-05 Dave Love <fx@gnu.org>
4483
827afcac 4484 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4485
c28b847b
GM
44862001-03-05 Gerd Moellmann <gerd@gnu.org>
4487
4488 * minibuf.c (read_minibuf): Clean up the binding stack if
4489 called noninteractively.
4490
b86644f2
KH
44912001-03-05 Kenichi Handa <handa@etl.go.jp>
4492
4493 * coding.c (syms_of_coding): Docstring modified.
4494
203682cc 44952001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4496
4497 * charset.c (char_to_string): If a single byte char has modifier
4498 bits that can't be reflected to the character code, ignore them
45d051a7 4499 instead of signaling an error.
b86644f2 4500
e30bd7b7
EZ
45012001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4502
4503 * s/msdos.h: Update copyright notice.
4504
4505 * dosfns.h: Update copyright notice.
4506
4507 * dosfns.c: Update copyright notice.
4508
4509 * msdos.c: Update copyright notice.
4510
b52b65bd
GM
45112001-03-02 Gerd Moellmann <gerd@gnu.org>
4512
4513 * xterm.c (glyph_rect): New function.
4514 (XTmouse_position): Use it to raise the threshold for mouse
4515 movement event generation.
4516
53c4b1e6
EZ
45172001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4518
4519 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4520 specifies (reverse . t), reverse the initial screen colors.
4521 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4522 but we are reversing the colors, set bg_set, not fg_set.
4523 Likewise for setting background-color and reversing: set fg_set.
4524 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4525 in effect.
4526
4527 * xfaces.c (Finternal_set_lisp_face_attribute)
4528 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4529 parameters alist.
4530
f964b4d7
GM
45312001-03-02 Gerd Moellmann <gerd@gnu.org>
4532
ef53d75e
GM
4533 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4534 to a single slash in the middle of file names.
4535
52283633 4536 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4537 Accept only alphanumeric time zone names.
4538
f964b4d7
GM
4539 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4540 or width area.
4541 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4542 a widget to zero height.
52283633 4543
c3c45f65
GM
45442001-03-01 Gerd Moellmann <gerd@gnu.org>
4545
4546 * window.c (Fwindow_end): Call move_it_past_eol only if
4547 ending up on a partially visible line.
4548
028d739a
DL
45492001-03-01 Dave Love <fx@gnu.org>
4550
4551 * ccl.c (Fccl_execute): Doc fix.
4552
57c5889c
GM
45532001-03-01 Gerd Moellmann <gerd@gnu.org>
4554
35f59f6b
GM
4555 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4556 of the tool bar before calling x_figure_window_size.
4557
f84ff02c
GM
4558 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4559 NULL after destroying it, otherwise XTread_socket can access a
4560 destroyed widget when input is unblocked.
4561
8b8f9197 4562 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4563
57c5889c
GM
4564 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4565 same name as before, although there was a change in fontsets.
4566
224227d1
KR
45672001-02-28 Ken Raeburn <raeburn@gnu.org>
4568
4560730a
KR
4569 * lisp.h (Fframe_parameter): Declare.
4570
224227d1 4571 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4572 Lisp_Object.
224227d1 4573
ece93c02
GM
45742001-02-28 Gerd Moellmann <gerd@gnu.org>
4575
11ef99b9
GM
4576 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4577 NULL instead.
4578
4579 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4580 NULL instead.
4581
ece93c02
GM
4582 * alloc.c (toplevel): Include process.h.
4583 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4584 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4585 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4586 (allocate_vector, allocate_hash_table, allocate_window)
4587 (allocate_frame, allocate_process, allocate_other_vector):
4588 New functions.
ece93c02
GM
4589 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4590 (mark_maybe_pointer): New function.
52283633 4591 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4592 remain and not Lisp_Objects.
4593 (min_heap_address, max_heap_address): New variables.
4594 (mem_find): Return MEM_NIL if START is below min_heap_address or
4595 above max_heap_address.
4596 (mem_insert): Compute min_heap_address and max_heap_address.
4597
4598 * process.c (make_process): Use allocate_process.
4599
4600 * frame.c (make_frame): Use allocate_frame.
4601
4602 * window.c (make_window, make_dummy_parent): Use allocate_window.
4603 (Fcurrent_window_configuration): Use allocate_other_vector.
4604
4605 * lisp.h (allocate_vectorlike): Remove prototype.
4606 (allocate_vector, allocate_other_vector, allocate_frame)
4607 (allocate_window, allocate_process, allocate_hash_table):
4608 Add prototypes.
4609
4610 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4611 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4612
063af457
KH
46132001-02-27 Kenichi Handa <handa@etl.go.jp>
4614
4615 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4616 treat the produced bytes as a valid multibyte sequence.
4617
4618 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4619 (ccl_driver) <CCL_WriteMultibyteChar2>:
4620 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4621 <ccl_finish>: Set ccl->eight_bit_control properly.
4622
4623 * ccl.h (struct ccl_program): New member eight_bit_control.
4624
f58c6494
SM
46252001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4626
4627 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4628 accessible_keymaps_char_table.
4629 (accessible_keymaps_char_table): Obey `is_metized'.
4630 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4631 Lisp_Object.
4632
c596c392
GM
46332001-02-26 Gerd Moellmann <gerd@gnu.org>
4634
4635 * dispnew.c: Check HAVE_TERM_H before including term.h.
4636
425de386
AI
46372001-02-24 Andrew Innes <andrewi@gnu.org>
4638
4639 * makefile.w32-in: Update copyright notice.
4640
2ba11bbd
SM
46412001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4642
4643 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4644
66c56ed1
KH
46452001-02-24 Kenichi Handa <handa@etl.go.jp>
4646
4c1593ce
KH
4647 * Makefile.in (lisp): Add international/utf-8.elc.
4648
66c56ed1
KH
4649 * fontset.c (Fnew_fontset): Fix handling of the case that an
4650 element of FONTLIST is a cons of family and registry.
4651
796ead7e
JR
46522001-02-23 Jason Rumney <jasonr@gnu.org>
4653
4654 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4655 to height unconditionally.
4656
4657 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4658 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4659 (x_insert_glyphs): Call window_box_left to obtain the left
4660 x-coordinate of the area to shift.
4661
4662 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4663 safe_run_hooks.
4664
f6839838
AI
46652001-02-22 Andrew Innes <andrewi@gnu.org>
4666
52283633 4667 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4668 ($(BLD)\dispnew.obj):
4669 ($(BLD)\editfns.obj):
4670 ($(BLD)\fileio.obj):
4671 ($(BLD)\filelock.obj):
4672 ($(BLD)\keyboard.obj):
4673 ($(BLD)\w32proc.obj):
4674 ($(BLD)\process.obj):
4675 ($(BLD)\sysdep.obj): Ditto.
4676
4677 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4678 header files.
52283633
SM
4679 ($(BLD)/dispnew.$(O)):
4680 ($(BLD)/editfns.$(O)):
4681 ($(BLD)/fileio.$(O)):
4682 ($(BLD)/filelock.$(O)):
4683 ($(BLD)/keyboard.$(O)):
4684 ($(BLD)/w32proc.$(O)):
4685 ($(BLD)/process.$(O)):
f6839838
AI
4686 ($(BLD)/sysdep.$(O)): Ditto.
4687
c224f70b
GM
46882001-02-22 Gerd Moellmann <gerd@gnu.org>
4689
51695746
GM
4690 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4691 at the start of the function, check that the \n in it->c is
4692 from the iterator's current position.
52283633 4693
a61b7058
GM
4694 * xdisp.c (handle_single_display_prop): Add parameter
4695 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4696 properties which replace the display of text with something else.
4697 (handle_display_prop): Call handle_single_display_prop with
4698 additional argument saying if we already replaced text display
4699 with something else. Use AREF.
52283633 4700 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4701 (decode_mode_spec_coding): Use AREF and ASIZE.
4702
3473f362
GM
4703 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4704 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4705 * vmstime.h: Files removed.
52283633 4706
2bb58df3
GM
4707 * unexencap.c, unexfx2800.c: Files removed.
4708
c224f70b
GM
4709 * dispnew.c (direct_output_for_insert): Give up if we are showing
4710 a message or just cleared the message because we might need to
4711 resize the echo area window or display an empty echo area.
4712
ffc9ff0c
GM
47132001-02-21 Gerd Moellmann <gerd@gnu.org>
4714
0528abe1
GM
4715 * xdisp.c (redisplay_internal): Do the
4716 mark_window_display_accurate after all windows have been
4717 redisplayed because this call resets flags in buffers which are
4718 needed for proper redisplay.
4719
52283633
SM
4720 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4721 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4722 the old names.
4723
52283633
SM
4724 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4725 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4726
4727 * msdos.h (struct x_output): Rename busy_window to
4728 hourglass_window, busy_p to hourglass_p.
4729
52283633
SM
4730 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4731 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4732
4733 * xfns.c: Rename everything containing *busy_cursor* and similar
4734 to *hourglass*.
4735 (syms_of_w32fns): Rename x-busy-pointer-shape to
4736 x-hourglass-pointer-shape, display-busy-cursor to
4737 display-hourglass, busy-cursor-delay to hourglass-delay.
4738
4739 * w32fns.c: Rename everything containing *busy_cursor* and similar
4740 to *hourglass*.
4741 (syms_of_w32fns): Rename x-busy-pointer-shape to
4742 x-hourglass-pointer-shape, display-busy-cursor to
4743 display-hourglass, busy-cursor-delay to hourglass-delay.
4744
4745 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4746 of its busy_p flag.
4747
4748 * dispextern.h (start_hourglass, cancel_hourglass)
4749 (display_hourglass_p): Renamed from *busy_cursor*.
4750
ab2c5f0a
GM
47512001-02-20 Gerd Moellmann <gerd@gnu.org>
4752
d17e49a8
GM
4753 * keyboard.c (read_char): When an event from unread-command-events
4754 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4755
fa97adf6
GM
4756 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4757 equal to the current buffer.
4758
ab2c5f0a
GM
4759 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4760 nil, otherwise we're left with truncate_lines t when a message
4761 is printed with message-truncate-lines bound to t.
4762
aeac019e
GM
47632001-02-19 Gerd Moellmann <gerd@gnu.org>
4764
c8bc6f65
GM
4765 * window.c (Fmove_to_window_line): Undo last change.
4766 (displayed_window_lines): Call line_bottom_y to determine
4767 the line's bottom position.
4768
4769 * dispextern.h (line_bottom_y): Add prototype.
4770
52283633 4771 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4772 (pos_visible_p): Use it.
4773
980a2d69
GM
4774 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4775 set redisplaying_p to 0 here instead of in Frecursive_edit.
4776 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4777 set redisplaying_p.
4778
52283633 4779 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4780 New variables.
4781 (syms_of_xdisp): Initialize new variables.
4782 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4783 Specbind `inhibit-menubar-update' when updating the menu bar.
4784
65048e97
GM
4785 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4786 safe_run_hooks.
4787
4788 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4789 safe_run_hooks.
4790
a57c4026
GM
4791 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4792 is null.
4793
aeac019e
GM
4794 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4795 to the start of the file.
4796
76846b31
GM
47972001-02-16 Gerd Moellmann <gerd@gnu.org>
4798
f3f053f3 4799 * window.c (set_window_buffer): Fix last change.
52283633 4800
f3f053f3
GM
4801 * window.c (set_window_buffer): Set window's vscroll to 0.
4802
dad75588
GM
4803 * window.c (coordinates_in_window): Increase width of area
4804 where the vertical line can be dragged.
4805
c220b753
GM
4806 * xterm.c (x_set_glyph_string_background_width): Extend the
4807 background face to the end of the drawing area in the text
4808 area, only.
4809
c56b1c1b
GM
4810 * xdisp.c (handle_single_display_prop): Set iterator's position
4811 to where the `display' property starts, like for images.
4812 (dump_glyph): New function.
4813 (dump_glyph_row): Use it. Dump info about marginal areas.
4814
4815 * dispnew.c (direct_output_for_insert): Recognize more cases where
4816 glyphs can be written instead of being inserted.
4817
4818 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4819 the left x-coordinate of the area to shift.
4820
76846b31
GM
4821 * dired.c (directory_files_internal): Set result list to nil
4822 before retrying.
4823
0fc71a77
KH
48242001-02-15 Kenichi Handa <handa@etl.go.jp>
4825
4826 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4827 invalid multibyte sequence, treat *SRC as a character of
4828 eight-bit-graphic.
4829
25078b54
EZ
48302001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4831
4832 * textprop.c (Fset_text_properties): Doc fix.
4833
8399f8a0
GM
48342001-02-15 Gerd Moellmann <gerd@gnu.org>
4835
4836 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4837
9a2a6f73
DL
48382001-02-14 Dave Love <fx@gnu.org>
4839
4840 * coding.c: Doc and message fixes.
4841
bf853fee
AI
48422001-02-14 Andrew Innes <andrewi@gnu.org>
4843
4844 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4845 Emacs frame above the screen size.
4846
78c663d8
GM
48472001-02-14 Gerd Moellmann <gerd@gnu.org>
4848
4849 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4850
7cc9f69f
GM
48512001-02-13 Gerd Moellmann <gerd@gnu.org>
4852
0a411995
GM
4853 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4854 case that TO ends up beyond ZV after running before-change-functions.
4855
5ddc1b75
GM
4856 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4857 the selected window if it is showing the buffer in question.
4858
7cc9f69f
GM
4859 * dired.c (directory_files_internal): Initialize errno.
4860 (toplevel): Include errno.h.
4861
2e6621ca
GM
48622001-02-13 Kenichi Handa <handa@etl.go.jp>
4863
4864 * xfaces.c (best_matching_font): New parameter width_ratio.
4865 Multiply avgwidth by width_ratio.
4866 (choose_face_font): Call best_matching_font with width_ratio
4867 calculated from the column width of C.
4868
60222d69
AI
48692001-02-12 Andrew Innes <andrewi@gnu.org>
4870
4871 The following changes are to draw box lines inside characters area
4872 if line-width is negative.
52283633 4873
60222d69
AI
4874 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4875 face->box_line_width is negative.
4876 (x_produce_stretch_glyph): Likewise.
4877 (x_produce_glyphs): Likewise.
4878 (x_estimate_mode_line_height): Likewise.
4879 (x_draw_glyph_string_background): Likewise.
4880 (x_draw_glyph_string_foreground): Likewise.
4881 (x_draw_composite_glyph_string_foreground): Likewise.
4882 (x_draw_glyph_string_box): Likewise.
4883 (x_draw_image_foreground): Likewise.
4884 (x_draw_image_relief): Likewise.
4885 (x_draw_image_foreground_1): Likewise.
4886 (x_draw_image_glyph_string): Likewise.
4887
9804b846
KH
48882001-02-09 Kenichi Handa <handa@etl.go.jp>
4889
4890 The following changes are to draw box lines inside characters area
4891 if line-width is negative.
52283633 4892
9804b846
KH
4893 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4894 face->box_line_width is negative.
4895 (x_produce_stretch_glyph): Likewise.
4896 (x_produce_glyphs): Likewise.
4897 (x_estimate_mode_line_height): Likewise.
4898 (x_draw_glyph_string_background): Likewise.
4899 (x_draw_glyph_string_foreground): Likewise.
4900 (x_draw_composite_glyph_string_foreground): Likewise.
4901 (x_draw_glyph_string_box): Likewise.
4902 (x_draw_image_foreground): Likewise.
4903 (x_draw_image_relief): Likewise.
4904 (x_draw_image_foreground_1): Likewise.
4905 (x_draw_image_glyph_string): Likewise.
4906
4907 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4908 and :line-width can be negative.
52283633 4909 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4910
49be9f70
JR
49112001-02-09 Jason Rumney <jasonr@gnu.org>
4912
4913 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4914 characters the same as ASCII and latin-1.
4915 (x_display_and_set_cursor): Check for the focus frame's selected
4916 window instead of selected_window.
4917 (x_after_update_window_line): Don't clear if frame's internal
4918 border width is zero.
4919 (x_new_font): Don't change a tooltip's size.
4920 (w32_initialize): Set char_ins_del_ok to 1.
4921
4922 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4923 (x_set_font): If font hasn't changed, avoid recomputing
4924 faces and other things.
52283633
SM
4925 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4926 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4927 (x_create_tip_frame): Prevent changing the tooltip's
4928 background color by specifying a color for the default font
4929 in .Xdefaults.
4930 (Qcancel_timer): New variable.
4931 (syms_of_w32fns): Initialize and staticpro it.
4932 (Fx_hide_tip, Fx_show_tip): Use it.
4933 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4934 the timer.
4935 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4936
4937 * w32.c (init_environment): Duplicate local string before putenv.
4938
555e35d2
SZ
49392001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4940
4941 * charset.c (Fstring): A typo.
4942
19c92c94
KH
49432001-02-09 Kenichi Handa <handa@etl.go.jp>
4944
e47a1c33
KH
4945 * charset.c (Fstring): If all arguments are less than 256, return
4946 a unibyte string.
4947
4948 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4949 return a unibyte string.
4950
19c92c94
KH
4951 * coding.c (code_convert_region): After detecting a coding, if
4952 nothing found, set coding->composing to COMPOSITION_NO.
4953 (decode_coding_string): Likewise.
4954
d8e675f5
SM
49552001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4956
4957 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4958 to avoid overflow.
4959
bd503487
KH
49602001-02-07 Kenichi Handa <handa@etl.go.jp>
4961
4962 * charset.c (parse_str_to_multibyte): New function.
4963
4964 * charset.h (parse_str_to_multibyte): Extern it.
4965
4966 * print.c (print_string): If we are going to print a unibyte
4967 string into a multibyte buffer, convert the string to multibyte by
4968 str_to_multibyte.
4969
a8370d72
AI
49702001-02-06 Andrew Innes <andrewi@gnu.org>
4971
4972 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4973 been created. It seems we can get sent window messages such as
4974 WM_ERASEBKGND before we properly update a frame.
4975
c363a1d6
GM
49762001-02-06 Gerd Moellmann <gerd@gnu.org>
4977
4978 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4979 Avoid some unnecessary cursor positioning.
4980
a08332c0
GM
49812001-02-05 Gerd Moellmann <gerd@gnu.org>
4982
52283633 4983 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4984 (LFACE_AVGWIDTH): New macro.
4985 (LFACEP): Use AREF.
4986 (check_lface_attrs): Check LFACE_AVGWIDTH.
4987 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4988 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4989 (merge_face_vectors): Check LFACE_AVGWIDTH.
4990 (Finternal_make_lisp_face): Use AREF.
4991 (xm_set_menu_resources_from_menu_face)
4992 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4993 (Finternal_lisp_face_empty_p): Use AREF.
4994 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4995 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4996 Compare average widths..
4997 (best_matching_font): Arrange for comparing average widths.
4998
52283633
SM
4999 * dispextern.h (enum lface_attribute_index):
5000 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5001
5cb3c8d4
DL
50022001-02-05 Dave Love <fx@gnu.org>
5003
5004 * puresize.h: Revert last change following loadup.el change.
5005
193fba87
AI
50062001-02-05 Andrew Innes <andrewi@gnu.org>
5007
5008 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5009 invocation of temacs, to work with Windows 2000.
5010 (bootstrap-emacs): Ditto.
5011
e16f52ce
GM
50122001-02-05 Gerd Moellmann <gerd@gnu.org>
5013
7a58ab59
GM
5014 * xterm.c (x_display_and_set_cursor): Check for the focus
5015 frame's selected window instead of selected_window.
5016
e89aaabd
GM
5017 * xdisp.c (try_scrolling): If point is in the line below the
5018 window, make sure to move the iterator at least a canonical
5019 char height down.
5020
52283633 5021 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5022
789ce875
KH
50232001-02-05 Kenichi Handa <handa@etl.go.jp>
5024
52283633
SM
5025 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5026 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5027 (ccl_driver): If the CCL program is terminated because of
5028 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5029 destination instead of throwing them away.
5030
20b28f82
GM
50312001-02-02 Gerd Moellmann <gerd@gnu.org>
5032
79fb38c0
GM
5033 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5034 faces and other things.
5035
20b28f82
GM
5036 * xdisp.c (get_next_display_element): Fix case of empty
5037 display table entry.
5038
5a72551e
EZ
50392001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5040
eb24d0bf
EZ
5041 * editfns.c (Fconstrain_to_field): Doc fix.
5042
6a3f48c7
EZ
5043 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5044 into `thoroughly', to make it consistent with the doc string.
5045
5a72551e
EZ
5046 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5047
01acdb05
GM
50482001-02-01 Gerd Moellmann <gerd@gnu.org>
5049
0353b28f
GM
5050 * search.c (search_buffer): Call set_search_regs with a byte
5051 position, not a character position.
5052
01acdb05
GM
5053 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5054 minibuffer-only,
5055
e86b5133
EZ
50562001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5057
5058 * frame.c (Fmodify_frame_parameters): Doc fix.
5059
7442878f
GM
50602001-01-31 Gerd Moellmann <gerd@gnu.org>
5061
01acdb05
GM
5062 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5063 identifier which is not reserved by Standard C.
52283633 5064
7442878f
GM
5065 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5066
5067 * window.c (enum window_part): New enumeration.
5068 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5069 Qright_bitmap_area.
5070 (coordinates_in_window): Return an enumerator from enum
5071 window_part. Fix handling of right scroll bar.
5072 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5073 `right-fringe' instead of `left-bitmap-area' and
5074 `right-bitmap-area'. Use enumerators from enum window_part
5075 instead of hard-coded integers.
52283633
SM
5076 (check_window_containing, window_from_coordinates):
5077 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5078 (syms_of_window): Replace Qleft_bitmap_area and
5079 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5080
7c132cba
EZ
50812001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5082
5083 * editfns.c (Fformat_time_string): Doc fix.
5084
c359dd9e
SM
50852001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5086
5087 * keymap.c (Fwhere_is_internal): Use the first valid binding
5088 if no ascii binding is found (when firstonly is t).
5089
ce070307
GM
50902001-01-31 Gerd Moellmann <gerd@gnu.org>
5091
b4f30ec5
GM
5092 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5093 instead of Finteractive_p.
5094
5095 * lisp.h (interactive_p): Add prototype.
5096
5097 * eval.c (interactive_p): New function.
5098 (Finteractive_p): Use it.
5099
ce070307
GM
5100 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5101
f57b6e64
DL
51022001-01-31 Dave Love <fx@gnu.org>
5103
d61c7afe
DL
5104 * .gdbinit (hook-run): Define to run xreload.
5105
f57b6e64
DL
5106 * textprop.c (Fset_text_properties): Fix newline in doc string.
5107
eef93f99
GM
51082001-01-30 Gerd Moellmann <gerd@gnu.org>
5109
52283633
SM
5110 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5111 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5112
5113 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5114 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5115 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5116
5117 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5118 height.
5119
d9c1f6f9
DL
51202001-01-30 Dave Love <fx@gnu.org>
5121
5122 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5123 AFTER_POTENTIAL_GC.
5124
e8f044a0
GM
51252001-01-29 Gerd Moellmann <gerd@gnu.org>
5126
52283633
SM
5127 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5128 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5129
8e1db7b3
EZ
51302001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5131
5132 * textprop.c (Fset_text_properties): Doc fix.
5133
4eefd9d2
GM
51342001-01-29 Gerd Moellmann <gerd@gnu.org>
5135
5136 * xdisp.c (forward_to_next_line_start): Remove xassert.
5137
fccb8288
EZ
51382001-01-29 Jason Rumney <jasonr@gnu.org>
5139
4eefd9d2 5140 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5141 returning without releasing it.
5142
76581eab
KH
51432001-01-29 Kenichi Handa <handa@etl.go.jp>
5144
5145 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5146 for '^', '$', and '\0'.
5147
83a96b4d
AC
51482001-01-28 Andrew Choi <akochoi@i-cable.com>
5149
5604ec34
AC
5150 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5151 regex for '^', '$', and '\0'.
5152
83a96b4d
AC
5153 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5154 only if current_sblock has been initialized.
5155
5156 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5157 terminal frame even if it is the only visible frame.
5158
c09a6440
KH
51592001-01-28 Kenichi Handa <handa@etl.go.jp>
5160
5161 * fontset.c (font_family_registry): Even if FONTNAME conform to
5162 XLFD, if it specifies other fields than family and registry,
52283633 5163 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5164 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5165 a signle byte character. Don't set FAMILY part to nil here.
5166 It is handled by the caller choose_face_font.
c09a6440
KH
5167 (Fnew_fontset): Call font_family_registry with FORCE 0.
5168 (Fset_fontset_font): Likewise.
5169
4dcd74e6
GM
51702001-01-27 Gerd Moellmann <gerd@gnu.org>
5171
5172 * xdisp.c (display_line): Don't treat a newline as fitting
5173 on the line.
5174
d2906bf8
GM
51752001-01-26 Gerd Moellmann <gerd@gnu.org>
5176
0130fe1a
GM
5177 * window.c (size_window): Set the window's orig_top to nil when
5178 changing heights, so that a future shrink_mini_window won't
5179 restore a bogus height.
5180
550f0e6a
GM
5181 * frame.c (do_switch_frame): If selected frame has a mini-window,
5182 resize that to exact size.
5183
b7b20fbd
GM
5184 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5185
a47b7816
GM
5186 * xdisp.c (display_line): Simplify check for glyphs fitting
5187 entirely in the line.
5188
d2906bf8
GM
5189 * xfns.c (xic_style): New variable.
5190 (create_frame_xic): Move static variable to global scope for
550f0e6a 5191 the case that `static' gets defined away.
d2906bf8 5192
73df2b1e
KH
51932001-01-26 Kenichi Handa <handa@etl.go.jp>
5194
5195 * coding.c (decode_coding): Set a flag for inhibiting
5196 inconsistent eol.
5197 (code_convert_region): Always set saved_coding_symbol.
5198 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5199 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5200
6613cfc4
GM
52012001-01-25 Gerd Moellmann <gerd@gnu.org>
5202
c5e6e06b
GM
5203 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5204 XClearArea.
5205
5206 * xterm.c (x_after_update_window_line): Don't clear if frame's
5207 internal border width is zero.
5208 (x_clear_area): New function.
5209 (x_after_update_window_line, x_clear_end_of_line)
5210 (x_scroll_bar_create, x_scroll_bar_set_handle)
5211 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5212 instead of XClearArea.
5213
5214 * xterm.h (x_clear_area): Add prototype.
5215
6613cfc4
GM
5216 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5217 which doesn't seem necessary anymore with Lesstif 0.92.
5218
650cc6cc
DL
52192001-01-25 Dave Love <fx@gnu.org>
5220
34ac3367
DL
5221 * puresize.h (BASE_PURESIZE): Up to 720000.
5222
650cc6cc
DL
5223 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5224
5e37dc22
GM
52252001-01-25 Gerd Moellmann <gerd@gnu.org>
5226
e1e441f9
GM
5227 * xdisp.c (echo_area_display): Don't call redisplay_internal
5228 when Emacs is shutting down. We can't run hooks etc. that
5229 would be necessary to do a redisplay.
5230
5e37dc22
GM
5231 * lread.c (read_integer): Use type EMACS_INT instead of int.
5232
0fb94c7f
EZ
52332001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5234
5235 * ccl.c (ccl_driver): Fix last change.
5236
e3778624
KH
52372001-01-25 Kenichi Handa <handa@etl.go.jp>
5238
5239 * ccl.h (sturct ccl_program): New member suppress_error.
5240
bb264518 5241 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5242 insert error message to the output.
5243 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5244
5245 * coding.h (struct coding_system): New member suppress_error.
5246
5247 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5248 (Fset_terminal_coding_system_internal): Set the member
5249 suppress_error to 1.
5250 (Fset_safe_terminal_coding_system_internal): Likewise.
5251
245ed2b1
SM
52522001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5253
5254 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5255 as if it was a `charset'.
5256
f9aaedb6
GM
52572001-01-24 Gerd Moellmann <gerd@gnu.org>
5258
5259 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5260 value in where_is_cache; the next lookup in the cache returns
5261 something bogus if we do.
5262
c3902c3e
EZ
52632001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5264
5265 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5266 if HAVE_WINDOW_SYSTEM isn't defined.
5267
3497f73e
GM
52682001-01-24 Gerd Moellmann <gerd@gnu.org>
5269
e7e41584
GM
5270 * fns.c (sweep_weak_table): Fix code taking items out of
5271 the hash collision chain. Some cleanup.
5272
3497f73e
GM
5273 * xterm.c (x_new_font): Don't change a tooltip's size.
5274
5275 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5276 background color by specifying a color for the default font
5277 in .Xdefaults.
5278
3d48e687
KH
52792001-01-24 Kenichi Handa <handa@etl.go.jp>
5280
96531b20
KH
5281 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5282 a workaround for SunOS 4's cc.
5283 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5284 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5285 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5286 statement.
3d48e687 5287
a30629d2
GM
52882001-01-23 Gerd Moellmann <gerd@gnu.org>
5289
5290 * xterm.c (x_set_window_size_1): New function extracted from
5291 x_set_window_size.
5292 (x_set_window_size): Use it.
5293 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5294 doesn't have a widget, like tooltips.
5295
5a43decf
EZ
52962001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5297
52283633 5298 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5299
b0e98867
KH
53002001-01-23 Kenichi Handa <handa@etl.go.jp>
5301
5302 * fns.c (Fset_char_table_default): Fix to make sub char-table
5303 correctly.
5304
50606b4c
GM
53052001-01-22 Gerd Moellmann <gerd@gnu.org>
5306
cb2ddc53 5307 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5308 a desired tool bar string, even if there are no tool bar items.
5309
57c28064
GM
5310 * xdisp.c (Ftool_bar_lines_needed): New function.
5311 (syms_of_xdisp): Defsubr it.
5312
50606b4c
GM
5313 * editfns.c (Fformat): Don't extend text properties from arguments
5314 to padding chars in the result.
5315
2f169c38
EZ
53162001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5317
5318 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5319
0f32f023
AI
53202001-01-20 Andrew Innes <andrewi@gnu.org>
5321
52283633 5322 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5323 (w32_initialize): Don't set term hooks that aren't actually needed
5324 in windowed mode.
5325
5326 * xfaces.c (realize_default_face):
5327 (realize_face):
5328 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5329
5330 * xdisp.c (handle_single_display_prop): Remove references to
5331 FRAME_W32_CONSOLE_P.
5332
52283633 5333 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5334
5335 * frame.h (output_method): Remove output_w32_console method.
5336 (FRAME_W32_CONSOLE_P): Remove macro.
5337
5338 * frame.c (Qw32_console): Remove variable.
5339 (Fframep): Remove references to it.
5340 (syms_of_frame): Ditto.
5341 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5342
5343 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5344 redefinition.
5345
7173eada
KH
53462001-01-20 Kenichi Handa <handa@etl.go.jp>
5347
5348 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5349
755b45ce
AI
53502001-01-19 Andrew Innes <andrewi@gnu.org>
5351
5352 * w32.c (init_environment): Add a version-independent site-lisp
5353 directory to EMACSLOADPATH, after the version dependent one.
5354
0a949811
GM
53552001-01-19 Gerd Moellmann <gerd@gnu.org>
5356
8501998a
GM
5357 * editfns.c (Fbuffer_substring): Doc fix.
5358
52283633
SM
5359 * xdisp.c (message_dolog, message2, message2_nolog):
5360 Rename parameter LEN to NBYTES.
0a949811 5361
e6ebcbbe
KH
53622001-01-19 Kenichi Handa <handa@etl.go.jp>
5363
200ecca2
KH
5364 * charset.c (strwidth): Use c_string_width.
5365 (c_string_width): New function.
5366 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5367 Caller changed.
5368
5369 * charset.h (c_string_width, lisp_string_width): Extern them.
5370
52283633 5371 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5372
e6ebcbbe
KH
5373 * indent.c (check_composition): Check validity of composition.
5374
200ecca2
KH
5375 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5376 characters by calling c_string_width.
5377 (x_consider_frame_title): Get byte length of frame tile string
5378 correctly.
5379 (display_mode_element): Pay attention to width of non-ASCII
5380 characters by calling strwidth.
5381
8692ca92
GM
53822001-01-18 Gerd Moellmann <gerd@gnu.org>
5383
8962e303
GM
5384 * xfns.c (Qcancel_timer): New variable.
5385 (syms_of_xfns): Initialize and staticpro it.
5386 (Fx_hide_tip, Fx_show_tip): Use it.
5387 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5388 the timer.
5389 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5390
91523be9
GM
5391 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5392
5393 * window.h (WINDOW_LIVE_P): New macro.
5394
b0b7ed0e
GM
5395 * window.c (window_size_fixed): New variable.
5396 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5397 the doc string.
5398
06bccf8e
GM
5399 * eval.c (specbind): If binding a per-buffer variable which
5400 doesn't have a buffer-local value in the current buffer, change
5401 the global value by changing the value of the symbol bound in all
5402 buffers not having their own value, to make it consistent with
5403 what happens with other buffer-local variables.
5404
8692ca92
GM
5405 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5406
5407 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5408 when searching for a newline.
5409
bb3a3b50
KH
54102001-01-18 Kenichi Handa <handa@etl.go.jp>
5411
5412 * xdisp.c (display_string): Fix previous change.
5413
c2cc16fa
JR
54142001-01-18 Jason Rumney <jasonr@gnu.org>
5415
5416 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5417 GLYPH_DEBUG is defined.
5418 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5419 true for images with `:ascent 100'.
5420 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5421 meantime, use face MOUSE_FACE_ID.
5422 If first glyph isn't a character glyph, use the ASCII NUL
5423 character to determine the face.
5424 (expose_area): Do not treat left margin specially.
5425 (note_mode_line_highlight): If no local_map, check global keymap.
5426 (note_mouse_highlight): Initialize overlay.
52283633 5427 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5428 (show_scroll_bars): Remove unused function.
5429 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5430 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5431 Clip to row.
52283633 5432 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5433 (x_free_frame_resources): Unload relief colors.
5434
9c11f79e
GM
54352001-01-17 Gerd Moellmann <gerd@gnu.org>
5436
3aec8722 5437 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5438 get_next_display_element when the newline is already found.
5439 This may change the iterator's position, when its current position is
3aec8722
GM
5440 equal to the iterator's stop_charpos.
5441
f3ffc2c3
GM
5442 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5443 zero, use this method only at the end of a line.
5444
52283633 5445 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5446 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5447 if SCALABLE_FONTS_P is set.
52283633 5448
d26d6fd9
GM
5449 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5450 so that scalable fonts are included.
5451
9c11f79e
GM
5452 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5453 In the cache, use a key containing the information if scalable
5454 fonts are included.
5455 (x_load_font): Adapt to change of keys in the font cache.
5456
54572001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5458
d26d6fd9
GM
5459 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5460 XListFonts to take advantage of font caching.
5461
9c11f79e
GM
5462 * xterm.c (x_list_fonts): Ensure caching font information when
5463 called for a null frame, which is the case frequently when Emacs
5464 starts.
5465
51446987
GM
54662001-01-17 Gerd Moellmann <gerd@gnu.org>
5467
f864120f
GM
5468 * xfns.c (QCconversion): Replaces QCalgorithm.
5469
5470 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5471
5472 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5473 of :algorithm.
52283633 5474
e37d1417
GM
5475 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5476 not everything could be displayed.
5477
51446987
GM
5478 * line.h, x-list-font.c: Files removed because unused.
5479
9ad4f3e5
AI
54802001-01-17 Andrew Innes <andrewi@gnu.org>
5481
5482 * dired.c (directory_files_internal): Convert result from readdir
5483 to a unibyte string initially, to avoid possible misinterpretation
5484 of some bytes as the internal form of Emacs characters.
5485
2eda09b5
KH
54862001-01-17 Kenichi Handa <handa@etl.go.jp>
5487
5488 * fns.c (concat): Be sure to avoid putting the same `composition'
5489 property on the adjacent regions.
5490
826f3788
GM
54912001-01-16 Gerd Moellmann <gerd@gnu.org>
5492
52283633 5493 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5494 (Fscroll_right, Fscroll_left): Set it here instead, if called
5495 interactively.
5496
d57b83b3
GM
5497 * buffer.c (Fset_buffer_modified_p): Set buffer's
5498 prevent_redisplay_optimizations_p flag.
5499
826f3788 5500 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5501 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5502 with additional arg.
5503
5504 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5505 Change prototype.
826f3788 5506
826f3788
GM
5507 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5508 FROM_WHERE, for debugging.
5509
261d788b
KH
55102001-01-16 Kenichi Handa <handa@etl.go.jp>
5511
5512 * ccl.c (Fregister_ccl_program): Handle the return value of
5513 resolve_symbol_ccl_program correctly.
52283633 5514 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5515
bccee4f2
GM
55162001-01-15 Gerd Moellmann <gerd@gnu.org>
5517
e4ded23c
GM
5518 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5519 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5520
5521 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5522 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5523 the display; we didn't open it.
5524
bccee4f2
GM
5525 * dispnew.c (save_or_restore_current_matrices): Function removed.
5526 (save_current_matrix, restore_current_matrix): New functions.
5527 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5528 restore the frame's current matrix. Due to the glyph pointer
5529 setup done in adjust_glyph_matrix, there is no easy way to make
5530 saving the current matrix in the desired matrix generally correct,
5531 so don't try it.
5532
ebeccffa
KH
55332001-01-15 Kenichi Handa <handa@etl.go.jp>
5534
5535 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5536 truncation glyphs.
5537 (display_line): Optimize for wide characters.
e4ded23c 5538 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5539 partially. On ttys, produce more than one truncation glyph for
5540 multi-column characters that don't fit on the line.
5541
64388126
KH
55422001-01-13 Kenichi Handa <handa@etl.go.jp>
5543
52283633
SM
5544 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5545 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5546
8edb0a6f
JR
55472001-01-13 Jason Rumney <jasonr@gnu.org>
5548
5549 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5550 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5551 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5552 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5553
52283633
SM
5554 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5555 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5556 (x_draw_image_glyph_string): Adapt to change of image margins.
5557
5558 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5559 variables.
5560
5561 * w32bdf.c (search_file_line, get_cached_font_char)
5562 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5563
5564 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5565
5566 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5567 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5568 (Fw32_send_sys_command): Remove unused variables.
5569 (w32_msg_pump): Add parentheses.
5570
5571 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5572 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5573 Add parentheses.
5574
4956d1ef
GM
55752001-01-12 Gerd Moellmann <gerd@gnu.org>
5576
b30623be
GM
5577 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5578 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5579 being a pair of margins.
5580 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5581 to DEFVAR_LISP. Extend doc.
5582
5583 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5584 margins.
5585 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5586 pair of integers `(X . Y)', use X for the horizontal and Y for the
5587 vertical margin.
5588 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5589 (parse_image_spec): Check it.
52283633
SM
5590 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5591 (tiff_format, gif_format, gs_format):
5592 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5593
52283633
SM
5594 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5595 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5596 (x_draw_image_glyph_string): Adapt to the change of image margins.
5597
5598 * dispextern.h (struct image): Replace member `margin' with
5599 `hmargin' and `vmargin'.
5600
4554cc79
GM
5601 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5602 and GLYPHS.
5603
5604 * dispnew.c (update_text_area): Put code which decrements the
5605 stop position when the row's face extends to the end of the
3bffc665 5606 line in #if 0.
4554cc79 5607
3cccce8d
GM
5608 * xfns.c (x_set_mouse_color): Fix color allocation.
5609
4956d1ef
GM
5610 * keyboard.c: Call get_local_map with new argument list.
5611
5612 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5613
5614 * intervals.h (enum map_property): Removed.
5615 (get_local_map): Change prototype.
5616
5617 * keymap.c: Call get_local_map with new argument list.
5618 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5619
2c2ff7f2
GM
56202001-01-11 Gerd Moellmann <gerd@gnu.org>
5621
a23887b9
GM
5622 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5623 of the size needed for the tool bar string. For the last image,
5624 use a `display' property that reaches to the end of the string.
5625
a7ee2d2e
GM
5626 * xselect.c (selection_request_dpyinfo): New variable.
5627 (x_handle_selection_request): Set it.
5628 (x_selection_request_lisp_error): Don't call
5629 x_decline_selection_request if selection request's display has
5630 been closed.
5631
52283633
SM
5632 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5633 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5634
457b792c
GM
56352001-01-10 Dave Love <fx@gnu.org>
5636
5637 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5638 ${SOME_MACHINE_LISP}, not ${lisp}.
5639
c1efd260
GM
56402001-01-10 Gerd Moellmann <gerd@gnu.org>
5641
52283633
SM
5642 * xdisp.c (display_line): On ttys, produce more than one truncation
5643 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5644
ac95a621
GM
5645 * xselect.c (x_reply_selection_request): Add a comment.
5646
c1efd260
GM
5647 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5648 XkbGetNames instead of XkbGetKeyboard.
5649
1bfb1345
DL
56502001-01-10 Dave Love <fx@gnu.org>
5651
5652 * sysdep.c (random): Revert the declaration.
5653
38119822
GM
56542001-01-09 Gerd Moellmann <gerd@gnu.org>
5655
52283633
SM
5656 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5657 Call function string_bytes.
35f464a7
GM
5658 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5659
5660 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5661 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5662 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5663 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5664 the current sblock.
5665 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5666 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5667 after sweeping strings, and at the end.
5668 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5669
38119822
GM
5670 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5671 ensure that pop_message is called.
5672
5673 * keyboard.c (Fexecute_extended_command): Use a
5674 record_unwind_protect to ensure that pop_message is called.
5675
5676 * lisp.h (push_message_unwind): Add prototype.
5677
5678 * xdisp.c (push_message_unwind): New function.
5679
5680 * fileio.c (do_auto_save_unwind): Do the pop_message here
5681 instead of in Fdo_auto_save.
5682 (Fdo_auto_save): Don't call pop_message.
5683
f47a9ec4
KR
56842001-01-08 Ken Raeburn <raeburn@gnu.org>
5685
5686 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5687 in inner block.
5688
a758f97d
GM
56892001-01-08 Gerd Moellmann <gerd@gnu.org>
5690
6d0afc03
GM
5691 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5692 when increasing window's vscroll.
5693
a758f97d
GM
5694 * macros.c (Qkbd_macro_termination_hook): New variable.
5695 (syms_of_macros): Initialize and staticpro it.
5696 (pop_kbd_macro): Run kbd-macro-termination-hook.
5697
5698 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5699
1bfb1345 57002001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5701
5702 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5703 arglist, for documentation's sake.
5704
0dac6924
AI
57052001-01-06 Andrew Innes <andrewi@gnu.org>
5706
5707 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5708 of *.pdb.
5709
8182406a
AI
57102001-01-05 Andrew Innes <andrewi@gnu.org>
5711
5712 * term.c (update_end): Don't check updating_frame; for some reason
5713 this can be 0 sometimes, such as after dismissing a popup menu,
5714 and isn't necessary given the explicit frame argument.
5715
3828218c
GM
57162001-01-05 Gerd Moellmann <gerd@gnu.org>
5717
5718 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5719 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5720
2f5ded21
GM
57212001-01-04 Gerd Moellmann <gerd@gnu.org>
5722
52283633 5723 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5724
5725 * xfns.c (x_create_tip_frame): Preserve the value of
5726 face_change_count around the creation of the tip frame.
52283633 5727
2f5ded21
GM
5728 * xfns.c (last_show_tip_args): New variable.
5729 (compute_tip_xy): New function.
5730 (Fx_show_tip): Reuse an existing tip frame, if possible.
5731 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5732
dfad65fa
DL
57332001-01-04 Dave Love <fx@gnu.org>
5734
64d4ec0f
DL
5735 * editfns.c (Fformat): Doc fix.
5736
dfad65fa
DL
5737 * systime.h (set_file_times): Prototype.
5738
5739 * widget.h (EmacsFrameSetCharSize_): Prototype.
5740
5741 * sysdep.c (random, srandom): Declare explicitly.
5742
5743 * dispextern.h (move_it_vertically_backward): Declare.
5744
85fe3b5e
GM
57452001-01-04 Gerd Moellmann <gerd@gnu.org>
5746
0f2ac578
GM
5747 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5748 like in Fx_create_frame.
5749
482cca61
GM
5750 * xfaces.c (set_font_frame_param): Don't do anything for
5751 non-graphical frames.
5752
85fe3b5e
GM
5753 * window.c (Fdelete_other_windows): Set window's window_end_valid
5754 to nil when changing the window's start. Don't change the
5755 window's start when its top position hasn't changed. If we do,
5756 this will set the window's optional_new_start, which act's like a
5757 force_start during redisplay with C-x 1 M-> under particular
5758 circumstances (see report from Per Starback to emacs-pretest-bug
5759 from 2000-12-13.).
5760
3e99d3b4
GM
57612001-01-03 Gerd Moellmann <gerd@gnu.org>
5762
a77dc1ec
GM
5763 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5764 short cut at the start of the function. Add an assertion.
5765 (reseat_at_next_visible_line_start): Add an assertion.
5766
2f3cad6c
GM
5767 * window.c (Frecenter): When changing the window start, set the
5768 window's window_end_valid to nil.
5769 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5770
5771 * dispextern.h (move_it_past_eol): Add prototype.
5772
5773 * xdisp.c (move_it_past_eol): New function.
5774
3e99d3b4
GM
5775 * window.c (Fwindow_end): Doc fix.
5776
57772001-01-03 Dave Love <fx@gnu.org>
5778
52283633 5779 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5780
bafb434c
GM
57812001-01-03 Gerd Moellmann <gerd@gnu.org>
5782
5783 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5784 the enabled_p flag of the glyph row at window_end_vpos to 0.
5785 (handle_single_display_prop): Fix last change.
5786
5297fb00
RS
57872001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5788
5789 * window.c (Frecenter): Doc fix.
5790
13d6a61c
AI
57912001-01-02 Andrew Innes <andrewi@gnu.org>
5792
5793 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5794
5795 * frame.h (output_method): Add output_w32_console method.
5796 (FRAME_W32_CONSOLE_P): New macro.
5797
5798 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5799 use output_w32_console method.
5800 (Qw32_console): New Lisp_Object.
5801 (Fframep): Return it.
5802 (syms_of_frame): Init it.
52283633 5803 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5804
5805 * xfaces.c (realize_default_face): Set face foreground and
5806 background to unspecified for w32_console frames.
5807 (realize_face): Realize face cache for w32_console frames.
5808 (realize_tty_face): Accept w32_console frames.
5809
52283633 5810 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5811 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5812 necessary, even if running interactively.
5813
5814 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5815 w32_console frames.
5816
52283633
SM
5817 * w32term.c (x_update_begin):
5818 (x_update_end):
5819 (x_clear_frame):
5820 (x_ins_del_lines):
5821 (x_change_line_highlight):
5822 (x_delete_glyphs):
5823 (w32_ring_bell):
5824 (x_update_begin):
5825 (x_update_end):
5826 (w32_reassert_line_highlight):
5827 (w32_frame_rehighlight):
13d6a61c
AI
5828 (w32_frame_raise_lower): Do nothing if not w32 frame.
5829
5830 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5831
5832 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5833 system doesn't tell us directly.
5834 (Fx_display_visual_class): Implement properly.
5835
d6bb0c0d
GM
58362001-01-02 Gerd Moellmann <gerd@gnu.org>
5837
5838 * window.c (Frecenter): Handle centering in graphical frames
5839 specially. Centering on the basis of line counts doesn't work
5840 reliably with variable-height lines.
52283633 5841
315f5865
EZ
58422001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5843
5844 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5845 and al[].
5846
52283633 5847 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5848 (update_compositions): Remove unused variable `hook'.
5849
5850 * intervals.c (get_local_map): Remove unused variable `tem'.
5851
5852 * doprnt.c (doprnt1): Remove unused variable `size'.
5853
5854 * fns.c (Flength): Remove unused variable `tail'.
5855 (Fdelete): Remove unused variable `size'.
5856
5857 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5858 and `gcpro2'.
5859
52283633 5860 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5861
5862 * data.c (find_symbol_value): Remove extra 3rd argument in the
5863 call to swap_in_symval_forwarding.
5864
52283633 5865 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5866
5867 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5868 (trivial_regexp_p): Remove unused variable `c'.
5869 (boyer_moore): Remove unused variable `k'.
5870
5871 * indent.c (current_column): Remove unused variable `stopchar'.
5872 (Fcompute_motion): Remove unused variable `contin'.
5873
5874 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5875
5876 * dired.c (directory_files_internal): Fix a typo in a comment.
5877 Remove an unused variable `handler'.
52283633 5878 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5879 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5880 on BSD4_2.
5881
52283633 5882 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5883
5884 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5885 and `buf'.
5886 (Fmarker_insertion_type): Remove unused variable `buf'.
5887
5888 * insdel.c (make_gap): Remove unused variable `result'.
5889
52283633 5890 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5891 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5892 (menu_bar_items): Remove unused function-scope variable `tem'.
5893
5894 * fontset.c (fontset_ref): Remove unused variable `i'.
5895 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5896 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5897 (make_fontset_for_ascii_face): Remove unused variable `name'.
5898 (fs_load_font): Remove unused variable `font_idx'.
52283633 5899 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5900 (list_fontsets): Remove unused variable `tail'.
5901 (Fnew_fontset): Remove unused variables `family' and `registry'.
5902 (accumulate_font_info): Remove unused variable `tmp'.
5903 (Ffontset_font): Remove unused variable `id'.
5904 (syms_of_fontset): Remove unused variable `i'.
5905
5906 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5907 to x_term_init.
5908 (lookup_image): Remove unused variable `file'.
5909 (xbm_load): Remove unused variables `bitmap_data', `height', and
5910 `width'. Remove function-local variable `i', leave the
5911 block-local one.
5912 (gif_load): Remove unused variable `inc'.
5913
52283633 5914 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5915 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5916 leave only the one in the inner block.
5917
5918 * xfaces.c (face_fontset, realize_default_face): Remove unused
5919 variable `fontset'.
5920 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5921
5922 * term.c (encode_terminal_code): Remove unused variable `c'.
5923
5924 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5925 char *' instead of `char *'.
5926
5927 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5928 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5929 (Fchar_category_set): Remove unused variables `val', `charset',
5930 `c1' and `c2'.
5931
52283633
SM
5932 * coding.c (detect_coding_iso2022, setup_coding_system):
5933 Remove unused variable `i'.
315f5865
EZ
5934 (detect_coding_mask): Remove unused variable `idx'.
5935 (detect_coding): Remove unused variable `i'.
5936 (ccl_coding_driver): Remove unused variable `result'.
5937 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5938 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5939 (encode_coding_string): Remove unused variables `gcpro1' and
5940 `saved_coding_symbol'.
5941 (Ffind_coding_systems_region_internal): Remove function-local
5942 variable args[], leave only the block-local one.
5943 (code_convert_region1): Remove unused variable `len'.
5944
5945 * charset.c (char_printable_p): Remove unused variable `chars'.
5946 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5947 (str_to_multibyte): Remove unused variable `c'.
5948
5949 * window.c (size_window): Remove block-local variable `min_size'.
5950
5951 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5952 `header_line_height'.
5953 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5954 enum display_element_type.
5955
1a8a9daf
GM
59562001-01-02 Gerd Moellmann <gerd@gnu.org>
5957
6dde6abc 5958 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5959 statements that call X. Save away the error message in a local copy.
5960
1883b2c6
GM
5961 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5962 the start.
5963
a13be207
GM
5964 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5965 in or at the start of invisible text.
5966
1a8a9daf
GM
5967 * dispnew.c (update_window): Don't check_current_matrix_flags.
5968
3608c0f9
JR
59692001-01-01 Jason Rumney <jasonr@gnu.org>
5970
5971 * w32fns.c (x_figure_window_size): Do not allow new_height and
5972 new_width of frame to override specified values.
5973
abb1acc4
KH
59742000-12-30 Kenichi Handa <handa@etl.go.jp>
5975
52283633 5976 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5977
762a68ec
GM
59782000-12-29 Gerd Moellmann <gerd@gnu.org>
5979
52283633 5980 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5981 (update_window) [GLYPH_DEBUG]: Call it.
5982 (scrolling_window): Prevent including current rows which are below
5983 what's displayed in the window.
5984
5985 * xdisp.c (try_window_reusing_current_matrix)
5986 <new start <= old start>: Disable rows in the current matrix
5987 which are below the window after scrolling.
52283633 5988
762a68ec
GM
5989 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5990 is zero. It's not worth the complexity.
5991 (invisible_text_between_p): Put in #if 0 because unused.
5992
2d5912c1
GM
59932000-12-28 Gerd Moellmann <gerd@gnu.org>
5994
46f6a258
GM
5995 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5996 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5997
89f93679
GM
5998 * keyboard.c (echo_char): If C is an integer, always call
5999 push_key_description. Former code could signal an invalid
6000 character error.
6001
6002 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6003 If set, print multibyte text.
6004 (Fsingle_key_description): Call push_key_description with
6005 FORCE_MULTIBYTE set.
6006 (describe_buffer_bindings): Likewise.
6007
6008 * lisp.h (push_key_description): Add prototype.
6009
c06017fb
GM
6010 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6011 around the call to redisplay_internal.
6012
f1d2ce7f
GM
6013 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6014
2d5912c1
GM
6015 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6016
9371f831
KH
60172000-12-28 Kenichi Handa <handa@etl.go.jp>
6018
6019 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6020 (ccl_driver): New local variable `extra_bytes'.
6021
6022 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6023
52283633
SM
6024 * coding.c (setup_coding_system):
6025 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6026 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6027
0c80628a
KH
60282000-12-28 Kenichi Handa <handa@etl.go.jp>
6029
6030 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6031 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6032 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6033 (decode_composition_emacs_mule): New function.
6034 (decode_coding_emacs_mule): Decode composition sequence by calling
6035 decode_composition_emacs_mule.
6036 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6037 (encode_coding_emacs_mule): Changed from macro to function.
6038 If a text contains compositions, encode them correctly.
0c80628a
KH
6039 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6040 that decoding and encoding are required.
6041
3e32cc27
GM
60422000-12-27 Gerd Moellmann <gerd@gnu.org>
6043
5e25feee
GM
6044 * xfaces.c (PT_PER_INCH): New macro.
6045 (xlfd_point_size): Compute real point size from font's pixel size.
6046 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6047 instead of 72.
6048
892d8fcd
GM
6049 * .gdbinit: Comment out the line pointing to the Lesstif source
6050 directory.
6051
12c8b416
GM
6052 * window.c (Frecenter): Use displayed_window_lines instead
6053 of window_internal_height.
6054
6061fbf0
GM
6055 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6056 instead of x-toolkit-scroll-bars-p.
6057 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6058
6059 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6060 instead of x-toolkit-scroll-bars-p.
6061 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6062
3e32cc27
GM
6063 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6064 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6065 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6066 New variables.
6067 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6068 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6069 (build_frame_matrix_from_leaf_window): Remove unused code.
6070 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6071 redisplay history.
6072 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6073 (update_window) [GLYPH_DEBUG]: Likewise.
6074 (syms_of_display): Defsubr dump-redisplay-history.
6075
31798cfe
GM
60762000-12-23 Gerd Moellmann <gerd@gnu.org>
6077
f717c2ba
GM
6078 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6079 the end of the prompt. Set echo_after_prompt to the offset
6080 of echoptr in echobuf.
6081
aeb2b8fc
GM
6082 * xdisp.c (init_from_display_pos): Pop until the iterator's
6083 stack is empty; there may be frames for stretch or images
6084 on the stack.
6085
31798cfe
GM
6086 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6087 (save_or_restore_current_matrix): New function for the same
6088 purpose, but more efficient.
6089 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6090
f8156156
EZ
60912000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6092
6093 * xdisp.c (syms_of_xdisp): Fix last change.
6094
bdd6d4e8
GM
60952000-12-23 Gerd Moellmann <gerd@gnu.org>
6096
6097 * xdisp.c (syms_of_xdisp): Doc fix.
6098
6099 * xdisp.c (redisplay_window): Remove label restore_buffers;
6100 use finish_scroll_bars instead to make sure that scroll bars
6101 are redeemed. If we don't do this, flickering can result from
6102 scroll bars being destroyed and recreated.
6103
9436cdf9
JR
61042000-12-22 Jason Rumney <jasonr@gnu.org>
6105
6106 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6107 in the wrong colors when the foreground is not black.
6108 (expose_window): Don't redraw the window that's currently being
6109 updated.
6110
951f9df5
GM
61112000-12-22 Gerd Moellmann <gerd@gnu.org>
6112
856ff7a7
GM
6113 * window.c (size_window): When setting the window's too_small_ok
6114 flag, compare old size with minimum size depending on WIDTH_P,
6115 don't compare with window_min_width.
52283633 6116
951f9df5
GM
6117 * window.c (delete_window): Simplify somewhat.
6118 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6119 freeing window matrices. The flag windows_or_buffers_changed is
6120 set, so the next redisplay will consider all windows; this should
6121 suffice.
6122
886bc933
KH
61232000-12-22 Kenichi Handa <handa@etl.go.jp>
6124
6125 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6126
6127 * ccl.h (struct ccl_program): New member cr_consumed.
6128
6129 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6130 (CCL_READ_CHAR): Handle EOL conversion here.
6131 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6132
177f4e88
GM
61332000-12-21 Gerd Moellmann <gerd@gnu.org>
6134
52283633 6135 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6136
6137 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6138 otherwise tabs of different size compare equal.
6139
6140 * callint.c (Fcall_interactively): Prevent a compiler warning.
6141
6142 * print.c (print_unwind): Return nil.
6143 (PRINTDECLARE): Initialize all local variables.
6144 (print_preprocess): Add a default case.
6145
8e15274f
GM
6146 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6147
6148 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6149
52283633 6150 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6151 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6152
6153 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6154
6155 * dispnew.c (ensure_frame_matrix): Removed.
6156 (save_frame_matrix, restore_frame_matrix): New functions.
6157 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6158
6159 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6160 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6161
99012074
AI
61622000-12-21 Andrew Innes <andrewi@gnu.org>
6163
6164 * w32term.c (x_update_begin): Regenerate the palette here, rather
6165 than for each window.
6166
6167 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6168 palette is NULL, since this corrupts memory! Also get
6169 display_info reference from frame.
6170
29ef7d2d
JR
61712000-12-21 Jason Rumney <jasonr@gnu.org>
6172
6173 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6174
6175 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6176 to avoid returning without releasing it.
3e27fa1f 6177
3f9d67a6
KH
61782000-12-21 Kenichi Handa <handa@etl.go.jp>
6179
587fc3f9
KH
6180 * keymap.c (push_key_description): Don't convert eight-bit-control
6181 and eight-bit-graphic to multibyte character.
6182
3f9d67a6
KH
6183 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6184 generic character and CODE1 is nil, return the smallest character
6185 in CHARSET.
6186
774ba8c9
DL
61872000-12-20 Dave Love <fx@gnu.org>
6188
6189 * s/osf5-0.h (NSIG): Don't redefine.
6190
88416888
SM
61912000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6192
6193 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6194 excluding menu-bar and tool-bar.
6195 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6196 (menu_item_p): Remove.
6197 (where_is_internal_1): Don't ignore menu-items.
6198
a6426c6f
GM
61992000-12-20 Gerd Moellmann <gerd@gnu.org>
6200
03ff8aab
GM
6201 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6202 into account.
6203
6204 * window.c (make_window): Initialize window's min_hscroll.
6205 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6206 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6207 to zero.
6208 (struct saved_window): New member min_hscroll.
6209 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6210 (Fset_window_configuration): Set window's min_hscroll.
6211 (save_window_save): Save window's min_hscroll.
6212 (compare_window_configurations): Compare min_hscroll values.
6213
6214 * window.h (struct window): New member min_hscroll.
6215
6216 * keyboard.c (echo_prompt): Prevent a compiler warning.
6217
8de4aaf8
GM
6218 * xdisp.c (try_cursor_movement): Fix last change. The real
6219 condition is that PT is at the end of the row, and should
6220 be displayed at the start of the next row.
52283633 6221
3f7e3031
GM
6222 * xdisp.c (try_cursor_movement): If we end on a partially
6223 visible line, end we already decided to scroll, return -1.
6224
a6426c6f
GM
6225 * dispextern.h (ensure_frame_matrix): Add prototype.
6226
6227 * window.c (delete_window, Fsplit_window)
6228 (Fset_window_configuration): Call ensure_frame_matrix.
6229
52283633
SM
6230 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6231 New functions.
a6426c6f
GM
6232 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6233 completed, call fake_current_matrices instead of marking frame
6234 garbaged.
6235
57fa2774
JR
62362000-12-20 Jason Rumney <jasonr@gnu.org>
6237
6238 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6239
d925df90
EZ
62402000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6241
6242 * fns.c (Frequire): Doc fix.
6243
7b93a85b
GM
62442000-12-19 Gerd Moellmann <gerd@gnu.org>
6245
52283633 6246 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6247
c74e645b
GM
6248 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6249 currently displaying a message.
6250
7b93a85b
GM
6251 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6252 xterm.h.
6253 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6254
90d97e64
AI
62552000-12-18 Andrew Innes <andrewi@gnu.org>
6256
6257 * w32.c (w32_strerror): New function.
6258
6259 * w32.h (w32_strerror): New extern.
6260
6261 * w32fns.c (Fw32_shell_execute): Use it.
6262
91c9e6ce
GM
62632000-12-18 Gerd Moellmann <gerd@gnu.org>
6264
6265 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6266
6f4745e2
EZ
62672000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6268
6269 * msdos.c (IT_set_face): Obey inverse_video.
6270
c9e088ce
KH
62712000-12-18 Kenichi Handa <handa@etl.go.jp>
6272
6273 * dired.c (directory_files_internal): Always return decoded filenames.
6274
c3695f5f
GM
62752000-12-18 Gerd Moellmann <gerd@gnu.org>
6276
52d8e4ff
GM
6277 * xterm.c (x_connection_closed): Prevent being called recursively
6278 because of an error condition in XtCloseDisplay.
52283633 6279
62be9979
GM
6280 * xdisp.c (init_iterator): If noninteractive, and the frame's
6281 face cache is null, make one.
6282
52283633 6283 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6284
c3695f5f
GM
6285 * process.c (wait_reading_process_input): Check for pending
6286 input when running timers.
6287
78555fbe
EZ
62882000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6289
52283633 6290 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6291
b2b36264
KH
62922000-12-18 Kenichi Handa <handa@etl.go.jp>
6293
6294 * process.c (read_process_output): Don't run a filter if the code
6295 decoder produces nothing but carryover.
6296
9c543fbf
AI
62972000-12-17 Andrew Innes <andrewi@gnu.org>
6298
6299 * w32.c (sys_rename): Only check errno against EEXIST, and not
6300 EACCES, when determining whether rename failed because the target
6301 exists. This was resulting in indefinite looping on Windows 9x if
6302 the source file was locked by another process.
6303
6304 * w32fns.c (Ffile_system_info): New function.
6305 (syms_of_w32fns): Defsubr it.
6306
10c2b5a8
GM
63072000-12-17 Gerd Moellmann <gerd@gnu.org>
6308
b0228ace
GM
6309 * window.c (coordinates_in_window): Fix computation for
6310 position on vertical line between mode lines.
6311
10c2b5a8
GM
6312 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6313 Don't alter tip_frame or tip_window.
6314 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6315 was deleted.
6316
c844a81a
GM
6317 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6318 Don't alter tip_frame or tip_window.
6319 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6320 was deleted.
6321
6c825f8e
EZ
63222000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6323
6324 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6325 be consistent with the doc string. Reported by NAKAJIMA Mikio
6326 <minakaji@osaka.email.ne.jp>.
6327
af4bb4c8
KH
63282000-12-16 Kenichi Handa <handa@etl.go.jp>
6329
6330 * xfaces.c (Vface_ignored_fonts): New variable.
6331 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6332 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6333
8062e53a
GM
63342000-12-15 Gerd Moellmann <gerd@gnu.org>
6335
e87b8809
GM
6336 * dispnew.c (update_window): Detect pending input every nth line
6337 updated, i.e. do it depending on real work done, and not on the
6338 vpos of the line.
6339
6340 * xterm.c (expose_window): Don't redraw the window that's
6341 currently being updated.
6342
a6768cc5
GM
6343 * window.c (Fset_window_point): Remove test for
6344 cursor_in_non_selected_windows.
6345
4ea7fdca
GM
6346 * lread.c (read1): Recognize end of file after `\\'.
6347
8062e53a
GM
6348 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6349 not unwind_create_frame.
6350
bb7959c1
GM
63512000-12-15 Dave Love <fx@gnu.org>
6352
6353 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6354 bcopy & al.
6355
6356 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6357
ced04c42
KH
63582000-12-15 Kenichi Handa <handa@etl.go.jp>
6359
c5443913
KH
6360 * coding.c (setup_coding_system): Clear all members of the struct
6361 coding_system at first.
bc137305
KH
6362 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6363 argument.
6364 (code_convert_region): Don't override coding->src_multibyte and
6365 coding->dst_multibyte.
c5443913 6366
ced04c42
KH
6367 * fns.c (Fmd5): Docstring improved.
6368
c2d7f289
MB
63692000-12-15 Miles Bader <miles@gnu.org>
6370
6371 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6372 are actually marked as mode-lines; otherwise use
6373 estimate_mode_line_height.
6374
9d7d9263
GM
63752000-12-14 Gerd Moellmann <gerd@gnu.org>
6376
6377 * editfns.c (Fformat): Prevent a buffer overrun when the format
6378 specifies a precision.
6379
7cf0153a
EZ
63802000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6381
6382 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6383 argument is outside the range [2..3].
6384
1de0f662
AI
63852000-12-14 Andrew Innes <andrewi@gnu.org>
6386
6387 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6388 nothing to do. Bind inhibit-quit.
6389 (tip_frame): Make it a Lisp_Object.
6390 (x_create_tip_frame): Set tip_frame after it has been added to
6391 Vframe_list.
6392 (Fx_show_tip): Don't set tip_frame here.
52283633 6393 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6394 (unwind_create_frame, unwind_create_tip_frame): New functions.
6395 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6396 while a frame is only partially constructed.
6397
6398 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6399 (x_free_frame_resources): New function.
6400 (x_destroy_window): Use it.
6401
02387dcc
GM
64022000-12-14 Gerd Moellmann <gerd@gnu.org>
6403
6404 * xfns.c (Fx_backspace_delete_keys_p): New function.
6405 (syms_of_xfns): Defsubr it.
6406
6407 * config.in (HAVE_XKBGETKEYBOARD): Add.
6408
0544ef49
KH
64092000-12-14 Kenichi Handa <handa@etl.go.jp>
6410
98d62747
KH
6411 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6412 Always store string in multibyte representation in echobuf.
6413 (echo_char): Always store string in multibyte representation in
6414 echobuf.
6415 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6416 (read_key_sequence): Adjusted for the change of echo_prompt.
6417
a20193cd
KH
6418 * fns.c (Fmd5): Docstring improved.
6419
191b83b6
KH
6420 * lisp.h (detect_coding_system): Prototype adjusted.
6421
0544ef49
KH
6422 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6423 (detect_coding_emacs_mule, detect_coding_iso2022,)
6424 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6425 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6426 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6427 (detect_coding_mask, detect_coding_system): New argument
6428 MULTIBYTEP. Callers changed.
1da1bb05
KH
6429 (decode_coding_string): Set coding->src_multibyte and
6430 coding->dst_multibyte before calling detect_coding and detect_eol.
6431 Update them after some coding system is detected.
52283633 6432
d5b3eb1b
SM
64332000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6434
6435 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6436
6437 * keyboard.c (menu_bar_items, tool_bar_items):
6438 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6439
f7f8bb69
GM
64402000-12-13 Gerd Moellmann <gerd@gnu.org>
6441
52283633 6442 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6443 New variables.
6444 (unwind_create_frame, unwind_create_tip_frame): New functions.
6445 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6446 while a frame is only partially constructed.
6447
6448 * xterm.h (x_free_frame_resources): Declare.
6449
6450 * xterm.c (x_free_frame_resources): New function.
6451 (x_destroy_window): Use it.
6452
e10da507
GM
6453 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6454 don't interrupt the update for pending input initially, i.e.
6455 update at least some lines.
6456
6457 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6458
d5b3eb1b 6459 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6460
6461 * xfns.c (gray_bitmap_bits): Declare `char *'.
6462
90aa2856
GM
64632000-12-12 Gerd Moellmann <gerd@gnu.org>
6464
6465 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6466 lines start with a relief line.
6467
a308c9cd
DL
64682000-12-12 Dave Love <fx@gnu.org>
6469
6470 * window.c (Fdisplay_buffer): Doc fix.
6471 (Fwindow_list): Remove unused var.
6472
6473 * buffer.h (mmap_set_vars): Declare.
6474
6475 * window.h (Fset_window_point): Declare.
6476
d575011f
EZ
64772000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6478
bf6282d2 6479 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6480 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6481 variable `area'. When looking for a row under (X,Y), give up if some
6482 of the previous rows is not enabled.
d575011f 6483
ecf4d726
GM
64842000-12-12 Gerd Moellmann <gerd@gnu.org>
6485
2ebf6139
GM
6486 * window.c (Fset_window_point): If displaying cursors in windows
6487 other than the selected window, make sure redisplay updates
6488 other windows to show the new value of point in the window.
6489
6490 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6491
bfdb75ee
GM
6492 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6493 the buffer is the sole visible buffer when in the mini-buffer.
6494
52283633 6495 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6496 Bind `inhibit-read-only' to t.
6497 (unwind_with_echo_area_buffer): Use AREF.
6498
c0006262
GM
6499 * xfns.c (Fx_hide_tip): Simplified.
6500
52283633
SM
6501 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6502 instead of `1'.
e9a59cad 6503
ecf4d726
GM
6504 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6505
e5959a9a
GM
65062000-12-11 Gerd Moellmann <gerd@gnu.org>
6507
a3642e49 6508 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6509
44b5a125
GM
6510 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6511 nothing to do. Bind inhibit-quit.
6512 (tip_frame): Make it a Lisp_Object.
6513 (x_create_tip_frame): Set tip_frame after it has been added to
6514 Vframe_list.
6515 (Fx_show_tip): Don't set tip_frame here.
6516
6517 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6518
6519 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6520 Lisp_Object.
6521
6522 * dispextern.h: Change external declaration of tip_frame.
6523
d990421f
GM
6524 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6525 return an empty string.
6526
4db87380
GM
6527 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6528 of the window's update_mode_line flag, since the former is set by
6529 force-mode-line-update, not the latter. This makes
6530 column-number-mode slightly faster.
52283633 6531
e5959a9a
GM
6532 * xdisp.c (try_window_id) <all changes above window start>:
6533 Set the cursor.
6534
169fe44e
GM
65352000-12-11 Paul Eggert <eggert@twinsun.com>
6536
6537 * config.in (HAVE_FTELLO): Remove.
6538 (HAVE_FSEEKO): Add.
6539 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6540 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6541 HAVE_FTELLO.
6542 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6543 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6544
59ec59ae
MB
65452000-12-11 Miles Bader <miles@gnu.org>
6546
6547 * window.c (displayed_window_lines): Don't round up when
6548 converting empty space at bottom to lines.
ff904dd6
MB
6549 Handle non-newline-terminated final lines properly.
6550 (Fwindow_text_height): New function (used to be in lisp).
6551 (syms_of_window): Initialize it.
59ec59ae 6552
42ebfa31
SM
65532000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6554
6555 * syntax.c (scan_lists): Check that the right quote char has the
6556 right Sstring syntax when jumping over strings.
6557 (init_syntax_once): Use Smax rather than 13.
6558
5cdb3cf3
MB
65592000-12-09 Miles Bader <miles@gnu.org>
6560
6561 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6562 with PARTIALLY, inverting the sense.
6563 (window_scroll_pixel_based): Scroll partially visible lines into
6564 place if we hit the beginning or end of the buffer.
a12167c5
MB
6565 (displayed_window_lines): Don't include partially visible lines.
6566 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6567
842b2a94
GM
65682000-12-08 Gerd Moellmann <gerd@gnu.org>
6569
6570 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6571
6572 * tparam.c (tparam1): Change the way buffers are reallocated to be
6573 portable and less obfuscated.
6574
6575 * termcap.c (tgetent): Change the way buffers are reallocated to
6576 be portable and less obfuscated.
6577
6578 * macros.c (store_kbd_macro_char): Change the way buffers are
6579 reallocated to be portable and less obfuscated.
6580
6581 * lread.c (read1): Change the way buffers are reallocated to be
6582 portable and less obfuscated.
6583
6584 * doc.c (Fsubstitute_command_keys): Change the way buffers
6585 are reallocated so that it is portable.
6586
137cad7c
EZ
65872000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6588
6589 * dosfns.c (Ffile_system_info): New function.
6590 (syms_of_dosfns): Defsubr it.
6591
5c7f629c
SM
65922000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6593
6594 * alloc.c (gc_sweep): Add comment.
6595
959e647d
GM
65962000-12-07 Gerd Moellmann <gerd@gnu.org>
6597
52283633
SM
6598 * sound.c (vox_configure): Change order of ioctls.
6599 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6600 Ignore errors when changing volume.
6601 (vox_close): Don't reset the device.
6602
926b7e5e
GM
6603 * process.c (read_process_output): Make sure the process marker's
6604 position is valid when the process buffer is changed in
6605 after-change functions. W3 does that.
52283633 6606
959e647d
GM
6607 * xfns.c (x_free_gcs): New function.
6608
6609 * xterm.h (x_free_gcs): Add prototype.
6610
6611 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6612 freeing GCs here.
6613
6614 * xterm.c (x_destroy_window): Call x_free_gcs so that
6615 resources of non-toolkit X windows will be freed.
6616
478ea067
AI
66172000-12-07 Andrew Innes <andrewi@gnu.org>
6618
6619 * w32fns.c (xlfd_charset_of_font): Fix last change.
6620
fbee3231
DL
66212000-12-06 Dave Love <fx@gnu.org>
6622
67292061
DL
6623 * md5.h (__P): Don't define -- it comes from config.h.
6624
fbee3231
DL
6625 * strftime.c: Change some #if foo to #ifdef foo.
6626
4ee87dbb
AI
66272000-12-06 Andrew Innes <andrewi@gnu.org>
6628
6629 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6630
52283633 6631 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6632 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6633 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6634
9765b4a4
GM
66352000-12-06 Gerd Moellmann <gerd@gnu.org>
6636
d285b373
GM
6637 * alloc.c (gc_sweep): Prevent symbols read during loadup
6638 from being freed.
6639
384333ee
GM
6640 * xdisp.c (underlying_face_id): New function.
6641 (handle_face_prop, face_before_or_after_it_pos): Use it
6642 to determine the face ``under'' a string. Let strings inherit
6643 the face of the buffer under them.
6644
6645 * xfaces.c (face_at_string_position): Update function comment.
52283633 6646
d4b72d58
GM
6647 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6648 matrix if the window's left position has changed; we need to
6649 redraw it in this case.
6650
6651 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6652
e1d05387
GM
6653 * window.c (coordinates_in_window): Check mouse on mode-line or
6654 header-line first.
6655
eb1b0c74
GM
6656 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6657 advertized by the function documentation.
6658
d94d636f
GM
6659 * window.c (syms_of_window): Doc fix.
6660
3887b449
GM
6661 * sound.c (vox_configure): Set volume for left and right channel.
6662 (sound_cleanup): Return nil.
6663
efc8f57a
GM
6664 * xdisp.c (move_it_by_lines): Fix paren typo.
6665
9765b4a4
GM
6666 * xterm.c (x_load_font): Don't use the font's max_bounds for
6667 computing the height of the font. If max_bounds' ascent or
6668 descent are greater than the font's ascent or descent, this means
6669 glyphs overlap, which should be handled now by redisplay.
6670
6529ed87
GM
6671 * window.c (Veven_window_heights): New variable.
6672 (syms_of_window): DEFVAR_LISP it.
6673 (Fdisplay_buffer): Check Veven_window_heights before evening the
6674 window heights.
52283633 6675
0eb2ecde
MB
66762000-12-06 Miles Bader <miles@gnu.org>
6677
6678 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6679 update `default-frame-alist' instead of setting no frame parameters.
6680
03d7a167
KH
66812000-12-06 Kenichi Handa <handa@etl.go.jp>
6682
6683 * composite.c (update_compositions): Fix typo (use the correct
6684 variable).
6685
5f8803c2
JR
66862000-12-05 Jason Rumney <jasonr@gnu.org>
6687
6688 * md5.h: Remove underscores from function declarations.
6689 (__attribute__, __alignof__) [!__GNUC__]: Define.
6690
6691 * md5.c: Delay include of md5.h until after namespace cleaning.
6692
c28a075b
JR
6693 * makefile.w32-in (fns.o): Depend on md5.h
6694 (md5.o): New target.
6695 (sunfns.o): Remove.
6696
6697 * makefile.nt: Likewise.
6698
ff3c7056
JR
66992000-12-05 Jason Rumney <jasonr@altavista.net>
6700
6701 * w32term.c (expose_area): Complete last change.
6702
0c21eeeb
KR
67032000-12-05 Ken Raeburn <raeburn@gnu.org>
6704
6705 * minibuf.c: Include intervals.h.
6706
f201d732
JR
67072000-12-05 Jason Rumney <jasonr@gnu.org>
6708
6709 * w32term.c (x_produce_glyphs): If a font for a component of
6710 a composition is not found, use 1 pixel dot ascent and 0 dot
6711 descent value to avoid displaying terribly tall empty boxes.
6712 (expose_area): Pass x-coordinate relative to the exposed
6713 area to x_draw_glyphs instead of a window-relative coordinate.
6714
21999ab9
GM
67152000-12-05 Gerd Moellmann <gerd@gnu.org>
6716
4d2036e4
GM
6717 * xdisp.c (next_element_from_ellipsis): Save face before selective
6718 display in saved_face_id, and set face_before_selective_p.
6719 (reseat_1): Reset face_before_selective_p.
6720 (append_space, extend_face_to_end_of_line): If iterator's
6721 face_before_selective_p is set, use the face from saved_face_id.
6722 (extend_face_to_end_of_line): For tty frames, make sure to
6723 use the right face id when producing spaces at the end of
6724 the line.
6725
6726 * dispextern.h (struct it): Add face_before_selective_p.
6727
52be17cc
GM
6728 * keyboard.c (record_char): Don't record identical help-echo
6729 events in recent_keys.
6730
8a4f36cc
GM
6731 * xterm.c [USE_X_TOOLKIT]: Close the display.
6732 (xim_close_dpy): Handle case that the display has been closed.
6733
57d6e381
GM
6734 * xterm.c (x_destroy_window): Reset the frame's X window after
6735 destroying it.
6736
21999ab9
GM
6737 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6738 variable window_width.
6739 (line_draw_cost): Fix code skipping over spaces at the end of the
6740 line when must_write_spaces is not set.
6741 (scrolling_window): Fix code inserting runs in list of all runs.
6742
91372bb7
KH
67432000-12-05 Kenichi Handa <handa@etl.go.jp>
6744
6745 * coding.c (setup_coding_system): Be sure to initialize
6746 coding->category_idx.
6747
6c083b4c
GM
67482000-12-04 Gerd Moellmann <gerd@gnu.org>
6749
0c68ce6f 6750 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6751
6452929e
GM
6752 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6753 area to x_draw_glyphs instead of a window-relative coordinate.
6754
d7f31e22
GM
6755 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6756 error in the message.
6757
ae18aa3b
GM
6758 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6759 timer after having read a key. It's not good for code reading
6760 several keys in a loop, like an input method.
6761
caa15ef7
GM
6762 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6763 record undo information for format-decode.
6764
6765 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6766 current buffer is read-only, not if it isn't.
6767
6c083b4c
GM
6768 * keyboard.c (record_char): Record `help-echo' input events
6769 in recent_keys only if they display some help. Don't record
6770 `help-echo' events as macro char.
6771
caa15ef7
GM
67722000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6773
6774 * editfns.c (save_excursion_restore): Don't move point
6775 in another window if it is showing the wrong buffer.
6776 Avoid the call to Fwindow_live_p, for speed.
6777
5a13529b
KH
67782000-12-04 Kenichi Handa <handa@etl.go.jp>
6779
e225faa7
KH
6780 * xfaces.c (struct font_name): New member registry_priority.
6781 (split_font_name): Initialize the above member to zero.
6782 (concat_font_list): New function.
6783 (font_list): Include fonts of all alternative registries.
6784 (FONT_POINT_SIZE_QUANTUM): New macro.
6785 (better_font_p): Ignore point size difference less than
6786 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6787
e89648b4
KH
6788 * xterm.c (x_produce_glyphs): If a font for a component of
6789 a composition is not found, use 1 pixel dot ascent and 0 dot
6790 descent value to avoid displaying terribly tall empty boxes.
6791
5a13529b
KH
6792 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6793
d7935eb6
KR
67942000-12-03 Ken Raeburn <raeburn@gnu.org>
6795
6796 * coding.h (code_convert_string1): Declare.
6797
6798 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6799
52283633 6800 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6801
0dd5e255
JR
68022000-12-02 Jason Rumney <jasonr@gnu.org>
6803
6804 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6805 correctly for single byte character case.
6806 (w32_per_char_metric): Do not try to make any assumptions about
6807 the metrics of BDF fonts.
250cfece 6808 (x_estimate_mode_line_height): If `mode-line' face
52283633 6809 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6810 (note_mouse_highlight): Change the cursor shape on the vertical
6811 border between windows [not enabled].
6812
6813 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6814
6815 * w32fns.c (Fx_create_frame): Reintroduce the call to
6816 face-set-after-frame-defaults.
6817 (Vx_window_horizontal_drag_shape): New variable.
6818 (syms_of_xfns): DEFVAR_LISP it.
6819 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6820 enabled].
0dd5e255 6821
b5d8d2ca
GM
68222000-12-02 Simon Josefsson <simon@josefsson.org>
6823
6824 * fns.c (Fmd5): Use a different logic to decide the coding system
6825 to use.
6826
6827 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6828
fbb87147
EZ
68292000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6830
52283633 6831 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6832
447e9da0
GM
68332000-12-01 Gerd Moellmann <gerd@gnu.org>
6834
7708ced0
GM
6835 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6836 height for YNegative.
6837 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6838 height; also see comment there.
6839
447e9da0
GM
6840 * window.c (coordinates_in_window): Handle computations for
6841 positions on the vertical bar and fringes differently for
6842 window-system frames. Consider some pixels near the vertical bar
6843 as on the bar if the frame doesn't have vertical scroll bars.
6844 Associate positions between mode or header lines with the
6845 right window, the left one.
6846
86d1db20
JR
68472000-12-01 Jason Rumney <jasonr@gnu.org>
6848
6849 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6850
6851 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6852 invalid frame.
6853
a1d58e5b
GM
68542000-12-01 Gerd Moellmann <gerd@gnu.org>
6855
52283633 6856 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6857 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6858 (save_window_save, Fset_window_configuration): Save/restore
6859 window's orig_top and orig_height.
6860
89c609af
JR
68612000-12-01 Jason Rumney <jasonr@gnu.org>
6862
4d177746 6863 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6864
89c609af
JR
6865 * w32fns.c (x_set_cursor_color): Fix last change.
6866
eccc05db
GM
68672000-11-30 Gerd Moellmann <gerd@gnu.org>
6868
31b6671b
GM
6869 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6870 sure that the next redisplay displays the minibuffer, so that
6871 the cursor will be replaced with what the minibuffer wants.
6872
eccc05db
GM
6873 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6874 #ifndef instead of using #if.
6875 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6876 USE_TOOLKIT_SCROLL_BARS is defined.
6877
162de750
JR
68782000-11-30 Jason Rumney <jasonr@gnu.org>
6879
6880 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6881 x_display_cursor.
6882
693c4692
GM
68832000-11-30 Gerd Moellmann <gerd@gnu.org>
6884
6885 * fns.c (Fmd5): Doc fix.
6886
b5d8d2ca 68872000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6888
6889 * fns.c (Fmd5): New function.
6890 (syms_of_fns): Defsubr md5.
6891
6892 * Makefile.in (obj): Add md5.o
6893
b02cd40b
GM
68942000-11-30 Gerd Moellmann <gerd@gnu.org>
6895
edfb795e
GM
6896 * md5.h, md5.c: New files, taken from glibc.
6897
df3aedcf
GM
6898 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6899
b02cd40b 6900 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6901 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6902
8b5176cd
SM
69032000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6904
6905 * eval.c (Frun_hooks): Allow 0 arguments.
6906
346598f1
GM
69072000-11-29 Gerd Moellmann <gerd@gnu.org>
6908
f9396e03
GM
6909 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6910 is over the menu bar widget, say it's not on the frame.
6911
4a967a9b
GM
6912 * xfns.c (Fx_create_frame): Reintroduce the call to
6913 face-set-after-frame-defaults.
6914
346598f1
GM
6915 * eval.c (Fsignal): Reset handling_signal.
6916
222456a1
JR
69172000-11-28 Jason Rumney <jasonr@gnu.org>
6918
6919 * w32menu.c (add_menu_item): Reset menu item text when changing
6920 type to radio button.
6921
8049ddc0
GM
69222000-11-28 Gerd Moellmann <gerd@gnu.org>
6923
346598f1 6924 * xselect.c: Update copyright.
f4f4ee4d 6925
bebe4a2c
GM
6926 * window.c (coordinates_in_window): If on a mode or header line,
6927 but sufficiently close to its start, return ``on vertical
6928 border''. This gives us a way to drag windows horizontally when
6929 using toolkit scroll bars.
6930
6931 * xterm.c (note_mouse_highlight): Change the cursor shape
6932 on the vertical border between windows.
6933
6934 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6935
6936 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6937 (syms_of_xfns): DEFVAR_LISP it.
6938 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6939
8d2c2642
GM
6940 * textprop.c (text_read_only): New function.
6941 (verify_interval_modification): Use it instead of signaling
6942 `text-read-only'. This makes it easier to catch this error
52283633 6943 with a breakpoint.:
8d2c2642 6944
52283633 6945 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6946 not end of line, which includes CR.
6947
5a2bae6c
KH
69482000-11-28 Kenichi Handa <handa@etl.go.jp>
6949
6950 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6951 include no-conversion.
6952
ae31f84d
JR
69532000-11-27 Jason Rumney <jasonr@gnu.org>
6954
6955 * w32fns.c (w32_load_system_font): Always mark font as double byte
6956 if codepage is unicode.
6957
67f1cf4c
GM
69582000-11-27 Gerd Moellmann <gerd@gnu.org>
6959
4a74d071 6960 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6961 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6962
902ae620
GM
6963 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6964 `vertical-line', `mode-line' and `header-line' events.
6965
6966 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6967 of a character, a TAB for instance. This is easier than to set
6968 up the iterator exactly, and it's not a frequent case, so the
6969 additional effort wouldn't really pay off.
6970
c1e279c2
AC
69712000-11-26 Andrew Choi <akochoi@i-cable.com>
6972
67f1cf4c 6973 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6974 init_window_once.
6975
a609568a
JR
69762000-11-25 Jason Rumney <jasonr@gnu.org>
6977
52283633
SM
6978 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6979 Args to window_from_coordinates should be pixel coordinates.
48b21762 6980
a609568a
JR
6981 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6982 redisplay handles them properly.
6983
a658d039
MB
69842000-11-25 Miles Bader <miles@gnu.org>
6985
6986 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6987
d3416cca
JR
69882000-11-24 Jason Rumney <jasonr@gnu.org>
6989
6990 * w32.c (init_environment): Set LANG environment variable based on
6991 locale settings, if not set.
6992
6993 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6994 making tool bar smaller. When clearing the frame, also
6995 clear current matrices. Clear frame when tool bar disappears.
6996 Don't use more lines for the tool-bar than is available.
6997 (x_change_window_heights): New function.
6998
ba193890
GM
69992000-11-24 Gerd Moellmann <gerd@gnu.org>
7000
2be8f184
GM
7001 * xdisp.c (init_from_display_pos): If POS says we're already after
7002 an overlay string ending at POS, make sure to pop the iterator
7003 because it will be in front of that overlay string. When POS is
7004 ZV, we've thereby also ``processed'' overlay strings at ZV.
7005
ba193890
GM
7006 * xfaces.c (lface_from_face_name): Function comment fix.
7007
1862a24e
MB
70082000-11-24 Miles Bader <miles@gnu.org>
7009
7010 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7011 apply `mode-line-inverse-video' -- zero means force display using
7012 the default face, non-zero means display using the specialized face.
7013 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7014
f07fa1b8
KH
70152000-11-23 Kenichi Handa <handa@etl.go.jp>
7016
7017 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7018 hard coded `4'.
7019
2bcdf662
EZ
70202000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7021
7022 * coding.c (decode_coding_emacs_mule): Fix the case of
7023 CODING_EOL_LF, which used uninitialized value of c.
7024
ba8299ff
SM
70252000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7026
7027 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7028
f4117c4d
GM
70292000-11-22 Gerd Moellmann <gerd@gnu.org>
7030
03e757c1
GM
7031 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7032 buffer object.
7033
f4117c4d
GM
7034 * frame.h (struct frame): Replace desired_tool_bar_items,
7035 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7036 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7037
7038 * frame.c (make_frame): Change initialization of tool bar
7039 items accordingly.
7040
7041 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7042 Change references to members deleted from struct frame to use the
f4117c4d
GM
7043 new ones.
7044
7045 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7046 references to members deleted from struct frame to use the new ones.
f4117c4d 7047
52283633 7048 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7049
7050 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7051
7052 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7053 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7054 from struct frame to use the new ones.
7055
f8e2f3f2
MB
70562000-11-23 Miles Bader <miles@gnu.org>
7057
7058 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7059 the face's inverse-video attribute, rather than overriding it.
7060
60e8e0a5
GM
70612000-11-22 Gerd Moellmann <gerd@gnu.org>
7062
7063 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7064 making tool bar smaller.
7065
92dd1b29
DL
70662000-11-22 Dave Love <fx@gnu.org>
7067
7068 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7069
e672fdce
MB
70702000-11-22 Miles Bader <miles@gnu.org>
7071
3a17d6cc
MB
7072 * keyboard.c (Vminibuffer_message_timeout): New variable.
7073 (command_loop_1): Use it to determine message timeout.
7074 (syms_of_keyboard): Initialize it.
7075
60e8e0a5 7076 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7077
e9655d81
KH
70782000-11-22 Kenichi Handa <handa@etl.go.jp>
7079
7080 * sysdep.c: Move the code for declaring h_errno after #include
7081 <netdb.h>.
7082
77270fac
GM
70832000-11-21 Gerd Moellmann <gerd@gnu.org>
7084
cd913aae
GM
7085 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7086 the menu bar when the tooltip is unmapped.
7087
77270fac
GM
7088 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7089 sole visible buffer when we're currently in the mini-buffer, and
7090 give up if so.
52283633 7091
556635d6
JR
70922000-11-21 Jason Rumney <jasonr@gnu.org>
7093
7094 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7095 put on the clipboard.
7096 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7097 copy of what Emacs last put there. If they are the same, do not
52283633 7098 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7099
5b7bde64
MB
71002000-11-22 Miles Bader <miles@gnu.org>
7101
7102 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7103 (syms_of_minibuf): Initialize it.
7104 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7105 to prompt, don't make read-only.
7106
ff23e1dd
GM
71072000-11-21 Gerd Moellmann <gerd@gnu.org>
7108
52283633
SM
7109 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7110 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7111
7aaf4388
GM
7112 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7113
f5f47add 7114 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7115
ff23e1dd
GM
7116 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7117
37c35586
KH
71182000-11-21 Kenichi Handa <handa@etl.go.jp>
7119
7120 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7121 ... #endif scope.
7122
ff9ab414
GM
71232000-11-20 Gerd Moellmann <gerd@gnu.org>
7124
52283633 7125 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7126 screen supports it.
7127
29a01b72
GM
7128 * s/gnu-linux.h: Don't use `#cpu'.
7129
09dfdf85
GM
7130 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7131 not defined in mman.h.
7132
52283633 7133 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7134 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7135 and store an index in the XClientMessageEvent. Storing a
7136 Lisp_Object or pointer can fail on a 64 bit system, since X only
7137 transfers 32 bits.
52283633
SM
7138 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7139
81459ac9
DL
71402000-11-20 Dave Love <fx@gnu.org>
7141
7142 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7143
56c13ae6
GM
71442000-11-20 Gerd Moellmann <gerd@gnu.org>
7145
7146 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7147
495a6df3
KH
71482000-11-20 Kenichi Handa <handa@etl.go.jp>
7149
2bcf3714
KH
7150 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7151 by WIDTH.
7152
495a6df3
KH
7153 * alloc.c (make_string): Fix previous change. Be sure to make
7154 unibyte string correctly.
7155
6d950f4c
GM
71562000-11-19 Gerd Moellmann <gerd@gnu.org>
7157
39b39373
GM
7158 * window.c (Fwindow_list): Change parameter list to be XEmacs
7159 compatible.
7160 (window_list_1): New function.
7161 (window_loop): Use it instead of Fwindow_list.
7162
b95b34e5
GM
7163 * sysdep.c (emacs_ospeed): New variable.
7164 (toplevel): Don't declare ospeed extern.
7165 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7166
7167 * termcap.c (ospeed): Remove.
7168 (tputs) [!emacs]: Remove unused code.
7169 (tgetent): Avoid a compiler warning.
7170
e83dc917
GM
7171 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7172 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7173 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7174
7175 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7176 removed.
7177 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7178 Take the X display as additional argument.
7179 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7180 `Widget' is a pointer type that's not easily stored in Lisp_Object
7181 form in a portable way.
52283633 7182
6d950f4c
GM
7183 * dispnew.c (update_text_area): Fix last change.
7184
e47306e6
GM
71852000-11-18 Gerd Moellmann <gerd@gnu.org>
7186
fb3cd89b
GM
7187 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7188
7189 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7190 clear current matrices.
7191
edaa9aed
GM
7192 * buffer.c (mmap_enlarge): Don't print a message on stderr
7193 if mapping new memory at the end of the existing region fails.
7194
e47306e6
GM
7195 * dispnew.c (update_text_area): Don't skip over equal glyphs
7196 when the last current glyph overlaps the glyph to its right.
7197
509633e3
MB
71982000-11-18 Miles Bader <miles@gnu.org>
7199
7200 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7201 lines that *end* with "..." too (that's the most common case!).
7202
d392e9c5
GM
72032000-11-18 Gerd Moellmann <gerd@gnu.org>
7204
67988445
GM
7205 * xdisp.c (resize_mini_window): Temporarily change to the
7206 mini-window's buffer if necessary.
1bfdbe43 7207
d392e9c5
GM
7208 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7209 the tooltip obscures less text under it.
7210
72112000-11-17 Gerd Moellmann <gerd@gnu.org>
7212
7213 * puresize.h (BASE_PURESIZE): Increase to 700000.
7214
92bb977f
JR
72152000-11-18 Jason Rumney <jasonr@gnu.org>
7216
7217 * w32term.c (w32_draw_bitmap): Use face to set colors.
7218
26fbf20b
DL
72192000-11-17 Dave Love <fx@gnu.org>
7220
7221 * lread.c (Fload): Fix #ifdef for pcc.
7222
100b593b
GM
72232000-11-17 Gerd Moellmann <gerd@gnu.org>
7224
7225 * xdisp.c (pos_visible_p): Compute the default character height
7226 differently.
7227
a288d0d1
GM
72282000-11-16 Gerd Moellmann <gerd@gnu.org>
7229
cac94de6 7230 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7231 knowing the line's height; use the default font's height in that case.
cac94de6 7232
a288d0d1
GM
7233 * xfaces.c (weight_table): Add `demi' with the same meaning as
7234 `demibold'.
7235
981fb6f6
KH
72362000-11-16 Kenichi Handa <handa@etl.go.jp>
7237
2cca872d 7238 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7239 (clear_glyph_row): Delete local static variable null_row.
7240
e5fa381b
JR
72412000-11-15 Jason Rumney <jasonr@gnu.org>
7242
7243 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7244 (w32_alloc_lighter_color): Use new brightness calculations from
7245 xterm.c. Scale delta to be in the range expected by W32.
7246 (w32_draw_relief_rect): Use frame relief colors.
7247
8e42f043
GM
72482000-11-15 Gerd Moellmann <gerd@gnu.org>
7249
6d133d1f
GM
7250 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7251 (Qinhibit_default_face_x_resources): New variable.
7252 (syms_of_frame): Initialize it.
7253 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7254
7255 * xdisp.c (pos_visible_p): Improve function comment.
7256
7257 * lisp.h (BINDING_STACK_SIZE): New macro.
7258
8e42f043
GM
7259 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7260 reading the directory if readdir returns null and errno is EAGAIN
7261 or EINTR.
7262
e8c87124
SM
72632000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7264
7265 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7266 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7267 Set amount_to_scroll to max of dx and scroll_step so that
7268 scroll-conservatively doesn't defeat scroll-step>1.
7269 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7270 scroll-conservatively for line-at-a-time scrolling.
7271
5f0c971d
GM
72722000-11-14 Gerd Moellmann <gerd@gnu.org>
7273
7274 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7275 extra argument.
7276
7277 * xdisp.c (current_mode_line_height, current_header_line_height):
7278 New variables.
7279 (init_xdisp): Initialize them.
7280 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7281 and use exact mode line heights if it is set.
7282
7283 * lisp.h (pos_visible_p): Change prototype.
7284
7285 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7286 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7287 and current_header_line_height first.
52283633
SM
7288 (current_mode_line_height, current_header_line_height):
7289 Declare extern.
5f0c971d 7290
d7361edf
MB
72912000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7292
7293 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7294 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7295 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7296
ee5e440a
MB
72972000-11-14 Miles Bader <miles@gnu.org>
7298
7299 * xterm.c (x_alloc_lighter_color): Include an additive component
7300 too for dark colors, because FACTOR isn't enough.
7301 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7302 New macros.
7303
5ca020fc
GM
73042000-11-13 Gerd Moellmann <gerd@gnu.org>
7305
7306 * keyboard.c (show_help_echo): Call message3_nolog with number of
7307 bytes in the help string as 2nd parameter, instead of the number
7308 of characters.
7309
9d348294
MB
73102000-11-13 Miles Bader <miles@gnu.org>
7311
7312 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7313 (Fload): Use new openp return protocol.
7314 Don't try to use Vload_source_file_function to load .elc files.
7315 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7316 openp return protocol.
7317 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7318
1729bb9a
KH
73192000-11-11 Kenichi Handa <handa@etl.go.jp>
7320
4e677396
KH
7321 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7322
7323 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7324 Defined these macros.
7325 (NLIST_STRUCT): Avoid re-defining it.
7326
1729bb9a
KH
7327 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7328 -I/usr/contrib/X11R6/include.
7329 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7330
a82fe213
JR
73312000-11-10 Jason Rumney <jasonr@gnu.org>
7332
7333 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7334
7335 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7336 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7337
7338 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7339 (Qw32_charset_vietnamese): New symbol.
7340 (xlfd_charset_of_font): New function.
7341 (w32_load_system_font): Use it.
7342 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7343 when Vw32_charset_info_alist is nil to ensure default face always
7344 has font. Use Fcar and Fcdr for safety.
7345 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7346 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7347 pseudo-codepages for special cases.
7348 (w32_to_x_font): New parameter to allow charset portion to be
7349 specified where there is many to one mapping. Callers changed.
7350 (w32_list_fonts): Avoid listing fonts that won't display.
7351
52d89894
GM
73522000-11-10 Gerd Moellmann <gerd@gnu.org>
7353
7354 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7355 (font_list_1): Renamed from font_list.
7356 (font_list): New function, trying alternative registries from
7357 Vface_alternative_font_registry_alist.
7358 (Finternal_set_alternative_font_registry_alist): New function.
7359 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7360 Vface_alternative_font_registry_alist.
7361 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7362
651cd3da
KR
73632000-11-09 Ken Raeburn <raeburn@gnu.org>
7364
7365 * lisp.h (Flooking_at): Declare.
7366
388ac098
GM
73672000-11-09 Gerd Moellmann <gerd@gnu.org>
7368
778fbc46 7369 * dired.c (directory_files_internal): Fix a braino.
52283633 7370
388ac098
GM
7371 * dired.c (directory_files_internal): Add missing GCPRO's.
7372 Some cleanup.
7373
ecaedde1
GM
73742000-11-08 Gerd Moellmann <gerd@gnu.org>
7375
f7eb32aa
GM
7376 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7377 (resize_mini_window): Return quickly if Vresize_mini_window is
7378 nil. Don't return if Vmax_mini_window_height is nil.
7379
7380 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7381 (syms_of_xdisp): Initialize them.
7382 (resize_mini_window): Act according to the setting of
7383 Vresize_mini_window.
7384 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7385
ecaedde1
GM
7386 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7387 scroll bar widget after configuring it, so that it will appear at
7388 the right position from the start.
7389 (XTredeem_scroll_bar): Cleaned up.
7390
3747ef2c
KH
73912000-11-08 Kenichi Handa <handa@etl.go.jp>
7392
7393 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7394 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7395 division by two.
7396
7397 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7398
03391420
DL
73992000-11-07 Dave Love <fx@gnu.org>
7400
7758f1c1 7401 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7402
7403 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7404
b5de343d
GM
74052000-11-07 Gerd Moellmann <gerd@gnu.org>
7406
acad3c0b
GM
7407 * window.c (Fset_window_configuration): Don't try to preserve
7408 point in the current buffer, if that buffer is displayed in more
7409 than one window.
7410
b5de343d
GM
7411 * xfaces.c (lookup_named_face): If default face isn't realized,
7412 try to realize it. Return -1 if not successful.
7413 (Fx_list_fonts): Handle case that face cannot be determined.
7414 (Fface_font): Likewise.
7415
cdb1fe49
GM
74162000-11-06 Gerd Moellmann <gerd@gnu.org>
7417
7418 * window.c (displayed_window_lines): Detect partially
7419 visible lines at the bottom correctly.
7420
d3a67486
SM
74212000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7422
7423 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7424 when ensuring we don't do visit in indirect buffer.
7425
ff8dd5d5
KH
74262000-11-06 Kenichi Handa <handa@etl.go.jp>
7427
7428 * composite.h (compose_chars_in_text): Add prototype.
7429
7430 * composite.c (Vcomposition_function_table): New variable.
7431 (Qcomposition_function_table): New variable.
7432 (run_composition_function): Call
7433 Vcompose_chars_after_function with three arguments.
7434 (compose_chars_in_text): New function.
7435 (syms_of_composite): Modified the doc-string of
7436 Vcompose_chars_after_function. Declare composition-function-table
7437 as a lisp variable, and initialize it.
7438
7439 * xfns.c (x_encode_text): Suppress producing escape sequences for
7440 composition.
7441
7442 * xselect.c: Include composite.h.
7443 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7444
d1145f85
AI
74452000-11-05 Andrew Innes <andrewi@gnu.org>
7446
7447 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7448
7449 * sysdep.c (read_input_waiting): Remove extraneous argument to
7450 read_socket_hook.
7451
7452 * w32fns.c (Fx_server_version): Include w32_build_number in the
7453 return list.
7454
7455 * w32heap.c (w32_build_number): New variable.
7456 (cache_system_info): Set it.
7457
7458 * w32heap.h (w32_build_number): Add extern.
7459
7460 * emacs.c (syms_of_emacs): Update docstring for
7461 system-configuration, to reflect the actual usage on MS-Windows.
7462
e85ee976
GM
74632000-10-31 Gerd Moellmann <gerd@gnu.org>
7464
26dcb81b
GM
7465 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7466 process idle timers while waiting for another event.
7467
52283633 7468 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7469 the default face are colored.
7470
e85ee976
GM
7471 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7472 window height hasn't changed.
7473
01b220b6
JR
74742000-10-31 Jason Rumney <jasonr@gnu.org>
7475
7476 * w32term.c (x_produce_glyphs): Handle composite characters.
7477 (x_draw_glyph_string_foreground)
7478 (x_draw_composite_glyph_string_foreground): Restore old font.
7479
4e6b7204
MB
74802000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7481
7482 * minibuf.c (read_minibuf): Reset the undo history just before
7483 starting the recursive-edit.
7484
d4358b37
GM
74852000-10-30 Gerd Moellmann <gerd@gnu.org>
7486
563f68f1
GM
7487 * xfaces.c (menu_face_change_count): New variable.
7488 (Finternal_set_lisp_face_attribute): Increment it for changes
7489 of the `menu' face.
7490 (realize_basic_faces): Reflect changes in the `menu' faces
7491 in menu bars.
7492
82e274d1
GM
7493 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7494 dy obtained from the iterator's y-position after moving from
7495 scroll_margin_pos to PT; see comment there.
52283633 7496
0dbf9fd2
GM
7497 * xdisp.c (safe_eval_handler): Call add_to_log.
7498
906b3b14
GM
7499 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7500 is not a symbol or string.
7501
d4358b37
GM
7502 * xdisp.c (echo_area_display): Don't perform a display update from
7503 inside redisplay. The update will happen anyway at the end of
7504 redisplay, and it can confuse redisplay (GC messages while
7505 redisplaying, for instance.)
7506
70c825df
SM
75072000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7508
cf9b4b0b
SM
7509 * xrdb.c (x_load_resources): Use the class name in the defaults.
7510
70c825df
SM
7511 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7512 (regex_compile): Catch bogus \(\1\).
7513
a1d34b1e
GM
75142000-10-30 Gerd Moellmann <gerd@gnu.org>
7515
cae71efe
GM
7516 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7517 RGB values.
52283633 7518
35efe0a1
GM
7519 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7520 we have a color cache, check that the cached color equals the
7521 allocated color. If not, clear the color cache.
7522
1d3baf74
GM
7523 * window.c (displayed_window_lines): Change buffers if necessary.
7524 Fix computation of displayed lines.
7525
a1d34b1e
GM
7526 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7527 update_menu_bindings to DEFVAR_BOOL.
7528
70737ea9
KH
75292000-10-30 Kenichi Handa <handa@etl.go.jp>
7530
70c825df 7531 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7532
fa0cb51d
KH
7533 * puresize.h (BASE_PURESIZE): Increase to 680000.
7534
70737ea9
KH
7535 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7536
0e4c08e8
JR
75372000-10-29 Jason Rumney <jasonr@gnu.org>
7538
7539 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7540
7541 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7542 (w32_cache_char_metrics): Handle possibility that 'x' does not
7543 exist in a BDF font.
7544 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7545
7546 * w32bdf.h (bdffont): Add nchars.
7547
7548 * w32bdf.c (set_bdf_font_info): Set it.
7549 (w32_BDF_TextOut): Swap byte order of double byte characters.
7550 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7551
45b84006
EZ
75522000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7553
7554 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7555 don't override the colors in frame's param_alist, unless they are
7556 unspecified.
7557
7558 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7559 reverse the effect of the highlight flag.
7560
caf9deee
KR
75612000-10-27 Ken Raeburn <raeburn@gnu.org>
7562
7563 * window.h (Fwindow_live_p): Declare.
7564
ae0b9b46
KR
7565 * undo.c (record_delete): Check that last_undo_buffer is really a
7566 buffer before applying XBUFFER to it.
7567
7568 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7569 Faref.
7570
02067692
SM
75712000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7572
7573 * lisp.h (KEYMAPP): New macro.
7574 (get_keymap): Remove.
7575 (get_keymap_1): Rename get_keymap.
7576
7577 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7578
7579 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7580
7581 * xmenu.c (single_submenu): Use KEYMAPP.
7582 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7583 Use KEYMAPP rather than Fkeymapp.
7584
7585 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7586
7587 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7588 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7589 Use KEYMAPP rather than Fkeymapp.
7590 (single_submenu): Use KEYMAPP.
7591 (w32_menu_show, w32_dialog_show): Use TRUE.
7592
7593 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7594
7595 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7596 (Fkeymapp): Use KEYMAPP.
7597 (get_keymap): Rename from get_keymap_1. Remove old def.
7598 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7599 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7600 (Fminor_mode_key_binding): Don't raise an error if the binding
7601 is not a keymap.
7602 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7603 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7604
7605 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7606 Allow Vspecial_event_map to be autoloaded.
7607 (menu_bar_items): Fetch the keymap rather than using keymapp.
7608 (menu_bar_one_keymap): No need to follow func-indirect any more.
7609 (parse_menu_item): get_keymap_1 -> get_keymap.
7610 (tool_bar_items): Fetch the keymap rather than using keymapp.
7611 (read_key_sequence): Use KEYMAPP.
7612
7613 * intervals.c (get_local_map): Use get_keymap rather than following
7614 function-indirections explicitly.
7615
7616 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7617
f9d80af3
JR
76182000-10-27 Jason Rumney <jasonr@gnu.org>
7619
7620 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7621 point, as Windows has oversized fonts.
7622
7623 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7624
a3ba27da
GM
76252000-10-27 Gerd Moellmann <gerd@gnu.org>
7626
7627 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7628 (freehook, reallochook): Handle null pointer arguments.
7629 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7630
aa3b80cc
SM
76312000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7632
7633 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7634 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7635 Giving in to popular pressure to shut up the compiler with casts.
7636
e24e84cc
GM
76372000-10-27 Gerd Moellmann <gerd@gnu.org>
7638
7639 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7640 signed value, and use a default value computed from the font's
7641 maximum descent.
7642
05ea7ef2
MB
76432000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7644
7645 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7646 that specify a negative underline position can still use underlines.
7647
7648 * window.c (Fpos_visible_in_window_p): Make POS default to
7649 WINDOW's point, not the current buffer's point.
7650
0b95284b
DL
76512000-10-26 Dave Love <fx@gnu.org>
7652
7653 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7654 when it's necessary.
7655
6c5b90af
GM
76562000-10-26 Gerd Moellmann <gerd@gnu.org>
7657
8b6d9dc9
GM
7658 * window.c (size_window): Compute size difference from sum of old
7659 child window sizes instead of from parent's size.
7660
6bc92b2e
GM
7661 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7662 Handle obscured lines at the top of the window.
7663
7664 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7665 down after the last error condition check.
7666
6c5b90af
GM
7667 * frame.c (Fdelete_frame): Run delete-frame-hook.
7668
42f92d4d
KH
76692000-10-26 Kenichi Handa <handa@etl.go.jp>
7670
7671 * coding.c (decode_coding): Fix previous change (check also
7672 CODING_MODE_LAST_BLOCK).
7673
d97151cb
SM
76742000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7675
e7efc503
SM
7676 * regex.c: More `unsigned char' -> `re_char' changes.
7677 Also change several `int' into `re_wchar_t'.
7678 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7679 (PUSH_FAILURE_POINTER): Don't cast any more.
7680 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7681 We want GCC to complain, since this piece of code makes
7682 re_match non-reentrant, which *should* be fixed.
7683 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7684 (EXTEND_BUFFER): Use RETALLOC.
7685 (SET_LIST_BIT): Don't cast.
7686 (re_wchar_t): New type.
7687 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7688 that those two functions will always properly return.
7689 (IMMEDIATE_QUIT_CHECK): Cast to void.
7690 (analyse_first): Use recursion rather than an explicit stack.
7691 (re_compile_fastmap): Can't fail anymore.
7692 (re_search_2): Don't check re_compile_fastmap for failure.
7693 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7694 Now also sets the new value (passed in a new argument).
7695 (re_match_2_internal): Use it.
7696 Also, use a new var `reg' of type size_t when looping through regs
7697 rather than reuse the inappropriate `mcnt'.
7698
d97151cb
SM
7699 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7700 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7701 (where_is_internal): Renamed from Fwhere_is_internal.
7702 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7703 (Fwhere_is_internal): New function wrapping where_is_internal.
7704 (where_is_internal_1): Handle the case where we're filling the cache.
7705 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7706
d5789b65
MB
77072000-10-25 Miles Bader <miles@gnu.org>
7708
7709 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7710
4ecda532
GM
77112000-10-25 Gerd Moellmann <gerd@gnu.org>
7712
7713 * window.c (pos_fully_visible_p): Removed.
7714 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7715 if position is visible and/or fully visible.
7716
7717 * lisp.h (pos_visible_p): Add prototype.
7718
7719 * xdisp.c (pos_visible_p): New function.
7720
68c3a137
KH
77212000-10-25 Kenichi Handa <handa@etl.go.jp>
7722
7723 * process.c (send_process): If OBJECT is t, it means that the data
7724 is from C string, but we should encode it. Before calling
7725 setup_raw_text_coding_system, be sure to flush out data by the
7726 previous coding system.
7727
7ae1c032
MB
77282000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7729
ff4dcd4b
MB
7730 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7731 assignment of startpos to prev when startpos == pos.
7732
7ae1c032
MB
7733 * editfns.c (find_field): Set the field stickiness correctly from
7734 overlay fields. Use renamed `text_property_stickiness'.
7735 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7736 Only check text properties, not overlays.
7ae1c032
MB
7737 * textprop.c (get_char_property_and_overlay): New function.
7738 (Fget_char_property): Use it.
7739 * intervals.h (get_char_property_and_overlay): Add declaration.
7740
49801145
SM
77412000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7742
7743 * keymap.c: Use AREF, ASET and ASIZE macros.
7744 (Fmake_sparse_keymap): Docstring fix.
7745 (synkey): Remove.
7746 (shadow_lookup): Move up.
7747 Handle the case where lookup-key returns an integer.
7748 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7749 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7750 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7751 Simplify/rewrite the keymap-finding code.
7752 Add check for command shadowing, using shadow_lookup.
7753
39e776cd
SM
77542000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7755
7756 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7757 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7758 a symbol.
7759
2488aba5
AI
77602000-10-24 Andrew Innes <andrewi@gnu.org>
7761
7762 * dired.c (directory_files_internal_unwind): New function.
7763 (directory_files_internal): Use it to ensure closedir is called
7764 even if expand-file-name or file-attributes throw, eg. because of
7765 a user interrupt. Also enable immediate_quit while calling
7766 re_search, so that matching can be interrupted as well.
7767
b94fdf61
AI
77682000-10-24 Andrew Innes <andrewi@gnu.org>
7769
7770 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7771 NT-Emacs only.
7772 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7773 so that re_search functions only quit when callers expect them to.
7774
77752000-10-24 Kenichi Handa <handa@etl.go.jp>
7776
7777 * regex.c (regex_compile): Change the way of handling a range from
7778 a char less than 256 to a char not less than 256.
7779
1946f901
GM
77802000-10-24 Gerd Moellmann <gerd@gnu.org>
7781
7ae2f10f
GM
7782 * window.c (size_window): Prevent setting window's width or
7783 height to a negative value (esp. with XSETFASTINT).
7784
5dcab13e
GM
7785 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7786 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7787 (protect_malloc_state) [GC_MALLOC_CHECK &&
7788 GC_PROTECT_MALLOC_STATE]: New function.
7789 (PROTECT_MALLOC_STATE): New macro.
7790 (__malloc_initialize, morecore, _malloc_internal)
7791 (_free_internal) _realloc_internal): Use it to make _heapinfo
7792 read-only outside of gmalloc.
7793
63e1b552
GM
7794 * keymap.c: Update copyright.
7795
1946f901
GM
7796 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7797 a symbol.
7798
4fa09beb
GM
77992000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7800
7801 * filelock.c (unlock_all_files): Use unlock_file to expand each
7802 buffer's file_truename before trying remove its lock file.
7803
23afac01
EZ
78042000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7805
7806 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7807 or CRLF, decode EOLs.
7808
04448b95
KH
78092000-10-24 Kenichi Handa <handa@etl.go.jp>
7810
7811 * window.c (Fdisplay_buffer): Fix doc.
7812
3090a5a5
JR
78132000-10-23 Jason Rumney <jasonr@gnu.org>
7814
7815 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7816 ASCII font of default fontset on Windows.
7817
7818 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7819 xterm.c comment below).
7820
7821 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7822
a83fee2c
GM
78232000-10-23 Gerd Moellmann <gerd@gnu.org>
7824
7825 * xterm.c (x_connection_closed): Reset handling_signal.
7826
52283633 7827 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7828
6ffdb539
MB
78292000-10-23 Miles Bader <miles@gnu.org>
7830
7831 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7832 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7833 maintain old behavior.
7834 * minibuf.c (Fminibuffer_complete): Likewise.
7835
7f1c969b
MB
78362000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7837
7838 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7839 that when a font can't be exactly centered, it errs up rather than
7840 down.
7841
23afac01 78422000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7843
52283633 7844 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7845
1a578e9b
AC
78462000-10-23 Andrew Choi <akochoi@i-cable.com>
7847
7848 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7849
7850 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7851 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7852
7853 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7854 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7855 syms_of_search, x_term_init, and init_keyboard before calling
7856 init_window_once. Also, call syms_of_xmenu.
7857
7858 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7859 default fontset to Monaco.
7860
7861 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7862 NewMacWindow and DisposeMacWindow.
7863 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7864 instead of calling NewMacWindow and setting fields of
7865 f->output_data.mac directly. Call init_frame_faces.
7866 (Fdelete_frame) [macintosh]: Remove unused code.
7867 (Fmodify_frame_parameters) [macintosh]: Call
7868 x_set_frame_parameters instead of mac_set_frame_parameters.
7869
7870 * frame.h [macintosh]: Define menu_bar_lines field in struct
7871 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7872
7873 * keyboard.c [macintosh]: Include macterm.h.
7874 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7875 and menu_bar_activate_event type events as for X and NT.
7876 (make_lispy_event) [macintosh]: Construct lisp events of type
7877 MENU_BAR_EVENT as for X and NT.
7878
7879 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7880 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7881 (sys_subshell) [macintosh]: Remove definition entirely.
7882 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7883 Vwindow_system_version here. Remove initialization of
7884 Vx_bitmap_file_path.
7885 (read_input_waiting): Correct the number of parameters passed to
7886 read_socket_hook.
7887 Move all Macintosh functions to mac/mac.c.
7888
7889 * term.c [macintosh]: Include macterm.h.
7890
7891 * window.c [macintosh]: Include macterm.h.
7892
7893 * xdisp.c [macintosh]: Include macterm.h. Declare
7894 set_frame_menubar and pending_menu_activation.
7895 (echo_area_display) [macintosh]: Do not return if terminal frame
7896 is the selected frame.
7897 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7898 Allow only the selected frame to set menu bar.
7899 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7900 calling FRAME_EXTERNAL_MENU_BAR (f).
7901 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7902
7903 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7904 and check_x. Declare XCreateGC. Define x_create_gc and
7905 x_free_gc. Initialize font_sort_order.
7906 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7907 but call x_list_fonts instead of w32_list_fonts.
7908 (Finternal_face_x_get_resource) [macintosh]: Do not call
7909 display_x_get_resource.
7910 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7911 (realize_x_face) [macintosh]: Load the font if it is specified in
7912 ATTRS.
52283633 7913 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7914
1ffbabe3
SM
79152000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7916
7917 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7918 is nil: since we go to the end of submap anyway, we'd end up
7919 setting nil to nil.
7920 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7921 doesn't obey autoload.
7922
bed43f1d
EZ
79232000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7924
1ffbabe3 7925 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7926
ea4233a7
JR
79272000-10-21 Jason Rumney <jasonr@gnu.org>
7928
7929 * w32term.c (w32_cache_char_metrics): Double check that font is
7930 really fixed pitch before trusting tmPitchAndFamily.
7931
f3d3c491
AI
79322000-10-21 Andrew Innes <andrewi@gnu.org>
7933
7934 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7935
7936 * w32term.h: Extern decl for w32_cache_char_metrics.
7937
7938 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7939
7940 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7941 (w32_unload_font): Free per_char array if present.
7942
7943 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7944 cached information in emulated XFontStruct to handle common cases
7945 quickly. Do not allocate XCharStruct for return.
7946 (w32_native_per_char_metric): New function.
7947 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7948 allocating one.
7949 (x_produce_glyphs): Don't get an HDC. Change calls to
7950 w32_per_char_metric to match arg change above. Remove calls to
7951 free results.
7952 (w32_get_glyph_overhangs): Ditto.
7953 (w32_cache_char_metrics): New function.
7954
7955 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7956 ($(BLD)/casefiddle.$(O)): Remove compile command.
7957 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7958 ($(BLD)/dispnew.obj):
7959 ($(BLD)/keyboard.obj):
7960 ($(BLD)/w32inevt.obj):
7961 ($(BLD)/w32bdf.obj):
7962 ($(BLD)/alloc.obj):
7963 ($(BLD)/buffer.obj):
7964 ($(BLD)/editfns.obj):
7965 ($(BLD)/emacs.obj):
7966 ($(BLD)/fileio.obj):
7967 ($(BLD)/fns.obj):
7968 ($(BLD)/indent.obj):
7969 ($(BLD)/insdel.obj):
7970 ($(BLD)/intervals.obj):
7971 ($(BLD)/minibuf.obj):
7972 ($(BLD)/print.obj):
7973 ($(BLD)/scroll.obj):
7974 ($(BLD)/sysdep.obj):
7975 ($(BLD)/textprop.obj):
7976 ($(BLD)/widget.obj):
f3d3c491
AI
7977 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7978 ($(BLD)/term.obj): Add dependency on dispextern.h.
7979
52283633
SM
7980 * makefile.nt ($(BLD)\dispnew.obj):
7981 ($(BLD)\keyboard.obj):
7982 ($(BLD)\w32inevt.obj):
7983 ($(BLD)\w32bdf.obj):
7984 ($(BLD)\alloc.obj):
7985 ($(BLD)\buffer.obj):
7986 ($(BLD)\editfns.obj):
7987 ($(BLD)\emacs.obj):
7988 ($(BLD)\fileio.obj):
7989 ($(BLD)\fns.obj):
7990 ($(BLD)\indent.obj):
7991 ($(BLD)\insdel.obj):
7992 ($(BLD)\intervals.obj):
7993 ($(BLD)\minibuf.obj):
7994 ($(BLD)\print.obj):
7995 ($(BLD)\scroll.obj):
7996 ($(BLD)\sysdep.obj):
7997 ($(BLD)\textprop.obj):
7998 ($(BLD)\widget.obj):
f3d3c491
AI
7999 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8000 ($(BLD)\term.obj): Add dependency on dispextern.h
8001
18ad4821
EZ
80022000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8003
8004 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8005 with an additional argument of Qt.
8006
de54681a
MB
80072000-10-21 Miles Bader <miles@gnu.org>
8008
8009 * window.c (pos_fully_visible_in_window_p): New function.
8010 (Fpos_visible_in_window_p): Add FULLY argument.
8011 Use pos_fully_visible_in_window_p.
8012 (window_scroll_pixel_based, window_scroll_line_based): Update
8013 calls to Fpos_visible_in_window_p.
8014 * lisp.h (Fpos_visible_in_window_p): Update prototype
8015
13c844fb
GM
80162000-10-20 Gerd Moellmann <gerd@gnu.org>
8017
8018 * alloc.c (toplevel): Conditionalize compilation of mem_*
8019 functions differently.
52283633 8020
d9506268
JR
80212000-10-20 Jason Rumney <jasonr@gnu.org>
8022
8023 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8024 mem_init where it used to be. mem_z etc not defined otherwise.
8025
8094989b
GM
80262000-10-20 Gerd Moellmann <gerd@gnu.org>
8027
8028 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8029 GC_MALLOC_CHECK.
8030 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8031 structure definition and related variabled to the top of the file.
8032 Include this code when GC_MALLOC_CHECK is defined.
8033 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8034 register/unregister allocated region.
8035 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8036 which isn't allocated.
8037 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8038 something which is already in use.
8039 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8040 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8041 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8042 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8043
8044 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8045 _malloc_internal instead of malloc.
8046 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8047 of free.
8048
ea456eb4
AI
80492000-10-20 Andrew Innes <andrewi@gnu.org>
8050
8051 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8052 Windows.
8053 (my_strftime) <macro>: Don't use macro arg list when redefining as
8054 _strftime_copytm.
8055 (my_strftime) <function>: Supply 0 as ut argument.
8056
e64c3a75
JR
80572000-10-19 Jason Rumney <jasonr@altavista.net>
8058
8059 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8060 including dispextern.h, as it stops faces from working.
8061
8062 * w32fns.c (Fx_create_frame): Don't bother calling
8063 face-set-after-frame-default since the caller does it for us
8064 anyway. Clean up calls to x_get_arg to be consistent with X.
8065
8066 * w32term.c (x_produce_glyphs): Handle
8067 unibyte_display_via_language_environment correctly.
8068 (w32_draw_box_rect): Fix the calculation of width and height.
8069
8070 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8071 as it has stopped working.
8072 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8073 menu-bar.
8074
17401c97
GM
80752000-10-19 Gerd Moellmann <gerd@gnu.org>
8076
8077 * eval.c (skip_debugger): Prevent a compiler warning.
8078 (Fcondition_case): Likewise.
8079 (Fbacktrace_frame): Use a null interactive spec.
8080
773272d8
KH
80812000-10-19 Kenichi Handa <handa@etl.go.jp>
8082
8083 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8084
a42943e9
GM
80852000-10-18 Gerd Moellmann <gerd@gnu.org>
8086
e50517d9
GM
8087 * strftime.c: Sync with glibc, file version 1.78.
8088 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8089 should no longer be used according to ISO 8601.
8090
9035a35a
GM
8091 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8092 no map for meta_prefix_char, don't try to use it as a keymap.
8093 Instead, if T_OK is non-zero, look up a default binding, if any,
8094 otherwise, if T_OK is zero, return nil.
8095
a42943e9
GM
8096 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8097 (x_to_xcolors, png_load): Use x_query_color.
8098
52283633
SM
8099 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8100 New functions.
a42943e9
GM
8101 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8102 which can be slow.
8103 (x_copy_color, x_alloc_lighter_color): Likewise.
8104
8105 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8106 (x_query_color, x_query_colors): Add prototype.
8107
8108 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8109 check_string_bytes only if not noninteractive, increase count to 50.
8110
00de2987
MB
81112000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8112
8113 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8114 markers correctly.
8115
54918e2b
GM
81162000-10-17 Gerd Moellmann <gerd@gnu.org>
8117
1f0b3fd2
GM
8118 * alloc.c (pure_bytes_used): Renamed from pureptr.
8119 (ALIGN): New macro.
8120 (pure_alloc): New function.
8121 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8122 Use it.
8123 (Fpurecopy): Use PURE_POINTER_P.
8124
68c5d1db
GM
8125 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8126 PT has moved backward.
52283633 8127
9a038881
GM
8128 * xdisp.c (cursor_row_p): Take continued lines into account.
8129
361b097f
GM
8130 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8131 string's size_byte.
8132 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8133 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8134 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8135 string allocated.
8136
54918e2b
GM
8137 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8138 of selective display off while searching for the next line start.
8139
03ed0806
KH
81402000-10-17 Kenichi Handa <handa@etl.go.jp>
8141
8142 * Makefile.in (term.o): Depend on dispextern.h.
8143
7e05cdaf
SM
81442000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8145
8146 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8147
a6801fd1
GM
81482000-10-16 Gerd Moellmann <gerd@gnu.org>
8149
483de32b
GM
8150 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8151 the iterator at the beginning, so that they can be set later on,
8152 for instance in reseat_at_next_visible_line_start, without being
8153 overwritten.
8154
a6801fd1
GM
8155 * xfns.c (pbm_format): Add :foreground and :background keywords.
8156 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8157 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8158
dbf1fcc1
EZ
81592000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8160
8161 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8162
52283633 8163 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8164
8165 * msdos.c (IT_set_face): Compare highlighted face with the default
8166 face, and invert colors if these faces' colors are identical.
8167 (Fmsdos_remember_default_colors): Don't swap foreground and
8168 background colors in initial_colors[].
8169 (IT_set_frame_parameters): Don't swap frame's foreground and
8170 background pixels. If ALIST includes "(reverse . t)", swap
8171 foreground-color and background-color properties in frame's
8172 param_alist. If the original frame's param_alist doesn't specify
8173 the colors, store unspecified-fg and unspecified-bg, reversed if
8174 required.
8175
8176 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8177 the colors are unspecified and reversed, reverse fore- and back-
8178 ground in the returned value.
8179 (Fframe_parameter): Ditto.
8180
b41fe2c3 81812000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8182
3a6b59d9
GM
8183 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8184 get_last_unchanged_at_beg_row.
8185 (find_first_unchanged_at_end_row): Renamed from
8186 get_first_unchanged_at_end_row.
8187 (find_first_unchanged_at_end_row): Convert assertions to
8188 unconditional tests which abort. When looking for a row in
8189 unchanged text, don't go further back than first_text_row.
8190
b41fe2c3
GM
8191 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8192 Don't add in the last line's height when deciding if the new
8193 position is below the scroll margin.
9d1af64f 8194
b41fe2c3 81952000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8196
8197 * editfns.c (Fconstrain_to_field): Check carefully for field
8198 boundaries if either OLD_POS or NEW_POS has a non-nil field
8199 property, even if they're the same.
8200
c412cb7b
KH
82012000-10-16 Kenichi Handa <handa@etl.go.jp>
8202
8203 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8204 height for XFillRectangle.
8205
5586f3eb
SM
82062000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8207
8208 * syntax.c (Fstring_to_syntax): New function extracted from
8209 Fmodify_syntax_entry.
8210 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8211 (skip_chars, Fforward_comment): Remove unused variables.
8212 (syms_of_syntax): Add defsubr for string-to-syntax.
8213 (describe_syntax): Add code for comment and string fences.
8214
db785038
SM
82152000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8216
8217 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8218 Do the meta->esc mapping. Call get_keyelt before returning.
8219 Start scanning from the second element (the first is always `keymap')
8220 to make it easier to detect when we reach a parent map.
8221 Handle the case of inheriting from a symbol whose function is a map.
8222 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8223 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8224 (get_keyelt, Flookup_key): Update call to access_keymap.
8225 Remove the meta->esc mappings.
8226 (define_as_prefix): Delete old disabled code.
8227 (menu_item_p): New function.
8228 (where_is_internal_1): Skip over the few remaining menu items.
8229 * lisp.h (access_keymap): Update prototype.
8230 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8231 Update call to access_keymap.
8232 (follow_key, read_key_sequence): Update calls to access_keymap.
8233 Remove the meta->esc mappings.
8234
cafafe0b
GM
82352000-10-13 Gerd Moellmann <gerd@gnu.org>
8236
a2e2a7f6
GM
8237 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8238 with additional argument.
8239
cafafe0b
GM
8240 * xdisp.c (cursor_row_p): New function.
8241 (try_cursor_movement, display_line): Use it.
52283633 8242
cafafe0b
GM
8243 * xdisp.c (append_space): Also save/restore iterator's current
8244 character and its length.
8245
8246 * xdisp.c (init_from_display_pos): Add an assertion.
8247 (handle_stop): Don't set iterator's add_overlay_start.
8248 (handle_invisible_prop): Likewise.
8249 (load_overlay_strings): If text under an overlay is invisible,
8250 take both before- and after-strings into account when the iterator
8251 is positioned either at the start or at the end of the overlay.
8252 (forward_to_next_line_start): Rewritten.
8253 (reseat_at_next_visible_line_start): Rewritten.
8254 (set_iterator_to_next): Add parameter RESEAT_P.
8255
8256 * dispextern.h (struct it): Remove member add_overlay_start.
8257 (set_iterator_to_next): Change prototype.
8258
c744452b
KH
82592000-10-13 Kenichi Handa <handa@etl.go.jp>
8260
8261 * coding.c (code_convert_region): Be sure to initialize
8262 coding->category_idx.
e4a3f4e1
KH
8263 (decode_coding_string): Set coding->src_multibyte and
8264 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8265 (encode_coding_string): Set coding->src_multibyte and
8266 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8267
321fd26f
SM
82682000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8269
8270 * xfns.c (Fx_create_frame): Don't bother calling
8271 face-set-after-frame-default since the caller does it for us anyway.
8272
76832439
EZ
82732000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8274
8275 * window.c (coordinates_in_window): Fix detection of vertical line
8276 on character terminals.
8277
2483cf58
GM
82782000-10-12 Gerd Moellmann <gerd@gnu.org>
8279
8280 * editfns.c (save_excursion_save): Additionally record the
8281 selected window.
8282 (save_excursion_restore): If buffer was visible in a window, and a
8283 different window was selected, and the old selected window is
8284 still live, restore point in that window.
8285
eb991b25
KH
82862000-10-12 Kenichi Handa <handa@etl.go.jp>
8287
8a0eba09
KH
8288 * xterm.c (x_produce_glyphs): Handle
8289 unibyte_display_via_language_environment correctly.
8290
20401fcc
KH
8291 * regex.c (regex_compile): Change the way of handling a range from
8292 unibyte char to multibyte char.
8293
8294 * syntax.c (skip_chars): Change the way of handling a range from
8295 unibyte char to multibyte char.
8296
eb991b25
KH
8297 * process.c (read_process_output): Cancel previous change.
8298
365dd325
EZ
82992000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8300
c1b096cb
EZ
8301 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8302
365dd325
EZ
8303 * charset.c (Ffind_charset_string): Doc fix.
8304 (Ffind_charset_region): Doc fix.
8305
eb483c2b
KH
83062000-10-11 Kenichi Handa <handa@mule.m17n.org>
8307
8308 * process.c (read_process_output): Fix previous change. Adjust
8309 multibyteness of text to insert in a buffer by
52283633 8310 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8311
b40bfb99
AS
83122000-10-10 Andreas Schwab <schwab@suse.de>
8313
8314 * alloc.c (mark_object): Remove all workarounds installed on
8315 1993-08-08.
8316
caff31d4
KH
83172000-10-10 Kenichi Handa <handa@etl.go.jp>
8318
52283633 8319 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8320 (base64_encode_1): Make it work for a text of multibyte form.
8321 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8322 case. Don't call str_to_multibyte because base64_decode_1
8323 produces correct multibyte form for eight-bit codes.
52283633 8324 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8325 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8326 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8327 codes.
8328
8329 * charset.h (CHAR_STRING): Optimized for single byte characters.
8330
cba026ef
AS
83312000-10-09 Andreas Schwab <schwab@suse.de>
8332
8333 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8334 -1 after socket is closed, to fall through to error processing.
8335
1e21fe48
EZ
83362000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8337
8338 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8339 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8340 background-color, change also the colors of the default face for
8341 this frame.
8342
a640322e
EZ
83432000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8344
8345 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8346 them extern (they are defined on xfaces.c).
8347 (syms_of_msdos): Don't intern and don't staticpro
8348 Qbackground_color and Qforeground_color.
8349
a115794c
EZ
83502000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8351
8352 * frame.c (Fframe_parameter): For non-windowed frames, if
8353 f->param_alist says foreground or background color is unspecified,
8354 call tty_color_name to return the color name computed from the
8355 frame's current colors.
8356
f5533b63
DL
83572000-10-06 Dave Love <fx@gnu.org>
8358
8359 * terminfo.c (ospeed): Don't declare.
8360
8361 * sysdep.c: Don't include string.h.
8362 (h_errno): Declare conditional also on TRY_AGAIN.
8363
8364 * charset.c (Ffind_charset_string): Doc fix.
8365
52283633 8366 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8367 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8368 error messages.
8369
2b06561a
DL
83702000-10-05 Dave Love <fx@gnu.org>
8371
8372 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8373 position like menu-bar.
8374
ca839c85
GM
83752000-10-05 Gerd Moellmann <gerd@gnu.org>
8376
8377 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8378
8379 * xdisp.c (handle_single_display_prop): Use safe_call1.
8380 (safe_call): Renamed from call_function.
8381 (safe_call1): New function.
8382 (handle_fontified_prop): Use safe_call1 instead of call1.
8383 (safe_eval): Renamed from eval_form.
8384 (safe_eval_handler): Renamed from eval_handler.
8385 (handle_single_display_prop, display_mode_element): Use safe_eval
8386 instead of eval_form.
8387
8388 * xfaces.c (merge_face_heights): Use safe_call instead of
8389 call_function.
8390
8391 * keyboard.c (show_help_echo): Use safe_call instead of
8392 call_function; use safe_eval instead of eval_form.
8393
8394 * lisp.h (safe_call): Renamed from call_function.
8395 (safe_eval): Renamed from eval_form.
8396 (safe_call1): Add prototype.
8397
a3489ece
MB
83982000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8399
8400 * xfns.c (image_ascent): Rearrange ascent calculation for the
8401 has-a-font case.
8402
35810b6f
SM
84032000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8404
8405 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8406 (where_is_internal_1): Don't bother ignoring menu-items any more.
8407
3dc78168
GM
84082000-10-04 Gerd Moellmann <gerd@gnu.org>
8409
8410 * keyboard.c (update_menu_bindings): New variable.
8411 (parse_menu_item): Use AREF. If update_menu_bindings
8412 is 0, don't update menu bindings.
8413 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8414
1efc2bb9
EZ
84152000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8416
8417 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8418 to `mark_object'.
8419
3f679f55
SM
84202000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8421
8422 * syntax.c (forw_comment): Match nestedness of ender/starter.
8423 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8424 (prev_char_comstart_first): Remove.
8425 (back_comment): Check two-char comment markers more carefully
8426 to better handle overlapping cases like *//* or /* */* */ ...
8427 Match nestedness of ender/starter.
8428
2021ab61
DL
84292000-10-02 Dave Love <fx@gnu.org>
8430
8431 * config.in (HAVE_GAI_STRERROR): Add undef.
8432
8433 * process.c (Fopen_network_stream): Use it.
8434
8435 * m/alpha.h (NO_REMAP): Don't define.
8436
64e6cc18
GM
84372000-10-02 Gerd Moellmann <gerd@gnu.org>
8438
8439 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8440 return with a string converted to an integer or vice versa when
8441 Vmocklisp_arguments is t.
8442 (Fsignal): Likewise. The function can return for `quit'.
8443 (struct gcpro): Declare member `var' to point to a volatile
8444 Lisp_Object.
8445
8446 * eval.c (error): Prevent compiler warning.
8447
b1904cd9
SM
84482000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8449
8450 * keymap.c (keymap_memberp): New function.
8451 (Fset_keymap_parent): Use it.
8452 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8453 Use keymap_memberp to avoid creating cycles.
8454 (access_keymap): Use KEYMAPP.
8455
71c9ec51
GM
84562000-09-30 Gerd Moellmann <gerd@gnu.org>
8457
8458 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8459 gai_strerror. Make sure xerrno is set if connect fails. Improve
8460 error recovery.
71c9ec51 8461
c70c6b58
JR
84622000-09-29 Jason Rumney <jasonr@gnu.org>
8463
8464 * w32term.c (w32_char_font_type, w32_encode_char)
8465 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8466 (w32_bdf_per_char_metric): New function.
8467 (w32_per_char_metric): Use it.
8468 (x_draw_glyph_string_background): Always draw background for BDF
8469 glyphs.
8470
8471 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8472 GDI object which is a scarce resource.
8473
8474 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8475 (get_quoted_string): Fix limit on memchr search.
8476 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8477 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8478 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8479 (get_cached_font_char, cache_char_offset): Use macro
8480 BDF_CODEPOINT_RANGE_COVER_P.
8481 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8482 (clear_cached_bitmap_slots): New function.
8483 (GET_HEX_VALUE): G-Z, g-z are not hex.
8484 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8485 (get_bitmap_with_cache): Use new cache implementation.
8486 (create_offscreen_bitmap): New function.
8487 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8488
8489 * w32term.c (x_produce_glyphs): If the distance from the current
8490 position to the next tab stop is less than a canonical character
8491 width, use the tab stop after that.
8492 (x_draw_glyphs): Handle case START and END are out of bounds more
8493 carefully.
8494 (x_clear_mouse_face): Block/unblock input.
8495 (x_display_and_set_cursor): Don't show a hollow box cursor for
8496 buffers whose cursor_type is nil.
8497
fe01239f
GM
84982000-09-29 Gerd Moellmann <gerd@gnu.org>
8499
52283633 8500 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8501
8502 * dispextern.h (updating_frame): Declare extern.
8503
e7c52f1f
AS
85042000-09-29 Andreas Schwab <schwab@suse.de>
8505
8506 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8507
de6e1f7c
GM
85082000-09-29 Gerd Moellmann <gerd@gnu.org>
8509
25126faa
GM
8510 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8511 use its function definition.
8512 (tool_bar_items): Likewise.
8513
de6e1f7c 8514 * lisp.h (fatal): Declare NO_RETURN.
52283633 8515
454ee39b
KH
85162000-09-29 Kenichi Handa <handa@etl.go.jp>
8517
8518 * keymap.c: Remove the line "#undef NULL".
8519
96301c5f
GM
85202000-09-28 Gerd Moellmann <gerd@gnu.org>
8521
52283633 8522 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8523
efffeeb4
DL
85242000-09-28 Dave Love <fx@gnu.org>
8525
ecb8b666
DL
8526 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8527
dc3cd20f
DL
8528 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8529
8530 * .gdbinit (xreload): Note its need on GNU/Linux.
8531
efffeeb4
DL
8532 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8533 r_alloc, r_alloc_free.
8534
8610d903
KH
85352000-09-28 Kenichi Handa <handa@etl.go.jp>
8536
8537 * syntax.c (skip_chars): Handle negation correctly.
8538
8901d1ac
GM
85392000-09-27 Gerd Moellmann <gerd@gnu.org>
8540
6f22f1ad
GM
8541 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8542 with non-zero FORCE_P argument.
8543
52283633 8544 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8545 Add assertions.
8546
8547 * xdisp.c (window_box_height): Add an assertion.
8548
8549 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8550 tool-bar than is available.
8551 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8552
36f1966f
DL
85532000-09-27 Dave Love <fx@gnu.org>
8554
efffeeb4 8555 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8556
31d929e5
GM
85572000-09-26 Gerd Moellmann <gerd@gnu.org>
8558
c98863bf
GM
8559 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8560 instead of BITS_PER_INT.
8561 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8562 EMACS_UINT, respectively.
8563 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8564
8565 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8566
8567 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8568
77072ab1
GM
8569 * window.c (freeze_window_starts): Construct last argument for
8570 foreach_window differently.
8571
8572 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8573
8574 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8575 EMACS_UINT instead of `int' and `unsigned int'.
8576 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8577
8578 * frame.h (struct frame): Make the `nothing' member of union
8579 output_data an EMACS_INT.
8580
52283633 8581 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8582 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8583 size in the sdata structure.
8584 (SDATA_NBYTES, SDATA_DATA): New macros.
8585 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8586 differently for the different layout of the sdata structure.
8587 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8588 in sdata.
8589 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8590 Check that size recorded in the string size and size recorded in
8591 the sdata structure agree.
8592
3e60b029
DL
85932000-09-25 Dave Love <fx@gnu.org>
8594
8595 * buffer.c: Include stdio.h.
8596
8597 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8598
3e60b029
DL
8599 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8600
8601 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8602 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8603 (__malloc_extra_blocks): Declare as __malloc_size_t.
8604
8ff16b4e
GM
86052000-09-25 Gerd Moellmann <gerd@gnu.org>
8606
755a2ccd
GM
8607 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8608
d8b4516f
GM
8609 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8610 (read_char): If help-echo is showing, preserve the echo area
8611 when redisplaying.
8612
8613 * xdisp.c (help_echo_showing_p): New variable.
8614 (set_message): Reset it to 0.
8615 (init_xdisp): Initialize help_echo_showing_p.
8616
8617 * dispextern.h (help_echo_showing_p): Declare extern.
8618
8619 * config.in: Fix typo in __GNUC_MINOR__.
8620
8621 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8622
b11af2dd
GM
8623 * s/freebsd.h (POSIX_SIGNALS): Define.
8624
8ff16b4e
GM
8625 * xterm.c (x_clear_mouse_face): Block/unblock input.
8626
844eb643
DL
86272000-09-24 Dave Love <fx@gnu.org>
8628
8629 * fns.c (base64_encode_1): Fix last change.
8630
b30ab1b3
GM
86312000-09-22 Gerd Moellmann <gerd@gnu.org>
8632
8633 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8634
8635 * xdisp.c (try_window_reusing_current_matrix): More fixes
8636 for the case window has a header-line.
8637
c6cbe5f0
DL
86382000-09-22 Dave Love <fx@gnu.org>
8639
4c7c1f3f
DL
8640 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8641 a doc string.
8642
8643 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8644
c6cbe5f0
DL
8645 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8646
550a625e
GM
86472000-09-21 Gerd Moellmann <gerd@gnu.org>
8648
4c7c1f3f 8649 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8650 for GCC >= 2.5.
8651
52283633
SM
8652 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8653 Declare NO_RETURN.
fca99116 8654
80d26f99
GM
8655 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8656 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8657 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8658 warnings.
52283633 8659
80d26f99
GM
8660 * marker.c (byte_char_debug_check): Return void.
8661
623a0aae
GM
8662 * xfns.c (Fx_create_frame): Set default frame parameter value
8663 for tool-bar-lines to 1.
8664
8665 * dispnew.c (scrolling_window): Compare y-positions of rows
8666 equal at the start. Some simplification.
8667
8668 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8669 reused rows' y-position in the case window has a header-line, and
8670 new window start is greater than old window start.
8671
42ac0ae5
GM
8672 * process.c (process_sent_to): New variable.
8673 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8674 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8675 Declare more parameters volatile.
8676
550a625e
GM
8677 * lread.c (Vrecursive_load_depth_limit): New variable.
8678 (Fload): Check recursive loads whose recursion depth exceeds
8679 Vrecursive_load_depth_limit.
8680 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8681
8320414c
GM
86822000-09-20 Gerd Moellmann <gerd@gnu.org>
8683
f46c275e
GM
8684 * fileio.c (Fread_file_name): Doc fix.
8685
8686 * editfns.c (Fmessage_or_box): Doc fix.
8687
8688 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8689
b7e11c5b 8690 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8691
8320414c
GM
8692 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8693 symbols are specified, add color translations to the cache.
52283633 8694 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8695 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8696 xpm_cache_color.
8697 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8698 structures to xpm_init_color_cache.
8699
da1608d9
GM
87002000-09-19 Gerd Moellmann <gerd@gnu.org>
8701
52283633 8702 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8703
6badfa25
AI
87042000-09-19 Andrew Innes <andrewi@gnu.org>
8705
8706 * makefile.nt (bootstrap-emacs): Don't change directory.
8707
3a5f42bb
KH
87082000-09-19 Kenichi Handa <handa@etl.go.jp>
8709
1b7649bd
KH
8710 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8711
3a5f42bb
KH
8712 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8713 If output buffer is too small, signal an appropriated error.
8714
9f83cf0b
DL
87152000-09-18 Dave Love <fx@gnu.org>
8716
52283633 8717 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8718 (current_active_maps): Remove redundant get_local_map call.
8719
28c7826c
GM
87202000-09-18 Gerd Moellmann <gerd@gnu.org>
8721
5cefa566
GM
8722 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8723 cursor for buffers whose cursor_type is nil.
52283633 8724
6fed3546
GM
8725 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8726 a feature to implement that is already implemented.
8727 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8728 warnings.
8729
8730 * xfns.c (x_clear_image_1): New function.
8731 (x_clear_image): Use it.
52283633 8732 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8733
05b1f851
GM
8734 * dispnew.c (update_window): Move test for invisible lines
8735 at the top to update_window_line.
8736 (update_window_line): Handle invisible lines here.
8737
f4779de9
GM
8738 * xfns.c (clear_image_cache): Clear current matrices of all
8739 frames sharing an image cache. Block input while freeing
8740 images. Fix timestamp comparison.
8741 (x_clear_image): Also free the mask.
8742
28c7826c
GM
8743 * xfns.c (lookup_image): Block input while loading the image so
8744 that we won't get interrupted in a state where the image isn't yet
8745 set up completely.
8746 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8747 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8748 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8749 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8750
b7412313
GM
87512000-09-16 Gerd Moellmann <gerd@gnu.org>
8752
8753 * dispnew.c (update_window): Make sure to make desired rows
8754 current even if they are completely invisible at the top
8755 of a window.
8756
47e351a3
GM
87572000-09-15 Gerd Moellmann <gerd@gnu.org>
8758
7f8f1edc
GM
8759 * xfns.c (lookup_image): Build mask before applying an algorithm.
8760 Recognize algorithm `disabled'.
8761 (cross_disabled_images): New variable.
8762 (COLOR_INTENSITY): New macro.
8763 (x_detect_edges): Use COLOR_INTENSITY.
8764 (x_disable_image): New function.
8765 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8766
8767 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8768 disabled state, don't apply an image transformation algorithm if
8769 the user specified an image for the disabled state. Use
28c7826c 8770 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8771 user hasn't specified an image.
8772
ebb8f116
GM
8773 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8774 allocation functions with the XPM lib.
8775 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8776 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8777 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8778 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8779 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8780 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8781 functions, if possible, because these handle color allocation
8782 failure more gracefully.
8783 (Fimage_mask_p): New function.
8784
47e351a3
GM
8785 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8786 (Qedge_detection, Qheuristic): New symbols.
8787 (syms_of_xfns): Initialize new symbols.
8788 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8789 `algorithm (edge-detection ...)'.
8790 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8791 (tiff_format, gif_format, gs_format): Add `:mask'.
8792 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8793 (GIF_MASK, GS_MASK): New enumerators.
8794 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8795 (emboss_matrix, laplace_matrix): New variables.
8796 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8797 (x_edge_detection): New functions.
8798 (x_laplace): Rewritten in terms of x_detect_edges.
8799 (x_build_heuristic_mask): If image has a mask, free it.
8800
fe83b953
AI
88012000-09-14 Andrew Innes <andrewi@gnu.org>
8802
8803 * makefile.w32-in: Revert to Unix line endings.
8804
3021e816
AI
88052000-09-14 Andrew Innes <andrewi@gnu.org>
8806
8807 * makefile.w32-in: Standardize indentation somewhat.
8808 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8809 cater for differences between shells.
8810
8811 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8812
2a32b5ea
GM
88132000-09-14 Gerd Moellmann <gerd@gnu.org>
8814
8815 * xterm.c (x_produce_glyphs): If the distance from the current
8816 position to the next tab stop is less than a canonical character
8817 width, use the tab stop after that.
8818
b4331e96
DL
88192000-09-14 Dave Love <fx@gnu.org>
8820
8821 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8822
ef9e4345
GM
88232000-09-14 Gerd Moellmann <gerd@gnu.org>
8824
085536c2
GM
8825 * xdisp.c (handle_fontified_prop): While running fontification
8826 functions, bind `fontification-functions' and
8827 `after-change-functions' to nil.
8828
ef9e4345
GM
8829 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8830 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8831
8832 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8833
8834 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8835 USE_MMAP_FOR_BUFFERS.
8836
8837 * insdel.c (make_gap): Use enlarge_buffer_text.
8838
8839 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8840 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8841 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8842 from former r_alloc_* functions in ralloc.c.
52283633 8843 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8844 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8845 (mmap_init) [REL_ALLOC_MMAP]: New function.
8846 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8847 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8848 BUFFER_FREE.
8849
8850 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8851 (enlarge_buffer_text): Add prototype.
8852
8853 * ralloc.c: Remove everything having to do with the use of mmap.
8854
f8608968
GM
88552000-09-13 Gerd Moellmann <gerd@gnu.org>
8856
2a494b2d
GM
8857 * sound.c (Fplay_sound): Doc fix.
8858
8c907a56
GM
8859 * keyboard.c: Avoid some more compiler warnings.
8860 (parse_tool_bar_item): Ignore cached key bindings.
8861
f8608968
GM
8862 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8863 and allocation of Lisp data.
8864
6ab70e9a
GM
88652000-09-12 Gerd Moellmann <gerd@gnu.org>
8866
d12d0a9b
GM
8867 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8868 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8869 defaults first.
8870
6ab70e9a
GM
8871 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8872
63c36c3c
KH
88732000-09-12 Miyashita Hisashi <himi@meadowy.org>
8874
8875 * ccl.c: Comment fixed.
8876 (MAX_MAP_SET_LEVEL): Increased to 30.
8877 (PUSH_MAPPING_STACK): Enclose with do-while block.
8878 (POP_MAPPING_STACK): Likewise.
8879 (stack_idx_of_map_multiple): New variable.
8880 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8881 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8882 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8883 (ccl_driver) <CCL_MapSingle>: Likewise.
8884 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8885 with the case where looking up process reaches to the end of
8886 map-set, and call CCL programs as the above change.
8887
7ee3bd7b
GM
88882000-09-11 Gerd Moellmann <gerd@gnu.org>
8889
8ec8a5ec
GM
8890 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8891 that might be clobbered by longjmp.
8892 (check_x_display_info, x_decode_color, create_frame_xic)
8893 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8894 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8895
f74b0705
GM
8896 * lread.c (init_lread): Set Vloads_in_progress to nil.
8897 (Fload): Show list of recursively loaded files, when signaling an
8898 error.
8899
7ee3bd7b
GM
8900 * lread.c (Vloads_in_progress): New variable.
8901 (record_load_unwind): New function.
8902 (Fload): Check for recursive loads.
8903 (syms_of_lread): Initialize Vloads_in_progress.
8904 (read_integer, read1): Avoid some compiler warnings.
8905
8906 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8907 compiler warnings.
8908
974e1e5b
MB
89092000-09-11 Miles Bader <miles@gnu.org>
8910
8911 * editfns.c (Fbuffer_string): Doc fix.
8912
9824c4e3
GM
89132000-09-10 Gerd Moellmann <gerd@gnu.org>
8914
8915 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8916
6a72fdd1
KR
89172000-09-09 Ken Raeburn <raeburn@gnu.org>
8918
8919 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8920 whether to include other header files.
8921
28e6fb66
GM
89222000-09-09 Gerd Moellmann <gerd@gnu.org>
8923
52283633 8924 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8925 by Fmemq as a boolean.
28e6fb66 8926
7f8b6551
SM
89272000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8928
8929 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8930
a8710abf
GM
89312000-09-08 Gerd Moellmann <gerd@gnu.org>
8932
d1a02881
GM
8933 * ralloc.c (mmap_fd): Remove initializer which can make it
8934 read-only in a dumped Emacs.
8935 (mmap_fd_1): New variable.
8936 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8937 restore it from there.
8938 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8939 unconditionally so that mmap_fd can be initialized there.
8940 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8941 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8942 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8943
c454aac1
GM
8944 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8945
8946 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8947 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8948
fc653ef2
GM
8949 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8950
3015eec0
GM
8951 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8952 inheritance.
8953
bfe0ee88
GM
8954 * xdisp.c (try_window_id): When trying to locate cursor in
8955 unchanged rows at the top, handle the case that we can't find it.
8956
a8710abf
GM
8957 * xterm.c (x_draw_glyphs): Handle case START and END are out
8958 of bounds more carefully.
8959
6b7d4ae4
DL
89602000-09-08 Dave Love <fx@gnu.org>
8961
423193c5
DL
8962 * s/sol2.h (REL_ALLOC_MMAP): Define.
8963 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8964
8965 * ralloc.c: Don't include string.h (redundant).
8966 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8967 [!MAP_ANON]: Include fcntl.h.
8968 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8969 (r_alloc, r_re_alloc, r_alloc_free)
8970 (mmap_enlarge, mmap_set_vars): Use it.
8971 (r_alloc_init_fd): New function.
8972 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8973 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8974 malloc type.
8975
8976 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8977 Remove vm-limit.o.
8978
6b7d4ae4
DL
8979 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8980 change to __NetBSD__.
8981
44d31981
KH
89822000-09-08 Kenichi Handa <handa@etl.go.jp>
8983
8984 * search.c (compile_pattern): Check the multibyteness of cached
8985 string and PATTERN.
8986
aad40737
MB
89872000-09-08 Miles Bader <miles@gnu.org>
8988
8989 * xfaces.c (default_face_vector): Function removed.
8990 (Finternal_merge_in_global_face): Restore old global/local
8991 attribute override order. Use inline loop instead of calling
8992 default_face_vector.
8993
91a211b5
GM
89942000-09-07 Gerd Moellmann <gerd@gnu.org>
8995
8996 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8997 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8998 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8999 where necessary, in case POINTER_TYPE is `void'.
9000
03419440
EZ
90012000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9002
9003 * frame.c (make_terminal_frame): Initialize frame foreground and
9004 background colors to unspecified, for the initial instance of an
9005 MSDOS frame.
9006
f46f845b
GM
90072000-09-07 Gerd Moellmann <gerd@gnu.org>
9008
24f76fbf
GM
9009 * ralloc.c (mmap_find): Fix overlap computation.
9010 (mmap_enlarge): Compute nbytes before trying to find an
9011 overlapping region.
9012
f46f845b
GM
9013 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9014 instead of `!='.
9015
9016 * lread.c (syms_of_lread): Change value of regexp
9017 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9018
9019 * xmenu.c (xdialog_show): When looking up the selection in
9020 menu_items, take `quote' boundaries into account; this corresponds
9021 to a nil ITEM in x-popup-dialog.
9022
3c014385
KH
90232000-09-07 Kenichi Handa <handa@etl.go.jp>
9024
fd6f711b
KH
9025 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9026 not 0x81.
9027 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9028
3c014385 9029 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9030 encoding, not decoding. Fix the handling of latin-jisx0201.
9031 Check for the charset katakana-jisx0201 too.
3c014385 9032 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9033 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9034
0da3ecef
GM
90352000-09-07 Gerd Moellmann <gerd@gnu.org>
9036
ab0ee409
GM
9037 * xfaces.c (Vparam_value_alist): New variable.
9038 (syms_of_xfaces): Initialize it.
9039 (Finternal_set_lisp_face_attribute): Avoid more consing.
9040
9041 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9042 specially.
9043 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9044 (Qbackground_mode): New variable.
9045 (syms_of_frame_1): Initialize Qbackground_mode.
9046
9047 * lisp.h (Qdisplay): Declare extern.
1091dd67 9048
0da3ecef
GM
9049 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9050 change face on all frames, and change the default for new frames.
9051
b14654b9
DL
90522000-09-07 Dave Love <fx@gnu.org>
9053
9054 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9055
d24fd56f
KH
90562000-09-07 Kenichi Handa <handa@etl.go.jp>
9057
794f3670
KH
9058 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9059
0fddd0dc
KH
9060 * charset.c: Include composite.h
9061 (lisp_string_width): New function.
9062 (Fstring_width): Call lisp_string_width instead of strwidth.
9063
9064 * Makefile.in (charset.o): Depends on composite.h.
9065
d24fd56f
KH
9066 * process.c (read_process_output): Before inserting the decoded
9067 text in the buffer, adjust the multibyteness.
9068
fa0b693c
GM
90692000-09-06 Gerd Moellmann <gerd@gnu.org>
9070
52283633 9071 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9072 buffer's text buffer is null, map new memory.
9073
0a58f946
GM
9074 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9075 POINTER_TYPE and size_t.
9076 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9077 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9078 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9079 [REL_ALLOC_MMAP]: New macros.
9080 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9081 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9082 [REL_ALLOC_MMAP]: New functions.
9083
9084 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9085 before and after unexec.
9086
9087 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9088 text buffers if necessary.
9089
9090 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9091 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9092 in prototypes.
9093
fa0b693c
GM
9094 * config.in (HAVE_MMAP): Add #undef.
9095
877055f6
GM
90962000-09-05 Gerd Moellmann <gerd@gnu.org>
9097
08ba3862
GM
9098 * frame.c (Qdisplay_type): New variable.
9099 (syms_of_frame_1): Initialize it.
9100 (Fframe_parameter): New function that avoids consing.
9101 (syms_of_frame): Defsubr it.
9102
66ffe51c
GM
9103 * buffer.c (Fother_buffer): Consider buffers as invisible when
9104 they are displayed in a window on an invisible frame.
9105
877055f6
GM
9106 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9107 get-largest-window always return nil.
9108
bb970e67
GM
91092000-09-04 Gerd Moellmann <gerd@gnu.org>
9110
9111 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9112 variable; recognize Emacs 19 elc files.
9113
7a3d0e0e
MB
91142000-09-04 Miles Bader <miles@gnu.org>
9115
9116 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9117 before initially popping up the menu, so the menu doesn't flash
52283633 9118 when the face settings are significantly different from the defaults.
7a3d0e0e 9119
14473664
SM
91202000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9121
9122 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9123 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9124 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9125 (BIT_UNIBYTE): Remove.
9126 (re_match_2_internal): Delete corresponding code and streamline the
9127 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9128 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9129 (re_wctype_t): New type.
9130 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9131 (regex_compile): Use them and fix handling of overly long char classes.
9132
c1174479
AI
91332000-09-03 Andrew Innes <andrewi@gnu.org>
9134
f8803e97
AI
9135 * makefile.w32-in: Change to DOS line endings.
9136
c1174479
AI
9137 * s/ms-w32.h (ORDINARY_LINK): New define.
9138
9139 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9140 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9141
9142 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9143 (distclean): Delete them here instead.
9144
44ef7cf6
AI
9145 * w32proc.c (compare_env): Convert to uppercase for comparison,
9146 not lowercase, to match how the native Windows shell works.
9147
49b3bd82
JR
91482000-09-03 Jason Rumney <jasonr@gnu.org>
9149
9150 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9151 CVS changes the line-ends when checking in/out on DOS/Windows.
9152
9153 * makefile.nt (emacs): Do not change directory to run temacs, as
9154 the load-path is set relative to current directory.
9155
a3d35a39
MB
91562000-09-03 Miles Bader <miles@gnu.org>
9157
9158 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9159
d276b0cf
GM
91602000-09-02 Gerd Moellmann <gerd@gnu.org>
9161
715e84c9
GM
9162 * xdisp.c (redisplay_mode_lines): New function.
9163 (display_mode_lines): Return number of mode lines displayed.
9164 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9165 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9166
8892f40b
GM
9167 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9168 string.h and strings.h.
9169 (index) [HAVE_INDEX]: Add prototype.
9170
d276b0cf
GM
9171 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9172 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9173
9174 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9175 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9176
38404229
GM
91772000-09-01 Gerd Moellmann <gerd@gnu.org>
9178
9179 * lread.c (read1): Accept `?' as symbol constituent, for
9180 compatiblity with XEmacs.
9181
c0f9ea08
SM
91822000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9183
9184 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9185 (struct re_pattern_buffer): Remove newline_anchor.
9186 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9187 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9188 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9189 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9190 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9191 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9192 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9193 Get rid of references to newline_anchor.
9194 (regcomp): Allocate and precompute a fastmap.
9195
8c0f83fe
GM
91962000-08-31 Gerd Moellmann <gerd@gnu.org>
9197
9198 * lread.c (openp): GCPRO local variable `filename'.
9199
4bb91c68
SM
92002000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9201
9202 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9203
9204 * regex.c: Merge some changes from GNU libc. Add prototypes.
9205 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9206 Use memcmp and memcpy instead of bcopy and bcmp.
9207 (init_syntax_once): Use ISALNUM.
9208 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9209 (REG_UNSET_VALUE): Remove. Use NULL instead.
9210 (REG_UNSET, re_match_2_internal): Use NULL.
9211 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9212 New macros.
9213 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9214 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9215 (regex_compile): In handle_interval, return an error rather than try to
9216 unfetch the interval if we can't find the closing brace.
9217 Obey the RE_NO_GNU_OPS syntax bit.
9218 (TOLOWER): New macro.
9219 (regcomp): Use it.
9220 (regexec): Allocate regs.start and regs.end as one block.
9221
5226a931
GM
92222000-08-30 Gerd Moellmann <gerd@gnu.org>
9223
868dd24b
GM
9224 * xdisp.c (echo_area_display): Check display_completed instead
9225 of calling detect_input_pending.
9226
9227 * dispnew.c (update_frame): Only set display_completed here; move
9228 the update_begin and update_end calls here from update_frame_1.
9229 (update_frame_1): Don't set display_completed here, don't call
9230 update_begin/update_end.
9231
5226a931
GM
9232 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9233 instead of store_frame_param.
9234
2a8bd25f
GM
92352000-08-29 Gerd Moellmann <gerd@gnu.org>
9236
9237 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9238 desired window matrix hasn't been displayed, use the current row
9239 instead. Make sure that only those frame rows are updated for
9240 which there exists a corresponding enabled desired row.
52283633 9241
ba3478d9
MB
92422000-08-29 Miles Bader <miles@gnu.org>
9243
9244 * xfaces.c (default_face_vector): New function.
9245 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9246
87d0f685
GM
92472000-08-29 Gerd Moellmann <gerd@gnu.org>
9248
9249 * lread.c (openp): Prevent temporary string passed to
9250 Ffile_readable_p from being garbage collected.
9251
6fa86045
DL
92522000-08-28 Dave Love <fx@gnu.org>
9253
9254 * keymap.c (store_in_keymap): Add `static' to declaration.
9255
bb17930d
GM
92562000-08-28 Gerd Moellmann <gerd@gnu.org>
9257
9258 * emacs.c, callint.c, doc.c, editfns.c
9259 (toplevel) [HAVE_STRING_H]: Include string.h.
9260 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9261 (index): Remove prototypes which might conflict with non-standard
9262 definitions of index/strchr.
9263
9264 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9265 (rindex): Define only if !HAVE_RINDEX.
9266
9267 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9268
9269 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9270
87188200
MB
92712000-08-28 Miles Bader <miles@gnu.org>
9272
9273 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9274 made inconsistent by a font-related attribute in FROM.
9275 (merge_face_inheritance): Add function comment.
9276
41a68aef
KH
92772000-08-28 Kenichi Handa <handa@etl.go.jp>
9278
9279 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9280 the 4th arg (PREV_EVENT) Qt to suppress input method.
9281
f7c436c1
SM
92822000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9283
0b32bf0e
SM
9284 * regex.c: Indent cpp directives and remove parens after `defined'.
9285 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9286 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9287 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9288 (re_compile_pattern): Use size_t for length.
9289 (init_syntax_once): Move to a better place.
9290 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9291 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9292
f7c436c1
SM
9293 * syntax.c (back_comment): Detect cases where a comment-starter is
9294 actually inside another comment as in: /* a // b */ c // d \n.
9295 Make it clear that `comstart_pos' is unused for nested comments.
9296
9297 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9298 (KEYMAPP): New macro.
9299 (Fkeymap_parent, Fset_keymap_parent): Use it.
9300 (fix_submap_inheritance): Mark it static.
9301 (define_as_prefix, describe_buffer_bindings, describe_command)
9302 (describe_translation, describe_map): Complete prototypes.
9303
9304 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9305
9306 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9307 to better match the key-lookup behavior.
9308
6288c62f
GM
93092000-08-27 Gerd Moellmann <gerd@gnu.org>
9310
9311 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9312 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9313
e931344e
EZ
93142000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9315
9316 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9317 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9318 (xterm.o): Depend on coding.h
9319
d10dfeef
KH
93202000-08-26 Kenichi Handa <handa@etl.go.jp>
9321
9322 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9323 the corresponding '#endif'.
9324
2d73e8d3
MB
93252000-08-26 Miles Bader <miles@gnu.org>
9326
9327 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9328 * xfaces.c (QCinherit): New variable.
9329 (syms_of_xfaces): Initialize it.
9330 (LFACE_INHERIT): New macro.
9331 (Finternal_get_lisp_face_attribute)
52283633 9332 (merge_face_vector_with_property)
2d73e8d3
MB
9333 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9334 (check_lface_attrs): Allow new types of face height. Check
9335 inherit attribute.
9336 (CYCLE_CHECK): New macro.
9337 (merge_face_inheritance): New function.
9338 (merge_face_vectors): Merge inherited faces too. Add F and
9339 CYCLE_CHECK arguments.
9340 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9341 (lookup_named_face, lookup_derived_face, realize_named_face)
9342 (face_at_string_position, face_at_buffer_position): Supply
9343 new F and CYCLE_CHECK arguments to merge_face_vectors.
9344 (merge_face_heights): New function.
52283633 9345 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9346 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9347 handle relative face heights.
9348 (lface_same_font_attributes_p): Compare heights using EQ.
9349
6ce974d4
KH
93502000-08-26 Kenichi Handa <handa@etl.go.jp>
9351
9352 * charset.c (char_to_string): Check the character validity.
52283633 9353 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9354
dc1e502d
SM
93552000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9356
9357 * regex.c (PUSH_FAILURE_COUNT): New macro.
9358 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9359 Handle popping of a register's or a counter's data.
9360 (POP_FAILURE_POINT): Use the new name.
9361 (re_match_2_internal): Push counter data on the stack for succeed_n,
9362 jump_n and set_number_at and remove misleading dead code in succeed_n.
9363
bd9d0f3f
GM
93642000-08-25 Gerd Moellmann <gerd@gnu.org>
9365
9366 * xdisp.c (redisplay_internal): If considering all windows on all
9367 frames, update the display for each frame as soon as possible,
9368 instead of first building all desired matrices for all frames, and
9369 then updating them all.
9370 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9371
aa5b8e15
GM
93722000-08-24 Gerd Moellmann <gerd@gnu.org>
9373
17494071
GM
9374 * bytecode.c (mark_byte_stack): Add a comment.
9375
52283633
SM
9376 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9377 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9378 a graphical frame.
9379
c543db81
KH
93802000-08-24 Kenichi Handa <handa@etl.go.jp>
9381
d246d5f5
KH
9382 * minibuf.c (do_completion): Always use compare-string, not
9383 string-equal because the latter doesn't pay attention to
9384 multibyteness of strings.
9385
c543db81
KH
9386 * process.c (create_process): Don't setup raw-text coding here.
9387 (Fopen_network_stream): Don't set coding->src_multibyte and
9388 coding->dst_multibyte here.
9389 (read_process_output): For process filter, return unibyte string
9390 if default-enable-multibyte-characters is nil.
9391 (send_process): If OBJECT is multibyte text, be sure to encoded it
9392 by the specified coding system for the process. Otherwise, setup
9393 raw-text coding.
52283633 9394 (init_process): Don't initialize default-process-coding-system here.
c543db81 9395
9b47cfe0
EZ
93962000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9397
9398 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9399 <scroll-down-aggressively>: Likewise.
9400
f5a36960
KH
94012000-08-23 Kenichi Handa <handa@etl.go.jp>
9402
9403 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9404 zero. Set coding->produced_char correctly.
9405
69a7ffa7
AI
94062000-08-22 Andrew Innes <andrewi@gnu.org>
9407
9408 * makefile.w32-in: New file.
9409
9410 * unexw32.c (unexec): Ignore old_name, and use the actual location
9411 of the current executable instead. Base new_name on this.
9412
9413 * w32proc.c (create_child): Remove reference to security
9414 descriptor, which isn't needed and doesn't compile with mingw32.
9415
9416 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9417 up dllimport attributes.
9418 (x_update_window_end): Update prototype.
9419
9420 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9421 extern, which screws up dllimport attributes.
9422
9423 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9424 up dllimport attributes.
9425
9426 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9427 screws up dllimport attributes.
9428
9429 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9430 up dllimport attributes.
9431 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9432 screws up dllimport attributes.
9433
9434 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9435 up dllimport attributes.
9436
9437 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9438 screws up dllimport attributes.
9439
9440 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9441 screws up dllimport attributes.
9442
9443 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9444 up dllimport attributes.
9445
9446 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9447 unnecessary extern, which screws up dllimport attributes.
9448 (main): Ditto.
9449
9450 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9451 up dllimport attributes.
9452
9453 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9454 unnecessary extern, which screws up dllimport attributes.
9455
9456 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9457 screws up dllimport attributes.
9458
9459 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9460 up dllimport attributes.
9461
9462 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9463
52283633
SM
9464 * w32bdf.c (search_file_line):
9465 (set_bdf_font_info):
9466 (seek_char):
9467 (w32_get_bdf_glyph):
69a7ffa7
AI
9468 (w32_BDF_to_x_font): Fix compile warnings.
9469
52283633 9470 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9471
9472 * w32select.c: Include keyboard.h before frame.h.
9473
9474 * w32fns.c (max): Define macro.
9475 (JOHAB_CHARSET): Define if not known.
9476 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9477 (Fx_show_tip): Synch with X version.
9478
9479 * w32xfns.c: Include keyboard.h before frame.h.
9480
9481 * w32fns.c: Include keyboard.h before frame.h.
9482
9483 * w32term.c: Include keyboard.h before frame.h.
9484
9485 * fontset.c: Include keyboard.h before frame.h.
9486
9487 * w32inevt.c: Include keyboard.h before frame.h.
9488 (MOUSE_MOVED): Define if not known.
9489
9490 * minibuf.c: Include keyboard.h before frame.h.
9491
9492 * keyboard.c: Include keyboard.h before frame.h.
9493
9494 * indent.c: Include keyboard.h before frame.h.
9495
9496 * dispnew.c: Include keyboard.h before frame.h.
9497
9498 * buffer.c: Include keyboard.h before frame.h.
9499
9500 * alloc.c: Include keyboard.h before frame.h.
9501
9502 * print.c: Include keyboard.h before frame.h.
9503
9504 * process.c: Include keyboard.h before frame.h.
9505
9506 * scroll.c: Include keyboard.h before frame.h.
9507
9508 * sysdep.c: Include keyboard.h before frame.h.
9509
9510 * term.c: Include keyboard.h before frame.h.
9511
9512 * window.c: Include keyboard.h before frame.h.
9513
9514 * xdisp.c: Include keyboard.h before frame.h.
9515 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9516
9517 * frame.c: Include keyboard.h before frame.h.
9518
9519 * w32heap.h: Undefine min, max.
9520
9521 * w32gui.h: Undefine min, max.
9522
9523 * unexw32.c: Change PUCHAR to PCHAR.
9524 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9525 (relocate_offset):
9526 (get_section_info):
69a7ffa7
AI
9527 (copy_executable_and_dump_data): Remove unnecessary static defs.
9528 (copy_executable_and_dump_data): Fix compile warnings.
9529
9530 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9531
9532 * w32console.c (min): Define macro.
9533 (clear_frame, write_glyphs): Fix compile warning.
9534
52283633 9535 * w32proc.c (compare_env):
69a7ffa7
AI
9536 (find_child_console): Fix compile warning.
9537
9538 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9539 sys_errlist instead of _sys_errlist.
9540 (get_emacs_configuration_options): New function.
9541
9542 * s/ms-w32.h (sys_nerr): Provide default definition.
9543 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9544 name with _ prepended.
9545 (NSIG): Define if not known.
9546 (get_emacs_configuration): Provide extern declaration.
9547 (get_emacs_configuration_options): Provide extern declaration.
9548 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9549
9550 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9551 (map_w32_filename):
69a7ffa7
AI
9552 (read_unc_volume): Fix compile warning.
9553
9554 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9555 definitions from being used.
9556
9557 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9558
52283633 9559 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9560 (open_unc_volume): Make arg const.
9561
9562 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9563 (read_input_waiting): Remove excess parameter.
9564
9565 * w32.c (init_environment): Call _access.
9566 (check_windows_init_file): Call _close.
9567 (init_user_info): Call _putenv.
9568 (init_environment): Call _putenv and _strdup.
9569 (init_ntproc): Reset volume info cache on startup.
9570
9571 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9572 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9573 cannot override the CRT malloc.
9574
9575 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9576 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9577
9578 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9579 unless we are linking with a static CRT.
9580 (RVA_TO_PTR): Cast result to unsigned char*.
9581
9582 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9583 (add_volume_info): Use xstrdup.
9584
25060080
SM
95852000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9586
9587 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9588 (do_completion, Fminibuffer_complete_word): Use it.
9589 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9590 var so it can take non-boolean values.
9591
6917e6bb
GM
95922000-08-21 Gerd Moellmann <gerd@gnu.org>
9593
acb7cc89 9594 * editfns.c (find_field): Formatting changes.
52283633 9595 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9596 changed to prototypes, some new protypes added, some functions
9597 made static.
9598
9599 * lisp.h (set_time_zone_rule): Add prototype.
9600 (use_dialog_box): External declaration.
9601
0bbfdc25
GM
9602 * keyboard.c (gen_help_event): Add parameter SIZE.
9603 (kbd_buffer_events_waiting): Slightly rewritten.
9604 (clear_event): New function.
9605 (kbd_buffer_get_event): Use it, and clear the input_events of
9606 HELP_EVENTs.
9607 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9608 don't fill the newly created array with nils.
9609 (toplevel): Convert some old-style function forward declarations
9610 to prototypes.
9611
9612 * keyboard.h (gen_help_event): Change prototype.
9613
9614 * xterm.c (XTread_socket): Change calls to gen_help_event.
9615
9616 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9617
6917e6bb
GM
9618 * eval.c (Fmacroexpand): Doc fix.
9619
e5cd3d11
JR
96202000-08-20 Jason Rumney <jasonr@gnu.org>
9621
9622 * w32term.h (x_display_info_for_display): Remove as this function
9623 does not exist on W32.
9624
9625 * w32term.c (help_echo_window): New variable.
9626 (syms_of_w32term): staticpro it.
9627 (note_mode_line_highlight): Set it.
9628 (XTextExtents16): Removed as there is no equivalent on W32.
9629 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9630 the X way of doing this will not work for W32.
9631 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9632 (x_draw_image_foreground): Avoid drawing outside of the clip area
9633 when image doesn't have a mask.
9634 (note_mouse_highlight): Process overlays in the right order of
9635 priority. Set help_echo_window.
9636 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9637 because that's more visible for large images.
9638
9639 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9640 name to single_keymap_panes.
9641 (w32_menu_show): Set wv->title when dealing with titles.
9642 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9643
6e69ab8c
MB
96442000-08-21 Miles Bader <miles@gnu.org>
9645
9646 * minibuf.c (do_completion): Try again if we rewrite the input
9647 string, but no completion was done, so that any completion message
9648 will be correct.
9649
511bd4eb
GM
96502000-08-20 Gerd Moellmann <gerd@gnu.org>
9651
9652 * xfaces.c (lface_equal_p): Compare strings differently.
9653 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9654 (realize_tty_face): Use them.
9655 (syms_of_xfaces): Initialize new variables.
9656 (map_tty_color): New function, extracted from realize_tty_face.
9657 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9658 foreground or background color, store the new color name in the
9659 realized face; previous code trying to do this had no effect.
9660 (realize_tty_face): Use map_tty_color.
9661 (Fclear_face_cache): Set face_change_count and ensure thorough
9662 redisplay.
9663
1433385f
GM
96642000-08-19 Gerd Moellmann <gerd@gnu.org>
9665
511bd4eb
GM
9666 * undo.c (record_first_change, record_marker_adjustment): Don't
9667 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9668
419ac0a2
KH
96692000-08-18 Kenichi Handa <handa@etl.go.jp>
9670
9671 * coding.c (decode_coding_string): Set members consumed,
9672 consumed_char, produced, produced_char of *coding correctly. If
9673 decode_coding doesn't consume any byte, don't try anymore.
9674 (encode_coding_string): Likewise.
9675
7eb9e30d
GM
96762000-08-18 Gerd Moellmann <gerd@gnu.org>
9677
511bd4eb
GM
9678 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9679 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9680
9681 * xdisp.c (redisplay_internal): Compare windows for equality with
9682 EQ, instead of applying XWINDOW to something that might not
9683 be a window.
52283633 9684
dd34a735
KH
96852000-08-18 Kenichi Handa <handa@etl.go.jp>
9686
9687 * fontset.c (Finternal_char_font): Search only the selected frame
9688 for a window of the current buffer.
9689
385ff9e3
GM
96902000-08-18 Gerd Moellmann <gerd@gnu.org>
9691
511bd4eb 9692 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9693 Lisp_Objects.
9694
385ff9e3
GM
9695 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9696 second half of a HELP_EVENT is found at the start of kbd_buffer.
9697
d6abb4c7
MB
96982000-08-18 Miles Bader <miles@gnu.org>
9699
4618074a
MB
9700 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9701
d6abb4c7
MB
9702 * editfns.c (save_restriction_save): Rewrite to use markers.
9703 (save_restriction_restore): Rewrite to understand new form of data
9704 saved by save_restriction_save.
9705 (Fsave_restriction): Remove cautionary note in doc-string.
9706
a7b28523
GM
97072000-08-17 Gerd Moellmann <gerd@gnu.org>
9708
9709 * fileio.c (build_annotations): Add a comment explaining the
9710 return value of format-annotate-function. Replace a spurious call
9711 to Flength with a CONSP test. Call format-annotate-function with
9712 a fifth arg specifying how many times the function is been called
9713 in a row, to let it choose temporary buffers appropriately.
9714
03c9ed77
DL
97152000-08-17 Dave Love <fx@gnu.org>
9716
9717 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9718 declare make_temp_name twice.
9719
52283633 9720 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9721 (unreadpure): Give it an arg.
9722
9723 * unexalpha.c: Prototype fatal_unexec, mark_x,
9724 update_dynamic_symbols. Declare unexec as void.
9725
9726 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9727 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9728
9729 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9730 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9731
9732 * alloca.c: Use #error.
9733 [POINTER_TYPE]: Use it.
9734
9735 * eval.c (Fdefvar): Doc fix.
9736
9737 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9738 INITIALIZE_INTERVAL.
9739
9740 * buffer.h: Avoid DECLARE_INTERVALS.
9741
9742 * config.in: Add size_t.
9743
aae41d97
EZ
97442000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9745
9746 * w16select.c (set_clipboard_data): If there's not enough memory
9747 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9748 expects. In case of other failures, return 3.
9749 (system_error_msg): New error message.
9750 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9751 system_error_msg.
9752
65aa5e85
GM
97532000-08-16 Gerd Moellmann <gerd@gnu.org>
9754
9755 * term.c (write_glyphs): Also turn off inverse video after turning
9756 off other appearances in case TS_exit_attribute_mode is not equal
9757 to TS_end_standout_mode.
9758 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9759 with the same face.
9760 (turn_off_face): Reset standout_mode only if
9761 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9762 is equal to TS_end_standout_mode.
9763
ece23901
KH
97642000-08-16 Kenichi Handa <handa@etl.go.jp>
9765
9d7bcb2e
KH
9766 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9767 sequence at the end of the source block.
9768
ece23901
KH
9769 * ccl.c (Fccl_program_p): Docstring modified.
9770 (Fccl_execute): Likewise.
9771 (Fccl_execute_on_string): Likewise.
9772
5e30eaa2
EZ
97732000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9774
9775 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9776
290602fd
KH
97772000-08-16 Kenichi Handa <handa@etl.go.jp>
9778
9779 The following changes are mainly to fix bugs of
9780 encode/decode-coding-string failing if encoding/decoding return
9781 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9782 variable conversion_buffer.
9783
9784 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9785 decrement dst_end to avoid buffer overflow in the later call of
9786 string_as_multibyte
9787
9788 * coding.h (conversion_buffer_size, conversion_buffer)
9789 (get_conversion_buffer): Extern deleted.
9790
9791 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9792 (conversion_buffer, conversion_buffer_size): Variables deleted.
9793 (get_conversion_buffer): Function deleted.
9794 (struct conversion_buffer): New structure.
9795 (MAX_ALLOCA): New macro.
9796 (allocate_conversion_buffer): New macro.
9797 (extend_conversion_buffer, free_conversion_buffer): New functions.
9798 (ccl_coding_driver): Set coding->result.
9799 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9800 this is the last block of source.
9801 (encode_coding): Likewise. Handle the source block as the last
9802 one only when the whole source text is consumed.
9803 (decode_coding_string): Handle the case that the output buffer is
9804 too small to decode the whole source text. Use
9805 allocate_conversion_buffer, extend_conversion_buffer and
9806 free_conversion_buffer, not get_conversion_buffer.
9807 (encode_coding_string): Likewise.
9808 (init_coding): Function deleted.
52283633 9809 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9810
9811 * emacs.c (main): Don't call init_coding.
9812
52283633 9813 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9814
9815 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9816 (insert_glyphs): Likewise.
9817
9818 * w32console.c (write_glyphs): Use a locally declared
9819 conversion_buffer.
9820
b9f80d41
EZ
98212000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9822
9823 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9824 member of display_info is NULL.
9825
32dc52f7
GM
98262000-08-15 Gerd Moellmann <gerd@gnu.org>
9827
52283633 9828 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9829
32dc52f7 9830 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9831 appearances with capability `me'.
32dc52f7
GM
9832 (write_glyphs): Switch on inverse video before each face change.
9833
4eb22d33
DL
98342000-08-14 Dave Love <fx@gnu.org>
9835
9836 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9837 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9838 (lisp_free): Declare and make static.
9839
9840 * window.c: Fix embedded comment.
9841 (syms_of_window): Fix doc string.
9842
90cbf47e
GM
98432000-08-14 Gerd Moellmann <gerd@gnu.org>
9844
52283633 9845 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9846 make sure to print `C-' before `M-', like in the manual.
9847
440fc135
GM
98482000-08-11 Gerd Moellmann <gerd@gnu.org>
9849
9850 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9851 since they aren't relocated anymore.
52283633 9852 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9853
9854 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9855 partially visible line which is smaller than the window's height.
440fc135 9856
6e264fad
KH
98572000-08-11 Kenichi Handa <handa@etl.go.jp>
9858
9859 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9860 the multibyte form of eight-bit-control characters.
6e264fad
KH
9861 (Fccl_execute_on_string): Initialize ccl->multibyte.
9862
9863 * ccl.h (struct ccl_program): New member multibyte.
9864
9865 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9866
c371f69a
KH
98672000-08-11 Kenichi Handa <handa@etl.go.jp>
9868
9869 * regex.c (regex_compile) <normal_char>: Pay attention to
9870 multibyteness.
9871 (analyse_first) <exactn>: Setup fastmap correctly for
9872 eight-bit-control characters.
9873
98742000-08-11 Kenichi Handa <handa@etl.go.jp>
9875
52283633 9876 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9877
9878 * keyboard.c (make_lispy_event): Handle the new event type
9879 multibyte_char_keystroke.
9880
9881 * xterm.c: Include coding.h.
9882 (XTread_socket): Work around a bug of XmbLookupString. If the
9883 input is from XIM, decode it according to the current locale. In
9884 that case, generate multibyte_char_keystroke events.
9885
b8ddbe71
KH
98862000-08-11 Kenichi Handa <handa@etl.go.jp>
9887
9888 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9889 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9890
47589c8c
GM
98912000-08-10 Gerd Moellmann <gerd@gnu.org>
9892
9893 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9894 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9895 (move_it_in_display_line_to): Record iterator's ascent and descent
9896 before producing glyphs, and restore them when we know the glyph
9897 doesn't fit on the line.
9898 (move_it_to): Restructured so that it's easier to debug. If
9899 moving to a vpos, and not moving to an x or character position,
9900 stop as soon as the specified vpos is reached; don't move further
9901 into that line because that might change the computed line height.
9902 (try_cursor_movement): New function, extracted from the cursor
9903 movement branch of redisplay_window. If ending on a partially
9904 visible line, don't try to scroll if the cursor line is taller
9905 than the window.
9906 (redisplay_window): Use try_cursor_movement.
9907
9908 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9909 because that function doesn't cope with variable-height lines.
9910
9911 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9912 box cursor because that's better visible for large images.
52283633 9913
c51bacd6
MB
99142000-08-10 Miles Bader <miles@gnu.org>
9915
9916 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9917
bea56df7
GM
99182000-08-10 Gerd Moellmann <gerd@gnu.org>
9919
9920 * xdisp.c (Vmessages_buffer_name): New variable.
9921 (message_dolog): Use it.
9922 (syms_of_xdisp): Initialize it.
9923
99cd7364
EZ
99242000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9925
52283633 9926 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9927 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9928 redundant now that keyboard.h is included.
9929
7d093d56
EZ
99302000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9931
9932 * keyboard.c (kbd_buffer_events_waiting): New function.
9933
9934 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9935
9936 * msdos.c: Include keyboard.h.
9937 (XMenuActivate): Empty no_event events from the event buffer. If
9938 no events are left after that, call clear_input_pending.
9939 (mouse_clear_clicks): New function, code moved from mouse_init.
9940 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9941 mouse driver to ``forget'' any past clicks.
9942
9943 * Makefile.in (msdos.o): Depend on keyboard.h.
9944
41e757a6
GM
99452000-08-09 Gerd Moellmann <gerd@gnu.org>
9946
8e7bd231
GM
9947 * lisp.h (input_pending): External declaration.
9948
9949 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9950
8e7bd231
GM
9951 * xdisp.c (echo_area_display): Display thoroughly if input is
9952 pending. Bind redisplay-dont-pause to t during the redisplay.
9953 in case input is pending.
9954
9955 * dispnew.c (Qredisplay_dont_pause): New variable.
9956 (syms_of_display): Initialize and staticpro it.
9957 (update_frame_1): Don't interrupt the display for pending input if
9958 redisplay_dont_pause is set.
52283633 9959
43028b7e
GM
9960 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9961
41e757a6
GM
9962 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9963
2f2174fa
KH
99642000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9965
9966 * callproc.c (Fcall_process): Terminate the unwind-protect around
9967 the post-read-conversion of coding system.
9968
0a6fd67e
MB
9969 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9970 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9971 * buffer.h (overlays_at): Update prototype.
9972 * xdisp.c (next_overlay_change): Update call to overlays_at.
9973 * xfaces.c (face_at_buffer_position): Likewise.
9974 * textprop.c (Fget_char_property): Likewise.
9975 * xterm.c (note_mouse_highlight): Likewise.
9976
0c80756e
MB
9977 * minibuf.c (do_completion): Don't consider a simple change of
9978 case as `completion'.
9979
975f250a
KR
99802000-08-08 Ken Raeburn <raeburn@gnu.org>
9981
52283633 9982 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9983 * undo.c (record_delete): Make sure last_point_position_buffer is
9984 a buffer before comparing pointers.
9985
9986 * coding.h (decode_coding_string): Declare.
9987
9988 * intervals.h (Fprevious_single_char_property_change): Declare.
9989
9990 * textprop.c (Fprevious_single_char_property_change): Don't do
9991 arithmetic directly on lisp objects.
9992
52283633 9993 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9994
9995 * keyboard.h (menu_item_eval_property): Declare.
9996
9997 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9998 reuse as buffer name, instead of recreating (and discarding) every
9999 time a message is logged.
10000 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10001 (current_message_1, truncate_message_1, set_message_1)
10002 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10003 (current_message, truncate_echo_area, display_echo_area)
10004 (resize_echo_area_axactly): Changed calls.
b347b3fd 10005
975f250a 10006 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10007 Lisp object.
975f250a 10008 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10009 must be an integer, not a Lisp object.
975f250a 10010
46dc9912
KH
100112000-08-08 Kenichi Handa <handa@etl.go.jp>
10012
10013 * charset.c (Fchar_width): Doc fix.
10014
9f6d1a6c
GM
100152000-08-08 Gerd Moellmann <gerd@gnu.org>
10016
10017 * charset.c (Fstring_width): Doc fix.
10018
ff3d9573
GM
100192000-08-07 Gerd Moellmann <gerd@gnu.org>
10020
41e757a6 10021 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10022 line, clear ascent and descent members of the iterator structure;
10023 the height of the continued line does not affect the height of the
10024 continuation line.
10025 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10026 line taller than the window.
10027 (redisplay_window) <forced window start>: Handle case that the
10028 middle of the window is not found in any row.
10029 (dump_glyph_row): Show more information.
10030 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10031 first text line in a glyph matrix.
10032
10033 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10034 of the clip area when image doesn't have a mask.
10035
70fc58b3
GM
10036 * fns.c (sweep_weak_table): Fix survival conditions for
10037 key-or-value and key-and-value weakness.
10038
10039 * .gdbinit (xhashtable): New command.
10040
ac0e96ee
GM
10041 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10042 tables out of the list of all weak hash tables.
10043
ff3d9573
GM
10044 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10045 a new buffer is created, make sure echo_area_buffer[] references
10046 the new buffer.
10047
e0d8827b
EZ
100482000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10049
10050 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10051 the doc string.
10052
c6f35378
KH
100532000-08-07 Kenichi Handa <handa@etl.go.jp>
10054
10055 * syntax.c (skip_chars): Fix previous change. Make the handling
10056 of unibyte string consistent with that of regex search.
10057
1fd4c450
GM
100582000-08-05 Gerd Moellmann <gerd@gnu.org>
10059
e49aa397
GM
10060 * xmenu.c (popup_get_selection): Use xfree instead of free.
10061
10062 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10063
10064 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10065
10066 * callproc.c (child_setup): Use xfree instead of free.
10067
10068 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10069 instead of malloc.
10070 (run_mac_command, closedir): Use `xfree' instead of `free'.
10071
10072 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10073
10074 * eval.c (error): Use xfree instead of free.
10075
1fd4c450
GM
10076 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10077
10078 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10079 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10080
82d497fc
KH
100812000-08-05 Kenichi Handa <handa@etl.go.jp>
10082
10083 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10084 conversion.
10085
59f953a2
NF
100862000-08-04 Noah Friedman <friedman@splode.com>
10087
10088 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10089 docstring.
10090
688351f2
GM
100912000-08-04 Gerd Moellmann <gerd@gnu.org>
10092
10093 * syntax.c (skip_chars): Fix typo in error message.
10094
2dad51cc
AS
100952000-08-04 Andreas Schwab <schwab@suse.de>
10096
10097 * m/ia64.h: Moved from s/ia64.h.
10098
99bb2c60
KH
100992000-08-04 Kenichi Handa <handa@etl.go.jp>
10100
082a1df2
KH
10101 * process.c (read_process_output): Big simplification. Handle
10102 composition and post-read-conversion of coding system correctly.
10103 (send_process): Handle composition correctly.
10104
10105 * callproc.c (Fcall_process): Handle post-read-conversion of
10106 coding system if any.
10107
99bb2c60
KH
10108 * coding.c (decode_coding_iso2022): More strict check for handling
10109 single shifting.
082a1df2
KH
10110 (coding_restore_composition): Pay attention to the case that
10111 cmp_data is not set properly (because of invalid code in the
10112 source text).
10113 (run_pre_post_conversion_on_str): Include text properties in the
10114 resulting string.
10115 (decode_coding_string): Set members of coding correctly.
99bb2c60 10116
f4988be7
GM
101172000-08-03 Gerd Moellmann <gerd@gnu.org>
10118
10119 * s/ia64.h: New file.
10120
10121 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10122 Use NULL instead of 0 at the end of variable argument list of
10123 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10124 sizeof (int) < sizeof (void *).
10125
10126 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10127 of variable argument lists of XtVaGetValues and XtVaSetValues.
10128
10129 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10130 variable argument lists of XtVaGetValues and XtVaSetValues.
10131
ead53494
GM
101322000-08-02 Gerd Moellmann <gerd@gnu.org>
10133
10134 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10135 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10136
10137 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10138 prototype.
10139
10140 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10141 in call to Fsingle_key_description.
10142
10143 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10144 Callers changed.
10145
101462000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10147
10148 * window.c (display_buffer_reuse_frames): New variable.
10149 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10150 frames displaying BUFFER.
52283633 10151 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10152
10b0f752
MB
101532000-08-01 Miles Bader <miles@gnu.org>
10154
10155 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10156 when to constrain NEW_POS (they were pretty screwed up before).
10157
16425c4a
EZ
101582000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10159
10160 * msdos.c (run_msdos_command): Save and restore the master
10161 environment, for the case that child_setup signals an error.
10162 When mirroring slashes in DOS shell commands, don't fail when
10163 argv[2] has embedded blanks.
da288c14
EZ
10164 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10165 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10166 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10167
10168 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10169 using alloca; free it after run_msdos_command returns.
10170
27f73852
DL
101712000-07-27 Dave Love <fx@gnu.org>
10172
52283633
SM
10173 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10174 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10175
10176 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10177
c0261b5e
EZ
101782000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10179
10180 * editfns.c (lisp_time_argument): Fix last change.
10181
b548072f
GM
101822000-07-27 Gerd Moellmann <gerd@gnu.org>
10183
3ab82477
GM
10184 * fns.c (Fdelete): Make it work on vectors and strings in addition
10185 to lists.
10186
b548072f
GM
10187 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10188 (syms_of_fns): Initialize new variables.
52283633 10189 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10190 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10191 weakness, with t meaning the same as `key-and-value'.
10192
91ae8751
KH
101932000-07-27 Kenichi Handa <handa@etl.go.jp>
10194
10195 * coding.h (struct coding_system): Member safe_charset deleted.
10196
10197 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10198 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10199 New variables.
91ae8751
KH
10200 (coding_safe_chars): New function.
10201 (CODING_SAFE_CHAR_P): New macro.
10202 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10203 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10204 (detect_coding_iso2022): New local variable safe_chars.
10205 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10206 safe_charsets member of the coding system.
10207 (decode_coding_iso2022): New local variable safe_chars.
10208 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10209 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10210 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10211 (ENCODE_UNSAFE_CHARACTER): New macro.
10212 (encode_coding_iso2022): New local variable safe_chars. Check
10213 unsafe chars.
10214 (setup_coding_system): Delete the code to initialize
10215 coding->safe_charses
10216 (intersection, find_safe_codings): New functions.
10217 (Ffind_coding_systems_region_internal): New function.
10218 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10219 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10220 variable and initialize it.
10221
10222 * fns.c (char_table_ref_and_index): New function.
10223
10224 * lisp.h (char_table_ref_and_index): Add prototype.
10225
34a7a267
SS
102262000-07-26 Sam Steingold <sds@gnu.org>
10227
10228 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10229 (Ffloat_time): New built-in Lisp function.
34a7a267 10230
a95cb10a
GM
102312000-07-26 Gerd Moellmann <gerd@gnu.org>
10232
3353ef5a
GM
10233 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10234 for the character code.
10235
10236 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10237 GNU/Linux.
10238
a95cb10a
GM
10239 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10240 if called for a popup menu.
10241 (xmenu_show): Store help string in widget values.
10242
b4a12321
DL
102432000-07-26 Dave Love <fx@gnu.org>
10244
10245 * syswait.h: Move some definitions.
10246 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10247 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10248 perspicuous definitions.
10249 (WTERMSIG): Fix bit pattern used.
10250
13f5ad37
KH
102512000-07-26 Kenichi Handa <handa@etl.go.jp>
10252
10253 * print.c (print_object): If vector printing is truncated, print
10254 "..." to indicate it as well as the case of list printing.
10255
070fe99c
GM
102562000-07-25 Gerd Moellmann <gerd@gnu.org>
10257
969065c3
GM
10258 * xdisp.c (next_element_from_display_vector): Improve comments.
10259
10260 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10261 for the character code, and the rest for the face id as in 20.x.
10262 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10263
10264 * window.c (window_display_table): Cleaned up.
10265
070fe99c
GM
10266 * syntax.c (Fforward_word): Add last arg nil in call of
10267 Fconstrain_to_field.
10268
bad77ef7
EZ
102692000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10270
969065c3 10271 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10272 identical but for the letter-case, don't call
10273 barf_or_query_if_file_exists.
bad77ef7 10274
c28da489
MB
102752000-07-25 Miles Bader <miles@gnu.org>
10276
10277 * editfns.c (find_field): Honor special `boundary' fields.
10278 (Qboundary): New variables.
10279 (syms_of_editfns): Initialize Qboundary.
10280 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10281 Use scan_buffer instead of find_before_next_newline, because it
10282 allows us to detect the boundary case where there's a newline at
10283 the search limit.
10284 * lisp.h (Fconstrain_to_field): Update external declaration.
10285
e3c31fd5
GM
102862000-07-24 Gerd Moellmann <gerd@gnu.org>
10287
10288 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10289 if that is nil.
c28da489 10290
c66c29a2
DL
102912000-07-24 Dave Love <fx@gnu.org>
10292
10293 * s/sunos4-0.h, s/sol2.h:
10294 (LIBS_TERMCAP): Move from m/sparc.h.
10295
10296 * m/sparc.h (TERMINFO): Moved to system files (probably only
10297 relevant for sunos4 judging by its vintage).
10298 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10299 __arch64__.
10300
fbe0a958
EZ
103012000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10302
10303 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10304 name to single_keymap_panes.
10305
7d88e5c9
AS
103062000-07-24 Andreas Schwab <schwab@suse.de>
10307
10308 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10309
e024b101
GM
103102000-07-24 Gerd Moellmann <gerd@gnu.org>
10311
10312 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10313 parameters instead of using int parameters. Expect FN to accept
10314 EMACS_INT parameters.
10315 (display_echo_area, resize_echo_area_axactly, current_message)
10316 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10317 with new argument list.
10318 (resize_mini_window_1): New callback function.
10319 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10320 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10321
25c1a9ce
KH
103222000-07-24 Kenichi Handa <handa@etl.go.jp>
10323
10324 * fontset.c (fontset_ref): Remove INLINE declaration.
10325 (fontset_ref_via_base): Likewise.
10326 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10327 to downcase.
10328
7f987ac0
EZ
103292000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10330
10331 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10332 correct order of priority. If help echo was found in an overlay,
10333 use that overlay as the object in which the help echo was found.
10334
e2db3069
MB
103352000-07-22 Miles Bader <miles@gnu.org>
10336
10337 * textprop.c (Fprevious_single_char_property_change): The initial
10338 property value should be from the position preceding POSITION, not
10339 following it.
10340
5e3203e4
EZ
103412000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10342
10343 * coding.c (syms_of_coding): Doc fix for
10344 inhibit-iso-escape-detection.
10345
62145073
GM
103462000-07-21 Gerd Moellmann <gerd@gnu.org>
10347
c20aeb83
GM
10348 * xterm.c (note_mouse_highlight): Process overlays in the right
10349 order of priority.
34a7a267 10350
743934db
GM
10351 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10352
10353 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10354 overlay, use that overlay as the object in which the help was found.
743934db 10355
d1dc7e43 10356 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10357
62145073
GM
10358 * window.c (foreach_window): Instead of a fake variable argument
10359 list, take one USER_DATA argument.
10360 (foreach_window_1): Likewise, and call callback functions with two
10361 args, the window and USER_DATA.
10362 (struct check_window_data): New struct.
10363 (check_window_containing): Use it.
10364 (window_from_coordinates): Set up a struct check_window_data for
10365 foreach_window.
10366 (add_window_to_list, freeze_window_start): Change parameters
10367 according to new calling convention.
10368
10369 * window.h (foreach_window): Change prototype.
10370
10371 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10372
103732000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10374
10375 * xmenu.c (menu_help_callback): Call show_help_echo with
10376 additional arguments OBJECT and POS.
10377
11270583
KH
103782000-07-21 Kenichi Handa <handa@etl.go.jp>
10379
07b14857
KH
10380 * data.c (Faset): Allow storing any multibyte character in a
10381 string. Convert unibyte string to multibyte if necessary.
10382
11270583
KH
10383 * xfns.c (x_encode_text): New function.
10384 (x_set_name): Use x_encode_text.
10385 (x_set_title): Likewise.
10386
10387 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10388
10389 * xterm.h (x_encode_text): Add prototype.
10390
bc75b4fd
DL
103912000-07-20 Dave Love <fx@gnu.org>
10392
10393 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10394 xfree, not free.
10395
48c14970
EZ
103962000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10397
10398 * msdos.c (help_echo_window): New variable.
10399 (syms_of_msdos): Initialize and staticpro it.
10400 (IT_note_mode_line_highlight): Set help_echo_window.
10401 (IT_note_mouse_highlight): Ditto.
10402 (dos_rawgetc): Store help_echo_window in the second event produced
10403 for HELP_EVENTs.
10404
10405 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10406 Record the object that generated the help echo and the position of
10407 that object in help_echo_object and help_echo_pos. Record that
10408 some glyphs in a row are displayed in mouse-face.
10409 (IT_update_begin): Don't clear mouse highlight unless one of the
10410 enabled glyph rows is marked as being displayed in mouse-face.
10411 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10412 and position recorded in help_echo_object and help_echo_pos to the
10413 event queue.
10414 (IT_menu_display): Accept a new argument PN: the pane number of
10415 the current menu pane. Record the pane number and the item
10416 number of the item which has associated help string.
10417 (XMenuActivate): Update the prototype for help_callback in
10418 function declaration. Call IT_menu_display with the current menu
10419 pane number as an additional argument. Call help_callback with
10420 two additional arguments: the pane number and the item number of
10421 the menu item associated with the help text.
10422 (help_echo_object, help_echo_pos): New variables.
10423 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10424
10425 * msdos.h (XMenuActivate): Update prototype.
10426
4279296d
GM
104272000-07-19 Gerd Moellmann <gerd@gnu.org>
10428
47db06aa
GM
10429 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10430 Add some more prototypes.
10431
10432 * xterm.c, xterm.h: Add some more prototypes.
10433
10434 * lisp.h (Fnext_single_char_property_change): Add prototype.
10435
10436 * dispnew.c (direct_output_for_insert): Remove confusing
10437 outer local variable mouse_face_overwritten_p.
10438 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10439
4279296d
GM
10440 * alloc.c (allocate_string_data): Don't copy old string contents.
10441
670acd62
KH
104422000-07-19 Kenichi Handa <handa@etl.go.jp>
10443
10444 * coding.c (code_convert_region): Delete text properties before
10445 shrinking the conversion region.
10446
7cea38bc
GM
104472000-07-18 Gerd Moellmann <gerd@gnu.org>
10448
dc1cac59
GM
10449 * dispnew.c (update_text_area): Write the whole row if it
10450 has mouse-face in it.
10451
85a8aca9
GM
10452 * xfaces.c (face-alternative-font-family-alist): Remove
10453 DEFVAR_LISP; staticpro instead.
10454
34a7a267 10455 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10456 new arguments.
10457
10458 * keyboard.c (show_help_echo): Add parameter WINDOW.
10459 (read_char): Call show_help_echo with window extracted from Lisp
10460 help event.
10461 (gen_help_event): Add parameter WINDOW.
10462
10463 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10464
10465 * xterm.c (help_echo_window): New variable.
52283633 10466 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10467 (XTread_socket): Pass help_echo_window to gen_help_event.
10468 (syms_of_xterm): Initialize and staticpro help_echo_window.
10469
f8276b77
DL
104702000-07-18 Dave Love <fx@gnu.org>
10471
52283633 10472 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10473
088831a6
GM
104742000-07-18 Gerd Moellmann <gerd@gnu.org>
10475
3d6cd763
GM
10476 * alloc.c (allocate_string_data): If string had already data
10477 assigned, copy old contents to new string data.
10478
10479 * coding.c (syms_of_coding): Fix typo in spelling of variable
10480 `inhibit-iso-escape-detection'.
10481
088831a6
GM
10482 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10483
10484 * Makefile.in: Add dependencies on dispextern.h.
10485 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10486 `free'; both can conflict with system header files.
10487
bc8a8d55
KH
104882000-07-18 Kenichi Handa <handa@etl.go.jp>
10489
10490 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10491 undefined.
10492
069f5950
DL
104932000-07-18 Dave Love <fx@gnu.org>
10494
10495 * window.c (Fwindow_list): Declare arg `window'.
10496
aa96c820
KH
104972000-07-18 Kenichi Handa <handa@etl.go.jp>
10498
10499 * coding.c (setup_coding_system): Don't override the explicitly
10500 specified designations.
10501
06be8d32
MB
105022000-07-15 Miles Bader <miles@gnu.org>
10503
10504 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10505 from `text_property_eq' and `text_property_stickiness', respectively.
10506 (find_field, Fconstrain_to_field, char_property_eq)
10507 (char_property_stickiness): Changed to call char-property functions
10508 instead of text-property-only ones.
10509
10510 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10511 `next_single_char_property_change'). Do more error checking, and
10512 cleanup limit behavior.
10513 (Fprevious_single_char_property_change): New function.
10514 (syms_of_textprop): Initialize new subrs.
10515
10516 * xdisp.c (display_prop_end, invisible_text_between_p):
10517 Call Fnext_single_char_property_change instead of
10518 next_single_char_property_change.
10519
3fddcdc3
JR
105202000-07-15 Jason Rumney <jasonr@gnu.org>
10521
10522 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10523 after menu is finished with.
10524 (add_menu_item): Only consider wv->title as a menu title.
10525 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10526
10527 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10528 null title.
10529 (FONT_REGEXP): Remove unused macro, and its sub-components.
10530 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10531
10532 * w32term.c (help_echo_object, help_echo_pos): New variables.
10533 (note_mode_line_highlight): Store additional information about the
10534 help-echo in help_echo_object and help_echo_pos. Check both
10535 `local-map' and `keymap' properties for changing the cursor
10536 (note_mouse_highlight): Store additional information about the
10537 help-echo in help_echo_object and help_echo_pos.
10538 (note_tool_bar_highlight): Set help_echo_object to nil and
10539 help_echo_pos to -1.
10540 (w32_read_socket): Use gen_help_event instead of filling
10541 input_events manually.
10542 (syms_of_w32term): Staticpro help_echo_object.
10543 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10544 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10545 (x_clear_mouse_face): New function.
10546 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10547 (x_update_window_begin): No need to turn off the mouse
10548 highlight here.
10549 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10550 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10551 (x_fill_stretch_glyph_string): Consume runs of stretch
10552 glyphs instead of a single one.
10553 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10554 with new argument list.
10555 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10556 (x_append_glyph, x_append_composite_glyph)
10557 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10558 changes in struct glyph starting 1999-12-27. See comments for
10559 xterm.c on 2000-07-05.
10560
178c5d9c
SS
105612000-07-14 Sam Steingold <sds@gnu.org>
10562
10563 * xfaces.c (realize_x_face): Fix the last patch:
10564 check `default_face' before dereferencing.
10565
6fe533f6
DL
105662000-07-14 Dave Love <fx@gnu.org>
10567
069f5950 10568 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10569
dd7b81cf
KH
105702000-07-14 Kenichi Handa <handa@etl.go.jp>
10571
0693904a 10572 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10573 default_face's fontset, not using the default fontset.
0693904a 10574
dd7b81cf
KH
10575 * coding.c (inhibit_iso_escape_detection): New variable.
10576 (syms_of_coding): Make it a Lisp variable.
10577 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10578 nonzero, ignore ISO2022's escape sequence.
10579
d5aa31d8
GM
105802000-07-14 Gerd Moellmann <gerd@gnu.org>
10581
e5acf0ca
GM
10582 * alloca.c (malloc) [emacs]: Define as xmalloc.
10583
bd23a692
GM
10584 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10585 use that instead of the mouse position. Add parameters DX and DY.
10586
10587 * dispextern.h (Fx_show_tip): Adjust number of parameters
10588 in prototype.
10589
9662da0b
GM
10590 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10591 if HELP is a function, call it with OBJECT and POS as parameters
10592 to get the help to display.
10593 (gen_help_event, kbd_buffer_store_help_event): New functions.
10594 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10595 (read_char): Call show_help_echo with new parameters.
10596
178c5d9c 10597 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10598 Add prototypes.
10599
10600 * xterm.c (help_echo_object, help_echo_pos): New variables.
10601 (note_mode_line_highlight): Store additional information about the
10602 help-echo in help_echo_object and help_echo_pos. Check both
10603 `local-map' and `keymap' properties for changing the cursor
10604 (note_mouse_highlight): Store additional information about the
10605 help-echo in help_echo_object and help_echo_pos.
10606 (note_tool_bar_highlight): Set help_echo_object to nil and
10607 help_echo_pos to -1.
10608 (XTread_socket): Use gen_help_event instead of filling
10609 input_events manually.
10610 (syms_of_xterm): Staticpro help_echo_object.
10611
10612 * xmenu.c (menu_highlight_callback): Use
10613 kbd_buffer_store_help_event instead of setting up and input_event
10614 structure manually.
10615
10616 * xdisp.c (eval_form): GCPRO argument sexpr.
10617 (call_function): New function.
10618 (handle_single_display_prop): Use call_function and FUNCTIONP
10619 instead of checking whether if font_height is a symbol and
10620 using eval_form.
10621
10622 * eval.c (internal_condition_case_2): New function.
10623
10624 * lisp.h (FUNCTIONP): New macro.
10625 (internal_condition_case_2, call_function): Add prototypes.
10626
d5aa31d8
GM
10627 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10628 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10629 Always set `arg' member of input_events.
10630 (construct_menu_click): Unused function removed.
10631
10632 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10633
10634 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10635 (construct_drag_n_drop, x_scroll_bar_handle_click)
10636 (w32_read_socket): Always set `arg' member of input_events.
10637
10638 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10639
10640 * lisp.h (eval_form): Add prototype.
10641
10642 * xdisp.c (eval_form): Make it externally visible.
10643
0f1a9b23
GM
106442000-07-13 Gerd Moellmann <gerd@gnu.org>
10645
10646 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10647 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10648 consing. For prefix events, store the frame in the `arg' slot of
10649 the event, otherwise store the key there.
10650 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10651 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10652
10653 * xmenu.c (menu_highlight_callback): Store help string in the
10654 `arg' member of the input event; don't cons.
10655 (menubar_selection_callback): Use the `arg' slot of input events
10656 to queue additional information, instead of consing.
10657
10658 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10659
10660 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10661 TOOL_BAR_EVENTs.
10662 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10663
10664 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10665 input events to queue additional information, instead of consing.
10666
10667 * keyboard.c (kbd_buffer_gcpro): Renamed from
10668 kbd_buffer_frame_or_window. Now used for all Lisp objects
10669 referenced from the input queue.
10670 (kbd_buffer_store_event): Always use structure assignment for
10671 copying input events. Record all Lisp objects referenced from
10672 events in kbd_buffer_gcpro.
10673 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10674 differently from input events. Test for prefix menu_bar_events
10675 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10676 event in kbd_buffer_gcpro to nil.
10677 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10678 frame_or_window is equal to its arg member as prefix events.
10679 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10680 used by an input event to nil.
10681 (init_keyboard): Use two times the size of the input queue
10682 for kbd_buffer_gcpro.
10683 (syms_of_keyboard): Likewise.
10684
52283633
SM
10685 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10686 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10687
10688 * termhooks.h (struct input_event): Add member `arg'.
10689 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10690 (USER_SIGNAL_EVENT): Renamed from user_signal.
10691
10692 * xfaces.c (ASET): Remove definition.
10693
10694 * lisp.h (AREF, ASET, ASIZE): New macros.
10695
10696 * fontset.c (AREF, ASIZE): Remove definitions.
10697
10698 * fns.c (AREF): Remove definition.
178c5d9c 10699
0f1a9b23
GM
10700 * composite.c (AREF): Remove definition.
10701
712eaef2
GM
107022000-07-12 Gerd Moellmann <gerd@gnu.org>
10703
d8ee7803
GM
10704 * dispnew.c (redraw_overlapped_rows): Add missing local.
10705 (scrolling_window): Remove debug code.
10706
712eaef2
GM
10707 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10708 Before scrolling, turn off a mouse-highlight in the window
10709 being scrolled.
10710
10711 * xterm.c (x_update_window_end): Add parameter
10712 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10713 redisplay in XTframe_up_to_date.
10714 (x_clear_mouse_face): New function.
10715 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10716
10717 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10718 current glyph row.
10719 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10720 it when any row is written to that contains glyphs highlighted in
10721 mouse-face.
10722 (update_window): Call the window update end hook with new
10723 parameter MOUSE_FACE_OVERWRITTEN_P.
10724 (direct_output_for_insert): Give up if row contains mouse-face.
10725
10726 * dispextern.h (struct redisplay_interface): Add parameter
10727 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10728 (clear_mouse_face): New function pointer member.
10729
02010917
SM
107302000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10731
10732 * syntax.c (back_comment): Use one switch rather than a few `if's.
10733 Obey open_paren_in_column_0_is_defun_start.
10734 When reverting to the `slow' method, try to nicely handle the case
10735 of nested comments by checking that the comment-starter we found
10736 does indeed match the comment-ender.
10737 (scan_sexps_forward, scan_sexps_forward):
10738 Ignore excessive opening parenthesis rather than throwing an error.
10739
d76c03ea
GM
107402000-07-11 Gerd Moellmann <gerd@gnu.org>
10741
10742 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10743 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10744
10745 * dispnew.c (direct_output_forward_char): Give up if currently
10746 displaying a message instead of the minibuffer contents.
10747
10748 * xterm.c (x_update_window_begin): No need to turn off the mouse
10749 highlight here.
10750 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10751 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10752
10753 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10754 compare the mouse_face_p flags of both rows.
10755
10756 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10757
d55ead18
EZ
107582000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10759
10760 * keyboard.c (show_help_echo): Accept additional parameter
10761 ok_to_overwrite_keystroke_echo.
10762 (read_char): Call show_help_echo with a zero
10763 ok_to_overwrite_keystroke_echo argument.
52283633 10764 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10765 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10766 ok_to_overwrite_keystroke_echo argument.
10767 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10768 non-zero ok_to_overwrite_keystroke_echo argument.
10769
df75b1a3
GM
107702000-07-10 Gerd Moellmann <gerd@gnu.org>
10771
4b92c49a
GM
10772 * xdisp.c (try_window_id): If changes are all below what is
10773 displayed in the window, and point is in the window, we still
10774 might have to find point on the display.
10775
10776 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10777 glyphs instead of a single one.
10778 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10779 with new argument list.
10780 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10781
df75b1a3
GM
10782 * keymap.c (get_keymap_1): Add comment that this function can GC.
10783 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10784 comment that functions can GC.
10785 (Fset_keymap_parent): GCPRO arg KEYMAP.
10786
4314cf3e
EZ
107872000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10788
10789 * msdos.c (XMenuActivate): After exiting the menu, restore the
10790 echo area message and erase it.
10791
ab49ce15
KH
107922000-07-10 Kenichi Handa <handa@etl.go.jp>
10793
10794 * fontset.c (Ffontset_info): Make the return value more compatible
10795 with that of Emacs 20.
10796
090a072f
GM
107972000-07-07 Gerd Moellmann <gerd@gnu.org>
10798
10799 * eval.c (Fsignal): Handle case that backtrace_list is null.
10800
f92de4a6
KH
108012000-07-07 Kenichi Handa <handa@etl.go.jp>
10802
10803 * ccl.c (Fccl_execute): Typo fixed.
10804
dd8888a1
GM
108052000-07-06 Gerd Moellmann <gerd@gnu.org>
10806
e5c81191 10807 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10808
dd8888a1
GM
10809 * window.c (Fwindow_list): Reverse list at the end.
10810 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10811 means allow windows on OWINDOW's frame, only.
10812 (window_loop): Simplified; use Fwindow_list.
10813
10814 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10815
485266d0
GM
108162000-07-05 Gerd Moellmann <gerd@gnu.org>
10817
10818 * xterm.c (XTread_socket): Increment handling_signal at the start,
10819 decrement it at the end.
10820
10821 * eval.c (handling_signal): New variable.
10822 (Fsignal): Abort if handling_signal is non-zero.
10823
10824 * lisp.h (handling_signal): External declaration.
178c5d9c 10825
485266d0
GM
10826 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10827
80fcd514
KR
108282000-07-05 Ken Raeburn <raeburn@gnu.org>
10829
10830 Sound support for NetBSD through "Linux emulation" support:
10831 * config.in (HAVE_SOUNDCARD_H): Undef.
10832 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10833 * Makefile.in (LIBSOUND): New variable.
10834 (LIBES): Include it.
52283633
SM
10835 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10836 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10837 (vox_open): Use DEFAULT_SOUND_DEVICE.
10838 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10839
d5c5cddd
GM
108402000-07-05 Gerd Moellmann <gerd@gnu.org>
10841
10842 * print.c (print_error_message): If Vsignaling_function is set,
10843 show it in *Messages*.
10844
10845 * lisp.h (Vsignaling_function): External declaration.
10846
10847 * eval.c (Vsignaling_function): New variable.
10848 (Fsignal): Compute it.
10849 (syms_of_eval): Staticpro it.
10850
65171e3a
DL
108512000-07-05 Dave Love <fx@gnu.org>
10852
10853 * syswait.h: Use the autoconf recommended approach. Old code
10854 #if'd out in case we need to revert.
10855
178c5d9c 10856 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10857
e2c46326
AI
108582000-07-05 Andrew Innes <andrewi@gnu.org>
10859
10860 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10861 when non-NULL instead of __morecore, to take account of buffer
10862 memory. This also solves a problem with spurious memory warnings
10863 on Windows.
10864
10865 * ralloc.c: Make real_morecore non-static.
10866
10867 * eval.c (internal_condition_case): Comment out abort if
10868 interrupt_input_blocked is not zero.
10869
10870 * makefile.nt: Add support for `bootstrap' and related targets.
10871 Include minimal debug info in emacs.exe in release build.
10872 Remove all dependencies on lisp.h, and fixup some others.
10873
10874 * w32.c (init_environment): Install code from 20.7 for providing
10875 default values for environment variables, based on the
10876 executable's own location.
52283633 10877 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10878 (sys_socket): Install socket inheritance bug fix from 20.7.
10879
10880 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10881 here via blockinput.h).
10882
a027a91b
SM
108832000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10884
e4b31601
SM
10885 * w32menu.c (w32_menu_display_help):
10886 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10887
10888 * keyboard.h (show_help_echo): Declare.
10889
10890 * keyboard.c (show_help_echo): New function, extracted from read_char.
10891 Feval its `msg' argument if it's a cons cell.
10892 (read_char): Use it.
4cf8d9d5 10893 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10894
178c5d9c 10895 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10896 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10897 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10898 (dos_rawgetc):
10899 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10900 (note_tool_bar_highlight, w32_read_socket):
10901 Do not gratuitously ignore non-string `help-echo' properties.
10902
88d75730
GM
109032000-07-05 Gerd Moellmann <gerd@gnu.org>
10904
969f7e79
GM
10905 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10906
71201b00
GM
10907 * window.c (delete_all_subwindows): Reset Vwindow_list.
10908
88d75730
GM
10909 * xterm.c (x_append_glyph, x_append_composite_glyph)
10910 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10911 changes in struct glyph starting 1999-12-27. Some bit-fields of
10912 struct glyph were not set, which made glyphs unequal when compared
10913 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10914 effects were the result. This also depended on the contents of
10915 memory returned by xmalloc. If flickering happens again, activate
10916 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10917 gone with that, chances are that it is caused by something similar.
88d75730
GM
10918
10919 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10920
88d75730
GM
10921 * dispextern.h: Add some comments.
10922
10923 * window.c (add_window_to_list): Add parameter LIST.
10924 (window_list): Order list so that, for each frame, windows are
10925 in canonical order, and so that frames appear in the list in
10926 the order given by Vframe_list.
10927 (next_window): Reverse the handling of NEXT_P.
10928
53654733
GM
109292000-07-04 Gerd Moellmann <gerd@gnu.org>
10930
87efd256
GM
10931 * window.c (Vwindow_list): New variable.
10932 (make_window, delete_window): Set Vwindow_list to nil.
10933 (check_window_containing): New function.
10934 (window_from_coordinates): Rewritten.
10935 (add_window_to_list, window_list, candidate_window_p)
10936 (decode_next_window_args, next_window): New functions.
52283633 10937 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10938 (Fwindow_list): New function.
10939 (Fother_window): Cleaned up.
10940 (foreach_window): Add a longer "variable argument list". Let
10941 callback function return 0 to indicate that cycling over windows
10942 should stop.
10943 (foreach_window_1): Likewise.
10944 (freeze_window_start): Return int.
10945 (init_window): New function.
10946 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10947
10948 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10949 input_event with bzero.
10950 (main): Call init_window.
10951
53654733
GM
10952 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10953 a menu filter.
10954
4a8c194f
KH
109552000-07-04 Kenichi Handa <handa@etl.go.jp>
10956
10957 * composite.h (make_composition_value_copy): Extern it.
10958
10959 * composite.c (make_composition_value_copy): New function.
10960
10961 * editfns.c (Fformat): While copying text properties, make each
10962 composition property value a copy.
10963
10964 * fns.c (concat): While copying text properties, make each
10965 composition property value a copy.
10966
831a6cb0
GM
109672000-07-03 Gerd Moellmann <gerd@gnu.org>
10968
2f516940
GM
10969 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10970
178c5d9c 10971 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10972 marked already.
10973
831a6cb0
GM
10974 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10975 include those frames as candidates which have their focus
10976 redirected to the minibuffer frame.
10977
d9c4f922
SM
109782000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10979
10980 * fns.c (Fputhash): Return `value' rather than nil.
10981
3780bc22
GM
109822000-06-30 Gerd Moellmann <gerd@gnu.org>
10983
97d176db
GM
10984 * frame.c (next_frame): Don't check focus redirection in case
10985 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10986 unless their focus is redirected, which contradicts the
10987 specification of next-frame, and leads to infinite loops in
10988 certain situations when cycling through windows with next-window.
10989
dca9961d
KH
109902000-06-30 Kenichi Handa <handa@etl.go.jp>
10991
10992 * coding.c (code_convert_region): Even if the length of text is
10993 zero, try to convert it if coding->type is coding_type_ccl.
10994 (decode_coding_string, encode_coding_string): Likewise.
10995
d5483ab1
GM
109962000-06-28 Gerd Moellmann <gerd@gnu.org>
10997
af5c25e1 10998 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10999 the display if windows_or_buffers_changed.
af5c25e1
GM
11000
11001 * dispnew.c (struct row_entry): New structure.
11002 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11003 (row_table_size, old_lines, new_lines, old_lines_size)
11004 (new_lines_size, run_pool, runs_size, runs): New variables.
11005 (add_row_entry): New function.
11006 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11007 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11008 holding them in local variables. Use a larger hash table whose
11009 size depends on glyph matrix sizes. Don't use bzero to clear the
11010 hash table; instead, clear used slots only.
11011
11012 * fns.c (next_almost_prime): Make it externally visible.
11013
11014 * lisp.h (next_almost_prime): Add prototype.
11015
d5483ab1
GM
11016 * s/isc4-0.h (sigunblock): Define.
11017
11018 * s/sco5.h (sigunblock): Define.
11019
93e40f40
DL
110202000-06-27 Dave Love <fx@gnu.org>
11021
11022 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11023 (moved to osf5-0.h).
11024 [!NOT_C_CODE]: Protect string.h stuff.
11025
11026 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11027 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11028
3c4b7685
GM
110292000-06-27 Gerd Moellmann <gerd@gnu.org>
11030
97d176db 11031 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11032 below the last line from the needed window height.
11033
32cad0aa
SM
110342000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11035
11036 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11037 (Fwidget_get): Use it.
11038 (syms_of_fns): Defsubr it.
11039
2c69ced2
GM
110402000-06-26 Gerd Moellmann <gerd@gnu.org>
11041
178c5d9c 11042 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11043 display info for XIM.
11044 (xim_open_dpy): Likewise.
11045 (xim_close_dpy): Don't free the display info's XIM.
11046
11047 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11048
11049 * config.in (USE_XIM): New define.
11050
3fc720e4
GM
11051 * keymap.c (get_keyelt): For menu-items containing a `:filter
11052 FILTER', apply FILTER to the menu-item's definition to get the
11053 real definition to use.
11054
11055 * lisp.h (QCfilter): External declaration.
11056
2c69ced2
GM
11057 * xfns.c (Fimage_size): New function.
11058 (syms_of_xfns): Defsubr it.
11059
f978b2a2
AS
110602000-06-26 Andreas Schwab <schwab@suse.de>
11061
11062 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11063 Fstring_as_unibyte.
11064
94cc7892
DL
110652000-06-25 Dave Love <fx@gnu.org>
11066
52283633 11067 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11068
11069 * Makefile.in (blockinput.h): Depend on atimer.h.
11070 (atimer.h): Depend on systime.h.
11071
52283633 11072 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11073
52283633 11074 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11075
11076 * lisp.h (swap_in_global_binding): Declare.
11077
b8c24556
KR
110782000-06-24 Ken Raeburn <raeburn@gnu.org>
11079
11080 * process.c (Fopen_network_stream): Turn off atimers for duration
11081 of call to connect. (Patch from Gerd.)
11082
8cf8560b
DL
110832000-06-23 Dave Love <fx@gnu.org>
11084
511c7541
DL
11085 * ralloc.c: Maybe include unistd.h
11086
8cf8560b
DL
11087 * emacs.c (setgrp): Undefine before defining.
11088 (malloc_warning, set_time_zone_rule, index): Prototype.
11089
11090 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11091 HAVE_STRUCT_TIMEZONE.
11092
11093 * s/osf1.h: Move string.h hack here from alpha.h and make it
11094 conditional.
11095 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11096 _XOPEN_SOURCE.
11097 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11098 (SOCKLEN_TYPE): Don't define.
11099
11100 * m/alpha.h: Remove string.h hack.
11101
11102 * s/osf5-0.h: New file.
11103
11104 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11105 include time.h, done by systime.h.
11106 [__FreeBSD__]: Remove redundant includes.
11107
3fc720e4 11108 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11109 (delete_temp_file): Return Qnil to avoid warning.
11110
11111 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11112
11113 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11114 HAVE_X_WINDOWS.
11115
11116 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11117
11118 * composite.h (compose_text): Declare.
11119
11120 * xterm.c: Don't include sys/types.h unconditionally. Don't
11121 protect its inclusion with !USG (following xmenu.c).
11122
ea055732
GM
111232000-06-23 Gerd Moellmann <gerd@gnu.org>
11124
11125 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11126 in x_create_frame.
11127
74b01b80
EZ
111282000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11129
11130 * coding.c (decode_eol_post_ccl): Special handling for undecided
11131 and inconsistent EOL types.
11132
64f3a166
GM
111332000-06-22 Gerd Moellmann <gerd@gnu.org>
11134
16cf31f7
GM
11135 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11136 trough color and main window's background color.
11137
52283633 11138 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11139
11140 * xterm.h (Xt_app_con): External declaration.
11141
11142 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11143
486a103d
GM
11144 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11145
64f3a166
GM
11146 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11147 (handle_invisible_prop): Record the start of invisible text in
11148 it->add_overlay_start.
11149 (struct overlay_entry): Add member `overlay'.
11150 (handle_overlay_change): Simplify.
11151 (next_overlay_string): After having processed overlay strings at the
11152 end of the buffer, record that fact in
11153 it->overlay_strings_at_end_processed_p.
11154 (compare_overlay_entries): If before- and after-strings come
11155 from the same overlay, let before-strings come first.
11156 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11157 (load_overlay_strings): Take it->add_overlay_start into account
11158 when adding overlay strings.
11159
11160 * dispextern.h (struct it): Add member add_overlay_start.
11161
bb746ea6
DL
111622000-06-22 Dave Love <fx@gnu.org>
11163
11164 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11165
11166 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11167
a8f573f3
KH
111682000-06-22 Kenichi Handa <handa@etl.go.jp>
11169
11170 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11171 is greater than 0.
11172
9f2bbc92
DL
111732000-06-21 Dave Love <fx@gnu.org>
11174
178c5d9c 11175 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11176
3ee5041c
SM
111772000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11178
11179 * syntax.c (back_comment): Simplify string-parity counting (with
11180 the added benefit of handling multiple string-styles as long as
11181 they are not intertwined).
11182 Jump to the slow code as soon as a comment starter is found in
11183 a "string_lossage" position. Fixes the case: " /* " /* " */.
11184
4c343001
DL
111852000-06-21 Dave Love <fx@gnu.org>
11186
11187 * Makefile.in: Use GETLOADAVG_LIBS.
11188
11189 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11190 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11191
e6365855
SM
111922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11193
11194 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11195 (Fforward_comment, scan_lists):
11196 Check the comstyle of single-char comment-starters.
11197 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11198 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11199 Check the comstyle of single-char comment-starters.
11200 Clarify control-flow around the Scomment case.
e6365855 11201
5700d2cc
DL
112022000-06-20 Dave Love <fx@gnu.org>
11203
d355bd8a
SM
11204 * fns.c (make_hash_table, maybe_resize_hash_table):
11205 Cast arg of next_almost_prime.
5700d2cc 11206
178c5d9c 11207 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11208
11209 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11210 and unistd.h.
11211
4a27bdfb
GM
112122000-06-20 Gerd Moellmann <gerd@gnu.org>
11213
a61d762c 11214 * keyboard.c (adjust_point_for_property): Check if display
52283633 11215 property should be treated as intangible by looking at its value.
a61d762c 11216
178c5d9c 11217 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11218 (display_prop_intangible_p): New functions.
11219
11220 * dispextern.h (display_prop_intangible_p): Add prototype.
11221
11222 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11223
4a27bdfb
GM
11224 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11225 argument to sigprocmask.
11226
11227 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11228 argument to sigprocmask.
11229
11230 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11231 sigprocmask_set, and pass a pointer to it to sigprocmask.
11232
11233 * sysdep.c (sigprocmask_set): New variable.
11234
11235 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11236 report_file_error.
11237
427ec082
SS
112382000-06-20 Sam Steingold <sds@gnu.org>
11239
11240 * xrdb.c: Don't declare xmalloc, xrealloc.
11241
8972fe79 112422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11243
11244 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11245 (re_comp): Cast gettext return value to avoid complaints when
11246 !HAVE_LIBINTL.
11247
074b6efe
DL
112482000-06-20 Dave Love <fx@gnu.org>
11249
52283633 11250 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11251
5700d2cc 11252 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11253
d355bd8a 11254 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11255
11256 * m/alpha.h: Don't declare xmalloc, xrealloc.
11257
0af4f205
DL
11258 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11259
11260 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11261
11262 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11263
11264 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11265 HAVE_GETWD.
11266
074b6efe
DL
11267 * keyboard.h (poll_for_input_1): Declare.
11268
11269 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11270
11271 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11272
11273 * doprnt.c: Don't declare xmalloc, xrealloc.
11274
11275 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11276 (getenv, ctime, getwd): Removed.
11277 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11278
11279 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11280 x_set_tool_bar_lines.
11281
11282 * config.in: Add HAVE_GETWD. Move some definitions above
11283 machine/system includes.
11284
68a5e97b
KH
112852000-06-20 Kenichi Handa <handa@etl.go.jp>
11286
95417e1e
KH
11287 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11288
68a5e97b
KH
11289 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11290 contain information about ENCODING.
11291
11292 * fontset.c (FONTSET_ASCII): Use the first element of char table
11293 for an ASCII font, not defalt slot.
11294 (fontset_ref_via_base): If FONTSET doesn't contain information for
11295 C, try the default fontset.
11296 (make_fontset): Don't copy the default fontset.
11297 (fontset_font_pattern): Likewise.
11298 (accumulate_font_info): If ELT is nil, use the corresponding
11299 element in the default fontset.
11300
3b4fa1b2
DL
113012000-06-19 Dave Love <fx@gnu.org>
11302
943e731c
DL
11303 * syntax.c (Fparse_partial_sexp): Doc fix.
11304
11305 * regex.h: Test PROTOTYPES as well as __STDC__.
11306
3b4fa1b2
DL
11307 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11308 errno, strerror. Put text after #endif in comment.
11309
52283633 11310 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11311
11312 * xterm.c (x_frame_of_widget): Likewise.
11313
cdf0357b
GM
113142000-06-19 Gerd Moellmann <gerd@gnu.org>
11315
11316 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11317 to Vfundamental_mode_abbrev_table.
11318
11319 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11320 bogus objects are marked. This slows down GC by ~80 percent, but
11321 it might be worth trying when debugging GC-related problems.
11322 This feature requires conservative stack marking to be enabled.
11323
11324 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11325 returns XLookupChars, reset `modifiers' to zero.
11326
998e9f8c
DL
113272000-06-19 Dave Love <fx@gnu.org>
11328
11329 * mktime.c: Unprotoized.
11330
18e21ce8 113312000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11332
11333 * data.c (set_internal): If variable is frame-local,
11334 store the new value immediately into the frame parameter alist.
11335
140c4ac6
KR
113362000-06-19 Ken Raeburn <raeburn@gnu.org>
11337
14358466
KR
11338 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11339 in the custom handler pointer.
11340
140c4ac6
KR
11341 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11342 value, or checks for CHAR_META can fail when Lisp_Object is a
11343 union type.
11344 * keymap.c (get_keyelt): Likewise.
11345
10d7bf84
KH
113462000-06-19 Kenichi Handa <handa@etl.go.jp>
11347
11348 * ccl.h (struct ccl_program): New member eol_type.
11349 (struct ccl_spec): New member cr_carryover.
11350
11351 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11352 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11353
11354 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11355 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11356 (decode_eol_post_ccl): New function.
11357 (decode_coding): Don't detect EOL format here for CCL based coding
11358 systems.
11359 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11360 decode_eol_post_ccl after running the CCL program.
11361 (code_convert_region): Don't detect EOL format here for CCL based
11362 coding systems.
11363 (decode_coding_string): Likewise.
11364
52e386c2
KR
113652000-06-18 Ken Raeburn <raeburn@gnu.org>
11366
11367 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11368 when treating it as an integer.
11369
11370 * coding.h (encode_coding_string): Declare.
11371
11372 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11373 it as an integer.
11374
11375 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11376 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11377 to be passed to get_local_map.
11378
11379 * sound.c (Fplay_sound): Don't call make_number on
11380 Frun_hook_with_args count argument.
11381
11382 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11383 for lisp objects in X event structure data field, when lisp
11384 objects are represented with unions.
11385 (x_scroll_bar_to_input_event): Ditto.
11386
b357b9d4
KR
113872000-06-16 Ken Raeburn <raeburn@gnu.org>
11388
11389 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11390 termination of string. Fix sense of test whether
11391 Vline_number_display_limit is an integer.
b357b9d4 11392
a871441d
GM
113932000-06-16 Gerd Moellmann <gerd@gnu.org>
11394
a9021acd
GM
11395 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11396 only if HAVE_X_WINDOWS.
11397
6344985d
GM
11398 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11399 of titles.
11400
427ec082 11401 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11402 out of bounds.
11403
228b083e
EZ
114042000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11405
11406 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11407 of its headers.
11408
c25b53a2
KH
114092000-06-15 Kenichi Handa <handa@etl.go.jp>
11410
11411 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11412 start of the while loop.
11413
a6981b11
GM
114142000-06-15 Gerd Moellmann <gerd@gnu.org>
11415
e9924e52
GM
11416 * atimer.c (alarm_signal_handler): Add forward declaration.
11417
a6981b11
GM
11418 * data.c (set_internal): Remove debug code.
11419
25fa6deb
GM
114202000-06-14 Gerd Moellmann <gerd@gnu.org>
11421
dce6b995
GM
11422 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11423
9f817ea4
GM
11424 * unexec.c (toplevel) [COFF]: Include coff.h.
11425
11426 * s/lynxos.h: New file.
11427
11428 * keymap.c (Fsingle_key_description): Enclose function key and
11429 event symbol names in angle brackets.
11430
8a4e3c0c
GM
11431 * xdisp.c (setup_echo_area_for_printing): Call
11432 message_log_maybe_newline if message_buf_print is not set.
11433
11434 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11435 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11436 function does something useful even when message_buf_print is
11437 already set.
11438
52283633
SM
11439 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11440 New variables.
25fa6deb
GM
11441 (ensure_echo_area_buffers): Initialize echo buffer's
11442 truncate lines setting to nil.
11443 (with_echo_area_buffer): Don't set the echo buffer's truncate
11444 lines setting here.
8a4e3c0c 11445 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11446 of message_truncate_lines.
11447 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11448 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11449 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11450
11451 * keyboard.c (read_char): Bind message-truncate-lines to t
11452 while displaying a help-echo.
11453
11454 * lisp.h (Qmessage_truncate_lines): External declaration.
11455
163dcff3
GM
114562000-06-13 Gerd Moellmann <gerd@gnu.org>
11457
1681ead6
GM
11458 * xdisp.c (Vline_number_display_limit): Renamed from
11459 line_number_display_limit.
11460 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11461 Extend documentation string. Initialize
11462 Vline_number_display_limit to nil meaning no limit.
11463 (decode_mode_spec): Use Vline_number_display_limit with its new
11464 meaning.
11465
163dcff3
GM
11466 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11467
18e21ce8 114682000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11469
11470 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11471
163dcff3
GM
11472 * xfns.c (x_set_frame_parameters): Comment fix.
11473
11474 * frame.c (store_frame_param): Call swap_in_global_binding if the
11475 variable's current binding was chosen based on this frame.
11476
11477 * data.c (swap_in_global_binding): New function.
11478
a704139d
EZ
114792000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11480
11481 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11482 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11483
9b6610db
EZ
114842000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11485
11486 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11487
c68833d2
JR
114882000-06-12 Jason Rumney <jasonr@gnu.org>
11489
11490 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11491
11492 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11493
11494 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11495
11496 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11497
ed1056b3
GM
114982000-06-12 Gerd Moellmann <gerd@gnu.org>
11499
11500 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11501 (syms_of_xfaces): Defsubr Sdump_colors.
11502 (x_free_colors): Don't treat b&w specially on default visual.
11503 (x_free_dpy_colors): New function.
11504 (free_face_colors): Don't check visual class; it's done
11505 in x_free_colors.
11506
11507 * xterm.c (x_frame_of_widget): New function.
11508 (x_alloc_nearest_color_for_widget): Use it.
11509 (x_copy_dpy_color): New function.
11510 (x_destroy_window): Free various colors.
11511
5050a2ef
KH
115122000-06-12 Kenichi Handa <handa@etl.go.jp>
11513
11514 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11515
11516 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11517
11518 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11519
11520 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11521
11522 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11523
fb1b041d
DL
115242000-06-11 Dave Love <fx@gnu.org>
11525
11526 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11527
ff96b5f4
EZ
115282000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11529
11530 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11531
db8eeecd
GM
115322000-06-11 Gerd Moellmann <gerd@gnu.org>
11533
ed1056b3 11534 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11535 to `XEvent *'.
11536
49b71c5f
KH
115372000-06-10 Kenichi Handa <handa@etl.go.jp>
11538
c479bd55
KH
11539 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11540 (regex_compile): Fix the code for handling the case of single byte
11541 char and multibyte char being mixed in a range within [...].
11542
ff6a65c2
KH
11543 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11544 and dst_multibyte members of coding.
11545
49b71c5f
KH
11546 * charset.c (update_charset_table): Update the table
11547 bytes_by_char_head.
11548 (init_charset_once): Initialize elements of bytes_by_char_head to
11549 1 except for leading codes for private charases.
11550
11551 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11552 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11553
9e80b57d
KR
115542000-06-09 Ken Raeburn <raeburn@gnu.org>
11555
11556 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11557 access the data it doesn't point to.
11558
f83fe4b4
GM
115592000-06-08 Gerd Moellmann <gerd@gnu.org>
11560
11561 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11562 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11563 event queue. This is necessary because Emacs otherwise won't
11564 perform a switch-frame to a new frame until some other event, for
11565 example a keystroke event, forces it to do so. This has various
11566 effects, one visible being that the cursor of a frame created with
11567 C-x 5 2 or switched to with a window manager key binding like
11568 A-TAB stays hollow because selected_window isn't on the newly
11569 focused frame until the switch-frame is performed.
11570
11571 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11572 generating a switch-frame event if necessary.
11573
11574 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11575
11576 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11577 it's an integer.
11578
0890801b
KH
115792000-06-08 Kenichi Handa <handa@etl.go.jp>
11580
52283633 11581 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11582
173cbca8
GM
115832000-06-07 Gerd Moellmann <gerd@gnu.org>
11584
3091c2a6
GM
11585 * window.c (displayed_window_lines): Take empty lines at
11586 the bottom of a window into account.
427ec082 11587
f38952fe
GM
11588 * window.c (displayed_window_lines): New function.
11589 (Fmove_to_window_line): Use displayed_window_lines to determine
11590 the number of lines to move, instead of using the window's height.
11591
11592 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11593 to stop reading, even if the form read sets point to a different
11594 value when evaluated.
11595
427ec082 11596 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11597 put the cursor.
11598
6ba6c818
KH
115992000-06-07 Kenichi Handa <handa@etl.go.jp>
11600
11601 * fileio.c (e_write): Free composition data if stored in
11602 coding->cmp_data.
11603
5f1aea9a
GM
116042000-06-06 Gerd Moellmann <gerd@gnu.org>
11605
666852af
GM
11606 * xdisp.c (display_line): Set row's and iterator's
11607 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11608 Set cursor even if row ends in the middle of a character.
11609 (dump_glyph_row): Print values of new flags.
11610 (redisplay_window) <cursor movement in unchanged window>: When
11611 point has been moved forward, and PT is at the end of the cursor
11612 row, don't place the cursor in the next row if the cursor row ends
11613 in the middle of a character or at ZV.
11614
11615 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11616 (struct glyph_row): Add starts_in_middle_of_char_p and
11617 ends_in_middle_of_char_p.
11618 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11619 ends_in_middle_of_char_p flag.
11620 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11621
d13f3e2e
GM
11622 * term.c (append_glyph): Revert change of 2000-06-06.
11623
11624 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11625 padding glyph not fitting on line as whole character not
11626 fitting on line.
11627
5f1aea9a
GM
11628 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11629 this isn't true for images with `:ascent 100'.
11630
10cda9b0
KH
116312000-06-06 Kenichi Handa <handa@etl.go.jp>
11632
ed00559d
KH
11633 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11634 as modified if it is originally unmodified.
11635
10cda9b0
KH
11636 * term.c (encode_terminal_code): Change the way to check if
11637 terminal coding does any conversion.
11638 (append_glyph): Set glyph->pixel_width correctly.
11639
11640 * xdisp.c (display_line): While checking line continuation, pay
11641 attention to a padding glyph.
11642
1969fae2
GM
116432000-06-05 Gerd Moellmann <gerd@gnu.org>
11644
11645 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11646
162ccef4
DL
116472000-06-05 Dave Love <fx@gnu.org>
11648
f19f32dd
DL
11649 * xdisp.c: Include fontset.h.
11650
11651 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11652
11653 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11654
11655 * dispnew.c: Conditionally include term.h.
11656
11657 * coding.h: Declare code_convert_string_norecord.
11658
11659 * frame.h (struct frame): Use volatile unconditionally.
11660
11661 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11662
11663 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11664
11665 * systime.h: Protect against multiple inclusion.
11666 (timezone) [USG5_4]: Define as time_t.
11667
11668 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11669 (Foptimize_char_table, make_temp_name): Declare.
11670
11671 * Makefile.in (xdisp.o): Depend on fontset.h.
11672
11673 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11674
11675 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11676 (Foptimize_char_table, make_temp_name): Declare.
11677
427ec082 11678 * s/irix4-0.h:
162ccef4
DL
11679 * s/irix5-0.h:
11680 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11681
2082fe81
DL
116822000-06-02 Dave Love <fx@gnu.org>
11683
11684 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11685
dcf671d2
GM
116862000-06-02 Gerd Moellmann <gerd@gnu.org>
11687
11688 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11689 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11690 be freed.
11691
11692 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11693 glyph, use the ASCII NUL character to determine the face.
11694
d42122a3
DL
116952000-06-02 Dave Love <fx@gnu.org>
11696
11697 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11698 (VFORK_RETURN_TYPE): Remove.
427ec082 11699
d42122a3
DL
11700 * config.in: Add NO_MATHERR.
11701
dd432f16
DL
117022000-06-01 Dave Love <fx@gnu.org>
11703
90aa4ea8
DL
11704 * cmds.c (internal_self_insert): Don't check
11705 Vbefore_change_function, Vafter_change_function.
11706
11707 * insdel.c (signal_before_change, signal_after_change): Likewise.
11708
11709 * buffer.c (Vbefore_change_function, Vafter_change_function):
11710 Variables and their initializations deleted.
11711
2330c9d4
DL
11712 * callint.c (Fcall_interactively): Doc fix.
11713
dd432f16
DL
11714 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11715
bf9e8804
DL
117162000-05-31 Dave Love <fx@gnu.org>
11717
11718 * textprop.c: Revert last change -- duplicated.
11719
3694b4ab
GM
117202000-05-31 Gerd Moellmann <gerd@gnu.org>
11721
11722 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11723 in #if 0.
11724
11725 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11726
f14156cd
JR
117272000-05-31 Jason Rumney <jasonr@gnu.org>
11728
8119aab8
JR
11729 * search.c (Fre_search_forward, Fre_search_backward)
11730 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11731
f14156cd
JR
11732 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11733
4aab9be3
JR
117342000-05-30 Jason Rumney <jasonr@gnu.org>
11735
11736 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11737 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11738
52283633 11739 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11740
11741 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11742 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11743 expand a nil default_filename.
11744
11745 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11746 pointer to glyph_to_pixel_coords, not a frame.
11747
11748 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11749 coding.h to dependencies.
11750
11751 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11752
11753 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11754 window pointer to be consistent with w32term.c and xterm.c.
11755
11756 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11757 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11758 (Qline_spacing, Qcenter): New variables.
11759 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11760 (x_set_line_spacing): New function.
52283633 11761 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11762 (x_specified_cursor_type): New function.
11763 (x_set_cursor_type): Use it.
11764 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11765 and icon strings.
11766 (validate_x_resource_name, x_get_resource_string): Measure lengths
11767 of external strings in bytes.
11768 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11769 GetTextExtentPoint32 with NULL title.
11770 (Fx_create_frame): Initialize Qline_spacing.
11771 (w32_load_system_font): Initialize font->double_byte_p.
11772 (x_to_w32_charset): Use Vw32_charset_info_alist.
11773 (Image, busy cursor, tooltip functions): Merged changes from
11774 xfns.c. Not yet functional on Windows.
11775
11776 * w32gui.h (W32FontStruct): Add double_byte_p member.
11777
11778 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11779 (emacs_button_translation): Use it.
11780 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11781 in `mask' to be set.
11782
11783 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11784 menu strings.
11785
11786 * w32term.c: Format and doc changes to bring closer to xterm.c.
11787 (w32_char_font_type): New enum.
11788 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11789 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11790 (w32_encode_char): New function.
11791 (x_encode_char): Removed.
11792 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11793 x_encode_char and w32_font_is_double_byte.
11794 (x_produce_image_glyph): Use image_ascent.
11795 (x_produce_glyphs): Use new version of w32_per_char_metric and
11796 handle NULL return value. Allow extra line spacing.
11797 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11798 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11799 w32_font_type member of glyph instead.
11800 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11801 (fast_find_position): Make sure not to consider rows not visible
11802 in the window.
11803 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11804 w32_menu_display_help with input blocked, as it can abort.
11805 (x_display_and_set_cursor): Choose cursor depending
11806 on buffer-local value of cursor_type.
11807 (x_draw_bar_cursor): Add parameter WIDTH.
11808
11809 * w32term.h (CP_DEFAULT): Define.
11810 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11811
10fc3187
GM
118122000-05-30 Gerd Moellmann <gerd@gnu.org>
11813
11814 * search.c (Fre_search_forward, Fre_search_backward)
11815 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11816
d0555360
KH
118172000-05-30 Kenichi Handa <handa@etl.go.jp>
11818
11819 * coding.c (detect_coding_iso2022): Fix code for checking
11820 CODING_CATEGORY_MASK_ISO_8_2.
11821
f1ad044f
SM
118222000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11823
11824 * regex.c (PREFETCH_NOLIMIT): New function.
11825 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11826
84ec3b4b
GM
118272000-05-29 Gerd Moellmann <gerd@gnu.org>
11828
66254a13
GM
11829 * syntax.c (find_defun_start): Move test for
11830 open_paren_in_column_0_is_defun_start outside of the loop.
11831
49e70dec
GM
11832 * xdisp.c (redisplay_window): Really switch buffers when
11833 displaying mode lines, and temporarily set selected_frame to the
11834 frame of the window that's redisplayed.
11835
84ec3b4b
GM
11836 * xfaces.c (free_realized_faces): Block/unblock input.
11837 (free_realized_multibyte_face): Ditto.
11838
869a3a14
DL
118392000-05-29 Dave Love <fx@gnu.org>
11840
11841 * textprop.c (Qkeymap): New variable.
11842 (syms_of_textprop): Intern it.
11843
11844 * keymap.c: Include intervals.h.
11845 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11846
11847 * Makefile.in (keymap.o): Depend on intervals.h.
11848
11849 * keyboard.c (menu_bar_items, tool_bar_items)
11850 (Fexecute_extended_command): Deal with `keymap' property.
11851 (read_key_sequence): Track map from `keymap' property as well as
11852 `local_map'.
11853
11854 * intervals.c (get_local_map): Extra arg to allow looking for
11855 `keymap' too.
11856
11857 * intervals.h (map_property): New enum.
11858 (get_local_map): Extra arg using it.
11859 (Qkeymap): Declare.
11860
84ec3b4b 11861 * lisp.h (get_local_map): Don't declare here.
869a3a14 11862
89d0c844
KH
118632000-05-29 Kenichi Handa <handa@etl.go.jp>
11864
11865 * Makefile.in (callproc.o): Depend on composite.h.
11866
11867 * callproc.c: Include composite.h.
11868 (Fcall_process): Handle composition correctly.
11869
11870 * coding.h (coding_allocate_composition_data): Extern it.
11871 (coding_restore_composition): Likewise.
11872
11873 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11874 yet allocated, finish decoding with result
11875 CODING_FINISH_INSUFFICIENT_CMP.
11876 (coding_allocate_composition_data): Make it non-static.
11877 (coding_restore_composition): Likewise.
11878
797a084a
EZ
118792000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11880
11881 * charset.c (syms_of_charset): Revert last change.
11882
cf872af5
EZ
118832000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11884
11885 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11886 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11887 Handa.
cf872af5 11888
5b1ae051
EZ
118892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11890
11891 * charset.c (syms_of_charset): Set width of character sets
11892 eight-bit-control and eight-bit-graphic to 1 column.
11893
34ec9ebe
GM
118942000-05-26 Gerd Moellmann <gerd@gnu.org>
11895
11896 * config.in (HAVE_SPEED_T): New define.
11897
11898 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11899 `extern speed_t'.
11900
dd854dc2
DL
119012000-05-26 Dave Love <fx@gnu.org>
11902
11903 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11904
11905 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11906 (Fsubr_arity): New function.
11907 (syms_of_data): Install them.
11908
ba9f8f95
KH
119092000-05-26 Kenichi Handa <handa@etl.go.jp>
11910
0f3e0672
KH
11911 * charset.c (init_charset_once): Set the table bytes_by_char_head
11912 correctly.
11913
cebefb44
KH
11914 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11915 the default fontset to what Emacs uses by default.
0f3e0672
KH
11916 (check_registry_encoding): This function deleted.
11917 (Fset_fontset_font): Remove the adhoc condition for the default
11918 fontset. Allow cons in FONTNAME.
cebefb44 11919
0f3e0672
KH
11920 * fns.c (map_char_table): Ignore char-table entries for
11921 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11922
7a18af49
KR
119232000-05-25 Ken Raeburn <raeburn@gnu.org>
11924
11925 * emacs.c (main): Initialize keyboard syms before initializing
11926 window code, so face names are available.
11927
d2af47df
SM
119282000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11929
11930 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11931 of an anchor at the beginning of a shy-group.
11932
fc6a6a4e
GM
119332000-05-25 Gerd Moellmann <gerd@gnu.org>
11934
11935 * xdisp.c (handle_invisible_prop): Don't try to skip over
11936 invisible text if end of text is already reached.
11937
005f0d35
DL
119382000-05-25 Dave Love <fx@gnu.org>
11939
02513cdd
DL
11940 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11941
005f0d35
DL
11942 * coding.c (encode_eol): Add null statement after label.
11943
89f6ca4e
EZ
119442000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11945
11946 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11947 2000-05-20.
11948
a4e1759e
KH
119492000-05-25 Kenichi Handa <handa@etl.go.jp>
11950
11951 * ccl.c (ccl_driver): Fix previous change.
11952
eacfd7fe
KH
119532000-05-25 Kenichi Handa <handa@etl.go.jp>
11954
46ab33a9
KH
11955 * coding.c (run_pre_post_conversion_on_str): Set point to the
11956 beginning of buffer before calling coding->post_read_conversion.
11957 (decode_coding_string): Give correct args to
11958 run_pre_post_conversion_on_str.
11959 (encode_coding_string): Likewise.
11960
eacfd7fe
KH
11961 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11962 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11963 eight-bit-graphic correctly.
11964
f8569325
DL
119652000-05-24 Kenichi HANDA <handa@etl.go.jp>
11966
11967 * fileio.c (Finsert_file_contents): Even if a file is not found,
11968 execute codes for setting up coding system. Call
11969 after-insert-file-functions unconditionally.
11970
04545643
GM
119712000-05-24 Gerd Moellmann <gerd@gnu.org>
11972
11973 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11974 BSD_PGRPS are not defined.
11975
747d90ea
KH
119762000-05-24 Kenichi Handa <handa@etl.go.jp>
11977
11978 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11979 DESCRIPTION.
11980 (syms_of_charset): Avoid building same strings.
11981
716e3b88
GM
119822000-05-23 Gerd Moellmann <gerd@gnu.org>
11983
11984 * lread.c (Fload): Add a comment about the meaning of
11985 Vuser_init_file being t.
11986
11987 * puresize.h (BASE_PURESIZE): Increase to 675000.
11988
11989 * s/gnu-linux.h (setpgrp): Don't define it here because this
11990 prevents compilation on GNU/Linux systems with glib 2.2.
11991
11992 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11993 as setpgid.
427ec082 11994
9aeb39fa
EZ
119952000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11996
11997 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11998 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11999 version.
12000 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12001
29ced61b
KH
120022000-05-23 Kenichi Handa <handa@etl.go.jp>
12003
52283633 12004 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12005
3d80f24d
KH
12006 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12007
52283633 12008 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12009
29ced61b
KH
12010 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12011
d7e00792
KH
120122000-05-22 Kenichi Handa <handa@etl.go.jp>
12013
c9d80d38
KH
12014 * keyboard.c (read_char): Allow character codes 128..255 to be
12015 handled by input-method-function.
12016
d7e00792
KH
12017 * insdel.c (adjust_markers_for_replace): Fix previous change.
12018 (adjust_after_replace): If PREV_TEXT is nil, call
12019 adjust_markers_for_insert, not adjust_markers_for_replace.
12020
087121cc 120212000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12022
087121cc
GM
12023 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12024 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12025 [HAVE_GRANDPT]: Define.
12026 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12027
12028 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12029 like SYSV_PTYS.
12030
12031 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12032
12033 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12034
c9671f81
KH
120352000-05-20 Kenichi Handa <handa@etl.go.jp>
12036
12037 The following changes are to handle 8-bit characters in a
12038 multibyte buffer/string without facing with byte combining
12039 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12040 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12041
12042 * Makefile.in (fns.o): Depend on charset.h.
12043
12044 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12045 convert it to unibyte.
12046 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12047
12048 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12049 apparent char boundary.
12050 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12051 0x80..0x9F to/from multibyte form.
12052
12053 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12054 to unibyte.
12055
12056 * callproc.c (Fcall_process): Always encode an argument string if
12057 it is multibyte. Setup src_multibyte and dst_multibyte members of
12058 process_coding properly.
ce75fd23 12059
c9671f81
KH
12060 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12061 SPLIT_NON_ASCII_CHAR.
12062
12063 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12064 as is.
12065 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12066
52283633 12067 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12068 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12069 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12070 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12071 and eight-bit-graphic.
12072 (char_to_string): Likewise. Signal an error for too large
12073 character code.
12074 (char_printable_p): Return 0 for 8-bit characters.
12075 (update_charset_table): Update iso_charset_table only when a final
12076 character is non-negative.
12077 (find_charset_in_text): Renamed from find_charset_in_str.
12078 Arguments and return value changed. Callers changed.
12079 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12080 be -1 if CHARSET is used only internally.
12081 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12082 eight-bit-graphic.
12083 (Fcharset_after): Simplified.
12084 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12085 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12086 (multibyte_chars_in_text): Simplified by assuming there's no
12087 invalid multibyte sequence.
52283633
SM
12088 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12089 (str_as_unibyte): New functions.
12090 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12091 (init_charset_once): Initialization for
12092 LEADING_CODE_8_BIT_CONTROL.
12093 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12094 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12095 eight-bit-control and eight-bit-graphic.
12096
52283633
SM
12097 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12098 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12099 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12100 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12101 (CHARSET_REVERSE_CHARSET): Likewise.
12102 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12103 eight-bit-graphic.
12104 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12105 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12106 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12107 encounter an invalid multibyte sequence.
12108 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12109 sequence is always valid.
12110 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12111 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12112 (CHAR_STRING): For 8-bit characters, call char_to_string.
12113 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12114 multibyte sequence is always valid.
12115 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12116 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12117 (str_as_unibyte): Extern them.
c9671f81 12118 (BCOPY_SHORT): Fix a bug.
52283633 12119 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12120 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12121 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12122 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12123
bd4bde7f 12124 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12125 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12126 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12127 (EMIT_BYTES): New macros.
12128 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12129 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12130 macros deleted.
12131 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12132 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12133 check the validity of multibyte sequence.
12134 (decode_coding_emacs_mule): New function.
12135 (encode_coding_emacs_mule): New macro.
12136 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12137 the source.
12138 (DECODE_ISO_CHARACTER): Just return a character code.
12139 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12140 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12141 EMIT_CHAR to produced decoded characters. Exit the loop only by
12142 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12143 block here.
12144 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12145 only position codes for an invalid character.
12146 (encode_designation_at_bol): Return new destination pointer. 5th
12147 arg DSTP is changed to DST.
12148 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12149 from the source by ONE_MORE_CHAR. Don't handle the case of last
12150 block here.
12151 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12152 macros deleted.
52283633
SM
12153 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12154 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12155 TWO_MORE_BYTES to fetch a byte from the source.
12156 (encode_eol): Pay attention to coding->src_multibyte.
12157 (detect_coding, detect_eol): Preserve members src_multibyte and
12158 dst_multibyte.
12159 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12160 (encoding_buffer_size): Set magnification to 3 for all coding
12161 systems that require encoding.
12162 (ccl_coding_driver): For decoding, be sure that the result is
12163 valid multibyte sequence.
12164 (decode_coding): Initialize coding->errors and coding->result.
12165 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12166 and raw-text, always call decode_eol. Handle the case of last
12167 block here. If not coding->dst_multibyte, convert the resulting
12168 sequence to unibyte.
12169 (encode_coding): Initialize coding->errors and coding->result.
12170 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12171 and raw-text, always call encode_eol. Handle the case of last
12172 block here.
12173 (shrink_decoding_region, shrink_encoding_region): Detect cases
12174 that we can't skip data more rigidly.
12175 (code_convert_region): Setup src_multibyte and dst_multibyte
12176 members of coding. For decoding, if the buffer is multibyte,
12177 convert the source sequence to unibyte in advance. For encoding,
12178 if the buffer is multibyte, convert the resulting sequence to
12179 multibyte afterward.
12180 (run_pre_post_conversion_on_str): New function.
12181 (code_convert_string): Deleted and divided into the following two.
12182 (decode_coding_string, encode_coding_string): New functions.
12183 (code_convert_string1, code_convert_string_norecord): Call one of
12184 above.
12185 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12186 MAKE_NON_ASCII_CHAR.
52283633
SM
12187 (Fset_terminal_coding_system_internal)
12188 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12189 and dst_multibyte members.
12190 (init_coding_once): Initialize iso_code_class with new enum
12191 ISO_control_0 and ISO_control_1.
12192
12193 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12194 devided into ISO_control_0 and ISO_control_1.
12195 (struct coding_system): New members src_multibyte, dst_multibyte,
12196 errors, and result. Delete member fake_multibyte.
12197 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12198 nonzero.
12199 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12200 nonzero.
12201
12202 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12203 (Faset): Likewise.
12204
12205 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12206 multibyte form.
12207 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12208 combining occurs.
12209 (Ftranspose_region): Delete codes for handling byte combining.
12210
12211 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12212 dst_multibyte members of coding. On handling REPLACE on unibyte
12213 buffer, convert the result of decode_coding to unibyte. On
12214 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12215 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12216 multibyteness of the source (buffer or string).
12217
12218 * fns.c (concat): Handle 8-bit characters correctly.
12219 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12220 unibyte in the result.
12221 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12222 valid multibyte form in the result.
12223 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12224 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12225 return -1, signal an error.
12226 (base64_encode_1): New arg MULTIBYTE. Get each character by
12227 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12228 character is found, return -1.
12229 (Fbase64_decode_region): Delete codes for handling byte-combining.
12230 Treat each decoded byte as a unibyte character.
12231 (Fbase64_decode_string): Return unibyte string.
12232 (Fcompare_strings, concat, string_byte_to_char): Use
12233 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12234 FETCH_STRING_CHAR_ADVANCE.
12235 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12236 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12237
12238 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12239 SPLIT_NON_ASCII_CHAR.
12240 (fontset_ref_via_base, fontset_set): Likewise
12241
12242 * insdel.c (adjust_markers_for_record_delete): Deleted.
12243 (adjust_markers_for_insert): Argument changed. Caller changed.
12244 (adjust_markers_for_replace): Likewise.
52283633
SM
12245 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12246 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12247 (copy_text): Delete unused local varialbe c_save. For converting
12248 to multibyte, be sure to make all 8-bit characters in valid
12249 multibyte form.
12250 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12251 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12252 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12253 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12254 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12255 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12256 handling byte combining.
12257 (adjust_before_replace): Deleted.
427ec082 12258
c9671f81
KH
12259 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12260 SPLIT_NON_ASCII_CHAR.
12261 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12262 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12263 (Fkey_description): Likewise.
12264
12265 * lread.c (read1): On reading multibyte string, be sure to make
12266 all 8-bit chararacters in valid multibyte form.
12267 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12268
12269 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12270 unconditionally.
12271
12272 * process.c (Fstart_process): GCPRO current_dir before calling
12273 Ffind_operation_coding_system. Encode arguments here.
12274 (create_process): Don't encode arguments here. Setup
12275 src_multibyte and dst_multibyte members of struct coding.
12276 (read_process_output): Setup src_multibyte and dst_multibyte
12277 members of struct coding. If the output is to multibyte buffer,
12278 always decode the output of the process. Adjust the
52283633 12279 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12280 (send_process): Setup coding->src_multibyte according to the
12281 multibyteness of the source.
12282
52283633 12283 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12284 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12285 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12286
52283633 12287 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12288
12289 * w16select.c (Fw16_set_clipboard_data): Setup members
12290 src_multibyte and dst_multibyte of coding. Adjusted for the
12291 change for find_charset_in_str.
12292 (Fw16_get_clipboard_data): Likewise.
12293
12294 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12295 dst_multibyte of coding.
12296 (x_to_w32_font): Likewise.
12297
12298 * w32select.c (Fw32_set_clipboard_data): Setup members
12299 src_multibyte and dst_multibyte of coding. Adjusted for the
12300 change for find_charset_in_str.
12301 (Fw32_get_clipboard_data): Likewise.
12302
12303 * xdisp.c (get_next_display_element): Handle 8-bit characters
12304 correctly.
52283633
SM
12305 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12306 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12307
12308 * xselect.c (selection_data_to_lisp_data): Setup members
12309 src_multibyte and dst_multibyte of coding. Adjusted for the
12310 change for find_charset_in_str.
12311 (lisp_data_to_selection_data): Likewise.
12312
5f64c9e0
GM
123132000-05-19 Gerd Moellmann <gerd@gnu.org>
12314
52283633 12315 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12316
5f64c9e0
GM
12317 * dispextern.h (Vimage_types): Add extern declaration.
12318
12319 * xdisp.c (Vimage_types): Moved here from xfns.c.
12320 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12321
12322 * xfns.c (Vimages_types): Moved to xdisp.c.
12323 (syms_of_xfns): Move `image-types' to xdisp.c.
12324
12325 * w32fns.c (Vimage_types): Removed.
12326 (syms_of_w32fns): Remove `image-types'.
12327
813086ea
KH
123282000-05-18 Kenichi Handa <handa@etl.go.jp>
12329
12330 * fns.c (map_char_table): Pay attention to character number of
12331 charset. Check the validity of charset at the first level. For
12332 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12333 the default value.
12334
12335 * fontset.c: Include "buffer.h".
12336 (fs_load_font): If the face has fontset, record the face ID in
12337 that fontset.
12338 (Finternal_char_font): New function.
12339 (accumulate_font_info): New function.
12340 (Ffontset_info): Rewritten for the new fontset implementation.
12341 (syms_of_fontset): Register Vdefault_fontset in the first element
12342 of Vfontset_table. Include Vdefault_fontset in
12343 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12344 function.
12345
bdaebbf0
DL
123462000-05-16 Dave Love <fx@gnu.org>
12347
12348 * m/iris5d.h: Deleted -- unused.
12349
cb613bb8
GM
123502000-05-16 Gerd Moellmann <gerd@gnu.org>
12351
b15f3b77
GM
12352 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12353 `invalid' instead of `illegal'.
12354
12355 * indent.c (Fmove_to_column): When ending within a tab, insert
12356 spaces first so that markers at the end of the tab get adjusted.
12357
835c1b36
GM
12358 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12359 buffer list that wasn't selected in that frame.
12360
cb613bb8
GM
12361 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12362 is needed on mescaline, use a 2 char prefix, and call
12363 make_temp_name with second arg non-zero.
12364
12365 * fileio.c (make_temp_name): New function, extracted from
12366 Fmake_temp_name.
12367 (Fmake_temp_name): Use it.
12368
f685bea9
EZ
123692000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12370
52283633 12371 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12372
a1b8d58b
GM
123732000-05-15 Gerd Moellmann <gerd@gnu.org>
12374
12375 * Makefile.in (lisp): Add env.elc.
12376
12377 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12378
a265079f
GM
123792000-05-12 Gerd Moellmann <gerd@gnu.org>
12380
12381 * search.c (Freplace_match): Handle case of `\N' in the
12382 replacement when there's no group N.
12383
da4496b6
GM
123842000-05-11 Gerd Moellmann <gerd@gnu.org>
12385
0ace421a
GM
12386 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12387 of the message to message_dolog.
12388
1172eb8d
GM
12389 * keyboard.c (read_char): Don't clear current message for help
12390 events; let the code handling help events handle this. Change
12391 code detecting help events that should be ignored.
12392
da4496b6
GM
12393 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12394 we're interating over a string.
12395
0623e40f
DL
123962000-05-09 Dave Love <fx@gnu.org>
12397
12398 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12399 that offset before writing. Move gcpro region past call of
12400 Ffile_regular_p.
12401
bae2503b
DL
124022000-05-04 Dave Love <fx@gnu.org>
12403
12404 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12405
ec82fb2f
GM
124062000-05-04 Gerd Moellmann <gerd@gnu.org>
12407
12408 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12409 of inserted characters when BUF equals the current buffer, and PT
12410 is in front of or equal to FROM.
12411
cbf18892
GM
124122000-05-03 Gerd Moellmann <gerd@gnu.org>
12413
4ff40dd0
GM
12414 * xdisp.c (handle_single_display_prop): If display property value
12415 is invalid, or something not supported on the frame, restore
12416 iterator's position to what it was initially. Make sure to return
12417 0 for invalid and unsupported property values.
12418
cbf18892
GM
12419 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12420 that x_per_char_metric returns null.
12421
1b0672c3
GM
124222000-05-02 Gerd Moellmann <gerd@gnu.org>
12423
576da55d
GM
12424 * xterm.h (struct face): Add forward declaration.
12425 (struct image): Ditto.
12426 (image_ascent): Add prototype.
12427
12428 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12429 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12430 image_ascent instead of using IMAGE_ASCENT.
12431
12432 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12433 (IMAGE_ASCENT): Removed.
12434
12435 * xfns.c (Qcenter): New variable.
12436 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12437 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12438 (image_ascent): New function.
12439 (lookup_image): Recognize `:ascent center'.
12440 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12441 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12442 (xbm_load): Don't set image's ascent here.
12443 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12444 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12445 check ascent values here.
12446 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12447 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12448 (syms_of_xfns): Initialize Qcenter.
12449
1b0672c3
GM
12450 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12451 to the limits, increase the limits.
12452
0d7811ed
KH
124532000-05-01 Kenichi Handa <handa@etl.go.jp>
12454
12455 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12456 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12457
a943a5ca
GM
124582000-04-28 Gerd Moellmann <gerd@gnu.org>
12459
12460 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12461 taller than the window.
12462
5dba1e29
KH
124632000-04-28 Kenichi Handa <handa@etl.go.jp>
12464
12465 * xfaces.c (realize_x_face): Fix the argument of the second
12466 xassert. BASE_FACE may not be a face for ASCII.
12467
353964e3
GM
124682000-04-27 Gerd Moellmann <gerd@gnu.org>
12469
c76e04a8
GM
12470 * print.c (print_object): Treat print-length < 0 as nil.
12471
12472 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12473
12474 * s/freebsd.h (TERMCAP_OBJ): Removed.
12475 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12476
12477 * lread.c (read1): Don't treat period followed by certain
12478 characters as symbol start.
12479
12480 * xfns.c (slurp_file): New function.
12481 (xbm_image_p): Handle case of in-memory XBM files.
12482 (xbm_scan): Rewritten to work on memory buffers instead of files.
12483 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12484 Work on memory buffers instead of files. If DATA is null test
12485 if buffer looks like an in-memory XBM file.
12486 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12487 memory buffers instead of files.
12488 (xbm_file_p): New function.
12489 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12490
353964e3
GM
12491 * lread.c (end_of_file_error): New function.
12492 (read1): Call it instead of signaling `end-of-file' directly.
12493
427ec082 12494 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12495 with Fprinc instead of Fprin1.
12496
24d744ac
KR
124972000-04-26 Ken Raeburn <raeburn@gnu.org>
12498
12499 * window.c (freeze_window_start): Check that minibuffer scroll
12500 window isn't nil before extracting the window structure pointer
12501 from it.
12502
12503 * undo.c (record_delete): If we hit the end of the undo list, stop
12504 picking elements apart.
12505
7464346d
GM
125062000-04-26 Gerd Moellmann <gerd@gnu.org>
12507
12508 * xdisp.c (display_line): If lines are continued, restore
12509 iterator's ascent/descent information to the values before the
12510 first glyph not fitting on the line.
12511
612839b6
GM
125122000-04-25 Gerd Moellmann <gerd@gnu.org>
12513
12514 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12515 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12516
12517 * dispnew.c (increment_matrix_positions): Renamed from
12518 increment_glyph_matrix_buffer_positions.
12519 (increment_row_positions): Renamed from
12520 increment_glyph_row_buffer_positions.
12521
12522 * dispextern.h: Change names of renamed functions from dispnew.c
12523 in prototypes.
12524
cc181e95
GM
125252000-04-24 Gerd Moellmann <gerd@gnu.org>
12526
abfcc168
GM
12527 * fileio.c (Fdo_auto_save): Create directories for auto-save
12528 list file if necessary.
12529
cc181e95
GM
12530 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12531 from buffer or frame.
12532 (automatic_hscrolling_p): New variable.
12533 (hscroll_windows): Scroll windows horizontally only if automatic
12534 hscrolling is allowed.
12535 (syms_of_xdisp): New variable `automatic-hscrolling'.
12536
12537 * frame.h (struct frame): Add member extra_line_spacing.
12538
12539 * xfns.c (x_set_line_spacing): New function.
12540 (Fx_create_frame): Set line spacing from resources.
12541 (Qline_spacing): New variable.
12542 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12543
cc181e95
GM
12544 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12545
12546 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12547 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12548 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12549 extra_line_spacing from default value.
12550 (init_buffer_once): Initialize default value of extra_line_spacing.
12551
12552 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12553 and extra3.
12554
12555 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12556 prompt_width. Add extra line spacing.
12557
12558 * term.c (produce_glyphs): Remove reference to struct it's
12559 prompt_width.
12560
12561 * dispextern.h (struct it): Remove member prompt_width, add
12562 extra_line_spacing.
12563
58827478
GM
125642000-04-22 Gerd Moellmann <gerd@gnu.org>
12565
12566 * dispnew.c (update_frame_line): When writing a whole line, make
12567 sure cursor is in the right row afterwards, otherwise a use of
12568 capability `ch' in cmgoto might leave the cursor in the row below.
12569
25a87f42
GM
125702000-04-21 Gerd Moellmann <gerd@gnu.org>
12571
12572 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12573
12574 * keyboard.c (timer_check): Fix typo in comment.
12575
54edf5c2
KH
125762000-04-21 Kenichi Handa <handa@etl.go.jp>
12577
12578 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12579 name change: ch -> character.
12580
3a64eef5
GM
125812000-04-20 Gerd Moellmann <gerd@gnu.org>
12582
12583 * keyboard.c (echo_message_buffer): New variable.
12584 (echo_now): Set echo_message_buffer to the echo area buffer used
12585 to display the echo.
12586 (cancel_echoing): Reset echo_message_buffer to nil.
12587 (read_char): Code rewritten that handles canceling an echo or
12588 echoing a dash, respectively.
12589
12590 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12591 directory doesn't exist.
12592
6142fdcb
DL
125932000-04-19 Dave Love <fx@gnu.org>
12594
12595 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12596 (concat): Don't allow numeric args.
12597 (Fconcat): Doc change.
6142fdcb 12598
ac6b5352
SM
125992000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12600
12601 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12602 instead define end_match(1|2) more carefully.
12603 Use GET_CHAR_BEFORE_2 for `begline'.
12604
cb9215e4
GM
126052000-04-19 Gerd Moellmann <gerd@gnu.org>
12606
5e3dac3f
GM
12607 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12608 on 64-bit systems where NULL is defined as `0'.
12609
12610 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12611 the `variable argument list' to make it work on Alpha.
12612
cb9215e4
GM
12613 * m/alpha.h (_LP64) [!_LP64]: Define.
12614 (ORDINARY_LINK): Define for NetBSD.
12615
12616 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12617
f532dca0
DL
126182000-04-19 Dave Love <fx@gnu.org>
12619
c750667e
DL
12620 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12621 change.
12622
12623 * Makefile.in (LIBS): Don't use.
12624 (GETLOADAVG_OBJ): Define again.
12625 (otherobj): Add GETLOADAVG_OBJ.
12626
f532dca0
DL
12627 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12628
1c7e22fd
GM
126292000-04-18 Gerd Moellmann <gerd@gnu.org>
12630
f6d3257b
GM
12631 * lread.c (read_filtered_event): Cancel and start busy cursor.
12632
427ec082 12633 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12634 that the per-character metrics may be null.
12635
e10f64e7
GM
126362000-04-17 Gerd Moellmann <gerd@gnu.org>
12637
0daee095
GM
12638 * buffer.c (clone_per_buffer_values): New function.
12639 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12640 clone_per_buffer_values if CLONE is not nil.
12641
e10f64e7
GM
12642 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12643
38687d43
DL
126442000-04-16 Dave Love <fx@gnu.org>
12645
12646 * Makefile.in: Remove obsolete localcpp stuff.
12647 (GETLOADAVG_OBJ): Don't define.
12648 (obj): Move LIBOBJS...
12649 (otherobj): ... to here.
12650 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12651 whitespace-only lines after the continuation (Irix).
12652
c21c7262
GM
126532000-04-14 Gerd Moellmann <gerd@gnu.org>
12654
12655 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12656
12657 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12658
314767c0
DL
126592000-04-14 Dave Love <fx@gnu.org>
12660
12661 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12662 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12663 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12664 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12665 NLIST_STRUCT.
12666
12667 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12668 autoconfiscated HAVE_GETLOADAVG.
12669
12670 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12671 BROKEN_MKTIME.
12672
a2522dca
GM
126732000-04-14 Gerd Moellmann <gerd@gnu.org>
12674
12675 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12676 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12677
33744b5d
DL
126782000-04-14 Dave Love <fx@gnu.org>
12679
c21c7262 12680 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12681 (INTERVAL_SRC): Convert to make variable.
12682 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12683 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12684 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12685 add LIBOBJS.
12686 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12687 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12688 (shortlisp): Add facemenu, float-sup, frame.
12689 (SOME_MACHINE_LISP): Remove them from here.
12690 (LIBES): Change unused LDLIBS to autoconf LIBS.
12691
12692 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12693
9d3d5916
KH
126942000-04-14 Kenichi Handa <handa@etl.go.jp>
12695
12696 * composite.c (update_compositions): If FROM and TO are not in a
12697 valid range, do nothing.
12698
198e3c7a
GM
126992000-04-13 Gerd Moellmann <gerd@gnu.org>
12700
52283633 12701 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12702
52283633 12703 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12704
12705 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12706 as TERMCAP_OBJ.
12707
055a28c9
EZ
127082000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12709
12710 * fileio.c (a_write): Remove redundant semi-colons.
12711 (e_write): Return -1 if failed to write all the data.
12712 This fixes the changes made at 1999-12-15.
12713
f5c75033
DL
127142000-04-12 Dave Love <fx@gnu.org>
12715
12716 * fns.c (mapcar1): Test for null vals to support mapc.
12717 (Fmapc): New function.
12718
0c3cfc51
EZ
127192000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12720
12721 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12722 (IT_frame_up_to_date): Support the buffer local value of
12723 cursor-type, if defined.
12724
33465a31
DL
127252000-04-10 Dave Love <fx@gnu.org>
12726
12727 * editfns.c (preceding-char, following-char): Doc fix.
12728
6ed56568
KR
127292000-04-10 Ken Raeburn <raeburn@gnu.org>
12730
12731 * Makefile.in (temacs): Revert 2000-03-12 change.
12732
7cf80d4e
JR
127332000-04-10 Jason Rumney <jasonr@gnu.org>
12734
12735 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12736
34f3f342
GM
127372000-04-10 Gerd Moellmann <gerd@gnu.org>
12738
1a1b1895
GM
12739 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12740 area buffer, if it's not set up yet.
12741
34f3f342
GM
12742 * indent.c (compute_motion): Set immediate_quit.
12743
be0dbdab
GM
127442000-04-09 Gerd Moellmann <gerd@gnu.org>
12745
52283633 12746 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12747 (realize_tty_face): Suppress boldness if colors are the inverse of
12748 the default colors, and tty_suppress_bold_inverse_default_colors_p
12749 is set.
12750 (Ftty_suppress_bold_inverse_default_colors): New function.
12751 (syms_of_xfaces): Defsubr it.
12752
be0dbdab
GM
12753 * buffer.c (Frestore_buffer_modified_p): New function.
12754 (syms_of_buffer): Defsubr it.
12755
e8413c3b
KR
127562000-04-08 Ken Raeburn <raeburn@gnu.org>
12757
87f67317
KR
12758 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12759 charset id (int) argument, not a charset (Lisp_Object).
12760
e8413c3b
KR
12761 * coding.h (code_convert_string): Declare.
12762 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12763 object, as the fourth argument to code_convert_string.
12764
52283633 12765 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12766 (Fset_fontset_font): Use EQ to compare lisp objects.
12767
7c752c80
KR
127682000-04-05 Ken Raeburn <raeburn@gnu.org>
12769
c0333abc
KR
12770 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12771 a pointer that looks like a lisp object.
12772 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12773 zero, instead see whether it's an integer object, since they can't
12774 have intervals.
12775 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12776
52283633
SM
12777 * dispnew.c (allocate_matrices_for_frame_redisplay)
12778 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12779 to convert between (unsigned) int values and lisp integers.
12780 * keyboard.c (read_key_sequence): Likewise.
12781 * lread.c (substitute_object_recurse): Likewise.
12782 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12783 * minibuf.c (do_completion, Fminibuffer_complete_word)
12784 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12785 * term.c (produce_special_glyphs): Likewise.
12786
12787 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12788 * print.c (print_preprocess, print_object): Likewise.
12789
12790 * search.c (compile_pattern): Use NILP when checking for nil.
12791
74e49b38
KR
12792 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12793 __OPTIMIZE__]: Provide a GNU C macro version that handles
12794 lisp-object unions.
12795 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12796 field, to better cope with ENABLE_CHECKING and calls that modify a
12797 Lisp_Object using its old value.
12798
685e5ed2
GM
127992000-04-04 Gerd Moellmann <gerd@gnu.org>
12800
c407c570
GM
12801 * window.c (compare_window_configurations): Signal an error
12802 if parameters C1 or C2 aren't window configurations.
12803
685e5ed2
GM
12804 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12805 AFTER_POTENTIAL_GC calls around calls to functions that can
12806 signal an error and thus invoke the debugger.
12807
587a49ab
GM
128082000-04-03 Gerd Moellmann <gerd@gnu.org>
12809
62f20204
GM
12810 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12811 an error if decoding fails.
12812
587a49ab
GM
12813 * keyboard.c (lispy_mouse_names): Variable removed.
12814 (Vlispy_mouse_stem): New variable.
12815 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12816 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12817 for any mouse button number. Increase size of mouse_syms and
12818 button_down_location as needed. Call modify_event_symbol with
12819 different arguments.
12820 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12821 Call modify_event_symbol with different arguments.
12822 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12823 for any button number. Call modify_event_symbol with different
12824 arguments.
12825 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12826 Accept a string for NAME_ALIST_OR_STEM.
12827
12828 * lisp.h (larger_vector): Add prototype.
12829
12830 * fns.c (larger_vector): Make externally visible.
12831
12832 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12833
2d1675e4
SM
128342000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12835
12836 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12837 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12838 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12839 we are between str1 and str2.
12840 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12841 (PATFETCH): Use `TRANSLATE'.
12842 (PATFETCH_RAW): Fetch multibyte char if applicable.
12843 (PATUNFETCH): Remove.
12844 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12845 When writing a char, write it directly into the pattern buffer rather
12846 than going needlessly through a temp char-array.
12847 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12848 multibyte magic and remove the useless `#ifdef emacs'.
12849 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12850 buffer.
12851
12852 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12853 conditional on `emacs'.
12854
12855 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12856
cc2d8c6b
KR
128572000-04-01 Ken Raeburn <raeburn@gnu.org>
12858
12859 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12860 non-union-type versions of XMARK and friends here, because XMARK
12861 and friends won't work on an integer field if NO_UNION_TYPE is not
12862 defined.
52283633 12863 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12864
52283633 12865 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12866 (syms_of_composite): Delete local var NARGS, pass an int as first
12867 argument to Fmake_hash_table.
12868
2387b382
KR
12869 * editfns.c (text_property_stickiness): Use NILP to test
12870 Lisp_Object boolean value.
12871 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12872 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12873 problems reading from and changing the same lisp value in an
12874 XSETSTRING call.
12875
27660e89
GM
128762000-04-01 Gerd Moellmann <gerd@gnu.org>
12877
12878 * term.c (TN_no_color_video): New variable.
12879 (term_init): Intitialize TN_no_color_video.
12880 (enum no_color_bit): New enumeration.
12881 (MAY_USE_WITH_COLORS_P): New macro.
12882 (turn_on_face): Use it to determine if attributes may be used
12883 combined with colors.
12884
3578db3c
KR
128852000-04-01 Ken Raeburn <raeburn@gnu.org>
12886
12887 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12888 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12889 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12890 proper accessor macros.
12891 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12892 (grow_mini_window): Fix typo getting int value of root->height.
12893
6fc556fd
KR
12894 * xdisp.c (compute_string_pos): Fix order of arguments to
12895 string_pos_nchars_ahead.
12896 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12897 count arg to variable-arg routines like Frun_hook_with_args and
12898 Fformat.
587a49ab
GM
12899 (back_to_previous_visible_line_start)
12900 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12901 fixed-arg routines like Fget_char_property and Fmake_string.
12902 (reconsider_clip_changes): Use XINT when comparing integer lisp
12903 objects, or passing them as int arguments.
587a49ab
GM
12904 (mark_window_display_accurate, insert_left_trunc_glyphs)
12905 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12906 storing or passing integer values as lisp objects.
12907 (set_cursor_from_row, highlight_trailing_whitespace): Use
12908 INTEGERP, not implicit test against zero, for glyph object.
12909 (try_window_id): Don't use make_number when we want an int value.
12910
12911 * xfaces.c (xlfd_symbolic_value): Make last argument a
12912 Lisp_Object, to be consistent with callers.
12913 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12914 (lface_hash): Apply XFASTINT to lisp values before folding in.
12915
12916 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12917 fill in window width and height. Pass an int, not a lisp object,
12918 as first arg to Finsert.
12919
6e7b2457
GM
129202000-04-01 Gerd Moellmann <gerd@gnu.org>
12921
610d841e
GM
12922 * xfaces.c (realize_basic_faces): Block input while realizing
12923 the faces.
12924
6e7b2457
GM
12925 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12926
12927 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12928
aa110c0c
GM
129292000-03-31 Gerd Moellmann <gerd@gnu.org>
12930
12931 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12932 or ASCII, handle case that per-char metric is null.
aa110c0c 12933
8801a864
KR
129342000-03-30 Ken Raeburn <raeburn@gnu.org>
12935
c6129d7e
KR
12936 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12937
52283633
SM
12938 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12939 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12940 pointer, using eassert.
12941 * frame.h (XFRAME): Likewise.
12942
52283633
SM
12943 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12944 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12945 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12946 * data.c (set_internal): Likewise.
52283633
SM
12947 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12948 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12949 * fileio.c (auto_save_1): Likewise.
12950 * insdel.c (check_markers): Likewise.
12951 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12952 * undo.c (record_insert): Likewise.
12953 * vmsproc.c (child_sig): Likewise.
12954 * window.c (unshow_buffer, window_loop): Likewise.
12955 * xterm.c (x_erase_phys_cursor): Likewise.
12956
8e7af858
GM
129572000-03-30 Gerd Moellmann <gerd@gnu.org>
12958
12959 * xfns.c (free_image_cache): Free the cache structure itself
12960 last, after all its members have been freed.
12961
12962 * lisp.h (xstrdup): Add prototype.
12963
12964 * alloc.c (xstrdup): Moved here from xfaces.c.
12965 (allocating_for_lisp): Variable removed.
52283633 12966 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12967
12968 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12969 of Fsymbol_value.
12970 (xstrdup): Moved to alloc.c.
12971
e0b8c689
KR
129722000-03-29 Ken Raeburn <raeburn@gnu.org>
12973
b96f9fb7
KR
12974 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12975
12976 * emacs.c (main): Fix sense of no-loadup test.
12977
e0b8c689
KR
12978 * config.in (ENABLE_CHECKING): Undef.
12979
12980 * lisp.h (struct interval): Replace "parent" field with a union of
12981 interval pointer and Lisp_Object; add new bitfield to use as
12982 discriminant. Change other flag fields to bitfields.
12983 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12984 is defined and the supplied test fails, print a message and abort.
12985 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12986
12987 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12988 pointers; abort if the value looks like a lisp object.
52283633
SM
12989 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12990 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12991 Modify for new interval parent definition.
12992
52283633
SM
12993 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12994 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12995 addressable lisp object in the interval structure.
12996 (die): New function.
12997 (suppress_checking): New variable.
12998
12999 * intervals.c (interval_start_pos): Just return 0 if there's no
13000 parent object.
13001
f83c5440
GM
130022000-03-29 Gerd Moellmann <gerd@gnu.org>
13003
13004 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13005 and earlier Emacs versions.
13006
13007 * keyboard.c (Ftop_level): Cancel busy-cursor.
13008
13009 * eval.c (call_debugger): Cancel busy-cursor.
13010
fdce64ff
KH
130112000-03-29 Kenichi Handa <handa@etl.go.jp>
13012
13013 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13014 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13015
f6a3f532
SM
130162000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13017
13018 * regex.c (analyse_first): New function obtained by ripping out most
13019 of re_compile_fastmap and generalizing it a little bit so that it
13020 can also just return whether a given (sub)pattern can match the empty
13021 string or not.
13022 (regex_compile): Use `analyse_first' to decide whether the loop-check
13023 needs to be done or not for *, +, *? and +? (the loop check is costly
13024 for non-greedy repetition).
13025 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13026
e9b309ac
DL
130272000-03-28 Dave Love <fx@gnu.org>
13028
52283633 13029 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13030
e9b309ac
DL
13031 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13032
ed0767d8
SM
130332000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13034
13035 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13036 an expression.
13037 (enum re_opcode_t): Update description of succeed_n.
13038 (PATFETCH): Always define.
13039 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13040 operators, char classes, shy-groups and intervals).
13041 Optimize special cases of intervals so as to only use succeed_n and
13042 jump_n when really needed.
13043 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13044 that we don't have to handle the special cases any more.
13045 Simplify on_failure_jump handling as well.
13046
e11e7e46
JR
130472000-03-28 Jason Rumney <jasonr@gnu.org>
13048
13049 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13050
88faab89
GM
130512000-03-27 Gerd Moellmann <gerd@gnu.org>
13052
182ff242
GM
13053 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13054
13055 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13056
182ff242
GM
13057 * alloc.c (mark_maybe_object): New function.
13058 (mark_memory): Use it.
13059 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13060 (setjmp_tested_p, longjmp_done): New variables.
13061 (test_setjmp): New function.
13062 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13063 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13064
c1005d06
GM
13065 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13066 to DEC_TEXT_POS and INC_TEXT_POS.
13067
13068 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13069 with parameter MULTIBYTE_P.
13070
52283633 13071 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13072
7439e5b9 13073 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13074 buffers because it looks for multibyte character byte sequences
13075 which don't exist in unibyte text.
7439e5b9 13076
d9c545da
GM
13077 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13078
11fd416e 13079 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13080 [DEBUG_X_COLORS]: New functions.
13081 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13082
13083 * xfns.c (x_set_cursor_color): Get color reference counts right.
13084
13085 * xterm.c (x_copy_color): New function.
13086 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13087
13088 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13089 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13090 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13091 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13092 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13093 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13094 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13095 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13096 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13097 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13098
11fd416e
GM
13099 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13100 names for handling per-buffer variables.
d9c545da
GM
13101
13102 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13103 instead of MAX_BUFFER_LOCAL_VARS.
13104 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13105
13106 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13107
88faab89
GM
13108 * xfns.c (x_specified_cursor_type): New function.
13109 (x_set_cursor_type): Use it.
13110
13111 * buffer.h (struct buffer): Add cursor_type.
13112
d80f42b7
SM
131132000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13114
13115 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13116 (print_partial_compiled_pattern, re_compile_fastmap):
13117 Handle new opcode.
d80f42b7
SM
13118 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13119 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13120 executing it as well as when popping it off the stack to find infinite
13121 loops in non-greedy repetition operators.
13122
89e80928
GM
131232000-03-26 Gerd Moellmann <gerd@gnu.org>
13124
3d4ff2dd
GM
13125 * doc.c (Qfunction_documentation): New variable.
13126 (syms_of_doc): Initialize Qfunction_documentation.
13127 (Fdocumentation): If FUNCTION is a symbol with non-nil
13128 `function-documentation' property, return a documentation derived
13129 from that.
13130
bd96bd79
GM
13131 * buffer.c (syms_of_buffer): Add default-cursor-type.
13132 (init_buffer_once): Don't let cursor_type have a local value
13133 in every buffer.
13134
19d1bc27
GM
13135 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13136 on buffer-local value of cursor_type.
13137 (x_draw_bar_cursor): Add parameter WIDTH.
13138
13139 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13140 (init_buffer_once): Set default cursor_type value to t.
13141 Mark cursor_type as local everywhere.
13142 (syms_of_buffer): New per-buffer variable cursor-type.
13143
89e80928
GM
13144 * buffer.h (struct buffer): Remove member local_var_flags,
13145 add local_flags.
13146 (MAX_BUFFER_LOCAL_VARS): New macro.
13147 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13148 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13149 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13150 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13151
52283633 13152 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13153
13154 * category.c (Fset_category_table): Use new macros for per-buffer
13155 variables.
13156
13157 * buffer.c (buffer_permanent_local_flags): Make a char array.
13158 (max_buffer_local_idx): New variable.
13159 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13160 for new handling of per-buffer variables.
13161 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13162 (init_buffer_once): Initialize per-buffer vars differently.
13163 Set max_buffer_local_idx.
13164
13165 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13166 variables.
13167
52283633 13168 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13169
13170 * data.c (do_symval_forwarding, store_symval_forwarding)
13171 (find_symbol_value, set_internal, default_value, Fset_default)
13172 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13173 per-buffer variables.
13174
13175 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13176
9a0dd3dc
GM
131772000-03-24 Gerd Moellmann <gerd@gnu.org>
13178
b68c375f
GM
13179 * xterm.c (x_term_init): Unblock input around call1 of
13180 Qvendor_specific_keysyms.
13181
9a0dd3dc
GM
13182 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13183 (find_defun_start): Consider an open parenthesis in column 0
13184 a defun start only if open_paren_in_column_0_is_defun_start is set.
13185 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13186
7973e637
SM
131872000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13188
13189 * eval.c (Fautoload): Add entry in load-history (if after dump).
13190 * lread.c (load-history): Update docstring.
13191
39210e90
GM
131922000-03-24 Gerd Moellmann <gerd@gnu.org>
13193
13194 * indent.c (Fvertical_motion): Always use the current buffer.
13195 Temporarily change the window's buffer, if necessary.
13196
72db3ab5
GM
131972000-03-23 Gerd Moellmann <gerd@gnu.org>
13198
13199 * xterm.c (fast_find_position): Make sure not to consider rows
13200 not visible in the window.
13201
990b2375
SM
132022000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13203
13204 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13205 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13206
ff4df011
JR
132072000-03-22 Jason Rumney <jasonr@gnu.org>
13208
13209 * w32menu.c (single_submenu): Set help string to NULL if none.
13210 (w32_menu_show): Set help string correctly.
13211 (add-menu-item): Set help string in MIIM_DATA for menu item.
13212 Load SetMenuItemInfoA explicitly.
13213 (w32_menu_display_help): New function.
427ec082 13214
ff4df011
JR
13215 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13216 (QCdata): Moved to xdisp.c.
13217
13218 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13219 (Vw32_charset_to_codepage_alist): Removed.
13220 (Vw32_charset_info_alist): New variable.
52283633
SM
13221 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13222 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13223 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13224 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13225 with TODO comment.
13226 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13227 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13228 Define Vw32_charset_info_alist and w32_charset symbols.
13229
132302000-03-22 Jason Rumney <jasonr@gnu.org>
13231
13232 * makefile.nt (w32bdf.obj): Update dependencies.
13233
13234 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13235
13236 * w32fns.c: Include fontset.h after dispextern.h.
13237 (Fx_create_frame): Do not create fontset.
13238 (w32_load_system_font): Doc fix.
13239 (Fx_close_connection): Free full_name if it is not shared.
13240
13241 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13242 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13243 Callers updated.
ff4df011
JR
13244 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13245 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13246 (w32_font_is_double_byte): New function, needs body.
13247 (x_append_glyph): Set glyph->glyph_not_available_p.
13248 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13249 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13250 character, convert it to a unibyte character.
13251 (struct glyph_string): Delete member `charset'.
13252 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13253 calculating it is found.
13254 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13255 the case that per char metric is not available correctly.
13256 (x_fill_glyph_string): Handle the case that the specific glyph is
13257 not available correctly.
13258 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13259 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13260 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13261 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13262 fontset. Don't call FS_LOAD_FONT.
13263
439d5cb4
KR
132642000-03-22 Ken Raeburn <raeburn@gnu.org>
13265
13266 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13267 (INT_LISPLIKE): New macro.
13268 (NULL_INTERVAL_P): Use it.
52283633
SM
13269 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13270 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13271 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13272
13273 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13274 explicit references to "parent" field of struct interval and
13275 associated unclean type conversions.
52283633
SM
13276 * intervals.c (create_root_interval, root_interval, rotate_right)
13277 (rotate_left, balance_possible_root_interval, split_interval_right)
13278 (split_interval_left, interval_start_pos, find_interval)
13279 (next_interval, previous_interval, update_interval)
13280 (adjust_intervals_for_insertion, delete_node, delete_interval)
13281 (adjust_intervals_for_deletion, merge_interval_right)
13282 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13283 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13284 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13285 Likewise.
13286 * syntax.c (update_syntax_table): Likewise.
13287
13288 * intervals.c (reproduce_tree_obj): New function, like
13289 reproduce_tree but takes a Lisp_Object for the parent. Declare
13290 with prototype.
13291 (graft_intervals_into_buffer): Use it when appropriate.
13292 (reproduce_tree): Declare with prototype.
13293 (balance_possible_root_interval): Check that the parent is a lisp
13294 object before trying to examine its type.
13295
ee1c5b21
GM
132962000-03-22 Gerd Moellmann <gerd@gnu.org>
13297
13298 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13299 as strings only if both are known to be strings.
13300
13301 * s/openbsd.h (LIBS_TERMCAP): Undef.
13302
1fb352e0
SM
133032000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13304
13305 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13306 definitions for non-Emacs compilation.
13307 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13308 outside of `#ifdef emacs'.
13309 (print_partial_compiled_pattern): Update.
13310 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13311 (re_compile_fastmap): Merge handling of charset and charset_not (for
13312 emacs and non-emacs compilation as well).
13313 Similarly for (not)categoryspec and (not)syntaxspec.
13314 Don't use the fastmap when reaching `anychar' since the added
13315 complexity is not justified.
13316 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13317 and (not)syntaxspec. Merge (not)categoryspec.
13318
fdaa1f77
KH
133192000-03-22 Kenichi Handa <handa@etl.go.jp>
13320
52283633
SM
13321 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13322 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13323 --without-x.
fdaa1f77 13324
d152fb46
DL
133252000-03-21 Dave Love <fx@gnu.org>
13326
13327 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13328 doc string.
13329
d2cafc8c
GM
133302000-03-21 Gerd Moellmann <gerd@gnu.org>
13331
13332 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13333 (lface_fully_specified_p): Don't check contents of
13334 LFACE_FONT_INDEX because that attribute is optional.
13335 (realize_x_face): Remove now unwarranted xassert.
13336
9111d4b5
KH
133372000-03-21 Kenichi HANDA <handa@etl.go.jp>
13338
13339 The following changes are to make font selection based on
13340 characters, not charset. In addition, they recover fontset
13341 facilities while utilizing the new font selection mechanism.
13342
6c4bfdc0
KH
13343 * Makefile.in (fontset.o): Depend on dispextern.h.
13344
13345 * alloc.c (mark_face_cache): Don't mark face->registry.
13346
9111d4b5
KH
13347 * dispextern.h (struct glyph): New member glyph_not_available_p.
13348 Use 22 bits for face_id.
13349 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13350 (struct face): Delete member registry, new member ascii_face.
13351 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13352 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13353 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13354 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13355
13356 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13357 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13358 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13359 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13360 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13361 (fs_free_face_fontset, fontset_font_pattern)
13362 (face_suitable_for_char_p, face_for_char)
13363 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13364 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13365 (FS_LOAD_FACE_FONT): New macro.
13366
13367 * fontset.c: All codes rewritten or adjusted for the change of
13368 fontset implementation. Now fontset is represented by char table.
52283633
SM
13369 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13370 Variables removed.
9111d4b5 13371 (my_strcasecmp): Function removed.
52283633 13372 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13373 (AREF, ASIZE): New macros.
52283633
SM
13374 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13375 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13376 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13377 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13378 (fontset_id_valid_p, font_family_registry, fontset_name)
13379 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13380 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13381 New functions.
13382 (fs_load_font): New arg FACE. Caller changed.
13383 (fs_query_fontset): Argument changed. Caller changed.
13384 (Fquery_fontset): call fs_query_fontset.
13385 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13386 Functions removed.
52283633
SM
13387 (clear_fontset_elements, check_registry_encoding)
13388 (check_fontset_name): New functions.
9111d4b5
KH
13389 (syms_of_fontset): Set char-table-extra-slots property of fontset
13390 to 3. Staticpro and initialize Vfontset_table and
13391 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13392
13393 * frame.h (struct frame): Member `fontset_data' removed.
13394 (FRAME_FONTSET_DATA): Macro removed.
13395
13396 * frame.c (make_frame): Don't allocate f->fontset_data.
13397 (Fdelete_frame): Don't free f->fontset_data.
13398
6c4bfdc0
KH
13399 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13400
9111d4b5
KH
13401 * xdisp.c (charset_at_position): Function removed.
13402 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13403 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13404 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13405 Likewise.
13406 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13407 FACE_FOR_CHARSET.
52283633
SM
13408 (get_next_display_element, append_space)
13409 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13410
13411 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13412 Variables removed.
13413 (clear_font_table, frame_update_line_height, load_face_font):
13414 Adjusted for the change of fontset implementation.
13415 (load_face_fontset_font): Function removed.
13416 (pixel_point_size): New function.
13417 (font_list): Argument type changed. Caller changed.
13418 (LFACE_FONT): New macro.
13419 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13420 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13421 Lisp_Object. Determine the font name by actually loading a font
13422 by the specified pattern. Set LFACE_FONT (lface) to the specified
13423 pattern. Even if a font is not found, don't try alternatives.
13424 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13425 (set_font_frame_param): If `font' is specified in lface, use it.
13426 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13427 (lface_same_font_attributes_p): Likewise.
13428 (make_realized_face): Arguent changed. Caller changed. Set
13429 face->ascii_face to face itself.
13430 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13431 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13432 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13433 (free_realized_multibyte_face): New function.
13434 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13435 changed. Caller changed.
13436 (try_font_list): Argument type changed.
13437 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13438 (choose_face_font): Argument changed. Handle fontset properly.
13439 (choose_face_fontset_font): Function removed.
13440 (realize_default_face, realize_named_face): Don't remove the
13441 former face here.
13442 (realize_face): Argument changed. Caller changed. Remove face
52283633 13443 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13444 (realize_x_face): Argument changed. Caller changed. For a
13445 multibyte character, share fontset with base_face. For a single
52283633 13446 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13447 (realize_tty_face): Argument changed. Caller changed.
13448 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13449 (face_at_buffer_position): Don't check multibyte_p for returning
13450 DEFAULT_FACE_ID.
13451 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13452 FACE_SUITABLE_FOR_CHARSET_P.
13453 (syms_of_xfaces): Remove code for Qx_charset_registry and
13454 Vface_default_registry.
13455
6c4bfdc0
KH
13456 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13457 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13458 (x_per_char_metric): Don't try FONT->default_char. Even if
13459 pcm->width is zero, glyph bits may exist.
13460 (x_encode_char): Always initialize char2b->byte1.
13461 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13462 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13463 (x_append_glyph): Set glyph->glyph_not_available_p.
13464 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13465 it->charset. Handle the case that per char metric is not
13466 available. If it->multibyte_p is zero and it->c is a multibyte
13467 character, convert it to a unibyte character.
13468 (struct glyph_string): Delete member `charset'.
13469 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13470 the case that per char metric is not available correctly.
13471 (x_fill_glyph_string): Handle the case that the specific glyph is
13472 not available correctly.
13473 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13474 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13475 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13476 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13477 fontset. Don't call FS_LOAD_FONT.
13478
13479 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13480 (x_create_tip_frame): Likewise.
13481 (Fx_close_connection): Free full_name of font_info.
13482
13483 * fns.c (optimize_sub_char_table): New function.
13484 (Foptimize_char_table): New function.
13485 (syms_of_fns): Defsubr Soptimize_char_table.
13486
b33dd3b0
GM
134872000-03-20 Gerd Moellmann <gerd@gnu.org>
13488
13489 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13490 only if buffer is displayed in some window.
13491
13492 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13493 (try_window_reusing_current_matrix): Don't call scroll run
13494 function if run's current and desired position are the same;
13495 this prevents cursor flickering.
13496
4e8a9132
SM
134972000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13498
13499 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13500
13501 * regex.c (RE_STRING_CHAR): New macro.
13502 (GET_CHAR_AFER_2): Remove.
13503 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13504 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13505 (print_partial_compiled_pattern, re_compile_fastmap)
13506 (re_match_2_internal): Remove on_failure_jump_exclusive.
13507 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13508 optimization only need to work for * (ie. can use of_keep_string_jump).
13509 Remove the special case for .*\n since it is now covered by the general
13510 optimization.
13511 (re_search_2): Don't bother with `room'.
13512 (skip_one_char): New function.
13513 (skip_noops): Simplify since `memory' is not needed any more.
13514 (mutually_exclusive_p): Restructure slightly to use `switch' and
13515 add handling for "all" remaining cases.
13516 (re_match_2_internal): Change on_failure_jump_smart to use
13517 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13518 rather than on_failure_jump_exclusive.
13519
2136fdd4
GM
135202000-03-19 Gerd Moellmann <gerd@gnu.org>
13521
13522 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13523 number of bits per RGB because it's everywhere used as the depth
13524 of the visual.
13525
13526 * term.c (calculate_costs): Remove code dealing with X frames.
13527
18e21ce8 135282000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13529
13530 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13531
d7b511c4
GM
135322000-03-18 Gerd Moellmann <gerd@gnu.org>
13533
13534 * lread.c (read_integer): Unread the last char not consumed.
13535
16b5d424
GM
135362000-03-17 Gerd Moellmann <gerd@gnu.org>
13537
13538 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13539 which are in the process of being deleted.
16b5d424 13540
1fa28578
GM
135412000-03-16 Gerd Moellmann <gerd@gnu.org>
13542
83488cce
GM
13543 * Makefile.in (mostlyclean): Add `*.core'.
13544 (clean): Add `bootstrap-emacs'.
13545
1fa28578
GM
13546 * lread.c (read_integer): New function.
13547 (read1): Support read syntax #o, #x, #b, #r.
13548
99633e97
SM
135492000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13550
1fa28578
GM
13551 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13552 make sure POINTER_TO_OFFSET gives the same value before and after
13553 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13554 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13555 (debug): Now only active if > 0 rather than if != 0.
13556 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13557 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13558 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13559 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13560 (store_op1, store_op2, insert_op1, insert_op2)
13561 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13562 (group_in_compile_stack): Move to after its arg's types are
13563 declared and add a prototype.
99633e97 13564 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13565 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13566 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13567 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13568 indentation of the greedy-op and shy-group code.
99633e97
SM
13569 (at_(beg|end)line_loc_p): Fix argument's types.
13570 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13571 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13572 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13573 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13574 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13575 QUIT unconditionally.
99633e97 13576
699238d9
GM
135772000-03-15 Gerd Moellmann <gerd@gnu.org>
13578
13579 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13580 a sole completion.
13581
13582 * process.c (send_process): Add a hint that the function
13583 can call Lisp code to its comment.
13584
13585 * lread.c (load_dangerous_libraries): New variable.
13586 (Vbytecomp_version_regexp): New variable.
13587 (safe_to_load_p): New function.
13588 (Fload): Handle files not compiled with Emacs specially.
13589 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13590
34e23e5a
GM
135912000-03-14 Gerd Moellmann <gerd@gnu.org>
13592
9c763cca
GM
13593 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13594
13595 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13596 support functions only if HAVE_X11R6_XIM is defined.
13597 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13598
13599 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13600
13601 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13602 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13603 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13604
13605 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13606 (HAVE_X11R6_XIM): Define.
13607
13608 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13609
34e23e5a
GM
13610 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13611 If set, call XSynchronize.
13612
66f0296e
SM
136132000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13614
34e23e5a
GM
13615 * regex.c: Declare a new type `re_char' used throughout the code
13616 for the string char type. It's `const unsigned char' to match the
13617 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13618 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13619 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13620 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13621 code duplication.
66f0296e
SM
13622
13623 * charset.h (GET_CHAR_AFTER_2): Remove.
13624 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13625
854a025c
KR
136262000-03-12 Ken Raeburn <raeburn@gnu.org>
13627
13628 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13629 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13630 of them try to use backquotes.
13631
b9d2c7e2
DL
136322000-03-12 Dave Love <fx@gnu.org>
13633
13634 * unexelf.c: Restore changes of 1999-10-19.
13635 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13636 fix its type and alignment; copy it from current process.
13637
5e5dff44
GM
136382000-03-12 Gerd Moellmann <gerd@gnu.org>
13639
9b2f3c38
GM
13640 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13641 has been found. Fix bug not computing timer's predecessor.
13642
427ec082 13643 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13644 file name.
13645
e1cff360
GM
13646 * window.c (Fsave_window_excursion): Doc fix.
13647
52283633 13648 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13649
e411ce4b
EZ
136502000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13651
13652 * msdos.c (vga_installed): New function, code moved from
13653 dos_set_window_size.
13654 (Qbar, Qcursor_type, outside_cursor): New variables.
13655 (syms_of_msdos): Intern and staticpro them.
13656 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13657 shape used outside Emacs when called for the first time.
13658 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13659 cursor shape used outside Emacs.
13660 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13661 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13662 type has changed.
13663 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13664 parameters specify the cursor. Make qreverse a global
13665 variable (renamed to Qreverse).
13666
80460654
GM
136672000-03-09 Gerd Moellmann <gerd@gnu.org>
13668
13669 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13670
95cd4c40
SM
136712000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13672
13673 This is a big redesign of failure-stack and register handling, prompted
13674 by bugs revealed when trying to add shy-groups. Overall, what happened
13675 is that loops are now structured a little differently, groups can be
13676 shy and the code is a little simpler.
13677
13678 * regex.h: Update the copyright.
13679 (RE_SHY_GROUPS): New value.
13680 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13681 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13682
80460654
GM
13683 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13684 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13685 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13686 for (start|stop)_memory since they now only take one argument (the
13687 second has becomes unnecessary).
52283633 13688 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13689 (print_compiled_pattern): Use %ld to printf long ints and flush to
13690 make debugging a little easier.
95cd4c40
SM
13691 (union fail_stack_elt): Make the integer unsigned.
13692 (struct fail_stack_type): Add a `frame' element.
13693 (INIT_FAIL_STACK): Init `frame' as well.
13694 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13695 (DEBUG_PUSH, DEBUG_POP): Remove.
13696 (NUM_REG_ITEMS): Remove.
13697 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13698 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13699 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13700 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13701 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13702 New macros.
80460654
GM
13703 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13704 address pushed is not the destination of the jump but the source
13705 of it instead.
95cd4c40
SM
13706 (NUM_FAILURE_ITEMS): Remove.
13707 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13708 registers before the actual failure point). Don't hardcode any
13709 meaning for str==NULL anymore.
95cd4c40 13710 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13711 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13712 Remove.
95cd4c40
SM
13713 (REG_UNSET_VALUE): Use NULL (why not?).
13714 (compile_range): Remove declaration since it doesn't exist.
13715 (struct compile_stack_elt_t): Remove inner_group_offset.
13716 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13717 (regex_grow_registers): Remove dead code.
13718 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13719 (regex_compile): Add shy-groups Change loops to use
13720 on_failure_jump_smart&jump instead of
13721 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13722 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13723 variable to me). Use `jump' instead of `jump_past_alt' and don't
13724 bother with push_dummy_failure in alternatives since it is now
13725 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13726 emacs' for (re)allocating the stack.
13727 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13728 from loop when bufp->can_be_null rather than jumping to `done'.
13729 Avoid jumping backwards so as to ensure termination. Use
13730 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13731 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13732 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13733 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13734 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13735 (lowest_active_reg, highest_active_reg)
13736 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13737 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13738 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13739 variables. Push register (in `start_memory') on the stack rather
13740 than storing it in old_reg(start|end). Remove the cycle detection
13741 from `stop_memory', replaced by the use of on_failure_jump_loop
13742 for greedy loops. Add code for the new on_failure_jump_<foo>.
13743 Remove ad-hoc code in `on_failure_jump' to push more registers in
13744 the case of a loop. Take out code from `maybe_pop_jump' into
13745 separate functions and adapt it to the semantics of
13746 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13747 and push_dummy_failure. Remove dummy_failure handling and
13748 handling of `failures to jump to on_failure_jump' (this last one
13749 was already dead code, it seems).
13750 (group_match_null_string_p, alt_match_null_string_p)
13751 (common_op_match_null_string_p): Remove.
95cd4c40 13752
7397acc4
DL
137532000-03-08 Dave Love <fx@gnu.org>
13754
13755 * config.in: Don't depend on __STDC__ for volatile.
13756 Add POINTER_TYPE, PTR, PROTOTYPES.
13757
13758 * hftctl.c, strftime.c: Use PROTOTYPES.
13759 * eval.c (find_handler_clause): Likewise.
13760
13761 * mem-limits.h: Use POINTER_TYPE.
13762
13763 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13764 (memory_warnings): Declare using POINTER_TYPE.
13765
5e91ff9e
GM
137662000-03-08 Gerd Moellmann <gerd@gnu.org>
13767
feab4fba
GM
13768 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13769
52283633 13770 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13771
5e91ff9e
GM
13772 * xfns.c: Remove obsolete code in #if 0.
13773 (Fx_focus_frame): New function.
13774
a735b7e1
KH
137752000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13776
13777 * coding.c (coding_category_name): Add coding-category-utf-8,
13778 coding-category-utf-16-be, coding-category-utf-16-le.
13779 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13780 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13781 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13782 (detect_coding_utf_8): New function.
13783 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13784 UTF_16_LOW_SURROGATE_P): New macros.
13785 (detect_coding_utf_16): New function
13786 (detect_coding_mask): When priorities are specified, skip any
13787 categories that have `nil' coding-system. Fix bug of returning
13788 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13789 returns a mask not set in PRIORITIES.
13790 (detect_eol_type_in_2_octet_form): New function.
13791 (detect_eol): selects detect_eol_type_XXX to call according to
13792 cooding->category_idx.
13793 (detect_coding_system): Remove `nil' coding-system in the result.
13794 (Fupdate_coding_systems_internal): Update all coding-categories.
13795
52283633
SM
13796 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13797 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13798 New macros.
13799 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13800 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13801 (CODING_CATEGORY_IDX_UTF_16_LE)
13802 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13803 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13804 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13805 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13806
9994cc69
GM
138072000-03-07 Gerd Moellmann <gerd@gnu.org>
13808
e9b4e5ff
GM
13809 * doc.c (Fdocumentation_property): If value is not a string,
13810 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13811
f7daf1e1
GM
13812 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13813 close the display with XtCloseDisplay. This caused a bus error
13814 on OpenWindows.
13815
9994cc69
GM
13816 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13817 complete but not unique.
13818
4336c705
GM
138192000-03-06 Gerd Moellmann <gerd@gnu.org>
13820
18bb0684
GM
13821 * process.c (send_process): Remove local variable `procname' that
13822 might become invalid when a GC happens. Instead, access the
13823 process name slot directly.
13824
4336c705
GM
13825 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13826 orig_height if set.
13827
13828 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13829 orig_height if set.
13830
515d0d0e
EZ
138312000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13832
13833 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13834 glyph matrices have been freed.
13835
100b3cbb
GM
138362000-03-05 Gerd Moellmann <gerd@gnu.org>
13837
50df5e5a 13838 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13839 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13840
13841 * xfns.c (QCdata): Moved to xdisp.c.
13842
13843 * xdisp.c (QCdata): Moved here from xfns.c.
13844 (syms_of_xdisp): Initialize QCdata.
13845
13846 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13847
13848 * window.c (coordinates_in_window): Use
13849 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13850 FRAME_INTERNAL_BORDER_WIDTH.
13851
100b3cbb 13852 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13853 it is obviously invalid.
100b3cbb
GM
13854
13855 * xterm.c (x_term_init): Create a colormap if not using the
13856 default visual.
13857
13858 * xterm.h (select_visual): Change prototype.
13859
13860 * xfns.c (select_visual): Rewritten. Recognize user-specified
13861 visual classes.
13862 (visual_classes): New variable.
13863
64d739c4
GM
138642000-03-04 Gerd Moellmann <gerd@gnu.org>
13865
13866 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13867 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13868 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13869 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13870 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13871 XtNcolormap resources.
13872 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13873 (Fx_create_frame): Initialize color members of x_output structure.
13874 (xpm_load): Pass colormap to XPM lib.
13875
13876 * xfaces.c (x_free_colors): Access colormap of frame using
13877 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13878 when default colormap is used.
13879
13880 * xterm.c (x_term_init): Set Colormap member of x_display_info
13881 structure. Copy colormap if resource `privateColormap' is
13882 specified (PseudoColor only).
13883 (x_setup_relief_color): Access colormap of frame using
13884 FRAME_X_COLORMAP.
13885
13886 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13887 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13888
c3cee013
JR
138892000-03-04 Jason Rumney <jasonr@gnu.org>
13890
13891 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13892 other non-platform-specific equivalents.
64d739c4 13893 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13894 specific functions and macros as their w32 equivalents where
13895 non-platform-specifics are not available.
13896 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13897 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13898 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13899 (frame_update_line_height): Use macros to access f->output_data.
13900 (defined_color): Remove FIXME comments; fixed.
13901 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13902 into #ifdef blocks. Add WINDOWSNT blocks.
13903 (Fx_list_fonts): Use macros for accessing font data.
13904 (set_lface_from_font_name): Different default fonts for X and
13905 WINDOWSNT.
13906 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13907 scalable for backward compatibility.
64d739c4 13908 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13909 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13910
64d739c4 13911 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13912 syms_of_w32faces.
13913
13914 * makefile.nt (w32faces.obj): Remove.
13915 (xfaces.obj): Add.
13916
807cc41c
JR
139172000-03-03 Jason Rumney <jasonr@gnu.org>
13918
13919 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13920 correct parameters.
13921
0007072a
KR
139222000-03-03 Ken Raeburn <raeburn@gnu.org>
13923
13924 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13925 standard ELF definitions here if the system header does not.
13926
71a6ba55
GM
139272000-03-03 Gerd Moellmann <gerd@gnu.org>
13928
13929 * xterm.c (PER_CHAR_METRIC): Removed.
13930 (x_per_char_metric_1, x_default_char): New functions.
13931 (x_per_char_metric): If font's default char is invalid, return
13932 metrics of a suitably chosen usable default char.
13933 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13934 char, replace occurrences of unprintable chars with a suitably
13935 chosen usable default char.
71a6ba55 13936
900fa1f1
GM
139372000-03-02 Gerd Moellmann <gerd@gnu.org>
13938
42f55fe0
GM
13939 * xterm.c (note_mouse_highlight): Return quickly if frame's
13940 glyph matrices have been freed.
13941
13942 * dispnew.c (free_glyphs): Block input while freeing matrices.
13943
900fa1f1
GM
13944 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13945
52283633
SM
13946 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13947 Use x_free_colors.
900fa1f1
GM
13948
13949 * dispextern.h (x_free_colors): Add prototype.
13950
13951 * xfaces.c (x_free_colors): New function.
13952 (unload_color, free_face_colors): Use it.
13953
2f950292
EZ
139542000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13955
13956 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13957
13958 * window.c [MSDOS]: Include msdos.h.
13959
54d04320
DL
139602000-03-02 Dave Love <fx@gnu.org>
13961
13962 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13963
13964 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13965 set C_OPTIMIZE_SWITCH for gcc.
13966
0ba93ac4
KH
139672000-03-02 Kenichi Handa <handa@etl.go.jp>
13968
13969 * coding.c (coding_save_composition): Be sure to allocate
13970 composition data area in coding even if there's no composition in
13971 the current run.
13972
a2bc11d4
JR
139732000-03-01 Jason Rumney <jasonr@gnu.org>
13974
13975 * w32term.c: Equivalent changes to those made to xterm.c on
13976 2000-02-25 and 2000-02-24.
13977
13978 * w32fns.c: Equivalent changes to those made to xfns.c on
13979 2000-02-25 and 2000-02-21.
13980
13981 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13982 correct line-end convention is followed.
13983
13984 * w32menu.c [HAVE_BOXES]: Remove #undef.
13985 (single_keymap_panes): Remove code for simulating checkmarks.
13986 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13987 Remove code for drawing simulated checkmarks.
13988 (w32_menu_show): make unibyte help string correctly.
13989 (add_menu_item): draw standard Windows checkmarks. Draw radio
13990 buttons as radio buttons if possible.
13991
72d19d75
GM
139922000-03-01 Gerd Moellmann <gerd@gnu.org>
13993
2df636f4
GM
13994 * sysdep.c (start_of_text): Don't define this function for NetBSD
13995 with ELF.
13996
427ec082 13997 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13998 Don't define.
13999 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14000 (LINKER): Don't undef if __NetBSD__ is defined.
14001
14002 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14003
14004 * fileio.c [__NetBSD__]: Define `unix'.
14005
72d19d75
GM
14006 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14007
ed4d0512
GM
140082000-02-29 Gerd Moellmann <gerd@gnu.org>
14009
50b1039f
GM
14010 * atimer.c (start_atimer): Don't abort when timers are stopped.
14011 (append_atimer_lists): New function.
14012 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14013 arbitrary lists of stopped and running atimers.
14014
ed4d0512
GM
14015 * atimer.c (cancel_atimer): Handle canceling an atimer when
14016 some timers are stopped.
14017
14018 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14019 after canceling it.
14020
14021 * fns.c (maybe_resize_hash_table): Handle case of new size
14022 coming out as being the same as old size.
14023
387023ee
JR
140242000-02-27 Jason Rumney <jasonr@gnu.org>
14025
14026 * makefile.nt: Add atimer.h to dependencies.
14027 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14028 * w32console.c: Only disable window system features for dispextern.h
14029 (initialize_w32_display): Build a display info for the console.
14030 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14031 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14032 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14033 as 2 button mice.
14034 * w32gui.h (struct W32FontStruct): Revert last change after change
14035 to xdisp.c.
14036 * w32menu.c (single_submenu): Set up help string.
14037 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14038 (w32_dialog_show): Set up help string.
14039 * w32term.c (w32_display_info_for_display): Remove unused function.
14040 (w32_draw_bitmap): Use pre-built bitmaps.
14041 (w32_initialize_display_info): New function to initialize parts of
14042 display info that are common to both GUI and console frames.
14043 (w32_term_init): Use w32_initialize_display_info. Do not set
14044 Vw32_num_mouse_buttons here, as it is not called for console
14045 frames. Build bitmaps for indicating truncated lines etc.
14046 (x_delete_display): Destroy pre-built bitmaps.
14047 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14048 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14049
4516715a
DL
140502000-02-27 Dave Love <fx@gnu.org>
14051
14052 * lisp.h: Add a bunch of prototypes.
14053
171ca836
KH
140542000-02-26 Kenichi Handa <handa@etl.go.jp>
14055
14056 * keyboard.c (read_char): Set `usec' correctly.
14057
4013921d
KH
140582000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14059
14060 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14061 `lambda', set reg[RRR] to the map index.
14062 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14063 reg[RRR] to 0. Otherwise, set it to -1.
14064
9244a058
GM
140652000-02-25 Gerd Moellmann <gerd@gnu.org>
14066
2df636f4 14067 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14068
18e21ce8 140692000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14070
f43d79c1
GM
14071 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14072 and contains a `:', prepend `/:'.
14073
14074 * window.c (select_window_1): If selected_window is nil,
14075 don't "swap out" the buffer's point.
14076 (Fset_window_configuration): Set selected_window to nil
14077 before calling Fselect_window.
14078 (unshow_buffer): Don't set point in buffer from window's point
14079 if another more recently selected window also shows the buffer.
14080
bed0c171
GM
140812000-02-25 Gerd Moellmann <gerd@gnu.org>
14082
449c3c52
GM
14083 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14084
f5b58615
GM
14085 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14086 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14087 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14088 New variables.
f5b58615
GM
14089 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14090 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14091 (hide_busy_cursor): New functions.
14092 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14093
14094 * minibuf.c (read_minibuf): Cancel busy-cursor.
14095
14096 * keyboard.c (command_loop_1): Call start_busy_cursor before
14097 Fcommand_execute and cancel_busy_cursor after it.
14098 (timer_check): Remove busy-cursor code.
14099 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14100 cursor timer.
14101
14102 * process.c (wait_reading_process_input): Remove busy-cursor code.
14103
14104 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14105 Fx_hide_busy_cursor.
14106
14107 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14108 Remove prototyoes.
14109 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14110
14111 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14112
14113 * xterm.c (XTread_socket): Remove busy-cursor code.
14114
4eb8436f
GM
14115 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14116 (build_frame_matrix_from_leaf_window): Put code handling
14117 glyph row's not being a slice of a frame row in #if 0.
14118 (sync_window_with_frame_matrix_rows): New function.
14119 (frame_row_to_window): New function.
14120 (mirror_line_dance): Handle copies between windows.
14121
3cb65b0e
GM
14122 * lread.c (Fload): Use `xfree' instead of `free'.
14123 (init_obarray): Use `xmalloc' instead of `malloc'.
14124
bed0c171
GM
14125 * window.c (Fset_window_buffer): Set WINDOW to the window
14126 after decoding.
2add4349
GM
14127 (coordinates_in_window): Take frame's internal border width
14128 into account.
bed0c171 14129
42088c12
GM
141302000-02-24 Gerd Moellmann <gerd@gnu.org>
14131
14132 * xterm.c (x_display_and_set_cursor): Display cursor of
14133 non-selected windows depending on the setting of
14134 cursor_in_non_selected_windows.
14135
14136 * xdisp.c (cursor_in_non_selected_windows): New variable.
14137 (syms_of_xdisp): DEFVAR_BOOL it.
14138
d1e103b2
GM
141392000-02-23 Gerd Moellmann <gerd@gnu.org>
14140
723e779c
GM
14141 * data.c (Fstring_to_number): If number is greater than what
14142 fits into an integer, return a float.
14143
d1e103b2
GM
14144 * eval.c (specbind): Remove references to
14145 keyword_symbols_constant_flag.
14146
14147 * data.c (keyword_symbols_constant_flag): Removed.
14148 (Fmakunbound, set_internal, syms_of_data): Remove references to
14149 keyword_symbols_constant_flag.
14150
14151 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14152
214f877f
KH
141532000-02-23 Kenichi Handa <handa@etl.go.jp>
14154
14155 * syntax.c (multibyte_syntax_as_symbol): New variable.
14156 (syms_of_syntax): Declare it as a Lisp variable.
14157 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14158 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14159 nonzero, treat all multibyte characters as symbol.
52283633 14160 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14161
130adcb7
EZ
141622000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14163
3cb65b0e 14164 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14165 a deleted frame.
130adcb7 14166
17cbbf95
GM
141672000-02-21 Gerd Moellmann <gerd@gnu.org>
14168
14169 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14170
14171 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14172 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14173
beb0bc36
DL
141742000-02-21 Dave Love <fx@gnu.org>
14175
14176 * frame.c (Vmouse_position_function): New variable.
14177 (Fmouse_position): Use it.
14178 (syms_of_frame): Install it.
14179
14180 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14181
1d92afcd
GM
141822000-02-20 Gerd Moellmann <gerd@gnu.org>
14183
14184 * fileio.c (Finsert_file_contents): Unbind the binding of
14185 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14186
14187 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14188 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14189 (specbind, unbind_to): Handle most common case of non-constant
14190 symbol with trivial value specially.
14191
14192 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14193
18e21ce8 141942000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14195
14196 * data.c (Fmake_variable_buffer_local): Doc fix.
14197 Init found_for_buffer to 0.
14198 (Fmake_variable_frame_local): If the variable has already
14199 been buffer-local, set the check_frame field.
14200
1d4311c3
EZ
142012000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14202
14203 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14204 produced for CODING_MODE_LAST_BLOCK requires.
14205
2dc95ddd
DL
142062000-02-18 Dave Love <fx@gnu.org>
14207
14208 * keyboard.c (echo_keystrokes): Remove declaration.
14209 (Vecho_keystrokes) New variable.
14210 (read_char, record_menu_key, read_key_sequence): Use it to allow
14211 use of float value.
14212 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14213
14214 * lread.c: Undef feature selection macros before defining.
14215
f0930f35
GM
142162000-02-18 Gerd Moellmann <gerd@gnu.org>
14217
14218 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14219 for symbols other than the symbol in question.
14220
e3d4de90
DL
142212000-02-17 Dave Love <fx@gnu.org>
14222
14223 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14224
0b378936
GM
142252000-02-17 Gerd Moellmann <gerd@gnu.org>
14226
d621caf7
GM
14227 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14228
0b378936
GM
14229 * alloc.c (enum mem_type): Compile unconditionally.
14230
3b451f74
EZ
142312000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14232
14233 * xfaces.c (tty_defined_color): Don't return faulire indication
14234 for unspecified-fg and unspecified-bg pseudo-colors.
14235
10689a01
GM
142362000-02-17 Gerd Moellmann <gerd@gnu.org>
14237
1216f5e4
GM
14238 * alloc.c (mark_object): Don't mark symbol names in pure space.
14239 (gc_sweep): Don't unmark symbol names in pure space.
14240
14241 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14242 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14243 [GC_MARK_STACK]: New defines.
427ec082 14244 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14245 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14246
14247 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14248
14249 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14250 allocate_buffer instead of xmalloc.
14251
14252 * alloc.c (toplevel): Include setjmp.h.
14253 (PURE_POINTER_P): New define.
14254 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14255 (Vdead) [GC_MARK_STACK]: New variable.
14256 (lisp_malloc): Add parameter TYPE, call mem_insert if
14257 GC_MARK_STACK is defined.
14258 (allocate_buffer): New function.
427ec082 14259 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14260 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14261 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14262 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14263 (MEM_NIL) [GC_MARK_STACK]: New define.
14264 (struct mem_node) [GC_MARK_STACK]: New structure.
14265 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14266 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14267 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14268 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14269 (mark_stack) [GC_MARK_STACK]: New functions.
14270 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14271 (clear_marks): Removed.
14272 (gc_sweep): Set free conses' car, free floats' type, free
14273 symbols' function to Vdead. Use lisp_free to free buffers.
14274 (init_alloc_once): Initialize Vdead.
14275 (survives_gc_p): Return non-zero for pure objects.
14276
14277 * alloc.c: Add comments throughout the file.
14278
2503c8b1
GM
14279 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14280 that unblocks alarms.
14281
8389e1e2
GM
14282 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14283 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14284 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14285
10689a01 14286 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14287
bfc17d18
KH
142882000-02-17 Kenichi Handa <handa@etl.go.jp>
14289
4a09dee0
KH
14290 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14291 avoid infinite error signaling. Allocate sufficient memory for
14292 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14293
2b927d02
SM
142942000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14295
14296 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14297 depends on the previous behavior.
14298
b49cb764
GM
142992000-02-16 Gerd Moellmann <gerd@gnu.org>
14300
14301 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14302
99e95407
GM
143032000-02-15 Gerd Moellmann <gerd@gnu.org>
14304
14305 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14306
14307 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14308 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14309 write(2).
14310
6ffd3cf7
RS
143112000-02-15 Richard M. Stallman <rms@gnu.org>
14312
14313 * data.c (set_internal): Don't make variable buffer-local
14314 if within a let-binding for the same buffer.
14315 (let_shadows_buffer_binding_p): New function.
14316
14317 * eval.c (specbind): For buffer-local value,
14318 record the current buffer also.
14319 (unbind_to): Cope with that change.
14320
cad53475
GM
143212000-02-15 Gerd Moellmann <gerd@gnu.org>
14322
14323 * window.c (Fsave_window_excursion): Doc fix.
14324
1aa963c8
SM
143252000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14326
14327 * syntax.c (back_comment): Make sure we only consider comment-starters
14328 of the relevant style and return -1 in case of a failure to find the
14329 beginning of the comment.
14330 (Fforward_comment): If back_comment fails, go back to the position just
14331 after the comment-end.
14332 (scan_lists): Add comment describing a very minor bug.
14333
b9b84fd3
SM
143342000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14335
14336 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14337 `completion-regexp-list' in the docstring.
14338
3a28db80
DL
143392000-02-14 Dave Love <fx@gnu.org>
14340
14341 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14342
fb4a568d
SM
143432000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14344
14345 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14346 to Emacs' syntax. Also fix the comment about set/not-set meanings
14347 since Emacs syntax is not the value 0 any more.
14348 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14349 since it's now part of RE_SYNTAX_EMACS.
14350
1063ebb5
DL
143512000-02-12 Dave Love <fx@gnu.org>
14352
52283633 14353 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14354
fb07a302
GM
143552000-02-12 Gerd Moellmann <gerd@gnu.org>
14356
14357 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14358
aaf2320c
DL
143592000-02-12 Dave Love <fx@gnu.org>
14360
14361 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14362
14363 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14364 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14365 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14366
14367 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14368
14369 * s/nextstep.h: Don't define HAVE_ALLOCA.
14370
14371 * config.in: Add vfork bits.
14372
eedf8bde
GM
143732000-02-12 Gerd Moellmann <gerd@gnu.org>
14374
14375 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14376 unwind function to undo the effect of stopping atimers.
14377
52283633 14378 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14379
14380 * atimer.c (stopped_atimers): New variable.
14381 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14382 New functions.
14383
14384 * atimer.h (stop_other_atimers, run_all_atimers)
14385 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14386
eedf8bde
GM
14387 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14388
8476c2f8
KR
143892000-02-11 Ken Raeburn <raeburn@gnu.org>
14390
14391 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14392 library may depend on jpeg.
14393 (atimer.o): Depends on atimer.c.
14394
0e85e4a3
KH
143952000-02-11 Kenichi Handa <handa@etl.go.jp>
14396
14397 * insdel.c (del_range_1): Call update_compositions.
14398 (del_range_both): Call update_compositions just once..
14399
97fa0cc8
DL
144002000-02-10 Dave Love <fx@gnu.org>
14401
14402 * xfns.c (create_frame_xic): Fix initialization of automatic
14403 aggregates for pcc.
14404
25566a3c
KH
144052000-02-09 Kenichi Handa <handa@etl.go.jp>
14406
14407 * ccl.c (CCL_MAKE_CHAR): New macro.
14408 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14409 registers by CCL_MAKE_CHAR before calling translate_char.
14410 <CCL_TranslateCharacterConstTbl> Likewise.
14411
69da54ba
DL
144122000-02-08 Dave Love <fx@gnu.org>
14413
14414 * lread.c (__EXTENSIONS__): Define.
14415
f7136ee8
GM
144162000-02-08 Gerd Moellmann <gerd@gnu.org>
14417
14418 * puresize.h (BASE_PURESIZE): Increase to 650000.
14419
7768790b
EZ
144202000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14421
14422 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14423 the help message.
14424
38fd211b
EZ
144252000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14426
14427 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14428 md, mh, mb, mr, and me to the fake termcap entry.
14429
66e4690f
KR
144302000-02-06 Ken Raeburn <raeburn@gnu.org>
14431
14432 * sound.c (sound_cleanup): Don't call device close routine if the
14433 function pointer is null.
14434
a75dfea0
AI
144352000-02-06 Andrew Innes <andrewi@gnu.org>
14436
14437 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14438 around image definitions and prototypes.
14439 (gamma_correct) [WINDOWSNT]: New prototype.
14440
14441 * w32term.c (x_make_frame_visible): Replace call to
14442 input_poll_signal with poll_for_input.
14443
14444 * window.c [WINDOWSNT]: Include w32term.h.
14445
14446 * xdisp.c [WINDOWSNT]: Include w32term.h.
14447
14448 * makefile.nt: Add dependencies on w32gui.h.
14449 (OBJ1): Include atimer.obj.
14450 ($(BLD)\atimer.obj): New dependency rule.
14451
14452 * w32.c (sigmask): New function (does nothing).
14453 (sigunblock): Ditto.
14454
14455 * frame.c [WINDOWSNT]: Include w32term.h.
14456
14457 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14458
14459 * lread.c (syms_of_lread): Fix literal newlines.
14460
14461 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14462 the string constant limit (2048 bytes) in MSVC.
14463 (main): Ditto.
14464
59ddecde
GM
144652000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14466
52283633 14467 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14468 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14469 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14470 dispatch the event.
14471
07590973
DL
144722000-02-04 Dave Love <fx@gnu.org>
14473
14474 * fileio.c: Remove some unused vars.
14475 (_GNU_SOURCE): Define (for euidaccess).
14476
14477 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14478
14479 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14480 gcpro1, gcpro2.
14481 (read_minibuf): Deal with allow_props correctly.
14482
649351f9
EZ
144832000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14484
14485 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14486
66e4690f 144872000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14488
14489 * search.c (compile_pattern): If a cache entry has a nil regexp,
14490 fill in that entry instead of clobbering a previously cached
14491 string regexp.
14492
66e4690f 144932000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14494
14495 * puresize.h (BASE_PURESIZE): Increase to 610000.
14496
d240a249
GM
144972000-02-02 Gerd Moellmann <gerd@gnu.org>
14498
14499 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14500 can GC.
14501
ca91fb26
KH
145022000-02-02 Kenichi Handa <handa@etl.go.jp>
14503
25660570
KH
14504 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14505 instead of incrementing ic directly.
14506 <CCL_WriteExprConst> Likewise.
14507 <ccl_set_expr>: Set ic to jump_address.
14508
ca91fb26
KH
14509 * fileio.c (e_write): Fix the handling of
14510 CODING_FINISH_INSUFFICIENT_SRC.
14511
2ede9689
DL
145122000-02-01 Dave Love <fx@gnu.org>
14513
14514 * editfns.c (Fpropertize): Doc fix.
14515
14516 * process.c (Fstart_process): Doc fix.
14517
14518 * eval.c: Fix various doc strings not to duplicate information
14519 from help-manyarg-func-alist.
14520
52283633 14521 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14522
14523 * doc.c (Vhelp_manyarg_func_alist): New variable.
14524 (Fdocumentation): Use it.
14525 (syms_of_doc): Define it.
14526
b6680a0e
GM
145272000-01-31 Gerd Moellmann <gerd@gnu.org>
14528
2cb750ba
GM
14529 * xterm.c (xim_open_dpy): Remove unused local variable.
14530
52283633 14531 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14532
14533 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14534 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14535
b6680a0e
GM
14536 * fns.c (sweep_weak_table): New function.
14537 (sweep_weak_hash_tables): Use it. Keep on marking until there
14538 is no more change.
14539
994c5afe
GM
145402000-01-30 Gerd Moellmann <gerd@gnu.org>
14541
14542 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14543 that XTread_socket does not crash by trying to call XNoOp on a
14544 closed display.
427ec082 14545
f00276e3
JR
145462000-01-30 Jason Rumney <jasonr@gnu.org>
14547
14548 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14549 Change selected_frame to SELECTED_FRAME ().
14550 (w32_console_mouse_position): Remove #ifndef MULE from around
14551 `insist' parameter.
14552
14553 * makefile.nt: Remove dosfns.obj.
14554
14555 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14556
14557 * w32fns.c (w32_defined_color): Check for valid frame before
14558 applying gamma correction. Eliminate dependency on frame elsewhere.
14559 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14560 (w32_to_x_font): Use resx and resy not height_in and width_in.
14561 (x_to_w32_font): Doc fix.
14562 (xlfd_strip_height): New function to strip and return font height.
14563 (w32_font_match): Compare height separately from rest of xlfd
14564 spec, using xlfd_strip_height.
14565
14566 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14567 width_in. Use w32_defined_color in place of defined_color.
14568
14569 * w32faces.c: Merge more of DOS and X specifics in preparation for
14570 merge with xfaces.c.
14571 (defined_color): Remove FIXME comment.
14572 (tty_color_name): Provide w32-specific function.
14573 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14574
14575 * w32console.c (turn_on_face, turn_off_face): Removed.
14576 (w32_face_attributes): New function.
14577 (Global_variables): Reduce scope where possible.
14578 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14579 fill attribute.
14580 (hl_mode): Don't modify text attributes.
14581 (write_glyphs): Don't do anything if len <= 0. Use
14582 w32_face_attributes to get attributes for drawing. Write
14583 terminating codes using char_attr_normal.
14584 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14585 (update_begin, update_end): Likewise.
14586 (vga_stdcolor_name): New function.
14587 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14588 (Fset_screen_color): Remove char_attr_reverse.
14589
b08e8bb2
GM
145902000-01-29 Gerd Moellmann <gerd@gnu.org>
14591
14592 * xfns.c (xic_set_preeditarea): Take window parameter and
14593 window-relative pixel-positions.
14594
14595 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14596 is its frame's selected window.
14597 (xim_instantiate_callback): Likewise.
14598
14599 * xfns.c (x_create_im): Removed.
14600 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14601 (supported_xim_styles): Renamed from supported_styles.
14602 (best_xim_style): Renamed from best_style.
14603 (create_frame_xic): Renamed from xic_create_frame.
14604 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14605
b08e8bb2
GM
146062000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14607
14608 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14609 our frames, call XFilterEvent with 2nd parameter `None'.
14610 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14611 returning XBufferOverflow.
52283633 14612 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14613 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14614 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14615 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14616 (xim_initialize, xim_close)
14617 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14618 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14619 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14620 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14621
14622 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14623 and `xim_styles'.
14624 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14625 `xic_style' and `xic_xfs'.
14626 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14627 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14628 (FRAME_XIM): Removed.
14629
14630 * xfns.c (supported_styles): New variable.
14631 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14632 (xic_create_xfontset, best_style, xic_create_frame)
14633 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14634 (xic_set_xfontset): New functions.
14635
142e109c
DL
146362000-01-28 Dave Love <fx@gnu.org>
14637
14638 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14639
14640 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14641
b02786f9
GM
146422000-01-28 Gerd Moellmann <gerd@gnu.org>
14643
d060bc9f
GM
14644 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14645 for *scratch* if it already existed.
14646
b02786f9
GM
14647 * emacs.c (USAGE): New macro.
14648 (main): Use it to display usage information.
14649
2c52d7e4
EZ
146502000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14651
14652 Support for the menu-help feature:
14653
52283633 14654 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14655
14656 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14657 part of the line to the termscript file.
14658 (IT_clear_to_end): Clear the entire line, not just its beginning.
14659 (menu_help_message, prev_menu_help_message): New variables.
14660 (IT_menu_make_room): Make room for the help_text member.
14661 (IT_menu_display): New argument disp_help; all callers changed.
14662 If disp_help is non-zero, store the help text of the active menu
14663 item in menu_help_message.
14664 (XMenuAddPane): Initialize the help_text member to NULL.
14665 (XMenuAddSelection): New argument help_text. Store it in the
14666 XMenu structure.
14667 (XMenuActivate): New argument help_callback. If the value of
14668 menu_help_message has changed since the last time, display the
14669 menu help message text while waiting for the mouse to move. Clear
14670 the echo area before exiting.
14671 (XMenuDestroy): Free the help_text member.
14672
ffe0bcd1
GM
146732000-01-27 Gerd Moellmann <gerd@gnu.org>
14674
14675 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14676 XMenuAddSelection. Pass help callback to XMenuActivate.
14677 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14678
50dbd23f
EZ
146792000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14680
14681 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14682 and EMACS_SET_USECS.
14683
f5941bf8
GM
146842000-01-26 Dave Love <fx@gnu.org>
14685
6c67ddee
DL
14686 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14687
f5941bf8
GM
14688 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14689 an error may be signalled.
14690
9e49c990
GM
146912000-01-26 Gerd Moellmann <gerd@gnu.org>
14692
fc3cb460
GM
14693 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14694 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14695
9e49c990
GM
14696 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14697
d0c037d8
GM
146982000-01-25 Gerd Moellmann <gerd@gnu.org>
14699
14700 * charset.c (Fstring): If there is a multibyte char among
14701 the args, always return a multibyte string.
14702
e12489f9
GM
147032000-01-25 Gerd Moellmann <gerd@gnu.org>
14704
14705 * sysdep.c (sys_select): Turn atimers off and on instead of
14706 recording and restoring old alarm handler
14707
14708 * process.c (toplevel): Include atimer.h.
14709 (create_process_1): Rewritten.
14710 (create_process): Use atimers instead of alarm.
14711 (wait_reading_process_input) [hpux]: Turn atimers off instead
14712 of turning off SIGALRM.
14713 (wait_reading_process_input): Turn off atimers instead off
14714 calling stop_polling.
14715
14716 * emacs.c (main): Call init_atimer.
14717
14718 * keyboard.c (toplevel): Include systime.h and atimer.h.
14719 (polling_for_input): Removed because unused.
14720 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14721 (poll_timer): New variable.
14722 (poll_for_input, poll_for_input_1): New functions.
14723 (start_polling, stop_polling): Rewritten.
14724
14725 * keyboard.h (polling_for_input): Removed.
427ec082 14726
e12489f9
GM
14727 * atimer.h, atimer.c: New files.
14728
14729 * Makefile.in (obj): Add atimer.o.
14730 (atimer.o): New target.
14731
14732 * blockinput.h (pending_atimers): Add extern declaration.
14733 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14734
14735 * lisp.h (popup_activated_flag): Add extern declaration.
14736
14737 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14738 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14739 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14740
14741 * xterm.c (toplevel): Include atimer.h.
14742 (toolkit_scroll_bar_interaction): New variable.
14743 (Fxt_process_timeouts): Removed.
14744 (x_process_timeouts): New function.
14745 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14746 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14747 (x_make_frame_visible): Call poll_for_input_1 instead of
14748 input_poll_signal. Don't call alarm.
14749 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14750
1e5279b9
DL
147512000-01-24 Dave Love <fx@gnu.org>
14752
6c67ddee 14753 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14754 Don't use -cckr -- apparently not now necessary.
14755
edf6aeb8
EZ
147562000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14757
14758 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14759 screen boundary.
14760
9badad41
JR
147612000-01-23 Jason Rumney <jasonr@gnu.org>
14762
14763 * w32fns.c (w32_defined_color): Apply gamma correction before
14764 trying to map to the palette.
14765 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14766 to w32_clear_rect.
14767
14768 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14769 here. Callers changed to always pass real device context.
14770 (w32_draw_bitmap): Likewise.
14771 (w32_get_glyph_overhangs): Likewise.
52283633 14772 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14773 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14774 pfnSetScrollInfo and SetScrollRange.
14775 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14776 back into MULE characters after decoding them.
14777 (x_get_glyph_face_and_encoding): Likewise.
14778 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14779 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14780 (x_produce_glyphs): Calculate per char metrics for a character
14781 that we know exists in default font when font_not_found_p is true.
14782
63bd786b
JR
147832000-01-22 Jason Rumney <jasonr@gnu.org>
14784
14785 * makefile.nt (intervals.obj, composite.obj): New modules.
14786 (composite.h): Added as dependency where appropriate.
14787
14788 * w32gui.h (XGCValue): New struct for emulating X GCs.
14789
14790 * w32term.h (XCharStruct): New struct for emulating X.
14791
14792 * w32console.c (turn_on_face, turn_off_face): New functions.
14793 (change_line_highlight): New prototype for new redisplay.
14794 (write_glyphs): Support multibyte text. Support faces.
14795
52283633 14796 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14797
14798 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14799 throughout. struct frame * in place of FRAME_PTR.
14800 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14801 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14802 (w32_get_arg): Renamed from x_get_arg.
14803 (Fx_file_dialog): New function.
14804 (w32_list_fonts): Check cache before asking system.
14805 (Vw32_enable_synthesized_fonts): New variable.
14806 (Vw32_enable_italics): Obsolete, removed.
14807
14808 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14809 Use SELECTED_FRAME macro.
14810
14811 * w32menu.c: Add skeleton support for help strings on menus.
14812 (add_menu_item): Native checkbox and radio support added, but not
14813 yet enabled due to bugs.
14814 (push_menu_item): Add parameters type, selection and help.
14815 Callers updated.
14816 Formatting changes to reduce unnecessary diffs with xmenu.c.
14817
14818 * w32select.c (Fw32_set_clipboard_data): Update call to
14819 find_charset_in_str.
14820
14821 * w32term.c: Complete rewrite for new redisplay based on new
14822 xterm.c with necessary sections merged back in from old w32term.c.
14823
6ffd3cf7 148242000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14825
14826 * data.c (set_internal): Further fix in same criterion.
14827
6ffd3cf7 148282000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14829
14830 * data.c (set_internal): Fix the criteria for whether
14831 to swap out the old cached binding.
14832
60af03f1
DL
148332000-01-19 Dave Love <fx@gnu.org>
14834
14835 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14836
f9be074f
KH
148372000-01-18 Kenichi Handa <handa@etl.go.jp>
14838
14839 * regex.c (re_compile_fastmap): While checking a range table for
14840 `charset', skip flag bits for a character class correctly.
14841
52b8dbf9
GM
148422000-01-17 Gerd Moellmann <gerd@gnu.org>
14843
d36100c9
GM
14844 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14845
52283633 14846 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14847
14848 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14849 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14850
14851 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14852 MENU_ITEMS_ITEM_.*.
14853 (MENU_ITEMS_ITEM_HELP): New enumerator.
14854 (push_menu_item): Add parameter HELP. Record help in menu_items.
14855 (single_menu_item, single_submenu, list_of_items): Call
14856 push_menu_item with new parameter.
14857 (single_submenu): Set help string in widget value.
14858 (menu_highlight_callback): New function.
14859 (set_frame_menubar): Call lw_create_widget with new
14860 parameter list.
14861 (xmenu_show, xdialog_show): Ditto.
14862
3139018f
GM
148632000-01-13 Gerd Moellmann <gerd@gnu.org>
14864
14865 * sound.c (Fplay_sound): Improve doc string.
14866
83c8f461
RS
148672000-01-11 Richard M. Stallman <rms@gnu.org>
14868
14869 * lisp.h (set_internal): Enter the new arg.
14870
14871 * eval.c (specbind): Record buffer-local variables specially,
14872 indicating which buffer's binding was saved.
14873 (unbind_to): Restore buffer-local variables specially
14874 in the proper buffer.
14875
14876 * data.c (set_internal): New arg BUF.
427ec082 14877
83c8f461
RS
14878 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14879 * data.c (Fset): Pass new arg to set_internal.
14880 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14881
1fab1775
GM
148822000-01-11 Gerd Moellmann <gerd@gnu.org>
14883
52283633 14884 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14885
83c8f461 148862000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14887
14888 * minibuf.c (Ftry_completion): Doc fix.
14889
7a85e4df
GM
148902000-01-11 Gerd Moellmann <gerd@gnu.org>
14891
14892 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14893 vector, too.
14894
a970dae4
AS
148952000-01-11 Andreas Schwab <schwab@suse.de>
14896
14897 * coding.c (code_convert_region): Initialize total_skip.
14898
c65d14ee
DL
148992000-01-08 Dave Love <fx@gnu.org>
14900
14901 * eval.c (Fuser_variable_p): Check customizability too.
14902
834938d2
GM
149032000-01-07 Gerd Moellmann <gerd@gnu.org>
14904
14905 * minibuf.c (Fcompleting_read): Doc fix.
14906
e0303cd6
GM
149072000-01-05 Gerd Moellmann <gerd@gnu.org>
14908
8a26744b
GM
14909 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14910 -L /usr/local/lib.
14911
e0303cd6
GM
14912 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14913 Check that input style is supported before trying to create an
14914 IC for it.
14915 (x_window): Call x_create_im.
427ec082 14916
2e471eb5
GM
149172000-01-04 Gerd Moellmann <gerd@gnu.org>
14918
560a7bd2
GM
14919 * xfns.c (current_gif_memory_src): New variable.
14920 (gif_load): Record the address of the current memory source
14921 in current_gif_memory_src.
14922 (gif_read_from_memory): Use current_gif_memory_src.
14923
f9ee84a3
GM
14924 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14925 macros statement form.
14926
d1299cde
GM
14927 * sound.c (struct sound): Renamed from struct sound_file.
14928 (struct sound): Add members `data' and `header_size'.
14929 (enum sound_attr): Add SOUND_DATA.
14930 (current_sound, current_sound_device): Variables renamed from
14931 sound_file and sound_device.
14932 (parse_sound): Parse :data.
14933 (parse_sound): Handle sound data in strings.
14934 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14935 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14936 needed header size.
14937 (wav_play, au_play): Play sounds from string data.
14938
2e471eb5
GM
14939 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14940
14941 * lisp.h: Add prototype for allocate_string_data.
14942
52283633 14943 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14944
14945 * alloc.c (mark_buffer): Remove code in #if 0.
14946 (gc_sweep): Ditto.
14947 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14948 (strings_consed): New variable.
14949 (allocate_string): Set it.
14950 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14951 (Fmemory_use_counts): Return strings_consed. Use Flist.
14952
14953 * alloc.c: General cleanup in comments etc. Remove conditional
14954 compilation for `standalone'.
14955
14956 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14957
14958 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14959 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14960 (DONT_COPY_FLAG): Removed.
14961 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14962 (struct sdata, struct sblock): New
14963 (struct string_block): Rewritten.
14964 (STRINGS_IN_STRING_BLOCK): New macro.
14965 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14966 (large_sblocks, string_blocks, string_free_list): New variables.
14967 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14968 (init_strings): Rewritten.
14969 (allocate_string, allocate_string_data, compact_small_strings)
14970 (free_large_strings, sweep_strings): New functions.
14971 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14972 (struct string_block_head, current_string_block)
14973 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14974 (STRING_PAD): Removed.
14975 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14976 (Fgarbage_collect): Don't set mark bit in large strings.
14977 (mark_object): Mark strings differently. Mark symbol names
14978 differently.
14979 (survives_gc_p): Test marked strings differently.
427ec082 14980 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14981 symbol names.
14982 (compact_strings): Removed.
14983
42608ba8
EZ
149842000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14985
14986 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14987 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14988
e0a09e1a
KH
149892000-01-04 Kenichi Handa <handa@etl.go.jp>
14990
dd9f0750 14991 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14992 in a non-empty buffer.
dd9f0750 14993
3c0f3b15 14994 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14995
44cd3ae5
GM
149962000-01-03 Gerd Moellmann <gerd@gnu.org>
14997
14998 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14999 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15000
15001 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15002
c182a70f
EZ
150032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15004
15005 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15006 need to test for MSDOS frames.
15007
24480d5b
EZ
150082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15009
15010 * dosfns.c (unspecified_colors): Remove.
15011 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15012 unspecified_bg.
15013 (msdos_stdcolor_name): Return strings for unspecified fore- and
15014 back-ground colors.
15015
15016 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15017 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15018 (tty_color_name): Return Lisp strings for unspecified fore- and
15019 back-ground colors.
15020 (Finternal_set_lisp_face_attribute): Remove the special treatment
15021 for Qunspecified_{f,b}g.
52283633 15022 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15023
047f434a
GM
150242000-01-03 Gerd Moellmann <gerd@gnu.org>
15025
15026 * xdisp.c (reseat_at_next_visible_line_start): Position before
15027 newline only if ending up on a newline.
15028 (next_element_from_ellipsis): Return success. Handle case of
52283633 15029 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15030 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15031 returns 0.
15032
d684c676
EZ
150332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15034
15035 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15036 (Fcolor_supported_p): Renamed from face-color-supported-p.
15037
5fe1d139
EZ
150382000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15039
15040 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15041 list of colors renamed to tty-defined-color-alist.
15042 (tty_color_name): Pass the frame to tty-color-by-index.
15043 (realize_tty_face): tty-color-alist is now a function which
15044 accepts the frame as argument.
15045
52283633 15046 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15047
816be8b8
EZ
150482000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15049
15050 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15051 encode_terminal_code.
15052
b635321e
EZ
150532000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15054
15055 * dispnew.c (mode_line_string): Support termcap frames as well.
15056
9b784e96
GM
150572000-01-01 Gerd Moellmann <gerd@gnu.org>
15058
27189709
GM
15059 * syntax.c (Fforward_word): Undo previous change.
15060
15061 * editfns.c (Fconstrain_to_field): Don't constrain if
15062 inhibit-field-text-motion is non-nil.
15063 (Fline_beginning_position): Undo previous change.
15064 (Fline_end_position): Ditto.
15065
15066 * syntax.c (Fforward_word): Notice field boundaries only if
15067 inhibit-field-text-motion is nil.
15068
15069 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15070
15071 * editfns.c (Vinhibit_field_text_motion): New variable.
15072 (inhibit-field-text-motion): New DEFVAR_LISP.
15073 (Fline_beginning_position, Fline_end_position): Notice field
15074 boundaries only if inhibit-field-text-motion is nil.
15075
45158a91
GM
15076 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15077 All calls adjusted.
15078 (x_build_heuristic_mask): Likewise.
15079 (xbm_load_image_from_file): Change error output.
15080 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15081 (gif_load, gs_load, x_kill_gs_process): Ditto.
15082
9b784e96
GM
15083 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15084 color indices when accessing raster pixels.
63cec32f
GM
15085 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15086 one of :file or :data.
15087 (enum pbm_keyword_index): Add PBM_DATA.
15088 (pbm_format): Add :data.
15089 (pbm_image_p): Allow either :file or :data.
15090 (pbm_read_file): New function.
15091 (pbm_scan_number): Rewritten to read from string.
15092 (pbm_load): Support :data.
9b784e96 15093
2cb085db 15094See ChangeLog.8 for earlier changes.
6922b018
KH
15095
15096;; Local Variables:
49b3bd82 15097;; coding: iso-2022-7bit
6922b018 15098;; End:
2a34a036
GM
15099
15100 Copyright (C) 2001 Free Software Foundation, Inc.
15101 Copying and distribution of this file, with or without modification,
15102 are permitted provided the copyright notice and this notice are preserved.