(Frecenter): Clear display_error_modiff field.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4d0fa4f3
RS
12001-12-15 Richard M. Stallman <rms@gnu.org>
2
3 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
4
493faf20
AI
52001-12-14 Andrew Innes <andrewi@gnu.org>
6
325111e9
AI
7 * makefile.w32-in (EMACSLOADPATH): Define.
8 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
9 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 10
4971e491
EZ
112001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
12
397b3b50 13 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
14 parameter have a numeric value all the time.
15
16 * w32fns.c (x_report_frame_params): Likewise.
17
d911a0fa
RS
182001-12-12 Richard M. Stallman <rms@gnu.org>
19
20 * fileio.c (Fwrite_region): Doc fix.
21
22 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
23 (redisplay_internal): Call clear_image_cache only for window terminals.
24
201c831a
GM
252001-12-12 Gerd Moellmann <gerd@gnu.org>
26
27 * xdisp.c (move_it_vertically_backward): Change heuristic
28 for the case that we didn't move far enough initially.
29
30 * window.c (Frecenter): Simplify computation in the case of window
31 system frames and ARG < 0; use window_box_height.
32
34e39c95
RS
332001-12-11 Richard M. Stallman <rms@gnu.org>
34
35 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
36 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
37
d77fbc16
AI
382001-12-11 Andrew Innes <andrewi@gnu.org>
39
40 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
41 arg is negative.
42
61e3b944
RS
432001-12-11 Richard M. Stallman <rms@gnu.org>
44
45 * m/hp800.h: Split the __hpux conditional into the parts
46 that are right for GNU/Linux too and the parts that are not.
47 Use the former if GNU_LINUX.
48 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
49
50 * s/gnu-linux.h (GNU_LINUX): Defined.
51
70da46c3
PJ
522001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
53
54 * macros.c, msdos.c, w16select.c: Change doc-string comments to
55 `new style' [w/`doc:' keyword].
56
8af01033
JR
572001-12-10 Jason Rumney <jasonr@gnu.org>
58
59 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
60 before using.
61
7363986a
PJ
622001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
63
64 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
65 keyword].
66
d9e6c4b1
EZ
672001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
68
d20fc48a
EZ
69 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
70
d9e6c4b1
EZ
71 * s/hpux10.h (srand48): Don't undefine.
72
f1a85b89
JR
732001-12-09 Jason Rumney <jasonr@gnu.org>
74
75 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
76 comment to explain where the struct came from.
77 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
78 (add_menu_item): Process pop-up menus first to avoid memory leak.
79 (add_menu_item, w32_menu_display_help): Use `help' field as
80 Lisp_Object.
81 (w32_free_submenu_strings): Only free owner-drawn strings.
82
3a62677f
PJ
832001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
84
72244db2
PJ
85 * COPYING: Moved back.
86
3a62677f
PJ
87 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
88 Add parentheses around && within ||.
89
90 * indent.c (compute_motion): Likewise.
91
92 * intervals.c (merge_properties_sticky): Likewise.
93
94 * coding.c (setup_coding_system, shrink_encoding_region)
95 (Fdecode_sjis_char): Likewise.
96
9d113d9d
AS
972001-12-07 Andreas Schwab <schwab@suse.de>
98
b8523839
AS
99 * xdisp.c (display_mode_element): Don't read past end of string if
100 it ends with '%'.
101
9464dea4
AS
102 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
103 can hold.
104
9d113d9d
AS
105 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
106 from most_positive_fixnum and most_negative_fixnum, resp., and
107 type changed to Lisp_Object.
108 (syms_of_data): DEFVAR_LISP them.
109
70ec1377
RS
1102001-12-07 Richard M. Stallman <rms@gnu.org>
111
112 * callproc.c (init_callproc): Set Vdata_directory based on the source
113 location whenever Emacs was run uninstalled.
114
92f7dd37
PE
1152001-12-06 Paul Eggert <eggert@twinsun.com>
116
117 * config.in (HAVE_WORKING_VFORK): New #undefs.
118 * process.c (create_process):
119 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
120 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
121 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
122 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
123 * m/intel386.h (HAVE_VFORK): Likewise.
124 * m/mips-siemens.h (HAVE_VFORK): Likewise.
125 * m/mips.h (HAVE_VFORK): Likewise.
126 * s/freebsd.h (vfork): Remove #define.
127 * s/lynxos.h (HAVE_VFORK): Remove #undef.
128 * s/usg5-4-2.h: Fix comment about vfork.
129
c93674bb
RS
1302001-12-06 Richard M. Stallman <rms@gnu.org>
131
132 * s/hpux10.h (random): Add undef.
133 (HAVE_RANDOM): Define it just once.
134
59b59892
SM
1352001-12-06 Stefan Monnier <monnier@cs.yale.edu>
136
137 * eval.c: Undo last change: the standard syntax is not wanted.
138
c6ea2775
EZ
1392001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
140
141 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
142 scroll bars of the frame before deleting the frame itself. If the
143 frame has a widget, delete the frame with XtDestroyWidget, and do
144 not call XDestroyWindow before that.
145
91175673
KS
1462001-12-06 Kim F. Storm <storm@cua.dk>
147
148 * xfns.c (x_report_frame_params): Return actual fringe widths.
149
150 * w32fns.c (x_report_frame_params): Return actual fringe widths.
151
e0fead5d
AI
1522001-12-05 Andrew Innes <andrewi@gnu.org>
153
154 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
155 excessively large.
156
157 * insdel.c (make_gap_larger): New function.
158 (make_gap_smaller): New function.
159 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
160 make_gap_smaller if arg is negative.
161
c186cdb3
SM
1622001-12-04 Stefan Monnier <monnier@cs.yale.edu>
163
164 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
165 Pass a dummy argument when calling interrupt_signal.
166 (parse_menu_item): Mark disabled items before checking for empty def.
167 (read_char_minibuf_menu_prompt): Make safety more visible.
168 (read_key_sequence): Add a `first_unbound' variable.
169 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
170 unbound prefix as soon as we can detect it.
171
172 * doc.c (Fsnarf_documentation): Add prototype.
173 (get_doc_string): Handle negative arguments.
174 (Fdocumentation): Use AREF and ASIZE.
175 Move the calls to get_doc_string to a single place.
176 Don't confuse an interactive-spec for a docstring reference.
177 (Fdocumentation_property): Take advantage of the fact that
178 get_doc_string now ignores the sign of the docstring position.
179
180 * eval.c: Use standard syntax for usage in docstrings.
181
58cfce98
PJ
1822001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
183
c186cdb3 184 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 185
62854fe2
PJ
1862001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
187
188 * xterm.c (x_draw_image_relief): Use predefined macro instead of
189 constant when the value of `tool_bar_button_relief' is negative.
190
656f46bb
RS
1912001-12-02 Richard M. Stallman <rms@gnu.org>
192
193 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
194 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
195
196 * fileio.c (read_non_regular): Delete Fsignal call.
197
036e218d
SM
1982001-12-01 Stefan Monnier <monnier@cs.yale.edu>
199
200 * lisp.h (run_hook_list_with_args): Undo last change.
201
7ddb2c16
GM
2022001-12-01 Gerd Moellmann <gerd@gnu.org>
203
204 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
205
ace9b298
JR
2062001-12-01 Jason Rumney <jasonr@gnu.org>
207
90647b07
JR
208 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
209
210 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
211 [!WM_MOUSELEAVE]: Define.
212
ace9b298
JR
213 * w32menu.c (current_popup_menu, get_menu_item_info):
214 (set_menu_item_info): New vars.
215 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
216 (w32_menu_show): Set current_popup_menu.
217 (add_menu_item): Allocate new strings for owner-drawn menu items
218 and help strings.
219 Use owner-draw for disabled menu items again.
220 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
221 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
222
223 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
224 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
225 <WM_EXITMENULOOP>: Free menu strings.
226 <WM_MOUSELEAVE>: Stop tracking mouse.
227 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
228
229 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
230 and mouse face.
231
a9549909 2322001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
233
234 The following changes add left-fringe and right-fringe
235 frame parameters to adjust fringe widths, or remove one or
236 both fringes.
036e218d 237
9fbc32aa
KS
238 * frame.h (struct frame): Remove trunc_area_pixel_width and
239 trunc_area_cols fields.
240 (Qleft_fringe, Qright_fringe): Declare.
241 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
242
243 * frame.c (Qleft_fringe, Qright_fringe): New vars.
244 (syms_of_frame): Initialize them.
245
246 * window.c (coordinates_in_window): Handle separate left and right
247 fringe widths.
248
249 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
250 and fringe_cols fields.
251 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
252 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
253 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
254 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
255 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
256 (x_compute_fringe_widths): Add prototype.
257
258 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
259 fill fringe evenly with small dashes.
260 (x_draw_fringe_bitmap): Clear background if necessary. Align and
261 clip the new ZV bitmap to avoid jitter between rows.
262 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
263 background. Don't draw fringe bitmaps if fringe width is zero.
264 (x_compute_fringe_widths): New function.
265 (x_new_font, x_set_window_size_1): Use it.
266
267 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
268 (x_set_frame_parameters): Process Process `font' parameter before other
269 parameters as fringe widths depend on it.
270 (x_set_fringe_width): New function.
271 (x_figure_window_size): Use x_compute_fringe_widths.
272 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
273 parameters.
274
275 * widget.c (set_frame_size): Use x_compute_fringe_widths.
276 (EmacsFrameSetCharSize): Ditto.
277
278 * w32term.h: Merged changes from xterm.h.
279 * w32term.c: Merged changes from xterm.c.
280 * w32fns.c: Merged changes from xfns.c.
281
0142178a
PJ
2822001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
283
284 * COPYING: Removed.
285
d4824a5d
DL
2862001-11-29 Dave Love <fx@gnu.org>
287
288 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
289 extra extra slot.
290 (detect_coding_mask): Fix call of detect_coding_iso2022.
291
b1356234
PJ
2922001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
293
294 * fileio.c (file-name-coding-system)
295 (default-file-name-coding-system): Doc fix (links to referenced
296 variables added).
297
3ce081f5
SM
2982001-11-28 Stefan Monnier <monnier@cs.yale.edu>
299
99e380ee
SM
300 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
301 Add dummy uses of gcproN variables.
302
3ce081f5 303 * category.c (describe_category, describe_category_1)
2ad56c09 304 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
305 (syms_of_category): Don't defsubr Sdescribe_categories.
306
66458f32
RS
3072001-11-28 Richard M. Stallman <rms@gnu.org>
308
309 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
310
311 * Makefile.in (lispdir): New variable, referring to build dir.
312 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
313
59a86c99
AI
3142001-11-28 Andrew Innes <andrewi@gnu.org>
315
316 * w32menu.c (w32_menu_display_help): Actually add the new argument
317 OWNER.
318
eb77a5f4
JR
3192001-11-28 Jason Rumney <jasonr@gnu.org>
320
321 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
322 menu items. From David Ponce <dponce@wanadoo.fr>.
323 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
324 conditionally.
325 (w32_menu_display_help): New argument OWNER. Rewritten to store a
326 help event in the owner frame's keyboard buffer.
327
328 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
329 (Fx_show_tip): Don't subtract last width from row width.
330
331 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
332 (w32_read_socket): Use EQ to compare frames.
333
bb313871
GM
3342001-11-28 Gerd Moellmann <gerd@gnu.org>
335
336 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
337 OVERLAPS_P.
338
55b43a63
PJ
3392001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
340
6052529b
PJ
341 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
342 `gcpro3' and `gcpro4'.
343
3ce081f5
SM
344 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
345
3462001-11-28 Stefan Monnier <monnier@cs.yale.edu>
347
348 * ccl.c: Use AREF and ASIZE.
349
3502001-11-27 Stefan Monnier <monnier@cs.yale.edu>
351
352 * lisp.h (run_hook_list_with_args): Remove.
353 (LIST_END_P): Fix call to wrong_type_argument.
354 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 355
111ed14e
SM
3562001-11-26 Stefan Monnier <monnier@cs.yale.edu>
357
9fabb2f5
SM
358 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
359 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
360
361 * eval.c: Use AREF and ASIZE.
362 (Ffetch_bytecode): Add the file name to the error message.
363
364 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
365 which match the end of the file-name.
366 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
367 is not a valid env var, but leave it as is instead.
368
111ed14e
SM
369 * keymap.c (access_keymap): Handle t bindings like nil bindings.
370 Make nil bindings in char-tables transparent.
371 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
372
2fa0eedf
RS
3732001-11-26 Richard M. Stallman <rms@gnu.org>
374
d1420435
RS
375 * textprop.c (set_text_properties_1): Allow START, END in either order.
376 Do nothing if range is empty.
377
2fa0eedf
RS
378 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
379
ebcbef4e
RS
380 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
381 (clean): Not here.
382
5c131048
SM
3832001-11-25 Stefan Monnier <monnier@cs.yale.edu>
384
385 * textprop.c (set_text_properties_1): Clearly mark that the
386 interval should not be empty.
387
388 * intervals.c (graft_intervals_into_buffer):
389 Don't call set_text_properties_1 on an empty interval.
390
96d276c3
RS
3912001-11-25 Richard M. Stallman <rms@gnu.org>
392
6108b49c
RS
393 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
394
96d276c3
RS
395 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
396 don't lose the data in it.
397
5eea19a4
RS
3982001-11-25 Juanma Barranquero <lektu@terra.es>
399
400 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
401
402 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
403
404 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
405
438e57dd
SM
4062001-11-25 Stefan Monnier <monnier@cs.yale.edu>
407
408 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
409
c88e5347
EZ
4102001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
411
412 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
413 Niemitalo <kon@iki.fi>.
414
59ce1461
JR
4152001-11-25 Jason Rumney <jasonr@gnu.org>
416
417 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
418
419 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
420 (Fx_show_tip): Block input during frame creation.
421 (Fx_show_tip, Fx_hide_tip): Enable.
422
8727d588
RS
4232001-11-24 Richard M. Stallman <rms@gnu.org>
424
425 * lread.c (Fload): Detect recursive load error for more than 3
426 nestings of the same file.
427 (Vrecursive_load_depth_limit): Variable deleted.
428 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
429
cc63037e
JR
4302001-11-24 Jason Rumney <jasonr@gnu.org>
431
432 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
433 mouse position if either left or top is not specified.
434
435 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
436 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
437 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
438 (my_create_tip_window): Assign tip_window.
439 (x_create_tip_frame): Use same defaults as X.
440 (compute_tip_xy): Remove unused variable. Use full screen width.
441 (Fx_show_tip): Do not double height. Call ShowWindow directly.
442
443 * w32term.c (x_after_update_window_line): Doc fix.
444 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
445 frames.
446 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
447
448 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
449 for all Windowed systems.
450
deece6f5
EZ
4512001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
452
453 * msdos.c (IT_clear_screen): If the frame's faces are not yet
454 realized, use the initial screen colors to clear the screen.
455
1b944d9c
PJ
4562001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
457
28ff4293
PJ
458 * textprop.c (Fset_text_properties): Remove unused variables
459 `unchanged', `prev_changed', `s' and `len'.
460
56167cc5
PJ
461 * search.c (Freplace_match): Remove unused variable `inslen'.
462
1b944d9c
PJ
463 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
464
ca56d953
JR
4652001-11-22 Jason Rumney <jasonr@gnu.org>
466
467 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
468 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
469 (my_create_tip_window): New function.
470 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
471 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
472
33399dce
JR
4732001-11-20 Jason Rumney <jasonr@gnu.org>
474
475 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
476 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
477
478 * w32fns.c (Vw32_system_coding_system): Remove.
479 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
480
9b46de40
SM
4812001-11-19 Stefan Monnier <monnier@cs.yale.edu>
482
6710ea06
SM
483 * fileio.c (Fwrite_region): Move choose_write_coding_system to
484 after build_annotations.
485
a395ef6a
SM
486 * syntax.c (describe_syntax): Add dummy arg.
487 (describe_syntax_1): Update call to describe_vector.
488
489 * category.c (describe_category): Add dummy arg.
490 (describe_category_1): Update call to describe_vector.
491
492 * keymap.c (Fdescribe_vector): Add `describer' parameter.
493 (describe_command, describe_translation): Add dummy second param.
494 (describe_map): Call elt_describer with two arguments.
495 (describe_vector_princ): Add `fun' parameter.
496 Call it instead of the hardcoded `princ'.
497 (describe_vector): Add arg `args'.
498 Pass it as a new second argument to elt_describer.
499
500 * keymap.h (describe_vector): Update prototype.
501
9b46de40
SM
502 * frame.c: Don't include keymap.h any more.
503 (keys_of_frame): Remove.
504
505 * lisp.h (keys_of_frame): Remove declaration.
506
507 * emacs.c (main): Don't call `keys_of_frame' any more.
508
aff37336
SS
5092001-11-14 Andreas Schwab <schwab@suse.de>
510
511 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
512 if defined, 0 otherwise.
9b46de40 513 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
514 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
515
b9937f07
RS
5162001-11-19 Richard M. Stallman <rms@gnu.org>
517
518 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
519
2cd23960
JR
5202001-11-18 Jason Rumney <jasonr@gnu.org>
521
522 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
523 (x_draw_bar_cursor): If the background color of the glyph under
524 the cursor equals the frame's cursor color, use the glyph's
525 foreground color for drawing the bar cursor.
526 (x_after_update_window_line): Clear internal border in different
527 circumstances.
528 (w32_set_vertical_scroll_bar): Check for width and height > 0.
529 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
530 (x_set_glyph_string_background_width):
531 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
532 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
533 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
534 if cursor_in_non_selected_windows is false.
9b46de40 535 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
536 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
537 Notice if cursor gets overwritten.
538 (notice_overwritten_cursor): Renamed from
539 note_overwritten_text_cursor. Rewritten to take glyph widths
540 into account, and to take X positions as parameters.
541 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
542 around call to x_draw_glyphs.
543 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
544 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
545 color to use for image glyph reliefs.
546 (x_draw_image_relief): Accept zero tool_bar_button_relief.
547 (glyph_rect): Remove unused variable `area'.
548
549 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
550 some items.
551 (x_set_internal_border_width): Set frame garbaged when window
552 doesn't exist yet.
553 (Fx_create_frame): Accept zero tool_bar_button_relief.
554 (x_clear_image_1, four_corners_best, image_background)
555 (image_background_transparent): New functions.
556 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
557 (gs_format): Add `:background' entry.
558 (lookup_image): Set IMG's background color if specified.
559 (pbm_load, xbm_load_image, png_load): Set IMG's background field
560 when appropriate.
561 (x_clear_image_1): Reset `background_valid' and
562 `background_transparent_valid' fields.
563 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
564 calculating it here. Set IMG's background_transparent field.
565 (enum xpm_keyword_index): Add XPM_BACKGROUND.
566 (enum png_keyword_index): Add PNG_BACKGROUND.
567 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
568 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
569 (enum gif_keyword_index): Add GIF_BACKGROUND.
570 (enum gs_keyword_index): Add GS_BACKGROUND.
571 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
572 Pre-calculate image background color where necessary.
9b46de40
SM
573 (x_create_x_image_and_pixmap, xbm_load, gs_load):
574 Use display info's n_cbits entry for screen depth.
2cd23960
JR
575 (Fx_show_tip): Remove unused variables `buffer', `top',
576 `left', `max_width' and `max_height'.
577
578 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
579
a4184c1c
GM
5802001-11-18 Gerd Moellmann <gerd@gnu.org>
581
582 * puresize.h (BASE_PURESIZE): Increase to 750000.
583
f6fa0866
PJ
5842001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
585
586 * frame.c (Fframe_live_p): Doc fix.
587
f4ca4b00
RS
5882001-11-18 Richard M. Stallman <rms@gnu.org>
589
590 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
591 (message_dolog_marker3): New static variables hold three markers.
592 (syms_of_xdisp): Initialize and staticpro them.
593 (message_dolog): Use message_dolog_marker1..3 instead of
594 allocating markers each time. Unchain them when done.
595
f4e25f94
RS
5962001-11-17 Richard M. Stallman <rms@gnu.org>
597
598 * doc.c (Fsnarf_documentation): Doc fix.
599
91c153e2
AS
6002001-11-17 Andreas Schwab <schwab@suse.de>
601
602 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
603
65b7d3e7
RS
6042001-11-17 Richard M. Stallman <rms@gnu.org>
605
606 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
607
6b5f6311
JR
6082001-11-17 Jason Rumney <jasonr@gnu.org>
609
610 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
611
be676094
GM
6122001-11-17 Gerd Moellmann <gerd@gnu.org>
613
614 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
615 with invalid position.
616
032a857d
RS
6172001-11-16 Richard M. Stallman <rms@gnu.org>
618
619 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
620
621 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
622 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
623 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
624
625 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
626
b6270150
SM
6272001-11-16 Stefan Monnier <monnier@cs.yale.edu>
628
629 * fileio.c (build_annotations): Split off the tail.
630 (build_annotations_2): New fun. Extracted from build_annotations.
631 (Fwrite_region): Split the call to build_annotations into two
632 calls to build_annotations and build_annotations_2.
633
792e5cbd
PJ
6342001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
635
98cbb9fa
PJ
636 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
637 clear_waiting_for_input with argument.
638
639 * xterm.h (x_update_cursor): Remove duplicated prototype.
640
b6270150 641 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 642
ea904403 643 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 644
ea904403 645 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 646
fa336b91
SM
6472001-11-16 Stefan Monnier <monnier@cs.yale.edu>
648
649 * fileio.c (choose_write_coding_system): New fun, extracted
650 from Fwrite_region.
651 (Fwrite_region): Use it.
652
653 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
654 (funcall_lambda, run_hook_with_args): Make static and add prototype.
655 (ml_apply, find_handler_clause): Add prototype.
656
077907d4
EZ
6572001-11-16 Eli Zaretskii <eliz@gnu.org>
658
aa2af83a
EZ
659 * config.in: Add #undef HAVE_COFF_H.
660
077907d4
EZ
661 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
662 Required for ISC 4.1.
663
1756e2fb
EZ
6642001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
665
666 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
667 Andrew Wiseman <a.wiseman@btclick.com>.
668
06e8f738
KS
6692001-11-16 Kim F. Storm <storm@cua.dk>
670
671 The following changes are made to clean up the various internal
672 references to the fringes to actually use the term `fringe' for
673 them. Previously, they were called `flags areas', `bitmap areas',
674 `left/right side of windows', or implicitly as `flags' or
675 `bitmaps':
676
677 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
678 Comments fixed. Use renamed symbols.
fa336b91 679
06e8f738 680 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 681
06e8f738
KS
682 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
683 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
684 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 685
06e8f738 686 * msdos.c: Comment fix.
fa336b91 687
06e8f738 688 * w32fns.c: Use renamed symbols.
fa336b91 689
06e8f738
KS
690 * w32term.c: Comment fixes. Use renamed symbols.
691 (fringe_bitmap_type): Renamed from bitmap_type.
692 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
693 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
694 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 695
06e8f738
KS
696 * w32term.h: Comment fixes. Use renamed symbols.
697 (fringes_extra): Renamed from flags_areas_extra.
698 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
699 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
700 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
701 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
702 (FRAME_X_LEFT_FRINGE_WIDTH):
703 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
704 (FRAME_X_RIGHT_FRINGE_WIDTH):
705 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
706
06e8f738 707 * widget.c: Use renamed symbols.
fa336b91 708
06e8f738
KS
709 * window.c: Comment fixes. Use renamed symbols.
710 (coordinates-in-window-p): Doc fix.
fa336b91 711
06e8f738 712 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 713
06e8f738 714 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 715
06e8f738 716 * xfns.c: Use renamed symbols.
fa336b91 717
06e8f738
KS
718 * xterm.c: Comment fixes. Use renamed symbols.
719 (fringe_bitmap_type): Renamed from bitmap_type.
720 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
721 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
722 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
723
724 * xterm.h: Comment fixes. Use renamed symbols.
725 (fringes_extra): Renamed from flags_areas_extra.
726 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
727 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
728 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
729 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
730 (FRAME_X_LEFT_FRINGE_WIDTH):
731 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
732 (FRAME_X_RIGHT_FRINGE_WIDTH):
733 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 734
9ce647f4
JR
7352001-11-15 Jason Rumney <jasonr@gnu.org>
736
737 * w32menu.c (add-menu-item): Make help_echo and radio buttons
738 work for most menu items. From David Ponce
739 <david.ponce@wanadoo.fr>.
740
9b784ab8
GM
7412001-11-15 Gerd Moellmann <gerd@gnu.org>
742
9f7e52b4
GM
743 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
744 Some x_set_* function expect to be called even if old and new
745 value are equal.
746
747 * xdisp.c (build_desired_tool_bar_string): Accept zero
748 tool_bar_button_relief.
749
750 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
751
752 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 753
34e5d0af
GM
754 * xterm.c (x_draw_bar_cursor): If the background color of the
755 glyph under the cursor equals the frame's cursor color, use
756 the glyph's foreground color for drawing the bar cursor.
757
9b784ab8
GM
758 * dispnew.c (direct_output_forward_char): Fix character/byte
759 position comparison.
760
89512fcd
MB
7612001-11-15 Miles Bader <miles@gnu.org>
762
763 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
764 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
765 Update arguments to find_field.
766 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
767 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
768 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
769 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
770
7d18891d
RS
7712001-11-14 Richard M. Stallman <rms@gnu.org>
772
d2936d21
RS
773 * editfns.c (Fpropertize): Allow call with 1 arg.
774
7d18891d
RS
775 * dispextern.h (image_background, image_background_transparent):
776 Conditionalize on HAVE_X_WINDOWS.
777
7782001-11-13 Richard M. Stallman <rms@gnu.org>
779
780 * print.c (Fprin1_to_string): Doc fix.
781
782 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
783
784 * floatfns.c (Fceiling, Ffloor): Doc fixes.
785
786 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
787
788 * fileio.c (Ffile_accessible_directory_p): Doc fix.
789
790 * eval.c (syms_of_eval): Doc fix.
791
792 * coding.c (syms_of_coding): Doc fix.
793
794 * doc.c (Fsnarf_documentation): Doc fix.
795
796 * dispnew.c (syms_of_display): Doc fix.
797
798 * category.c (Fget_unused_category): Doc fix.
799
800 * buffer.c (syms_of_buffer): Doc fixes.
801
9474c847
EZ
8022001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
803
804 * print.c (prin1, print): Doc fix.
805
e3059a5d
PJ
8062001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
807
2b6f3c2b 808 * fontset.h: Remove declarations of variables
e3059a5d
PJ
809 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
810
811 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
812 `Vclip_large_size_font'.
813
b3700ae7
JR
8142001-11-13 Jason Rumney <jasonr@gnu.org>
815
816 * w32fns.c: Doc fix.
817
eae936e2
PJ
8182001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
819
4bb962be
PJ
820 * xfaces.c (Fface_attributes_as_vector): Doc fix.
821
0a332240
PJ
822 * w32fns.c (Fx_synchronize): Reindent.
823
ddb67bdc
PJ
824 * fns.c: Doc fix.
825
3467c402
PJ
826 * emacs.c: Doc fix.
827
828 * coding.c: Doc fix.
829
6e1b91d7
PJ
830 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
831 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
832 `new style' [w/`doc:' keyword].
833
f6e34773
PJ
834 * xmenu.c (x-popup-menu): Reindent.
835 (x-popup-dialog): Likewise.
836
fa336b91 837 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 838
c2552f79
PJ
839 * xdisp.c (Fdump_tool_bar_row): Reindent.
840
94c7167b
PJ
841 * minibuf.c (Fminibuffer_complete_word): Reindent.
842 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 843 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
844 (Fminibuffer_message): Likewise.
845
462a5e3a
PJ
846 * fns.c (Freverse): Reindent.
847
b8de5714
PJ
848 * eval.c (Fif): Reindent.
849 (Fand): Likewise.
850
deb8e082
PJ
851 * editfns.c (Fuser_real_login_name): Reindent.
852 (Finsert_buffer_substring): Likewise.
853 (Fcompare_buffer_substrings): Likewise.
854 (Fsubst_char_in_region): Likewise.
855
bacf09b4
PJ
856 * dispnew.c (Fsit_for): Reindent.
857 (Fframe_or_buffer_changed_p): Likewise.
858 (Finternal_show_cursor_p): Likewise.
859 (syms_of_display): Likewise.
860
eae936e2
PJ
861 * alloc.c (Flist): Reindent.
862 (Fvector): Likewise.
863
1c1d3d69
RS
8642001-11-12 Richard M. Stallman <rms@gnu.org>
865
866 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
867 LeaveNotify events. Only FocusIn and FocusOut do that now.
868 (x_display_and_set_cursor): Do display hollow cursors in active
869 minibuffer windows when they are not selected.
870
b6f4c7ba
JR
8712001-11-12 Jason Rumney <jasonr@gnu.org>
872
873 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
874 * w32term.c: Change doc-string comments to `new style'.
875 [w/`doc:' keyword]. Doc fixes.
876
877 * w32fns.c: Don't define max.
878 (Fx_open_connection): Only execute once.
879
a89f435d
PJ
8802001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
881
882 * ccl.c: Change macros to use do-while block instead of if-else.
883 Use braces to follow GNU Coding Standards.
884
a4cd0cd7
RS
8852001-11-11 Richard M. Stallman <rms@gnu.org>
886
eafb659a
RS
887 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
888
889 * lread.c (read_escape): Use end_of_file_error for reporting eof.
890
a4cd0cd7
RS
891 * insdel.c (replace_range): Use adjust_markers_for_replace
892 instead of adjust_markers_for_delete and adjust_markers_for_insert.
893
894 * intervals.h: Declare set_text_properties and set_text_properties_1.
895
896 * textprop.c (set_text_properties_1): New subroutine
897 broken out of set_text_properties.
898 (set_text_properties): Use set_text_properties_1.
899
900 * intervals.c (graft_intervals_into_buffer):
901 Use set_text_properties_1 to clear out properties.
902
903 * search.c (Freplace_match): Use replace_range to insert
904 and delete. Don't request property inheritance from
905 surrounding text.
906
91823618
JR
9072001-11-10 Jason Rumney <jasonr@gnu.org>
908
909 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
910 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 911 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 912
86928dfb
GM
9132001-11-10 Gerd Moellmann <gerd@gnu.org>
914
fa336b91 915 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
916 instead of malloc/free.
917
40ef1eda
PJ
9182001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
919
ab8469eb
PJ
920 * xfaces.c (merge_face_vectors): Use braces to follow GNU
921 Coding Standards.
922 (Finternal_set_lisp_face_attribute): Likewise.
923
a78e0303
PJ
924 * buffer.c (Fbury_buffer): Likewise.
925
40ef1eda
PJ
926 * indent.c (current_column_1): Remove unused variable `prev_col'.
927
fabf4a91
PJ
928 * coding.c (encode_coding): Use precomputed value of `src'.
929 (encode_coding): Remove unused variable `src_end'.
930 (code_convert_region): Remove unused variables `count'.
931
0c99b139
JR
9322001-11-07 Jason Rumney <jasonr@gnu.org>
933
934 * w32term.c (x_display_and_set_cursor): Do not move system caret
935 if cursor_glyph is NULL.
936
830ddd77
PJ
9372001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
938
939 * keymap.c (access_keymap): Fix compilation error.
940
55c6d645
MB
9412001-11-07 Miles Bader <miles@gnu.org>
942
943 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
944
5de38842
PJ
9452001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
946
7a4564a4
PJ
947 * intervals.c (graft_intervals_into_buffer):
948 Remove #ifdef'd-out code.
949 (graft_intervals_into_buffer): Remove unused variable `middle'.
950
5de38842
PJ
951 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
952 code (eval-current-buffer).
953 Change doc-string comments to `new style' [w/`doc:' keyword].
954
4fa23df5
RS
9552001-11-06 Richard M. Stallman <rms@gnu.org>
956
957 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
958
7a6a97d7
SM
9592001-11-06 Stefan Monnier <monnier@cs.yale.edu>
960
c191d13c
SM
961 * lread.c (read1): Fix behavior with nested backquoting.
962
7a6a97d7
SM
963 * keyboard.c (make_lispy_event): Check integerness and fix
964 Lisp_Object/int mixup.
965
44dc78e0
PJ
9662001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
967
968 * fns.c (copy_hash_table): Remove unused variable `v'.
969
17893c65
PJ
970 * fontset.c (fontset_font_pattern): Remove unused variable
971 `family_registry'.
972
4d994a79
PJ
973 * indent.c (current_column_1): Remove unused variable `prev_col'.
974
d5360cc7
RS
9752001-11-05 Richard M. Stallman <rms@gnu.org>
976
977 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
978
979 * buffer.c (Fkill_buffer): Don't delete auto save file
980 if buffer is modified.
981
96238a5a
AI
9822001-11-05 Andrew Innes <andrewi@gnu.org>
983
984 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
985 CHECK_NUMBER_CDR.
986
d9d54213
RS
9872001-11-05 Richard M. Stallman <rms@gnu.org>
988
989 * unexelf.c (unexec): Minor changes; clean up comments.
990
b116830b
SS
9912001-11-05 Sam Steingold <sds@gnu.org>
992
993 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
994
3297e2a1
AS
9952001-11-05 Andreas Schwab <schwab@suse.de>
996
997 * sound.c (sound_perror): Save errno from being clobbered.
998
9212319f 9992001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1000
1001 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1002 the program image directly.
1003
7dd73b78
PJ
10042001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1005
1006 * buffer.h (Fbuffer_local_value): Add prototype.
1007
982f6c7e
RS
10082001-11-04 Richard M. Stallman <rms@gnu.org>
1009
d31053f9
RS
1010 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1011 and CHECK_BUFFER.
1012
1013 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1014 (record_char): Likewise.
1015
1016 * keyboard.c (make_lispy_event): Don't insist a drag event must
1017 move to a different buffer position. Instead, check for moving at
1018 least double_click_fuzz.
1019
1020 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1021
1022 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1023
982f6c7e
RS
1024 * indent.c (current_column_1, Fmove_to_column): Separate the code
1025 for display-table glyphs from the code buffer text, to fix
1026 bugs in the former.
1027
830047fd
RS
10282001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1029
1030 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1031 (syms_of_buffer): Defsubr it.
b116830b 1032
830047fd
RS
1033 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1034 value of `cursor-in-non-selected-windows'.
1035
1036 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1037 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1038 (syms_of_xdisp): Initialize it.
b116830b 1039
2df5238c
PJ
10402001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1041
4e397688
PJ
1042 * xfns.c (Fx_create_frame): Doc fix.
1043
48b0f3ae
PJ
1044 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1045 keyword].
1046
2df5238c
PJ
1047 * eval.c (top_level_value, top_level_set): Remove commented and
1048 #ifdef'd-out code.
1049 (Fdefvar): Fix usage in doc-string.
1050
3ecaf7e5
RS
10512001-11-03 Richard M. Stallman <rms@gnu.org>
1052
1053 * xfns.c: Include unistd.h, if it exists.
1054
1055 * editfns.c: Move the include of ctype.h after unistd.h.
1056
1057 * gmalloc.c: Test BROKEN_PROTOTYPES.
1058
8db2e33b
KR
10592001-11-03 Ken Raeburn <raeburn@gnu.org>
1060
1061 * lisp.h (CHECK_STRING_CAR): New macro.
1062 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1063 treating XCAR and XCDR as lvalues.
1064 (openp): Use CHECK_STRING_CAR.
1065 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1066
aed29b97
EZ
10672001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1068
1069 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1070 (SIGMASKTYPE): Define.
aed29b97
EZ
1071
1072 * syssignal.h (sigunblock): Don't define if already defined.
1073
6cb16f95
PJ
10742001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1075
16b45be4
EZ
1076 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1077 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1078 Fix typos in comments.
1079
020f9b38
PJ
1080 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1081 and #ifdef'd-out code.
1082 Fix and reindent comments.
1083
c191d13c 1084 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1085
6cb16f95
PJ
1086 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1087 argument `i' in macros.
1088
1089 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1090 `i' in macros.
1091
16b45be4
EZ
1092 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1093 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1094 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1095 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1096 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1097 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1098 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1099 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1100 in macros.
1101
1102 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1103 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1104 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1105 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1106 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1107 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1108 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1109 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1110 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
1111 (remove unused second argument).
1112
7e9d3c2f
SM
11132001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1114
1115 * syntax.c (describe_syntax): New wrapper.
1116 (Finternal_describe_syntax_value): Rename from describe_syntax.
1117 Don't insert space at front and \n at the end.
1118 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1119
1120 * regex.c (re_wctype): Try to fix some warnings.
1121 (regcomp, regexec): Don't forget the __restrict.
1122
e6bff182
RS
11232001-11-02 Richard M. Stallman <rms@gnu.org>
1124
1125 * textprop.c (Fget_char_property): Doc fix.
1126
9ba48103
PJ
11272001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1128
1129 * process.c (Fstart_process): Add usage to doc-string.
1130
1131 * data.c (Fsetq_default): Ditto.
1132
1133 * callint.c (Finteractive): Ditto.
1134
c22e59e1
SM
11352001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1136
1137 * macros.c: Don't include keymap.h any more.
1138
9271ed2c
RS
11392001-11-01 Richard M. Stallman <rms@gnu.org>
1140
e6bff182
RS
1141 * data.c (Fmake_local_variable): Doc fix.
1142
1143 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1144 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1145
9271ed2c
RS
1146 * keymap.c (Fdescribe_buffer_bindings): Print character property
1147 bindings along with or instead of the buffer local map.
1148 Make the overriding maps override what they should.
1149
8b8bd9c6
PJ
11502001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1151
1152 * window.c (grow_mini_window): Fix typo in comment.
1153
27188d11
GM
11542001-11-01 Gerd Moellmann <gerd@gnu.org>
1155
7b49b9d2
GM
1156 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1157 (XTset_vertical_scroll_bar): Likewise.
1158
43f7c3ea
GM
1159 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1160 instead of IMAGE_BACKGROUND.
c22e59e1 1161
b350c2e5
GM
1162 * xfns.c (four_corners_best): Reindent.
1163
c22e59e1 1164 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1165 Handle :box so that it is possible to specify sexprs.
1166
d576358b
PJ
11672001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1168
1169 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1170 (Fface_font): Ditto.
1171 (Finternal_set_alternative_font_registry_alist): Ditto.
1172 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1173
1174 * xfns.c (x-get-resource): Reindent.
1175
bf00d461
EZ
11762001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1177
1178 * s/hpux11.h: New file.
1179
4e10df59
PJ
11802001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1181
2b209b97
PJ
1182 * emacs.c (USAGE1): Show command line option --no-window-system
1183 instead of --no-windows in usage.
1184 (standard_args): Rename --no-windows to --no-window-system.
1185 (bug_reporting_address): Follow Emacs coding conventions.
1186
9dbc9081
PJ
1187 * eval.c (Fcommandp): Doc fix.
1188 Change doc-string comments to `new style' [w/`doc:' keyword].
1189
4e10df59
PJ
1190 * frame.c (Fframe_live_p): Doc fix.
1191
1192 * buffer.c (selective-display-ellipses): Doc fix.
1193
dd387b25
GM
11942001-10-31 Gerd Moellmann <gerd@gnu.org>
1195
fe957e65
GM
1196 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1197
dd387b25
GM
1198 * xfaces.c (realize_x_face): If C is not a single-byte character,
1199 set the face's colors_copied_bitwise_p instead of the defaulted_p
1200 members which have a different meaning.
1201 (free_face_colors): Do nothing for a face whose colors have been
1202 copied bitwise.
1203
c22e59e1 1204 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1205
2e1280f8
PJ
12062001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1207
687784e8
PJ
1208 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1209 [w/`doc:' keyword].
2e1280f8 1210
b9d9a9b9
GM
12112001-10-31 Gerd Moellmann <gerd@gnu.org>
1212
1213 * fns.c (require_unwind): Return Lisp_Object.
1214
48400103
PJ
12152001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1216
fa1361cb
PJ
1217 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1218 (last-input-char): Revert doc-string to be the same as the
1219 doc-string of `last-input-event'.
1220
48400103
PJ
1221 * xdisp.c: Fix typos in comments.
1222
eafa3196
GM
12232001-10-31 Gerd Moellmann <gerd@gnu.org>
1224
1225 * window.c (grow_mini_window): Handle case that the root
1226 window is already smaller than the nominal mininum height.
1227
747d3f2a
SM
12282001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1229
bf9bb76f
SM
1230 * emacs.c (main): Don't call keys_of_macros any more.
1231
1232 * lisp.h (keys_of_macros): Remove.
1233
1234 * macros.c (keys_of_macros): Remove.
1235
747d3f2a
SM
1236 * xfaces.c (Fface_attribute_relative_p): Declare args.
1237
5e905a57
JR
12382001-10-30 Jason Rumney <jasonr@gnu.org>
1239
1240 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1241 (enum_font_cb2): Ignore fonts with vertical orientation.
1242
3a426197
RS
12432001-10-30 Richard M. Stallman <rms@gnu.org>
1244
1245 * keyboard.c (Finput_pending_p): Doc fix.
1246
a742d646
GM
12472001-10-30 Gerd Moellmann <gerd@gnu.org>
1248
259cf6bc
GM
1249 * xterm.c (x_after_update_window_line): Don't run the code
1250 clearing in borders for rows whose visible height is 0.
1251
3f99f948
GM
1252 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1253 resized_p flag is set. If not set, use the much less flickering
1254 method previously used.
1255
1256 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1257
1258 * frame.h (struct frame) <resized_p>: New member.
1259
b4a3be43
GM
1260 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1261 as large as the number of bytes to convert.
747d3f2a 1262
a742d646
GM
1263 * lread.c (to_multibyte): New function.
1264 (read1): Use it.
1265
cacbb9e9
EZ
12662001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1267
1268 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1269
99cb6b2f
GM
12702001-10-30 Gerd Moellmann <gerd@gnu.org>
1271
327f42ee 1272 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1273 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1274 if the row's fill_line_p is set and drawing the last glyph with
1275 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1276
99cb6b2f
GM
1277 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1278
8e8223e2
SM
12792001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1280
1281 * xmenu.c: Include coding.h and charset.h.
1282 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1283 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1284 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1285 Explicitly set wv->help. Use `TRUE' rather than `True'.
1286 (menu_help_callback): Use empty_string.
1287
1288 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1289 (Fx_popup_dialog): Explicitly init f.
1290 (w32_menu_display_help): Use empty_string.
1291
4d083a8f
RS
12922001-10-29 Richard M. Stallman <rms@gnu.org>
1293
b2304472
RS
1294 * fns.c (Frequire): Detect recursive try to require the same
1295 feature 3 or more levels deep, and get error.
1296 (require_unwind): New subroutine.
1297 (require_nesting_list): New variable.
1298 (syms_of_fns): Init and staticpro it.
1299
4d083a8f
RS
1300 * print.c (print_object): Clarify indication of insertion type.
1301
2fe41216
EZ
13022001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1303
90480000
EZ
1304 * coding.c (syms_of_coding): Document that locale-coding-system is
1305 used for decoding input on X.
1306
2fe41216
EZ
1307 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1308
74e79967
PJ
13092001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1310
1311 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1312 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1313
60ebcfe8
GM
13142001-10-29 Gerd Moellmann <gerd@gnu.org>
1315
9a7bdceb
GM
1316 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1317 use NO_CURSOR if cursor_in_non_selected_windows is false.
1318
3f08fcd2
GM
1319 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1320 the slant attribute if FRAME is t.
1321
0ccfdad2
GM
1322 * xfns.c (x_set_internal_border_width): Set frame garbaged
1323 when X window doesn't exist yet.
1324
ef253080
GM
1325 * xterm.c (x_after_update_window_line): Clear internal border
1326 in different circumstances.
b116830b 1327
60ebcfe8
GM
1328 * xterm.c (XTread_socket) <KeyPress>: Don't use
1329 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1330 <handa@etl.go.jp>.
1331
73d25f9c
EZ
13322001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1333
1334 * m/ibms390.h: New file. From Adam Thornton
1335 <athornton@sinenomine.net>.
1336
cac1daf0
GM
13372001-10-28 Gerd Moellmann <gerd@gnu.org>
1338
053b3256 1339 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1340
cac1daf0
GM
1341 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1342 a loop counter.
1343
13b1a09c
PJ
13442001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1345
186486eb
PJ
1346 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1347
4707d2d0
PJ
1348 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1349 keyword].
1350 Fix typos in comments.
b116830b 1351
d883731c
PJ
1352 * emacs.c (bug_reporting_address): New function.
1353 Use it when displaying usage message.
1354
04012254
PJ
1355 * minibuf.c (read_minibuf): Remove unused external declaration of
1356 variable `Qread_only'.
1357
13b1a09c
PJ
1358 * keymap.c (access_keymap): Remove unused variable `charset'.
1359
5bbf4378
MB
13602001-10-28 Miles Bader <miles@gnu.org>
1361
1362 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1363 Remove #ifdef'd-out code.
1364 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1365 (syms_of_xfaces): Initialize them.
1366
1ce1e4ee
JR
13672001-10-27 Jason Rumney <jasonr@gnu.org>
1368
1369 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1370 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1371 position using the system caret.
1372
1373 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1374 (w32_system_caret_height, w32_system_caret_x)
1375 (w32_system_caret_y): New variables for tracking system caret.
1376 (w32_initialize): Initialize them.
c2d53558 1377 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1378
c2d53558
SM
1379 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1380 New messages types.
1ce1e4ee
JR
1381
1382 * w32term.c (note_mouse_highlight): Clear old help_echo.
1383
4e30ce42
PJ
13842001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1385
bb4600a4
PJ
1386 * xterm.c: Fix typo in a comment.
1387
7db35a48
PJ
1388 * emacs.c: Fix typos in comments.
1389 Remove unnecessary spaces.
1390 Change doc-string comments to `new style' [w/`doc:' keyword].
1391 (USAGE2): Fix typos in usage string.
1392
a7248e4f
PJ
1393 * xterm.c: Fix typo in a comment.
1394
4e30ce42
PJ
1395 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1396 emacs.c.
1397
62725a92
GM
13982001-10-27 Gerd Moellmann <gerd@gnu.org>
1399
798dbe1f 1400 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1401 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1402 farther backward when target_y was not reached.
1403
62725a92
GM
1404 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1405 Display errno only if non-zero.
1406 (sound_warning): New function.
1407 (vox_configure): Don't treat failing to set sample rate as error.
1408 (various places): Improve error messages.
1409
d4e34d24
EZ
14102001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1411
944e6f60
EZ
1412 * fileio.c (Faccess_file): Run the argument filename through
1413 Fexpand_file_name, before using it.
1414
d4e34d24
EZ
1415 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1416 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1417
38d2af0c
GM
14182001-10-26 Gerd Moellmann <gerd@gnu.org>
1419
da80a8d5
GM
1420 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1421
38d2af0c
GM
1422 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1423 Fix clearing in the case of scroll bars on the right.
c2d53558 1424
56f508dd
EZ
14252001-10-26 Juanma Barranquero <lektu@terra.es>
1426
1427 * w32gui.h (XImage): Add a dummy typedef.
1428
fbd5ceb2
GM
14292001-10-26 Gerd Moellmann <gerd@gnu.org>
1430
c2d53558 1431 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1432
b23236fb
EZ
14332001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1434
1435 * frame.c (Fframe_parameter): Fix last change.
1436
5d991fc4
EZ
1437 * fileio.c: Revert last change (which removed old commented-out
1438 version of expand-file-name). Add a comment that explains why
1439 this old version should not be removed.
1440
879eadc3
GM
14412001-10-25 Gerd Moellmann <gerd@gnu.org>
1442
75700ff2
GM
1443 * frame.c (Fframe_parameter): Fix a bug whereby some
1444 ``artificial'' frame parameters, like `minibuffer' were not
1445 obtained by calling Fframe_parameters.
1446
dfe92a6a
GM
1447 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1448 cursor differently.
1449
879eadc3
GM
1450 * xdisp.c (move_it_vertically_backward): Compute line height
1451 differently. Add heuristic to try to be more compatible to 20.x.
1452
e1010ebe
SM
14532001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1454
d73a471b
SM
1455 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1456
d6da5a06
GM
1457 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1458 boolean.
e1010ebe 1459
f66bd220
MB
14602001-10-25 Miles Bader <miles@gnu.org>
1461
1462 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1463 BG is a pointer to a structure, not a structure.
1464 (gif_format, png_format): Add missing commas.
1465
d436d538
RS
14662001-10-24 Richard M. Stallman <rms@gnu.org>
1467
1468 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1469 (syms_of_xfaces): Defsubr it.
d436d538 1470
075c507b
PJ
14712001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1472
1473 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1474 variable `area'.
1475
d492b584
PJ
14762001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1477
c2d53558 1478 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1479
e2a57b34
MB
14802001-10-25 Miles Bader <miles@gnu.org>
1481
1482 * dispextern.h (struct image): Add `background',
1483 `background_valid', and `background_transparent' fields.
1484 (image_background, image_background_transparent): New declarations.
1485 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1486 * xfns.c (image_background, image_background_transparent)
1487 (four_corners_best): New functions.
c2d53558 1488 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1489 (gs_format): Add `:background' entry.
1490 (lookup_image): Set IMG's background color if specified.
1491 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1492 when appropriate.
1493 (x_clear_image_1): Reset `background_valid' and
1494 `background_transparent_valid' fields.
1495 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1496 calculating it here. Set IMG's background_transparent field.
1497 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1498 (enum png_keyword_index): Add PNG_BACKGROUND.
1499 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1500 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1501 (enum gif_keyword_index): Add GIF_BACKGROUND.
1502 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1503 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1504 Pre-calculate image background color where necessary.
1505 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1506 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1507 color to use for image glyph reliefs.
1508
b547b6e8
GM
15092001-10-24 Gerd Moellmann <gerd@gnu.org>
1510
d9e3b8c6
GM
1511 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1512 in full-width rows.
c2d53558 1513
b547b6e8
GM
1514 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1515 Fix clearing of area not covered by scroll bar.
1516
2beb36f9
PJ
15172001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1518
1519 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1520 and `real_start'.
c2d53558 1521 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1522 (glyph_rect): Remove unused variable `area'.
1523
76cb5e06
GM
15242001-10-24 Gerd Moellmann <gerd@gnu.org>
1525
bdbdebff 1526 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1527
1528 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1529 (row_containing_pos): Take additional argument DY.
1530 Treat rows ending in middle of char differently.
62e33982
GM
1531 (display_line): Handle tabs on window systems differently.
1532
1533 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1534 with additional argument.
1535
1536 * dispextern.h (row_containing_pos): Adjust prototype.
1537
76cb5e06
GM
1538 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1539 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1540 (try_window_id, try_window_reusing_current_matrix)
1541 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1542 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1543
996fee11
PJ
15442001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1545
c9e60620
PJ
1546 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1547 gnuemacs).
1548 (HAVE_BOXES): Fix typo in comment.
1549 (push_menu_pane): Fix typo in comment.
1550
3b552d56
PJ
1551 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1552 of `Qwhen'.
1553 (single_display_prop_string_p): Remove unused local declarations
1554 of `Qwhen' and `Qmargin'.
1555 (string_buffer_position): Remove unused variable `around'.
1556 (store_frame_title): Remove unused variable `width'.
1557
15c565ac
PJ
1558 * window.c: Don't define max.
1559 (coordinates_in_window): Remove unused variable `uy'.
1560
a8818eb9
PJ
1561 * widget.c: Don't define max.
1562
996fee11
PJ
1563 * process.c: Don't define max.
1564 (create_process): Remove unused variable `buffer'.
1565
496e1a5b
GM
15662001-10-23 Gerd Moellmann <gerd@gnu.org>
1567
c2d53558 1568 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1569
5905ae8b
EZ
15702001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1571
1572 * xfaces.c (Finternal_set_lisp_face_attribute)
1573 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1574 frame is on a windowed display.
1575
24db49fb
GM
15762001-10-23 Gerd Moellmann <gerd@gnu.org>
1577
c2d53558
SM
1578 * dispnew.c (sync_window_with_frame_matrix_rows):
1579 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1580 of marginal areas.
1581
c2d53558 1582 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1583
f0487f05
EZ
15842001-10-23 Andreas Schwab <schwab@suse.de>
1585
1586 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1587 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1588
f0a48a01
GM
15892001-10-23 Gerd Moellmann <gerd@gnu.org>
1590
c2d53558 1591 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1592 REAL_END. Notice if cursor gets overwritten.
1593 (notice_overwritten_cursor): Take X positions as parameters.
1594 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1595 around call to x_draw_glyphs.
1596
a50a10a0
PJ
15972001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1598
fc11dff0
PJ
1599 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1600 instead of C) and usage.
a50a10a0 1601
fc11dff0
PJ
1602 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1603 of C) and usage.
a50a10a0
PJ
1604
1605 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1606 `left', `max_width' and `max_height'.
1607
8738febd
GM
16082001-10-23 Gerd Moellmann <gerd@gnu.org>
1609
1610 * xdisp.c (display_line): For a tab continued to the next line,
1611 set row's ends_in_middle_of_char_p.
1612
653c329b
GM
16132001-10-22 Gerd Moellmann <gerd@gnu.org>
1614
1615 * xdisp.c (display_line): Fix computation of continuation lines
1616 width for TABs.
1617
f958c5ac
PJ
16182001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1619
7ba51063
PJ
1620 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1621 `Qlaplace'.
1622
f958c5ac
PJ
1623 * fileio.c: Remove unused code.
1624
eb360291
MB
16252001-10-22 Miles Bader <miles@gnu.org>
1626
1627 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1628 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1629 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1630
98515cf0
JR
16312001-10-21 Jason Rumney <jasonr@gnu.org>
1632
1633 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1634
93026d88
EZ
16352001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1636
1637 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1638 (Finsert_string): Avoid the multi-line string literals warning.
1639
c9a95b79
MB
16402001-10-22 Miles Bader <miles@gnu.org>
1641
1642 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1643 (Fdocumentation): Don't use it.
1644 (syms_of_doc): Don't initialize it.
1645
1646 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1647 * print.c (Fwith_output_to_temp_buffer): Likewise.
1648 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1649 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1650 (Fsave_restriction): Likewise.
c2d53558
SM
1651 * eval.c (Frun_hooks, Frun_hook_with_args)
1652 (Frun_hook_with_args_until_failure)
1653 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1654 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1655 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1656 (Funwind_protect, Fcondition_case): Likewise.
1657 * coding.c (Ffind_operation_coding_system): Likewise.
1658 * keyboard.c (Ftrack_mouse): Likewise.
1659
a3b10252
MB
16602001-10-21 Miles Bader <miles@gnu.org>
1661
c2d53558 1662 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1663 (Fmake_hash_table): Add usage: string to doc string.
1664 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1665 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1666 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1667 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1668 (Fml_prefix_argument_loop): Likewise.
1669
c6f73eec
PJ
16702001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1671
c2d53558 1672 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1673
c6f73eec
PJ
1674 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1675 style' [w/`doc:' keyword].
1676
1677 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1678 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1679 comments to `new style' [w/`doc:' keyword].
1680
3cf3436e
JR
16812001-10-21 Jason Rumney <jasonr@gnu.org>
1682
1683 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1684
c169b8f1
JR
1685 * w32term.c (remember_mouse_glyph): New function.
1686 (w32_mouse_position): Use it.
1687 (note_mouse_movement): If the mouse moved off the glyph, remember
1688 its new position.
c2d53558 1689
4fdd691b
JR
1690 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1691 (w32_display_info): Add mouse_face_overlay.
1692
c169b8f1
JR
1693 * w32term.c (notice_overwritten_cursor): Renamed from
1694 note_overwritten_text_cursor. Rewritten to take glyph widths into
1695 account.
1696 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1697 (fast_find_string_pos): New function.
1698 (fast_find_position): Return the correct vpos. Add parameter
1699 STOP. In the final row, stop before glyphs having STOP as object.
1700 Don't consider glyphs that are not from a buffer.
1701 (fast_find_position) [0]: Add a presumably more correct version
1702 for after 21.1.
1703 (expose_window_tree, expose_frame): Don't compute intersections here.
1704 (expose_window): Do it here instead.
1705 (expose_window_tree, expose_window, expose_line): Return 1 when
1706 overwriting mouse-face.
1707 (expose_window): If W is the window currently being updated, mark
1708 the frame garbaged.
1709 (expose_frame): If mouse-face was overwritten, redo it.
1710 (x_use_underline_position_properties): New variable.
1711 (syms_of_xterm): DEFVAR_BOOL it.
1712 (x_draw_glyph_string): Add comment to use it in future.
1713 (x_draw_glyph_string): Restore clipping after drawing box.
1714 Fix a computation of the underline position.
1715 (w32_get_glyph_string_clip_rect): Minor cleanup.
1716 (x_fill_stretch_glyph_string): Remove an assertion.
1717 (x_produce_glyphs): Don't convert multibyte characters
1718 to unibyte characters in unibyte buffers.
1719 (cursor_in_mouse_face_p): New function.
1720 (x_draw_stretch_glyph_string): Use it to choose a different GC
1721 when drawing a cursor within highlighted text. Don't draw
1722 background again if it has already been drawn.
1723 (x_draw_glyph_string_box): Don't draw a full-width
1724 box just because the glyph row's full_width_p flag is set.
1725 (x_draw_glyphs): Fix computation of rightmost x for
1726 full-width rows.
1727 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1728 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1729 change bottom shadow accordingly. Some cleanup.
1730 (x_update_window_end): Handle overwritten mouse face
1731 also for tool bar windows.
1732 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1733 DRAW is DRAW_IMAGE_RAISED.
1734 (clear_mouse_face): Return 1 if text with mouse face was
1735 actually redrawn. Make the function static. Reset
1736 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1737 optimize away highlighting if we pass over that same overlay again.
1738 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1739 to detect a case where we have to highlight a different region
1740 despite not having left the currently highlighted region.
1741 Set mouse_face_overlay in the x_display_info. Avoid changing the
1742 mouse pointer shape when show_mouse_face has already done it, or
1743 there is no need. Handle mouse-face and help-echo in strings.
1744 (glyph_rect): New function.
1745 (w32_mouse_position): Use it to raise the threshold for mouse
1746 movement event generation.
1747 (w32_initialize_display_info): Initialize the x_display_info's
1748 mouse_face_overlay.
1749 (w32_set_vertical_scroll_bar): Don't clear a zero height
1750 or width area.
1751 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1752 a widget to zero height.
1753
3cf3436e 1754 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1755 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1756 equivalents in menu_items.
1757 (w32_menu_show): Don't overwrite an item's name with its key
1758 description in case the description is a multibyte string.
1759 (single_submenu): Some cleanup.
1760
1761 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1762 (postprocess_image): New function.
1763 (lookup_image): Call it for all image types except PostScript.
1764 (x_kill_gs_process): Call postprocess_image.
1765 (tiff_error_handler, tiff_warning_handler): New functions.
1766 (tiff_load): Install them as handlers.
1767 (x_kill_gs_process): Recognize if someone has cleared the image
1768 cache under us.
1769 (valid_image_p): Protect better against invalid image
1770 specifications. Previous code could signal an error.
1771 (Fx_hide_tip, Fshow_tip): Doc fix.
1772 (Fv_max_tooltip_size): New variable.
1773 (syns_of_xfns): DEFVAR_LISP it.
1774 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1775 window buffer to *tip* right after creating the frame. Set frame's
1776 window_width. Use a maximum tooltip size specified by
1777 Vx_max_tooltip_size, if that has valid contents.
1778 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1779 Make sure the tooltip is completely visible.
1780 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1781 (Fx_create_frame): Adjust the frame's height for presence
1782 of the tool bar before calling x_figure_window_size.
1783 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1784 when the window gets smaller.
1785 (x_set_foreground_color): Set frame's cursor_pixel.
1786 (x_set_foreground_color, x_set_background_color): Cleaned up.
1787 (x_set_font): Handle case of x_new_fontset returning the same name
1788 as before, although there was a change in fontsets.
1789
386ca361
MB
17902001-10-21 Miles Bader <miles@gnu.org>
1791
c2d53558 1792 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1793 (Flogxor): Add usage: string to doc string.
1794 * charset.c (Fstring): Likewise.
1795 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1796 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1797
14ff1ee0
PJ
17982001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1799
03be2694
PJ
1800 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1801
1802 * alloc.c: Reindent DEFUNs with doc: keywords.
1803
1804 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1805
14ff1ee0
PJ
1806 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1807 keyword].
1808
71431a0e
GM
18092001-10-20 Gerd Moellmann <gerd@gnu.org>
1810
6aa97356 1811 * (Version 21.1 released.)
71431a0e 1812
39f624fa
PJ
18132001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1814
c2d53558 1815 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1816
1817 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1818 0 because unused.
1819
1820 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1821 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1822 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1823
abcce93a
MB
18242001-10-20 Miles Bader <miles@gnu.org>
1825
1826 The following changes remove the glyph_row `inverse_p' field,
1827 which is never set anymore, due to other changes:
1828
1829 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1830 (reassert_line_highlight, change_line_highlight): Declarations removed.
1831 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1832 (line_hash_code, row_equal_p, fake_current_matrices)
1833 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1834 (update_frame_line, update_frame_line, update_frame_line):
1835 Don't use `inverse_p' field.
1836 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1837 change_line_highlight_hook.
1838 (XTreassert_line_highlight, x_change_line_highlight):
1839 Functions removed.
c2d53558 1840 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1841 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1842 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1843 `inverse_p' field.
c2d53558 1844 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1845 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1846 (w32_reassert_line_highlight, x_change_line_highlight):
1847 Functions removed.
1848 * w32console.c (reassert_line_highlight, change_line_highlight):
1849 Functions removed.
1850 (initialize_w32_display): Don't set reassert_line_highlight_hook
1851 or change_line_highlight_hook.
1852 (hl_mode): Function removed.
c2d53558
SM
1853 (reset_terminal_modes, set_terminal_modes, update_begin)
1854 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1855 (clear_frame, ins_del_lines): Don't call it.
1856 * termhooks.h (reassert_line_highlight_hook)
1857 (change_line_highlight_hook): Declarations removed.
1858 * term.c (reassert_line_highlight_hook)
1859 (change_line_highlight_hook): Variables removed.
1860 (reassert_line_highlight, change_line_highlight): Functions removed.
1861 * msdos.c (IT_reassert_line_highlight)
1862 (IT_change_line_highlight): Functions removed.
1863 (internal_terminal_init): Don't set reassert_line_highlight_hook
1864 or change_line_highlight_hook.
1865 (highlight): Variable removed.
c2d53558 1866 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1867 (IT_set_terminal_modes): Don't set or use it.
1868
1869 The following changes remove inverse-video support for terminals
1870 that use a `magic cookie' standout mode. Due to changes in the
1871 way mode-lines are displayed, such support no longer works
1872 anyway, and it's probable that almost no one uses such terminals
1873 anymore:
1874
1875 * term.c (standout_requested): Variable removed.
1876 (update_end, highlight_if_desired): Don't use it.
1877 (chars_wasted, copybuf): Variables removed.
1878 (write_standout_marker): Function removed.
c2d53558 1879 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1880 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1881 Don't use `chars_wasted' or `copybuf'.
1882 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1883 Set `costs_set' to true.
1884 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1885 `chars_wasted'.
1886 (clear_end_of_line): Function removed.
1887 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1888 (clear_to_end): Call `clear_end_of_line' instead of
1889 `clear_end_of_line_raw'.
54800acb
MB
1890 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1891 (term_init): Don't set them.
1892 Turn off any standout/underline modes that require magic cookies.
c2d53558 1893 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1894 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1895 Remove special processing for magic-cookie standout modes.
1896 (turn_off_face, turn_on_face): Remove special processing for
1897 underline magic-cookie glitch.
abcce93a 1898
0b5f679f
RS
18992001-10-19 Richard M. Stallman <rms@gnu.org>
1900
1901 * eval.c (syms_of_eval): Doc fixes.
1902
5a4a5bd4
GM
19032001-10-19 Gerd Moellmann <gerd@gnu.org>
1904
1905 * xdisp.c (redisplay_internal): Don't clear echo area if the
1906 mini-window is selected.
1907
79f1f96c
MB
19082001-10-19 Miles Bader <miles@gnu.org>
1909
b57c2708
MB
1910 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1911 doesn't take precedence if the affected property's value is nil.
1912
1913 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1914
79f1f96c
MB
1915 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1916 with fields and suggest using `forward-line' to avoid them.
1917 * editfns.c (Fline_beginning_position, Fline_end_position):
1918 Clarify documentation.
1919
ef879104
SM
19202001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1921
1922 * keymap.c (current_minor_maps): `override' only shadows its
1923 correspondent in minor-mode-map-alist, not the whole tail.
1924
97f4db8c
AI
19252001-10-18 Andrew Innes <andrewi@gnu.org>
1926
1927 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1928 optimization. The fontp->encoding array was not being initialized
1929 correctly when compiled with optimizations by MSVC.
1930
e6b70fd8
GM
19312001-10-18 Gerd Moellmann <gerd@gnu.org>
1932
30903479 1933 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1934
0e804d38
AI
19352001-10-17 Andrew Innes <andrewi@gnu.org>
1936
1937 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1938
1939 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1940 font_info.charset field.
1941
1942 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1943 rather than working it out by calling w32_codepage_for_font for
1944 every glyph.
1945
66e5868a
AI
19462001-10-17 Andrew Innes <andrewi@gnu.org>
1947
1948 * w32term.c (w32_read_socket): Determine clipping rectangle for
1949 the entire frame, including areas covered by scrollbars and the
1950 menubar. This avoids internal arguments about whether a frame is
1951 fully obscured or not.
1952
15b00083
GM
19532001-10-17 Gerd Moellmann <gerd@gnu.org>
1954
23e8bd86
GM
1955 * xdisp.c (try_window_id): Undo last change. Give up if
1956 window ends in strings.
30903479 1957
9c6ba6d1 1958 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1959 end if the rest of the window after the window end was already blank.
23e8bd86 1960
30903479 1961 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1962 for the release of 21.1.
1963
30903479 1964 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1965
945220bd
MB
19662001-10-17 Miles Bader <miles@gnu.org>
1967
1968 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1969 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1970 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1971 Change doc-string comments to `new style' [w/`doc:' keyword].
1972 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1973 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1974 out make-docfile.
1975
14242528
MB
19762001-10-16 Miles Bader <miles@gnu.org>
1977
1978 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1979
3ddf952f
GM
19802001-10-16 Gerd Moellmann <gerd@gnu.org>
1981
1982 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1983 *scratch*.
1984
f3fbd155
KR
19852001-10-16 Ken Raeburn <raeburn@gnu.org>
1986
1987 Avoid the assumption that car and cdr slots of cons cells are
1988 addressable lvalues; this allows for easier experimentation with
1989 other lisp implementations that may not permit such accesses for
1990 various reasons. Not quite complete -- buffer.c still needs some
1991 work, and w32/mac files need rechecking -- so compile-time
1992 enforcement is left disabled for now.
1993
1994 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1995 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1996 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1997 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1998 (XSETCAR, XSETCDR): New macros.
1999 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2000 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2001 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2002 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2003 XSETCDR.
2004 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2005 * buffer.c (record_buffer, Fbury_buffer)
2006 (swap_out_buffer_local_variables, recenter_overlay_lists)
2007 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2008 fields of a cons cell respectively.
2009 * callint.c (quotify_args, Fcall_interactively): Likewise.
2010 * ccl.c (Fregister_code_conversion_map): Likewise.
2011 * coding.c (detect_coding_system): Likewise.
2012 * composite.c (get_composition_id, make_composition_value_copy):
2013 Likewise.
30903479
SM
2014 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2015 (swap_in_symval_forwarding, set_internal, Fset_default)
2016 (Fmake_variable_buffer_local, Fmake_local_variable)
2017 (Fmake_variable_frame_local): Likewise.
f3fbd155 2018 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2019 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2020 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2021 * minibuf.c (get_minibuffer): Likewise.
2022 * search.c (Fmatch_data): Likewise.
2023 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2024 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2025 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2026 Likewise.
2027 * w32term.c (x_delete_display): Likewise.
2028 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2029 Likewise.
c2d53558 2030 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2031 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2032 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2033 (Fread_file_name): Use XSETCAR.
2034 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2035 CHECK_NUMBER_CDR.
2036 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2037 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2038 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2039 CHECK_NUMBER_CDR.
2040 * keyboard.c (read_char): Alter list traversal to avoid taking the
2041 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2042 (parse_menu_item): Use XSETCAR and XSETCDR.
2043 (reach_char_x_menu_prompt): Use XSETCAR.
2044 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2045 (Fcommand_execute): Use XSETCDR.
2046 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2047 (openp): Change list traversal to avoid using XCAR as lvalue.
2048 (read_list): Use XSETCDR.
2049 * process.c (wait_reading_process_input): Change wait_for_cell
2050 handling to avoid taking addresses of cons cell slots.
30903479
SM
2051 * xselect.c (x_own_selection, x_handle_selection_clear)
2052 (x_clear_frame_selections): Use XSETCDR.
2053 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2054 (x_handle_property_notify, x_get_foreign_selection)
2055 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2056
502150e5
PJ
20572001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2058
018ba359
PJ
2059 * buffer.c: Put doc strings in comments.
2060
30903479 2061 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2062
b56ba8de
SS
20632001-10-15 Sam Steingold <sds@gnu.org>
2064
2065 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2066
6a0b793a
PJ
20672001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2068
30903479
SM
2069 * process.c (process-inherit-coding-system-flag)
2070 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2071 in comment.
2072
a1f17501 2073 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2074 arguments. Put doc strings in comments.
a65da641
PJ
2075
2076 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2077
aa601ad0
GM
20782001-10-15 Gerd Moellmann <gerd@gnu.org>
2079
30903479 2080 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2081
aa601ad0
GM
2082 * window.c (select_window_1): Unfreeze window start. Remove a
2083 doubled test for WINDOW being live.
2084
288148a1
PJ
20852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2086
dd8d1e71
PJ
2087 * fns.c (Fmapconcat): Fix typo in a doc string.
2088
288148a1
PJ
2089 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2090
9f5eb4a3
GM
20912001-10-15 Gerd Moellmann <gerd@gnu.org>
2092
2093 * xterm.c (x_draw_glyph_string): Restore clipping after
2094 drawing box.
2095
dbae44c8
PJ
20962001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2097
30903479 2098 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2099
0c88c937
SM
21002001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2101
56378db4
GM
2102 * indent.c (skip_invisible): Use new retval of
2103 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2104
845e4cf4
SM
2105 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2106 If a parent is reached and noinherit is set, exit immediately.
2107 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2108
0c88c937
SM
2109 * s/ms-w32.h (EXEC_SUFFIXES):
2110 * s/msdos.h (EXEC_SUFFIXES):
2111 * process.h (EXEC_SUFFIXES): Remove.
2112
2113 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2114 (decode_suffixes): Remove.
2115
2116 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2117 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2118 (invisible_ellipsis_p): Remove.
0c88c937
SM
2119
2120 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2121 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2122 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2123 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2124 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2125
d19be8a9
PJ
21262001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2127
04d7d066
PJ
2128 * lisp.h (Ftop_level): Add prototype.
2129
d624284c
PJ
2130 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2131 (XTread_socket): Improve style of comments to follow other
2132 comments.
2133
a87414f9
PJ
2134 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2135 is already prototyped in included lisp.h).
2136
d19be8a9
PJ
2137 * frame.c (Fset_mouse_position): Improve style of comment to
2138 follow other comments.
2139 (Fset_mouse_pixel_position): Improve style of comment to follow
2140 other comments.
2141 (Fmake_frame_visible): Doc fix and typo in comment.
2142 (Fmake_frame_invisible): Doc fix and typo in comment.
2143 (Ficonify_frame): Fix typo in comment.
2144
c061c855
GM
21452001-10-14 Gerd Moellmann <gerd@gnu.org>
2146
37f6b5b6 2147 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2148 * term.c, alloc.c: Put doc strings in comments.
c061c855 2149
e641b454
GM
21502001-10-13 Gerd Moellmann <gerd@gnu.org>
2151
2152 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2153 Provide definitions for doc strings in comments.
2154
2155 * fns.c: Put doc strings in comments.
2156
51724e26
EZ
21572001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2158
2159 * dired.c (file_name_completion): Ignore a candidate directory if
2160 it matches an element in completion-ignored-extensions that ends
2161 in a slash.
2162 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2163 feature in the doc string.
2164 (Ffile_name_completion): Ditto.
2165
be5fc59b
SM
21662001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2167
5a1373f3
SM
2168 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2169
2170 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2171
2172 * lisp.h (Fprovide): Update prototype.
2173 (Ffeaturep, invisible_p): Remove.
2174
bbc4a3d3 2175 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2176 (DOLIST, LOOP_PROPVAL): New macros.
2177 (invisible_p, invisible_ellipsis_p): Use them.
2178 (invisible_noellipsis_p): New function.
2179 (syms_of_xdisp): Use empty_string.
2180
2181 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2182
2183 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2184 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2185
2186 * print.c (Fwith_output_to_temp_buffer): Align with
2187 internal_with_output_to_temp_buffer.
2188 (print_preprocess): Use traverse_intervals_noorder.
2189 (print_object): Update call to traverse_intervals.
2190
2191 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2192 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2193
2194 * intervals.c (traverse_intervals_noorder): New function.
2195 (search_for_interval, count_intervals): Use it.
2196 (traverse_intervals): Use less stack space and drop `depth' arg.
2197
2198 * fns.c (Ffeaturep): Add new `subfeature' arg.
2199 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2200 (Qsubfeatures): New var.
2201 (syms_of_fns): Initialize it.
2202
026f408d
SM
2203 * keymap.c (Fkey_description): Use empty_string.
2204 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2205 (syms_of_keymap): Setup inheritance between maps.
2206 Don't export Sdescribe_bindings_internal any more.
2207
be5fc59b
SM
2208 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2209
3365175e
GM
22102001-10-12 Gerd Moellmann <gerd@gnu.org>
2211
2212 * xterm.c (notice_overwritten_cursor): Renamed from
2213 note_overwritten_text_cursor. Rewritten to take glyph widths into
2214 account.
2215
2ab7765c
EZ
22162001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2217
2218 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2219 multi-line strings without a trailing "\n\".
2220
311346bb
PJ
22212001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2222
2223 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2224 defined.
2225
2168e04d
SM
22262001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2227
026f408d
SM
2228 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2229
c0ec53ad
SM
2230 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2231 * w32proc.c (sys_spawnve):
2232 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2233 * w32.c (check_windows_init_file):
2234 * sound.c (Fplay_sound):
026f408d 2235 * emacs.c (init_cmdargs):
c0ec53ad
SM
2236 * process.c (Fstart_process): Update calls to openp.
2237
2238 * callproc.c (Vexec_suffixes): New var.
2239 (Fcall_process): Update call to openp.
2240 (decode_suffixes): New function.
2241 (syms_of_callproc): Init exec-suffixes.
2242
2243 * lread.c (Vload_suffixes, default_suffixes): New vars.
2244 (openp): Take a lisp list of suffixes.
2245 Check for file-name-handlers even if the file was absolute already.
2246 (syms_of_lread): Declare load-suffixes.
2247 (Fload): Fix up call to openp.
2248 Don't bother checking for file-name-handler at the very beginning.
2249
f6333468
SM
2250 * keymap.h (Fcopy_keymap): Don't export.
2251
2252 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2253 (Vload_suffixes, Vexec_suffixes): Declare.
2254 (openp): Update prototype.
f6333468
SM
2255
2256 * emacs.c (empty_string): New var.
2257 (syms_of_emacs): Initialize it.
2258
2259 * search.c (wordify): Use it.
2260
2261 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2262 selected window if it's not displayed there. Handle the case
2263 when the window is dedicated.
2264 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2265
2266 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2267
2168e04d
SM
2268 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2269 Remove left_ok and right_ok.
2270 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2271 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2272 new meaning of b_property.
2273
2274 * syntax.c (update_syntax_table): Simplify.
2275 (Fforward_comment): Don't skip quoted chars when going backward.
2276
13d95cc0
GM
22772001-10-11 Gerd Moellmann <gerd@gnu.org>
2278
beb0990f
GM
2279 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2280 in case I is of some unsigned type, in which case
2281 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2282 comparison becomes bogus.
2283
cb938d46
GM
2284 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2285 (Fuser_full_name): Fix bug treating a float as a fixnum.
2286
2287 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2288
2289 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2290
13d95cc0
GM
2291 * lisp.h (circular_list_error): Add prototype.
2292
2293 * data.c (Qcircular_list): New variable.
2294 (circular_list_error): New function.
2295 (syms_of_data): Initialize it Qcircular_list.
2296
e35f6ff7
SM
22972001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2298
2299 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2300 casefiddle.c, buffer.c: Include keymap.h.
2301
619632ac
GM
23022001-10-10 Gerd Moellmann <gerd@gnu.org>
2303
2304 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2305 options. From Dave Love <d.love@dl.ac.uk>.
2306
5e5388f6
GM
23072001-10-09 Gerd Moellmann <gerd@gnu.org>
2308
2309 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2310 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2311
14a3dff7
GM
2312 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2313 unsigned char.
2314 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2315
76ba8daf
AI
23162001-10-08 Andrew Innes <andrewi@gnu.org>
2317
2318 * lisp.h [max]: Undef min and max before redefining them.
2319
2320 * w32gui.h: Do not undef min and max.
2321
2322 * w32heap.h: Do not undef min and max.
2323
2324 * s/ms-w32.h: Do not undef min and max.
2325
166253cb
SM
23262001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2327
2328 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2329
0c4d9527
SS
23302001-10-08 Sam Steingold <sds@gnu.org>
2331
2332 * keymap.c (current-active-maps): Quote newlines (compilation error).
2333
14bfa771
EZ
23342001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2335
2336 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2337 bindings.elc, since otherwise doc strings in bindings.el get wrong
2338 offsets in etc/DOC.
2339
bdb7aa47
SM
23402001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2341
9985827f
SM
2342 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2343
2344 * keyboard.h (map_prompt): Remove.
2345
2346 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2347 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2348
bdb7aa47
SM
2349 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2350
2351 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2352
2353 * keyboard.c (map_prompt): Remove.
2354 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2355 Use Fkeymap_prompt.
2356
2357 * keymap.h: New file. Extracted from lisp.h.
2358
9985827f
SM
2359 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2360 (accessible_keymaps_1): New function.
2361 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2362 (Fwhere_is_internal): Use Fcurrent_active_maps.
2363 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2364 Insert in current buffer rather than standard-output.
2365 Don't call `help-mode'. Export to elisp.
2366 (describe_buffer_bindings): New wrapper.
2367 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2368 and Sdescribe_buffer_bindings.
2369
402c9a51
GM
23702001-10-08 Gerd Moellmann <gerd@gnu.org>
2371
9985827f 2372 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2373 Remove code setting signal handler.
2374
9985827f 2375 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2376 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2377
3fe81fdf
PJ
23782001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2379
2380 * keyboard.c: Don't define min/max.
2381
55fa7820
GM
23822001-10-08 Gerd Moellmann <gerd@gnu.org>
2383
9985827f 2384 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2385 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2386 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2387 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2388 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2389 Don't define min/max.
2390
2391 * lisp.h (min, max): New macros.
2392
55fa7820
GM
2393 * puresize.h (BASE_PURESIZE): Increase to 725000.
2394
1aad31e4
PJ
23952001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2396
9180dc8c
PJ
2397 * xfaces.c (free_frame_menubar): Add prototype.
2398
01f67d2c
PJ
2399 * lisp.h (init_window): Add prototype.
2400
2401 * editfns.c: Include ctype.h.
2402
2403 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2404 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2405 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2406 variable `sb'.
2407
5f351ff1
PJ
2408 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2409 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2410 `popup_activated_flag' and `title'.
2411
479dfe87
PJ
2412 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2413
dff49fc8
PJ
2414 * emacs.c (main): Remove extra `;'.
2415
248ac615
PJ
2416 * atimer.h (struct atimer): Fix typos in a comment.
2417
2418 * atimer.c: Fix typo.
2419
af232c7d
PJ
2420 * Makefile.in: Fix typo.
2421
2422 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2423
d876f455
MB
24242001-10-07 Miles Bader <miles@gnu.org>
2425
2426 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2427
0037e2f2
KR
24282001-10-07 Ken Raeburn <raeburn@gnu.org>
2429
b056f36d
KR
2430 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2431 Lisp_Object.
2432
0037e2f2
KR
2433 * lisp.h (Ffield_end): Declare.
2434
1a4372ef
GM
24352001-10-07 Gerd Moellmann <gerd@gnu.org>
2436
a4a74e8c
GM
2437 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2438
2439 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2440
2441 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2442
2443 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2444
1a4372ef
GM
2445 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2446 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2447
2448 * alloc.c (inhibit_garbage_collection): Simplify.
2449 (Fmemory_use_counts): Ditto.
2450
9985827f 2451 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2452 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2453 most-negative-fixnum.
2454
9985827f 2455 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2456 (FIXNUM_OVERFLOW_P): New macros.
2457
4650e362
MB
24582001-10-06 Miles Bader <miles@gnu.org>
2459
2460 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2461 scroll_bar_bottom_shadow_pixel fields.
2462 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2463 for the shadows, and tell the toolkit about them if we succeed.
2464 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2465 Free scroll-bar shadow colors.
2466 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2467 Free scroll-bar shadow colors when the background color changes.
2468 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2469 Initialize scroll-bar shadow-color fields.
2470
ace64e0a
GM
24712001-10-05 Gerd Moellmann <gerd@gnu.org>
2472
2473 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2474
ec66bdc7
MB
24752001-10-05 Miles Bader <miles@gnu.org>
2476
9985827f
SM
2477 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2478 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2479 New functions (were in simple.el).
9985827f 2480 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2481 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2482 (syms_of_minibuf): Initialize them.
2483
a0fb4492
GM
24842001-10-05 Gerd Moellmann <gerd@gnu.org>
2485
2486 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2487 (tiff_load): Install them as error and warning handler.
2488
0bcf87c1
AI
24892001-10-04 Andrew Innes <andrewi@gnu.org>
2490
2491 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2492 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2493 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2494 (x_to_w32_charset): Handle private format for unknown charsets.
2495 Handle wildcards in charset spec, by ignoring them.
2496 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2497 "*-" prefix from charset.
2498 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2499 handle the truncated font spec form constructed by font_list_1, so
2500 that we correctly identify the charset fields. Don't remove "*-"
2501 prefix from charset.
2502 (w32_list_synthesized_fonts): Fix argument to alloca.
2503
c89e4bc5
GM
25042001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2505
2506 * window.h (MINI_WINDOW_P): Use NILP.
2507
2508 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2509
2510 * termhooks.h (struct input_event): Use proper type for `kind'.
2511
25122001-10-04 Gerd Moellmann <gerd@gnu.org>
2513
2514 This handles unknown keysyms better than before. For example,
2515 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2516 Emacs formerly completely ignored F5. With the change, it derives
2517 a key symbol from the name of the X keysym, `ccaron' in this case.
2518 Reported by Martin Buchholz.
2519
2520 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2521 unknown keysyms.
2522
2523 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2524 that EVENT->code isn't a function key, use the keysym's name.
2525
25262001-10-04 Gerd Moellmann <gerd@gnu.org>
2527
2528 FOREACH is a macro that should make it easier to loop over Lisp
2529 lists with checks for cycles and proper lists.
2530
2531 * lisp.h (LIST_END_P, FOREACH): New macros.
2532
25332001-10-04 Gerd Moellmann <gerd@gnu.org>
2534
2535 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2536 called for a lost connection. Prevent dumping core in this case.
2537 Instead print the X error, and exit. On user request.
2538
2539 * xterm.c (error_msg): New variable.
2540 (x_fatal_error_signal): New function.
2541 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2542 as fatal_error_signal_hook around the call to XtCloseDisplay.
2543
2544 * emacs.c (fatal_error_signal_hook): New variable.
2545 (fatal_error_signal): Call that function.
2546
25472001-10-04 Gerd Moellmann <gerd@gnu.org>
2548
2549 With this, Emacs prints how much pure storage it will
2550 approximately need in case pure storage overflows while dumping.
2551
2552 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2553 New variables.
2554 (init_alloc_once): Initialize new variables.
2555 (PURE_POINTER_P): Use new variables.
2556 (pure_alloc): If pure storage overflows, allocate from the heap.
2557 (check_pure_size): New function.
2558 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2559
2560 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2561 (check_pure_size): Add prototype.
2562
2563 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2564
25652001-10-04 Gerd Moellmann <gerd@gnu.org>
2566
2567 This adds a post-gc-hook that's run with GC inhibited.
2568 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2569
2570 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2571 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2572 (Fgarbage_collect): Run post-gc-hook.
2573
25742001-10-04 Gerd Moellmann <gerd@gnu.org>
2575
2576 This adds `defvaralias' and `indirect-variable'. Changes not
2577 directly related to this feature are there to gain the same
2578 performance again as before variable aliases.
2579
2580 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2581 code to get and set symbol values, to take defvaralias into account.
2582
2583 (Note: the new `constant' bit-flag in symbols would make it
2584 possible to define arbitrary read-only variables, e.g. with
2585 `defconst'.)
2586
2587 Documentation is in lispref/variables.texi. Added to NEWS.
2588
2589 * lisp.h (enum symbol_interned): New enumeration.
2590 (struct Lisp_Symbol): Remove member `obarray', add
2591 `indirect_variable', `constant', and `interned'.
2592 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2593 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2594 (indirect_variable): Add prototype.
2595
2596 * print.c (print_preprocess, print_object): Test internedness of
2597 symbols differently.
2598
2599 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2600 bit-fields.
2601 (init_obarray): Likewise for t and nil.
2602
2603 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2604 (Fdefvaralias): New function.
2605 (specbind): Simplify the test if symbol is a constant.
2606 (syms_of_eval): Defsubr Fdefvaralias.
2607
2608 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2609 (Qcyclic_variable_indirection): New variable.
2610 (Fkeywordp): Check for internedness differently.
2611 (Fmakunbound): Simplify the test if symbol is a constant.
2612 (indirect_variable, Findirect_variable): New functions.
2613 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2614 aliased symbol.
2615 (let_shadows_buffer_binding_p): Check for variable aliases.
2616 (set_internal): Simplify the test if SYMBOL is a constant.
2617 If SYMBOL has a buffer-local value and is an alias, use the aliased
2618 symbol instead.
2619 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2620 Sindirect_variable.
2621
2622 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2623 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2624 set directly.
2625
2626 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2627
2628 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2629 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2630 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2631
ab952a4f
GM
26322001-10-04 Gerd Moellmann <gerd@gnu.org>
2633
2634 * Branch for 21.1.
b56ba8de 2635
ba88ff28
MB
26362001-10-03 Miles Bader <miles@gnu.org>
2637
2638 * callproc.c (syms_of_callproc): Explicitly state in the
2639 documentation for `process-environment' that earlier entries take
2640 precedence over later ones.
2641
ae1a9581
MB
26422001-10-02 Miles Bader <miles@gnu.org>
2643
2644 * textprop.c (Fnext_char_property_change)
2645 (Fprevious_char_property_change): Remove reference to non-existant
2646 argument OBJECT from doc-string.
2647
257e3f57
GM
26482001-10-01 Gerd Moellmann <gerd@gnu.org>
2649
2650 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2651 (try_window_id): Skip back over lines ending in a newline from a
2652 string.
2653
2654 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2655 New bit flag
2656
c1f29759
RS
26572001-10-01 Richard M. Stallman <rms@gnu.org>
2658
2659 * search.c (Freplace_match): Doc fix.
2660
c30dce3d
AI
26612001-09-28 Andrew Innes <andrewi@gnu.org>
2662
2663 * w32menu.c (set_frame_menubar): Take into account that
2664 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2665 <raeburn@gnu.org>.
2666
03be5931
EZ
26672001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2668
2669 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2670
75bec752
PJ
26712001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2672
2673 * s/gnu-linux.h: Fix a typo in comment.
2674
83100e0a
AS
26752001-09-28 Andreas Schwab <schwab@suse.de>
2676
2677 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2678 nocombreloc, in case -z combreloc is the default.
2679
a74b48cf
GM
26802001-09-28 Gerd Moellmann <gerd@gnu.org>
2681
2682 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2683 really going on here.
2684
09c4719e
SM
26852001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2686
2687 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2688
f7d5d963
EZ
26892001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2690
2691 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2692 utf-8, menu-bar, and latin-N.
2693 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2694 unconditionally now.
2695 (lisp): Add latin-N, since they are preloaded.
2696
9240e746
GM
26972001-09-27 Gerd Moellmann <gerd@gnu.org>
2698
14531065
GM
2699 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2700 to the left. Some cleanup.
2701
9240e746
GM
2702 * xdisp.c (display_mode_element): One more case where a string's
2703 multibyteness should be used for display.
2704
edd1e654
GM
27052001-09-26 Gerd Moellmann <gerd@gnu.org>
2706
b02439c8
GM
2707 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2708 reading at EOF.
2709
032906b1 2710 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2711 of the only temporarily set echoing flag for deciding when
032906b1
GM
2712 the cancel echoing.
2713
2714 * keyboard.c (echo_kboard): Make externally visible.
2715
2716 * lisp.h (echo_kboard): Declare extern.
2717
cb617e7c 2718 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2719 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2720 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2721 this round of redisplay if make_cursor_line_fully_visible fails.
2722 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2723 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2724
2725 * dispextern.h (required_matrix_width, required_matrix_height):
2726 Add prototypes.
2727
09c4719e
SM
2728 * dispnew.c (required_matrix_width, required_matrix_height):
2729 New functions.
cb617e7c 2730 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2731 (allocate_matrices_for_frame_redisplay: Use them.
2732 Remove parameters CH_DIM.
cb617e7c 2733
edd1e654
GM
2734 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2735 and selected_window to the frame of the window whose mode-lines
2736 are displayed, and to the window itself.
2737 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2738 here.
edd1e654 2739
924b604c
GM
27402001-09-25 Gerd Moellmann <gerd@gnu.org>
2741
daba7643
GM
2742 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2743 the image cache under us.
2744
b7a22712 2745 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2746 with a string value, use that string's multibyteness for displaying.
b7a22712 2747
ad648212
GM
2748 * keyboard.c (read_char): Don't clear a message for a switch-frame
2749 event. From Stefan Monnier <monnier@cs.yale.edu>.
2750
9f8531e5
GM
2751 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2752 version for after 21.1.
2753
2754 * xdisp.c (row_containing_pos): Make externally visible.
2755
2756 * dispextern.h (row_containing_pos): Add prototype.
2757
924b604c
GM
2758 * process.c (send_process): Disable composition if from_byte < 0.
2759 From Kenichi Handa <handa@etl.go.jp>.
2760
6f3f0db4
GM
27612001-09-24 Gerd Moellmann <gerd@gnu.org>
2762
c69c0ebc
GM
2763 * xterm.c (refreshicon): Function removed.
2764
d1182bc4
GM
2765 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2766
2767 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2768
2769 * xterm.c (toplevel): Remove includes in #if 0.
2770
6f3f0db4
GM
2771 * process.c (sigchld_handler) [LINUX]: Don't return from
2772 the signal handler at the end of the loop.
2773
59957f85
GM
27742001-09-21 Gerd Moellmann <gerd@gnu.org>
2775
09c4719e
SM
2776 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2777 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2778
a0528984
EZ
27792001-09-21 Markus Rost <rost@math.ohio-state.edu>
2780
2781 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2782
db92b288
GM
27832001-09-20 Gerd Moellmann <gerd@gnu.org>
2784
3fed8ad5
GM
2785 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2786 since this function can be called during GC.
2787
db92b288
GM
2788 * callproc.c (Fcall_process): Handle errors from pipe(2).
2789 (child_setup): Delete code in #ifdef vipc.
2790
7121b85a
GM
27912001-09-19 Gerd Moellmann <gerd@gnu.org>
2792
72f62cb5
GM
2793 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2794 (display_mode_element): Display the string from decode_mode_spec
2795 depending on its multibyteness.
2796
a2697022
GM
2797 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2798
7121b85a
GM
2799 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2800
bfc97351
GM
28012001-09-18 Gerd Moellmann <gerd@gnu.org>
2802
c9063433
GM
2803 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2804 recursive_edit_unwind.
2805 (recursive_edit_unwind): Set kboard state according to
2806 SINGLE-KBOARD.
2807
3fbdba3e
GM
2808 * buffer.c (modify_overlay): Don't do nothing if START == END;
2809 This can still be a modification, for example when an overlay has
2810 a before-string or after-string.
2811 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2812 an overlay with before-string or after-string.
2813
1270031d
GM
2814 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2815 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2816
bfc97351
GM
2817 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2818 first_unchanged_at_end_row is in front of
2819 last_unchanged_at_beg_row. This code should be removed after the
2820 release of 21.1.
2821
d8a973aa
GM
28222001-09-17 Gerd Moellmann <gerd@gnu.org>
2823
e18c8b8d
GM
2824 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2825 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2826
d8a973aa
GM
2827 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2828 versions >= 2.95.
2829
ed7d6ba4
EZ
28302001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2831
2832 * dired.c (Ffile_attributes): Doc fix.
2833
551629f9
GM
28342001-09-14 Gerd Moellmann <gerd@gnu.org>
2835
2836 * fileio.c (Ffile_symlink_p): Fix last change.
2837
2838 * filelock.c (current_lock_owner): Fix last change.
2839
4c8c7926
GM
28402001-09-13 Gerd Moellmann <gerd@gnu.org>
2841
620c4704
GM
2842 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2843 take that to mean that the buffer is too small.
2844
81c3310d
GM
2845 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2846 that to mean that the buffer is too small.
2847
06fd3792
GM
2848 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2849 current buffer's multibyteness when discarding the iterator's
2850 stack.
2851
4c8c7926
GM
2852 * xfns.c (Fx_window_property): Handle case that property gets
2853 deleted between the two calls to XGetWindowProperty.
2854
9a72e4c1
GM
28552001-09-11 Gerd Moellmann <gerd@gnu.org>
2856
bd819d14 2857 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2858
a41edd99
GM
2859 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2860 in addition to read-only.
2861
2862 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2863 to t in addition to read-only.
2864
2865 * lisp.h (Qinhibit_modification_hooks): Declare.
2866
2867 * insdel.c (Qinhibit_modification_hooks): New variable.
2868 (syms_of_insdel): Initialize and staticpro it.
2869
d4881c6a
GM
2870 * textprop.c (verify_interval_modification): Don't run
2871 modification-hooks if inhibit_modification_hooks.
2872
2873 * dispnew.c (set_window_cursor_after_update): Fix code
2874 finding glyph row containing cursor when cursor_in_echo_area
2875 is >= 0.
2876
9a72e4c1
GM
2877 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2878 (add_to_log): Use bcopy instead of strcpy.
2879 (init_from_display_pos): Use an explicit loop over bytes in
2880 overlay strings instead of calling index.
2881
f4a374a1
GM
28822001-09-10 Gerd Moellmann <gerd@gnu.org>
2883
300e57bd
GM
2884 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2885
2886 * dispnew.c (direct_output_for_insert): Don't change IT's
2887 stop_charpos to something in front of its current position.
2888
f4a374a1
GM
2889 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2890 `format'.
2891
7e4cbc91
RS
28922001-09-10 Richard M. Stallman <rms@gnu.org>
2893
2894 * frame.c (Fmouse_position): Doc fix.
2895
6afad91e
GM
28962001-09-07 Gerd Moellmann <gerd@gnu.org>
2897
2898 * xdisp.c (init_from_display_pos): Don't compare the result
2899 of calling index with NULL.
2900
f76e0368
GM
29012001-09-06 Gerd Moellmann <gerd@gnu.org>
2902
2903 * xfns.c (x_set_background_color): Don't change the colors
2904 of the X window of scroll bar widgets.
2905
9ead1b60
AI
29062001-09-05 Andrew Innes <andrewi@gnu.org>
2907
2908 * w32fns.c (w32_createwindow): Undo last change.
2909
c3b497b3
GM
29102001-09-05 Gerd Moellmann <gerd@gnu.org>
2911
08e1d6df
GM
2912 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2913
c3b497b3
GM
2914 * xdisp.c (string_buffer_position): Use *single_char_property*
2915 functions instead of the *single_property* functions.
b56ba8de 2916
8f860180
AI
29172001-09-04 Andrew Innes <andrewi@gnu.org>
2918
9a72e4c1
GM
2919 * w32term.c (w32_read_socket): Add more information to debugging
2920 output.
8f860180
AI
2921
2922 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2923 from Emacs frames, so that calls to GetClipBox in w32term.c
2924 correctly report when part of a frame is visible (including
2925 scrollbars, etc). This prevents repeated redrawing of frames when
2926 only a scrollbar is visible.
2927 (w32_wnd_proc): Add more frame information to debugging output.
2928
2ee1aa00
SM
29292001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2930
2931 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2932
e3b22517
GM
29332001-09-03 Gerd Moellmann <gerd@gnu.org>
2934
7e376260
GM
2935 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2936 help-echo for a string which doesn't have help-echo itself, use
2937 get-char-property to obtain the help-echo from the string's buffer
2938 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2939 have mouse-face, look ``under'' the string for mouse-face from an
2940 overlay.
2941 (fast_find_position): Add parameter STOP. In the final row, stop
2942 before glyphs having STOP as object. Don't consider glyphs that
2943 are not from a buffer.
2944
e3b22517
GM
2945 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2946
9a249bba
EZ
29472001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * fns.c (Fmd5): Doc fix.
2950
c9979669
GM
29512001-08-31 Gerd Moellmann <gerd@gnu.org>
2952
2953 * composite.c (update_compositions): Do nothing if
2954 inhibit-modification-hooks is set.
2955
9584e63a
GM
29562001-08-30 Gerd Moellmann <gerd@gnu.org>
2957
986ec8f2 2958 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2959 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2960 glyph matrices etc. in a core dump.
2961
92a25631
GM
2962 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2963 (syms_of_xdisp): Initialize them.
2964 (handle_single_display_prop): Don't change point, bind `object',
2965 `position', and `buffer-position' instead to the object having the
2ee1aa00 2966 `display' property, position in the object and position in the buffer.
92a25631 2967
9584e63a
GM
2968 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2969 of the buffer if REPLACE is non-nil.
2970
d38633a3
GM
29712001-08-29 Gerd Moellmann <gerd@gnu.org>
2972
2973 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2974
f4fccc1e
EZ
29752001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2976
2977 * w32term.c (x_set_glyph_string_background_width)
2978 (show_mouse_face): Track the last changes in xterm.c.
2979
eaaa65b0
GM
29802001-08-28 Gerd Moellmann <gerd@gnu.org>
2981
7b0870b2
GM
2982 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2983 string's background width so that multi-line mouse-face is drawn
2984 to the right edge of the window.
2985 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2986 glyphs.
2987
6b6e2422 2988 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2989 before inserting/writing glyphs.
6b6e2422 2990
eaaa65b0
GM
2991 * xdisp.c (display_mode_element): Use string_byte_to_char to
2992 determine character positions in strings, use chars_in_text
2993 instead of strwidth.
2994 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2995 a matrix as parameter; this is easier to use from GDB.
2996
9ad62cf8
MB
29972001-08-28 Miles Bader <miles@gnu.org>
2998
2ee1aa00
SM
2999 * textprop.c (Fprevious_single_char_property_change)
3000 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3001
32171635
GM
30022001-08-27 Gerd Moellmann <gerd@gnu.org>
3003
47d57b22
GM
3004 * fileio.c (Finsert_file_contents): Allocate, restore, and
3005 free composition data in the case of REPLACE not being nil.
3006
3007 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3008 there exist overlay strings with newlines at POS.
3009 (text_outside_line_unchanged_p): Return 0 if changes start at
3010 START and overlays exist at START. Likewise for END.
3011 (try_window_id): Give up if init_to_row_end returns 0.
3012
32171635
GM
3013 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3014 unconditionally.
3015
e1249666
GM
30162001-08-24 Gerd Moellmann <gerd@gnu.org>
3017
33954c45
GM
3018 * keymap.c (access_keymap): Return the cdr of the binding of
3019 a generic character instead of its definition (KEY . BINDING).
3020
e1249666
GM
3021 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3022 to 0 also in the REPLACE case.
3023
fb4c6c96
AC
30242001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3025
3026 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3027 open to determine whether file is readable (as for DOS_NT).
3028
59ecf80b
GM
30292001-08-23 Gerd Moellmann <gerd@gnu.org>
3030
3031 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3032 coding.type is coding_type_no_conversion or coding_type_raw_text,
3033 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3034 non-nil instead of just setting enable_multibyte_characters in the
3035 buffer to nil.
3036
40e33037
GM
30372001-08-22 Gerd Moellmann <gerd@gnu.org>
3038
374388c3
GM
3039 * dispextern.h (struct face_cache): Add member
3040 menu_face_changed_p.
3041
3042 * xfaces.c (menu_face_changed_default): New variable.
3043 (menu_face_changed_count): Variable removed.
3044 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3045 the menu_face_changed_default flag, otherwise set the FRAME's
3046 menu_face_changed_p flag if the `menu' face has been changed.
3047 Prevent calling set_font_frame_param if FRAME is t.
3048 (make_face_cache): Initialize cache's menu_face_changed_p
3049 from menu_face_changed_default.
3050 (realize_basic_faces): Look into the frame's face cache to
3051 determine if the menu appearance needs updating.
3052
40e33037
GM
3053 * keymap.c (access_keymap): Fix last change to not consider
3054 IDX when it has modifiers.
3055
859ea4b8
GM
30562001-08-21 Gerd Moellmann <gerd@gnu.org>
3057
3058 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3059 . BINDING) exists, where GENERIC-CHAR is the generic character of
3060 the charset of IDX, return BINDING unless there exists a binding
3061 for IDX itself.
3062
e8660d73
GM
30632001-08-16 Gerd Moellmann <gerd@gnu.org>
3064
cca1b1d7
GM
3065 * xrdb.c (SYSV): Don't define on Solaris 2.
3066 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3067
e8660d73 3068 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3069 of the screen line, not text line, containing IT's current position.
e8660d73 3070
93aba6fc
GM
30712001-08-15 Gerd Moellmann <gerd@gnu.org>
3072
288d4e06
GM
3073 * window.c (window_scroll_pixel_based): Don't recenter if
3074 PT is partially visible in the window.
3075
3452efc2
SM
3076 * xterm.c (expose_window_tree, expose_window, expose_line):
3077 Return 1 when overwriting mouse-face.
82f053ab
GM
3078 (expose_frame): If mouse-face was overwritten, redo it.
3079
93aba6fc
GM
3080 * xfaces.c (x_update_menu_appearance): Don't call
3081 set_frame_menubar, let the next redisplay do it.
3082
858a55c1
AI
30832001-08-14 Andrew Innes <andrewi@gnu.org>
3084
3085 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3086 drawing glyph string.
3087
3a990b67
EZ
30882001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3089
3090 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3091 running HI-UX/MPP.
3092
04386463
GM
30932001-08-14 Gerd Moellmann <gerd@gnu.org>
3094
3095 * xfaces.c (x_update_menu_appearance): Save and restore value of
3096 interrupt_input_blocked.
3097
3e6385a4
GM
30982001-08-13 Gerd Moellmann <gerd@gnu.org>
3099
b0e619b4
GM
3100 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3101 a line start, move back to the line start.
3452efc2 3102
0de73d5a
GM
3103 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3104 exactly when a mini-buffer is active.
3105
3e6385a4
GM
3106 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3107 in units of 1/8 character on non window-system frames.
3108 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3109
d1b5f629
EZ
31102001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3111
3112 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3113 a doc string.
3114
eaa2319f
GM
31152001-08-09 Gerd Moellmann <gerd@gnu.org>
3116
8e3189f0
GM
3117 * keyboard.c (Vpre_help_message): New variable.
3118 (syms_of_keyboard): Initialize and staticpro it.
3119 (show_help_echo): Record current message before displaying a
3120 help-echo, and restore that message when clearing the help.
3121
eaa2319f
GM
3122 * xfns.c (x_create_im): Remove prototype.
3123
3124 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3125
3126 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3127
eaa2319f
GM
31282001-08-08 Gerd Moellmann <gerd@gnu.org>
3129
3130 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3131 windows whose height has changed, disable partially visible lines.
eaa2319f 3132
17fdcfc8
GM
31332001-08-07 Gerd Moellmann <gerd@gnu.org>
3134
22d01aed 3135 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3136 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3137
17fdcfc8
GM
3138 * xdisp.c (start_display): Don't try to determine the continuation
3139 lines width if lines are truncated. It's superfluous and leads to
3140 incorrect results if POS is not visible in the window after
3141 reseating the iterator at the previous line start.
3142
8e3fe78e
GM
31432001-08-06 Gerd Moellmann <gerd@gnu.org>
3144
3145 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3146
98a8938c
GM
31472001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3148
3149 * alloc.c (init_stack): Remove declaration.
3150
18f9986a
GM
31512001-08-03 Gerd Moellmann <gerd@gnu.org>
3152
5e1f85e0
GM
3153 * keyboard.c (read_key_sequence): Check that key is an integer
3154 before comparing it with quit_char.
3155 (add_command_key): Use larger_vector.
3156 (read_char_x_menu_prompt): Instead of converting symbol and
3157 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3158 which cannot be confused with valid events.
5e1f85e0
GM
3159 (read_char): When reading from Vunread_command_events, check for
3160 events of the form (EVENT . disabled) instead of
3161 (EVENT . nil).
3162
18f9986a
GM
3163 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3164 a float, determine the max height from the frame's height.
3165
fbc7f2a6
GM
31662001-08-02 Gerd Moellmann <gerd@gnu.org>
3167
3168 * xdisp.c (redisplay_internal): Take message_cleared_p into
3169 account only if minibuf_level == 0.
3170
81b1a79d
GM
31712001-08-01 Gerd Moellmann <gerd@gnu.org>
3172
e5c60873
GM
3173 * xdisp.c (redisplay_internal): Add a check for the last
3174 displayed message.
3452efc2 3175
6e019995
GM
3176 * xdisp.c (message_cleared_p): New variable.
3177 (clear_message): Set message_cleared_p when clearing the current
3178 message.
3179 (redisplay_internal): Look at message_cleared_p to capture
3180 the case that the echo area should be cleared.
3181
308a74d8
GM
3182 * keyboard.c (command_loop_1): Fix spelling of
3183 resize_echo_area_exactly.
3184
3452efc2 3185 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3186
3187 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3188
81b1a79d
GM
3189 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3190 current matrix when the window gets smaller.
3191
ada329e6
EZ
31922001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3193
3194 * print.c (strout): Cast the character passed to insert_char to
3195 unsigned char, to avoid sign extension when it is promoted to int.
3196
ed86208c
GM
31972001-07-31 Gerd Moellmann <gerd@gnu.org>
3198
3199 * fileio.c (Finsert_file_contents): Don't treat a return value
3200 of 0 from emacs_read as an IO error.
3201
6594ac22
GM
32022001-07-30 Gerd Moellmann <gerd@gnu.org>
3203
cef68af5
GM
3204 * keyboard.c (abs): New macro.
3205 (double_click_fuzz): New variable.
3206 (make_lispy_event): Use it to determine what makes a double-click.
3207 (syms_of_keyboard): DEFVAR_INT it.
3208
6594ac22
GM
3209 * xmenu.c (set_frame_menubar): Take into account that
3210 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3211 <raeburn@gnu.org>.
3212
75c5350a
GM
32132001-07-27 Gerd Moellmann <gerd@gnu.org>
3214
3215 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3216
3217 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3218 of row's visible height.
3219
3220 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3221 deal with the first overlay string having an image `display' property.
3222 (try_window_reusing_current_matrix, compute_line_metrics):
3223 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3224 row is invisible above and part of the row is at the same time
3225 invisible below the window.
3226
ac49effe
GM
32272001-07-26 Gerd Moellmann <gerd@gnu.org>
3228
3229 * xfns.c (x-show-tip): Doc fix.
3452efc2 3230
ac49effe
GM
3231 * xfns.c (Vx_max_tooltip_size): New variable.
3232 (syms_of_xfns): DEFVAR_LISP it.
3233 (Fx_show_tip): Set frame's window_width to the width of the
3234 window. Use a maximum tooltip size specified by
3235 Vx_max_tooltip_size, if that has valid contents.
3236 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3237
8c3b00cb
AI
32382001-07-26 Andrew Innes <andrewi@gnu.org>
3239
3240 * w32term.c (x_display_list): New variable.
3241 (w32_term_init): Set it.
3242
3243 * w32term.h (x_display_list): New extern.
3244
16098288
GM
32452001-07-26 Gerd Moellmann <gerd@gnu.org>
3246
3247 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3248 is non-nil, instead of when redisplaying_p is non-zero.
3249 See comment there.
16098288
GM
3250 (mark_window_display_accurate_1): Add an assertion.
3251
64c5be50
GM
32522001-07-25 Gerd Moellmann <gerd@gnu.org>
3253
e743f599
GM
3254 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3255
563b384d
GM
3256 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3257 events so that we get a chance of processing expose events.
3258
64c5be50
GM
3259 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3260
296808a5
GM
32612001-07-24 Gerd Moellmann <gerd@gnu.org>
3262
3263 * xfns.c (valid_image_p): Protect better against invalid image
3264 specifications. Previous code could signal an error.
3265
5247262a
GM
32662001-07-23 Gerd Moellmann <gerd@gnu.org>
3267
3452efc2 3268 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3269 presence of display table entries.
3270 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3271
dd42b31a
GM
3272 * dispnew.c (adjust_glyph_matrix): In the optimization for
3273 windows whose height has changed, use the new window height
3274 to compute which rows to invalidate.
3275
9e5a7f2a
GM
3276 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3277 (MAX_10_EXP): New macro.
3278 (Fformat): Use it.
3279
5247262a
GM
3280 * coding.c (code_convert_region): Handle the multibyte case if
3281 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3282
177ab8ce
GM
32832001-07-20 Gerd Moellmann <gerd@gnu.org>
3284
6e07c0a5
GM
3285 * dispextern.h (struct face): Change type of `stipple' to
3286 int; it's an ID.
3287
177ab8ce
GM
3288 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3289
b5b80599
GM
32902001-07-19 Gerd Moellmann <gerd@gnu.org>
3291
4e2a256b
GM
3292 * dispnew.c (update_window): Don't set the cursor at the end
3293 of the update if display update has been paused.
3294
3452efc2 3295 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3296
c1fd9232
KR
32972001-07-18 Ken Raeburn <raeburn@gnu.org>
3298
3299 * fns.c (Fset_char_table_default): Check that a charset is defined
3300 before checking its dimension.
3301
928a85c1
KR
33022001-07-17 Ken Raeburn <raeburn@gnu.org>
3303
3304 * coding.c (setup_coding_system): Don't do any designation based
3305 on reg_bits if charset is not yet defined.
3306
fb4c6c96 3307 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3308 pointer, using eassert.
3309
de11c1ea
GM
33102001-07-17 Gerd Moellmann <gerd@gnu.org>
3311
3452efc2
SM
3312 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3313 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3314
467f1209
GM
33152001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3316
3317 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3318
c3d6be34
GM
33192001-07-16 Gerd Moellmann <gerd@gnu.org>
3320
c1d61a7d
GM
3321 * fileio.c (unwind_read): Function removed.
3322 (read_non_regular, read_non_regular_quit): New functions.
3323 (Finsert_file_contents): When reading from non-regular files,
3324 arrange to catch a `quit' and terminate the loop. Rearrange
3325 code so that a `quit' when reading from a regular file doesn't
3326 insert text in the buffer.
3327
c3d6be34
GM
3328 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3329 Clear faces afterwards.
3330 (clear_font_table): Take a x_display_info parameter. Don't free
3331 fonts being the default font of any frame on the given display.
3332
e06aa1f9
GM
33332001-07-13 Gerd Moellmann <gerd@gnu.org>
3334
3335 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3336 instead of CHAR_STRING which can signal an error.
3337
3338 * charset.c (char_to_string_1): Extracted from char_to_string.
3339 Return -1 instead of signaling an error.
3340 (char_to_string): Use it.
3341
3342 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3343
176c92e6
SM
33442001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3345
3346 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3347 is t, don't try to append anything to it.
3348
1c56232f
EZ
33492001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3350
3351 * dired.c (file_name_completion): Pass dp->d_name to
3352 Fstring_match, not elt, which is always nil here.
3353
1d2b2268
GM
33542001-07-12 Gerd Moellmann <gerd@gnu.org>
3355
3356 * xselect.c (x_decline_selection_request): Handle errors
3357 caused by receivers that have vanished.
3358
3359 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3360 ignoring events on foreign windows in #if 0. Always dispatch
3361 the event after checking it with x_handle_property_notify.
3362
3363 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3364 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3365 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3366 (toplevel): Add prototypes for file-local functions.
3367 (x_atom_to_symbol): Remove DPYINFO parameter.
3368
fe5a0162
SM
33692001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3370
3371 * w32menu.c (menubar_selection_callback, w32_menu_show):
3372 Initialize `entry' to nil.
3373 (w32_dialog_show): Remove unused `save_wv' variable.
3374 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3375
a777242c
GM
33762001-07-11 Gerd Moellmann <gerd@gnu.org>
3377
8ee5b6a3
GM
3378 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3379
d0e2444e
GM
3380 * fileio.c (unwind_read): Print a message when discarding inserted
3381 text or switching the buffer to unibyte. Change parameter.
3382 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3383
a777242c
GM
3384 * fileio.c (unwind_read): New function.
3385 (Finsert_file_contents): Record it as unwind-function for
3386 the case that reading is interrupted by C-g.
3387
ae794295
GM
33882001-07-10 Gerd Moellmann <gerd@gnu.org>
3389
fe5a0162 3390 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3391 update when scrolling_window returns 0.
3392
6b05fae3
GM
3393 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3394
3395 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3396 for the case that x_decode_color signals an error.
6b05fae3 3397
ae794295
GM
3398 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3399
bb6e8cee
GM
34002001-07-09 Gerd Moellmann <gerd@gnu.org>
3401
3402 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3403 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3404 around ioctls.
3405
36b40a8a
EZ
34062001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3407
24b97d4b
EZ
3408 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3409 doc string line for dos-timezone-offset.
3410
36b40a8a
EZ
3411 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3412 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3413 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3414 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3415
3416 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3417
0967b4b0
GM
34182001-07-05 Gerd Moellmann <gerd@gnu.org>
3419
f25cfe53
GM
3420 * sound.c: Include Emacs' header files with #include "...".
3421
0967b4b0
GM
3422 * eval.c (specbind): Additionally record the buffer that was
3423 current when a buffer-local or frame-local variable was bound.
3424
c347a1c3
GM
34252001-07-04 Gerd Moellmann <gerd@gnu.org>
3426
3427 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3428 to unibyte characters in unibyte buffers.
3429
6332ca8a
GM
34302001-07-03 Gerd Moellmann <gerd@gnu.org>
3431
38472d44
GM
3432 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3433 the frame on the binding stack. Change format of entries for
3434 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3435 (unbind_to): Handle unbinding a frame-local variable.
3436
6332ca8a 3437 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3438 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3439 (dump_glyph_row): Print row's continuation_lines_width.
3440 (try_window_id): Take the shortcut if ZV is visible in the
3441 window, but there are actually no changes at ZV.
3442
63d1b174
GM
34432001-07-02 Gerd Moellmann <gerd@gnu.org>
3444
4c175203
GM
3445 * xterm.h (x_free_dpy_colors): Add prototype.
3446
3447 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3448 right number of arguments.
3449
0b54ce28
GM
3450 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3451 ($(lwlibdir)TAGS): New target.
4c175203 3452 (TAGS): Fix dependency list.
0b54ce28 3453
63d1b174
GM
3454 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3455 with input blocked.
3456
d827466c
GM
34572001-06-30 Gerd Moellmann <gerd@gnu.org>
3458
3459 * emacs.c (main): Remove extern declaration for sys_nerr, which
3460 isn't used and causes a compilation error with GCC 3.0 on
3461 FreeBSD 4.3.
3462
b5cb1ada
GM
34632001-06-27 Gerd Moellmann <gerd@gnu.org>
3464
a5d3ec3f 3465 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3466 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3467 (toplevel): Include <signal.h> and syssignal.h.
3468
b5cb1ada
GM
3469 * sound.c (vox_configure, vox_close): Turn off atimers
3470 around ioctls.
3471
d9bad487
GM
34722001-06-26 Gerd Moellmann <gerd@gnu.org>
3473
fdbb67fe
GM
3474 * keyboard.c (read_char) <non_reread>: Record the previous idle
3475 start time before calling timer_stop_idle.
3476 (read_char) <reread_first>: After processing a help-echo event,
3477 restore the previous idle start time.
3478
d9bad487
GM
3479 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3480 the start of invisible text.
3481 (setup_for_ellipsis): New function.
3482 (next_overlay_string): After all overlay strings have been
3483 processed, display an ellipsis if necessary.
3484 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3485 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3486
3487 * dispextern.h (struct iterator_stack_entry): Add member
3488 display_ellipsis_p.
3489
2b9c25e0
GM
34902001-06-25 Gerd Moellmann <gerd@gnu.org>
3491
80de57df
GM
3492 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3493 on the value of the wait-for-wm frame parameter.
3494
3495 * xterm.h (struct x_output): Add member wait_for_wm.
3496
3497 * xfns.c (Qwait_for_wm): New variable.
3498 (x_frame_parms): Add entry for `wait-for-wm".
3499 (x_set_wait_for_wm): New function.
3500 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3501 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3502
2b9c25e0
GM
3503 * xdisp.c (try_window_id) <all changes below window end>: Don't
3504 take this shortcut if ZV is visible in the window.
3505 (try_window_id): When checking for window start being in changed
3506 text, don't check that the buffer's size has changed.
3507
f772775c
RS
35082001-06-23 Richard M. Stallman <rms@gnu.org>
3509
3510 * minibuf.c (Fcompleting_read): Doc fix.
3511
fa9090b8
GM
35122001-06-19 Gerd Moellmann <gerd@gnu.org>
3513
3514 * composite.c (Ffind_composition_internal): Accept ZV
3515 and a string's end position as POS.
3516
f6f1beba
GM
35172001-06-18 Gerd Moellmann <gerd@gnu.org>
3518
3519 * composite.c (Ffind_composition_internal): Check POS
3520 for validity.
3521
0ae83348
EZ
35222001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3523
3524 * editfns.c (Fmessage_box): If the frame is not under a window
3525 system, output the message in the echo area.
3526
e4cdc335
RS
35272001-06-14 Richard M. Stallman <rms@gnu.org>
3528
3529 * xdisp.c (try_window_id): When EOB is visible, don't treat
3530 insertion at EOB as if it were "off the bottom of the screen."
3531
a55a5f3c
AI
35322001-06-11 Andrew Innes <andrewi@gnu.org>
3533
3534 * w32proc.c (create_child): Add new parameter is_gui_app.
3535 (w32_executable_type): Add new parameter is_gui_app.
3536 (sys_spawnve): Use it.
3537 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3538 SIGQUIT. This matches better how the signals are interpreted by
3539 MSVC compiled programs.
3540 (syms_of_ntproc): Update docstring.
3541
1b85dc1c
SM
35422001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3543
3544 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3545 well otherwise note_mouse_highlight might optimize away highlighting
3546 if we pass over that same overlay again.
3547
b75f8eab
EZ
35482001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3549
3550 * lread.c (Fload): Document that the argument is run via
3551 substitute-in-file-name.
3552
94843cc1
GM
35532001-05-31 Gerd Moellmann <gerd@gnu.org>
3554
b14659e6
GM
3555 * Makefile.in (bootstrap-doc): New target.
3556 (bootstrap-emacs): Depend on it.
3557
0894672f
GM
3558 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3559 auto-save-list-file-name when shutting down Emacs, because
3560 creating the directory might signal an error, and leaves
3561 Emacs in a strange state.
3562
94843cc1
GM
3563 * term.c: (tty_cursor_hidden): New variable.
3564 (update_begin): Don't call tty_hide_cursor. Clean up.
3565 (update_end, set_terminal_window, set_scroll_region): Clean up.
3566 (ring_bell, reset_terminal_modes): Clean up.
3567 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3568 on tty_cursor_hidden.
3569 (write_glyphs): Call tty_hide_cursor.
3570
db3a49a6
SM
35712001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3572
3573 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3574
8bd189fb
GM
35752001-05-30 Gerd Moellmann <gerd@gnu.org>
3576
6f1be3b9
GM
3577 * xfns.c (enum image_value_type): New enumerator
3578 IMAGE_STRING_OR_NIL_VALUE.
3579 (parse_image_spec): Handle it.
3580 (xbm_format, pbm_format): Use it for :foreground and :background.
3581 (xbm_load, pbm_load): Check for nil color names.
3582
8bd189fb
GM
3583 * xterm.c (note_mouse_highlight): If an overlapping overlay
3584 exists, but we find that we highlight the same overlay as before,
3585 don't do the highlighting again.
3586
7bdba03c
GM
35872001-05-29 Gerd Moellmann <gerd@gnu.org>
3588
4c329aa8
GM
3589 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3590 Protect unibyte strings created by replacing their multibyte
3591 equivalents in menu_items.
3592
e15e2828
GM
3593 * keymap.c (Fsingle_key_description): NUL-terminate the string
3594 buffer before calling build_string.
3595
7bdba03c
GM
3596 * callproc.c (Fcall_process): Deal with decode_coding returning
3597 CODING_FINISH_INCONSISTENT_EOL.
3598
89c8dc6c
GM
35992001-05-28 Gerd Moellmann <gerd@gnu.org>
3600
db3a49a6 3601 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3602 an item's name with its key description in case the description
3603 is a multibyte string.
3604
3605 * keymap.c (Fsingle_key_description): Create a multibyte string
3606 only if necessary.
3607
eb04d6cd
GM
3608 * macros.c (Fstart_kbd_macro): Doc fix.
3609
8bd6307f
GM
3610 * xterm.c (cursor_in_mouse_face_p): New function.
3611 (x_draw_stretch_glyph_string): Use it to choose a different GC
3612 when drawing a cursor within highlighted text.
3613
e26c4089
GM
3614 * editfns.c (char_property_eq): Put in #if 0.
3615
3616 * indent.c (string_display_width): Put in #if 0.
3617
3618 * lread.c (Fload): Remove unused label.
3619
89c8dc6c
GM
3620 * termcap.c (speeds): Put in #if 0.
3621
9a1211f2
GM
36222001-05-18 Gerd Moellmann <gerd@gnu.org>
3623
29148a3f
GM
3624 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3625
9a1211f2
GM
3626 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3627 transformation matrix by 10.
3628
09393d07
GM
36292001-05-16 Gerd Moellmann <gerd@gnu.org>
3630
3631 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3632 only if it's equal to the former foreground pixel color.
db3a49a6 3633 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3634 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3635
460e6bae
GM
36362001-05-16 Dave Love <fx@gnu.org>
3637
3638 * insdel.c (signal_before_change, signal_after_change): Consider a
3639 local change hook which changes the buffer.
99c78ce8
GM
3640
3641 * process.c (read_process_output): Don't call signal_after_change
3642 and update_compositions after insert_from_string_before_markers.
3643
dbcf3c03
GM
36442001-05-16 Gerd Moellmann <gerd@gnu.org>
3645
a90b3d3c
GM
3646 * xfaces.c (split_font_name): Use the right field when
3647 checking for `[...]' syntax.
3648
1b7818b4
GM
3649 * buffer.c (copy_overlays): New function.
3650 (clone_per_buffer_values): Use it.
3651
3652 * buffer.h (OVERLAY_PLIST): New macro.
3653
9bae8781
GM
3654 * keymap.c (Fsingle_key_description): Replace a build_string with
3655 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3656
dbcf3c03
GM
3657 * fontset.c (Ffontset_info): Check that face is non-null
3658 before accessing its fields.
3659
8a1ae4dd
GM
36602001-05-15 Gerd Moellmann <gerd@gnu.org>
3661
18a0a39e
GM
3662 * keyboard.c (read_key_sequence): Prevent generating a fake
3663 prefix key twice.
3664
e335b66a
GM
3665 * xfaces.c (split_font_name): Handle `[...]' for the right
3666 font name fields.
3667
8a1ae4dd
GM
3668 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3669 of CCL_STAT_INVALID_CMD.
3670
3cf80731
SM
36712001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3672
33568849
SM
3673 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3674 in <var> has no default value yet.
3675
3cf80731
SM
3676 * xfaces.c (try_alternative_families): First try the FAMILY.
3677 And if nothing is found in the end, try again with scalable fonts.
3678 (try_font_list): Let try_alternative_families do a bit more of
3679 the work. Only use FAMILY if it is not nil.
3680 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3681
933b0249
GM
36822001-05-14 Gerd Moellmann <gerd@gnu.org>
3683
58e5af83
GM
3684 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3685 pointer shape when show_mouse_face has already done it.
33568849 3686
58e5af83 3687 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3688 full-width rows.
3689
7b16a6bf
GM
3690 * xfaces.c (split_font_name): Make sure to leave the loop
3691 with the right value of `i'.
3cf80731 3692
933b0249
GM
3693 * xfaces.c (split_font_name): Handle matrix transformations
3694 in the pixel and point size fields of XLFD font names.
3695 (xlfd_point_size): Likewise.
3696
dddcbf00
EZ
36972001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3698
3cf80731 3699 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3700 (x_to_w32_font): Add prototype.
3701
7689ef0b
EZ
3702 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3703 redefining, to avoid compiler warnings.
3704
e7c15bba
EZ
3705 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3706
dddcbf00
EZ
3707 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3708 (w32_get_bdf_glyph): Cast between unsigned char and char when
3709 passing arguments to subroutines, to shut up compiler warnings.
3710 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3711 GET_HEX_VAL.
3712
3713 * xfaces.c: Include keyboard.h before frame.h, not after it.
3714
3715 * widget.c: Include keyboard.h before frame.h.
3716
3717 * w32term.h (struct image, struct face): Forward declaration, to
3718 avoid compiler warnings.
3719
7bd2d083
GM
37202001-05-11 Gerd Moellmann <gerd@gnu.org>
3721
47e72862
GM
3722 * keyboard.c (read_key_sequence): Don't modify events when
3723 generating fake prefix keys (mode-line, scroll-bar, ...) since
3724 this prevents proper processing of such events when pushed back
3725 into unread-command-events.
3726
dd5f324b
GM
3727 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3728 actually redrawn. Make the function static.
3729 (note_mouse_highlight): Fix a case where the mouse cursor
3730 was changed back to the text cursor.
3731
3732 * xterm.h (clear_mouse_face): Remove prototype.
3733
d88a79d4
GM
3734 * xdisp.c (try_window_id): Fix the fix and set the right
3735 window_end_vpos.
3736
3737 * xdisp.c (try_window_id): Fix computation of window end in the
3738 case that lines were deleted at the end of the window. Add some
3739 more debug_method_adds.
0416532f 3740
7bd2d083
GM
3741 * xfaces.c (try_alternative_families): New function.
3742 (try_font_list): Use it. If ATTRS specifies a family, check
3743 fonts from that family first.
3744 (choose_face_font): Remove code setting the family part of
3745 the pattern to nil.
3746
23fca891
GM
37472001-05-10 Gerd Moellmann <gerd@gnu.org>
3748
ff9aa2ca
GM
3749 * xdisp.c (try_window_id): Fix case of all changes before
3750 the window start.
7b2654b5 3751
23fca891
GM
3752 * xdisp.c (try_window_id): Add some xasserts.
3753
e9726794
GM
37542001-05-09 Gerd Moellmann <gerd@gnu.org>
3755
3756 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3757
9e53a675
GM
37582001-05-09 Dave Love <fx@gnu.org>
3759
3760 * xdisp.c (GIVE_UP): Fix for K&R C.
3761
0d487c52
GM
37622001-05-09 Gerd Moellmann <gerd@gnu.org>
3763
fe88d421
GM
3764 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3765
0d487c52
GM
3766 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3767 back to the text cursor shape without need.
3768
1e9fc92e
GM
37692001-05-07 Gerd Moellmann <gerd@gnu.org>
3770
a2a6232e
GM
3771 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3772
3773 * dispextern.h (inverse_video): Declare extern.
3774
1e9fc92e
GM
3775 * keyboard.c (delete_kboard): Handle the case that selected_frame
3776 has been deleted in the course of x_connection_closed.
3777
12949a7f
EZ
37782001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3779
7b2654b5
SM
3780 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3781 Fix the change from 2001-04-30.
12949a7f 3782
2fa2f461
GM
37832001-05-03 Gerd Moellmann <gerd@gnu.org>
3784
a779d213
GM
3785 * xfns.c (file_dialog_unmap_cb): New function.
3786 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3787 where a dialog is closed via the window manager.
3788
7b2654b5 3789 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3790 the window start or all below the window end mostly rewritten.
3791 (redisplay_window): Move the tests if try_window_id is
3792 applicable to try_window_id.
3793 (GIVE_UP): New macro.
3794
3356df63
GM
37952001-05-02 Gerd Moellmann <gerd@gnu.org>
3796
a39202f6 3797 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3798 currently being updated, mark the frame garbaged.
3799 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3800 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3801
3356df63
GM
3802 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3803 again if it has already been drawn.
3804
a9d2fd1d
SM
38052001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3806
3807 * syntax.c (update_syntax_table): Check that oldi has the same
3808 properties as old_prop before deciding not to invalidate.
3809
c95fc5f1
GM
38102001-04-30 Gerd Moellmann <gerd@gnu.org>
3811
a9793e45
GM
3812 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3813 read-only text that is so because of text properties.
3814
c95fc5f1 3815 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3816 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3817 windows that are components of a Lucid menu bar.
3818
5a5d9185
GM
38192001-04-27 Gerd Moellmann <gerd@gnu.org>
3820
3821 * term.c (turn_on_face): Fix reverse video handling on terminals
3822 that don't support colors.
3823
ba973f7a
GM
38242001-04-26 Gerd Moellmann <gerd@gnu.org>
3825
3826 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3827 a non-buffer.
3828
8c56a983
GM
38292001-04-25 Gerd Moellmann <gerd@gnu.org>
3830
a728644c
GM
3831 * term.c (toggle_highlight): New function.
3832 (turn_on_face): Change handling of reverse video.
3833
7b2654b5
SM
3834 * process.c (wait_reading_process_input):
3835 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3836
bfd8410f
GM
3837 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3838 of the number of overlays to check.
3839
be2488ca
GM
3840 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3841
8c56a983
GM
3842 * xdisp.c (try_window_id): Fix a case where window_end_pos
3843 and window_end_bytepos were not adjusted.
3844
522d42f7
GM
38452001-04-23 Gerd Moellmann <gerd@gnu.org>
3846
3847 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3848 zero instead of -1.
3849
78c1afb6
EZ
38502001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3851
a9d2fd1d
SM
3852 * process.c (wait_reading_process_input) [!subprocesses]:
3853 Don't reference waiting_for_user_input_p, it's not defined in the
3854 branch without async subprocesses support.
78c1afb6 3855
a2fab450
GM
38562001-04-19 Gerd Moellmann <gerd@gnu.org>
3857
a122a38e
GM
3858 * keyboard.c (delete_kboard): Prevent a dangling reference
3859 from current_kboard to KB, which is freed.
3860
a9d2fd1d
SM
3861 * process.c (wait_reading_process_input):
3862 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3863 read_key_sequence aware of buffer changes from under it.
3864
0f8d6dc7
GM
38652001-04-18 Gerd Moellmann <gerd@gnu.org>
3866
eeffb293
GM
3867 * xfaces.c (Qscalable_fonts_allowed): New variable.
3868 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3869 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3870 removed.
eeffb293 3871 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3872 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3873 for scalable-fonts-allowed to t.
eeffb293 3874
0f8d6dc7
GM
3875 * fileio.c (Finsert_file_contents): If the file size returned from
3876 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3877 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3878
eec2d1de
EZ
38792001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3880
3881 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3882 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3883 (__memalign_hook): Make the two prototypes consistent.
3884
f4f480bd
GM
38852001-04-17 Gerd Moellmann <gerd@gnu.org>
3886
3887 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3888 matrix of mini-windows.
3889
52283633
SM
38902001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3891
3892 * intervals.c (find_interval): Don't rebalance during signal handling.
3893
ec2423c9
GM
38942001-04-11 Gerd Moellmann <gerd@gnu.org>
3895
30cb0001 3896 * fns.c: Include blockinput.h.
52283633 3897
ec2423c9
GM
3898 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3899
719d83ad
GM
39002001-04-10 Gerd Moellmann <gerd@gnu.org>
3901
60f8d735
GM
3902 * fns.c (Fcompare_strings): Fix return values.
3903
afffeb57
GM
3904 * window.c (window_scroll): Change the meaning of N to mean
3905 N screen-fulls or N lines.
3906 (window_scroll_pixel_based, window_scroll_line_based)
3907 (scroll_command, Fscroll_other_window): Change accordingly.
3908
52283633
SM
3909 * window.c (window_scroll_pixel_based, Frecenter):
3910 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3911 height of the window.
3912
3913 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3914 instead of using it.last_visible_y for the height of the window.
52283633 3915
719d83ad 3916 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3917 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3918
3919 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3920 able to write to hidden and system files. From Dan Holmsand
3921 <dan@eyebee.com>.
719d83ad 3922
8ddf3ee1
GM
3923 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3924 Holmsand <dan@eyebee.com>.
719d83ad 3925
522ed7fb
GM
39262001-04-09 Gerd Moellmann <gerd@gnu.org>
3927
9170e5d4
GM
3928 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3929
522ed7fb
GM
3930 * window.c (window_internal_height): Return 1 less if the
3931 window has a header line.
3932
3933 * xdisp.c (try_window_id): When scrolling on a terminal, take
3934 the change of window_internal_height into account.
3935
ceeb3d7d
EZ
39362001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3937
3938 * gmalloc.c (align): If the argument SIZE would overflow
3939 __malloc_ptrdiff_t, fail right away.
3940
63685b9d
GM
39412001-04-06 Gerd Moellmann <gerd@gnu.org>
3942
3943 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3944 Make sure the tooltip is completely visible.
3945 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3946
3947 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3948
3949 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3950
3ffb33bb
DL
39512001-04-06 Dave Love <fx@gnu.org>
3952
52283633
SM
3953 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3954 Fix test of `from'.
3ffb33bb 3955
869fb12c
GM
39562001-04-06 Gerd Moellmann <gerd@gnu.org>
3957
52283633 3958 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3959
869fb12c
GM
3960 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3961
441bf856
GM
39622001-04-05 Gerd Moellmann <gerd@gnu.org>
3963
4d664b04
GM
3964 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3965
52283633 3966 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3967
30ca89f5
GM
3968 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3969 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3970
3971 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3972 shell widget's position only if it is non-null.
3973
52283633
SM
3974 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3975 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3976
81a81c0f
GM
3977 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3978 FILENAME to bring it in synch with the documentation.
3979
441bf856
GM
3980 * xfaces.c (realizing_basic_faces_p): Renamed from
3981 realize_default_face_p.
3982 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3983 (realize_default_face): Don't set the flag.
3984
702a1e8e
GM
39852001-04-04 Gerd Moellmann <gerd@gnu.org>
3986
1013f4e3
GM
3987 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3988
52283633
SM
3989 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3990
1013f4e3
GM
3991 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3992 the buffer that was used for echoing.
3993
702a1e8e
GM
3994 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3995 (first_font_matching): Removed unused function.
3996 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3997 (may_use_scalable_font_p): Remove parameter FONT; rename
3998 parameter NAME to FONT.
3999 (x_face_list_fonts): Fix missing bounds check.
4000 (realizing_default_face_p): New variable.
4001 (realize_default_face): Set and clear that flag.
4002 (x_face_list_fonts): When called during the realization of the
4003 default face, and no matching fonts are found when ignoring
4004 scalable fonts and fonts matching a regexp from
4005 face-ignored-fonts, try without ignoring fonts.
4006
f9dbcda4
GM
40072001-04-03 Gerd Moellmann <gerd@gnu.org>
4008
ad18ffb1
GM
4009 * xfns.c (postprocess_image): New function.
4010 (lookup_image): Call it for all image types except PostScript.
4011 (x_kill_gs_process): Call postprocess_image.
4012
f9dbcda4
GM
4013 * xterm.c (x_use_underline_position_properties): New variable.
4014 (x_draw_glyph_string): Use it.
4015 (syms_of_xterm): DEFVAR_BOOL it.
4016
651f03b6
GM
40172001-04-02 Gerd Moellmann <gerd@gnu.org>
4018
4019 * xterm.c (x_alloc_nearest_color_1): New function.
4020 (x_alloc_nearest_color): Use it.
4021 (x_color_cells): Take a Display as argument, instead of a frame.
4022 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4023 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4024 (x_initialize): Register cvt_string_to_pixel as resource converter
4025 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4026
73d75a62
GM
40272001-03-30 Gerd Moellmann <gerd@gnu.org>
4028
b2046df8
GM
4029 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4030 (set_iterator_to_next): If a string from a display property ends,
4031 consider the case that this might also be the end of an
4032 overlay string having the display property.
4033
52283633 4034 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4035
87d8eba4
GM
4036 * xdisp.c (reseat_to_string): Undo last change.
4037
73d75a62
GM
4038 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4039 matrix of a window when the header line changes, when
4040 new rows are allocated, or when the width changes.
4041
911a2406
EZ
40422001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4043
52283633 4044 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4045
aea51abe
EZ
40462001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4047
4048 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4049 deprecated.
4050
176bc847
GM
40512001-03-29 Gerd Moellmann <gerd@gnu.org>
4052
ed31fabf
GM
4053 * data.c (Fsubr_interactive_form): New function.
4054 (syms_of_data): Defsubr it.
4055
176bc847
GM
4056 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4057 (live_float_p, live_misc_p): Return 1 only if the offset of the
4058 pointer in its block is >= 0.
4059
e59d0e9d
GM
40602001-03-28 Paul Eggert <eggert@twinsun.com>
4061
4062 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4063 microseconds calcuation. Avoid double-rounding problem.
4064 In doc string, warn that the result is approximate.
4065
f827b862
GM
40662001-03-28 Gerd Moellmann <gerd@gnu.org>
4067
30a3f61c
GM
4068 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4069 bind `inhibit-eval-during-redisplay' to t.
4070
4071 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4072
4073 * xdisp.c (inhibit_eval_during_redisplay)
4074 (Qinhibit_eval_during_redisplay): New variables.
4075 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4076 don't eval, return nil instead.
4077 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4078 Initialize Qinhibit_eval_during_redisplay.
4079
e719f5ae
GM
4080 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4081 the iterator's multibyte_p flag.
4082
deb2613a
GM
4083 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4084 instead of setting it to zero; it's incremented for each frame
4085 where the menu face is changed.
4086
52283633
SM
4087 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4088 change bottom shadow accordingly.
4089
4090 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4091 intersections here.
4092 (expose_window): Do it here instead.
52283633 4093 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4094
f827b862
GM
4095 * bytecode.c (BYTE_CODE_QUIT): New macro.
4096 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4097
4bde0ebb
GM
40982001-03-27 Gerd Moellmann <gerd@gnu.org>
4099
607ec83c
GM
4100 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4101 Give up if matrix starts in an ellipsis.
4102 (init_from_display_pos): Do nothing if POS doesn't specify
4103 a dpvec_index but the iterator has such a position.
4104
0245398f
GM
4105 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4106
aba25348
GM
4107 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4108 x/y position is (0, 0) after destroying the menu bar, restore
4109 its original position.
4110
4bde0ebb
GM
4111 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4112 (init_from_display_pos): Use it.
4113 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4114
8cdb267e
GM
41152001-03-26 Gerd Moellmann <gerd@gnu.org>
4116
4117 * xdisp.c (try_window_id): Undo last change.
4118
9948db79
EZ
41192001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4120
4121 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4122
4123 * buffer.c (syms_of_buffer): Doc fix.
4124
2eddf899
GM
41252001-03-26 Gerd Moellmann <gerd@gnu.org>
4126
4127 * xfaces.c (x_update_menu_appearance): Use local variable
4128 popup_path for setting font resources.
4129
6c145d35
EZ
41302001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4131
6a65b1b5
EZ
4132 * frame.c (Fframe_list): Don't reference tip_frame if
4133 HAVE_WINDOW_SYSTEM is not defined.
4134
6c145d35
EZ
4135 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4136 <wl@gnu.org>.
4137
d74c1900
GM
41382001-03-25 Gerd Moellmann <gerd@gnu.org>
4139
20fbd925
GM
4140 * xdisp.c (init_from_display_pos): Test invisible property
4141 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4142
927c5b3b
GM
4143 * xdisp.c (redisplay_internal) <update one window>: Make sure
4144 last_arrow_position and last_arrow_string are set.
4145
d74c1900
GM
4146 * frame.c (Fframe_list): Don't return a tooltip frame.
4147
091f8878
GM
41482001-03-23 Gerd Moellmann <gerd@gnu.org>
4149
52283633
SM
4150 * xdisp.c (mark_window_display_accurate_1): New function,
4151 extracted from mark_window_display_accurate.
4152 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4153 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4154 (mark_window_display_accurate): Use it.
4155 (redisplay_internal): Use it for the selected window.
4156 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4157 for the selected frame.
4158
ac90c44f
GM
4159 * xdisp.c Use make_number, for readability.
4160 (try_window_id): Disable rows below the window end.
4161 (try_window_reusing_current_matrix): Use cursor_row_p.
4162 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4163 of rows.
4164 (init_from_display_pos): If POS specifies a position in a display
4165 vector, maybe get the iterator set up for that ellipsis.
43c09969 4166
091f8878
GM
4167 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4168
991786dd
EZ
41692001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4170
4171 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4172
6c29b43c
GM
41732001-03-23 Gerd Moellmann <gerd@gnu.org>
4174
4175 * xfaces.c (x_update_menu_appearance): Use a different path
4176 for Lucid popup menus.
4177
d8731202
SM
41782001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4179
4180 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4181
4182 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4183 (string_buffer_position): Use `make_number'.
4184
f61a541b
GM
41852001-03-22 Gerd Moellmann <gerd@gnu.org>
4186
3c9e997b
GM
4187 * xfaces.c (x_update_menu_appearance): Renamed from
4188 x_set_menu_face_resources. Use different resources for popups.
4189
4190 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4191 (GC_CHECK_STRING_BYTES): Don't define.
4192
364cd450
GM
4193 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4194 Removed, together with subroutines.
4195 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4196 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4197
d8731202
SM
4198 * dispextern.h (x_set_menu_resources_from_menu_face):
4199 Remove prototype.
364cd450 4200
d8731202 4201 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4202 Remove calls to x_set_menu_resources_from_menu_face.
4203
d8731202
SM
4204 * xfaces.c (xm_set_menu_resources_from_menu_face):
4205 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4206
4207 * xmenu.c: Include widget.h.
4208 (single_submenu): Return int. Some cleanup.
4209 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4210
140330de
GM
42112001-03-21 Gerd Moellmann <gerd@gnu.org>
4212
4213 * xterm.c (x_update_window_end): Handle overwritten mouse face
4214 also for tool bar windows.
4215 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4216 DRAW is DRAW_IMAGE_RAISED.
4217
1741905c
GM
42182001-03-20 Gerd Moellmann <gerd@gnu.org>
4219
fa88947e
GM
4220 * print.c (syms_of_print): Doc fixes.
4221
1741905c
GM
4222 * fns.c (Fmd5): Doc fix.
4223
ade0bee1
GM
42242001-03-19 Gerd Moellmann <gerd@gnu.org>
4225
357e7376
GM
4226 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4227 Clear area of the frame not occupied by the scroll bar.
4228
c2c097cc
GM
4229 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4230 tip frame's root window buffer to *tip* right after creating
4231 the frame.
4232
ade0bee1
GM
4233 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4234 is an integer don't have to be for space characters.
4235
88c6e37e
GM
42362001-03-16 Gerd Moellmann <gerd@gnu.org>
4237
52283633
SM
4238 * indent.c (current_column, current_column_1, Fmove_to_column)
4239 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4240
c62eed76
KH
42412001-03-15 Kenichi Handa <handa@etl.go.jp>
4242
4243 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4244 drawing glyph string.
4245
c899e7e6
GM
42462001-03-15 Gerd Moellmann <gerd@gnu.org>
4247
d0bbfc99
GM
4248 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4249 (command_loop_1): Undo last change.
4250
03d1a189
GM
4251 * xterm.c (fast_find_position): Return the correct vpos.
4252
c899e7e6 4253 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4254 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4255 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4256 Call store_symval_forwarding with BUF null.
4257 (set_internal): Call store_symval_forwarding with the BUF
4258 parameter passed to set_internal. Formerly, the value was always
4259 set in the current buffer; the buffer recorded in specbind for
4260 this case wasn't used.
4261 (arith_driver): Reindent.
4262
52283633
SM
4263 * buffer.c (swap_out_buffer_local_variables):
4264 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4265
4266 * lisp.h (store_symval_forwarding): Change prototype.
4267
4268 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4269
57ac7c81
GM
42702001-03-14 Gerd Moellmann <gerd@gnu.org>
4271
697617d9
GM
4272 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4273 FOR_DELETION. Avoid resizing the mini-window of the selected
4274 frame if FOR_DELETION is set.
4275 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4276 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4277 signature.
4278
4279 * window.c (Fset_window_configuration): Change call to
4280 do_switch_frame to new format.
4281
4282 * keyboard.c (quit_throw_to_read_char): Change call to
4283 do_switch_frame to new format.
4284
4285 * lisp.h (do_switch_frame): Change prototype.
4286
819dce0f
GM
4287 * frame.c (Fframe_parameters): In the `buffer-list' frame
4288 parameter, store the buffer list of FRAME, not the list of the
4289 selected frame.
4290
57ac7c81
GM
4291 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4292 box just because the glyph row's full_width_p flag is set.
4293
65008712
GM
42942001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4295
4296 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4297 skip the padding blanks inserted in extend_face_to_end_of_line,
4298 before checking for trailing whitespace.
4299
159cf431
GM
43002001-03-13 Gerd Moellmann <gerd@gnu.org>
4301
52283633 4302 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4303 Remove special handling for LessTif/Motif.
4304 (toplevel): Don't include Xm/Xm.h.
4305
52283633
SM
4306 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4307 Remove workaround code for LessTif; it doesn't work anymore.
4308
2564ea1b 4309 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4310 Xm/ScrollBarP.h.
afcdc0a1 4311
52283633
SM
4312 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4313 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4314 contemporary LessTif.
4315
52283633
SM
4316 * xfaces.c (xm_set_menu_resources_from_menu_face):
4317 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4318
159cf431
GM
4319 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4320 removing button grabs.
4321
c6f7429a
KH
43222001-03-13 Kenichi Handa <handa@etl.go.jp>
4323
cb82d767
KH
4324 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4325 and clip-large-size-font as obsolete.
4326
c6f7429a
KH
4327 * lread.c (read_multibyte): Check the validity of multibyte
4328 sequence. If invalid, return the first byte.
4329
760cefb5
GM
43302001-03-12 Gerd Moellmann <gerd@gnu.org>
4331
4332 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4333 before running the command; timer functions or process
4334 filters may have set it.
4335
5141f9d0
EZ
43362001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4337
4338 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4339 Doc fix.
4340
b6a15240
GM
43412001-03-12 Gerd Moellmann <gerd@gnu.org>
4342
4343 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4344 to sprintf.
4345
95522746
GM
43462001-03-09 Gerd Moellmann <gerd@gnu.org>
4347
db14cfc5
GM
4348 * dispextern.h (string_buffer_position): Add prototype.
4349
52283633 4350 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4351 (single_display_prop_string_p): New functions.
4352
4353 * xterm.c (note_mouse_highlight): If there's no help-echo on
4354 a string, look at the buffer text ``under'' it.
4355
4356 * keyboard.c (make_lispy_event): Add string info to the event,
4357 analogous to what's done on mode lines.
4358 (read_key_sequence): For a click on a string, consider `local-map'
4359 and `keymap' of that string.
4360
52283633
SM
4361 * keyboard.c (make_lispy_event, make_lispy_movement):
4362 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4363
4364 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4365
4366 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4367 POS; return void.
4368
95522746
GM
4369 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4370 flags argument to emacs_open; it seems to conflict with O_EXCL.
4371
898a399d
KH
43722001-03-09 Kenichi Handa <handa@etl.go.jp>
4373
28cd4910
KH
4374 * composite.h (struct composition): Change types of members;
4375 glyph_len to unsigned, width to unsigned short.
898a399d 4376
4cdf6a6c
AI
43772001-03-08 Andrew Innes <andrewi@gnu.org>
4378
4379 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4380 menu titles.
4381
129004d3
GM
43822001-03-08 Gerd Moellmann <gerd@gnu.org>
4383
221dd3e7
GM
4384 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4385 instead of nil.
4386
52283633 4387 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4388 help-echo in strings.
4389 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4390 (fast_find_string_pos): New function.
4391
52283633
SM
4392 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4393 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4394
4395 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4396 Handle `mouse-face'.
4397
4398 * dispextern.h (face_at_string_position): Change prototype.
4399
52283633 4400 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4401
129004d3
GM
4402 * keyboard.c (make_lispy_event): Avoid generating drag events
4403 if the mouse hasn't actually moved to another buffer position.
52283633 4404
80c8ab8c
DL
44052001-03-08 Dave Love <fx@gnu.org>
4406
129004d3 4407 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4408
989521fd
GM
44092001-03-08 Gerd Moellmann <gerd@gnu.org>
4410
4411 * process.c (Fset_process_window_size): Fix a typo.
4412
bb5c338d
KH
44132001-03-08 Kenichi Handa <handa@etl.go.jp>
4414
4415 * coding.c (detect_coding_sjis): Do more rigid check.
4416 (detect_coding_big5): Likewise.
4417 (decode_coding_sjis_big5): Likewise.
4418 (Fdetect_coding_region): Call detect_coding_system with tailing
4419 anchor byte `\0' for more rigid detection.
52283633 4420 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4421 (Fdetect_coding_string): Likewise.
4422
8b8f9197
SM
44232001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4424
4425 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4426 a string before extracting its data.
4427
3bdf2660
GM
44282001-03-07 Gerd Moellmann <gerd@gnu.org>
4429
4430 * window.c (Frecenter): Rewrite code handling negative values
4431 of ARG on graphical frames.
4432
44332001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4434
4435 * window.c (displayed_window_lines): If W->start is outside the
4436 accessible portion of the buffer, call start_display with BEGV or
4437 ZV instead of W->start.
4438
471f86b9
GM
44392001-03-07 Gerd Moellmann <gerd@gnu.org>
4440
2ab62c6c
GM
4441 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4442
471f86b9
GM
4443 * process.c (Fset_process_filter): Don't crash if the input
4444 file descriptor of PROCESS is closed.
4445 (Fset_process_window_size): Likewise.
4446
101922c3
GM
44472001-03-06 Kenichi Handa <handa@etl.go.jp>
4448
4449 * xterm.c (XTflash): Make the timeout of select shorter, and call
4450 select repeatedly until the desired time expires.
4451
45d051a7
GM
44522001-03-06 Gerd Moellmann <gerd@gnu.org>
4453
4454 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4455
4456 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4457
4458 * lisp.h (Vwindow_list): Declare extern.
4459
8f372c46
EZ
44602001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4461
4462 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4463
f16a7aa5
GM
44642001-03-06 Gerd Moellmann <gerd@gnu.org>
4465
157ae273
GM
4466 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4467 to detect a case where we have to highlight a different region
4468 despite not having left the currently highlighted region.
4469 Set mouse_face_overlay in the x_display_info.
45d051a7 4470 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4471
4472 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4473
4474 * buffer.c (mouse_face_overlay_overlaps): New function.
4475
4476 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4477 (Qmouse_face): Declare extern.
4478
f16a7aa5
GM
4479 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4480 if face_change_count is non-zero.
4481
827afcac
KH
44822001-03-06 Kenichi Handa <handa@etl.go.jp>
4483
4484 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4485 that the source is unibyte.
4486
14c7242e
DL
44872001-03-05 Dave Love <fx@gnu.org>
4488
827afcac 4489 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4490
c28b847b
GM
44912001-03-05 Gerd Moellmann <gerd@gnu.org>
4492
4493 * minibuf.c (read_minibuf): Clean up the binding stack if
4494 called noninteractively.
4495
b86644f2
KH
44962001-03-05 Kenichi Handa <handa@etl.go.jp>
4497
4498 * coding.c (syms_of_coding): Docstring modified.
4499
203682cc 45002001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4501
4502 * charset.c (char_to_string): If a single byte char has modifier
4503 bits that can't be reflected to the character code, ignore them
45d051a7 4504 instead of signaling an error.
b86644f2 4505
e30bd7b7
EZ
45062001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4507
4508 * s/msdos.h: Update copyright notice.
4509
4510 * dosfns.h: Update copyright notice.
4511
4512 * dosfns.c: Update copyright notice.
4513
4514 * msdos.c: Update copyright notice.
4515
b52b65bd
GM
45162001-03-02 Gerd Moellmann <gerd@gnu.org>
4517
4518 * xterm.c (glyph_rect): New function.
4519 (XTmouse_position): Use it to raise the threshold for mouse
4520 movement event generation.
4521
53c4b1e6
EZ
45222001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4523
4524 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4525 specifies (reverse . t), reverse the initial screen colors.
4526 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4527 but we are reversing the colors, set bg_set, not fg_set.
4528 Likewise for setting background-color and reversing: set fg_set.
4529 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4530 in effect.
4531
4532 * xfaces.c (Finternal_set_lisp_face_attribute)
4533 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4534 parameters alist.
4535
f964b4d7
GM
45362001-03-02 Gerd Moellmann <gerd@gnu.org>
4537
ef53d75e
GM
4538 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4539 to a single slash in the middle of file names.
4540
52283633 4541 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4542 Accept only alphanumeric time zone names.
4543
f964b4d7
GM
4544 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4545 or width area.
4546 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4547 a widget to zero height.
52283633 4548
c3c45f65
GM
45492001-03-01 Gerd Moellmann <gerd@gnu.org>
4550
4551 * window.c (Fwindow_end): Call move_it_past_eol only if
4552 ending up on a partially visible line.
4553
028d739a
DL
45542001-03-01 Dave Love <fx@gnu.org>
4555
4556 * ccl.c (Fccl_execute): Doc fix.
4557
57c5889c
GM
45582001-03-01 Gerd Moellmann <gerd@gnu.org>
4559
35f59f6b
GM
4560 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4561 of the tool bar before calling x_figure_window_size.
4562
f84ff02c
GM
4563 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4564 NULL after destroying it, otherwise XTread_socket can access a
4565 destroyed widget when input is unblocked.
4566
8b8f9197 4567 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4568
57c5889c
GM
4569 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4570 same name as before, although there was a change in fontsets.
4571
224227d1
KR
45722001-02-28 Ken Raeburn <raeburn@gnu.org>
4573
4560730a
KR
4574 * lisp.h (Fframe_parameter): Declare.
4575
224227d1 4576 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4577 Lisp_Object.
224227d1 4578
ece93c02
GM
45792001-02-28 Gerd Moellmann <gerd@gnu.org>
4580
11ef99b9
GM
4581 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4582 NULL instead.
4583
4584 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4585 NULL instead.
4586
ece93c02
GM
4587 * alloc.c (toplevel): Include process.h.
4588 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4589 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4590 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4591 (allocate_vector, allocate_hash_table, allocate_window)
4592 (allocate_frame, allocate_process, allocate_other_vector):
4593 New functions.
ece93c02
GM
4594 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4595 (mark_maybe_pointer): New function.
52283633 4596 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4597 remain and not Lisp_Objects.
4598 (min_heap_address, max_heap_address): New variables.
4599 (mem_find): Return MEM_NIL if START is below min_heap_address or
4600 above max_heap_address.
4601 (mem_insert): Compute min_heap_address and max_heap_address.
4602
4603 * process.c (make_process): Use allocate_process.
4604
4605 * frame.c (make_frame): Use allocate_frame.
4606
4607 * window.c (make_window, make_dummy_parent): Use allocate_window.
4608 (Fcurrent_window_configuration): Use allocate_other_vector.
4609
4610 * lisp.h (allocate_vectorlike): Remove prototype.
4611 (allocate_vector, allocate_other_vector, allocate_frame)
4612 (allocate_window, allocate_process, allocate_hash_table):
4613 Add prototypes.
4614
4615 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4616 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4617
063af457
KH
46182001-02-27 Kenichi Handa <handa@etl.go.jp>
4619
4620 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4621 treat the produced bytes as a valid multibyte sequence.
4622
4623 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4624 (ccl_driver) <CCL_WriteMultibyteChar2>:
4625 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4626 <ccl_finish>: Set ccl->eight_bit_control properly.
4627
4628 * ccl.h (struct ccl_program): New member eight_bit_control.
4629
f58c6494
SM
46302001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4631
4632 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4633 accessible_keymaps_char_table.
4634 (accessible_keymaps_char_table): Obey `is_metized'.
4635 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4636 Lisp_Object.
4637
c596c392
GM
46382001-02-26 Gerd Moellmann <gerd@gnu.org>
4639
4640 * dispnew.c: Check HAVE_TERM_H before including term.h.
4641
425de386
AI
46422001-02-24 Andrew Innes <andrewi@gnu.org>
4643
4644 * makefile.w32-in: Update copyright notice.
4645
2ba11bbd
SM
46462001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4647
4648 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4649
66c56ed1
KH
46502001-02-24 Kenichi Handa <handa@etl.go.jp>
4651
4c1593ce
KH
4652 * Makefile.in (lisp): Add international/utf-8.elc.
4653
66c56ed1
KH
4654 * fontset.c (Fnew_fontset): Fix handling of the case that an
4655 element of FONTLIST is a cons of family and registry.
4656
796ead7e
JR
46572001-02-23 Jason Rumney <jasonr@gnu.org>
4658
4659 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4660 to height unconditionally.
4661
4662 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4663 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4664 (x_insert_glyphs): Call window_box_left to obtain the left
4665 x-coordinate of the area to shift.
4666
4667 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4668 safe_run_hooks.
4669
f6839838
AI
46702001-02-22 Andrew Innes <andrewi@gnu.org>
4671
52283633 4672 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4673 ($(BLD)\dispnew.obj):
4674 ($(BLD)\editfns.obj):
4675 ($(BLD)\fileio.obj):
4676 ($(BLD)\filelock.obj):
4677 ($(BLD)\keyboard.obj):
4678 ($(BLD)\w32proc.obj):
4679 ($(BLD)\process.obj):
4680 ($(BLD)\sysdep.obj): Ditto.
4681
4682 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4683 header files.
52283633
SM
4684 ($(BLD)/dispnew.$(O)):
4685 ($(BLD)/editfns.$(O)):
4686 ($(BLD)/fileio.$(O)):
4687 ($(BLD)/filelock.$(O)):
4688 ($(BLD)/keyboard.$(O)):
4689 ($(BLD)/w32proc.$(O)):
4690 ($(BLD)/process.$(O)):
f6839838
AI
4691 ($(BLD)/sysdep.$(O)): Ditto.
4692
c224f70b
GM
46932001-02-22 Gerd Moellmann <gerd@gnu.org>
4694
51695746
GM
4695 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4696 at the start of the function, check that the \n in it->c is
4697 from the iterator's current position.
52283633 4698
a61b7058
GM
4699 * xdisp.c (handle_single_display_prop): Add parameter
4700 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4701 properties which replace the display of text with something else.
4702 (handle_display_prop): Call handle_single_display_prop with
4703 additional argument saying if we already replaced text display
4704 with something else. Use AREF.
52283633 4705 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4706 (decode_mode_spec_coding): Use AREF and ASIZE.
4707
3473f362
GM
4708 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4709 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4710 * vmstime.h: Files removed.
52283633 4711
2bb58df3
GM
4712 * unexencap.c, unexfx2800.c: Files removed.
4713
c224f70b
GM
4714 * dispnew.c (direct_output_for_insert): Give up if we are showing
4715 a message or just cleared the message because we might need to
4716 resize the echo area window or display an empty echo area.
4717
ffc9ff0c
GM
47182001-02-21 Gerd Moellmann <gerd@gnu.org>
4719
0528abe1
GM
4720 * xdisp.c (redisplay_internal): Do the
4721 mark_window_display_accurate after all windows have been
4722 redisplayed because this call resets flags in buffers which are
4723 needed for proper redisplay.
4724
52283633
SM
4725 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4726 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4727 the old names.
4728
52283633
SM
4729 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4730 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4731
4732 * msdos.h (struct x_output): Rename busy_window to
4733 hourglass_window, busy_p to hourglass_p.
4734
52283633
SM
4735 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4736 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4737
4738 * xfns.c: Rename everything containing *busy_cursor* and similar
4739 to *hourglass*.
4740 (syms_of_w32fns): Rename x-busy-pointer-shape to
4741 x-hourglass-pointer-shape, display-busy-cursor to
4742 display-hourglass, busy-cursor-delay to hourglass-delay.
4743
4744 * w32fns.c: Rename everything containing *busy_cursor* and similar
4745 to *hourglass*.
4746 (syms_of_w32fns): Rename x-busy-pointer-shape to
4747 x-hourglass-pointer-shape, display-busy-cursor to
4748 display-hourglass, busy-cursor-delay to hourglass-delay.
4749
4750 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4751 of its busy_p flag.
4752
4753 * dispextern.h (start_hourglass, cancel_hourglass)
4754 (display_hourglass_p): Renamed from *busy_cursor*.
4755
ab2c5f0a
GM
47562001-02-20 Gerd Moellmann <gerd@gnu.org>
4757
d17e49a8
GM
4758 * keyboard.c (read_char): When an event from unread-command-events
4759 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4760
fa97adf6
GM
4761 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4762 equal to the current buffer.
4763
ab2c5f0a
GM
4764 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4765 nil, otherwise we're left with truncate_lines t when a message
4766 is printed with message-truncate-lines bound to t.
4767
aeac019e
GM
47682001-02-19 Gerd Moellmann <gerd@gnu.org>
4769
c8bc6f65
GM
4770 * window.c (Fmove_to_window_line): Undo last change.
4771 (displayed_window_lines): Call line_bottom_y to determine
4772 the line's bottom position.
4773
4774 * dispextern.h (line_bottom_y): Add prototype.
4775
52283633 4776 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4777 (pos_visible_p): Use it.
4778
980a2d69
GM
4779 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4780 set redisplaying_p to 0 here instead of in Frecursive_edit.
4781 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4782 set redisplaying_p.
4783
52283633 4784 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4785 New variables.
4786 (syms_of_xdisp): Initialize new variables.
4787 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4788 Specbind `inhibit-menubar-update' when updating the menu bar.
4789
65048e97
GM
4790 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4791 safe_run_hooks.
4792
4793 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4794 safe_run_hooks.
4795
a57c4026
GM
4796 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4797 is null.
4798
aeac019e
GM
4799 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4800 to the start of the file.
4801
76846b31
GM
48022001-02-16 Gerd Moellmann <gerd@gnu.org>
4803
f3f053f3 4804 * window.c (set_window_buffer): Fix last change.
52283633 4805
f3f053f3
GM
4806 * window.c (set_window_buffer): Set window's vscroll to 0.
4807
dad75588
GM
4808 * window.c (coordinates_in_window): Increase width of area
4809 where the vertical line can be dragged.
4810
c220b753
GM
4811 * xterm.c (x_set_glyph_string_background_width): Extend the
4812 background face to the end of the drawing area in the text
4813 area, only.
4814
c56b1c1b
GM
4815 * xdisp.c (handle_single_display_prop): Set iterator's position
4816 to where the `display' property starts, like for images.
4817 (dump_glyph): New function.
4818 (dump_glyph_row): Use it. Dump info about marginal areas.
4819
4820 * dispnew.c (direct_output_for_insert): Recognize more cases where
4821 glyphs can be written instead of being inserted.
4822
4823 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4824 the left x-coordinate of the area to shift.
4825
76846b31
GM
4826 * dired.c (directory_files_internal): Set result list to nil
4827 before retrying.
4828
0fc71a77
KH
48292001-02-15 Kenichi Handa <handa@etl.go.jp>
4830
4831 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4832 invalid multibyte sequence, treat *SRC as a character of
4833 eight-bit-graphic.
4834
25078b54
EZ
48352001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4836
4837 * textprop.c (Fset_text_properties): Doc fix.
4838
8399f8a0
GM
48392001-02-15 Gerd Moellmann <gerd@gnu.org>
4840
4841 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4842
9a2a6f73
DL
48432001-02-14 Dave Love <fx@gnu.org>
4844
4845 * coding.c: Doc and message fixes.
4846
bf853fee
AI
48472001-02-14 Andrew Innes <andrewi@gnu.org>
4848
4849 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4850 Emacs frame above the screen size.
4851
78c663d8
GM
48522001-02-14 Gerd Moellmann <gerd@gnu.org>
4853
4854 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4855
7cc9f69f
GM
48562001-02-13 Gerd Moellmann <gerd@gnu.org>
4857
0a411995
GM
4858 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4859 case that TO ends up beyond ZV after running before-change-functions.
4860
5ddc1b75
GM
4861 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4862 the selected window if it is showing the buffer in question.
4863
7cc9f69f
GM
4864 * dired.c (directory_files_internal): Initialize errno.
4865 (toplevel): Include errno.h.
4866
2e6621ca
GM
48672001-02-13 Kenichi Handa <handa@etl.go.jp>
4868
4869 * xfaces.c (best_matching_font): New parameter width_ratio.
4870 Multiply avgwidth by width_ratio.
4871 (choose_face_font): Call best_matching_font with width_ratio
4872 calculated from the column width of C.
4873
60222d69
AI
48742001-02-12 Andrew Innes <andrewi@gnu.org>
4875
4876 The following changes are to draw box lines inside characters area
4877 if line-width is negative.
52283633 4878
60222d69
AI
4879 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4880 face->box_line_width is negative.
4881 (x_produce_stretch_glyph): Likewise.
4882 (x_produce_glyphs): Likewise.
4883 (x_estimate_mode_line_height): Likewise.
4884 (x_draw_glyph_string_background): Likewise.
4885 (x_draw_glyph_string_foreground): Likewise.
4886 (x_draw_composite_glyph_string_foreground): Likewise.
4887 (x_draw_glyph_string_box): Likewise.
4888 (x_draw_image_foreground): Likewise.
4889 (x_draw_image_relief): Likewise.
4890 (x_draw_image_foreground_1): Likewise.
4891 (x_draw_image_glyph_string): Likewise.
4892
9804b846
KH
48932001-02-09 Kenichi Handa <handa@etl.go.jp>
4894
4895 The following changes are to draw box lines inside characters area
4896 if line-width is negative.
52283633 4897
9804b846
KH
4898 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4899 face->box_line_width is negative.
4900 (x_produce_stretch_glyph): Likewise.
4901 (x_produce_glyphs): Likewise.
4902 (x_estimate_mode_line_height): Likewise.
4903 (x_draw_glyph_string_background): Likewise.
4904 (x_draw_glyph_string_foreground): Likewise.
4905 (x_draw_composite_glyph_string_foreground): Likewise.
4906 (x_draw_glyph_string_box): Likewise.
4907 (x_draw_image_foreground): Likewise.
4908 (x_draw_image_relief): Likewise.
4909 (x_draw_image_foreground_1): Likewise.
4910 (x_draw_image_glyph_string): Likewise.
4911
4912 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4913 and :line-width can be negative.
52283633 4914 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4915
49be9f70
JR
49162001-02-09 Jason Rumney <jasonr@gnu.org>
4917
4918 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4919 characters the same as ASCII and latin-1.
4920 (x_display_and_set_cursor): Check for the focus frame's selected
4921 window instead of selected_window.
4922 (x_after_update_window_line): Don't clear if frame's internal
4923 border width is zero.
4924 (x_new_font): Don't change a tooltip's size.
4925 (w32_initialize): Set char_ins_del_ok to 1.
4926
4927 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4928 (x_set_font): If font hasn't changed, avoid recomputing
4929 faces and other things.
52283633
SM
4930 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4931 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4932 (x_create_tip_frame): Prevent changing the tooltip's
4933 background color by specifying a color for the default font
4934 in .Xdefaults.
4935 (Qcancel_timer): New variable.
4936 (syms_of_w32fns): Initialize and staticpro it.
4937 (Fx_hide_tip, Fx_show_tip): Use it.
4938 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4939 the timer.
4940 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4941
4942 * w32.c (init_environment): Duplicate local string before putenv.
4943
555e35d2
SZ
49442001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4945
4946 * charset.c (Fstring): A typo.
4947
19c92c94
KH
49482001-02-09 Kenichi Handa <handa@etl.go.jp>
4949
e47a1c33
KH
4950 * charset.c (Fstring): If all arguments are less than 256, return
4951 a unibyte string.
4952
4953 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4954 return a unibyte string.
4955
19c92c94
KH
4956 * coding.c (code_convert_region): After detecting a coding, if
4957 nothing found, set coding->composing to COMPOSITION_NO.
4958 (decode_coding_string): Likewise.
4959
d8e675f5
SM
49602001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4961
4962 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4963 to avoid overflow.
4964
bd503487
KH
49652001-02-07 Kenichi Handa <handa@etl.go.jp>
4966
4967 * charset.c (parse_str_to_multibyte): New function.
4968
4969 * charset.h (parse_str_to_multibyte): Extern it.
4970
4971 * print.c (print_string): If we are going to print a unibyte
4972 string into a multibyte buffer, convert the string to multibyte by
4973 str_to_multibyte.
4974
a8370d72
AI
49752001-02-06 Andrew Innes <andrewi@gnu.org>
4976
4977 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4978 been created. It seems we can get sent window messages such as
4979 WM_ERASEBKGND before we properly update a frame.
4980
c363a1d6
GM
49812001-02-06 Gerd Moellmann <gerd@gnu.org>
4982
4983 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4984 Avoid some unnecessary cursor positioning.
4985
a08332c0
GM
49862001-02-05 Gerd Moellmann <gerd@gnu.org>
4987
52283633 4988 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4989 (LFACE_AVGWIDTH): New macro.
4990 (LFACEP): Use AREF.
4991 (check_lface_attrs): Check LFACE_AVGWIDTH.
4992 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4993 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4994 (merge_face_vectors): Check LFACE_AVGWIDTH.
4995 (Finternal_make_lisp_face): Use AREF.
4996 (xm_set_menu_resources_from_menu_face)
4997 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4998 (Finternal_lisp_face_empty_p): Use AREF.
4999 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5000 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5001 Compare average widths..
5002 (best_matching_font): Arrange for comparing average widths.
5003
52283633
SM
5004 * dispextern.h (enum lface_attribute_index):
5005 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5006
5cb3c8d4
DL
50072001-02-05 Dave Love <fx@gnu.org>
5008
5009 * puresize.h: Revert last change following loadup.el change.
5010
193fba87
AI
50112001-02-05 Andrew Innes <andrewi@gnu.org>
5012
5013 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5014 invocation of temacs, to work with Windows 2000.
5015 (bootstrap-emacs): Ditto.
5016
e16f52ce
GM
50172001-02-05 Gerd Moellmann <gerd@gnu.org>
5018
7a58ab59
GM
5019 * xterm.c (x_display_and_set_cursor): Check for the focus
5020 frame's selected window instead of selected_window.
5021
e89aaabd
GM
5022 * xdisp.c (try_scrolling): If point is in the line below the
5023 window, make sure to move the iterator at least a canonical
5024 char height down.
5025
52283633 5026 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5027
789ce875
KH
50282001-02-05 Kenichi Handa <handa@etl.go.jp>
5029
52283633
SM
5030 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5031 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5032 (ccl_driver): If the CCL program is terminated because of
5033 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5034 destination instead of throwing them away.
5035
20b28f82
GM
50362001-02-02 Gerd Moellmann <gerd@gnu.org>
5037
79fb38c0
GM
5038 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5039 faces and other things.
5040
20b28f82
GM
5041 * xdisp.c (get_next_display_element): Fix case of empty
5042 display table entry.
5043
5a72551e
EZ
50442001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5045
eb24d0bf
EZ
5046 * editfns.c (Fconstrain_to_field): Doc fix.
5047
6a3f48c7
EZ
5048 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5049 into `thoroughly', to make it consistent with the doc string.
5050
5a72551e
EZ
5051 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5052
01acdb05
GM
50532001-02-01 Gerd Moellmann <gerd@gnu.org>
5054
0353b28f
GM
5055 * search.c (search_buffer): Call set_search_regs with a byte
5056 position, not a character position.
5057
01acdb05
GM
5058 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5059 minibuffer-only,
5060
e86b5133
EZ
50612001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5062
5063 * frame.c (Fmodify_frame_parameters): Doc fix.
5064
7442878f
GM
50652001-01-31 Gerd Moellmann <gerd@gnu.org>
5066
01acdb05
GM
5067 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5068 identifier which is not reserved by Standard C.
52283633 5069
7442878f
GM
5070 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5071
5072 * window.c (enum window_part): New enumeration.
5073 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5074 Qright_bitmap_area.
5075 (coordinates_in_window): Return an enumerator from enum
5076 window_part. Fix handling of right scroll bar.
5077 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5078 `right-fringe' instead of `left-bitmap-area' and
5079 `right-bitmap-area'. Use enumerators from enum window_part
5080 instead of hard-coded integers.
52283633
SM
5081 (check_window_containing, window_from_coordinates):
5082 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5083 (syms_of_window): Replace Qleft_bitmap_area and
5084 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5085
7c132cba
EZ
50862001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5087
5088 * editfns.c (Fformat_time_string): Doc fix.
5089
c359dd9e
SM
50902001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5091
5092 * keymap.c (Fwhere_is_internal): Use the first valid binding
5093 if no ascii binding is found (when firstonly is t).
5094
ce070307
GM
50952001-01-31 Gerd Moellmann <gerd@gnu.org>
5096
b4f30ec5
GM
5097 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5098 instead of Finteractive_p.
5099
5100 * lisp.h (interactive_p): Add prototype.
5101
5102 * eval.c (interactive_p): New function.
5103 (Finteractive_p): Use it.
5104
ce070307
GM
5105 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5106
f57b6e64
DL
51072001-01-31 Dave Love <fx@gnu.org>
5108
d61c7afe
DL
5109 * .gdbinit (hook-run): Define to run xreload.
5110
f57b6e64
DL
5111 * textprop.c (Fset_text_properties): Fix newline in doc string.
5112
eef93f99
GM
51132001-01-30 Gerd Moellmann <gerd@gnu.org>
5114
52283633
SM
5115 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5116 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5117
5118 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5119 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5120 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5121
5122 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5123 height.
5124
d9c1f6f9
DL
51252001-01-30 Dave Love <fx@gnu.org>
5126
5127 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5128 AFTER_POTENTIAL_GC.
5129
e8f044a0
GM
51302001-01-29 Gerd Moellmann <gerd@gnu.org>
5131
52283633
SM
5132 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5133 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5134
8e1db7b3
EZ
51352001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5136
5137 * textprop.c (Fset_text_properties): Doc fix.
5138
4eefd9d2
GM
51392001-01-29 Gerd Moellmann <gerd@gnu.org>
5140
5141 * xdisp.c (forward_to_next_line_start): Remove xassert.
5142
fccb8288
EZ
51432001-01-29 Jason Rumney <jasonr@gnu.org>
5144
4eefd9d2 5145 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5146 returning without releasing it.
5147
76581eab
KH
51482001-01-29 Kenichi Handa <handa@etl.go.jp>
5149
5150 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5151 for '^', '$', and '\0'.
5152
83a96b4d
AC
51532001-01-28 Andrew Choi <akochoi@i-cable.com>
5154
5604ec34
AC
5155 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5156 regex for '^', '$', and '\0'.
5157
83a96b4d
AC
5158 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5159 only if current_sblock has been initialized.
5160
5161 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5162 terminal frame even if it is the only visible frame.
5163
c09a6440
KH
51642001-01-28 Kenichi Handa <handa@etl.go.jp>
5165
5166 * fontset.c (font_family_registry): Even if FONTNAME conform to
5167 XLFD, if it specifies other fields than family and registry,
52283633 5168 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5169 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5170 a signle byte character. Don't set FAMILY part to nil here.
5171 It is handled by the caller choose_face_font.
c09a6440
KH
5172 (Fnew_fontset): Call font_family_registry with FORCE 0.
5173 (Fset_fontset_font): Likewise.
5174
4dcd74e6
GM
51752001-01-27 Gerd Moellmann <gerd@gnu.org>
5176
5177 * xdisp.c (display_line): Don't treat a newline as fitting
5178 on the line.
5179
d2906bf8
GM
51802001-01-26 Gerd Moellmann <gerd@gnu.org>
5181
0130fe1a
GM
5182 * window.c (size_window): Set the window's orig_top to nil when
5183 changing heights, so that a future shrink_mini_window won't
5184 restore a bogus height.
5185
550f0e6a
GM
5186 * frame.c (do_switch_frame): If selected frame has a mini-window,
5187 resize that to exact size.
5188
b7b20fbd
GM
5189 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5190
a47b7816
GM
5191 * xdisp.c (display_line): Simplify check for glyphs fitting
5192 entirely in the line.
5193
d2906bf8
GM
5194 * xfns.c (xic_style): New variable.
5195 (create_frame_xic): Move static variable to global scope for
550f0e6a 5196 the case that `static' gets defined away.
d2906bf8 5197
73df2b1e
KH
51982001-01-26 Kenichi Handa <handa@etl.go.jp>
5199
5200 * coding.c (decode_coding): Set a flag for inhibiting
5201 inconsistent eol.
5202 (code_convert_region): Always set saved_coding_symbol.
5203 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5204 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5205
6613cfc4
GM
52062001-01-25 Gerd Moellmann <gerd@gnu.org>
5207
c5e6e06b
GM
5208 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5209 XClearArea.
5210
5211 * xterm.c (x_after_update_window_line): Don't clear if frame's
5212 internal border width is zero.
5213 (x_clear_area): New function.
5214 (x_after_update_window_line, x_clear_end_of_line)
5215 (x_scroll_bar_create, x_scroll_bar_set_handle)
5216 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5217 instead of XClearArea.
5218
5219 * xterm.h (x_clear_area): Add prototype.
5220
6613cfc4
GM
5221 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5222 which doesn't seem necessary anymore with Lesstif 0.92.
5223
650cc6cc
DL
52242001-01-25 Dave Love <fx@gnu.org>
5225
34ac3367
DL
5226 * puresize.h (BASE_PURESIZE): Up to 720000.
5227
650cc6cc
DL
5228 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5229
5e37dc22
GM
52302001-01-25 Gerd Moellmann <gerd@gnu.org>
5231
e1e441f9
GM
5232 * xdisp.c (echo_area_display): Don't call redisplay_internal
5233 when Emacs is shutting down. We can't run hooks etc. that
5234 would be necessary to do a redisplay.
5235
5e37dc22
GM
5236 * lread.c (read_integer): Use type EMACS_INT instead of int.
5237
0fb94c7f
EZ
52382001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5239
5240 * ccl.c (ccl_driver): Fix last change.
5241
e3778624
KH
52422001-01-25 Kenichi Handa <handa@etl.go.jp>
5243
5244 * ccl.h (sturct ccl_program): New member suppress_error.
5245
bb264518 5246 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5247 insert error message to the output.
5248 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5249
5250 * coding.h (struct coding_system): New member suppress_error.
5251
5252 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5253 (Fset_terminal_coding_system_internal): Set the member
5254 suppress_error to 1.
5255 (Fset_safe_terminal_coding_system_internal): Likewise.
5256
245ed2b1
SM
52572001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5258
5259 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5260 as if it was a `charset'.
5261
f9aaedb6
GM
52622001-01-24 Gerd Moellmann <gerd@gnu.org>
5263
5264 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5265 value in where_is_cache; the next lookup in the cache returns
5266 something bogus if we do.
5267
c3902c3e
EZ
52682001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5269
5270 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5271 if HAVE_WINDOW_SYSTEM isn't defined.
5272
3497f73e
GM
52732001-01-24 Gerd Moellmann <gerd@gnu.org>
5274
e7e41584
GM
5275 * fns.c (sweep_weak_table): Fix code taking items out of
5276 the hash collision chain. Some cleanup.
5277
3497f73e
GM
5278 * xterm.c (x_new_font): Don't change a tooltip's size.
5279
5280 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5281 background color by specifying a color for the default font
5282 in .Xdefaults.
5283
3d48e687
KH
52842001-01-24 Kenichi Handa <handa@etl.go.jp>
5285
96531b20
KH
5286 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5287 a workaround for SunOS 4's cc.
5288 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5289 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5290 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5291 statement.
3d48e687 5292
a30629d2
GM
52932001-01-23 Gerd Moellmann <gerd@gnu.org>
5294
5295 * xterm.c (x_set_window_size_1): New function extracted from
5296 x_set_window_size.
5297 (x_set_window_size): Use it.
5298 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5299 doesn't have a widget, like tooltips.
5300
5a43decf
EZ
53012001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5302
52283633 5303 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5304
b0e98867
KH
53052001-01-23 Kenichi Handa <handa@etl.go.jp>
5306
5307 * fns.c (Fset_char_table_default): Fix to make sub char-table
5308 correctly.
5309
50606b4c
GM
53102001-01-22 Gerd Moellmann <gerd@gnu.org>
5311
cb2ddc53 5312 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5313 a desired tool bar string, even if there are no tool bar items.
5314
57c28064
GM
5315 * xdisp.c (Ftool_bar_lines_needed): New function.
5316 (syms_of_xdisp): Defsubr it.
5317
50606b4c
GM
5318 * editfns.c (Fformat): Don't extend text properties from arguments
5319 to padding chars in the result.
5320
2f169c38
EZ
53212001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5322
5323 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5324
0f32f023
AI
53252001-01-20 Andrew Innes <andrewi@gnu.org>
5326
52283633 5327 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5328 (w32_initialize): Don't set term hooks that aren't actually needed
5329 in windowed mode.
5330
5331 * xfaces.c (realize_default_face):
5332 (realize_face):
5333 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5334
5335 * xdisp.c (handle_single_display_prop): Remove references to
5336 FRAME_W32_CONSOLE_P.
5337
52283633 5338 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5339
5340 * frame.h (output_method): Remove output_w32_console method.
5341 (FRAME_W32_CONSOLE_P): Remove macro.
5342
5343 * frame.c (Qw32_console): Remove variable.
5344 (Fframep): Remove references to it.
5345 (syms_of_frame): Ditto.
5346 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5347
5348 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5349 redefinition.
5350
7173eada
KH
53512001-01-20 Kenichi Handa <handa@etl.go.jp>
5352
5353 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5354
755b45ce
AI
53552001-01-19 Andrew Innes <andrewi@gnu.org>
5356
5357 * w32.c (init_environment): Add a version-independent site-lisp
5358 directory to EMACSLOADPATH, after the version dependent one.
5359
0a949811
GM
53602001-01-19 Gerd Moellmann <gerd@gnu.org>
5361
8501998a
GM
5362 * editfns.c (Fbuffer_substring): Doc fix.
5363
52283633
SM
5364 * xdisp.c (message_dolog, message2, message2_nolog):
5365 Rename parameter LEN to NBYTES.
0a949811 5366
e6ebcbbe
KH
53672001-01-19 Kenichi Handa <handa@etl.go.jp>
5368
200ecca2
KH
5369 * charset.c (strwidth): Use c_string_width.
5370 (c_string_width): New function.
5371 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5372 Caller changed.
5373
5374 * charset.h (c_string_width, lisp_string_width): Extern them.
5375
52283633 5376 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5377
e6ebcbbe
KH
5378 * indent.c (check_composition): Check validity of composition.
5379
200ecca2
KH
5380 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5381 characters by calling c_string_width.
5382 (x_consider_frame_title): Get byte length of frame tile string
5383 correctly.
5384 (display_mode_element): Pay attention to width of non-ASCII
5385 characters by calling strwidth.
5386
8692ca92
GM
53872001-01-18 Gerd Moellmann <gerd@gnu.org>
5388
8962e303
GM
5389 * xfns.c (Qcancel_timer): New variable.
5390 (syms_of_xfns): Initialize and staticpro it.
5391 (Fx_hide_tip, Fx_show_tip): Use it.
5392 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5393 the timer.
5394 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5395
91523be9
GM
5396 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5397
5398 * window.h (WINDOW_LIVE_P): New macro.
5399
b0b7ed0e
GM
5400 * window.c (window_size_fixed): New variable.
5401 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5402 the doc string.
5403
06bccf8e
GM
5404 * eval.c (specbind): If binding a per-buffer variable which
5405 doesn't have a buffer-local value in the current buffer, change
5406 the global value by changing the value of the symbol bound in all
5407 buffers not having their own value, to make it consistent with
5408 what happens with other buffer-local variables.
5409
8692ca92
GM
5410 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5411
5412 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5413 when searching for a newline.
5414
bb3a3b50
KH
54152001-01-18 Kenichi Handa <handa@etl.go.jp>
5416
5417 * xdisp.c (display_string): Fix previous change.
5418
c2cc16fa
JR
54192001-01-18 Jason Rumney <jasonr@gnu.org>
5420
5421 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5422 GLYPH_DEBUG is defined.
5423 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5424 true for images with `:ascent 100'.
5425 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5426 meantime, use face MOUSE_FACE_ID.
5427 If first glyph isn't a character glyph, use the ASCII NUL
5428 character to determine the face.
5429 (expose_area): Do not treat left margin specially.
5430 (note_mode_line_highlight): If no local_map, check global keymap.
5431 (note_mouse_highlight): Initialize overlay.
52283633 5432 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5433 (show_scroll_bars): Remove unused function.
5434 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5435 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5436 Clip to row.
52283633 5437 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5438 (x_free_frame_resources): Unload relief colors.
5439
9c11f79e
GM
54402001-01-17 Gerd Moellmann <gerd@gnu.org>
5441
3aec8722 5442 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5443 get_next_display_element when the newline is already found.
5444 This may change the iterator's position, when its current position is
3aec8722
GM
5445 equal to the iterator's stop_charpos.
5446
f3ffc2c3
GM
5447 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5448 zero, use this method only at the end of a line.
5449
52283633 5450 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5451 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5452 if SCALABLE_FONTS_P is set.
52283633 5453
d26d6fd9
GM
5454 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5455 so that scalable fonts are included.
5456
9c11f79e
GM
5457 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5458 In the cache, use a key containing the information if scalable
5459 fonts are included.
5460 (x_load_font): Adapt to change of keys in the font cache.
5461
54622001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5463
d26d6fd9
GM
5464 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5465 XListFonts to take advantage of font caching.
5466
9c11f79e
GM
5467 * xterm.c (x_list_fonts): Ensure caching font information when
5468 called for a null frame, which is the case frequently when Emacs
5469 starts.
5470
51446987
GM
54712001-01-17 Gerd Moellmann <gerd@gnu.org>
5472
f864120f
GM
5473 * xfns.c (QCconversion): Replaces QCalgorithm.
5474
5475 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5476
5477 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5478 of :algorithm.
52283633 5479
e37d1417
GM
5480 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5481 not everything could be displayed.
5482
51446987
GM
5483 * line.h, x-list-font.c: Files removed because unused.
5484
9ad4f3e5
AI
54852001-01-17 Andrew Innes <andrewi@gnu.org>
5486
5487 * dired.c (directory_files_internal): Convert result from readdir
5488 to a unibyte string initially, to avoid possible misinterpretation
5489 of some bytes as the internal form of Emacs characters.
5490
2eda09b5
KH
54912001-01-17 Kenichi Handa <handa@etl.go.jp>
5492
5493 * fns.c (concat): Be sure to avoid putting the same `composition'
5494 property on the adjacent regions.
5495
826f3788
GM
54962001-01-16 Gerd Moellmann <gerd@gnu.org>
5497
52283633 5498 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5499 (Fscroll_right, Fscroll_left): Set it here instead, if called
5500 interactively.
5501
d57b83b3
GM
5502 * buffer.c (Fset_buffer_modified_p): Set buffer's
5503 prevent_redisplay_optimizations_p flag.
5504
826f3788 5505 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5506 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5507 with additional arg.
5508
5509 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5510 Change prototype.
826f3788 5511
826f3788
GM
5512 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5513 FROM_WHERE, for debugging.
5514
261d788b
KH
55152001-01-16 Kenichi Handa <handa@etl.go.jp>
5516
5517 * ccl.c (Fregister_ccl_program): Handle the return value of
5518 resolve_symbol_ccl_program correctly.
52283633 5519 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5520
bccee4f2
GM
55212001-01-15 Gerd Moellmann <gerd@gnu.org>
5522
e4ded23c
GM
5523 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5524 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5525
5526 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5527 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5528 the display; we didn't open it.
5529
bccee4f2
GM
5530 * dispnew.c (save_or_restore_current_matrices): Function removed.
5531 (save_current_matrix, restore_current_matrix): New functions.
5532 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5533 restore the frame's current matrix. Due to the glyph pointer
5534 setup done in adjust_glyph_matrix, there is no easy way to make
5535 saving the current matrix in the desired matrix generally correct,
5536 so don't try it.
5537
ebeccffa
KH
55382001-01-15 Kenichi Handa <handa@etl.go.jp>
5539
5540 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5541 truncation glyphs.
5542 (display_line): Optimize for wide characters.
e4ded23c 5543 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5544 partially. On ttys, produce more than one truncation glyph for
5545 multi-column characters that don't fit on the line.
5546
64388126
KH
55472001-01-13 Kenichi Handa <handa@etl.go.jp>
5548
52283633
SM
5549 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5550 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5551
8edb0a6f
JR
55522001-01-13 Jason Rumney <jasonr@gnu.org>
5553
5554 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5555 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5556 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5557 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5558
52283633
SM
5559 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5560 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5561 (x_draw_image_glyph_string): Adapt to change of image margins.
5562
5563 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5564 variables.
5565
5566 * w32bdf.c (search_file_line, get_cached_font_char)
5567 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5568
5569 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5570
5571 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5572 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5573 (Fw32_send_sys_command): Remove unused variables.
5574 (w32_msg_pump): Add parentheses.
5575
5576 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5577 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5578 Add parentheses.
5579
4956d1ef
GM
55802001-01-12 Gerd Moellmann <gerd@gnu.org>
5581
b30623be
GM
5582 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5583 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5584 being a pair of margins.
5585 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5586 to DEFVAR_LISP. Extend doc.
5587
5588 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5589 margins.
5590 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5591 pair of integers `(X . Y)', use X for the horizontal and Y for the
5592 vertical margin.
5593 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5594 (parse_image_spec): Check it.
52283633
SM
5595 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5596 (tiff_format, gif_format, gs_format):
5597 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5598
52283633
SM
5599 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5600 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5601 (x_draw_image_glyph_string): Adapt to the change of image margins.
5602
5603 * dispextern.h (struct image): Replace member `margin' with
5604 `hmargin' and `vmargin'.
5605
4554cc79
GM
5606 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5607 and GLYPHS.
5608
5609 * dispnew.c (update_text_area): Put code which decrements the
5610 stop position when the row's face extends to the end of the
3bffc665 5611 line in #if 0.
4554cc79 5612
3cccce8d
GM
5613 * xfns.c (x_set_mouse_color): Fix color allocation.
5614
4956d1ef
GM
5615 * keyboard.c: Call get_local_map with new argument list.
5616
5617 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5618
5619 * intervals.h (enum map_property): Removed.
5620 (get_local_map): Change prototype.
5621
5622 * keymap.c: Call get_local_map with new argument list.
5623 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5624
2c2ff7f2
GM
56252001-01-11 Gerd Moellmann <gerd@gnu.org>
5626
a23887b9
GM
5627 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5628 of the size needed for the tool bar string. For the last image,
5629 use a `display' property that reaches to the end of the string.
5630
a7ee2d2e
GM
5631 * xselect.c (selection_request_dpyinfo): New variable.
5632 (x_handle_selection_request): Set it.
5633 (x_selection_request_lisp_error): Don't call
5634 x_decline_selection_request if selection request's display has
5635 been closed.
5636
52283633
SM
5637 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5638 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5639
457b792c
GM
56402001-01-10 Dave Love <fx@gnu.org>
5641
5642 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5643 ${SOME_MACHINE_LISP}, not ${lisp}.
5644
c1efd260
GM
56452001-01-10 Gerd Moellmann <gerd@gnu.org>
5646
52283633
SM
5647 * xdisp.c (display_line): On ttys, produce more than one truncation
5648 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5649
ac95a621
GM
5650 * xselect.c (x_reply_selection_request): Add a comment.
5651
c1efd260
GM
5652 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5653 XkbGetNames instead of XkbGetKeyboard.
5654
1bfb1345
DL
56552001-01-10 Dave Love <fx@gnu.org>
5656
5657 * sysdep.c (random): Revert the declaration.
5658
38119822
GM
56592001-01-09 Gerd Moellmann <gerd@gnu.org>
5660
52283633
SM
5661 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5662 Call function string_bytes.
35f464a7
GM
5663 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5664
5665 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5666 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5667 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5668 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5669 the current sblock.
5670 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5671 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5672 after sweeping strings, and at the end.
5673 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5674
38119822
GM
5675 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5676 ensure that pop_message is called.
5677
5678 * keyboard.c (Fexecute_extended_command): Use a
5679 record_unwind_protect to ensure that pop_message is called.
5680
5681 * lisp.h (push_message_unwind): Add prototype.
5682
5683 * xdisp.c (push_message_unwind): New function.
5684
5685 * fileio.c (do_auto_save_unwind): Do the pop_message here
5686 instead of in Fdo_auto_save.
5687 (Fdo_auto_save): Don't call pop_message.
5688
f47a9ec4
KR
56892001-01-08 Ken Raeburn <raeburn@gnu.org>
5690
5691 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5692 in inner block.
5693
a758f97d
GM
56942001-01-08 Gerd Moellmann <gerd@gnu.org>
5695
6d0afc03
GM
5696 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5697 when increasing window's vscroll.
5698
a758f97d
GM
5699 * macros.c (Qkbd_macro_termination_hook): New variable.
5700 (syms_of_macros): Initialize and staticpro it.
5701 (pop_kbd_macro): Run kbd-macro-termination-hook.
5702
5703 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5704
1bfb1345 57052001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5706
5707 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5708 arglist, for documentation's sake.
5709
0dac6924
AI
57102001-01-06 Andrew Innes <andrewi@gnu.org>
5711
5712 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5713 of *.pdb.
5714
8182406a
AI
57152001-01-05 Andrew Innes <andrewi@gnu.org>
5716
5717 * term.c (update_end): Don't check updating_frame; for some reason
5718 this can be 0 sometimes, such as after dismissing a popup menu,
5719 and isn't necessary given the explicit frame argument.
5720
3828218c
GM
57212001-01-05 Gerd Moellmann <gerd@gnu.org>
5722
5723 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5724 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5725
2f5ded21
GM
57262001-01-04 Gerd Moellmann <gerd@gnu.org>
5727
52283633 5728 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5729
5730 * xfns.c (x_create_tip_frame): Preserve the value of
5731 face_change_count around the creation of the tip frame.
52283633 5732
2f5ded21
GM
5733 * xfns.c (last_show_tip_args): New variable.
5734 (compute_tip_xy): New function.
5735 (Fx_show_tip): Reuse an existing tip frame, if possible.
5736 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5737
dfad65fa
DL
57382001-01-04 Dave Love <fx@gnu.org>
5739
64d4ec0f
DL
5740 * editfns.c (Fformat): Doc fix.
5741
dfad65fa
DL
5742 * systime.h (set_file_times): Prototype.
5743
5744 * widget.h (EmacsFrameSetCharSize_): Prototype.
5745
5746 * sysdep.c (random, srandom): Declare explicitly.
5747
5748 * dispextern.h (move_it_vertically_backward): Declare.
5749
85fe3b5e
GM
57502001-01-04 Gerd Moellmann <gerd@gnu.org>
5751
0f2ac578
GM
5752 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5753 like in Fx_create_frame.
5754
482cca61
GM
5755 * xfaces.c (set_font_frame_param): Don't do anything for
5756 non-graphical frames.
5757
85fe3b5e
GM
5758 * window.c (Fdelete_other_windows): Set window's window_end_valid
5759 to nil when changing the window's start. Don't change the
5760 window's start when its top position hasn't changed. If we do,
5761 this will set the window's optional_new_start, which act's like a
5762 force_start during redisplay with C-x 1 M-> under particular
5763 circumstances (see report from Per Starback to emacs-pretest-bug
5764 from 2000-12-13.).
5765
3e99d3b4
GM
57662001-01-03 Gerd Moellmann <gerd@gnu.org>
5767
a77dc1ec
GM
5768 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5769 short cut at the start of the function. Add an assertion.
5770 (reseat_at_next_visible_line_start): Add an assertion.
5771
2f3cad6c
GM
5772 * window.c (Frecenter): When changing the window start, set the
5773 window's window_end_valid to nil.
5774 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5775
5776 * dispextern.h (move_it_past_eol): Add prototype.
5777
5778 * xdisp.c (move_it_past_eol): New function.
5779
3e99d3b4
GM
5780 * window.c (Fwindow_end): Doc fix.
5781
57822001-01-03 Dave Love <fx@gnu.org>
5783
52283633 5784 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5785
bafb434c
GM
57862001-01-03 Gerd Moellmann <gerd@gnu.org>
5787
5788 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5789 the enabled_p flag of the glyph row at window_end_vpos to 0.
5790 (handle_single_display_prop): Fix last change.
5791
5297fb00
RS
57922001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5793
5794 * window.c (Frecenter): Doc fix.
5795
13d6a61c
AI
57962001-01-02 Andrew Innes <andrewi@gnu.org>
5797
5798 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5799
5800 * frame.h (output_method): Add output_w32_console method.
5801 (FRAME_W32_CONSOLE_P): New macro.
5802
5803 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5804 use output_w32_console method.
5805 (Qw32_console): New Lisp_Object.
5806 (Fframep): Return it.
5807 (syms_of_frame): Init it.
52283633 5808 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5809
5810 * xfaces.c (realize_default_face): Set face foreground and
5811 background to unspecified for w32_console frames.
5812 (realize_face): Realize face cache for w32_console frames.
5813 (realize_tty_face): Accept w32_console frames.
5814
52283633 5815 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5816 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5817 necessary, even if running interactively.
5818
5819 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5820 w32_console frames.
5821
52283633
SM
5822 * w32term.c (x_update_begin):
5823 (x_update_end):
5824 (x_clear_frame):
5825 (x_ins_del_lines):
5826 (x_change_line_highlight):
5827 (x_delete_glyphs):
5828 (w32_ring_bell):
5829 (x_update_begin):
5830 (x_update_end):
5831 (w32_reassert_line_highlight):
5832 (w32_frame_rehighlight):
13d6a61c
AI
5833 (w32_frame_raise_lower): Do nothing if not w32 frame.
5834
5835 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5836
5837 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5838 system doesn't tell us directly.
5839 (Fx_display_visual_class): Implement properly.
5840
d6bb0c0d
GM
58412001-01-02 Gerd Moellmann <gerd@gnu.org>
5842
5843 * window.c (Frecenter): Handle centering in graphical frames
5844 specially. Centering on the basis of line counts doesn't work
5845 reliably with variable-height lines.
52283633 5846
315f5865
EZ
58472001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5848
5849 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5850 and al[].
5851
52283633 5852 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5853 (update_compositions): Remove unused variable `hook'.
5854
5855 * intervals.c (get_local_map): Remove unused variable `tem'.
5856
5857 * doprnt.c (doprnt1): Remove unused variable `size'.
5858
5859 * fns.c (Flength): Remove unused variable `tail'.
5860 (Fdelete): Remove unused variable `size'.
5861
5862 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5863 and `gcpro2'.
5864
52283633 5865 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5866
5867 * data.c (find_symbol_value): Remove extra 3rd argument in the
5868 call to swap_in_symval_forwarding.
5869
52283633 5870 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5871
5872 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5873 (trivial_regexp_p): Remove unused variable `c'.
5874 (boyer_moore): Remove unused variable `k'.
5875
5876 * indent.c (current_column): Remove unused variable `stopchar'.
5877 (Fcompute_motion): Remove unused variable `contin'.
5878
5879 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5880
5881 * dired.c (directory_files_internal): Fix a typo in a comment.
5882 Remove an unused variable `handler'.
52283633 5883 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5884 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5885 on BSD4_2.
5886
52283633 5887 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5888
5889 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5890 and `buf'.
5891 (Fmarker_insertion_type): Remove unused variable `buf'.
5892
5893 * insdel.c (make_gap): Remove unused variable `result'.
5894
52283633 5895 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5896 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5897 (menu_bar_items): Remove unused function-scope variable `tem'.
5898
5899 * fontset.c (fontset_ref): Remove unused variable `i'.
5900 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5901 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5902 (make_fontset_for_ascii_face): Remove unused variable `name'.
5903 (fs_load_font): Remove unused variable `font_idx'.
52283633 5904 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5905 (list_fontsets): Remove unused variable `tail'.
5906 (Fnew_fontset): Remove unused variables `family' and `registry'.
5907 (accumulate_font_info): Remove unused variable `tmp'.
5908 (Ffontset_font): Remove unused variable `id'.
5909 (syms_of_fontset): Remove unused variable `i'.
5910
5911 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5912 to x_term_init.
5913 (lookup_image): Remove unused variable `file'.
5914 (xbm_load): Remove unused variables `bitmap_data', `height', and
5915 `width'. Remove function-local variable `i', leave the
5916 block-local one.
5917 (gif_load): Remove unused variable `inc'.
5918
52283633 5919 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5920 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5921 leave only the one in the inner block.
5922
5923 * xfaces.c (face_fontset, realize_default_face): Remove unused
5924 variable `fontset'.
5925 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5926
5927 * term.c (encode_terminal_code): Remove unused variable `c'.
5928
5929 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5930 char *' instead of `char *'.
5931
5932 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5933 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5934 (Fchar_category_set): Remove unused variables `val', `charset',
5935 `c1' and `c2'.
5936
52283633
SM
5937 * coding.c (detect_coding_iso2022, setup_coding_system):
5938 Remove unused variable `i'.
315f5865
EZ
5939 (detect_coding_mask): Remove unused variable `idx'.
5940 (detect_coding): Remove unused variable `i'.
5941 (ccl_coding_driver): Remove unused variable `result'.
5942 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5943 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5944 (encode_coding_string): Remove unused variables `gcpro1' and
5945 `saved_coding_symbol'.
5946 (Ffind_coding_systems_region_internal): Remove function-local
5947 variable args[], leave only the block-local one.
5948 (code_convert_region1): Remove unused variable `len'.
5949
5950 * charset.c (char_printable_p): Remove unused variable `chars'.
5951 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5952 (str_to_multibyte): Remove unused variable `c'.
5953
5954 * window.c (size_window): Remove block-local variable `min_size'.
5955
5956 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5957 `header_line_height'.
5958 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5959 enum display_element_type.
5960
1a8a9daf
GM
59612001-01-02 Gerd Moellmann <gerd@gnu.org>
5962
6dde6abc 5963 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5964 statements that call X. Save away the error message in a local copy.
5965
1883b2c6
GM
5966 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5967 the start.
5968
a13be207
GM
5969 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5970 in or at the start of invisible text.
5971
1a8a9daf
GM
5972 * dispnew.c (update_window): Don't check_current_matrix_flags.
5973
3608c0f9
JR
59742001-01-01 Jason Rumney <jasonr@gnu.org>
5975
5976 * w32fns.c (x_figure_window_size): Do not allow new_height and
5977 new_width of frame to override specified values.
5978
abb1acc4
KH
59792000-12-30 Kenichi Handa <handa@etl.go.jp>
5980
52283633 5981 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5982
762a68ec
GM
59832000-12-29 Gerd Moellmann <gerd@gnu.org>
5984
52283633 5985 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5986 (update_window) [GLYPH_DEBUG]: Call it.
5987 (scrolling_window): Prevent including current rows which are below
5988 what's displayed in the window.
5989
5990 * xdisp.c (try_window_reusing_current_matrix)
5991 <new start <= old start>: Disable rows in the current matrix
5992 which are below the window after scrolling.
52283633 5993
762a68ec
GM
5994 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5995 is zero. It's not worth the complexity.
5996 (invisible_text_between_p): Put in #if 0 because unused.
5997
2d5912c1
GM
59982000-12-28 Gerd Moellmann <gerd@gnu.org>
5999
46f6a258
GM
6000 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6001 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6002
89f93679
GM
6003 * keyboard.c (echo_char): If C is an integer, always call
6004 push_key_description. Former code could signal an invalid
6005 character error.
6006
6007 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6008 If set, print multibyte text.
6009 (Fsingle_key_description): Call push_key_description with
6010 FORCE_MULTIBYTE set.
6011 (describe_buffer_bindings): Likewise.
6012
6013 * lisp.h (push_key_description): Add prototype.
6014
c06017fb
GM
6015 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6016 around the call to redisplay_internal.
6017
f1d2ce7f
GM
6018 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6019
2d5912c1
GM
6020 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6021
9371f831
KH
60222000-12-28 Kenichi Handa <handa@etl.go.jp>
6023
6024 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6025 (ccl_driver): New local variable `extra_bytes'.
6026
6027 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6028
52283633
SM
6029 * coding.c (setup_coding_system):
6030 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6031 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6032
0c80628a
KH
60332000-12-28 Kenichi Handa <handa@etl.go.jp>
6034
6035 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6036 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6037 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6038 (decode_composition_emacs_mule): New function.
6039 (decode_coding_emacs_mule): Decode composition sequence by calling
6040 decode_composition_emacs_mule.
6041 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6042 (encode_coding_emacs_mule): Changed from macro to function.
6043 If a text contains compositions, encode them correctly.
0c80628a
KH
6044 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6045 that decoding and encoding are required.
6046
3e32cc27
GM
60472000-12-27 Gerd Moellmann <gerd@gnu.org>
6048
5e25feee
GM
6049 * xfaces.c (PT_PER_INCH): New macro.
6050 (xlfd_point_size): Compute real point size from font's pixel size.
6051 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6052 instead of 72.
6053
892d8fcd
GM
6054 * .gdbinit: Comment out the line pointing to the Lesstif source
6055 directory.
6056
12c8b416
GM
6057 * window.c (Frecenter): Use displayed_window_lines instead
6058 of window_internal_height.
6059
6061fbf0
GM
6060 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6061 instead of x-toolkit-scroll-bars-p.
6062 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6063
6064 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6065 instead of x-toolkit-scroll-bars-p.
6066 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6067
3e32cc27
GM
6068 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6069 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6070 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6071 New variables.
6072 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6073 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6074 (build_frame_matrix_from_leaf_window): Remove unused code.
6075 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6076 redisplay history.
6077 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6078 (update_window) [GLYPH_DEBUG]: Likewise.
6079 (syms_of_display): Defsubr dump-redisplay-history.
6080
31798cfe
GM
60812000-12-23 Gerd Moellmann <gerd@gnu.org>
6082
f717c2ba
GM
6083 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6084 the end of the prompt. Set echo_after_prompt to the offset
6085 of echoptr in echobuf.
6086
aeb2b8fc
GM
6087 * xdisp.c (init_from_display_pos): Pop until the iterator's
6088 stack is empty; there may be frames for stretch or images
6089 on the stack.
6090
31798cfe
GM
6091 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6092 (save_or_restore_current_matrix): New function for the same
6093 purpose, but more efficient.
6094 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6095
f8156156
EZ
60962000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6097
6098 * xdisp.c (syms_of_xdisp): Fix last change.
6099
bdd6d4e8
GM
61002000-12-23 Gerd Moellmann <gerd@gnu.org>
6101
6102 * xdisp.c (syms_of_xdisp): Doc fix.
6103
6104 * xdisp.c (redisplay_window): Remove label restore_buffers;
6105 use finish_scroll_bars instead to make sure that scroll bars
6106 are redeemed. If we don't do this, flickering can result from
6107 scroll bars being destroyed and recreated.
6108
9436cdf9
JR
61092000-12-22 Jason Rumney <jasonr@gnu.org>
6110
6111 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6112 in the wrong colors when the foreground is not black.
6113 (expose_window): Don't redraw the window that's currently being
6114 updated.
6115
951f9df5
GM
61162000-12-22 Gerd Moellmann <gerd@gnu.org>
6117
856ff7a7
GM
6118 * window.c (size_window): When setting the window's too_small_ok
6119 flag, compare old size with minimum size depending on WIDTH_P,
6120 don't compare with window_min_width.
52283633 6121
951f9df5
GM
6122 * window.c (delete_window): Simplify somewhat.
6123 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6124 freeing window matrices. The flag windows_or_buffers_changed is
6125 set, so the next redisplay will consider all windows; this should
6126 suffice.
6127
886bc933
KH
61282000-12-22 Kenichi Handa <handa@etl.go.jp>
6129
6130 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6131
6132 * ccl.h (struct ccl_program): New member cr_consumed.
6133
6134 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6135 (CCL_READ_CHAR): Handle EOL conversion here.
6136 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6137
177f4e88
GM
61382000-12-21 Gerd Moellmann <gerd@gnu.org>
6139
52283633 6140 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6141
6142 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6143 otherwise tabs of different size compare equal.
6144
6145 * callint.c (Fcall_interactively): Prevent a compiler warning.
6146
6147 * print.c (print_unwind): Return nil.
6148 (PRINTDECLARE): Initialize all local variables.
6149 (print_preprocess): Add a default case.
6150
8e15274f
GM
6151 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6152
6153 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6154
52283633 6155 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6156 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6157
6158 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6159
6160 * dispnew.c (ensure_frame_matrix): Removed.
6161 (save_frame_matrix, restore_frame_matrix): New functions.
6162 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6163
6164 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6165 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6166
99012074
AI
61672000-12-21 Andrew Innes <andrewi@gnu.org>
6168
6169 * w32term.c (x_update_begin): Regenerate the palette here, rather
6170 than for each window.
6171
6172 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6173 palette is NULL, since this corrupts memory! Also get
6174 display_info reference from frame.
6175
29ef7d2d
JR
61762000-12-21 Jason Rumney <jasonr@gnu.org>
6177
6178 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6179
6180 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6181 to avoid returning without releasing it.
3e27fa1f 6182
3f9d67a6
KH
61832000-12-21 Kenichi Handa <handa@etl.go.jp>
6184
587fc3f9
KH
6185 * keymap.c (push_key_description): Don't convert eight-bit-control
6186 and eight-bit-graphic to multibyte character.
6187
3f9d67a6
KH
6188 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6189 generic character and CODE1 is nil, return the smallest character
6190 in CHARSET.
6191
774ba8c9
DL
61922000-12-20 Dave Love <fx@gnu.org>
6193
6194 * s/osf5-0.h (NSIG): Don't redefine.
6195
88416888
SM
61962000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6197
6198 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6199 excluding menu-bar and tool-bar.
6200 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6201 (menu_item_p): Remove.
6202 (where_is_internal_1): Don't ignore menu-items.
6203
a6426c6f
GM
62042000-12-20 Gerd Moellmann <gerd@gnu.org>
6205
03ff8aab
GM
6206 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6207 into account.
6208
6209 * window.c (make_window): Initialize window's min_hscroll.
6210 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6211 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6212 to zero.
6213 (struct saved_window): New member min_hscroll.
6214 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6215 (Fset_window_configuration): Set window's min_hscroll.
6216 (save_window_save): Save window's min_hscroll.
6217 (compare_window_configurations): Compare min_hscroll values.
6218
6219 * window.h (struct window): New member min_hscroll.
6220
6221 * keyboard.c (echo_prompt): Prevent a compiler warning.
6222
8de4aaf8
GM
6223 * xdisp.c (try_cursor_movement): Fix last change. The real
6224 condition is that PT is at the end of the row, and should
6225 be displayed at the start of the next row.
52283633 6226
3f7e3031
GM
6227 * xdisp.c (try_cursor_movement): If we end on a partially
6228 visible line, end we already decided to scroll, return -1.
6229
a6426c6f
GM
6230 * dispextern.h (ensure_frame_matrix): Add prototype.
6231
6232 * window.c (delete_window, Fsplit_window)
6233 (Fset_window_configuration): Call ensure_frame_matrix.
6234
52283633
SM
6235 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6236 New functions.
a6426c6f
GM
6237 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6238 completed, call fake_current_matrices instead of marking frame
6239 garbaged.
6240
57fa2774
JR
62412000-12-20 Jason Rumney <jasonr@gnu.org>
6242
6243 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6244
d925df90
EZ
62452000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6246
6247 * fns.c (Frequire): Doc fix.
6248
7b93a85b
GM
62492000-12-19 Gerd Moellmann <gerd@gnu.org>
6250
52283633 6251 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6252
c74e645b
GM
6253 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6254 currently displaying a message.
6255
7b93a85b
GM
6256 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6257 xterm.h.
6258 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6259
90d97e64
AI
62602000-12-18 Andrew Innes <andrewi@gnu.org>
6261
6262 * w32.c (w32_strerror): New function.
6263
6264 * w32.h (w32_strerror): New extern.
6265
6266 * w32fns.c (Fw32_shell_execute): Use it.
6267
91c9e6ce
GM
62682000-12-18 Gerd Moellmann <gerd@gnu.org>
6269
6270 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6271
6f4745e2
EZ
62722000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6273
6274 * msdos.c (IT_set_face): Obey inverse_video.
6275
c9e088ce
KH
62762000-12-18 Kenichi Handa <handa@etl.go.jp>
6277
6278 * dired.c (directory_files_internal): Always return decoded filenames.
6279
c3695f5f
GM
62802000-12-18 Gerd Moellmann <gerd@gnu.org>
6281
52d8e4ff
GM
6282 * xterm.c (x_connection_closed): Prevent being called recursively
6283 because of an error condition in XtCloseDisplay.
52283633 6284
62be9979
GM
6285 * xdisp.c (init_iterator): If noninteractive, and the frame's
6286 face cache is null, make one.
6287
52283633 6288 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6289
c3695f5f
GM
6290 * process.c (wait_reading_process_input): Check for pending
6291 input when running timers.
6292
78555fbe
EZ
62932000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6294
52283633 6295 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6296
b2b36264
KH
62972000-12-18 Kenichi Handa <handa@etl.go.jp>
6298
6299 * process.c (read_process_output): Don't run a filter if the code
6300 decoder produces nothing but carryover.
6301
9c543fbf
AI
63022000-12-17 Andrew Innes <andrewi@gnu.org>
6303
6304 * w32.c (sys_rename): Only check errno against EEXIST, and not
6305 EACCES, when determining whether rename failed because the target
6306 exists. This was resulting in indefinite looping on Windows 9x if
6307 the source file was locked by another process.
6308
6309 * w32fns.c (Ffile_system_info): New function.
6310 (syms_of_w32fns): Defsubr it.
6311
10c2b5a8
GM
63122000-12-17 Gerd Moellmann <gerd@gnu.org>
6313
b0228ace
GM
6314 * window.c (coordinates_in_window): Fix computation for
6315 position on vertical line between mode lines.
6316
10c2b5a8
GM
6317 * xfns.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
c844a81a
GM
6322 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6323 Don't alter tip_frame or tip_window.
6324 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6325 was deleted.
6326
6c825f8e
EZ
63272000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6328
6329 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6330 be consistent with the doc string. Reported by NAKAJIMA Mikio
6331 <minakaji@osaka.email.ne.jp>.
6332
af4bb4c8
KH
63332000-12-16 Kenichi Handa <handa@etl.go.jp>
6334
6335 * xfaces.c (Vface_ignored_fonts): New variable.
6336 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6337 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6338
8062e53a
GM
63392000-12-15 Gerd Moellmann <gerd@gnu.org>
6340
e87b8809
GM
6341 * dispnew.c (update_window): Detect pending input every nth line
6342 updated, i.e. do it depending on real work done, and not on the
6343 vpos of the line.
6344
6345 * xterm.c (expose_window): Don't redraw the window that's
6346 currently being updated.
6347
a6768cc5
GM
6348 * window.c (Fset_window_point): Remove test for
6349 cursor_in_non_selected_windows.
6350
4ea7fdca
GM
6351 * lread.c (read1): Recognize end of file after `\\'.
6352
8062e53a
GM
6353 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6354 not unwind_create_frame.
6355
bb7959c1
GM
63562000-12-15 Dave Love <fx@gnu.org>
6357
6358 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6359 bcopy & al.
6360
6361 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6362
ced04c42
KH
63632000-12-15 Kenichi Handa <handa@etl.go.jp>
6364
c5443913
KH
6365 * coding.c (setup_coding_system): Clear all members of the struct
6366 coding_system at first.
bc137305
KH
6367 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6368 argument.
6369 (code_convert_region): Don't override coding->src_multibyte and
6370 coding->dst_multibyte.
c5443913 6371
ced04c42
KH
6372 * fns.c (Fmd5): Docstring improved.
6373
c2d7f289
MB
63742000-12-15 Miles Bader <miles@gnu.org>
6375
6376 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6377 are actually marked as mode-lines; otherwise use
6378 estimate_mode_line_height.
6379
9d7d9263
GM
63802000-12-14 Gerd Moellmann <gerd@gnu.org>
6381
6382 * editfns.c (Fformat): Prevent a buffer overrun when the format
6383 specifies a precision.
6384
7cf0153a
EZ
63852000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6386
6387 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6388 argument is outside the range [2..3].
6389
1de0f662
AI
63902000-12-14 Andrew Innes <andrewi@gnu.org>
6391
6392 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6393 nothing to do. Bind inhibit-quit.
6394 (tip_frame): Make it a Lisp_Object.
6395 (x_create_tip_frame): Set tip_frame after it has been added to
6396 Vframe_list.
6397 (Fx_show_tip): Don't set tip_frame here.
52283633 6398 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6399 (unwind_create_frame, unwind_create_tip_frame): New functions.
6400 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6401 while a frame is only partially constructed.
6402
6403 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6404 (x_free_frame_resources): New function.
6405 (x_destroy_window): Use it.
6406
02387dcc
GM
64072000-12-14 Gerd Moellmann <gerd@gnu.org>
6408
6409 * xfns.c (Fx_backspace_delete_keys_p): New function.
6410 (syms_of_xfns): Defsubr it.
6411
6412 * config.in (HAVE_XKBGETKEYBOARD): Add.
6413
0544ef49
KH
64142000-12-14 Kenichi Handa <handa@etl.go.jp>
6415
98d62747
KH
6416 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6417 Always store string in multibyte representation in echobuf.
6418 (echo_char): Always store string in multibyte representation in
6419 echobuf.
6420 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6421 (read_key_sequence): Adjusted for the change of echo_prompt.
6422
a20193cd
KH
6423 * fns.c (Fmd5): Docstring improved.
6424
191b83b6
KH
6425 * lisp.h (detect_coding_system): Prototype adjusted.
6426
0544ef49
KH
6427 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6428 (detect_coding_emacs_mule, detect_coding_iso2022,)
6429 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6430 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6431 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6432 (detect_coding_mask, detect_coding_system): New argument
6433 MULTIBYTEP. Callers changed.
1da1bb05
KH
6434 (decode_coding_string): Set coding->src_multibyte and
6435 coding->dst_multibyte before calling detect_coding and detect_eol.
6436 Update them after some coding system is detected.
52283633 6437
d5b3eb1b
SM
64382000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6439
6440 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6441
6442 * keyboard.c (menu_bar_items, tool_bar_items):
6443 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6444
f7f8bb69
GM
64452000-12-13 Gerd Moellmann <gerd@gnu.org>
6446
52283633 6447 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6448 New variables.
6449 (unwind_create_frame, unwind_create_tip_frame): New functions.
6450 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6451 while a frame is only partially constructed.
6452
6453 * xterm.h (x_free_frame_resources): Declare.
6454
6455 * xterm.c (x_free_frame_resources): New function.
6456 (x_destroy_window): Use it.
6457
e10da507
GM
6458 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6459 don't interrupt the update for pending input initially, i.e.
6460 update at least some lines.
6461
6462 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6463
d5b3eb1b 6464 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6465
6466 * xfns.c (gray_bitmap_bits): Declare `char *'.
6467
90aa2856
GM
64682000-12-12 Gerd Moellmann <gerd@gnu.org>
6469
6470 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6471 lines start with a relief line.
6472
a308c9cd
DL
64732000-12-12 Dave Love <fx@gnu.org>
6474
6475 * window.c (Fdisplay_buffer): Doc fix.
6476 (Fwindow_list): Remove unused var.
6477
6478 * buffer.h (mmap_set_vars): Declare.
6479
6480 * window.h (Fset_window_point): Declare.
6481
d575011f
EZ
64822000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6483
bf6282d2 6484 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6485 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6486 variable `area'. When looking for a row under (X,Y), give up if some
6487 of the previous rows is not enabled.
d575011f 6488
ecf4d726
GM
64892000-12-12 Gerd Moellmann <gerd@gnu.org>
6490
2ebf6139
GM
6491 * window.c (Fset_window_point): If displaying cursors in windows
6492 other than the selected window, make sure redisplay updates
6493 other windows to show the new value of point in the window.
6494
6495 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6496
bfdb75ee
GM
6497 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6498 the buffer is the sole visible buffer when in the mini-buffer.
6499
52283633 6500 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6501 Bind `inhibit-read-only' to t.
6502 (unwind_with_echo_area_buffer): Use AREF.
6503
c0006262
GM
6504 * xfns.c (Fx_hide_tip): Simplified.
6505
52283633
SM
6506 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6507 instead of `1'.
e9a59cad 6508
ecf4d726
GM
6509 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6510
e5959a9a
GM
65112000-12-11 Gerd Moellmann <gerd@gnu.org>
6512
a3642e49 6513 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6514
44b5a125
GM
6515 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6516 nothing to do. Bind inhibit-quit.
6517 (tip_frame): Make it a Lisp_Object.
6518 (x_create_tip_frame): Set tip_frame after it has been added to
6519 Vframe_list.
6520 (Fx_show_tip): Don't set tip_frame here.
6521
6522 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6523
6524 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6525 Lisp_Object.
6526
6527 * dispextern.h: Change external declaration of tip_frame.
6528
d990421f
GM
6529 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6530 return an empty string.
6531
4db87380
GM
6532 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6533 of the window's update_mode_line flag, since the former is set by
6534 force-mode-line-update, not the latter. This makes
6535 column-number-mode slightly faster.
52283633 6536
e5959a9a
GM
6537 * xdisp.c (try_window_id) <all changes above window start>:
6538 Set the cursor.
6539
169fe44e
GM
65402000-12-11 Paul Eggert <eggert@twinsun.com>
6541
6542 * config.in (HAVE_FTELLO): Remove.
6543 (HAVE_FSEEKO): Add.
6544 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6545 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6546 HAVE_FTELLO.
6547 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6548 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6549
59ec59ae
MB
65502000-12-11 Miles Bader <miles@gnu.org>
6551
6552 * window.c (displayed_window_lines): Don't round up when
6553 converting empty space at bottom to lines.
ff904dd6
MB
6554 Handle non-newline-terminated final lines properly.
6555 (Fwindow_text_height): New function (used to be in lisp).
6556 (syms_of_window): Initialize it.
59ec59ae 6557
42ebfa31
SM
65582000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6559
6560 * syntax.c (scan_lists): Check that the right quote char has the
6561 right Sstring syntax when jumping over strings.
6562 (init_syntax_once): Use Smax rather than 13.
6563
5cdb3cf3
MB
65642000-12-09 Miles Bader <miles@gnu.org>
6565
6566 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6567 with PARTIALLY, inverting the sense.
6568 (window_scroll_pixel_based): Scroll partially visible lines into
6569 place if we hit the beginning or end of the buffer.
a12167c5
MB
6570 (displayed_window_lines): Don't include partially visible lines.
6571 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6572
842b2a94
GM
65732000-12-08 Gerd Moellmann <gerd@gnu.org>
6574
6575 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6576
6577 * tparam.c (tparam1): Change the way buffers are reallocated to be
6578 portable and less obfuscated.
6579
6580 * termcap.c (tgetent): Change the way buffers are reallocated to
6581 be portable and less obfuscated.
6582
6583 * macros.c (store_kbd_macro_char): Change the way buffers are
6584 reallocated to be portable and less obfuscated.
6585
6586 * lread.c (read1): Change the way buffers are reallocated to be
6587 portable and less obfuscated.
6588
6589 * doc.c (Fsubstitute_command_keys): Change the way buffers
6590 are reallocated so that it is portable.
6591
137cad7c
EZ
65922000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6593
6594 * dosfns.c (Ffile_system_info): New function.
6595 (syms_of_dosfns): Defsubr it.
6596
5c7f629c
SM
65972000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6598
6599 * alloc.c (gc_sweep): Add comment.
6600
959e647d
GM
66012000-12-07 Gerd Moellmann <gerd@gnu.org>
6602
52283633
SM
6603 * sound.c (vox_configure): Change order of ioctls.
6604 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6605 Ignore errors when changing volume.
6606 (vox_close): Don't reset the device.
6607
926b7e5e
GM
6608 * process.c (read_process_output): Make sure the process marker's
6609 position is valid when the process buffer is changed in
6610 after-change functions. W3 does that.
52283633 6611
959e647d
GM
6612 * xfns.c (x_free_gcs): New function.
6613
6614 * xterm.h (x_free_gcs): Add prototype.
6615
6616 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6617 freeing GCs here.
6618
6619 * xterm.c (x_destroy_window): Call x_free_gcs so that
6620 resources of non-toolkit X windows will be freed.
6621
478ea067
AI
66222000-12-07 Andrew Innes <andrewi@gnu.org>
6623
6624 * w32fns.c (xlfd_charset_of_font): Fix last change.
6625
fbee3231
DL
66262000-12-06 Dave Love <fx@gnu.org>
6627
67292061
DL
6628 * md5.h (__P): Don't define -- it comes from config.h.
6629
fbee3231
DL
6630 * strftime.c: Change some #if foo to #ifdef foo.
6631
4ee87dbb
AI
66322000-12-06 Andrew Innes <andrewi@gnu.org>
6633
6634 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6635
52283633 6636 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6637 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6638 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6639
9765b4a4
GM
66402000-12-06 Gerd Moellmann <gerd@gnu.org>
6641
d285b373
GM
6642 * alloc.c (gc_sweep): Prevent symbols read during loadup
6643 from being freed.
6644
384333ee
GM
6645 * xdisp.c (underlying_face_id): New function.
6646 (handle_face_prop, face_before_or_after_it_pos): Use it
6647 to determine the face ``under'' a string. Let strings inherit
6648 the face of the buffer under them.
6649
6650 * xfaces.c (face_at_string_position): Update function comment.
52283633 6651
d4b72d58
GM
6652 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6653 matrix if the window's left position has changed; we need to
6654 redraw it in this case.
6655
6656 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6657
e1d05387
GM
6658 * window.c (coordinates_in_window): Check mouse on mode-line or
6659 header-line first.
6660
eb1b0c74
GM
6661 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6662 advertized by the function documentation.
6663
d94d636f
GM
6664 * window.c (syms_of_window): Doc fix.
6665
3887b449
GM
6666 * sound.c (vox_configure): Set volume for left and right channel.
6667 (sound_cleanup): Return nil.
6668
efc8f57a
GM
6669 * xdisp.c (move_it_by_lines): Fix paren typo.
6670
9765b4a4
GM
6671 * xterm.c (x_load_font): Don't use the font's max_bounds for
6672 computing the height of the font. If max_bounds' ascent or
6673 descent are greater than the font's ascent or descent, this means
6674 glyphs overlap, which should be handled now by redisplay.
6675
6529ed87
GM
6676 * window.c (Veven_window_heights): New variable.
6677 (syms_of_window): DEFVAR_LISP it.
6678 (Fdisplay_buffer): Check Veven_window_heights before evening the
6679 window heights.
52283633 6680
0eb2ecde
MB
66812000-12-06 Miles Bader <miles@gnu.org>
6682
6683 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6684 update `default-frame-alist' instead of setting no frame parameters.
6685
03d7a167
KH
66862000-12-06 Kenichi Handa <handa@etl.go.jp>
6687
6688 * composite.c (update_compositions): Fix typo (use the correct
6689 variable).
6690
5f8803c2
JR
66912000-12-05 Jason Rumney <jasonr@gnu.org>
6692
6693 * md5.h: Remove underscores from function declarations.
6694 (__attribute__, __alignof__) [!__GNUC__]: Define.
6695
6696 * md5.c: Delay include of md5.h until after namespace cleaning.
6697
c28a075b
JR
6698 * makefile.w32-in (fns.o): Depend on md5.h
6699 (md5.o): New target.
6700 (sunfns.o): Remove.
6701
6702 * makefile.nt: Likewise.
6703
ff3c7056
JR
67042000-12-05 Jason Rumney <jasonr@altavista.net>
6705
6706 * w32term.c (expose_area): Complete last change.
6707
0c21eeeb
KR
67082000-12-05 Ken Raeburn <raeburn@gnu.org>
6709
6710 * minibuf.c: Include intervals.h.
6711
f201d732
JR
67122000-12-05 Jason Rumney <jasonr@gnu.org>
6713
6714 * w32term.c (x_produce_glyphs): If a font for a component of
6715 a composition is not found, use 1 pixel dot ascent and 0 dot
6716 descent value to avoid displaying terribly tall empty boxes.
6717 (expose_area): Pass x-coordinate relative to the exposed
6718 area to x_draw_glyphs instead of a window-relative coordinate.
6719
21999ab9
GM
67202000-12-05 Gerd Moellmann <gerd@gnu.org>
6721
4d2036e4
GM
6722 * xdisp.c (next_element_from_ellipsis): Save face before selective
6723 display in saved_face_id, and set face_before_selective_p.
6724 (reseat_1): Reset face_before_selective_p.
6725 (append_space, extend_face_to_end_of_line): If iterator's
6726 face_before_selective_p is set, use the face from saved_face_id.
6727 (extend_face_to_end_of_line): For tty frames, make sure to
6728 use the right face id when producing spaces at the end of
6729 the line.
6730
6731 * dispextern.h (struct it): Add face_before_selective_p.
6732
52be17cc
GM
6733 * keyboard.c (record_char): Don't record identical help-echo
6734 events in recent_keys.
6735
8a4f36cc
GM
6736 * xterm.c [USE_X_TOOLKIT]: Close the display.
6737 (xim_close_dpy): Handle case that the display has been closed.
6738
57d6e381
GM
6739 * xterm.c (x_destroy_window): Reset the frame's X window after
6740 destroying it.
6741
21999ab9
GM
6742 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6743 variable window_width.
6744 (line_draw_cost): Fix code skipping over spaces at the end of the
6745 line when must_write_spaces is not set.
6746 (scrolling_window): Fix code inserting runs in list of all runs.
6747
91372bb7
KH
67482000-12-05 Kenichi Handa <handa@etl.go.jp>
6749
6750 * coding.c (setup_coding_system): Be sure to initialize
6751 coding->category_idx.
6752
6c083b4c
GM
67532000-12-04 Gerd Moellmann <gerd@gnu.org>
6754
0c68ce6f 6755 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6756
6452929e
GM
6757 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6758 area to x_draw_glyphs instead of a window-relative coordinate.
6759
d7f31e22
GM
6760 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6761 error in the message.
6762
ae18aa3b
GM
6763 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6764 timer after having read a key. It's not good for code reading
6765 several keys in a loop, like an input method.
6766
caa15ef7
GM
6767 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6768 record undo information for format-decode.
6769
6770 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6771 current buffer is read-only, not if it isn't.
6772
6c083b4c
GM
6773 * keyboard.c (record_char): Record `help-echo' input events
6774 in recent_keys only if they display some help. Don't record
6775 `help-echo' events as macro char.
6776
caa15ef7
GM
67772000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6778
6779 * editfns.c (save_excursion_restore): Don't move point
6780 in another window if it is showing the wrong buffer.
6781 Avoid the call to Fwindow_live_p, for speed.
6782
5a13529b
KH
67832000-12-04 Kenichi Handa <handa@etl.go.jp>
6784
e225faa7
KH
6785 * xfaces.c (struct font_name): New member registry_priority.
6786 (split_font_name): Initialize the above member to zero.
6787 (concat_font_list): New function.
6788 (font_list): Include fonts of all alternative registries.
6789 (FONT_POINT_SIZE_QUANTUM): New macro.
6790 (better_font_p): Ignore point size difference less than
6791 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6792
e89648b4
KH
6793 * xterm.c (x_produce_glyphs): If a font for a component of
6794 a composition is not found, use 1 pixel dot ascent and 0 dot
6795 descent value to avoid displaying terribly tall empty boxes.
6796
5a13529b
KH
6797 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6798
d7935eb6
KR
67992000-12-03 Ken Raeburn <raeburn@gnu.org>
6800
6801 * coding.h (code_convert_string1): Declare.
6802
6803 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6804
52283633 6805 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6806
0dd5e255
JR
68072000-12-02 Jason Rumney <jasonr@gnu.org>
6808
6809 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6810 correctly for single byte character case.
6811 (w32_per_char_metric): Do not try to make any assumptions about
6812 the metrics of BDF fonts.
250cfece 6813 (x_estimate_mode_line_height): If `mode-line' face
52283633 6814 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6815 (note_mouse_highlight): Change the cursor shape on the vertical
6816 border between windows [not enabled].
6817
6818 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6819
6820 * w32fns.c (Fx_create_frame): Reintroduce the call to
6821 face-set-after-frame-defaults.
6822 (Vx_window_horizontal_drag_shape): New variable.
6823 (syms_of_xfns): DEFVAR_LISP it.
6824 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6825 enabled].
0dd5e255 6826
b5d8d2ca
GM
68272000-12-02 Simon Josefsson <simon@josefsson.org>
6828
6829 * fns.c (Fmd5): Use a different logic to decide the coding system
6830 to use.
6831
6832 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6833
fbb87147
EZ
68342000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6835
52283633 6836 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6837
447e9da0
GM
68382000-12-01 Gerd Moellmann <gerd@gnu.org>
6839
7708ced0
GM
6840 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6841 height for YNegative.
6842 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6843 height; also see comment there.
6844
447e9da0
GM
6845 * window.c (coordinates_in_window): Handle computations for
6846 positions on the vertical bar and fringes differently for
6847 window-system frames. Consider some pixels near the vertical bar
6848 as on the bar if the frame doesn't have vertical scroll bars.
6849 Associate positions between mode or header lines with the
6850 right window, the left one.
6851
86d1db20
JR
68522000-12-01 Jason Rumney <jasonr@gnu.org>
6853
6854 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6855
6856 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6857 invalid frame.
6858
a1d58e5b
GM
68592000-12-01 Gerd Moellmann <gerd@gnu.org>
6860
52283633 6861 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6862 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6863 (save_window_save, Fset_window_configuration): Save/restore
6864 window's orig_top and orig_height.
6865
89c609af
JR
68662000-12-01 Jason Rumney <jasonr@gnu.org>
6867
4d177746 6868 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6869
89c609af
JR
6870 * w32fns.c (x_set_cursor_color): Fix last change.
6871
eccc05db
GM
68722000-11-30 Gerd Moellmann <gerd@gnu.org>
6873
31b6671b
GM
6874 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6875 sure that the next redisplay displays the minibuffer, so that
6876 the cursor will be replaced with what the minibuffer wants.
6877
eccc05db
GM
6878 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6879 #ifndef instead of using #if.
6880 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6881 USE_TOOLKIT_SCROLL_BARS is defined.
6882
162de750
JR
68832000-11-30 Jason Rumney <jasonr@gnu.org>
6884
6885 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6886 x_display_cursor.
6887
693c4692
GM
68882000-11-30 Gerd Moellmann <gerd@gnu.org>
6889
6890 * fns.c (Fmd5): Doc fix.
6891
b5d8d2ca 68922000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6893
6894 * fns.c (Fmd5): New function.
6895 (syms_of_fns): Defsubr md5.
6896
6897 * Makefile.in (obj): Add md5.o
6898
b02cd40b
GM
68992000-11-30 Gerd Moellmann <gerd@gnu.org>
6900
edfb795e
GM
6901 * md5.h, md5.c: New files, taken from glibc.
6902
df3aedcf
GM
6903 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6904
b02cd40b 6905 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6906 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6907
8b5176cd
SM
69082000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6909
6910 * eval.c (Frun_hooks): Allow 0 arguments.
6911
346598f1
GM
69122000-11-29 Gerd Moellmann <gerd@gnu.org>
6913
f9396e03
GM
6914 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6915 is over the menu bar widget, say it's not on the frame.
6916
4a967a9b
GM
6917 * xfns.c (Fx_create_frame): Reintroduce the call to
6918 face-set-after-frame-defaults.
6919
346598f1
GM
6920 * eval.c (Fsignal): Reset handling_signal.
6921
222456a1
JR
69222000-11-28 Jason Rumney <jasonr@gnu.org>
6923
6924 * w32menu.c (add_menu_item): Reset menu item text when changing
6925 type to radio button.
6926
8049ddc0
GM
69272000-11-28 Gerd Moellmann <gerd@gnu.org>
6928
346598f1 6929 * xselect.c: Update copyright.
f4f4ee4d 6930
bebe4a2c
GM
6931 * window.c (coordinates_in_window): If on a mode or header line,
6932 but sufficiently close to its start, return ``on vertical
6933 border''. This gives us a way to drag windows horizontally when
6934 using toolkit scroll bars.
6935
6936 * xterm.c (note_mouse_highlight): Change the cursor shape
6937 on the vertical border between windows.
6938
6939 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6940
6941 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6942 (syms_of_xfns): DEFVAR_LISP it.
6943 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6944
8d2c2642
GM
6945 * textprop.c (text_read_only): New function.
6946 (verify_interval_modification): Use it instead of signaling
6947 `text-read-only'. This makes it easier to catch this error
52283633 6948 with a breakpoint.:
8d2c2642 6949
52283633 6950 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6951 not end of line, which includes CR.
6952
5a2bae6c
KH
69532000-11-28 Kenichi Handa <handa@etl.go.jp>
6954
6955 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6956 include no-conversion.
6957
ae31f84d
JR
69582000-11-27 Jason Rumney <jasonr@gnu.org>
6959
6960 * w32fns.c (w32_load_system_font): Always mark font as double byte
6961 if codepage is unicode.
6962
67f1cf4c
GM
69632000-11-27 Gerd Moellmann <gerd@gnu.org>
6964
4a74d071 6965 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6966 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6967
902ae620
GM
6968 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6969 `vertical-line', `mode-line' and `header-line' events.
6970
6971 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6972 of a character, a TAB for instance. This is easier than to set
6973 up the iterator exactly, and it's not a frequent case, so the
6974 additional effort wouldn't really pay off.
6975
c1e279c2
AC
69762000-11-26 Andrew Choi <akochoi@i-cable.com>
6977
67f1cf4c 6978 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6979 init_window_once.
6980
a609568a
JR
69812000-11-25 Jason Rumney <jasonr@gnu.org>
6982
52283633
SM
6983 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6984 Args to window_from_coordinates should be pixel coordinates.
48b21762 6985
a609568a
JR
6986 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6987 redisplay handles them properly.
6988
a658d039
MB
69892000-11-25 Miles Bader <miles@gnu.org>
6990
6991 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6992
d3416cca
JR
69932000-11-24 Jason Rumney <jasonr@gnu.org>
6994
6995 * w32.c (init_environment): Set LANG environment variable based on
6996 locale settings, if not set.
6997
6998 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6999 making tool bar smaller. When clearing the frame, also
7000 clear current matrices. Clear frame when tool bar disappears.
7001 Don't use more lines for the tool-bar than is available.
7002 (x_change_window_heights): New function.
7003
ba193890
GM
70042000-11-24 Gerd Moellmann <gerd@gnu.org>
7005
2be8f184
GM
7006 * xdisp.c (init_from_display_pos): If POS says we're already after
7007 an overlay string ending at POS, make sure to pop the iterator
7008 because it will be in front of that overlay string. When POS is
7009 ZV, we've thereby also ``processed'' overlay strings at ZV.
7010
ba193890
GM
7011 * xfaces.c (lface_from_face_name): Function comment fix.
7012
1862a24e
MB
70132000-11-24 Miles Bader <miles@gnu.org>
7014
7015 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7016 apply `mode-line-inverse-video' -- zero means force display using
7017 the default face, non-zero means display using the specialized face.
7018 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7019
f07fa1b8
KH
70202000-11-23 Kenichi Handa <handa@etl.go.jp>
7021
7022 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7023 hard coded `4'.
7024
2bcdf662
EZ
70252000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7026
7027 * coding.c (decode_coding_emacs_mule): Fix the case of
7028 CODING_EOL_LF, which used uninitialized value of c.
7029
ba8299ff
SM
70302000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7031
7032 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7033
f4117c4d
GM
70342000-11-22 Gerd Moellmann <gerd@gnu.org>
7035
03e757c1
GM
7036 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7037 buffer object.
7038
f4117c4d
GM
7039 * frame.h (struct frame): Replace desired_tool_bar_items,
7040 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7041 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7042
7043 * frame.c (make_frame): Change initialization of tool bar
7044 items accordingly.
7045
7046 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7047 Change references to members deleted from struct frame to use the
f4117c4d
GM
7048 new ones.
7049
7050 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7051 references to members deleted from struct frame to use the new ones.
f4117c4d 7052
52283633 7053 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7054
7055 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7056
7057 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7058 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7059 from struct frame to use the new ones.
7060
f8e2f3f2
MB
70612000-11-23 Miles Bader <miles@gnu.org>
7062
7063 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7064 the face's inverse-video attribute, rather than overriding it.
7065
60e8e0a5
GM
70662000-11-22 Gerd Moellmann <gerd@gnu.org>
7067
7068 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7069 making tool bar smaller.
7070
92dd1b29
DL
70712000-11-22 Dave Love <fx@gnu.org>
7072
7073 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7074
e672fdce
MB
70752000-11-22 Miles Bader <miles@gnu.org>
7076
3a17d6cc
MB
7077 * keyboard.c (Vminibuffer_message_timeout): New variable.
7078 (command_loop_1): Use it to determine message timeout.
7079 (syms_of_keyboard): Initialize it.
7080
60e8e0a5 7081 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7082
e9655d81
KH
70832000-11-22 Kenichi Handa <handa@etl.go.jp>
7084
7085 * sysdep.c: Move the code for declaring h_errno after #include
7086 <netdb.h>.
7087
77270fac
GM
70882000-11-21 Gerd Moellmann <gerd@gnu.org>
7089
cd913aae
GM
7090 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7091 the menu bar when the tooltip is unmapped.
7092
77270fac
GM
7093 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7094 sole visible buffer when we're currently in the mini-buffer, and
7095 give up if so.
52283633 7096
556635d6
JR
70972000-11-21 Jason Rumney <jasonr@gnu.org>
7098
7099 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7100 put on the clipboard.
7101 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7102 copy of what Emacs last put there. If they are the same, do not
52283633 7103 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7104
5b7bde64
MB
71052000-11-22 Miles Bader <miles@gnu.org>
7106
7107 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7108 (syms_of_minibuf): Initialize it.
7109 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7110 to prompt, don't make read-only.
7111
ff23e1dd
GM
71122000-11-21 Gerd Moellmann <gerd@gnu.org>
7113
52283633
SM
7114 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7115 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7116
7aaf4388
GM
7117 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7118
f5f47add 7119 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7120
ff23e1dd
GM
7121 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7122
37c35586
KH
71232000-11-21 Kenichi Handa <handa@etl.go.jp>
7124
7125 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7126 ... #endif scope.
7127
ff9ab414
GM
71282000-11-20 Gerd Moellmann <gerd@gnu.org>
7129
52283633 7130 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7131 screen supports it.
7132
29a01b72
GM
7133 * s/gnu-linux.h: Don't use `#cpu'.
7134
09dfdf85
GM
7135 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7136 not defined in mman.h.
7137
52283633 7138 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7139 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7140 and store an index in the XClientMessageEvent. Storing a
7141 Lisp_Object or pointer can fail on a 64 bit system, since X only
7142 transfers 32 bits.
52283633
SM
7143 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7144
81459ac9
DL
71452000-11-20 Dave Love <fx@gnu.org>
7146
7147 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7148
56c13ae6
GM
71492000-11-20 Gerd Moellmann <gerd@gnu.org>
7150
7151 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7152
495a6df3
KH
71532000-11-20 Kenichi Handa <handa@etl.go.jp>
7154
2bcf3714
KH
7155 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7156 by WIDTH.
7157
495a6df3
KH
7158 * alloc.c (make_string): Fix previous change. Be sure to make
7159 unibyte string correctly.
7160
6d950f4c
GM
71612000-11-19 Gerd Moellmann <gerd@gnu.org>
7162
39b39373
GM
7163 * window.c (Fwindow_list): Change parameter list to be XEmacs
7164 compatible.
7165 (window_list_1): New function.
7166 (window_loop): Use it instead of Fwindow_list.
7167
b95b34e5
GM
7168 * sysdep.c (emacs_ospeed): New variable.
7169 (toplevel): Don't declare ospeed extern.
7170 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7171
7172 * termcap.c (ospeed): Remove.
7173 (tputs) [!emacs]: Remove unused code.
7174 (tgetent): Avoid a compiler warning.
7175
e83dc917
GM
7176 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7177 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7178 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7179
7180 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7181 removed.
7182 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7183 Take the X display as additional argument.
7184 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7185 `Widget' is a pointer type that's not easily stored in Lisp_Object
7186 form in a portable way.
52283633 7187
6d950f4c
GM
7188 * dispnew.c (update_text_area): Fix last change.
7189
e47306e6
GM
71902000-11-18 Gerd Moellmann <gerd@gnu.org>
7191
fb3cd89b
GM
7192 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7193
7194 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7195 clear current matrices.
7196
edaa9aed
GM
7197 * buffer.c (mmap_enlarge): Don't print a message on stderr
7198 if mapping new memory at the end of the existing region fails.
7199
e47306e6
GM
7200 * dispnew.c (update_text_area): Don't skip over equal glyphs
7201 when the last current glyph overlaps the glyph to its right.
7202
509633e3
MB
72032000-11-18 Miles Bader <miles@gnu.org>
7204
7205 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7206 lines that *end* with "..." too (that's the most common case!).
7207
d392e9c5
GM
72082000-11-18 Gerd Moellmann <gerd@gnu.org>
7209
67988445
GM
7210 * xdisp.c (resize_mini_window): Temporarily change to the
7211 mini-window's buffer if necessary.
1bfdbe43 7212
d392e9c5
GM
7213 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7214 the tooltip obscures less text under it.
7215
72162000-11-17 Gerd Moellmann <gerd@gnu.org>
7217
7218 * puresize.h (BASE_PURESIZE): Increase to 700000.
7219
92bb977f
JR
72202000-11-18 Jason Rumney <jasonr@gnu.org>
7221
7222 * w32term.c (w32_draw_bitmap): Use face to set colors.
7223
26fbf20b
DL
72242000-11-17 Dave Love <fx@gnu.org>
7225
7226 * lread.c (Fload): Fix #ifdef for pcc.
7227
100b593b
GM
72282000-11-17 Gerd Moellmann <gerd@gnu.org>
7229
7230 * xdisp.c (pos_visible_p): Compute the default character height
7231 differently.
7232
a288d0d1
GM
72332000-11-16 Gerd Moellmann <gerd@gnu.org>
7234
cac94de6 7235 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7236 knowing the line's height; use the default font's height in that case.
cac94de6 7237
a288d0d1
GM
7238 * xfaces.c (weight_table): Add `demi' with the same meaning as
7239 `demibold'.
7240
981fb6f6
KH
72412000-11-16 Kenichi Handa <handa@etl.go.jp>
7242
2cca872d 7243 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7244 (clear_glyph_row): Delete local static variable null_row.
7245
e5fa381b
JR
72462000-11-15 Jason Rumney <jasonr@gnu.org>
7247
7248 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7249 (w32_alloc_lighter_color): Use new brightness calculations from
7250 xterm.c. Scale delta to be in the range expected by W32.
7251 (w32_draw_relief_rect): Use frame relief colors.
7252
8e42f043
GM
72532000-11-15 Gerd Moellmann <gerd@gnu.org>
7254
6d133d1f
GM
7255 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7256 (Qinhibit_default_face_x_resources): New variable.
7257 (syms_of_frame): Initialize it.
7258 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7259
7260 * xdisp.c (pos_visible_p): Improve function comment.
7261
7262 * lisp.h (BINDING_STACK_SIZE): New macro.
7263
8e42f043
GM
7264 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7265 reading the directory if readdir returns null and errno is EAGAIN
7266 or EINTR.
7267
e8c87124
SM
72682000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7269
7270 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7271 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7272 Set amount_to_scroll to max of dx and scroll_step so that
7273 scroll-conservatively doesn't defeat scroll-step>1.
7274 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7275 scroll-conservatively for line-at-a-time scrolling.
7276
5f0c971d
GM
72772000-11-14 Gerd Moellmann <gerd@gnu.org>
7278
7279 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7280 extra argument.
7281
7282 * xdisp.c (current_mode_line_height, current_header_line_height):
7283 New variables.
7284 (init_xdisp): Initialize them.
7285 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7286 and use exact mode line heights if it is set.
7287
7288 * lisp.h (pos_visible_p): Change prototype.
7289
7290 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7291 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7292 and current_header_line_height first.
52283633
SM
7293 (current_mode_line_height, current_header_line_height):
7294 Declare extern.
5f0c971d 7295
d7361edf
MB
72962000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7297
7298 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7299 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7300 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7301
ee5e440a
MB
73022000-11-14 Miles Bader <miles@gnu.org>
7303
7304 * xterm.c (x_alloc_lighter_color): Include an additive component
7305 too for dark colors, because FACTOR isn't enough.
7306 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7307 New macros.
7308
5ca020fc
GM
73092000-11-13 Gerd Moellmann <gerd@gnu.org>
7310
7311 * keyboard.c (show_help_echo): Call message3_nolog with number of
7312 bytes in the help string as 2nd parameter, instead of the number
7313 of characters.
7314
9d348294
MB
73152000-11-13 Miles Bader <miles@gnu.org>
7316
7317 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7318 (Fload): Use new openp return protocol.
7319 Don't try to use Vload_source_file_function to load .elc files.
7320 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7321 openp return protocol.
7322 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7323
1729bb9a
KH
73242000-11-11 Kenichi Handa <handa@etl.go.jp>
7325
4e677396
KH
7326 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7327
7328 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7329 Defined these macros.
7330 (NLIST_STRUCT): Avoid re-defining it.
7331
1729bb9a
KH
7332 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7333 -I/usr/contrib/X11R6/include.
7334 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7335
a82fe213
JR
73362000-11-10 Jason Rumney <jasonr@gnu.org>
7337
7338 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7339
7340 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7341 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7342
7343 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7344 (Qw32_charset_vietnamese): New symbol.
7345 (xlfd_charset_of_font): New function.
7346 (w32_load_system_font): Use it.
7347 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7348 when Vw32_charset_info_alist is nil to ensure default face always
7349 has font. Use Fcar and Fcdr for safety.
7350 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7351 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7352 pseudo-codepages for special cases.
7353 (w32_to_x_font): New parameter to allow charset portion to be
7354 specified where there is many to one mapping. Callers changed.
7355 (w32_list_fonts): Avoid listing fonts that won't display.
7356
52d89894
GM
73572000-11-10 Gerd Moellmann <gerd@gnu.org>
7358
7359 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7360 (font_list_1): Renamed from font_list.
7361 (font_list): New function, trying alternative registries from
7362 Vface_alternative_font_registry_alist.
7363 (Finternal_set_alternative_font_registry_alist): New function.
7364 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7365 Vface_alternative_font_registry_alist.
7366 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7367
651cd3da
KR
73682000-11-09 Ken Raeburn <raeburn@gnu.org>
7369
7370 * lisp.h (Flooking_at): Declare.
7371
388ac098
GM
73722000-11-09 Gerd Moellmann <gerd@gnu.org>
7373
778fbc46 7374 * dired.c (directory_files_internal): Fix a braino.
52283633 7375
388ac098
GM
7376 * dired.c (directory_files_internal): Add missing GCPRO's.
7377 Some cleanup.
7378
ecaedde1
GM
73792000-11-08 Gerd Moellmann <gerd@gnu.org>
7380
f7eb32aa
GM
7381 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7382 (resize_mini_window): Return quickly if Vresize_mini_window is
7383 nil. Don't return if Vmax_mini_window_height is nil.
7384
7385 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7386 (syms_of_xdisp): Initialize them.
7387 (resize_mini_window): Act according to the setting of
7388 Vresize_mini_window.
7389 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7390
ecaedde1
GM
7391 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7392 scroll bar widget after configuring it, so that it will appear at
7393 the right position from the start.
7394 (XTredeem_scroll_bar): Cleaned up.
7395
3747ef2c
KH
73962000-11-08 Kenichi Handa <handa@etl.go.jp>
7397
7398 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7399 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7400 division by two.
7401
7402 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7403
03391420
DL
74042000-11-07 Dave Love <fx@gnu.org>
7405
7758f1c1 7406 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7407
7408 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7409
b5de343d
GM
74102000-11-07 Gerd Moellmann <gerd@gnu.org>
7411
acad3c0b
GM
7412 * window.c (Fset_window_configuration): Don't try to preserve
7413 point in the current buffer, if that buffer is displayed in more
7414 than one window.
7415
b5de343d
GM
7416 * xfaces.c (lookup_named_face): If default face isn't realized,
7417 try to realize it. Return -1 if not successful.
7418 (Fx_list_fonts): Handle case that face cannot be determined.
7419 (Fface_font): Likewise.
7420
cdb1fe49
GM
74212000-11-06 Gerd Moellmann <gerd@gnu.org>
7422
7423 * window.c (displayed_window_lines): Detect partially
7424 visible lines at the bottom correctly.
7425
d3a67486
SM
74262000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7427
7428 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7429 when ensuring we don't do visit in indirect buffer.
7430
ff8dd5d5
KH
74312000-11-06 Kenichi Handa <handa@etl.go.jp>
7432
7433 * composite.h (compose_chars_in_text): Add prototype.
7434
7435 * composite.c (Vcomposition_function_table): New variable.
7436 (Qcomposition_function_table): New variable.
7437 (run_composition_function): Call
7438 Vcompose_chars_after_function with three arguments.
7439 (compose_chars_in_text): New function.
7440 (syms_of_composite): Modified the doc-string of
7441 Vcompose_chars_after_function. Declare composition-function-table
7442 as a lisp variable, and initialize it.
7443
7444 * xfns.c (x_encode_text): Suppress producing escape sequences for
7445 composition.
7446
7447 * xselect.c: Include composite.h.
7448 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7449
d1145f85
AI
74502000-11-05 Andrew Innes <andrewi@gnu.org>
7451
7452 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7453
7454 * sysdep.c (read_input_waiting): Remove extraneous argument to
7455 read_socket_hook.
7456
7457 * w32fns.c (Fx_server_version): Include w32_build_number in the
7458 return list.
7459
7460 * w32heap.c (w32_build_number): New variable.
7461 (cache_system_info): Set it.
7462
7463 * w32heap.h (w32_build_number): Add extern.
7464
7465 * emacs.c (syms_of_emacs): Update docstring for
7466 system-configuration, to reflect the actual usage on MS-Windows.
7467
e85ee976
GM
74682000-10-31 Gerd Moellmann <gerd@gnu.org>
7469
26dcb81b
GM
7470 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7471 process idle timers while waiting for another event.
7472
52283633 7473 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7474 the default face are colored.
7475
e85ee976
GM
7476 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7477 window height hasn't changed.
7478
01b220b6
JR
74792000-10-31 Jason Rumney <jasonr@gnu.org>
7480
7481 * w32term.c (x_produce_glyphs): Handle composite characters.
7482 (x_draw_glyph_string_foreground)
7483 (x_draw_composite_glyph_string_foreground): Restore old font.
7484
4e6b7204
MB
74852000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7486
7487 * minibuf.c (read_minibuf): Reset the undo history just before
7488 starting the recursive-edit.
7489
d4358b37
GM
74902000-10-30 Gerd Moellmann <gerd@gnu.org>
7491
563f68f1
GM
7492 * xfaces.c (menu_face_change_count): New variable.
7493 (Finternal_set_lisp_face_attribute): Increment it for changes
7494 of the `menu' face.
7495 (realize_basic_faces): Reflect changes in the `menu' faces
7496 in menu bars.
7497
82e274d1
GM
7498 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7499 dy obtained from the iterator's y-position after moving from
7500 scroll_margin_pos to PT; see comment there.
52283633 7501
0dbf9fd2
GM
7502 * xdisp.c (safe_eval_handler): Call add_to_log.
7503
906b3b14
GM
7504 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7505 is not a symbol or string.
7506
d4358b37
GM
7507 * xdisp.c (echo_area_display): Don't perform a display update from
7508 inside redisplay. The update will happen anyway at the end of
7509 redisplay, and it can confuse redisplay (GC messages while
7510 redisplaying, for instance.)
7511
70c825df
SM
75122000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7513
cf9b4b0b
SM
7514 * xrdb.c (x_load_resources): Use the class name in the defaults.
7515
70c825df
SM
7516 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7517 (regex_compile): Catch bogus \(\1\).
7518
a1d34b1e
GM
75192000-10-30 Gerd Moellmann <gerd@gnu.org>
7520
cae71efe
GM
7521 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7522 RGB values.
52283633 7523
35efe0a1
GM
7524 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7525 we have a color cache, check that the cached color equals the
7526 allocated color. If not, clear the color cache.
7527
1d3baf74
GM
7528 * window.c (displayed_window_lines): Change buffers if necessary.
7529 Fix computation of displayed lines.
7530
a1d34b1e
GM
7531 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7532 update_menu_bindings to DEFVAR_BOOL.
7533
70737ea9
KH
75342000-10-30 Kenichi Handa <handa@etl.go.jp>
7535
70c825df 7536 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7537
fa0cb51d
KH
7538 * puresize.h (BASE_PURESIZE): Increase to 680000.
7539
70737ea9
KH
7540 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7541
0e4c08e8
JR
75422000-10-29 Jason Rumney <jasonr@gnu.org>
7543
7544 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7545
7546 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7547 (w32_cache_char_metrics): Handle possibility that 'x' does not
7548 exist in a BDF font.
7549 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7550
7551 * w32bdf.h (bdffont): Add nchars.
7552
7553 * w32bdf.c (set_bdf_font_info): Set it.
7554 (w32_BDF_TextOut): Swap byte order of double byte characters.
7555 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7556
45b84006
EZ
75572000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7558
7559 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7560 don't override the colors in frame's param_alist, unless they are
7561 unspecified.
7562
7563 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7564 reverse the effect of the highlight flag.
7565
caf9deee
KR
75662000-10-27 Ken Raeburn <raeburn@gnu.org>
7567
7568 * window.h (Fwindow_live_p): Declare.
7569
ae0b9b46
KR
7570 * undo.c (record_delete): Check that last_undo_buffer is really a
7571 buffer before applying XBUFFER to it.
7572
7573 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7574 Faref.
7575
02067692
SM
75762000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7577
7578 * lisp.h (KEYMAPP): New macro.
7579 (get_keymap): Remove.
7580 (get_keymap_1): Rename get_keymap.
7581
7582 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7583
7584 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7585
7586 * xmenu.c (single_submenu): Use KEYMAPP.
7587 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7588 Use KEYMAPP rather than Fkeymapp.
7589
7590 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7591
7592 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7593 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7594 Use KEYMAPP rather than Fkeymapp.
7595 (single_submenu): Use KEYMAPP.
7596 (w32_menu_show, w32_dialog_show): Use TRUE.
7597
7598 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7599
7600 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7601 (Fkeymapp): Use KEYMAPP.
7602 (get_keymap): Rename from get_keymap_1. Remove old def.
7603 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7604 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7605 (Fminor_mode_key_binding): Don't raise an error if the binding
7606 is not a keymap.
7607 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7608 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7609
7610 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7611 Allow Vspecial_event_map to be autoloaded.
7612 (menu_bar_items): Fetch the keymap rather than using keymapp.
7613 (menu_bar_one_keymap): No need to follow func-indirect any more.
7614 (parse_menu_item): get_keymap_1 -> get_keymap.
7615 (tool_bar_items): Fetch the keymap rather than using keymapp.
7616 (read_key_sequence): Use KEYMAPP.
7617
7618 * intervals.c (get_local_map): Use get_keymap rather than following
7619 function-indirections explicitly.
7620
7621 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7622
f9d80af3
JR
76232000-10-27 Jason Rumney <jasonr@gnu.org>
7624
7625 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7626 point, as Windows has oversized fonts.
7627
7628 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7629
a3ba27da
GM
76302000-10-27 Gerd Moellmann <gerd@gnu.org>
7631
7632 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7633 (freehook, reallochook): Handle null pointer arguments.
7634 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7635
aa3b80cc
SM
76362000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7637
7638 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7639 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7640 Giving in to popular pressure to shut up the compiler with casts.
7641
e24e84cc
GM
76422000-10-27 Gerd Moellmann <gerd@gnu.org>
7643
7644 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7645 signed value, and use a default value computed from the font's
7646 maximum descent.
7647
05ea7ef2
MB
76482000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7649
7650 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7651 that specify a negative underline position can still use underlines.
7652
7653 * window.c (Fpos_visible_in_window_p): Make POS default to
7654 WINDOW's point, not the current buffer's point.
7655
0b95284b
DL
76562000-10-26 Dave Love <fx@gnu.org>
7657
7658 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7659 when it's necessary.
7660
6c5b90af
GM
76612000-10-26 Gerd Moellmann <gerd@gnu.org>
7662
8b6d9dc9
GM
7663 * window.c (size_window): Compute size difference from sum of old
7664 child window sizes instead of from parent's size.
7665
6bc92b2e
GM
7666 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7667 Handle obscured lines at the top of the window.
7668
7669 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7670 down after the last error condition check.
7671
6c5b90af
GM
7672 * frame.c (Fdelete_frame): Run delete-frame-hook.
7673
42f92d4d
KH
76742000-10-26 Kenichi Handa <handa@etl.go.jp>
7675
7676 * coding.c (decode_coding): Fix previous change (check also
7677 CODING_MODE_LAST_BLOCK).
7678
d97151cb
SM
76792000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7680
e7efc503
SM
7681 * regex.c: More `unsigned char' -> `re_char' changes.
7682 Also change several `int' into `re_wchar_t'.
7683 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7684 (PUSH_FAILURE_POINTER): Don't cast any more.
7685 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7686 We want GCC to complain, since this piece of code makes
7687 re_match non-reentrant, which *should* be fixed.
7688 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7689 (EXTEND_BUFFER): Use RETALLOC.
7690 (SET_LIST_BIT): Don't cast.
7691 (re_wchar_t): New type.
7692 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7693 that those two functions will always properly return.
7694 (IMMEDIATE_QUIT_CHECK): Cast to void.
7695 (analyse_first): Use recursion rather than an explicit stack.
7696 (re_compile_fastmap): Can't fail anymore.
7697 (re_search_2): Don't check re_compile_fastmap for failure.
7698 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7699 Now also sets the new value (passed in a new argument).
7700 (re_match_2_internal): Use it.
7701 Also, use a new var `reg' of type size_t when looping through regs
7702 rather than reuse the inappropriate `mcnt'.
7703
d97151cb
SM
7704 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7705 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7706 (where_is_internal): Renamed from Fwhere_is_internal.
7707 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7708 (Fwhere_is_internal): New function wrapping where_is_internal.
7709 (where_is_internal_1): Handle the case where we're filling the cache.
7710 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7711
d5789b65
MB
77122000-10-25 Miles Bader <miles@gnu.org>
7713
7714 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7715
4ecda532
GM
77162000-10-25 Gerd Moellmann <gerd@gnu.org>
7717
7718 * window.c (pos_fully_visible_p): Removed.
7719 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7720 if position is visible and/or fully visible.
7721
7722 * lisp.h (pos_visible_p): Add prototype.
7723
7724 * xdisp.c (pos_visible_p): New function.
7725
68c3a137
KH
77262000-10-25 Kenichi Handa <handa@etl.go.jp>
7727
7728 * process.c (send_process): If OBJECT is t, it means that the data
7729 is from C string, but we should encode it. Before calling
7730 setup_raw_text_coding_system, be sure to flush out data by the
7731 previous coding system.
7732
7ae1c032
MB
77332000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7734
ff4dcd4b
MB
7735 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7736 assignment of startpos to prev when startpos == pos.
7737
7ae1c032
MB
7738 * editfns.c (find_field): Set the field stickiness correctly from
7739 overlay fields. Use renamed `text_property_stickiness'.
7740 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7741 Only check text properties, not overlays.
7ae1c032
MB
7742 * textprop.c (get_char_property_and_overlay): New function.
7743 (Fget_char_property): Use it.
7744 * intervals.h (get_char_property_and_overlay): Add declaration.
7745
49801145
SM
77462000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7747
7748 * keymap.c: Use AREF, ASET and ASIZE macros.
7749 (Fmake_sparse_keymap): Docstring fix.
7750 (synkey): Remove.
7751 (shadow_lookup): Move up.
7752 Handle the case where lookup-key returns an integer.
7753 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7754 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7755 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7756 Simplify/rewrite the keymap-finding code.
7757 Add check for command shadowing, using shadow_lookup.
7758
39e776cd
SM
77592000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7760
7761 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7762 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7763 a symbol.
7764
2488aba5
AI
77652000-10-24 Andrew Innes <andrewi@gnu.org>
7766
7767 * dired.c (directory_files_internal_unwind): New function.
7768 (directory_files_internal): Use it to ensure closedir is called
7769 even if expand-file-name or file-attributes throw, eg. because of
7770 a user interrupt. Also enable immediate_quit while calling
7771 re_search, so that matching can be interrupted as well.
7772
b94fdf61
AI
77732000-10-24 Andrew Innes <andrewi@gnu.org>
7774
7775 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7776 NT-Emacs only.
7777 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7778 so that re_search functions only quit when callers expect them to.
7779
77802000-10-24 Kenichi Handa <handa@etl.go.jp>
7781
7782 * regex.c (regex_compile): Change the way of handling a range from
7783 a char less than 256 to a char not less than 256.
7784
1946f901
GM
77852000-10-24 Gerd Moellmann <gerd@gnu.org>
7786
7ae2f10f
GM
7787 * window.c (size_window): Prevent setting window's width or
7788 height to a negative value (esp. with XSETFASTINT).
7789
5dcab13e
GM
7790 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7791 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7792 (protect_malloc_state) [GC_MALLOC_CHECK &&
7793 GC_PROTECT_MALLOC_STATE]: New function.
7794 (PROTECT_MALLOC_STATE): New macro.
7795 (__malloc_initialize, morecore, _malloc_internal)
7796 (_free_internal) _realloc_internal): Use it to make _heapinfo
7797 read-only outside of gmalloc.
7798
63e1b552
GM
7799 * keymap.c: Update copyright.
7800
1946f901
GM
7801 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7802 a symbol.
7803
4fa09beb
GM
78042000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7805
7806 * filelock.c (unlock_all_files): Use unlock_file to expand each
7807 buffer's file_truename before trying remove its lock file.
7808
23afac01
EZ
78092000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7810
7811 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7812 or CRLF, decode EOLs.
7813
04448b95
KH
78142000-10-24 Kenichi Handa <handa@etl.go.jp>
7815
7816 * window.c (Fdisplay_buffer): Fix doc.
7817
3090a5a5
JR
78182000-10-23 Jason Rumney <jasonr@gnu.org>
7819
7820 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7821 ASCII font of default fontset on Windows.
7822
7823 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7824 xterm.c comment below).
7825
7826 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7827
a83fee2c
GM
78282000-10-23 Gerd Moellmann <gerd@gnu.org>
7829
7830 * xterm.c (x_connection_closed): Reset handling_signal.
7831
52283633 7832 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7833
6ffdb539
MB
78342000-10-23 Miles Bader <miles@gnu.org>
7835
7836 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7837 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7838 maintain old behavior.
7839 * minibuf.c (Fminibuffer_complete): Likewise.
7840
7f1c969b
MB
78412000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7842
7843 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7844 that when a font can't be exactly centered, it errs up rather than
7845 down.
7846
23afac01 78472000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7848
52283633 7849 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7850
1a578e9b
AC
78512000-10-23 Andrew Choi <akochoi@i-cable.com>
7852
7853 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7854
7855 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7856 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7857
7858 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7859 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7860 syms_of_search, x_term_init, and init_keyboard before calling
7861 init_window_once. Also, call syms_of_xmenu.
7862
7863 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7864 default fontset to Monaco.
7865
7866 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7867 NewMacWindow and DisposeMacWindow.
7868 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7869 instead of calling NewMacWindow and setting fields of
7870 f->output_data.mac directly. Call init_frame_faces.
7871 (Fdelete_frame) [macintosh]: Remove unused code.
7872 (Fmodify_frame_parameters) [macintosh]: Call
7873 x_set_frame_parameters instead of mac_set_frame_parameters.
7874
7875 * frame.h [macintosh]: Define menu_bar_lines field in struct
7876 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7877
7878 * keyboard.c [macintosh]: Include macterm.h.
7879 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7880 and menu_bar_activate_event type events as for X and NT.
7881 (make_lispy_event) [macintosh]: Construct lisp events of type
7882 MENU_BAR_EVENT as for X and NT.
7883
7884 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7885 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7886 (sys_subshell) [macintosh]: Remove definition entirely.
7887 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7888 Vwindow_system_version here. Remove initialization of
7889 Vx_bitmap_file_path.
7890 (read_input_waiting): Correct the number of parameters passed to
7891 read_socket_hook.
7892 Move all Macintosh functions to mac/mac.c.
7893
7894 * term.c [macintosh]: Include macterm.h.
7895
7896 * window.c [macintosh]: Include macterm.h.
7897
7898 * xdisp.c [macintosh]: Include macterm.h. Declare
7899 set_frame_menubar and pending_menu_activation.
7900 (echo_area_display) [macintosh]: Do not return if terminal frame
7901 is the selected frame.
7902 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7903 Allow only the selected frame to set menu bar.
7904 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7905 calling FRAME_EXTERNAL_MENU_BAR (f).
7906 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7907
7908 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7909 and check_x. Declare XCreateGC. Define x_create_gc and
7910 x_free_gc. Initialize font_sort_order.
7911 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7912 but call x_list_fonts instead of w32_list_fonts.
7913 (Finternal_face_x_get_resource) [macintosh]: Do not call
7914 display_x_get_resource.
7915 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7916 (realize_x_face) [macintosh]: Load the font if it is specified in
7917 ATTRS.
52283633 7918 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7919
1ffbabe3
SM
79202000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7921
7922 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7923 is nil: since we go to the end of submap anyway, we'd end up
7924 setting nil to nil.
7925 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7926 doesn't obey autoload.
7927
bed43f1d
EZ
79282000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7929
1ffbabe3 7930 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7931
ea4233a7
JR
79322000-10-21 Jason Rumney <jasonr@gnu.org>
7933
7934 * w32term.c (w32_cache_char_metrics): Double check that font is
7935 really fixed pitch before trusting tmPitchAndFamily.
7936
f3d3c491
AI
79372000-10-21 Andrew Innes <andrewi@gnu.org>
7938
7939 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7940
7941 * w32term.h: Extern decl for w32_cache_char_metrics.
7942
7943 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7944
7945 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7946 (w32_unload_font): Free per_char array if present.
7947
7948 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7949 cached information in emulated XFontStruct to handle common cases
7950 quickly. Do not allocate XCharStruct for return.
7951 (w32_native_per_char_metric): New function.
7952 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7953 allocating one.
7954 (x_produce_glyphs): Don't get an HDC. Change calls to
7955 w32_per_char_metric to match arg change above. Remove calls to
7956 free results.
7957 (w32_get_glyph_overhangs): Ditto.
7958 (w32_cache_char_metrics): New function.
7959
7960 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7961 ($(BLD)/casefiddle.$(O)): Remove compile command.
7962 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7963 ($(BLD)/dispnew.obj):
7964 ($(BLD)/keyboard.obj):
7965 ($(BLD)/w32inevt.obj):
7966 ($(BLD)/w32bdf.obj):
7967 ($(BLD)/alloc.obj):
7968 ($(BLD)/buffer.obj):
7969 ($(BLD)/editfns.obj):
7970 ($(BLD)/emacs.obj):
7971 ($(BLD)/fileio.obj):
7972 ($(BLD)/fns.obj):
7973 ($(BLD)/indent.obj):
7974 ($(BLD)/insdel.obj):
7975 ($(BLD)/intervals.obj):
7976 ($(BLD)/minibuf.obj):
7977 ($(BLD)/print.obj):
7978 ($(BLD)/scroll.obj):
7979 ($(BLD)/sysdep.obj):
7980 ($(BLD)/textprop.obj):
7981 ($(BLD)/widget.obj):
f3d3c491
AI
7982 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7983 ($(BLD)/term.obj): Add dependency on dispextern.h.
7984
52283633
SM
7985 * makefile.nt ($(BLD)\dispnew.obj):
7986 ($(BLD)\keyboard.obj):
7987 ($(BLD)\w32inevt.obj):
7988 ($(BLD)\w32bdf.obj):
7989 ($(BLD)\alloc.obj):
7990 ($(BLD)\buffer.obj):
7991 ($(BLD)\editfns.obj):
7992 ($(BLD)\emacs.obj):
7993 ($(BLD)\fileio.obj):
7994 ($(BLD)\fns.obj):
7995 ($(BLD)\indent.obj):
7996 ($(BLD)\insdel.obj):
7997 ($(BLD)\intervals.obj):
7998 ($(BLD)\minibuf.obj):
7999 ($(BLD)\print.obj):
8000 ($(BLD)\scroll.obj):
8001 ($(BLD)\sysdep.obj):
8002 ($(BLD)\textprop.obj):
8003 ($(BLD)\widget.obj):
f3d3c491
AI
8004 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8005 ($(BLD)\term.obj): Add dependency on dispextern.h
8006
18ad4821
EZ
80072000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8008
8009 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8010 with an additional argument of Qt.
8011
de54681a
MB
80122000-10-21 Miles Bader <miles@gnu.org>
8013
8014 * window.c (pos_fully_visible_in_window_p): New function.
8015 (Fpos_visible_in_window_p): Add FULLY argument.
8016 Use pos_fully_visible_in_window_p.
8017 (window_scroll_pixel_based, window_scroll_line_based): Update
8018 calls to Fpos_visible_in_window_p.
8019 * lisp.h (Fpos_visible_in_window_p): Update prototype
8020
13c844fb
GM
80212000-10-20 Gerd Moellmann <gerd@gnu.org>
8022
8023 * alloc.c (toplevel): Conditionalize compilation of mem_*
8024 functions differently.
52283633 8025
d9506268
JR
80262000-10-20 Jason Rumney <jasonr@gnu.org>
8027
8028 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8029 mem_init where it used to be. mem_z etc not defined otherwise.
8030
8094989b
GM
80312000-10-20 Gerd Moellmann <gerd@gnu.org>
8032
8033 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8034 GC_MALLOC_CHECK.
8035 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8036 structure definition and related variabled to the top of the file.
8037 Include this code when GC_MALLOC_CHECK is defined.
8038 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8039 register/unregister allocated region.
8040 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8041 which isn't allocated.
8042 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8043 something which is already in use.
8044 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8045 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8046 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8047 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8048
8049 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8050 _malloc_internal instead of malloc.
8051 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8052 of free.
8053
ea456eb4
AI
80542000-10-20 Andrew Innes <andrewi@gnu.org>
8055
8056 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8057 Windows.
8058 (my_strftime) <macro>: Don't use macro arg list when redefining as
8059 _strftime_copytm.
8060 (my_strftime) <function>: Supply 0 as ut argument.
8061
e64c3a75
JR
80622000-10-19 Jason Rumney <jasonr@altavista.net>
8063
8064 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8065 including dispextern.h, as it stops faces from working.
8066
8067 * w32fns.c (Fx_create_frame): Don't bother calling
8068 face-set-after-frame-default since the caller does it for us
8069 anyway. Clean up calls to x_get_arg to be consistent with X.
8070
8071 * w32term.c (x_produce_glyphs): Handle
8072 unibyte_display_via_language_environment correctly.
8073 (w32_draw_box_rect): Fix the calculation of width and height.
8074
8075 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8076 as it has stopped working.
8077 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8078 menu-bar.
8079
17401c97
GM
80802000-10-19 Gerd Moellmann <gerd@gnu.org>
8081
8082 * eval.c (skip_debugger): Prevent a compiler warning.
8083 (Fcondition_case): Likewise.
8084 (Fbacktrace_frame): Use a null interactive spec.
8085
773272d8
KH
80862000-10-19 Kenichi Handa <handa@etl.go.jp>
8087
8088 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8089
a42943e9
GM
80902000-10-18 Gerd Moellmann <gerd@gnu.org>
8091
e50517d9
GM
8092 * strftime.c: Sync with glibc, file version 1.78.
8093 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8094 should no longer be used according to ISO 8601.
8095
9035a35a
GM
8096 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8097 no map for meta_prefix_char, don't try to use it as a keymap.
8098 Instead, if T_OK is non-zero, look up a default binding, if any,
8099 otherwise, if T_OK is zero, return nil.
8100
a42943e9
GM
8101 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8102 (x_to_xcolors, png_load): Use x_query_color.
8103
52283633
SM
8104 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8105 New functions.
a42943e9
GM
8106 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8107 which can be slow.
8108 (x_copy_color, x_alloc_lighter_color): Likewise.
8109
8110 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8111 (x_query_color, x_query_colors): Add prototype.
8112
8113 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8114 check_string_bytes only if not noninteractive, increase count to 50.
8115
00de2987
MB
81162000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8117
8118 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8119 markers correctly.
8120
54918e2b
GM
81212000-10-17 Gerd Moellmann <gerd@gnu.org>
8122
1f0b3fd2
GM
8123 * alloc.c (pure_bytes_used): Renamed from pureptr.
8124 (ALIGN): New macro.
8125 (pure_alloc): New function.
8126 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8127 Use it.
8128 (Fpurecopy): Use PURE_POINTER_P.
8129
68c5d1db
GM
8130 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8131 PT has moved backward.
52283633 8132
9a038881
GM
8133 * xdisp.c (cursor_row_p): Take continued lines into account.
8134
361b097f
GM
8135 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8136 string's size_byte.
8137 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8138 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8139 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8140 string allocated.
8141
54918e2b
GM
8142 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8143 of selective display off while searching for the next line start.
8144
03ed0806
KH
81452000-10-17 Kenichi Handa <handa@etl.go.jp>
8146
8147 * Makefile.in (term.o): Depend on dispextern.h.
8148
7e05cdaf
SM
81492000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8150
8151 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8152
a6801fd1
GM
81532000-10-16 Gerd Moellmann <gerd@gnu.org>
8154
483de32b
GM
8155 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8156 the iterator at the beginning, so that they can be set later on,
8157 for instance in reseat_at_next_visible_line_start, without being
8158 overwritten.
8159
a6801fd1
GM
8160 * xfns.c (pbm_format): Add :foreground and :background keywords.
8161 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8162 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8163
dbf1fcc1
EZ
81642000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8165
8166 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8167
52283633 8168 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8169
8170 * msdos.c (IT_set_face): Compare highlighted face with the default
8171 face, and invert colors if these faces' colors are identical.
8172 (Fmsdos_remember_default_colors): Don't swap foreground and
8173 background colors in initial_colors[].
8174 (IT_set_frame_parameters): Don't swap frame's foreground and
8175 background pixels. If ALIST includes "(reverse . t)", swap
8176 foreground-color and background-color properties in frame's
8177 param_alist. If the original frame's param_alist doesn't specify
8178 the colors, store unspecified-fg and unspecified-bg, reversed if
8179 required.
8180
8181 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8182 the colors are unspecified and reversed, reverse fore- and back-
8183 ground in the returned value.
8184 (Fframe_parameter): Ditto.
8185
b41fe2c3 81862000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8187
3a6b59d9
GM
8188 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8189 get_last_unchanged_at_beg_row.
8190 (find_first_unchanged_at_end_row): Renamed from
8191 get_first_unchanged_at_end_row.
8192 (find_first_unchanged_at_end_row): Convert assertions to
8193 unconditional tests which abort. When looking for a row in
8194 unchanged text, don't go further back than first_text_row.
8195
b41fe2c3
GM
8196 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8197 Don't add in the last line's height when deciding if the new
8198 position is below the scroll margin.
9d1af64f 8199
b41fe2c3 82002000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8201
8202 * editfns.c (Fconstrain_to_field): Check carefully for field
8203 boundaries if either OLD_POS or NEW_POS has a non-nil field
8204 property, even if they're the same.
8205
c412cb7b
KH
82062000-10-16 Kenichi Handa <handa@etl.go.jp>
8207
8208 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8209 height for XFillRectangle.
8210
5586f3eb
SM
82112000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8212
8213 * syntax.c (Fstring_to_syntax): New function extracted from
8214 Fmodify_syntax_entry.
8215 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8216 (skip_chars, Fforward_comment): Remove unused variables.
8217 (syms_of_syntax): Add defsubr for string-to-syntax.
8218 (describe_syntax): Add code for comment and string fences.
8219
db785038
SM
82202000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8221
8222 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8223 Do the meta->esc mapping. Call get_keyelt before returning.
8224 Start scanning from the second element (the first is always `keymap')
8225 to make it easier to detect when we reach a parent map.
8226 Handle the case of inheriting from a symbol whose function is a map.
8227 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8228 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8229 (get_keyelt, Flookup_key): Update call to access_keymap.
8230 Remove the meta->esc mappings.
8231 (define_as_prefix): Delete old disabled code.
8232 (menu_item_p): New function.
8233 (where_is_internal_1): Skip over the few remaining menu items.
8234 * lisp.h (access_keymap): Update prototype.
8235 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8236 Update call to access_keymap.
8237 (follow_key, read_key_sequence): Update calls to access_keymap.
8238 Remove the meta->esc mappings.
8239
cafafe0b
GM
82402000-10-13 Gerd Moellmann <gerd@gnu.org>
8241
a2e2a7f6
GM
8242 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8243 with additional argument.
8244
cafafe0b
GM
8245 * xdisp.c (cursor_row_p): New function.
8246 (try_cursor_movement, display_line): Use it.
52283633 8247
cafafe0b
GM
8248 * xdisp.c (append_space): Also save/restore iterator's current
8249 character and its length.
8250
8251 * xdisp.c (init_from_display_pos): Add an assertion.
8252 (handle_stop): Don't set iterator's add_overlay_start.
8253 (handle_invisible_prop): Likewise.
8254 (load_overlay_strings): If text under an overlay is invisible,
8255 take both before- and after-strings into account when the iterator
8256 is positioned either at the start or at the end of the overlay.
8257 (forward_to_next_line_start): Rewritten.
8258 (reseat_at_next_visible_line_start): Rewritten.
8259 (set_iterator_to_next): Add parameter RESEAT_P.
8260
8261 * dispextern.h (struct it): Remove member add_overlay_start.
8262 (set_iterator_to_next): Change prototype.
8263
c744452b
KH
82642000-10-13 Kenichi Handa <handa@etl.go.jp>
8265
8266 * coding.c (code_convert_region): Be sure to initialize
8267 coding->category_idx.
e4a3f4e1
KH
8268 (decode_coding_string): Set coding->src_multibyte and
8269 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8270 (encode_coding_string): Set coding->src_multibyte and
8271 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8272
321fd26f
SM
82732000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8274
8275 * xfns.c (Fx_create_frame): Don't bother calling
8276 face-set-after-frame-default since the caller does it for us anyway.
8277
76832439
EZ
82782000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8279
8280 * window.c (coordinates_in_window): Fix detection of vertical line
8281 on character terminals.
8282
2483cf58
GM
82832000-10-12 Gerd Moellmann <gerd@gnu.org>
8284
8285 * editfns.c (save_excursion_save): Additionally record the
8286 selected window.
8287 (save_excursion_restore): If buffer was visible in a window, and a
8288 different window was selected, and the old selected window is
8289 still live, restore point in that window.
8290
eb991b25
KH
82912000-10-12 Kenichi Handa <handa@etl.go.jp>
8292
8a0eba09
KH
8293 * xterm.c (x_produce_glyphs): Handle
8294 unibyte_display_via_language_environment correctly.
8295
20401fcc
KH
8296 * regex.c (regex_compile): Change the way of handling a range from
8297 unibyte char to multibyte char.
8298
8299 * syntax.c (skip_chars): Change the way of handling a range from
8300 unibyte char to multibyte char.
8301
eb991b25
KH
8302 * process.c (read_process_output): Cancel previous change.
8303
365dd325
EZ
83042000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8305
c1b096cb
EZ
8306 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8307
365dd325
EZ
8308 * charset.c (Ffind_charset_string): Doc fix.
8309 (Ffind_charset_region): Doc fix.
8310
eb483c2b
KH
83112000-10-11 Kenichi Handa <handa@mule.m17n.org>
8312
8313 * process.c (read_process_output): Fix previous change. Adjust
8314 multibyteness of text to insert in a buffer by
52283633 8315 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8316
b40bfb99
AS
83172000-10-10 Andreas Schwab <schwab@suse.de>
8318
8319 * alloc.c (mark_object): Remove all workarounds installed on
8320 1993-08-08.
8321
caff31d4
KH
83222000-10-10 Kenichi Handa <handa@etl.go.jp>
8323
52283633 8324 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8325 (base64_encode_1): Make it work for a text of multibyte form.
8326 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8327 case. Don't call str_to_multibyte because base64_decode_1
8328 produces correct multibyte form for eight-bit codes.
52283633 8329 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8330 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8331 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8332 codes.
8333
8334 * charset.h (CHAR_STRING): Optimized for single byte characters.
8335
cba026ef
AS
83362000-10-09 Andreas Schwab <schwab@suse.de>
8337
8338 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8339 -1 after socket is closed, to fall through to error processing.
8340
1e21fe48
EZ
83412000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8342
8343 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8344 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8345 background-color, change also the colors of the default face for
8346 this frame.
8347
a640322e
EZ
83482000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8349
8350 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8351 them extern (they are defined on xfaces.c).
8352 (syms_of_msdos): Don't intern and don't staticpro
8353 Qbackground_color and Qforeground_color.
8354
a115794c
EZ
83552000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8356
8357 * frame.c (Fframe_parameter): For non-windowed frames, if
8358 f->param_alist says foreground or background color is unspecified,
8359 call tty_color_name to return the color name computed from the
8360 frame's current colors.
8361
f5533b63
DL
83622000-10-06 Dave Love <fx@gnu.org>
8363
8364 * terminfo.c (ospeed): Don't declare.
8365
8366 * sysdep.c: Don't include string.h.
8367 (h_errno): Declare conditional also on TRY_AGAIN.
8368
8369 * charset.c (Ffind_charset_string): Doc fix.
8370
52283633 8371 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8372 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8373 error messages.
8374
2b06561a
DL
83752000-10-05 Dave Love <fx@gnu.org>
8376
8377 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8378 position like menu-bar.
8379
ca839c85
GM
83802000-10-05 Gerd Moellmann <gerd@gnu.org>
8381
8382 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8383
8384 * xdisp.c (handle_single_display_prop): Use safe_call1.
8385 (safe_call): Renamed from call_function.
8386 (safe_call1): New function.
8387 (handle_fontified_prop): Use safe_call1 instead of call1.
8388 (safe_eval): Renamed from eval_form.
8389 (safe_eval_handler): Renamed from eval_handler.
8390 (handle_single_display_prop, display_mode_element): Use safe_eval
8391 instead of eval_form.
8392
8393 * xfaces.c (merge_face_heights): Use safe_call instead of
8394 call_function.
8395
8396 * keyboard.c (show_help_echo): Use safe_call instead of
8397 call_function; use safe_eval instead of eval_form.
8398
8399 * lisp.h (safe_call): Renamed from call_function.
8400 (safe_eval): Renamed from eval_form.
8401 (safe_call1): Add prototype.
8402
a3489ece
MB
84032000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8404
8405 * xfns.c (image_ascent): Rearrange ascent calculation for the
8406 has-a-font case.
8407
35810b6f
SM
84082000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8409
8410 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8411 (where_is_internal_1): Don't bother ignoring menu-items any more.
8412
3dc78168
GM
84132000-10-04 Gerd Moellmann <gerd@gnu.org>
8414
8415 * keyboard.c (update_menu_bindings): New variable.
8416 (parse_menu_item): Use AREF. If update_menu_bindings
8417 is 0, don't update menu bindings.
8418 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8419
1efc2bb9
EZ
84202000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8421
8422 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8423 to `mark_object'.
8424
3f679f55
SM
84252000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8426
8427 * syntax.c (forw_comment): Match nestedness of ender/starter.
8428 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8429 (prev_char_comstart_first): Remove.
8430 (back_comment): Check two-char comment markers more carefully
8431 to better handle overlapping cases like *//* or /* */* */ ...
8432 Match nestedness of ender/starter.
8433
2021ab61
DL
84342000-10-02 Dave Love <fx@gnu.org>
8435
8436 * config.in (HAVE_GAI_STRERROR): Add undef.
8437
8438 * process.c (Fopen_network_stream): Use it.
8439
8440 * m/alpha.h (NO_REMAP): Don't define.
8441
64e6cc18
GM
84422000-10-02 Gerd Moellmann <gerd@gnu.org>
8443
8444 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8445 return with a string converted to an integer or vice versa when
8446 Vmocklisp_arguments is t.
8447 (Fsignal): Likewise. The function can return for `quit'.
8448 (struct gcpro): Declare member `var' to point to a volatile
8449 Lisp_Object.
8450
8451 * eval.c (error): Prevent compiler warning.
8452
b1904cd9
SM
84532000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8454
8455 * keymap.c (keymap_memberp): New function.
8456 (Fset_keymap_parent): Use it.
8457 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8458 Use keymap_memberp to avoid creating cycles.
8459 (access_keymap): Use KEYMAPP.
8460
71c9ec51
GM
84612000-09-30 Gerd Moellmann <gerd@gnu.org>
8462
8463 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8464 gai_strerror. Make sure xerrno is set if connect fails. Improve
8465 error recovery.
71c9ec51 8466
c70c6b58
JR
84672000-09-29 Jason Rumney <jasonr@gnu.org>
8468
8469 * w32term.c (w32_char_font_type, w32_encode_char)
8470 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8471 (w32_bdf_per_char_metric): New function.
8472 (w32_per_char_metric): Use it.
8473 (x_draw_glyph_string_background): Always draw background for BDF
8474 glyphs.
8475
8476 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8477 GDI object which is a scarce resource.
8478
8479 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8480 (get_quoted_string): Fix limit on memchr search.
8481 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8482 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8483 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8484 (get_cached_font_char, cache_char_offset): Use macro
8485 BDF_CODEPOINT_RANGE_COVER_P.
8486 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8487 (clear_cached_bitmap_slots): New function.
8488 (GET_HEX_VALUE): G-Z, g-z are not hex.
8489 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8490 (get_bitmap_with_cache): Use new cache implementation.
8491 (create_offscreen_bitmap): New function.
8492 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8493
8494 * w32term.c (x_produce_glyphs): If the distance from the current
8495 position to the next tab stop is less than a canonical character
8496 width, use the tab stop after that.
8497 (x_draw_glyphs): Handle case START and END are out of bounds more
8498 carefully.
8499 (x_clear_mouse_face): Block/unblock input.
8500 (x_display_and_set_cursor): Don't show a hollow box cursor for
8501 buffers whose cursor_type is nil.
8502
fe01239f
GM
85032000-09-29 Gerd Moellmann <gerd@gnu.org>
8504
52283633 8505 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8506
8507 * dispextern.h (updating_frame): Declare extern.
8508
e7c52f1f
AS
85092000-09-29 Andreas Schwab <schwab@suse.de>
8510
8511 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8512
de6e1f7c
GM
85132000-09-29 Gerd Moellmann <gerd@gnu.org>
8514
25126faa
GM
8515 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8516 use its function definition.
8517 (tool_bar_items): Likewise.
8518
de6e1f7c 8519 * lisp.h (fatal): Declare NO_RETURN.
52283633 8520
454ee39b
KH
85212000-09-29 Kenichi Handa <handa@etl.go.jp>
8522
8523 * keymap.c: Remove the line "#undef NULL".
8524
96301c5f
GM
85252000-09-28 Gerd Moellmann <gerd@gnu.org>
8526
52283633 8527 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8528
efffeeb4
DL
85292000-09-28 Dave Love <fx@gnu.org>
8530
ecb8b666
DL
8531 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8532
dc3cd20f
DL
8533 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8534
8535 * .gdbinit (xreload): Note its need on GNU/Linux.
8536
efffeeb4
DL
8537 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8538 r_alloc, r_alloc_free.
8539
8610d903
KH
85402000-09-28 Kenichi Handa <handa@etl.go.jp>
8541
8542 * syntax.c (skip_chars): Handle negation correctly.
8543
8901d1ac
GM
85442000-09-27 Gerd Moellmann <gerd@gnu.org>
8545
6f22f1ad
GM
8546 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8547 with non-zero FORCE_P argument.
8548
52283633 8549 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8550 Add assertions.
8551
8552 * xdisp.c (window_box_height): Add an assertion.
8553
8554 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8555 tool-bar than is available.
8556 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8557
36f1966f
DL
85582000-09-27 Dave Love <fx@gnu.org>
8559
efffeeb4 8560 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8561
31d929e5
GM
85622000-09-26 Gerd Moellmann <gerd@gnu.org>
8563
c98863bf
GM
8564 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8565 instead of BITS_PER_INT.
8566 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8567 EMACS_UINT, respectively.
8568 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8569
8570 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8571
8572 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8573
77072ab1
GM
8574 * window.c (freeze_window_starts): Construct last argument for
8575 foreach_window differently.
8576
8577 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8578
8579 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8580 EMACS_UINT instead of `int' and `unsigned int'.
8581 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8582
8583 * frame.h (struct frame): Make the `nothing' member of union
8584 output_data an EMACS_INT.
8585
52283633 8586 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8587 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8588 size in the sdata structure.
8589 (SDATA_NBYTES, SDATA_DATA): New macros.
8590 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8591 differently for the different layout of the sdata structure.
8592 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8593 in sdata.
8594 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8595 Check that size recorded in the string size and size recorded in
8596 the sdata structure agree.
8597
3e60b029
DL
85982000-09-25 Dave Love <fx@gnu.org>
8599
8600 * buffer.c: Include stdio.h.
8601
8602 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8603
3e60b029
DL
8604 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8605
8606 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8607 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8608 (__malloc_extra_blocks): Declare as __malloc_size_t.
8609
8ff16b4e
GM
86102000-09-25 Gerd Moellmann <gerd@gnu.org>
8611
755a2ccd
GM
8612 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8613
d8b4516f
GM
8614 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8615 (read_char): If help-echo is showing, preserve the echo area
8616 when redisplaying.
8617
8618 * xdisp.c (help_echo_showing_p): New variable.
8619 (set_message): Reset it to 0.
8620 (init_xdisp): Initialize help_echo_showing_p.
8621
8622 * dispextern.h (help_echo_showing_p): Declare extern.
8623
8624 * config.in: Fix typo in __GNUC_MINOR__.
8625
8626 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8627
b11af2dd
GM
8628 * s/freebsd.h (POSIX_SIGNALS): Define.
8629
8ff16b4e
GM
8630 * xterm.c (x_clear_mouse_face): Block/unblock input.
8631
844eb643
DL
86322000-09-24 Dave Love <fx@gnu.org>
8633
8634 * fns.c (base64_encode_1): Fix last change.
8635
b30ab1b3
GM
86362000-09-22 Gerd Moellmann <gerd@gnu.org>
8637
8638 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8639
8640 * xdisp.c (try_window_reusing_current_matrix): More fixes
8641 for the case window has a header-line.
8642
c6cbe5f0
DL
86432000-09-22 Dave Love <fx@gnu.org>
8644
4c7c1f3f
DL
8645 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8646 a doc string.
8647
8648 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8649
c6cbe5f0
DL
8650 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8651
550a625e
GM
86522000-09-21 Gerd Moellmann <gerd@gnu.org>
8653
4c7c1f3f 8654 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8655 for GCC >= 2.5.
8656
52283633
SM
8657 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8658 Declare NO_RETURN.
fca99116 8659
80d26f99
GM
8660 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8661 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8662 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8663 warnings.
52283633 8664
80d26f99
GM
8665 * marker.c (byte_char_debug_check): Return void.
8666
623a0aae
GM
8667 * xfns.c (Fx_create_frame): Set default frame parameter value
8668 for tool-bar-lines to 1.
8669
8670 * dispnew.c (scrolling_window): Compare y-positions of rows
8671 equal at the start. Some simplification.
8672
8673 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8674 reused rows' y-position in the case window has a header-line, and
8675 new window start is greater than old window start.
8676
42ac0ae5
GM
8677 * process.c (process_sent_to): New variable.
8678 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8679 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8680 Declare more parameters volatile.
8681
550a625e
GM
8682 * lread.c (Vrecursive_load_depth_limit): New variable.
8683 (Fload): Check recursive loads whose recursion depth exceeds
8684 Vrecursive_load_depth_limit.
8685 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8686
8320414c
GM
86872000-09-20 Gerd Moellmann <gerd@gnu.org>
8688
f46c275e
GM
8689 * fileio.c (Fread_file_name): Doc fix.
8690
8691 * editfns.c (Fmessage_or_box): Doc fix.
8692
8693 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8694
b7e11c5b 8695 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8696
8320414c
GM
8697 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8698 symbols are specified, add color translations to the cache.
52283633 8699 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8700 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8701 xpm_cache_color.
8702 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8703 structures to xpm_init_color_cache.
8704
da1608d9
GM
87052000-09-19 Gerd Moellmann <gerd@gnu.org>
8706
52283633 8707 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8708
6badfa25
AI
87092000-09-19 Andrew Innes <andrewi@gnu.org>
8710
8711 * makefile.nt (bootstrap-emacs): Don't change directory.
8712
3a5f42bb
KH
87132000-09-19 Kenichi Handa <handa@etl.go.jp>
8714
1b7649bd
KH
8715 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8716
3a5f42bb
KH
8717 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8718 If output buffer is too small, signal an appropriated error.
8719
9f83cf0b
DL
87202000-09-18 Dave Love <fx@gnu.org>
8721
52283633 8722 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8723 (current_active_maps): Remove redundant get_local_map call.
8724
28c7826c
GM
87252000-09-18 Gerd Moellmann <gerd@gnu.org>
8726
5cefa566
GM
8727 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8728 cursor for buffers whose cursor_type is nil.
52283633 8729
6fed3546
GM
8730 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8731 a feature to implement that is already implemented.
8732 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8733 warnings.
8734
8735 * xfns.c (x_clear_image_1): New function.
8736 (x_clear_image): Use it.
52283633 8737 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8738
05b1f851
GM
8739 * dispnew.c (update_window): Move test for invisible lines
8740 at the top to update_window_line.
8741 (update_window_line): Handle invisible lines here.
8742
f4779de9
GM
8743 * xfns.c (clear_image_cache): Clear current matrices of all
8744 frames sharing an image cache. Block input while freeing
8745 images. Fix timestamp comparison.
8746 (x_clear_image): Also free the mask.
8747
28c7826c
GM
8748 * xfns.c (lookup_image): Block input while loading the image so
8749 that we won't get interrupted in a state where the image isn't yet
8750 set up completely.
8751 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8752 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8753 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8754 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8755
b7412313
GM
87562000-09-16 Gerd Moellmann <gerd@gnu.org>
8757
8758 * dispnew.c (update_window): Make sure to make desired rows
8759 current even if they are completely invisible at the top
8760 of a window.
8761
47e351a3
GM
87622000-09-15 Gerd Moellmann <gerd@gnu.org>
8763
7f8f1edc
GM
8764 * xfns.c (lookup_image): Build mask before applying an algorithm.
8765 Recognize algorithm `disabled'.
8766 (cross_disabled_images): New variable.
8767 (COLOR_INTENSITY): New macro.
8768 (x_detect_edges): Use COLOR_INTENSITY.
8769 (x_disable_image): New function.
8770 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8771
8772 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8773 disabled state, don't apply an image transformation algorithm if
8774 the user specified an image for the disabled state. Use
28c7826c 8775 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8776 user hasn't specified an image.
8777
ebb8f116
GM
8778 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8779 allocation functions with the XPM lib.
8780 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8781 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8782 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8783 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8784 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8785 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8786 functions, if possible, because these handle color allocation
8787 failure more gracefully.
8788 (Fimage_mask_p): New function.
8789
47e351a3
GM
8790 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8791 (Qedge_detection, Qheuristic): New symbols.
8792 (syms_of_xfns): Initialize new symbols.
8793 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8794 `algorithm (edge-detection ...)'.
8795 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8796 (tiff_format, gif_format, gs_format): Add `:mask'.
8797 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8798 (GIF_MASK, GS_MASK): New enumerators.
8799 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8800 (emboss_matrix, laplace_matrix): New variables.
8801 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8802 (x_edge_detection): New functions.
8803 (x_laplace): Rewritten in terms of x_detect_edges.
8804 (x_build_heuristic_mask): If image has a mask, free it.
8805
fe83b953
AI
88062000-09-14 Andrew Innes <andrewi@gnu.org>
8807
8808 * makefile.w32-in: Revert to Unix line endings.
8809
3021e816
AI
88102000-09-14 Andrew Innes <andrewi@gnu.org>
8811
8812 * makefile.w32-in: Standardize indentation somewhat.
8813 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8814 cater for differences between shells.
8815
8816 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8817
2a32b5ea
GM
88182000-09-14 Gerd Moellmann <gerd@gnu.org>
8819
8820 * xterm.c (x_produce_glyphs): If the distance from the current
8821 position to the next tab stop is less than a canonical character
8822 width, use the tab stop after that.
8823
b4331e96
DL
88242000-09-14 Dave Love <fx@gnu.org>
8825
8826 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8827
ef9e4345
GM
88282000-09-14 Gerd Moellmann <gerd@gnu.org>
8829
085536c2
GM
8830 * xdisp.c (handle_fontified_prop): While running fontification
8831 functions, bind `fontification-functions' and
8832 `after-change-functions' to nil.
8833
ef9e4345
GM
8834 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8835 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8836
8837 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8838
8839 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8840 USE_MMAP_FOR_BUFFERS.
8841
8842 * insdel.c (make_gap): Use enlarge_buffer_text.
8843
8844 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8845 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8846 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8847 from former r_alloc_* functions in ralloc.c.
52283633 8848 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8849 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8850 (mmap_init) [REL_ALLOC_MMAP]: New function.
8851 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8852 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8853 BUFFER_FREE.
8854
8855 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8856 (enlarge_buffer_text): Add prototype.
8857
8858 * ralloc.c: Remove everything having to do with the use of mmap.
8859
f8608968
GM
88602000-09-13 Gerd Moellmann <gerd@gnu.org>
8861
2a494b2d
GM
8862 * sound.c (Fplay_sound): Doc fix.
8863
8c907a56
GM
8864 * keyboard.c: Avoid some more compiler warnings.
8865 (parse_tool_bar_item): Ignore cached key bindings.
8866
f8608968
GM
8867 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8868 and allocation of Lisp data.
8869
6ab70e9a
GM
88702000-09-12 Gerd Moellmann <gerd@gnu.org>
8871
d12d0a9b
GM
8872 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8873 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8874 defaults first.
8875
6ab70e9a
GM
8876 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8877
63c36c3c
KH
88782000-09-12 Miyashita Hisashi <himi@meadowy.org>
8879
8880 * ccl.c: Comment fixed.
8881 (MAX_MAP_SET_LEVEL): Increased to 30.
8882 (PUSH_MAPPING_STACK): Enclose with do-while block.
8883 (POP_MAPPING_STACK): Likewise.
8884 (stack_idx_of_map_multiple): New variable.
8885 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8886 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8887 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8888 (ccl_driver) <CCL_MapSingle>: Likewise.
8889 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8890 with the case where looking up process reaches to the end of
8891 map-set, and call CCL programs as the above change.
8892
7ee3bd7b
GM
88932000-09-11 Gerd Moellmann <gerd@gnu.org>
8894
8ec8a5ec
GM
8895 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8896 that might be clobbered by longjmp.
8897 (check_x_display_info, x_decode_color, create_frame_xic)
8898 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8899 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8900
f74b0705
GM
8901 * lread.c (init_lread): Set Vloads_in_progress to nil.
8902 (Fload): Show list of recursively loaded files, when signaling an
8903 error.
8904
7ee3bd7b
GM
8905 * lread.c (Vloads_in_progress): New variable.
8906 (record_load_unwind): New function.
8907 (Fload): Check for recursive loads.
8908 (syms_of_lread): Initialize Vloads_in_progress.
8909 (read_integer, read1): Avoid some compiler warnings.
8910
8911 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8912 compiler warnings.
8913
974e1e5b
MB
89142000-09-11 Miles Bader <miles@gnu.org>
8915
8916 * editfns.c (Fbuffer_string): Doc fix.
8917
9824c4e3
GM
89182000-09-10 Gerd Moellmann <gerd@gnu.org>
8919
8920 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8921
6a72fdd1
KR
89222000-09-09 Ken Raeburn <raeburn@gnu.org>
8923
8924 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8925 whether to include other header files.
8926
28e6fb66
GM
89272000-09-09 Gerd Moellmann <gerd@gnu.org>
8928
52283633 8929 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8930 by Fmemq as a boolean.
28e6fb66 8931
7f8b6551
SM
89322000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8933
8934 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8935
a8710abf
GM
89362000-09-08 Gerd Moellmann <gerd@gnu.org>
8937
d1a02881
GM
8938 * ralloc.c (mmap_fd): Remove initializer which can make it
8939 read-only in a dumped Emacs.
8940 (mmap_fd_1): New variable.
8941 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8942 restore it from there.
8943 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8944 unconditionally so that mmap_fd can be initialized there.
8945 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8946 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8947 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8948
c454aac1
GM
8949 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8950
8951 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8952 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8953
fc653ef2
GM
8954 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8955
3015eec0
GM
8956 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8957 inheritance.
8958
bfe0ee88
GM
8959 * xdisp.c (try_window_id): When trying to locate cursor in
8960 unchanged rows at the top, handle the case that we can't find it.
8961
a8710abf
GM
8962 * xterm.c (x_draw_glyphs): Handle case START and END are out
8963 of bounds more carefully.
8964
6b7d4ae4
DL
89652000-09-08 Dave Love <fx@gnu.org>
8966
423193c5
DL
8967 * s/sol2.h (REL_ALLOC_MMAP): Define.
8968 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8969
8970 * ralloc.c: Don't include string.h (redundant).
8971 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8972 [!MAP_ANON]: Include fcntl.h.
8973 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8974 (r_alloc, r_re_alloc, r_alloc_free)
8975 (mmap_enlarge, mmap_set_vars): Use it.
8976 (r_alloc_init_fd): New function.
8977 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8978 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8979 malloc type.
8980
8981 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8982 Remove vm-limit.o.
8983
6b7d4ae4
DL
8984 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8985 change to __NetBSD__.
8986
44d31981
KH
89872000-09-08 Kenichi Handa <handa@etl.go.jp>
8988
8989 * search.c (compile_pattern): Check the multibyteness of cached
8990 string and PATTERN.
8991
aad40737
MB
89922000-09-08 Miles Bader <miles@gnu.org>
8993
8994 * xfaces.c (default_face_vector): Function removed.
8995 (Finternal_merge_in_global_face): Restore old global/local
8996 attribute override order. Use inline loop instead of calling
8997 default_face_vector.
8998
91a211b5
GM
89992000-09-07 Gerd Moellmann <gerd@gnu.org>
9000
9001 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9002 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9003 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9004 where necessary, in case POINTER_TYPE is `void'.
9005
03419440
EZ
90062000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9007
9008 * frame.c (make_terminal_frame): Initialize frame foreground and
9009 background colors to unspecified, for the initial instance of an
9010 MSDOS frame.
9011
f46f845b
GM
90122000-09-07 Gerd Moellmann <gerd@gnu.org>
9013
24f76fbf
GM
9014 * ralloc.c (mmap_find): Fix overlap computation.
9015 (mmap_enlarge): Compute nbytes before trying to find an
9016 overlapping region.
9017
f46f845b
GM
9018 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9019 instead of `!='.
9020
9021 * lread.c (syms_of_lread): Change value of regexp
9022 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9023
9024 * xmenu.c (xdialog_show): When looking up the selection in
9025 menu_items, take `quote' boundaries into account; this corresponds
9026 to a nil ITEM in x-popup-dialog.
9027
3c014385
KH
90282000-09-07 Kenichi Handa <handa@etl.go.jp>
9029
fd6f711b
KH
9030 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9031 not 0x81.
9032 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9033
3c014385 9034 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9035 encoding, not decoding. Fix the handling of latin-jisx0201.
9036 Check for the charset katakana-jisx0201 too.
3c014385 9037 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9038 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9039
0da3ecef
GM
90402000-09-07 Gerd Moellmann <gerd@gnu.org>
9041
ab0ee409
GM
9042 * xfaces.c (Vparam_value_alist): New variable.
9043 (syms_of_xfaces): Initialize it.
9044 (Finternal_set_lisp_face_attribute): Avoid more consing.
9045
9046 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9047 specially.
9048 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9049 (Qbackground_mode): New variable.
9050 (syms_of_frame_1): Initialize Qbackground_mode.
9051
9052 * lisp.h (Qdisplay): Declare extern.
1091dd67 9053
0da3ecef
GM
9054 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9055 change face on all frames, and change the default for new frames.
9056
b14654b9
DL
90572000-09-07 Dave Love <fx@gnu.org>
9058
9059 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9060
d24fd56f
KH
90612000-09-07 Kenichi Handa <handa@etl.go.jp>
9062
794f3670
KH
9063 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9064
0fddd0dc
KH
9065 * charset.c: Include composite.h
9066 (lisp_string_width): New function.
9067 (Fstring_width): Call lisp_string_width instead of strwidth.
9068
9069 * Makefile.in (charset.o): Depends on composite.h.
9070
d24fd56f
KH
9071 * process.c (read_process_output): Before inserting the decoded
9072 text in the buffer, adjust the multibyteness.
9073
fa0b693c
GM
90742000-09-06 Gerd Moellmann <gerd@gnu.org>
9075
52283633 9076 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9077 buffer's text buffer is null, map new memory.
9078
0a58f946
GM
9079 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9080 POINTER_TYPE and size_t.
9081 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9082 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9083 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9084 [REL_ALLOC_MMAP]: New macros.
9085 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9086 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9087 [REL_ALLOC_MMAP]: New functions.
9088
9089 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9090 before and after unexec.
9091
9092 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9093 text buffers if necessary.
9094
9095 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9096 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9097 in prototypes.
9098
fa0b693c
GM
9099 * config.in (HAVE_MMAP): Add #undef.
9100
877055f6
GM
91012000-09-05 Gerd Moellmann <gerd@gnu.org>
9102
08ba3862
GM
9103 * frame.c (Qdisplay_type): New variable.
9104 (syms_of_frame_1): Initialize it.
9105 (Fframe_parameter): New function that avoids consing.
9106 (syms_of_frame): Defsubr it.
9107
66ffe51c
GM
9108 * buffer.c (Fother_buffer): Consider buffers as invisible when
9109 they are displayed in a window on an invisible frame.
9110
877055f6
GM
9111 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9112 get-largest-window always return nil.
9113
bb970e67
GM
91142000-09-04 Gerd Moellmann <gerd@gnu.org>
9115
9116 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9117 variable; recognize Emacs 19 elc files.
9118
7a3d0e0e
MB
91192000-09-04 Miles Bader <miles@gnu.org>
9120
9121 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9122 before initially popping up the menu, so the menu doesn't flash
52283633 9123 when the face settings are significantly different from the defaults.
7a3d0e0e 9124
14473664
SM
91252000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9126
9127 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9128 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9129 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9130 (BIT_UNIBYTE): Remove.
9131 (re_match_2_internal): Delete corresponding code and streamline the
9132 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9133 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9134 (re_wctype_t): New type.
9135 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9136 (regex_compile): Use them and fix handling of overly long char classes.
9137
c1174479
AI
91382000-09-03 Andrew Innes <andrewi@gnu.org>
9139
f8803e97
AI
9140 * makefile.w32-in: Change to DOS line endings.
9141
c1174479
AI
9142 * s/ms-w32.h (ORDINARY_LINK): New define.
9143
9144 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9145 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9146
9147 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9148 (distclean): Delete them here instead.
9149
44ef7cf6
AI
9150 * w32proc.c (compare_env): Convert to uppercase for comparison,
9151 not lowercase, to match how the native Windows shell works.
9152
49b3bd82
JR
91532000-09-03 Jason Rumney <jasonr@gnu.org>
9154
9155 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9156 CVS changes the line-ends when checking in/out on DOS/Windows.
9157
9158 * makefile.nt (emacs): Do not change directory to run temacs, as
9159 the load-path is set relative to current directory.
9160
a3d35a39
MB
91612000-09-03 Miles Bader <miles@gnu.org>
9162
9163 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9164
d276b0cf
GM
91652000-09-02 Gerd Moellmann <gerd@gnu.org>
9166
715e84c9
GM
9167 * xdisp.c (redisplay_mode_lines): New function.
9168 (display_mode_lines): Return number of mode lines displayed.
9169 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9170 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9171
8892f40b
GM
9172 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9173 string.h and strings.h.
9174 (index) [HAVE_INDEX]: Add prototype.
9175
d276b0cf
GM
9176 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9177 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9178
9179 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9180 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9181
38404229
GM
91822000-09-01 Gerd Moellmann <gerd@gnu.org>
9183
9184 * lread.c (read1): Accept `?' as symbol constituent, for
9185 compatiblity with XEmacs.
9186
c0f9ea08
SM
91872000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9188
9189 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9190 (struct re_pattern_buffer): Remove newline_anchor.
9191 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9192 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9193 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9194 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9195 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9196 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9197 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9198 Get rid of references to newline_anchor.
9199 (regcomp): Allocate and precompute a fastmap.
9200
8c0f83fe
GM
92012000-08-31 Gerd Moellmann <gerd@gnu.org>
9202
9203 * lread.c (openp): GCPRO local variable `filename'.
9204
4bb91c68
SM
92052000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9206
9207 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9208
9209 * regex.c: Merge some changes from GNU libc. Add prototypes.
9210 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9211 Use memcmp and memcpy instead of bcopy and bcmp.
9212 (init_syntax_once): Use ISALNUM.
9213 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9214 (REG_UNSET_VALUE): Remove. Use NULL instead.
9215 (REG_UNSET, re_match_2_internal): Use NULL.
9216 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9217 New macros.
9218 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9219 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9220 (regex_compile): In handle_interval, return an error rather than try to
9221 unfetch the interval if we can't find the closing brace.
9222 Obey the RE_NO_GNU_OPS syntax bit.
9223 (TOLOWER): New macro.
9224 (regcomp): Use it.
9225 (regexec): Allocate regs.start and regs.end as one block.
9226
5226a931
GM
92272000-08-30 Gerd Moellmann <gerd@gnu.org>
9228
868dd24b
GM
9229 * xdisp.c (echo_area_display): Check display_completed instead
9230 of calling detect_input_pending.
9231
9232 * dispnew.c (update_frame): Only set display_completed here; move
9233 the update_begin and update_end calls here from update_frame_1.
9234 (update_frame_1): Don't set display_completed here, don't call
9235 update_begin/update_end.
9236
5226a931
GM
9237 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9238 instead of store_frame_param.
9239
2a8bd25f
GM
92402000-08-29 Gerd Moellmann <gerd@gnu.org>
9241
9242 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9243 desired window matrix hasn't been displayed, use the current row
9244 instead. Make sure that only those frame rows are updated for
9245 which there exists a corresponding enabled desired row.
52283633 9246
ba3478d9
MB
92472000-08-29 Miles Bader <miles@gnu.org>
9248
9249 * xfaces.c (default_face_vector): New function.
9250 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9251
87d0f685
GM
92522000-08-29 Gerd Moellmann <gerd@gnu.org>
9253
9254 * lread.c (openp): Prevent temporary string passed to
9255 Ffile_readable_p from being garbage collected.
9256
6fa86045
DL
92572000-08-28 Dave Love <fx@gnu.org>
9258
9259 * keymap.c (store_in_keymap): Add `static' to declaration.
9260
bb17930d
GM
92612000-08-28 Gerd Moellmann <gerd@gnu.org>
9262
9263 * emacs.c, callint.c, doc.c, editfns.c
9264 (toplevel) [HAVE_STRING_H]: Include string.h.
9265 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9266 (index): Remove prototypes which might conflict with non-standard
9267 definitions of index/strchr.
9268
9269 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9270 (rindex): Define only if !HAVE_RINDEX.
9271
9272 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9273
9274 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9275
87188200
MB
92762000-08-28 Miles Bader <miles@gnu.org>
9277
9278 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9279 made inconsistent by a font-related attribute in FROM.
9280 (merge_face_inheritance): Add function comment.
9281
41a68aef
KH
92822000-08-28 Kenichi Handa <handa@etl.go.jp>
9283
9284 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9285 the 4th arg (PREV_EVENT) Qt to suppress input method.
9286
f7c436c1
SM
92872000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9288
0b32bf0e
SM
9289 * regex.c: Indent cpp directives and remove parens after `defined'.
9290 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9291 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9292 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9293 (re_compile_pattern): Use size_t for length.
9294 (init_syntax_once): Move to a better place.
9295 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9296 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9297
f7c436c1
SM
9298 * syntax.c (back_comment): Detect cases where a comment-starter is
9299 actually inside another comment as in: /* a // b */ c // d \n.
9300 Make it clear that `comstart_pos' is unused for nested comments.
9301
9302 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9303 (KEYMAPP): New macro.
9304 (Fkeymap_parent, Fset_keymap_parent): Use it.
9305 (fix_submap_inheritance): Mark it static.
9306 (define_as_prefix, describe_buffer_bindings, describe_command)
9307 (describe_translation, describe_map): Complete prototypes.
9308
9309 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9310
9311 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9312 to better match the key-lookup behavior.
9313
6288c62f
GM
93142000-08-27 Gerd Moellmann <gerd@gnu.org>
9315
9316 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9317 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9318
e931344e
EZ
93192000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9320
9321 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9322 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9323 (xterm.o): Depend on coding.h
9324
d10dfeef
KH
93252000-08-26 Kenichi Handa <handa@etl.go.jp>
9326
9327 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9328 the corresponding '#endif'.
9329
2d73e8d3
MB
93302000-08-26 Miles Bader <miles@gnu.org>
9331
9332 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9333 * xfaces.c (QCinherit): New variable.
9334 (syms_of_xfaces): Initialize it.
9335 (LFACE_INHERIT): New macro.
9336 (Finternal_get_lisp_face_attribute)
52283633 9337 (merge_face_vector_with_property)
2d73e8d3
MB
9338 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9339 (check_lface_attrs): Allow new types of face height. Check
9340 inherit attribute.
9341 (CYCLE_CHECK): New macro.
9342 (merge_face_inheritance): New function.
9343 (merge_face_vectors): Merge inherited faces too. Add F and
9344 CYCLE_CHECK arguments.
9345 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9346 (lookup_named_face, lookup_derived_face, realize_named_face)
9347 (face_at_string_position, face_at_buffer_position): Supply
9348 new F and CYCLE_CHECK arguments to merge_face_vectors.
9349 (merge_face_heights): New function.
52283633 9350 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9351 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9352 handle relative face heights.
9353 (lface_same_font_attributes_p): Compare heights using EQ.
9354
6ce974d4
KH
93552000-08-26 Kenichi Handa <handa@etl.go.jp>
9356
9357 * charset.c (char_to_string): Check the character validity.
52283633 9358 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9359
dc1e502d
SM
93602000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9361
9362 * regex.c (PUSH_FAILURE_COUNT): New macro.
9363 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9364 Handle popping of a register's or a counter's data.
9365 (POP_FAILURE_POINT): Use the new name.
9366 (re_match_2_internal): Push counter data on the stack for succeed_n,
9367 jump_n and set_number_at and remove misleading dead code in succeed_n.
9368
bd9d0f3f
GM
93692000-08-25 Gerd Moellmann <gerd@gnu.org>
9370
9371 * xdisp.c (redisplay_internal): If considering all windows on all
9372 frames, update the display for each frame as soon as possible,
9373 instead of first building all desired matrices for all frames, and
9374 then updating them all.
9375 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9376
aa5b8e15
GM
93772000-08-24 Gerd Moellmann <gerd@gnu.org>
9378
17494071
GM
9379 * bytecode.c (mark_byte_stack): Add a comment.
9380
52283633
SM
9381 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9382 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9383 a graphical frame.
9384
c543db81
KH
93852000-08-24 Kenichi Handa <handa@etl.go.jp>
9386
d246d5f5
KH
9387 * minibuf.c (do_completion): Always use compare-string, not
9388 string-equal because the latter doesn't pay attention to
9389 multibyteness of strings.
9390
c543db81
KH
9391 * process.c (create_process): Don't setup raw-text coding here.
9392 (Fopen_network_stream): Don't set coding->src_multibyte and
9393 coding->dst_multibyte here.
9394 (read_process_output): For process filter, return unibyte string
9395 if default-enable-multibyte-characters is nil.
9396 (send_process): If OBJECT is multibyte text, be sure to encoded it
9397 by the specified coding system for the process. Otherwise, setup
9398 raw-text coding.
52283633 9399 (init_process): Don't initialize default-process-coding-system here.
c543db81 9400
9b47cfe0
EZ
94012000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9402
9403 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9404 <scroll-down-aggressively>: Likewise.
9405
f5a36960
KH
94062000-08-23 Kenichi Handa <handa@etl.go.jp>
9407
9408 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9409 zero. Set coding->produced_char correctly.
9410
69a7ffa7
AI
94112000-08-22 Andrew Innes <andrewi@gnu.org>
9412
9413 * makefile.w32-in: New file.
9414
9415 * unexw32.c (unexec): Ignore old_name, and use the actual location
9416 of the current executable instead. Base new_name on this.
9417
9418 * w32proc.c (create_child): Remove reference to security
9419 descriptor, which isn't needed and doesn't compile with mingw32.
9420
9421 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9422 up dllimport attributes.
9423 (x_update_window_end): Update prototype.
9424
9425 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9426 extern, which screws up dllimport attributes.
9427
9428 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9429 up dllimport attributes.
9430
9431 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9432 screws up dllimport attributes.
9433
9434 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9435 up dllimport attributes.
9436 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9437 screws up dllimport attributes.
9438
9439 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9440 up dllimport attributes.
9441
9442 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9443 screws up dllimport attributes.
9444
9445 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9446 screws up dllimport attributes.
9447
9448 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9449 up dllimport attributes.
9450
9451 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9452 unnecessary extern, which screws up dllimport attributes.
9453 (main): Ditto.
9454
9455 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9456 up dllimport attributes.
9457
9458 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9459 unnecessary extern, which screws up dllimport attributes.
9460
9461 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9462 screws up dllimport attributes.
9463
9464 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9465 up dllimport attributes.
9466
9467 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9468
52283633
SM
9469 * w32bdf.c (search_file_line):
9470 (set_bdf_font_info):
9471 (seek_char):
9472 (w32_get_bdf_glyph):
69a7ffa7
AI
9473 (w32_BDF_to_x_font): Fix compile warnings.
9474
52283633 9475 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9476
9477 * w32select.c: Include keyboard.h before frame.h.
9478
9479 * w32fns.c (max): Define macro.
9480 (JOHAB_CHARSET): Define if not known.
9481 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9482 (Fx_show_tip): Synch with X version.
9483
9484 * w32xfns.c: Include keyboard.h before frame.h.
9485
9486 * w32fns.c: Include keyboard.h before frame.h.
9487
9488 * w32term.c: Include keyboard.h before frame.h.
9489
9490 * fontset.c: Include keyboard.h before frame.h.
9491
9492 * w32inevt.c: Include keyboard.h before frame.h.
9493 (MOUSE_MOVED): Define if not known.
9494
9495 * minibuf.c: Include keyboard.h before frame.h.
9496
9497 * keyboard.c: Include keyboard.h before frame.h.
9498
9499 * indent.c: Include keyboard.h before frame.h.
9500
9501 * dispnew.c: Include keyboard.h before frame.h.
9502
9503 * buffer.c: Include keyboard.h before frame.h.
9504
9505 * alloc.c: Include keyboard.h before frame.h.
9506
9507 * print.c: Include keyboard.h before frame.h.
9508
9509 * process.c: Include keyboard.h before frame.h.
9510
9511 * scroll.c: Include keyboard.h before frame.h.
9512
9513 * sysdep.c: Include keyboard.h before frame.h.
9514
9515 * term.c: Include keyboard.h before frame.h.
9516
9517 * window.c: Include keyboard.h before frame.h.
9518
9519 * xdisp.c: Include keyboard.h before frame.h.
9520 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9521
9522 * frame.c: Include keyboard.h before frame.h.
9523
9524 * w32heap.h: Undefine min, max.
9525
9526 * w32gui.h: Undefine min, max.
9527
9528 * unexw32.c: Change PUCHAR to PCHAR.
9529 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9530 (relocate_offset):
9531 (get_section_info):
69a7ffa7
AI
9532 (copy_executable_and_dump_data): Remove unnecessary static defs.
9533 (copy_executable_and_dump_data): Fix compile warnings.
9534
9535 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9536
9537 * w32console.c (min): Define macro.
9538 (clear_frame, write_glyphs): Fix compile warning.
9539
52283633 9540 * w32proc.c (compare_env):
69a7ffa7
AI
9541 (find_child_console): Fix compile warning.
9542
9543 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9544 sys_errlist instead of _sys_errlist.
9545 (get_emacs_configuration_options): New function.
9546
9547 * s/ms-w32.h (sys_nerr): Provide default definition.
9548 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9549 name with _ prepended.
9550 (NSIG): Define if not known.
9551 (get_emacs_configuration): Provide extern declaration.
9552 (get_emacs_configuration_options): Provide extern declaration.
9553 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9554
9555 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9556 (map_w32_filename):
69a7ffa7
AI
9557 (read_unc_volume): Fix compile warning.
9558
9559 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9560 definitions from being used.
9561
9562 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9563
52283633 9564 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9565 (open_unc_volume): Make arg const.
9566
9567 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9568 (read_input_waiting): Remove excess parameter.
9569
9570 * w32.c (init_environment): Call _access.
9571 (check_windows_init_file): Call _close.
9572 (init_user_info): Call _putenv.
9573 (init_environment): Call _putenv and _strdup.
9574 (init_ntproc): Reset volume info cache on startup.
9575
9576 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9577 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9578 cannot override the CRT malloc.
9579
9580 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9581 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9582
9583 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9584 unless we are linking with a static CRT.
9585 (RVA_TO_PTR): Cast result to unsigned char*.
9586
9587 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9588 (add_volume_info): Use xstrdup.
9589
25060080
SM
95902000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9591
9592 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9593 (do_completion, Fminibuffer_complete_word): Use it.
9594 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9595 var so it can take non-boolean values.
9596
6917e6bb
GM
95972000-08-21 Gerd Moellmann <gerd@gnu.org>
9598
acb7cc89 9599 * editfns.c (find_field): Formatting changes.
52283633 9600 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9601 changed to prototypes, some new protypes added, some functions
9602 made static.
9603
9604 * lisp.h (set_time_zone_rule): Add prototype.
9605 (use_dialog_box): External declaration.
9606
0bbfdc25
GM
9607 * keyboard.c (gen_help_event): Add parameter SIZE.
9608 (kbd_buffer_events_waiting): Slightly rewritten.
9609 (clear_event): New function.
9610 (kbd_buffer_get_event): Use it, and clear the input_events of
9611 HELP_EVENTs.
9612 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9613 don't fill the newly created array with nils.
9614 (toplevel): Convert some old-style function forward declarations
9615 to prototypes.
9616
9617 * keyboard.h (gen_help_event): Change prototype.
9618
9619 * xterm.c (XTread_socket): Change calls to gen_help_event.
9620
9621 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9622
6917e6bb
GM
9623 * eval.c (Fmacroexpand): Doc fix.
9624
e5cd3d11
JR
96252000-08-20 Jason Rumney <jasonr@gnu.org>
9626
9627 * w32term.h (x_display_info_for_display): Remove as this function
9628 does not exist on W32.
9629
9630 * w32term.c (help_echo_window): New variable.
9631 (syms_of_w32term): staticpro it.
9632 (note_mode_line_highlight): Set it.
9633 (XTextExtents16): Removed as there is no equivalent on W32.
9634 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9635 the X way of doing this will not work for W32.
9636 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9637 (x_draw_image_foreground): Avoid drawing outside of the clip area
9638 when image doesn't have a mask.
9639 (note_mouse_highlight): Process overlays in the right order of
9640 priority. Set help_echo_window.
9641 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9642 because that's more visible for large images.
9643
9644 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9645 name to single_keymap_panes.
9646 (w32_menu_show): Set wv->title when dealing with titles.
9647 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9648
6e69ab8c
MB
96492000-08-21 Miles Bader <miles@gnu.org>
9650
9651 * minibuf.c (do_completion): Try again if we rewrite the input
9652 string, but no completion was done, so that any completion message
9653 will be correct.
9654
511bd4eb
GM
96552000-08-20 Gerd Moellmann <gerd@gnu.org>
9656
9657 * xfaces.c (lface_equal_p): Compare strings differently.
9658 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9659 (realize_tty_face): Use them.
9660 (syms_of_xfaces): Initialize new variables.
9661 (map_tty_color): New function, extracted from realize_tty_face.
9662 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9663 foreground or background color, store the new color name in the
9664 realized face; previous code trying to do this had no effect.
9665 (realize_tty_face): Use map_tty_color.
9666 (Fclear_face_cache): Set face_change_count and ensure thorough
9667 redisplay.
9668
1433385f
GM
96692000-08-19 Gerd Moellmann <gerd@gnu.org>
9670
511bd4eb
GM
9671 * undo.c (record_first_change, record_marker_adjustment): Don't
9672 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9673
419ac0a2
KH
96742000-08-18 Kenichi Handa <handa@etl.go.jp>
9675
9676 * coding.c (decode_coding_string): Set members consumed,
9677 consumed_char, produced, produced_char of *coding correctly. If
9678 decode_coding doesn't consume any byte, don't try anymore.
9679 (encode_coding_string): Likewise.
9680
7eb9e30d
GM
96812000-08-18 Gerd Moellmann <gerd@gnu.org>
9682
511bd4eb
GM
9683 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9684 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9685
9686 * xdisp.c (redisplay_internal): Compare windows for equality with
9687 EQ, instead of applying XWINDOW to something that might not
9688 be a window.
52283633 9689
dd34a735
KH
96902000-08-18 Kenichi Handa <handa@etl.go.jp>
9691
9692 * fontset.c (Finternal_char_font): Search only the selected frame
9693 for a window of the current buffer.
9694
385ff9e3
GM
96952000-08-18 Gerd Moellmann <gerd@gnu.org>
9696
511bd4eb 9697 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9698 Lisp_Objects.
9699
385ff9e3
GM
9700 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9701 second half of a HELP_EVENT is found at the start of kbd_buffer.
9702
d6abb4c7
MB
97032000-08-18 Miles Bader <miles@gnu.org>
9704
4618074a
MB
9705 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9706
d6abb4c7
MB
9707 * editfns.c (save_restriction_save): Rewrite to use markers.
9708 (save_restriction_restore): Rewrite to understand new form of data
9709 saved by save_restriction_save.
9710 (Fsave_restriction): Remove cautionary note in doc-string.
9711
a7b28523
GM
97122000-08-17 Gerd Moellmann <gerd@gnu.org>
9713
9714 * fileio.c (build_annotations): Add a comment explaining the
9715 return value of format-annotate-function. Replace a spurious call
9716 to Flength with a CONSP test. Call format-annotate-function with
9717 a fifth arg specifying how many times the function is been called
9718 in a row, to let it choose temporary buffers appropriately.
9719
03c9ed77
DL
97202000-08-17 Dave Love <fx@gnu.org>
9721
9722 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9723 declare make_temp_name twice.
9724
52283633 9725 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9726 (unreadpure): Give it an arg.
9727
9728 * unexalpha.c: Prototype fatal_unexec, mark_x,
9729 update_dynamic_symbols. Declare unexec as void.
9730
9731 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9732 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9733
9734 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9735 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9736
9737 * alloca.c: Use #error.
9738 [POINTER_TYPE]: Use it.
9739
9740 * eval.c (Fdefvar): Doc fix.
9741
9742 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9743 INITIALIZE_INTERVAL.
9744
9745 * buffer.h: Avoid DECLARE_INTERVALS.
9746
9747 * config.in: Add size_t.
9748
aae41d97
EZ
97492000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9750
9751 * w16select.c (set_clipboard_data): If there's not enough memory
9752 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9753 expects. In case of other failures, return 3.
9754 (system_error_msg): New error message.
9755 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9756 system_error_msg.
9757
65aa5e85
GM
97582000-08-16 Gerd Moellmann <gerd@gnu.org>
9759
9760 * term.c (write_glyphs): Also turn off inverse video after turning
9761 off other appearances in case TS_exit_attribute_mode is not equal
9762 to TS_end_standout_mode.
9763 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9764 with the same face.
9765 (turn_off_face): Reset standout_mode only if
9766 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9767 is equal to TS_end_standout_mode.
9768
ece23901
KH
97692000-08-16 Kenichi Handa <handa@etl.go.jp>
9770
9d7bcb2e
KH
9771 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9772 sequence at the end of the source block.
9773
ece23901
KH
9774 * ccl.c (Fccl_program_p): Docstring modified.
9775 (Fccl_execute): Likewise.
9776 (Fccl_execute_on_string): Likewise.
9777
5e30eaa2
EZ
97782000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9779
9780 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9781
290602fd
KH
97822000-08-16 Kenichi Handa <handa@etl.go.jp>
9783
9784 The following changes are mainly to fix bugs of
9785 encode/decode-coding-string failing if encoding/decoding return
9786 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9787 variable conversion_buffer.
9788
9789 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9790 decrement dst_end to avoid buffer overflow in the later call of
9791 string_as_multibyte
9792
9793 * coding.h (conversion_buffer_size, conversion_buffer)
9794 (get_conversion_buffer): Extern deleted.
9795
9796 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9797 (conversion_buffer, conversion_buffer_size): Variables deleted.
9798 (get_conversion_buffer): Function deleted.
9799 (struct conversion_buffer): New structure.
9800 (MAX_ALLOCA): New macro.
9801 (allocate_conversion_buffer): New macro.
9802 (extend_conversion_buffer, free_conversion_buffer): New functions.
9803 (ccl_coding_driver): Set coding->result.
9804 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9805 this is the last block of source.
9806 (encode_coding): Likewise. Handle the source block as the last
9807 one only when the whole source text is consumed.
9808 (decode_coding_string): Handle the case that the output buffer is
9809 too small to decode the whole source text. Use
9810 allocate_conversion_buffer, extend_conversion_buffer and
9811 free_conversion_buffer, not get_conversion_buffer.
9812 (encode_coding_string): Likewise.
9813 (init_coding): Function deleted.
52283633 9814 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9815
9816 * emacs.c (main): Don't call init_coding.
9817
52283633 9818 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9819
9820 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9821 (insert_glyphs): Likewise.
9822
9823 * w32console.c (write_glyphs): Use a locally declared
9824 conversion_buffer.
9825
b9f80d41
EZ
98262000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9827
9828 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9829 member of display_info is NULL.
9830
32dc52f7
GM
98312000-08-15 Gerd Moellmann <gerd@gnu.org>
9832
52283633 9833 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9834
32dc52f7 9835 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9836 appearances with capability `me'.
32dc52f7
GM
9837 (write_glyphs): Switch on inverse video before each face change.
9838
4eb22d33
DL
98392000-08-14 Dave Love <fx@gnu.org>
9840
9841 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9842 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9843 (lisp_free): Declare and make static.
9844
9845 * window.c: Fix embedded comment.
9846 (syms_of_window): Fix doc string.
9847
90cbf47e
GM
98482000-08-14 Gerd Moellmann <gerd@gnu.org>
9849
52283633 9850 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9851 make sure to print `C-' before `M-', like in the manual.
9852
440fc135
GM
98532000-08-11 Gerd Moellmann <gerd@gnu.org>
9854
9855 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9856 since they aren't relocated anymore.
52283633 9857 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9858
9859 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9860 partially visible line which is smaller than the window's height.
440fc135 9861
6e264fad
KH
98622000-08-11 Kenichi Handa <handa@etl.go.jp>
9863
9864 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9865 the multibyte form of eight-bit-control characters.
6e264fad
KH
9866 (Fccl_execute_on_string): Initialize ccl->multibyte.
9867
9868 * ccl.h (struct ccl_program): New member multibyte.
9869
9870 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9871
c371f69a
KH
98722000-08-11 Kenichi Handa <handa@etl.go.jp>
9873
9874 * regex.c (regex_compile) <normal_char>: Pay attention to
9875 multibyteness.
9876 (analyse_first) <exactn>: Setup fastmap correctly for
9877 eight-bit-control characters.
9878
98792000-08-11 Kenichi Handa <handa@etl.go.jp>
9880
52283633 9881 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9882
9883 * keyboard.c (make_lispy_event): Handle the new event type
9884 multibyte_char_keystroke.
9885
9886 * xterm.c: Include coding.h.
9887 (XTread_socket): Work around a bug of XmbLookupString. If the
9888 input is from XIM, decode it according to the current locale. In
9889 that case, generate multibyte_char_keystroke events.
9890
b8ddbe71
KH
98912000-08-11 Kenichi Handa <handa@etl.go.jp>
9892
9893 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9894 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9895
47589c8c
GM
98962000-08-10 Gerd Moellmann <gerd@gnu.org>
9897
9898 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9899 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9900 (move_it_in_display_line_to): Record iterator's ascent and descent
9901 before producing glyphs, and restore them when we know the glyph
9902 doesn't fit on the line.
9903 (move_it_to): Restructured so that it's easier to debug. If
9904 moving to a vpos, and not moving to an x or character position,
9905 stop as soon as the specified vpos is reached; don't move further
9906 into that line because that might change the computed line height.
9907 (try_cursor_movement): New function, extracted from the cursor
9908 movement branch of redisplay_window. If ending on a partially
9909 visible line, don't try to scroll if the cursor line is taller
9910 than the window.
9911 (redisplay_window): Use try_cursor_movement.
9912
9913 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9914 because that function doesn't cope with variable-height lines.
9915
9916 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9917 box cursor because that's better visible for large images.
52283633 9918
c51bacd6
MB
99192000-08-10 Miles Bader <miles@gnu.org>
9920
9921 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9922
bea56df7
GM
99232000-08-10 Gerd Moellmann <gerd@gnu.org>
9924
9925 * xdisp.c (Vmessages_buffer_name): New variable.
9926 (message_dolog): Use it.
9927 (syms_of_xdisp): Initialize it.
9928
99cd7364
EZ
99292000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9930
52283633 9931 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9932 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9933 redundant now that keyboard.h is included.
9934
7d093d56
EZ
99352000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9936
9937 * keyboard.c (kbd_buffer_events_waiting): New function.
9938
9939 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9940
9941 * msdos.c: Include keyboard.h.
9942 (XMenuActivate): Empty no_event events from the event buffer. If
9943 no events are left after that, call clear_input_pending.
9944 (mouse_clear_clicks): New function, code moved from mouse_init.
9945 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9946 mouse driver to ``forget'' any past clicks.
9947
9948 * Makefile.in (msdos.o): Depend on keyboard.h.
9949
41e757a6
GM
99502000-08-09 Gerd Moellmann <gerd@gnu.org>
9951
8e7bd231
GM
9952 * lisp.h (input_pending): External declaration.
9953
9954 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9955
8e7bd231
GM
9956 * xdisp.c (echo_area_display): Display thoroughly if input is
9957 pending. Bind redisplay-dont-pause to t during the redisplay.
9958 in case input is pending.
9959
9960 * dispnew.c (Qredisplay_dont_pause): New variable.
9961 (syms_of_display): Initialize and staticpro it.
9962 (update_frame_1): Don't interrupt the display for pending input if
9963 redisplay_dont_pause is set.
52283633 9964
43028b7e
GM
9965 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9966
41e757a6
GM
9967 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9968
2f2174fa
KH
99692000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9970
9971 * callproc.c (Fcall_process): Terminate the unwind-protect around
9972 the post-read-conversion of coding system.
9973
0a6fd67e
MB
9974 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9975 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9976 * buffer.h (overlays_at): Update prototype.
9977 * xdisp.c (next_overlay_change): Update call to overlays_at.
9978 * xfaces.c (face_at_buffer_position): Likewise.
9979 * textprop.c (Fget_char_property): Likewise.
9980 * xterm.c (note_mouse_highlight): Likewise.
9981
0c80756e
MB
9982 * minibuf.c (do_completion): Don't consider a simple change of
9983 case as `completion'.
9984
975f250a
KR
99852000-08-08 Ken Raeburn <raeburn@gnu.org>
9986
52283633 9987 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9988 * undo.c (record_delete): Make sure last_point_position_buffer is
9989 a buffer before comparing pointers.
9990
9991 * coding.h (decode_coding_string): Declare.
9992
9993 * intervals.h (Fprevious_single_char_property_change): Declare.
9994
9995 * textprop.c (Fprevious_single_char_property_change): Don't do
9996 arithmetic directly on lisp objects.
9997
52283633 9998 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9999
10000 * keyboard.h (menu_item_eval_property): Declare.
10001
10002 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10003 reuse as buffer name, instead of recreating (and discarding) every
10004 time a message is logged.
10005 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10006 (current_message_1, truncate_message_1, set_message_1)
10007 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10008 (current_message, truncate_echo_area, display_echo_area)
10009 (resize_echo_area_axactly): Changed calls.
b347b3fd 10010
975f250a 10011 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10012 Lisp object.
975f250a 10013 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10014 must be an integer, not a Lisp object.
975f250a 10015
46dc9912
KH
100162000-08-08 Kenichi Handa <handa@etl.go.jp>
10017
10018 * charset.c (Fchar_width): Doc fix.
10019
9f6d1a6c
GM
100202000-08-08 Gerd Moellmann <gerd@gnu.org>
10021
10022 * charset.c (Fstring_width): Doc fix.
10023
ff3d9573
GM
100242000-08-07 Gerd Moellmann <gerd@gnu.org>
10025
41e757a6 10026 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10027 line, clear ascent and descent members of the iterator structure;
10028 the height of the continued line does not affect the height of the
10029 continuation line.
10030 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10031 line taller than the window.
10032 (redisplay_window) <forced window start>: Handle case that the
10033 middle of the window is not found in any row.
10034 (dump_glyph_row): Show more information.
10035 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10036 first text line in a glyph matrix.
10037
10038 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10039 of the clip area when image doesn't have a mask.
10040
70fc58b3
GM
10041 * fns.c (sweep_weak_table): Fix survival conditions for
10042 key-or-value and key-and-value weakness.
10043
10044 * .gdbinit (xhashtable): New command.
10045
ac0e96ee
GM
10046 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10047 tables out of the list of all weak hash tables.
10048
ff3d9573
GM
10049 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10050 a new buffer is created, make sure echo_area_buffer[] references
10051 the new buffer.
10052
e0d8827b
EZ
100532000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10054
10055 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10056 the doc string.
10057
c6f35378
KH
100582000-08-07 Kenichi Handa <handa@etl.go.jp>
10059
10060 * syntax.c (skip_chars): Fix previous change. Make the handling
10061 of unibyte string consistent with that of regex search.
10062
1fd4c450
GM
100632000-08-05 Gerd Moellmann <gerd@gnu.org>
10064
e49aa397
GM
10065 * xmenu.c (popup_get_selection): Use xfree instead of free.
10066
10067 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10068
10069 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10070
10071 * callproc.c (child_setup): Use xfree instead of free.
10072
10073 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10074 instead of malloc.
10075 (run_mac_command, closedir): Use `xfree' instead of `free'.
10076
10077 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10078
10079 * eval.c (error): Use xfree instead of free.
10080
1fd4c450
GM
10081 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10082
10083 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10084 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10085
82d497fc
KH
100862000-08-05 Kenichi Handa <handa@etl.go.jp>
10087
10088 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10089 conversion.
10090
59f953a2
NF
100912000-08-04 Noah Friedman <friedman@splode.com>
10092
10093 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10094 docstring.
10095
688351f2
GM
100962000-08-04 Gerd Moellmann <gerd@gnu.org>
10097
10098 * syntax.c (skip_chars): Fix typo in error message.
10099
2dad51cc
AS
101002000-08-04 Andreas Schwab <schwab@suse.de>
10101
10102 * m/ia64.h: Moved from s/ia64.h.
10103
99bb2c60
KH
101042000-08-04 Kenichi Handa <handa@etl.go.jp>
10105
082a1df2
KH
10106 * process.c (read_process_output): Big simplification. Handle
10107 composition and post-read-conversion of coding system correctly.
10108 (send_process): Handle composition correctly.
10109
10110 * callproc.c (Fcall_process): Handle post-read-conversion of
10111 coding system if any.
10112
99bb2c60
KH
10113 * coding.c (decode_coding_iso2022): More strict check for handling
10114 single shifting.
082a1df2
KH
10115 (coding_restore_composition): Pay attention to the case that
10116 cmp_data is not set properly (because of invalid code in the
10117 source text).
10118 (run_pre_post_conversion_on_str): Include text properties in the
10119 resulting string.
10120 (decode_coding_string): Set members of coding correctly.
99bb2c60 10121
f4988be7
GM
101222000-08-03 Gerd Moellmann <gerd@gnu.org>
10123
10124 * s/ia64.h: New file.
10125
10126 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10127 Use NULL instead of 0 at the end of variable argument list of
10128 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10129 sizeof (int) < sizeof (void *).
10130
10131 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10132 of variable argument lists of XtVaGetValues and XtVaSetValues.
10133
10134 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10135 variable argument lists of XtVaGetValues and XtVaSetValues.
10136
ead53494
GM
101372000-08-02 Gerd Moellmann <gerd@gnu.org>
10138
10139 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10140 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10141
10142 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10143 prototype.
10144
10145 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10146 in call to Fsingle_key_description.
10147
10148 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10149 Callers changed.
10150
101512000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10152
10153 * window.c (display_buffer_reuse_frames): New variable.
10154 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10155 frames displaying BUFFER.
52283633 10156 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10157
10b0f752
MB
101582000-08-01 Miles Bader <miles@gnu.org>
10159
10160 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10161 when to constrain NEW_POS (they were pretty screwed up before).
10162
16425c4a
EZ
101632000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10164
10165 * msdos.c (run_msdos_command): Save and restore the master
10166 environment, for the case that child_setup signals an error.
10167 When mirroring slashes in DOS shell commands, don't fail when
10168 argv[2] has embedded blanks.
da288c14
EZ
10169 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10170 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10171 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10172
10173 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10174 using alloca; free it after run_msdos_command returns.
10175
27f73852
DL
101762000-07-27 Dave Love <fx@gnu.org>
10177
52283633
SM
10178 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10179 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10180
10181 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10182
c0261b5e
EZ
101832000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10184
10185 * editfns.c (lisp_time_argument): Fix last change.
10186
b548072f
GM
101872000-07-27 Gerd Moellmann <gerd@gnu.org>
10188
3ab82477
GM
10189 * fns.c (Fdelete): Make it work on vectors and strings in addition
10190 to lists.
10191
b548072f
GM
10192 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10193 (syms_of_fns): Initialize new variables.
52283633 10194 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10195 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10196 weakness, with t meaning the same as `key-and-value'.
10197
91ae8751
KH
101982000-07-27 Kenichi Handa <handa@etl.go.jp>
10199
10200 * coding.h (struct coding_system): Member safe_charset deleted.
10201
10202 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10203 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10204 New variables.
91ae8751
KH
10205 (coding_safe_chars): New function.
10206 (CODING_SAFE_CHAR_P): New macro.
10207 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10208 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10209 (detect_coding_iso2022): New local variable safe_chars.
10210 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10211 safe_charsets member of the coding system.
10212 (decode_coding_iso2022): New local variable safe_chars.
10213 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10214 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10215 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10216 (ENCODE_UNSAFE_CHARACTER): New macro.
10217 (encode_coding_iso2022): New local variable safe_chars. Check
10218 unsafe chars.
10219 (setup_coding_system): Delete the code to initialize
10220 coding->safe_charses
10221 (intersection, find_safe_codings): New functions.
10222 (Ffind_coding_systems_region_internal): New function.
10223 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10224 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10225 variable and initialize it.
10226
10227 * fns.c (char_table_ref_and_index): New function.
10228
10229 * lisp.h (char_table_ref_and_index): Add prototype.
10230
34a7a267
SS
102312000-07-26 Sam Steingold <sds@gnu.org>
10232
10233 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10234 (Ffloat_time): New built-in Lisp function.
34a7a267 10235
a95cb10a
GM
102362000-07-26 Gerd Moellmann <gerd@gnu.org>
10237
3353ef5a
GM
10238 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10239 for the character code.
10240
10241 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10242 GNU/Linux.
10243
a95cb10a
GM
10244 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10245 if called for a popup menu.
10246 (xmenu_show): Store help string in widget values.
10247
b4a12321
DL
102482000-07-26 Dave Love <fx@gnu.org>
10249
10250 * syswait.h: Move some definitions.
10251 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10252 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10253 perspicuous definitions.
10254 (WTERMSIG): Fix bit pattern used.
10255
13f5ad37
KH
102562000-07-26 Kenichi Handa <handa@etl.go.jp>
10257
10258 * print.c (print_object): If vector printing is truncated, print
10259 "..." to indicate it as well as the case of list printing.
10260
070fe99c
GM
102612000-07-25 Gerd Moellmann <gerd@gnu.org>
10262
969065c3
GM
10263 * xdisp.c (next_element_from_display_vector): Improve comments.
10264
10265 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10266 for the character code, and the rest for the face id as in 20.x.
10267 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10268
10269 * window.c (window_display_table): Cleaned up.
10270
070fe99c
GM
10271 * syntax.c (Fforward_word): Add last arg nil in call of
10272 Fconstrain_to_field.
10273
bad77ef7
EZ
102742000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10275
969065c3 10276 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10277 identical but for the letter-case, don't call
10278 barf_or_query_if_file_exists.
bad77ef7 10279
c28da489
MB
102802000-07-25 Miles Bader <miles@gnu.org>
10281
10282 * editfns.c (find_field): Honor special `boundary' fields.
10283 (Qboundary): New variables.
10284 (syms_of_editfns): Initialize Qboundary.
10285 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10286 Use scan_buffer instead of find_before_next_newline, because it
10287 allows us to detect the boundary case where there's a newline at
10288 the search limit.
10289 * lisp.h (Fconstrain_to_field): Update external declaration.
10290
e3c31fd5
GM
102912000-07-24 Gerd Moellmann <gerd@gnu.org>
10292
10293 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10294 if that is nil.
c28da489 10295
c66c29a2
DL
102962000-07-24 Dave Love <fx@gnu.org>
10297
10298 * s/sunos4-0.h, s/sol2.h:
10299 (LIBS_TERMCAP): Move from m/sparc.h.
10300
10301 * m/sparc.h (TERMINFO): Moved to system files (probably only
10302 relevant for sunos4 judging by its vintage).
10303 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10304 __arch64__.
10305
fbe0a958
EZ
103062000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10307
10308 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10309 name to single_keymap_panes.
10310
7d88e5c9
AS
103112000-07-24 Andreas Schwab <schwab@suse.de>
10312
10313 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10314
e024b101
GM
103152000-07-24 Gerd Moellmann <gerd@gnu.org>
10316
10317 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10318 parameters instead of using int parameters. Expect FN to accept
10319 EMACS_INT parameters.
10320 (display_echo_area, resize_echo_area_axactly, current_message)
10321 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10322 with new argument list.
10323 (resize_mini_window_1): New callback function.
10324 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10325 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10326
25c1a9ce
KH
103272000-07-24 Kenichi Handa <handa@etl.go.jp>
10328
10329 * fontset.c (fontset_ref): Remove INLINE declaration.
10330 (fontset_ref_via_base): Likewise.
10331 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10332 to downcase.
10333
7f987ac0
EZ
103342000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10335
10336 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10337 correct order of priority. If help echo was found in an overlay,
10338 use that overlay as the object in which the help echo was found.
10339
e2db3069
MB
103402000-07-22 Miles Bader <miles@gnu.org>
10341
10342 * textprop.c (Fprevious_single_char_property_change): The initial
10343 property value should be from the position preceding POSITION, not
10344 following it.
10345
5e3203e4
EZ
103462000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10347
10348 * coding.c (syms_of_coding): Doc fix for
10349 inhibit-iso-escape-detection.
10350
62145073
GM
103512000-07-21 Gerd Moellmann <gerd@gnu.org>
10352
c20aeb83
GM
10353 * xterm.c (note_mouse_highlight): Process overlays in the right
10354 order of priority.
34a7a267 10355
743934db
GM
10356 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10357
10358 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10359 overlay, use that overlay as the object in which the help was found.
743934db 10360
d1dc7e43 10361 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10362
62145073
GM
10363 * window.c (foreach_window): Instead of a fake variable argument
10364 list, take one USER_DATA argument.
10365 (foreach_window_1): Likewise, and call callback functions with two
10366 args, the window and USER_DATA.
10367 (struct check_window_data): New struct.
10368 (check_window_containing): Use it.
10369 (window_from_coordinates): Set up a struct check_window_data for
10370 foreach_window.
10371 (add_window_to_list, freeze_window_start): Change parameters
10372 according to new calling convention.
10373
10374 * window.h (foreach_window): Change prototype.
10375
10376 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10377
103782000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10379
10380 * xmenu.c (menu_help_callback): Call show_help_echo with
10381 additional arguments OBJECT and POS.
10382
11270583
KH
103832000-07-21 Kenichi Handa <handa@etl.go.jp>
10384
07b14857
KH
10385 * data.c (Faset): Allow storing any multibyte character in a
10386 string. Convert unibyte string to multibyte if necessary.
10387
11270583
KH
10388 * xfns.c (x_encode_text): New function.
10389 (x_set_name): Use x_encode_text.
10390 (x_set_title): Likewise.
10391
10392 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10393
10394 * xterm.h (x_encode_text): Add prototype.
10395
bc75b4fd
DL
103962000-07-20 Dave Love <fx@gnu.org>
10397
10398 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10399 xfree, not free.
10400
48c14970
EZ
104012000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10402
10403 * msdos.c (help_echo_window): New variable.
10404 (syms_of_msdos): Initialize and staticpro it.
10405 (IT_note_mode_line_highlight): Set help_echo_window.
10406 (IT_note_mouse_highlight): Ditto.
10407 (dos_rawgetc): Store help_echo_window in the second event produced
10408 for HELP_EVENTs.
10409
10410 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10411 Record the object that generated the help echo and the position of
10412 that object in help_echo_object and help_echo_pos. Record that
10413 some glyphs in a row are displayed in mouse-face.
10414 (IT_update_begin): Don't clear mouse highlight unless one of the
10415 enabled glyph rows is marked as being displayed in mouse-face.
10416 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10417 and position recorded in help_echo_object and help_echo_pos to the
10418 event queue.
10419 (IT_menu_display): Accept a new argument PN: the pane number of
10420 the current menu pane. Record the pane number and the item
10421 number of the item which has associated help string.
10422 (XMenuActivate): Update the prototype for help_callback in
10423 function declaration. Call IT_menu_display with the current menu
10424 pane number as an additional argument. Call help_callback with
10425 two additional arguments: the pane number and the item number of
10426 the menu item associated with the help text.
10427 (help_echo_object, help_echo_pos): New variables.
10428 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10429
10430 * msdos.h (XMenuActivate): Update prototype.
10431
4279296d
GM
104322000-07-19 Gerd Moellmann <gerd@gnu.org>
10433
47db06aa
GM
10434 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10435 Add some more prototypes.
10436
10437 * xterm.c, xterm.h: Add some more prototypes.
10438
10439 * lisp.h (Fnext_single_char_property_change): Add prototype.
10440
10441 * dispnew.c (direct_output_for_insert): Remove confusing
10442 outer local variable mouse_face_overwritten_p.
10443 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10444
4279296d
GM
10445 * alloc.c (allocate_string_data): Don't copy old string contents.
10446
670acd62
KH
104472000-07-19 Kenichi Handa <handa@etl.go.jp>
10448
10449 * coding.c (code_convert_region): Delete text properties before
10450 shrinking the conversion region.
10451
7cea38bc
GM
104522000-07-18 Gerd Moellmann <gerd@gnu.org>
10453
dc1cac59
GM
10454 * dispnew.c (update_text_area): Write the whole row if it
10455 has mouse-face in it.
10456
85a8aca9
GM
10457 * xfaces.c (face-alternative-font-family-alist): Remove
10458 DEFVAR_LISP; staticpro instead.
10459
34a7a267 10460 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10461 new arguments.
10462
10463 * keyboard.c (show_help_echo): Add parameter WINDOW.
10464 (read_char): Call show_help_echo with window extracted from Lisp
10465 help event.
10466 (gen_help_event): Add parameter WINDOW.
10467
10468 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10469
10470 * xterm.c (help_echo_window): New variable.
52283633 10471 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10472 (XTread_socket): Pass help_echo_window to gen_help_event.
10473 (syms_of_xterm): Initialize and staticpro help_echo_window.
10474
f8276b77
DL
104752000-07-18 Dave Love <fx@gnu.org>
10476
52283633 10477 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10478
088831a6
GM
104792000-07-18 Gerd Moellmann <gerd@gnu.org>
10480
3d6cd763
GM
10481 * alloc.c (allocate_string_data): If string had already data
10482 assigned, copy old contents to new string data.
10483
10484 * coding.c (syms_of_coding): Fix typo in spelling of variable
10485 `inhibit-iso-escape-detection'.
10486
088831a6
GM
10487 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10488
10489 * Makefile.in: Add dependencies on dispextern.h.
10490 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10491 `free'; both can conflict with system header files.
10492
bc8a8d55
KH
104932000-07-18 Kenichi Handa <handa@etl.go.jp>
10494
10495 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10496 undefined.
10497
069f5950
DL
104982000-07-18 Dave Love <fx@gnu.org>
10499
10500 * window.c (Fwindow_list): Declare arg `window'.
10501
aa96c820
KH
105022000-07-18 Kenichi Handa <handa@etl.go.jp>
10503
10504 * coding.c (setup_coding_system): Don't override the explicitly
10505 specified designations.
10506
06be8d32
MB
105072000-07-15 Miles Bader <miles@gnu.org>
10508
10509 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10510 from `text_property_eq' and `text_property_stickiness', respectively.
10511 (find_field, Fconstrain_to_field, char_property_eq)
10512 (char_property_stickiness): Changed to call char-property functions
10513 instead of text-property-only ones.
10514
10515 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10516 `next_single_char_property_change'). Do more error checking, and
10517 cleanup limit behavior.
10518 (Fprevious_single_char_property_change): New function.
10519 (syms_of_textprop): Initialize new subrs.
10520
10521 * xdisp.c (display_prop_end, invisible_text_between_p):
10522 Call Fnext_single_char_property_change instead of
10523 next_single_char_property_change.
10524
3fddcdc3
JR
105252000-07-15 Jason Rumney <jasonr@gnu.org>
10526
10527 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10528 after menu is finished with.
10529 (add_menu_item): Only consider wv->title as a menu title.
10530 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10531
10532 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10533 null title.
10534 (FONT_REGEXP): Remove unused macro, and its sub-components.
10535 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10536
10537 * w32term.c (help_echo_object, help_echo_pos): New variables.
10538 (note_mode_line_highlight): Store additional information about the
10539 help-echo in help_echo_object and help_echo_pos. Check both
10540 `local-map' and `keymap' properties for changing the cursor
10541 (note_mouse_highlight): Store additional information about the
10542 help-echo in help_echo_object and help_echo_pos.
10543 (note_tool_bar_highlight): Set help_echo_object to nil and
10544 help_echo_pos to -1.
10545 (w32_read_socket): Use gen_help_event instead of filling
10546 input_events manually.
10547 (syms_of_w32term): Staticpro help_echo_object.
10548 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10549 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10550 (x_clear_mouse_face): New function.
10551 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10552 (x_update_window_begin): No need to turn off the mouse
10553 highlight here.
10554 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10555 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10556 (x_fill_stretch_glyph_string): Consume runs of stretch
10557 glyphs instead of a single one.
10558 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10559 with new argument list.
10560 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10561 (x_append_glyph, x_append_composite_glyph)
10562 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10563 changes in struct glyph starting 1999-12-27. See comments for
10564 xterm.c on 2000-07-05.
10565
178c5d9c
SS
105662000-07-14 Sam Steingold <sds@gnu.org>
10567
10568 * xfaces.c (realize_x_face): Fix the last patch:
10569 check `default_face' before dereferencing.
10570
6fe533f6
DL
105712000-07-14 Dave Love <fx@gnu.org>
10572
069f5950 10573 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10574
dd7b81cf
KH
105752000-07-14 Kenichi Handa <handa@etl.go.jp>
10576
0693904a 10577 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10578 default_face's fontset, not using the default fontset.
0693904a 10579
dd7b81cf
KH
10580 * coding.c (inhibit_iso_escape_detection): New variable.
10581 (syms_of_coding): Make it a Lisp variable.
10582 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10583 nonzero, ignore ISO2022's escape sequence.
10584
d5aa31d8
GM
105852000-07-14 Gerd Moellmann <gerd@gnu.org>
10586
e5acf0ca
GM
10587 * alloca.c (malloc) [emacs]: Define as xmalloc.
10588
bd23a692
GM
10589 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10590 use that instead of the mouse position. Add parameters DX and DY.
10591
10592 * dispextern.h (Fx_show_tip): Adjust number of parameters
10593 in prototype.
10594
9662da0b
GM
10595 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10596 if HELP is a function, call it with OBJECT and POS as parameters
10597 to get the help to display.
10598 (gen_help_event, kbd_buffer_store_help_event): New functions.
10599 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10600 (read_char): Call show_help_echo with new parameters.
10601
178c5d9c 10602 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10603 Add prototypes.
10604
10605 * xterm.c (help_echo_object, help_echo_pos): New variables.
10606 (note_mode_line_highlight): Store additional information about the
10607 help-echo in help_echo_object and help_echo_pos. Check both
10608 `local-map' and `keymap' properties for changing the cursor
10609 (note_mouse_highlight): Store additional information about the
10610 help-echo in help_echo_object and help_echo_pos.
10611 (note_tool_bar_highlight): Set help_echo_object to nil and
10612 help_echo_pos to -1.
10613 (XTread_socket): Use gen_help_event instead of filling
10614 input_events manually.
10615 (syms_of_xterm): Staticpro help_echo_object.
10616
10617 * xmenu.c (menu_highlight_callback): Use
10618 kbd_buffer_store_help_event instead of setting up and input_event
10619 structure manually.
10620
10621 * xdisp.c (eval_form): GCPRO argument sexpr.
10622 (call_function): New function.
10623 (handle_single_display_prop): Use call_function and FUNCTIONP
10624 instead of checking whether if font_height is a symbol and
10625 using eval_form.
10626
10627 * eval.c (internal_condition_case_2): New function.
10628
10629 * lisp.h (FUNCTIONP): New macro.
10630 (internal_condition_case_2, call_function): Add prototypes.
10631
d5aa31d8
GM
10632 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10633 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10634 Always set `arg' member of input_events.
10635 (construct_menu_click): Unused function removed.
10636
10637 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10638
10639 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10640 (construct_drag_n_drop, x_scroll_bar_handle_click)
10641 (w32_read_socket): Always set `arg' member of input_events.
10642
10643 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10644
10645 * lisp.h (eval_form): Add prototype.
10646
10647 * xdisp.c (eval_form): Make it externally visible.
10648
0f1a9b23
GM
106492000-07-13 Gerd Moellmann <gerd@gnu.org>
10650
10651 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10652 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10653 consing. For prefix events, store the frame in the `arg' slot of
10654 the event, otherwise store the key there.
10655 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10656 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10657
10658 * xmenu.c (menu_highlight_callback): Store help string in the
10659 `arg' member of the input event; don't cons.
10660 (menubar_selection_callback): Use the `arg' slot of input events
10661 to queue additional information, instead of consing.
10662
10663 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10664
10665 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10666 TOOL_BAR_EVENTs.
10667 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10668
10669 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10670 input events to queue additional information, instead of consing.
10671
10672 * keyboard.c (kbd_buffer_gcpro): Renamed from
10673 kbd_buffer_frame_or_window. Now used for all Lisp objects
10674 referenced from the input queue.
10675 (kbd_buffer_store_event): Always use structure assignment for
10676 copying input events. Record all Lisp objects referenced from
10677 events in kbd_buffer_gcpro.
10678 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10679 differently from input events. Test for prefix menu_bar_events
10680 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10681 event in kbd_buffer_gcpro to nil.
10682 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10683 frame_or_window is equal to its arg member as prefix events.
10684 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10685 used by an input event to nil.
10686 (init_keyboard): Use two times the size of the input queue
10687 for kbd_buffer_gcpro.
10688 (syms_of_keyboard): Likewise.
10689
52283633
SM
10690 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10691 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10692
10693 * termhooks.h (struct input_event): Add member `arg'.
10694 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10695 (USER_SIGNAL_EVENT): Renamed from user_signal.
10696
10697 * xfaces.c (ASET): Remove definition.
10698
10699 * lisp.h (AREF, ASET, ASIZE): New macros.
10700
10701 * fontset.c (AREF, ASIZE): Remove definitions.
10702
10703 * fns.c (AREF): Remove definition.
178c5d9c 10704
0f1a9b23
GM
10705 * composite.c (AREF): Remove definition.
10706
712eaef2
GM
107072000-07-12 Gerd Moellmann <gerd@gnu.org>
10708
d8ee7803
GM
10709 * dispnew.c (redraw_overlapped_rows): Add missing local.
10710 (scrolling_window): Remove debug code.
10711
712eaef2
GM
10712 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10713 Before scrolling, turn off a mouse-highlight in the window
10714 being scrolled.
10715
10716 * xterm.c (x_update_window_end): Add parameter
10717 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10718 redisplay in XTframe_up_to_date.
10719 (x_clear_mouse_face): New function.
10720 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10721
10722 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10723 current glyph row.
10724 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10725 it when any row is written to that contains glyphs highlighted in
10726 mouse-face.
10727 (update_window): Call the window update end hook with new
10728 parameter MOUSE_FACE_OVERWRITTEN_P.
10729 (direct_output_for_insert): Give up if row contains mouse-face.
10730
10731 * dispextern.h (struct redisplay_interface): Add parameter
10732 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10733 (clear_mouse_face): New function pointer member.
10734
02010917
SM
107352000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10736
10737 * syntax.c (back_comment): Use one switch rather than a few `if's.
10738 Obey open_paren_in_column_0_is_defun_start.
10739 When reverting to the `slow' method, try to nicely handle the case
10740 of nested comments by checking that the comment-starter we found
10741 does indeed match the comment-ender.
10742 (scan_sexps_forward, scan_sexps_forward):
10743 Ignore excessive opening parenthesis rather than throwing an error.
10744
d76c03ea
GM
107452000-07-11 Gerd Moellmann <gerd@gnu.org>
10746
10747 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10748 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10749
10750 * dispnew.c (direct_output_forward_char): Give up if currently
10751 displaying a message instead of the minibuffer contents.
10752
10753 * xterm.c (x_update_window_begin): No need to turn off the mouse
10754 highlight here.
10755 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10756 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10757
10758 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10759 compare the mouse_face_p flags of both rows.
10760
10761 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10762
d55ead18
EZ
107632000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10764
10765 * keyboard.c (show_help_echo): Accept additional parameter
10766 ok_to_overwrite_keystroke_echo.
10767 (read_char): Call show_help_echo with a zero
10768 ok_to_overwrite_keystroke_echo argument.
52283633 10769 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10770 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10771 ok_to_overwrite_keystroke_echo argument.
10772 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10773 non-zero ok_to_overwrite_keystroke_echo argument.
10774
df75b1a3
GM
107752000-07-10 Gerd Moellmann <gerd@gnu.org>
10776
4b92c49a
GM
10777 * xdisp.c (try_window_id): If changes are all below what is
10778 displayed in the window, and point is in the window, we still
10779 might have to find point on the display.
10780
10781 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10782 glyphs instead of a single one.
10783 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10784 with new argument list.
10785 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10786
df75b1a3
GM
10787 * keymap.c (get_keymap_1): Add comment that this function can GC.
10788 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10789 comment that functions can GC.
10790 (Fset_keymap_parent): GCPRO arg KEYMAP.
10791
4314cf3e
EZ
107922000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10793
10794 * msdos.c (XMenuActivate): After exiting the menu, restore the
10795 echo area message and erase it.
10796
ab49ce15
KH
107972000-07-10 Kenichi Handa <handa@etl.go.jp>
10798
10799 * fontset.c (Ffontset_info): Make the return value more compatible
10800 with that of Emacs 20.
10801
090a072f
GM
108022000-07-07 Gerd Moellmann <gerd@gnu.org>
10803
10804 * eval.c (Fsignal): Handle case that backtrace_list is null.
10805
f92de4a6
KH
108062000-07-07 Kenichi Handa <handa@etl.go.jp>
10807
10808 * ccl.c (Fccl_execute): Typo fixed.
10809
dd8888a1
GM
108102000-07-06 Gerd Moellmann <gerd@gnu.org>
10811
e5c81191 10812 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10813
dd8888a1
GM
10814 * window.c (Fwindow_list): Reverse list at the end.
10815 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10816 means allow windows on OWINDOW's frame, only.
10817 (window_loop): Simplified; use Fwindow_list.
10818
10819 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10820
485266d0
GM
108212000-07-05 Gerd Moellmann <gerd@gnu.org>
10822
10823 * xterm.c (XTread_socket): Increment handling_signal at the start,
10824 decrement it at the end.
10825
10826 * eval.c (handling_signal): New variable.
10827 (Fsignal): Abort if handling_signal is non-zero.
10828
10829 * lisp.h (handling_signal): External declaration.
178c5d9c 10830
485266d0
GM
10831 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10832
80fcd514
KR
108332000-07-05 Ken Raeburn <raeburn@gnu.org>
10834
10835 Sound support for NetBSD through "Linux emulation" support:
10836 * config.in (HAVE_SOUNDCARD_H): Undef.
10837 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10838 * Makefile.in (LIBSOUND): New variable.
10839 (LIBES): Include it.
52283633
SM
10840 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10841 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10842 (vox_open): Use DEFAULT_SOUND_DEVICE.
10843 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10844
d5c5cddd
GM
108452000-07-05 Gerd Moellmann <gerd@gnu.org>
10846
10847 * print.c (print_error_message): If Vsignaling_function is set,
10848 show it in *Messages*.
10849
10850 * lisp.h (Vsignaling_function): External declaration.
10851
10852 * eval.c (Vsignaling_function): New variable.
10853 (Fsignal): Compute it.
10854 (syms_of_eval): Staticpro it.
10855
65171e3a
DL
108562000-07-05 Dave Love <fx@gnu.org>
10857
10858 * syswait.h: Use the autoconf recommended approach. Old code
10859 #if'd out in case we need to revert.
10860
178c5d9c 10861 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10862
e2c46326
AI
108632000-07-05 Andrew Innes <andrewi@gnu.org>
10864
10865 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10866 when non-NULL instead of __morecore, to take account of buffer
10867 memory. This also solves a problem with spurious memory warnings
10868 on Windows.
10869
10870 * ralloc.c: Make real_morecore non-static.
10871
10872 * eval.c (internal_condition_case): Comment out abort if
10873 interrupt_input_blocked is not zero.
10874
10875 * makefile.nt: Add support for `bootstrap' and related targets.
10876 Include minimal debug info in emacs.exe in release build.
10877 Remove all dependencies on lisp.h, and fixup some others.
10878
10879 * w32.c (init_environment): Install code from 20.7 for providing
10880 default values for environment variables, based on the
10881 executable's own location.
52283633 10882 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10883 (sys_socket): Install socket inheritance bug fix from 20.7.
10884
10885 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10886 here via blockinput.h).
10887
a027a91b
SM
108882000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10889
e4b31601
SM
10890 * w32menu.c (w32_menu_display_help):
10891 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10892
10893 * keyboard.h (show_help_echo): Declare.
10894
10895 * keyboard.c (show_help_echo): New function, extracted from read_char.
10896 Feval its `msg' argument if it's a cons cell.
10897 (read_char): Use it.
4cf8d9d5 10898 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10899
178c5d9c 10900 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10901 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10902 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10903 (dos_rawgetc):
10904 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10905 (note_tool_bar_highlight, w32_read_socket):
10906 Do not gratuitously ignore non-string `help-echo' properties.
10907
88d75730
GM
109082000-07-05 Gerd Moellmann <gerd@gnu.org>
10909
969f7e79
GM
10910 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10911
71201b00
GM
10912 * window.c (delete_all_subwindows): Reset Vwindow_list.
10913
88d75730
GM
10914 * xterm.c (x_append_glyph, x_append_composite_glyph)
10915 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10916 changes in struct glyph starting 1999-12-27. Some bit-fields of
10917 struct glyph were not set, which made glyphs unequal when compared
10918 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10919 effects were the result. This also depended on the contents of
10920 memory returned by xmalloc. If flickering happens again, activate
10921 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10922 gone with that, chances are that it is caused by something similar.
88d75730
GM
10923
10924 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10925
88d75730
GM
10926 * dispextern.h: Add some comments.
10927
10928 * window.c (add_window_to_list): Add parameter LIST.
10929 (window_list): Order list so that, for each frame, windows are
10930 in canonical order, and so that frames appear in the list in
10931 the order given by Vframe_list.
10932 (next_window): Reverse the handling of NEXT_P.
10933
53654733
GM
109342000-07-04 Gerd Moellmann <gerd@gnu.org>
10935
87efd256
GM
10936 * window.c (Vwindow_list): New variable.
10937 (make_window, delete_window): Set Vwindow_list to nil.
10938 (check_window_containing): New function.
10939 (window_from_coordinates): Rewritten.
10940 (add_window_to_list, window_list, candidate_window_p)
10941 (decode_next_window_args, next_window): New functions.
52283633 10942 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10943 (Fwindow_list): New function.
10944 (Fother_window): Cleaned up.
10945 (foreach_window): Add a longer "variable argument list". Let
10946 callback function return 0 to indicate that cycling over windows
10947 should stop.
10948 (foreach_window_1): Likewise.
10949 (freeze_window_start): Return int.
10950 (init_window): New function.
10951 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10952
10953 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10954 input_event with bzero.
10955 (main): Call init_window.
10956
53654733
GM
10957 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10958 a menu filter.
10959
4a8c194f
KH
109602000-07-04 Kenichi Handa <handa@etl.go.jp>
10961
10962 * composite.h (make_composition_value_copy): Extern it.
10963
10964 * composite.c (make_composition_value_copy): New function.
10965
10966 * editfns.c (Fformat): While copying text properties, make each
10967 composition property value a copy.
10968
10969 * fns.c (concat): While copying text properties, make each
10970 composition property value a copy.
10971
831a6cb0
GM
109722000-07-03 Gerd Moellmann <gerd@gnu.org>
10973
2f516940
GM
10974 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10975
178c5d9c 10976 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10977 marked already.
10978
831a6cb0
GM
10979 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10980 include those frames as candidates which have their focus
10981 redirected to the minibuffer frame.
10982
d9c4f922
SM
109832000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10984
10985 * fns.c (Fputhash): Return `value' rather than nil.
10986
3780bc22
GM
109872000-06-30 Gerd Moellmann <gerd@gnu.org>
10988
97d176db
GM
10989 * frame.c (next_frame): Don't check focus redirection in case
10990 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10991 unless their focus is redirected, which contradicts the
10992 specification of next-frame, and leads to infinite loops in
10993 certain situations when cycling through windows with next-window.
10994
dca9961d
KH
109952000-06-30 Kenichi Handa <handa@etl.go.jp>
10996
10997 * coding.c (code_convert_region): Even if the length of text is
10998 zero, try to convert it if coding->type is coding_type_ccl.
10999 (decode_coding_string, encode_coding_string): Likewise.
11000
d5483ab1
GM
110012000-06-28 Gerd Moellmann <gerd@gnu.org>
11002
af5c25e1 11003 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11004 the display if windows_or_buffers_changed.
af5c25e1
GM
11005
11006 * dispnew.c (struct row_entry): New structure.
11007 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11008 (row_table_size, old_lines, new_lines, old_lines_size)
11009 (new_lines_size, run_pool, runs_size, runs): New variables.
11010 (add_row_entry): New function.
11011 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11012 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11013 holding them in local variables. Use a larger hash table whose
11014 size depends on glyph matrix sizes. Don't use bzero to clear the
11015 hash table; instead, clear used slots only.
11016
11017 * fns.c (next_almost_prime): Make it externally visible.
11018
11019 * lisp.h (next_almost_prime): Add prototype.
11020
d5483ab1
GM
11021 * s/isc4-0.h (sigunblock): Define.
11022
11023 * s/sco5.h (sigunblock): Define.
11024
93e40f40
DL
110252000-06-27 Dave Love <fx@gnu.org>
11026
11027 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11028 (moved to osf5-0.h).
11029 [!NOT_C_CODE]: Protect string.h stuff.
11030
11031 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11032 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11033
3c4b7685
GM
110342000-06-27 Gerd Moellmann <gerd@gnu.org>
11035
97d176db 11036 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11037 below the last line from the needed window height.
11038
32cad0aa
SM
110392000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11040
11041 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11042 (Fwidget_get): Use it.
11043 (syms_of_fns): Defsubr it.
11044
2c69ced2
GM
110452000-06-26 Gerd Moellmann <gerd@gnu.org>
11046
178c5d9c 11047 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11048 display info for XIM.
11049 (xim_open_dpy): Likewise.
11050 (xim_close_dpy): Don't free the display info's XIM.
11051
11052 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11053
11054 * config.in (USE_XIM): New define.
11055
3fc720e4
GM
11056 * keymap.c (get_keyelt): For menu-items containing a `:filter
11057 FILTER', apply FILTER to the menu-item's definition to get the
11058 real definition to use.
11059
11060 * lisp.h (QCfilter): External declaration.
11061
2c69ced2
GM
11062 * xfns.c (Fimage_size): New function.
11063 (syms_of_xfns): Defsubr it.
11064
f978b2a2
AS
110652000-06-26 Andreas Schwab <schwab@suse.de>
11066
11067 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11068 Fstring_as_unibyte.
11069
94cc7892
DL
110702000-06-25 Dave Love <fx@gnu.org>
11071
52283633 11072 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11073
11074 * Makefile.in (blockinput.h): Depend on atimer.h.
11075 (atimer.h): Depend on systime.h.
11076
52283633 11077 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11078
52283633 11079 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11080
11081 * lisp.h (swap_in_global_binding): Declare.
11082
b8c24556
KR
110832000-06-24 Ken Raeburn <raeburn@gnu.org>
11084
11085 * process.c (Fopen_network_stream): Turn off atimers for duration
11086 of call to connect. (Patch from Gerd.)
11087
8cf8560b
DL
110882000-06-23 Dave Love <fx@gnu.org>
11089
511c7541
DL
11090 * ralloc.c: Maybe include unistd.h
11091
8cf8560b
DL
11092 * emacs.c (setgrp): Undefine before defining.
11093 (malloc_warning, set_time_zone_rule, index): Prototype.
11094
11095 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11096 HAVE_STRUCT_TIMEZONE.
11097
11098 * s/osf1.h: Move string.h hack here from alpha.h and make it
11099 conditional.
11100 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11101 _XOPEN_SOURCE.
11102 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11103 (SOCKLEN_TYPE): Don't define.
11104
11105 * m/alpha.h: Remove string.h hack.
11106
11107 * s/osf5-0.h: New file.
11108
11109 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11110 include time.h, done by systime.h.
11111 [__FreeBSD__]: Remove redundant includes.
11112
3fc720e4 11113 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11114 (delete_temp_file): Return Qnil to avoid warning.
11115
11116 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11117
11118 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11119 HAVE_X_WINDOWS.
11120
11121 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11122
11123 * composite.h (compose_text): Declare.
11124
11125 * xterm.c: Don't include sys/types.h unconditionally. Don't
11126 protect its inclusion with !USG (following xmenu.c).
11127
ea055732
GM
111282000-06-23 Gerd Moellmann <gerd@gnu.org>
11129
11130 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11131 in x_create_frame.
11132
74b01b80
EZ
111332000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11134
11135 * coding.c (decode_eol_post_ccl): Special handling for undecided
11136 and inconsistent EOL types.
11137
64f3a166
GM
111382000-06-22 Gerd Moellmann <gerd@gnu.org>
11139
16cf31f7
GM
11140 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11141 trough color and main window's background color.
11142
52283633 11143 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11144
11145 * xterm.h (Xt_app_con): External declaration.
11146
11147 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11148
486a103d
GM
11149 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11150
64f3a166
GM
11151 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11152 (handle_invisible_prop): Record the start of invisible text in
11153 it->add_overlay_start.
11154 (struct overlay_entry): Add member `overlay'.
11155 (handle_overlay_change): Simplify.
11156 (next_overlay_string): After having processed overlay strings at the
11157 end of the buffer, record that fact in
11158 it->overlay_strings_at_end_processed_p.
11159 (compare_overlay_entries): If before- and after-strings come
11160 from the same overlay, let before-strings come first.
11161 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11162 (load_overlay_strings): Take it->add_overlay_start into account
11163 when adding overlay strings.
11164
11165 * dispextern.h (struct it): Add member add_overlay_start.
11166
bb746ea6
DL
111672000-06-22 Dave Love <fx@gnu.org>
11168
11169 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11170
11171 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11172
a8f573f3
KH
111732000-06-22 Kenichi Handa <handa@etl.go.jp>
11174
11175 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11176 is greater than 0.
11177
9f2bbc92
DL
111782000-06-21 Dave Love <fx@gnu.org>
11179
178c5d9c 11180 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11181
3ee5041c
SM
111822000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11183
11184 * syntax.c (back_comment): Simplify string-parity counting (with
11185 the added benefit of handling multiple string-styles as long as
11186 they are not intertwined).
11187 Jump to the slow code as soon as a comment starter is found in
11188 a "string_lossage" position. Fixes the case: " /* " /* " */.
11189
4c343001
DL
111902000-06-21 Dave Love <fx@gnu.org>
11191
11192 * Makefile.in: Use GETLOADAVG_LIBS.
11193
11194 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11195 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11196
e6365855
SM
111972000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11198
11199 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11200 (Fforward_comment, scan_lists):
11201 Check the comstyle of single-char comment-starters.
11202 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11203 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11204 Check the comstyle of single-char comment-starters.
11205 Clarify control-flow around the Scomment case.
e6365855 11206
5700d2cc
DL
112072000-06-20 Dave Love <fx@gnu.org>
11208
d355bd8a
SM
11209 * fns.c (make_hash_table, maybe_resize_hash_table):
11210 Cast arg of next_almost_prime.
5700d2cc 11211
178c5d9c 11212 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11213
11214 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11215 and unistd.h.
11216
4a27bdfb
GM
112172000-06-20 Gerd Moellmann <gerd@gnu.org>
11218
a61d762c 11219 * keyboard.c (adjust_point_for_property): Check if display
52283633 11220 property should be treated as intangible by looking at its value.
a61d762c 11221
178c5d9c 11222 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11223 (display_prop_intangible_p): New functions.
11224
11225 * dispextern.h (display_prop_intangible_p): Add prototype.
11226
11227 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11228
4a27bdfb
GM
11229 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11230 argument to sigprocmask.
11231
11232 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11233 argument to sigprocmask.
11234
11235 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11236 sigprocmask_set, and pass a pointer to it to sigprocmask.
11237
11238 * sysdep.c (sigprocmask_set): New variable.
11239
11240 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11241 report_file_error.
11242
427ec082
SS
112432000-06-20 Sam Steingold <sds@gnu.org>
11244
11245 * xrdb.c: Don't declare xmalloc, xrealloc.
11246
8972fe79 112472000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11248
11249 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11250 (re_comp): Cast gettext return value to avoid complaints when
11251 !HAVE_LIBINTL.
11252
074b6efe
DL
112532000-06-20 Dave Love <fx@gnu.org>
11254
52283633 11255 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11256
5700d2cc 11257 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11258
d355bd8a 11259 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11260
11261 * m/alpha.h: Don't declare xmalloc, xrealloc.
11262
0af4f205
DL
11263 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11264
11265 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11266
11267 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11268
11269 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11270 HAVE_GETWD.
11271
074b6efe
DL
11272 * keyboard.h (poll_for_input_1): Declare.
11273
11274 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11275
11276 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11277
11278 * doprnt.c: Don't declare xmalloc, xrealloc.
11279
11280 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11281 (getenv, ctime, getwd): Removed.
11282 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11283
11284 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11285 x_set_tool_bar_lines.
11286
11287 * config.in: Add HAVE_GETWD. Move some definitions above
11288 machine/system includes.
11289
68a5e97b
KH
112902000-06-20 Kenichi Handa <handa@etl.go.jp>
11291
95417e1e
KH
11292 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11293
68a5e97b
KH
11294 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11295 contain information about ENCODING.
11296
11297 * fontset.c (FONTSET_ASCII): Use the first element of char table
11298 for an ASCII font, not defalt slot.
11299 (fontset_ref_via_base): If FONTSET doesn't contain information for
11300 C, try the default fontset.
11301 (make_fontset): Don't copy the default fontset.
11302 (fontset_font_pattern): Likewise.
11303 (accumulate_font_info): If ELT is nil, use the corresponding
11304 element in the default fontset.
11305
3b4fa1b2
DL
113062000-06-19 Dave Love <fx@gnu.org>
11307
943e731c
DL
11308 * syntax.c (Fparse_partial_sexp): Doc fix.
11309
11310 * regex.h: Test PROTOTYPES as well as __STDC__.
11311
3b4fa1b2
DL
11312 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11313 errno, strerror. Put text after #endif in comment.
11314
52283633 11315 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11316
11317 * xterm.c (x_frame_of_widget): Likewise.
11318
cdf0357b
GM
113192000-06-19 Gerd Moellmann <gerd@gnu.org>
11320
11321 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11322 to Vfundamental_mode_abbrev_table.
11323
11324 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11325 bogus objects are marked. This slows down GC by ~80 percent, but
11326 it might be worth trying when debugging GC-related problems.
11327 This feature requires conservative stack marking to be enabled.
11328
11329 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11330 returns XLookupChars, reset `modifiers' to zero.
11331
998e9f8c
DL
113322000-06-19 Dave Love <fx@gnu.org>
11333
11334 * mktime.c: Unprotoized.
11335
18e21ce8 113362000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11337
11338 * data.c (set_internal): If variable is frame-local,
11339 store the new value immediately into the frame parameter alist.
11340
140c4ac6
KR
113412000-06-19 Ken Raeburn <raeburn@gnu.org>
11342
14358466
KR
11343 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11344 in the custom handler pointer.
11345
140c4ac6
KR
11346 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11347 value, or checks for CHAR_META can fail when Lisp_Object is a
11348 union type.
11349 * keymap.c (get_keyelt): Likewise.
11350
10d7bf84
KH
113512000-06-19 Kenichi Handa <handa@etl.go.jp>
11352
11353 * ccl.h (struct ccl_program): New member eol_type.
11354 (struct ccl_spec): New member cr_carryover.
11355
11356 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11357 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11358
11359 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11360 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11361 (decode_eol_post_ccl): New function.
11362 (decode_coding): Don't detect EOL format here for CCL based coding
11363 systems.
11364 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11365 decode_eol_post_ccl after running the CCL program.
11366 (code_convert_region): Don't detect EOL format here for CCL based
11367 coding systems.
11368 (decode_coding_string): Likewise.
11369
52e386c2
KR
113702000-06-18 Ken Raeburn <raeburn@gnu.org>
11371
11372 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11373 when treating it as an integer.
11374
11375 * coding.h (encode_coding_string): Declare.
11376
11377 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11378 it as an integer.
11379
11380 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11381 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11382 to be passed to get_local_map.
11383
11384 * sound.c (Fplay_sound): Don't call make_number on
11385 Frun_hook_with_args count argument.
11386
11387 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11388 for lisp objects in X event structure data field, when lisp
11389 objects are represented with unions.
11390 (x_scroll_bar_to_input_event): Ditto.
11391
b357b9d4
KR
113922000-06-16 Ken Raeburn <raeburn@gnu.org>
11393
11394 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11395 termination of string. Fix sense of test whether
11396 Vline_number_display_limit is an integer.
b357b9d4 11397
a871441d
GM
113982000-06-16 Gerd Moellmann <gerd@gnu.org>
11399
a9021acd
GM
11400 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11401 only if HAVE_X_WINDOWS.
11402
6344985d
GM
11403 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11404 of titles.
11405
427ec082 11406 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11407 out of bounds.
11408
228b083e
EZ
114092000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11410
11411 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11412 of its headers.
11413
c25b53a2
KH
114142000-06-15 Kenichi Handa <handa@etl.go.jp>
11415
11416 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11417 start of the while loop.
11418
a6981b11
GM
114192000-06-15 Gerd Moellmann <gerd@gnu.org>
11420
e9924e52
GM
11421 * atimer.c (alarm_signal_handler): Add forward declaration.
11422
a6981b11
GM
11423 * data.c (set_internal): Remove debug code.
11424
25fa6deb
GM
114252000-06-14 Gerd Moellmann <gerd@gnu.org>
11426
dce6b995
GM
11427 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11428
9f817ea4
GM
11429 * unexec.c (toplevel) [COFF]: Include coff.h.
11430
11431 * s/lynxos.h: New file.
11432
11433 * keymap.c (Fsingle_key_description): Enclose function key and
11434 event symbol names in angle brackets.
11435
8a4e3c0c
GM
11436 * xdisp.c (setup_echo_area_for_printing): Call
11437 message_log_maybe_newline if message_buf_print is not set.
11438
11439 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11440 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11441 function does something useful even when message_buf_print is
11442 already set.
11443
52283633
SM
11444 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11445 New variables.
25fa6deb
GM
11446 (ensure_echo_area_buffers): Initialize echo buffer's
11447 truncate lines setting to nil.
11448 (with_echo_area_buffer): Don't set the echo buffer's truncate
11449 lines setting here.
8a4e3c0c 11450 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11451 of message_truncate_lines.
11452 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11453 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11454 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11455
11456 * keyboard.c (read_char): Bind message-truncate-lines to t
11457 while displaying a help-echo.
11458
11459 * lisp.h (Qmessage_truncate_lines): External declaration.
11460
163dcff3
GM
114612000-06-13 Gerd Moellmann <gerd@gnu.org>
11462
1681ead6
GM
11463 * xdisp.c (Vline_number_display_limit): Renamed from
11464 line_number_display_limit.
11465 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11466 Extend documentation string. Initialize
11467 Vline_number_display_limit to nil meaning no limit.
11468 (decode_mode_spec): Use Vline_number_display_limit with its new
11469 meaning.
11470
163dcff3
GM
11471 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11472
18e21ce8 114732000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11474
11475 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11476
163dcff3
GM
11477 * xfns.c (x_set_frame_parameters): Comment fix.
11478
11479 * frame.c (store_frame_param): Call swap_in_global_binding if the
11480 variable's current binding was chosen based on this frame.
11481
11482 * data.c (swap_in_global_binding): New function.
11483
a704139d
EZ
114842000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11485
11486 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11487 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11488
9b6610db
EZ
114892000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11490
11491 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11492
c68833d2
JR
114932000-06-12 Jason Rumney <jasonr@gnu.org>
11494
11495 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11496
11497 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11498
11499 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11500
11501 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11502
ed1056b3
GM
115032000-06-12 Gerd Moellmann <gerd@gnu.org>
11504
11505 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11506 (syms_of_xfaces): Defsubr Sdump_colors.
11507 (x_free_colors): Don't treat b&w specially on default visual.
11508 (x_free_dpy_colors): New function.
11509 (free_face_colors): Don't check visual class; it's done
11510 in x_free_colors.
11511
11512 * xterm.c (x_frame_of_widget): New function.
11513 (x_alloc_nearest_color_for_widget): Use it.
11514 (x_copy_dpy_color): New function.
11515 (x_destroy_window): Free various colors.
11516
5050a2ef
KH
115172000-06-12 Kenichi Handa <handa@etl.go.jp>
11518
11519 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11520
11521 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11522
11523 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11524
11525 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11526
11527 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11528
fb1b041d
DL
115292000-06-11 Dave Love <fx@gnu.org>
11530
11531 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11532
ff96b5f4
EZ
115332000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11534
11535 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11536
db8eeecd
GM
115372000-06-11 Gerd Moellmann <gerd@gnu.org>
11538
ed1056b3 11539 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11540 to `XEvent *'.
11541
49b71c5f
KH
115422000-06-10 Kenichi Handa <handa@etl.go.jp>
11543
c479bd55
KH
11544 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11545 (regex_compile): Fix the code for handling the case of single byte
11546 char and multibyte char being mixed in a range within [...].
11547
ff6a65c2
KH
11548 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11549 and dst_multibyte members of coding.
11550
49b71c5f
KH
11551 * charset.c (update_charset_table): Update the table
11552 bytes_by_char_head.
11553 (init_charset_once): Initialize elements of bytes_by_char_head to
11554 1 except for leading codes for private charases.
11555
11556 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11557 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11558
9e80b57d
KR
115592000-06-09 Ken Raeburn <raeburn@gnu.org>
11560
11561 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11562 access the data it doesn't point to.
11563
f83fe4b4
GM
115642000-06-08 Gerd Moellmann <gerd@gnu.org>
11565
11566 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11567 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11568 event queue. This is necessary because Emacs otherwise won't
11569 perform a switch-frame to a new frame until some other event, for
11570 example a keystroke event, forces it to do so. This has various
11571 effects, one visible being that the cursor of a frame created with
11572 C-x 5 2 or switched to with a window manager key binding like
11573 A-TAB stays hollow because selected_window isn't on the newly
11574 focused frame until the switch-frame is performed.
11575
11576 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11577 generating a switch-frame event if necessary.
11578
11579 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11580
11581 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11582 it's an integer.
11583
0890801b
KH
115842000-06-08 Kenichi Handa <handa@etl.go.jp>
11585
52283633 11586 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11587
173cbca8
GM
115882000-06-07 Gerd Moellmann <gerd@gnu.org>
11589
3091c2a6
GM
11590 * window.c (displayed_window_lines): Take empty lines at
11591 the bottom of a window into account.
427ec082 11592
f38952fe
GM
11593 * window.c (displayed_window_lines): New function.
11594 (Fmove_to_window_line): Use displayed_window_lines to determine
11595 the number of lines to move, instead of using the window's height.
11596
11597 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11598 to stop reading, even if the form read sets point to a different
11599 value when evaluated.
11600
427ec082 11601 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11602 put the cursor.
11603
6ba6c818
KH
116042000-06-07 Kenichi Handa <handa@etl.go.jp>
11605
11606 * fileio.c (e_write): Free composition data if stored in
11607 coding->cmp_data.
11608
5f1aea9a
GM
116092000-06-06 Gerd Moellmann <gerd@gnu.org>
11610
666852af
GM
11611 * xdisp.c (display_line): Set row's and iterator's
11612 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11613 Set cursor even if row ends in the middle of a character.
11614 (dump_glyph_row): Print values of new flags.
11615 (redisplay_window) <cursor movement in unchanged window>: When
11616 point has been moved forward, and PT is at the end of the cursor
11617 row, don't place the cursor in the next row if the cursor row ends
11618 in the middle of a character or at ZV.
11619
11620 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11621 (struct glyph_row): Add starts_in_middle_of_char_p and
11622 ends_in_middle_of_char_p.
11623 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11624 ends_in_middle_of_char_p flag.
11625 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11626
d13f3e2e
GM
11627 * term.c (append_glyph): Revert change of 2000-06-06.
11628
11629 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11630 padding glyph not fitting on line as whole character not
11631 fitting on line.
11632
5f1aea9a
GM
11633 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11634 this isn't true for images with `:ascent 100'.
11635
10cda9b0
KH
116362000-06-06 Kenichi Handa <handa@etl.go.jp>
11637
ed00559d
KH
11638 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11639 as modified if it is originally unmodified.
11640
10cda9b0
KH
11641 * term.c (encode_terminal_code): Change the way to check if
11642 terminal coding does any conversion.
11643 (append_glyph): Set glyph->pixel_width correctly.
11644
11645 * xdisp.c (display_line): While checking line continuation, pay
11646 attention to a padding glyph.
11647
1969fae2
GM
116482000-06-05 Gerd Moellmann <gerd@gnu.org>
11649
11650 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11651
162ccef4
DL
116522000-06-05 Dave Love <fx@gnu.org>
11653
f19f32dd
DL
11654 * xdisp.c: Include fontset.h.
11655
11656 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11657
11658 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11659
11660 * dispnew.c: Conditionally include term.h.
11661
11662 * coding.h: Declare code_convert_string_norecord.
11663
11664 * frame.h (struct frame): Use volatile unconditionally.
11665
11666 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11667
11668 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11669
11670 * systime.h: Protect against multiple inclusion.
11671 (timezone) [USG5_4]: Define as time_t.
11672
11673 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11674 (Foptimize_char_table, make_temp_name): Declare.
11675
11676 * Makefile.in (xdisp.o): Depend on fontset.h.
11677
11678 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11679
11680 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11681 (Foptimize_char_table, make_temp_name): Declare.
11682
427ec082 11683 * s/irix4-0.h:
162ccef4
DL
11684 * s/irix5-0.h:
11685 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11686
2082fe81
DL
116872000-06-02 Dave Love <fx@gnu.org>
11688
11689 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11690
dcf671d2
GM
116912000-06-02 Gerd Moellmann <gerd@gnu.org>
11692
11693 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11694 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11695 be freed.
11696
11697 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11698 glyph, use the ASCII NUL character to determine the face.
11699
d42122a3
DL
117002000-06-02 Dave Love <fx@gnu.org>
11701
11702 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11703 (VFORK_RETURN_TYPE): Remove.
427ec082 11704
d42122a3
DL
11705 * config.in: Add NO_MATHERR.
11706
dd432f16
DL
117072000-06-01 Dave Love <fx@gnu.org>
11708
90aa4ea8
DL
11709 * cmds.c (internal_self_insert): Don't check
11710 Vbefore_change_function, Vafter_change_function.
11711
11712 * insdel.c (signal_before_change, signal_after_change): Likewise.
11713
11714 * buffer.c (Vbefore_change_function, Vafter_change_function):
11715 Variables and their initializations deleted.
11716
2330c9d4
DL
11717 * callint.c (Fcall_interactively): Doc fix.
11718
dd432f16
DL
11719 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11720
bf9e8804
DL
117212000-05-31 Dave Love <fx@gnu.org>
11722
11723 * textprop.c: Revert last change -- duplicated.
11724
3694b4ab
GM
117252000-05-31 Gerd Moellmann <gerd@gnu.org>
11726
11727 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11728 in #if 0.
11729
11730 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11731
f14156cd
JR
117322000-05-31 Jason Rumney <jasonr@gnu.org>
11733
8119aab8
JR
11734 * search.c (Fre_search_forward, Fre_search_backward)
11735 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11736
f14156cd
JR
11737 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11738
4aab9be3
JR
117392000-05-30 Jason Rumney <jasonr@gnu.org>
11740
11741 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11742 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11743
52283633 11744 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11745
11746 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11747 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11748 expand a nil default_filename.
11749
11750 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11751 pointer to glyph_to_pixel_coords, not a frame.
11752
11753 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11754 coding.h to dependencies.
11755
11756 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11757
11758 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11759 window pointer to be consistent with w32term.c and xterm.c.
11760
11761 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11762 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11763 (Qline_spacing, Qcenter): New variables.
11764 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11765 (x_set_line_spacing): New function.
52283633 11766 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11767 (x_specified_cursor_type): New function.
11768 (x_set_cursor_type): Use it.
11769 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11770 and icon strings.
11771 (validate_x_resource_name, x_get_resource_string): Measure lengths
11772 of external strings in bytes.
11773 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11774 GetTextExtentPoint32 with NULL title.
11775 (Fx_create_frame): Initialize Qline_spacing.
11776 (w32_load_system_font): Initialize font->double_byte_p.
11777 (x_to_w32_charset): Use Vw32_charset_info_alist.
11778 (Image, busy cursor, tooltip functions): Merged changes from
11779 xfns.c. Not yet functional on Windows.
11780
11781 * w32gui.h (W32FontStruct): Add double_byte_p member.
11782
11783 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11784 (emacs_button_translation): Use it.
11785 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11786 in `mask' to be set.
11787
11788 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11789 menu strings.
11790
11791 * w32term.c: Format and doc changes to bring closer to xterm.c.
11792 (w32_char_font_type): New enum.
11793 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11794 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11795 (w32_encode_char): New function.
11796 (x_encode_char): Removed.
11797 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11798 x_encode_char and w32_font_is_double_byte.
11799 (x_produce_image_glyph): Use image_ascent.
11800 (x_produce_glyphs): Use new version of w32_per_char_metric and
11801 handle NULL return value. Allow extra line spacing.
11802 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11803 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11804 w32_font_type member of glyph instead.
11805 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11806 (fast_find_position): Make sure not to consider rows not visible
11807 in the window.
11808 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11809 w32_menu_display_help with input blocked, as it can abort.
11810 (x_display_and_set_cursor): Choose cursor depending
11811 on buffer-local value of cursor_type.
11812 (x_draw_bar_cursor): Add parameter WIDTH.
11813
11814 * w32term.h (CP_DEFAULT): Define.
11815 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11816
10fc3187
GM
118172000-05-30 Gerd Moellmann <gerd@gnu.org>
11818
11819 * search.c (Fre_search_forward, Fre_search_backward)
11820 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11821
d0555360
KH
118222000-05-30 Kenichi Handa <handa@etl.go.jp>
11823
11824 * coding.c (detect_coding_iso2022): Fix code for checking
11825 CODING_CATEGORY_MASK_ISO_8_2.
11826
f1ad044f
SM
118272000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11828
11829 * regex.c (PREFETCH_NOLIMIT): New function.
11830 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11831
84ec3b4b
GM
118322000-05-29 Gerd Moellmann <gerd@gnu.org>
11833
66254a13
GM
11834 * syntax.c (find_defun_start): Move test for
11835 open_paren_in_column_0_is_defun_start outside of the loop.
11836
49e70dec
GM
11837 * xdisp.c (redisplay_window): Really switch buffers when
11838 displaying mode lines, and temporarily set selected_frame to the
11839 frame of the window that's redisplayed.
11840
84ec3b4b
GM
11841 * xfaces.c (free_realized_faces): Block/unblock input.
11842 (free_realized_multibyte_face): Ditto.
11843
869a3a14
DL
118442000-05-29 Dave Love <fx@gnu.org>
11845
11846 * textprop.c (Qkeymap): New variable.
11847 (syms_of_textprop): Intern it.
11848
11849 * keymap.c: Include intervals.h.
11850 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11851
11852 * Makefile.in (keymap.o): Depend on intervals.h.
11853
11854 * keyboard.c (menu_bar_items, tool_bar_items)
11855 (Fexecute_extended_command): Deal with `keymap' property.
11856 (read_key_sequence): Track map from `keymap' property as well as
11857 `local_map'.
11858
11859 * intervals.c (get_local_map): Extra arg to allow looking for
11860 `keymap' too.
11861
11862 * intervals.h (map_property): New enum.
11863 (get_local_map): Extra arg using it.
11864 (Qkeymap): Declare.
11865
84ec3b4b 11866 * lisp.h (get_local_map): Don't declare here.
869a3a14 11867
89d0c844
KH
118682000-05-29 Kenichi Handa <handa@etl.go.jp>
11869
11870 * Makefile.in (callproc.o): Depend on composite.h.
11871
11872 * callproc.c: Include composite.h.
11873 (Fcall_process): Handle composition correctly.
11874
11875 * coding.h (coding_allocate_composition_data): Extern it.
11876 (coding_restore_composition): Likewise.
11877
11878 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11879 yet allocated, finish decoding with result
11880 CODING_FINISH_INSUFFICIENT_CMP.
11881 (coding_allocate_composition_data): Make it non-static.
11882 (coding_restore_composition): Likewise.
11883
797a084a
EZ
118842000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11885
11886 * charset.c (syms_of_charset): Revert last change.
11887
cf872af5
EZ
118882000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11889
11890 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11891 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11892 Handa.
cf872af5 11893
5b1ae051
EZ
118942000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11895
11896 * charset.c (syms_of_charset): Set width of character sets
11897 eight-bit-control and eight-bit-graphic to 1 column.
11898
34ec9ebe
GM
118992000-05-26 Gerd Moellmann <gerd@gnu.org>
11900
11901 * config.in (HAVE_SPEED_T): New define.
11902
11903 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11904 `extern speed_t'.
11905
dd854dc2
DL
119062000-05-26 Dave Love <fx@gnu.org>
11907
11908 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11909
11910 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11911 (Fsubr_arity): New function.
11912 (syms_of_data): Install them.
11913
ba9f8f95
KH
119142000-05-26 Kenichi Handa <handa@etl.go.jp>
11915
0f3e0672
KH
11916 * charset.c (init_charset_once): Set the table bytes_by_char_head
11917 correctly.
11918
cebefb44
KH
11919 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11920 the default fontset to what Emacs uses by default.
0f3e0672
KH
11921 (check_registry_encoding): This function deleted.
11922 (Fset_fontset_font): Remove the adhoc condition for the default
11923 fontset. Allow cons in FONTNAME.
cebefb44 11924
0f3e0672
KH
11925 * fns.c (map_char_table): Ignore char-table entries for
11926 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11927
7a18af49
KR
119282000-05-25 Ken Raeburn <raeburn@gnu.org>
11929
11930 * emacs.c (main): Initialize keyboard syms before initializing
11931 window code, so face names are available.
11932
d2af47df
SM
119332000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11934
11935 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11936 of an anchor at the beginning of a shy-group.
11937
fc6a6a4e
GM
119382000-05-25 Gerd Moellmann <gerd@gnu.org>
11939
11940 * xdisp.c (handle_invisible_prop): Don't try to skip over
11941 invisible text if end of text is already reached.
11942
005f0d35
DL
119432000-05-25 Dave Love <fx@gnu.org>
11944
02513cdd
DL
11945 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11946
005f0d35
DL
11947 * coding.c (encode_eol): Add null statement after label.
11948
89f6ca4e
EZ
119492000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11950
11951 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11952 2000-05-20.
11953
a4e1759e
KH
119542000-05-25 Kenichi Handa <handa@etl.go.jp>
11955
11956 * ccl.c (ccl_driver): Fix previous change.
11957
eacfd7fe
KH
119582000-05-25 Kenichi Handa <handa@etl.go.jp>
11959
46ab33a9
KH
11960 * coding.c (run_pre_post_conversion_on_str): Set point to the
11961 beginning of buffer before calling coding->post_read_conversion.
11962 (decode_coding_string): Give correct args to
11963 run_pre_post_conversion_on_str.
11964 (encode_coding_string): Likewise.
11965
eacfd7fe
KH
11966 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11967 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11968 eight-bit-graphic correctly.
11969
f8569325
DL
119702000-05-24 Kenichi HANDA <handa@etl.go.jp>
11971
11972 * fileio.c (Finsert_file_contents): Even if a file is not found,
11973 execute codes for setting up coding system. Call
11974 after-insert-file-functions unconditionally.
11975
04545643
GM
119762000-05-24 Gerd Moellmann <gerd@gnu.org>
11977
11978 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11979 BSD_PGRPS are not defined.
11980
747d90ea
KH
119812000-05-24 Kenichi Handa <handa@etl.go.jp>
11982
11983 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11984 DESCRIPTION.
11985 (syms_of_charset): Avoid building same strings.
11986
716e3b88
GM
119872000-05-23 Gerd Moellmann <gerd@gnu.org>
11988
11989 * lread.c (Fload): Add a comment about the meaning of
11990 Vuser_init_file being t.
11991
11992 * puresize.h (BASE_PURESIZE): Increase to 675000.
11993
11994 * s/gnu-linux.h (setpgrp): Don't define it here because this
11995 prevents compilation on GNU/Linux systems with glib 2.2.
11996
11997 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11998 as setpgid.
427ec082 11999
9aeb39fa
EZ
120002000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12001
12002 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12003 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12004 version.
12005 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12006
29ced61b
KH
120072000-05-23 Kenichi Handa <handa@etl.go.jp>
12008
52283633 12009 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12010
3d80f24d
KH
12011 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12012
52283633 12013 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12014
29ced61b
KH
12015 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12016
d7e00792
KH
120172000-05-22 Kenichi Handa <handa@etl.go.jp>
12018
c9d80d38
KH
12019 * keyboard.c (read_char): Allow character codes 128..255 to be
12020 handled by input-method-function.
12021
d7e00792
KH
12022 * insdel.c (adjust_markers_for_replace): Fix previous change.
12023 (adjust_after_replace): If PREV_TEXT is nil, call
12024 adjust_markers_for_insert, not adjust_markers_for_replace.
12025
087121cc 120262000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12027
087121cc
GM
12028 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12029 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12030 [HAVE_GRANDPT]: Define.
12031 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12032
12033 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12034 like SYSV_PTYS.
12035
12036 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12037
12038 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12039
c9671f81
KH
120402000-05-20 Kenichi Handa <handa@etl.go.jp>
12041
12042 The following changes are to handle 8-bit characters in a
12043 multibyte buffer/string without facing with byte combining
12044 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12045 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12046
12047 * Makefile.in (fns.o): Depend on charset.h.
12048
12049 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12050 convert it to unibyte.
12051 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12052
12053 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12054 apparent char boundary.
12055 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12056 0x80..0x9F to/from multibyte form.
12057
12058 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12059 to unibyte.
12060
12061 * callproc.c (Fcall_process): Always encode an argument string if
12062 it is multibyte. Setup src_multibyte and dst_multibyte members of
12063 process_coding properly.
ce75fd23 12064
c9671f81
KH
12065 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12066 SPLIT_NON_ASCII_CHAR.
12067
12068 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12069 as is.
12070 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12071
52283633 12072 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12073 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12074 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12075 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12076 and eight-bit-graphic.
12077 (char_to_string): Likewise. Signal an error for too large
12078 character code.
12079 (char_printable_p): Return 0 for 8-bit characters.
12080 (update_charset_table): Update iso_charset_table only when a final
12081 character is non-negative.
12082 (find_charset_in_text): Renamed from find_charset_in_str.
12083 Arguments and return value changed. Callers changed.
12084 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12085 be -1 if CHARSET is used only internally.
12086 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12087 eight-bit-graphic.
12088 (Fcharset_after): Simplified.
12089 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12090 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12091 (multibyte_chars_in_text): Simplified by assuming there's no
12092 invalid multibyte sequence.
52283633
SM
12093 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12094 (str_as_unibyte): New functions.
12095 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12096 (init_charset_once): Initialization for
12097 LEADING_CODE_8_BIT_CONTROL.
12098 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12099 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12100 eight-bit-control and eight-bit-graphic.
12101
52283633
SM
12102 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12103 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12104 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12105 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12106 (CHARSET_REVERSE_CHARSET): Likewise.
12107 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12108 eight-bit-graphic.
12109 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12110 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12111 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12112 encounter an invalid multibyte sequence.
12113 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12114 sequence is always valid.
12115 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12116 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12117 (CHAR_STRING): For 8-bit characters, call char_to_string.
12118 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12119 multibyte sequence is always valid.
12120 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12121 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12122 (str_as_unibyte): Extern them.
c9671f81 12123 (BCOPY_SHORT): Fix a bug.
52283633 12124 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12125 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12126 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12127 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12128
bd4bde7f 12129 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12130 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12131 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12132 (EMIT_BYTES): New macros.
12133 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12134 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12135 macros deleted.
12136 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12137 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12138 check the validity of multibyte sequence.
12139 (decode_coding_emacs_mule): New function.
12140 (encode_coding_emacs_mule): New macro.
12141 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12142 the source.
12143 (DECODE_ISO_CHARACTER): Just return a character code.
12144 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12145 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12146 EMIT_CHAR to produced decoded characters. Exit the loop only by
12147 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12148 block here.
12149 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12150 only position codes for an invalid character.
12151 (encode_designation_at_bol): Return new destination pointer. 5th
12152 arg DSTP is changed to DST.
12153 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12154 from the source by ONE_MORE_CHAR. Don't handle the case of last
12155 block here.
12156 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12157 macros deleted.
52283633
SM
12158 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12159 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12160 TWO_MORE_BYTES to fetch a byte from the source.
12161 (encode_eol): Pay attention to coding->src_multibyte.
12162 (detect_coding, detect_eol): Preserve members src_multibyte and
12163 dst_multibyte.
12164 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12165 (encoding_buffer_size): Set magnification to 3 for all coding
12166 systems that require encoding.
12167 (ccl_coding_driver): For decoding, be sure that the result is
12168 valid multibyte sequence.
12169 (decode_coding): Initialize coding->errors and coding->result.
12170 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12171 and raw-text, always call decode_eol. Handle the case of last
12172 block here. If not coding->dst_multibyte, convert the resulting
12173 sequence to unibyte.
12174 (encode_coding): Initialize coding->errors and coding->result.
12175 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12176 and raw-text, always call encode_eol. Handle the case of last
12177 block here.
12178 (shrink_decoding_region, shrink_encoding_region): Detect cases
12179 that we can't skip data more rigidly.
12180 (code_convert_region): Setup src_multibyte and dst_multibyte
12181 members of coding. For decoding, if the buffer is multibyte,
12182 convert the source sequence to unibyte in advance. For encoding,
12183 if the buffer is multibyte, convert the resulting sequence to
12184 multibyte afterward.
12185 (run_pre_post_conversion_on_str): New function.
12186 (code_convert_string): Deleted and divided into the following two.
12187 (decode_coding_string, encode_coding_string): New functions.
12188 (code_convert_string1, code_convert_string_norecord): Call one of
12189 above.
12190 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12191 MAKE_NON_ASCII_CHAR.
52283633
SM
12192 (Fset_terminal_coding_system_internal)
12193 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12194 and dst_multibyte members.
12195 (init_coding_once): Initialize iso_code_class with new enum
12196 ISO_control_0 and ISO_control_1.
12197
12198 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12199 devided into ISO_control_0 and ISO_control_1.
12200 (struct coding_system): New members src_multibyte, dst_multibyte,
12201 errors, and result. Delete member fake_multibyte.
12202 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12203 nonzero.
12204 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12205 nonzero.
12206
12207 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12208 (Faset): Likewise.
12209
12210 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12211 multibyte form.
12212 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12213 combining occurs.
12214 (Ftranspose_region): Delete codes for handling byte combining.
12215
12216 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12217 dst_multibyte members of coding. On handling REPLACE on unibyte
12218 buffer, convert the result of decode_coding to unibyte. On
12219 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12220 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12221 multibyteness of the source (buffer or string).
12222
12223 * fns.c (concat): Handle 8-bit characters correctly.
12224 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12225 unibyte in the result.
12226 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12227 valid multibyte form in the result.
12228 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12229 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12230 return -1, signal an error.
12231 (base64_encode_1): New arg MULTIBYTE. Get each character by
12232 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12233 character is found, return -1.
12234 (Fbase64_decode_region): Delete codes for handling byte-combining.
12235 Treat each decoded byte as a unibyte character.
12236 (Fbase64_decode_string): Return unibyte string.
12237 (Fcompare_strings, concat, string_byte_to_char): Use
12238 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12239 FETCH_STRING_CHAR_ADVANCE.
12240 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12241 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12242
12243 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12244 SPLIT_NON_ASCII_CHAR.
12245 (fontset_ref_via_base, fontset_set): Likewise
12246
12247 * insdel.c (adjust_markers_for_record_delete): Deleted.
12248 (adjust_markers_for_insert): Argument changed. Caller changed.
12249 (adjust_markers_for_replace): Likewise.
52283633
SM
12250 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12251 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12252 (copy_text): Delete unused local varialbe c_save. For converting
12253 to multibyte, be sure to make all 8-bit characters in valid
12254 multibyte form.
12255 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12256 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12257 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12258 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12259 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12260 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12261 handling byte combining.
12262 (adjust_before_replace): Deleted.
427ec082 12263
c9671f81
KH
12264 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12265 SPLIT_NON_ASCII_CHAR.
12266 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12267 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12268 (Fkey_description): Likewise.
12269
12270 * lread.c (read1): On reading multibyte string, be sure to make
12271 all 8-bit chararacters in valid multibyte form.
12272 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12273
12274 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12275 unconditionally.
12276
12277 * process.c (Fstart_process): GCPRO current_dir before calling
12278 Ffind_operation_coding_system. Encode arguments here.
12279 (create_process): Don't encode arguments here. Setup
12280 src_multibyte and dst_multibyte members of struct coding.
12281 (read_process_output): Setup src_multibyte and dst_multibyte
12282 members of struct coding. If the output is to multibyte buffer,
12283 always decode the output of the process. Adjust the
52283633 12284 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12285 (send_process): Setup coding->src_multibyte according to the
12286 multibyteness of the source.
12287
52283633 12288 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12289 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12290 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12291
52283633 12292 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12293
12294 * w16select.c (Fw16_set_clipboard_data): Setup members
12295 src_multibyte and dst_multibyte of coding. Adjusted for the
12296 change for find_charset_in_str.
12297 (Fw16_get_clipboard_data): Likewise.
12298
12299 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12300 dst_multibyte of coding.
12301 (x_to_w32_font): Likewise.
12302
12303 * w32select.c (Fw32_set_clipboard_data): Setup members
12304 src_multibyte and dst_multibyte of coding. Adjusted for the
12305 change for find_charset_in_str.
12306 (Fw32_get_clipboard_data): Likewise.
12307
12308 * xdisp.c (get_next_display_element): Handle 8-bit characters
12309 correctly.
52283633
SM
12310 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12311 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12312
12313 * xselect.c (selection_data_to_lisp_data): Setup members
12314 src_multibyte and dst_multibyte of coding. Adjusted for the
12315 change for find_charset_in_str.
12316 (lisp_data_to_selection_data): Likewise.
12317
5f64c9e0
GM
123182000-05-19 Gerd Moellmann <gerd@gnu.org>
12319
52283633 12320 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12321
5f64c9e0
GM
12322 * dispextern.h (Vimage_types): Add extern declaration.
12323
12324 * xdisp.c (Vimage_types): Moved here from xfns.c.
12325 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12326
12327 * xfns.c (Vimages_types): Moved to xdisp.c.
12328 (syms_of_xfns): Move `image-types' to xdisp.c.
12329
12330 * w32fns.c (Vimage_types): Removed.
12331 (syms_of_w32fns): Remove `image-types'.
12332
813086ea
KH
123332000-05-18 Kenichi Handa <handa@etl.go.jp>
12334
12335 * fns.c (map_char_table): Pay attention to character number of
12336 charset. Check the validity of charset at the first level. For
12337 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12338 the default value.
12339
12340 * fontset.c: Include "buffer.h".
12341 (fs_load_font): If the face has fontset, record the face ID in
12342 that fontset.
12343 (Finternal_char_font): New function.
12344 (accumulate_font_info): New function.
12345 (Ffontset_info): Rewritten for the new fontset implementation.
12346 (syms_of_fontset): Register Vdefault_fontset in the first element
12347 of Vfontset_table. Include Vdefault_fontset in
12348 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12349 function.
12350
bdaebbf0
DL
123512000-05-16 Dave Love <fx@gnu.org>
12352
12353 * m/iris5d.h: Deleted -- unused.
12354
cb613bb8
GM
123552000-05-16 Gerd Moellmann <gerd@gnu.org>
12356
b15f3b77
GM
12357 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12358 `invalid' instead of `illegal'.
12359
12360 * indent.c (Fmove_to_column): When ending within a tab, insert
12361 spaces first so that markers at the end of the tab get adjusted.
12362
835c1b36
GM
12363 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12364 buffer list that wasn't selected in that frame.
12365
cb613bb8
GM
12366 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12367 is needed on mescaline, use a 2 char prefix, and call
12368 make_temp_name with second arg non-zero.
12369
12370 * fileio.c (make_temp_name): New function, extracted from
12371 Fmake_temp_name.
12372 (Fmake_temp_name): Use it.
12373
f685bea9
EZ
123742000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12375
52283633 12376 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12377
a1b8d58b
GM
123782000-05-15 Gerd Moellmann <gerd@gnu.org>
12379
12380 * Makefile.in (lisp): Add env.elc.
12381
12382 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12383
a265079f
GM
123842000-05-12 Gerd Moellmann <gerd@gnu.org>
12385
12386 * search.c (Freplace_match): Handle case of `\N' in the
12387 replacement when there's no group N.
12388
da4496b6
GM
123892000-05-11 Gerd Moellmann <gerd@gnu.org>
12390
0ace421a
GM
12391 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12392 of the message to message_dolog.
12393
1172eb8d
GM
12394 * keyboard.c (read_char): Don't clear current message for help
12395 events; let the code handling help events handle this. Change
12396 code detecting help events that should be ignored.
12397
da4496b6
GM
12398 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12399 we're interating over a string.
12400
0623e40f
DL
124012000-05-09 Dave Love <fx@gnu.org>
12402
12403 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12404 that offset before writing. Move gcpro region past call of
12405 Ffile_regular_p.
12406
bae2503b
DL
124072000-05-04 Dave Love <fx@gnu.org>
12408
12409 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12410
ec82fb2f
GM
124112000-05-04 Gerd Moellmann <gerd@gnu.org>
12412
12413 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12414 of inserted characters when BUF equals the current buffer, and PT
12415 is in front of or equal to FROM.
12416
cbf18892
GM
124172000-05-03 Gerd Moellmann <gerd@gnu.org>
12418
4ff40dd0
GM
12419 * xdisp.c (handle_single_display_prop): If display property value
12420 is invalid, or something not supported on the frame, restore
12421 iterator's position to what it was initially. Make sure to return
12422 0 for invalid and unsupported property values.
12423
cbf18892
GM
12424 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12425 that x_per_char_metric returns null.
12426
1b0672c3
GM
124272000-05-02 Gerd Moellmann <gerd@gnu.org>
12428
576da55d
GM
12429 * xterm.h (struct face): Add forward declaration.
12430 (struct image): Ditto.
12431 (image_ascent): Add prototype.
12432
12433 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12434 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12435 image_ascent instead of using IMAGE_ASCENT.
12436
12437 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12438 (IMAGE_ASCENT): Removed.
12439
12440 * xfns.c (Qcenter): New variable.
12441 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12442 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12443 (image_ascent): New function.
12444 (lookup_image): Recognize `:ascent center'.
12445 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12446 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12447 (xbm_load): Don't set image's ascent here.
12448 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12449 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12450 check ascent values here.
12451 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12452 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12453 (syms_of_xfns): Initialize Qcenter.
12454
1b0672c3
GM
12455 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12456 to the limits, increase the limits.
12457
0d7811ed
KH
124582000-05-01 Kenichi Handa <handa@etl.go.jp>
12459
12460 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12461 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12462
a943a5ca
GM
124632000-04-28 Gerd Moellmann <gerd@gnu.org>
12464
12465 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12466 taller than the window.
12467
5dba1e29
KH
124682000-04-28 Kenichi Handa <handa@etl.go.jp>
12469
12470 * xfaces.c (realize_x_face): Fix the argument of the second
12471 xassert. BASE_FACE may not be a face for ASCII.
12472
353964e3
GM
124732000-04-27 Gerd Moellmann <gerd@gnu.org>
12474
c76e04a8
GM
12475 * print.c (print_object): Treat print-length < 0 as nil.
12476
12477 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12478
12479 * s/freebsd.h (TERMCAP_OBJ): Removed.
12480 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12481
12482 * lread.c (read1): Don't treat period followed by certain
12483 characters as symbol start.
12484
12485 * xfns.c (slurp_file): New function.
12486 (xbm_image_p): Handle case of in-memory XBM files.
12487 (xbm_scan): Rewritten to work on memory buffers instead of files.
12488 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12489 Work on memory buffers instead of files. If DATA is null test
12490 if buffer looks like an in-memory XBM file.
12491 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12492 memory buffers instead of files.
12493 (xbm_file_p): New function.
12494 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12495
353964e3
GM
12496 * lread.c (end_of_file_error): New function.
12497 (read1): Call it instead of signaling `end-of-file' directly.
12498
427ec082 12499 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12500 with Fprinc instead of Fprin1.
12501
24d744ac
KR
125022000-04-26 Ken Raeburn <raeburn@gnu.org>
12503
12504 * window.c (freeze_window_start): Check that minibuffer scroll
12505 window isn't nil before extracting the window structure pointer
12506 from it.
12507
12508 * undo.c (record_delete): If we hit the end of the undo list, stop
12509 picking elements apart.
12510
7464346d
GM
125112000-04-26 Gerd Moellmann <gerd@gnu.org>
12512
12513 * xdisp.c (display_line): If lines are continued, restore
12514 iterator's ascent/descent information to the values before the
12515 first glyph not fitting on the line.
12516
612839b6
GM
125172000-04-25 Gerd Moellmann <gerd@gnu.org>
12518
12519 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12520 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12521
12522 * dispnew.c (increment_matrix_positions): Renamed from
12523 increment_glyph_matrix_buffer_positions.
12524 (increment_row_positions): Renamed from
12525 increment_glyph_row_buffer_positions.
12526
12527 * dispextern.h: Change names of renamed functions from dispnew.c
12528 in prototypes.
12529
cc181e95
GM
125302000-04-24 Gerd Moellmann <gerd@gnu.org>
12531
abfcc168
GM
12532 * fileio.c (Fdo_auto_save): Create directories for auto-save
12533 list file if necessary.
12534
cc181e95
GM
12535 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12536 from buffer or frame.
12537 (automatic_hscrolling_p): New variable.
12538 (hscroll_windows): Scroll windows horizontally only if automatic
12539 hscrolling is allowed.
12540 (syms_of_xdisp): New variable `automatic-hscrolling'.
12541
12542 * frame.h (struct frame): Add member extra_line_spacing.
12543
12544 * xfns.c (x_set_line_spacing): New function.
12545 (Fx_create_frame): Set line spacing from resources.
12546 (Qline_spacing): New variable.
12547 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12548
cc181e95
GM
12549 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12550
12551 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12552 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12553 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12554 extra_line_spacing from default value.
12555 (init_buffer_once): Initialize default value of extra_line_spacing.
12556
12557 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12558 and extra3.
12559
12560 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12561 prompt_width. Add extra line spacing.
12562
12563 * term.c (produce_glyphs): Remove reference to struct it's
12564 prompt_width.
12565
12566 * dispextern.h (struct it): Remove member prompt_width, add
12567 extra_line_spacing.
12568
58827478
GM
125692000-04-22 Gerd Moellmann <gerd@gnu.org>
12570
12571 * dispnew.c (update_frame_line): When writing a whole line, make
12572 sure cursor is in the right row afterwards, otherwise a use of
12573 capability `ch' in cmgoto might leave the cursor in the row below.
12574
25a87f42
GM
125752000-04-21 Gerd Moellmann <gerd@gnu.org>
12576
12577 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12578
12579 * keyboard.c (timer_check): Fix typo in comment.
12580
54edf5c2
KH
125812000-04-21 Kenichi Handa <handa@etl.go.jp>
12582
12583 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12584 name change: ch -> character.
12585
3a64eef5
GM
125862000-04-20 Gerd Moellmann <gerd@gnu.org>
12587
12588 * keyboard.c (echo_message_buffer): New variable.
12589 (echo_now): Set echo_message_buffer to the echo area buffer used
12590 to display the echo.
12591 (cancel_echoing): Reset echo_message_buffer to nil.
12592 (read_char): Code rewritten that handles canceling an echo or
12593 echoing a dash, respectively.
12594
12595 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12596 directory doesn't exist.
12597
6142fdcb
DL
125982000-04-19 Dave Love <fx@gnu.org>
12599
12600 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12601 (concat): Don't allow numeric args.
12602 (Fconcat): Doc change.
6142fdcb 12603
ac6b5352
SM
126042000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12605
12606 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12607 instead define end_match(1|2) more carefully.
12608 Use GET_CHAR_BEFORE_2 for `begline'.
12609
cb9215e4
GM
126102000-04-19 Gerd Moellmann <gerd@gnu.org>
12611
5e3dac3f
GM
12612 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12613 on 64-bit systems where NULL is defined as `0'.
12614
12615 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12616 the `variable argument list' to make it work on Alpha.
12617
cb9215e4
GM
12618 * m/alpha.h (_LP64) [!_LP64]: Define.
12619 (ORDINARY_LINK): Define for NetBSD.
12620
12621 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12622
f532dca0
DL
126232000-04-19 Dave Love <fx@gnu.org>
12624
c750667e
DL
12625 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12626 change.
12627
12628 * Makefile.in (LIBS): Don't use.
12629 (GETLOADAVG_OBJ): Define again.
12630 (otherobj): Add GETLOADAVG_OBJ.
12631
f532dca0
DL
12632 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12633
1c7e22fd
GM
126342000-04-18 Gerd Moellmann <gerd@gnu.org>
12635
f6d3257b
GM
12636 * lread.c (read_filtered_event): Cancel and start busy cursor.
12637
427ec082 12638 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12639 that the per-character metrics may be null.
12640
e10f64e7
GM
126412000-04-17 Gerd Moellmann <gerd@gnu.org>
12642
0daee095
GM
12643 * buffer.c (clone_per_buffer_values): New function.
12644 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12645 clone_per_buffer_values if CLONE is not nil.
12646
e10f64e7
GM
12647 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12648
38687d43
DL
126492000-04-16 Dave Love <fx@gnu.org>
12650
12651 * Makefile.in: Remove obsolete localcpp stuff.
12652 (GETLOADAVG_OBJ): Don't define.
12653 (obj): Move LIBOBJS...
12654 (otherobj): ... to here.
12655 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12656 whitespace-only lines after the continuation (Irix).
12657
c21c7262
GM
126582000-04-14 Gerd Moellmann <gerd@gnu.org>
12659
12660 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12661
12662 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12663
314767c0
DL
126642000-04-14 Dave Love <fx@gnu.org>
12665
12666 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12667 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12668 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12669 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12670 NLIST_STRUCT.
12671
12672 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12673 autoconfiscated HAVE_GETLOADAVG.
12674
12675 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12676 BROKEN_MKTIME.
12677
a2522dca
GM
126782000-04-14 Gerd Moellmann <gerd@gnu.org>
12679
12680 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12681 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12682
33744b5d
DL
126832000-04-14 Dave Love <fx@gnu.org>
12684
c21c7262 12685 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12686 (INTERVAL_SRC): Convert to make variable.
12687 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12688 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12689 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12690 add LIBOBJS.
12691 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12692 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12693 (shortlisp): Add facemenu, float-sup, frame.
12694 (SOME_MACHINE_LISP): Remove them from here.
12695 (LIBES): Change unused LDLIBS to autoconf LIBS.
12696
12697 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12698
9d3d5916
KH
126992000-04-14 Kenichi Handa <handa@etl.go.jp>
12700
12701 * composite.c (update_compositions): If FROM and TO are not in a
12702 valid range, do nothing.
12703
198e3c7a
GM
127042000-04-13 Gerd Moellmann <gerd@gnu.org>
12705
52283633 12706 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12707
52283633 12708 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12709
12710 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12711 as TERMCAP_OBJ.
12712
055a28c9
EZ
127132000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12714
12715 * fileio.c (a_write): Remove redundant semi-colons.
12716 (e_write): Return -1 if failed to write all the data.
12717 This fixes the changes made at 1999-12-15.
12718
f5c75033
DL
127192000-04-12 Dave Love <fx@gnu.org>
12720
12721 * fns.c (mapcar1): Test for null vals to support mapc.
12722 (Fmapc): New function.
12723
0c3cfc51
EZ
127242000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12725
12726 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12727 (IT_frame_up_to_date): Support the buffer local value of
12728 cursor-type, if defined.
12729
33465a31
DL
127302000-04-10 Dave Love <fx@gnu.org>
12731
12732 * editfns.c (preceding-char, following-char): Doc fix.
12733
6ed56568
KR
127342000-04-10 Ken Raeburn <raeburn@gnu.org>
12735
12736 * Makefile.in (temacs): Revert 2000-03-12 change.
12737
7cf80d4e
JR
127382000-04-10 Jason Rumney <jasonr@gnu.org>
12739
12740 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12741
34f3f342
GM
127422000-04-10 Gerd Moellmann <gerd@gnu.org>
12743
1a1b1895
GM
12744 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12745 area buffer, if it's not set up yet.
12746
34f3f342
GM
12747 * indent.c (compute_motion): Set immediate_quit.
12748
be0dbdab
GM
127492000-04-09 Gerd Moellmann <gerd@gnu.org>
12750
52283633 12751 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12752 (realize_tty_face): Suppress boldness if colors are the inverse of
12753 the default colors, and tty_suppress_bold_inverse_default_colors_p
12754 is set.
12755 (Ftty_suppress_bold_inverse_default_colors): New function.
12756 (syms_of_xfaces): Defsubr it.
12757
be0dbdab
GM
12758 * buffer.c (Frestore_buffer_modified_p): New function.
12759 (syms_of_buffer): Defsubr it.
12760
e8413c3b
KR
127612000-04-08 Ken Raeburn <raeburn@gnu.org>
12762
87f67317
KR
12763 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12764 charset id (int) argument, not a charset (Lisp_Object).
12765
e8413c3b
KR
12766 * coding.h (code_convert_string): Declare.
12767 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12768 object, as the fourth argument to code_convert_string.
12769
52283633 12770 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12771 (Fset_fontset_font): Use EQ to compare lisp objects.
12772
7c752c80
KR
127732000-04-05 Ken Raeburn <raeburn@gnu.org>
12774
c0333abc
KR
12775 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12776 a pointer that looks like a lisp object.
12777 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12778 zero, instead see whether it's an integer object, since they can't
12779 have intervals.
12780 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12781
52283633
SM
12782 * dispnew.c (allocate_matrices_for_frame_redisplay)
12783 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12784 to convert between (unsigned) int values and lisp integers.
12785 * keyboard.c (read_key_sequence): Likewise.
12786 * lread.c (substitute_object_recurse): Likewise.
12787 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12788 * minibuf.c (do_completion, Fminibuffer_complete_word)
12789 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12790 * term.c (produce_special_glyphs): Likewise.
12791
12792 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12793 * print.c (print_preprocess, print_object): Likewise.
12794
12795 * search.c (compile_pattern): Use NILP when checking for nil.
12796
74e49b38
KR
12797 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12798 __OPTIMIZE__]: Provide a GNU C macro version that handles
12799 lisp-object unions.
12800 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12801 field, to better cope with ENABLE_CHECKING and calls that modify a
12802 Lisp_Object using its old value.
12803
685e5ed2
GM
128042000-04-04 Gerd Moellmann <gerd@gnu.org>
12805
c407c570
GM
12806 * window.c (compare_window_configurations): Signal an error
12807 if parameters C1 or C2 aren't window configurations.
12808
685e5ed2
GM
12809 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12810 AFTER_POTENTIAL_GC calls around calls to functions that can
12811 signal an error and thus invoke the debugger.
12812
587a49ab
GM
128132000-04-03 Gerd Moellmann <gerd@gnu.org>
12814
62f20204
GM
12815 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12816 an error if decoding fails.
12817
587a49ab
GM
12818 * keyboard.c (lispy_mouse_names): Variable removed.
12819 (Vlispy_mouse_stem): New variable.
12820 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12821 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12822 for any mouse button number. Increase size of mouse_syms and
12823 button_down_location as needed. Call modify_event_symbol with
12824 different arguments.
12825 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12826 Call modify_event_symbol with different arguments.
12827 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12828 for any button number. Call modify_event_symbol with different
12829 arguments.
12830 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12831 Accept a string for NAME_ALIST_OR_STEM.
12832
12833 * lisp.h (larger_vector): Add prototype.
12834
12835 * fns.c (larger_vector): Make externally visible.
12836
12837 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12838
2d1675e4
SM
128392000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12840
12841 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12842 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12843 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12844 we are between str1 and str2.
12845 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12846 (PATFETCH): Use `TRANSLATE'.
12847 (PATFETCH_RAW): Fetch multibyte char if applicable.
12848 (PATUNFETCH): Remove.
12849 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12850 When writing a char, write it directly into the pattern buffer rather
12851 than going needlessly through a temp char-array.
12852 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12853 multibyte magic and remove the useless `#ifdef emacs'.
12854 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12855 buffer.
12856
12857 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12858 conditional on `emacs'.
12859
12860 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12861
cc2d8c6b
KR
128622000-04-01 Ken Raeburn <raeburn@gnu.org>
12863
12864 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12865 non-union-type versions of XMARK and friends here, because XMARK
12866 and friends won't work on an integer field if NO_UNION_TYPE is not
12867 defined.
52283633 12868 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12869
52283633 12870 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12871 (syms_of_composite): Delete local var NARGS, pass an int as first
12872 argument to Fmake_hash_table.
12873
2387b382
KR
12874 * editfns.c (text_property_stickiness): Use NILP to test
12875 Lisp_Object boolean value.
12876 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12877 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12878 problems reading from and changing the same lisp value in an
12879 XSETSTRING call.
12880
27660e89
GM
128812000-04-01 Gerd Moellmann <gerd@gnu.org>
12882
12883 * term.c (TN_no_color_video): New variable.
12884 (term_init): Intitialize TN_no_color_video.
12885 (enum no_color_bit): New enumeration.
12886 (MAY_USE_WITH_COLORS_P): New macro.
12887 (turn_on_face): Use it to determine if attributes may be used
12888 combined with colors.
12889
3578db3c
KR
128902000-04-01 Ken Raeburn <raeburn@gnu.org>
12891
12892 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12893 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12894 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12895 proper accessor macros.
12896 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12897 (grow_mini_window): Fix typo getting int value of root->height.
12898
6fc556fd
KR
12899 * xdisp.c (compute_string_pos): Fix order of arguments to
12900 string_pos_nchars_ahead.
12901 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12902 count arg to variable-arg routines like Frun_hook_with_args and
12903 Fformat.
587a49ab
GM
12904 (back_to_previous_visible_line_start)
12905 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12906 fixed-arg routines like Fget_char_property and Fmake_string.
12907 (reconsider_clip_changes): Use XINT when comparing integer lisp
12908 objects, or passing them as int arguments.
587a49ab
GM
12909 (mark_window_display_accurate, insert_left_trunc_glyphs)
12910 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12911 storing or passing integer values as lisp objects.
12912 (set_cursor_from_row, highlight_trailing_whitespace): Use
12913 INTEGERP, not implicit test against zero, for glyph object.
12914 (try_window_id): Don't use make_number when we want an int value.
12915
12916 * xfaces.c (xlfd_symbolic_value): Make last argument a
12917 Lisp_Object, to be consistent with callers.
12918 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12919 (lface_hash): Apply XFASTINT to lisp values before folding in.
12920
12921 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12922 fill in window width and height. Pass an int, not a lisp object,
12923 as first arg to Finsert.
12924
6e7b2457
GM
129252000-04-01 Gerd Moellmann <gerd@gnu.org>
12926
610d841e
GM
12927 * xfaces.c (realize_basic_faces): Block input while realizing
12928 the faces.
12929
6e7b2457
GM
12930 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12931
12932 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12933
aa110c0c
GM
129342000-03-31 Gerd Moellmann <gerd@gnu.org>
12935
12936 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12937 or ASCII, handle case that per-char metric is null.
aa110c0c 12938
8801a864
KR
129392000-03-30 Ken Raeburn <raeburn@gnu.org>
12940
c6129d7e
KR
12941 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12942
52283633
SM
12943 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12944 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12945 pointer, using eassert.
12946 * frame.h (XFRAME): Likewise.
12947
52283633
SM
12948 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12949 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12950 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12951 * data.c (set_internal): Likewise.
52283633
SM
12952 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12953 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12954 * fileio.c (auto_save_1): Likewise.
12955 * insdel.c (check_markers): Likewise.
12956 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12957 * undo.c (record_insert): Likewise.
12958 * vmsproc.c (child_sig): Likewise.
12959 * window.c (unshow_buffer, window_loop): Likewise.
12960 * xterm.c (x_erase_phys_cursor): Likewise.
12961
8e7af858
GM
129622000-03-30 Gerd Moellmann <gerd@gnu.org>
12963
12964 * xfns.c (free_image_cache): Free the cache structure itself
12965 last, after all its members have been freed.
12966
12967 * lisp.h (xstrdup): Add prototype.
12968
12969 * alloc.c (xstrdup): Moved here from xfaces.c.
12970 (allocating_for_lisp): Variable removed.
52283633 12971 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12972
12973 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12974 of Fsymbol_value.
12975 (xstrdup): Moved to alloc.c.
12976
e0b8c689
KR
129772000-03-29 Ken Raeburn <raeburn@gnu.org>
12978
b96f9fb7
KR
12979 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12980
12981 * emacs.c (main): Fix sense of no-loadup test.
12982
e0b8c689
KR
12983 * config.in (ENABLE_CHECKING): Undef.
12984
12985 * lisp.h (struct interval): Replace "parent" field with a union of
12986 interval pointer and Lisp_Object; add new bitfield to use as
12987 discriminant. Change other flag fields to bitfields.
12988 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12989 is defined and the supplied test fails, print a message and abort.
12990 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12991
12992 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12993 pointers; abort if the value looks like a lisp object.
52283633
SM
12994 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12995 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12996 Modify for new interval parent definition.
12997
52283633
SM
12998 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12999 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13000 addressable lisp object in the interval structure.
13001 (die): New function.
13002 (suppress_checking): New variable.
13003
13004 * intervals.c (interval_start_pos): Just return 0 if there's no
13005 parent object.
13006
f83c5440
GM
130072000-03-29 Gerd Moellmann <gerd@gnu.org>
13008
13009 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13010 and earlier Emacs versions.
13011
13012 * keyboard.c (Ftop_level): Cancel busy-cursor.
13013
13014 * eval.c (call_debugger): Cancel busy-cursor.
13015
fdce64ff
KH
130162000-03-29 Kenichi Handa <handa@etl.go.jp>
13017
13018 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13019 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13020
f6a3f532
SM
130212000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13022
13023 * regex.c (analyse_first): New function obtained by ripping out most
13024 of re_compile_fastmap and generalizing it a little bit so that it
13025 can also just return whether a given (sub)pattern can match the empty
13026 string or not.
13027 (regex_compile): Use `analyse_first' to decide whether the loop-check
13028 needs to be done or not for *, +, *? and +? (the loop check is costly
13029 for non-greedy repetition).
13030 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13031
e9b309ac
DL
130322000-03-28 Dave Love <fx@gnu.org>
13033
52283633 13034 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13035
e9b309ac
DL
13036 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13037
ed0767d8
SM
130382000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13039
13040 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13041 an expression.
13042 (enum re_opcode_t): Update description of succeed_n.
13043 (PATFETCH): Always define.
13044 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13045 operators, char classes, shy-groups and intervals).
13046 Optimize special cases of intervals so as to only use succeed_n and
13047 jump_n when really needed.
13048 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13049 that we don't have to handle the special cases any more.
13050 Simplify on_failure_jump handling as well.
13051
e11e7e46
JR
130522000-03-28 Jason Rumney <jasonr@gnu.org>
13053
13054 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13055
88faab89
GM
130562000-03-27 Gerd Moellmann <gerd@gnu.org>
13057
182ff242
GM
13058 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13059
13060 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13061
182ff242
GM
13062 * alloc.c (mark_maybe_object): New function.
13063 (mark_memory): Use it.
13064 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13065 (setjmp_tested_p, longjmp_done): New variables.
13066 (test_setjmp): New function.
13067 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13068 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13069
c1005d06
GM
13070 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13071 to DEC_TEXT_POS and INC_TEXT_POS.
13072
13073 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13074 with parameter MULTIBYTE_P.
13075
52283633 13076 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13077
7439e5b9 13078 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13079 buffers because it looks for multibyte character byte sequences
13080 which don't exist in unibyte text.
7439e5b9 13081
d9c545da
GM
13082 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13083
11fd416e 13084 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13085 [DEBUG_X_COLORS]: New functions.
13086 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13087
13088 * xfns.c (x_set_cursor_color): Get color reference counts right.
13089
13090 * xterm.c (x_copy_color): New function.
13091 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13092
13093 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13094 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13095 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13096 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13097 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13098 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13099 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13100 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13101 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13102 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13103
11fd416e
GM
13104 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13105 names for handling per-buffer variables.
d9c545da
GM
13106
13107 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13108 instead of MAX_BUFFER_LOCAL_VARS.
13109 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13110
13111 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13112
88faab89
GM
13113 * xfns.c (x_specified_cursor_type): New function.
13114 (x_set_cursor_type): Use it.
13115
13116 * buffer.h (struct buffer): Add cursor_type.
13117
d80f42b7
SM
131182000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13119
13120 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13121 (print_partial_compiled_pattern, re_compile_fastmap):
13122 Handle new opcode.
d80f42b7
SM
13123 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13124 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13125 executing it as well as when popping it off the stack to find infinite
13126 loops in non-greedy repetition operators.
13127
89e80928
GM
131282000-03-26 Gerd Moellmann <gerd@gnu.org>
13129
3d4ff2dd
GM
13130 * doc.c (Qfunction_documentation): New variable.
13131 (syms_of_doc): Initialize Qfunction_documentation.
13132 (Fdocumentation): If FUNCTION is a symbol with non-nil
13133 `function-documentation' property, return a documentation derived
13134 from that.
13135
bd96bd79
GM
13136 * buffer.c (syms_of_buffer): Add default-cursor-type.
13137 (init_buffer_once): Don't let cursor_type have a local value
13138 in every buffer.
13139
19d1bc27
GM
13140 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13141 on buffer-local value of cursor_type.
13142 (x_draw_bar_cursor): Add parameter WIDTH.
13143
13144 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13145 (init_buffer_once): Set default cursor_type value to t.
13146 Mark cursor_type as local everywhere.
13147 (syms_of_buffer): New per-buffer variable cursor-type.
13148
89e80928
GM
13149 * buffer.h (struct buffer): Remove member local_var_flags,
13150 add local_flags.
13151 (MAX_BUFFER_LOCAL_VARS): New macro.
13152 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13153 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13154 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13155 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13156
52283633 13157 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13158
13159 * category.c (Fset_category_table): Use new macros for per-buffer
13160 variables.
13161
13162 * buffer.c (buffer_permanent_local_flags): Make a char array.
13163 (max_buffer_local_idx): New variable.
13164 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13165 for new handling of per-buffer variables.
13166 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13167 (init_buffer_once): Initialize per-buffer vars differently.
13168 Set max_buffer_local_idx.
13169
13170 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13171 variables.
13172
52283633 13173 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13174
13175 * data.c (do_symval_forwarding, store_symval_forwarding)
13176 (find_symbol_value, set_internal, default_value, Fset_default)
13177 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13178 per-buffer variables.
13179
13180 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13181
9a0dd3dc
GM
131822000-03-24 Gerd Moellmann <gerd@gnu.org>
13183
b68c375f
GM
13184 * xterm.c (x_term_init): Unblock input around call1 of
13185 Qvendor_specific_keysyms.
13186
9a0dd3dc
GM
13187 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13188 (find_defun_start): Consider an open parenthesis in column 0
13189 a defun start only if open_paren_in_column_0_is_defun_start is set.
13190 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13191
7973e637
SM
131922000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13193
13194 * eval.c (Fautoload): Add entry in load-history (if after dump).
13195 * lread.c (load-history): Update docstring.
13196
39210e90
GM
131972000-03-24 Gerd Moellmann <gerd@gnu.org>
13198
13199 * indent.c (Fvertical_motion): Always use the current buffer.
13200 Temporarily change the window's buffer, if necessary.
13201
72db3ab5
GM
132022000-03-23 Gerd Moellmann <gerd@gnu.org>
13203
13204 * xterm.c (fast_find_position): Make sure not to consider rows
13205 not visible in the window.
13206
990b2375
SM
132072000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13208
13209 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13210 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13211
ff4df011
JR
132122000-03-22 Jason Rumney <jasonr@gnu.org>
13213
13214 * w32menu.c (single_submenu): Set help string to NULL if none.
13215 (w32_menu_show): Set help string correctly.
13216 (add-menu-item): Set help string in MIIM_DATA for menu item.
13217 Load SetMenuItemInfoA explicitly.
13218 (w32_menu_display_help): New function.
427ec082 13219
ff4df011
JR
13220 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13221 (QCdata): Moved to xdisp.c.
13222
13223 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13224 (Vw32_charset_to_codepage_alist): Removed.
13225 (Vw32_charset_info_alist): New variable.
52283633
SM
13226 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13227 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13228 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13229 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13230 with TODO comment.
13231 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13232 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13233 Define Vw32_charset_info_alist and w32_charset symbols.
13234
132352000-03-22 Jason Rumney <jasonr@gnu.org>
13236
13237 * makefile.nt (w32bdf.obj): Update dependencies.
13238
13239 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13240
13241 * w32fns.c: Include fontset.h after dispextern.h.
13242 (Fx_create_frame): Do not create fontset.
13243 (w32_load_system_font): Doc fix.
13244 (Fx_close_connection): Free full_name if it is not shared.
13245
13246 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13247 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13248 Callers updated.
ff4df011
JR
13249 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13250 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13251 (w32_font_is_double_byte): New function, needs body.
13252 (x_append_glyph): Set glyph->glyph_not_available_p.
13253 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13254 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13255 character, convert it to a unibyte character.
13256 (struct glyph_string): Delete member `charset'.
13257 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13258 calculating it is found.
13259 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13260 the case that per char metric is not available correctly.
13261 (x_fill_glyph_string): Handle the case that the specific glyph is
13262 not available correctly.
13263 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13264 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13265 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13266 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13267 fontset. Don't call FS_LOAD_FONT.
13268
439d5cb4
KR
132692000-03-22 Ken Raeburn <raeburn@gnu.org>
13270
13271 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13272 (INT_LISPLIKE): New macro.
13273 (NULL_INTERVAL_P): Use it.
52283633
SM
13274 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13275 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13276 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13277
13278 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13279 explicit references to "parent" field of struct interval and
13280 associated unclean type conversions.
52283633
SM
13281 * intervals.c (create_root_interval, root_interval, rotate_right)
13282 (rotate_left, balance_possible_root_interval, split_interval_right)
13283 (split_interval_left, interval_start_pos, find_interval)
13284 (next_interval, previous_interval, update_interval)
13285 (adjust_intervals_for_insertion, delete_node, delete_interval)
13286 (adjust_intervals_for_deletion, merge_interval_right)
13287 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13288 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13289 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13290 Likewise.
13291 * syntax.c (update_syntax_table): Likewise.
13292
13293 * intervals.c (reproduce_tree_obj): New function, like
13294 reproduce_tree but takes a Lisp_Object for the parent. Declare
13295 with prototype.
13296 (graft_intervals_into_buffer): Use it when appropriate.
13297 (reproduce_tree): Declare with prototype.
13298 (balance_possible_root_interval): Check that the parent is a lisp
13299 object before trying to examine its type.
13300
ee1c5b21
GM
133012000-03-22 Gerd Moellmann <gerd@gnu.org>
13302
13303 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13304 as strings only if both are known to be strings.
13305
13306 * s/openbsd.h (LIBS_TERMCAP): Undef.
13307
1fb352e0
SM
133082000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13309
13310 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13311 definitions for non-Emacs compilation.
13312 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13313 outside of `#ifdef emacs'.
13314 (print_partial_compiled_pattern): Update.
13315 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13316 (re_compile_fastmap): Merge handling of charset and charset_not (for
13317 emacs and non-emacs compilation as well).
13318 Similarly for (not)categoryspec and (not)syntaxspec.
13319 Don't use the fastmap when reaching `anychar' since the added
13320 complexity is not justified.
13321 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13322 and (not)syntaxspec. Merge (not)categoryspec.
13323
fdaa1f77
KH
133242000-03-22 Kenichi Handa <handa@etl.go.jp>
13325
52283633
SM
13326 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13327 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13328 --without-x.
fdaa1f77 13329
d152fb46
DL
133302000-03-21 Dave Love <fx@gnu.org>
13331
13332 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13333 doc string.
13334
d2cafc8c
GM
133352000-03-21 Gerd Moellmann <gerd@gnu.org>
13336
13337 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13338 (lface_fully_specified_p): Don't check contents of
13339 LFACE_FONT_INDEX because that attribute is optional.
13340 (realize_x_face): Remove now unwarranted xassert.
13341
9111d4b5
KH
133422000-03-21 Kenichi HANDA <handa@etl.go.jp>
13343
13344 The following changes are to make font selection based on
13345 characters, not charset. In addition, they recover fontset
13346 facilities while utilizing the new font selection mechanism.
13347
6c4bfdc0
KH
13348 * Makefile.in (fontset.o): Depend on dispextern.h.
13349
13350 * alloc.c (mark_face_cache): Don't mark face->registry.
13351
9111d4b5
KH
13352 * dispextern.h (struct glyph): New member glyph_not_available_p.
13353 Use 22 bits for face_id.
13354 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13355 (struct face): Delete member registry, new member ascii_face.
13356 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13357 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13358 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13359 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13360
13361 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13362 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13363 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13364 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13365 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13366 (fs_free_face_fontset, fontset_font_pattern)
13367 (face_suitable_for_char_p, face_for_char)
13368 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13369 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13370 (FS_LOAD_FACE_FONT): New macro.
13371
13372 * fontset.c: All codes rewritten or adjusted for the change of
13373 fontset implementation. Now fontset is represented by char table.
52283633
SM
13374 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13375 Variables removed.
9111d4b5 13376 (my_strcasecmp): Function removed.
52283633 13377 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13378 (AREF, ASIZE): New macros.
52283633
SM
13379 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13380 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13381 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13382 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13383 (fontset_id_valid_p, font_family_registry, fontset_name)
13384 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13385 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13386 New functions.
13387 (fs_load_font): New arg FACE. Caller changed.
13388 (fs_query_fontset): Argument changed. Caller changed.
13389 (Fquery_fontset): call fs_query_fontset.
13390 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13391 Functions removed.
52283633
SM
13392 (clear_fontset_elements, check_registry_encoding)
13393 (check_fontset_name): New functions.
9111d4b5
KH
13394 (syms_of_fontset): Set char-table-extra-slots property of fontset
13395 to 3. Staticpro and initialize Vfontset_table and
13396 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13397
13398 * frame.h (struct frame): Member `fontset_data' removed.
13399 (FRAME_FONTSET_DATA): Macro removed.
13400
13401 * frame.c (make_frame): Don't allocate f->fontset_data.
13402 (Fdelete_frame): Don't free f->fontset_data.
13403
6c4bfdc0
KH
13404 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13405
9111d4b5
KH
13406 * xdisp.c (charset_at_position): Function removed.
13407 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13408 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13409 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13410 Likewise.
13411 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13412 FACE_FOR_CHARSET.
52283633
SM
13413 (get_next_display_element, append_space)
13414 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13415
13416 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13417 Variables removed.
13418 (clear_font_table, frame_update_line_height, load_face_font):
13419 Adjusted for the change of fontset implementation.
13420 (load_face_fontset_font): Function removed.
13421 (pixel_point_size): New function.
13422 (font_list): Argument type changed. Caller changed.
13423 (LFACE_FONT): New macro.
13424 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13425 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13426 Lisp_Object. Determine the font name by actually loading a font
13427 by the specified pattern. Set LFACE_FONT (lface) to the specified
13428 pattern. Even if a font is not found, don't try alternatives.
13429 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13430 (set_font_frame_param): If `font' is specified in lface, use it.
13431 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13432 (lface_same_font_attributes_p): Likewise.
13433 (make_realized_face): Arguent changed. Caller changed. Set
13434 face->ascii_face to face itself.
13435 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13436 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13437 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13438 (free_realized_multibyte_face): New function.
13439 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13440 changed. Caller changed.
13441 (try_font_list): Argument type changed.
13442 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13443 (choose_face_font): Argument changed. Handle fontset properly.
13444 (choose_face_fontset_font): Function removed.
13445 (realize_default_face, realize_named_face): Don't remove the
13446 former face here.
13447 (realize_face): Argument changed. Caller changed. Remove face
52283633 13448 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13449 (realize_x_face): Argument changed. Caller changed. For a
13450 multibyte character, share fontset with base_face. For a single
52283633 13451 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13452 (realize_tty_face): Argument changed. Caller changed.
13453 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13454 (face_at_buffer_position): Don't check multibyte_p for returning
13455 DEFAULT_FACE_ID.
13456 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13457 FACE_SUITABLE_FOR_CHARSET_P.
13458 (syms_of_xfaces): Remove code for Qx_charset_registry and
13459 Vface_default_registry.
13460
6c4bfdc0
KH
13461 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13462 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13463 (x_per_char_metric): Don't try FONT->default_char. Even if
13464 pcm->width is zero, glyph bits may exist.
13465 (x_encode_char): Always initialize char2b->byte1.
13466 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13467 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13468 (x_append_glyph): Set glyph->glyph_not_available_p.
13469 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13470 it->charset. Handle the case that per char metric is not
13471 available. If it->multibyte_p is zero and it->c is a multibyte
13472 character, convert it to a unibyte character.
13473 (struct glyph_string): Delete member `charset'.
13474 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13475 the case that per char metric is not available correctly.
13476 (x_fill_glyph_string): Handle the case that the specific glyph is
13477 not available correctly.
13478 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13479 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13480 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13481 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13482 fontset. Don't call FS_LOAD_FONT.
13483
13484 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13485 (x_create_tip_frame): Likewise.
13486 (Fx_close_connection): Free full_name of font_info.
13487
13488 * fns.c (optimize_sub_char_table): New function.
13489 (Foptimize_char_table): New function.
13490 (syms_of_fns): Defsubr Soptimize_char_table.
13491
b33dd3b0
GM
134922000-03-20 Gerd Moellmann <gerd@gnu.org>
13493
13494 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13495 only if buffer is displayed in some window.
13496
13497 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13498 (try_window_reusing_current_matrix): Don't call scroll run
13499 function if run's current and desired position are the same;
13500 this prevents cursor flickering.
13501
4e8a9132
SM
135022000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13503
13504 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13505
13506 * regex.c (RE_STRING_CHAR): New macro.
13507 (GET_CHAR_AFER_2): Remove.
13508 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13509 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13510 (print_partial_compiled_pattern, re_compile_fastmap)
13511 (re_match_2_internal): Remove on_failure_jump_exclusive.
13512 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13513 optimization only need to work for * (ie. can use of_keep_string_jump).
13514 Remove the special case for .*\n since it is now covered by the general
13515 optimization.
13516 (re_search_2): Don't bother with `room'.
13517 (skip_one_char): New function.
13518 (skip_noops): Simplify since `memory' is not needed any more.
13519 (mutually_exclusive_p): Restructure slightly to use `switch' and
13520 add handling for "all" remaining cases.
13521 (re_match_2_internal): Change on_failure_jump_smart to use
13522 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13523 rather than on_failure_jump_exclusive.
13524
2136fdd4
GM
135252000-03-19 Gerd Moellmann <gerd@gnu.org>
13526
13527 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13528 number of bits per RGB because it's everywhere used as the depth
13529 of the visual.
13530
13531 * term.c (calculate_costs): Remove code dealing with X frames.
13532
18e21ce8 135332000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13534
13535 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13536
d7b511c4
GM
135372000-03-18 Gerd Moellmann <gerd@gnu.org>
13538
13539 * lread.c (read_integer): Unread the last char not consumed.
13540
16b5d424
GM
135412000-03-17 Gerd Moellmann <gerd@gnu.org>
13542
13543 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13544 which are in the process of being deleted.
16b5d424 13545
1fa28578
GM
135462000-03-16 Gerd Moellmann <gerd@gnu.org>
13547
83488cce
GM
13548 * Makefile.in (mostlyclean): Add `*.core'.
13549 (clean): Add `bootstrap-emacs'.
13550
1fa28578
GM
13551 * lread.c (read_integer): New function.
13552 (read1): Support read syntax #o, #x, #b, #r.
13553
99633e97
SM
135542000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13555
1fa28578
GM
13556 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13557 make sure POINTER_TO_OFFSET gives the same value before and after
13558 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13559 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13560 (debug): Now only active if > 0 rather than if != 0.
13561 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13562 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13563 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13564 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13565 (store_op1, store_op2, insert_op1, insert_op2)
13566 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13567 (group_in_compile_stack): Move to after its arg's types are
13568 declared and add a prototype.
99633e97 13569 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13570 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13571 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13572 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13573 indentation of the greedy-op and shy-group code.
99633e97
SM
13574 (at_(beg|end)line_loc_p): Fix argument's types.
13575 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13576 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13577 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13578 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13579 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13580 QUIT unconditionally.
99633e97 13581
699238d9
GM
135822000-03-15 Gerd Moellmann <gerd@gnu.org>
13583
13584 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13585 a sole completion.
13586
13587 * process.c (send_process): Add a hint that the function
13588 can call Lisp code to its comment.
13589
13590 * lread.c (load_dangerous_libraries): New variable.
13591 (Vbytecomp_version_regexp): New variable.
13592 (safe_to_load_p): New function.
13593 (Fload): Handle files not compiled with Emacs specially.
13594 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13595
34e23e5a
GM
135962000-03-14 Gerd Moellmann <gerd@gnu.org>
13597
9c763cca
GM
13598 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13599
13600 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13601 support functions only if HAVE_X11R6_XIM is defined.
13602 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13603
13604 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13605
13606 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13607 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13608 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13609
13610 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13611 (HAVE_X11R6_XIM): Define.
13612
13613 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13614
34e23e5a
GM
13615 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13616 If set, call XSynchronize.
13617
66f0296e
SM
136182000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13619
34e23e5a
GM
13620 * regex.c: Declare a new type `re_char' used throughout the code
13621 for the string char type. It's `const unsigned char' to match the
13622 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13623 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13624 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13625 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13626 code duplication.
66f0296e
SM
13627
13628 * charset.h (GET_CHAR_AFTER_2): Remove.
13629 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13630
854a025c
KR
136312000-03-12 Ken Raeburn <raeburn@gnu.org>
13632
13633 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13634 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13635 of them try to use backquotes.
13636
b9d2c7e2
DL
136372000-03-12 Dave Love <fx@gnu.org>
13638
13639 * unexelf.c: Restore changes of 1999-10-19.
13640 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13641 fix its type and alignment; copy it from current process.
13642
5e5dff44
GM
136432000-03-12 Gerd Moellmann <gerd@gnu.org>
13644
9b2f3c38
GM
13645 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13646 has been found. Fix bug not computing timer's predecessor.
13647
427ec082 13648 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13649 file name.
13650
e1cff360
GM
13651 * window.c (Fsave_window_excursion): Doc fix.
13652
52283633 13653 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13654
e411ce4b
EZ
136552000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13656
13657 * msdos.c (vga_installed): New function, code moved from
13658 dos_set_window_size.
13659 (Qbar, Qcursor_type, outside_cursor): New variables.
13660 (syms_of_msdos): Intern and staticpro them.
13661 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13662 shape used outside Emacs when called for the first time.
13663 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13664 cursor shape used outside Emacs.
13665 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13666 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13667 type has changed.
13668 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13669 parameters specify the cursor. Make qreverse a global
13670 variable (renamed to Qreverse).
13671
80460654
GM
136722000-03-09 Gerd Moellmann <gerd@gnu.org>
13673
13674 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13675
95cd4c40
SM
136762000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13677
13678 This is a big redesign of failure-stack and register handling, prompted
13679 by bugs revealed when trying to add shy-groups. Overall, what happened
13680 is that loops are now structured a little differently, groups can be
13681 shy and the code is a little simpler.
13682
13683 * regex.h: Update the copyright.
13684 (RE_SHY_GROUPS): New value.
13685 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13686 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13687
80460654
GM
13688 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13689 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13690 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13691 for (start|stop)_memory since they now only take one argument (the
13692 second has becomes unnecessary).
52283633 13693 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13694 (print_compiled_pattern): Use %ld to printf long ints and flush to
13695 make debugging a little easier.
95cd4c40
SM
13696 (union fail_stack_elt): Make the integer unsigned.
13697 (struct fail_stack_type): Add a `frame' element.
13698 (INIT_FAIL_STACK): Init `frame' as well.
13699 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13700 (DEBUG_PUSH, DEBUG_POP): Remove.
13701 (NUM_REG_ITEMS): Remove.
13702 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13703 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13704 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13705 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13706 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13707 New macros.
80460654
GM
13708 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13709 address pushed is not the destination of the jump but the source
13710 of it instead.
95cd4c40
SM
13711 (NUM_FAILURE_ITEMS): Remove.
13712 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13713 registers before the actual failure point). Don't hardcode any
13714 meaning for str==NULL anymore.
95cd4c40 13715 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13716 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13717 Remove.
95cd4c40
SM
13718 (REG_UNSET_VALUE): Use NULL (why not?).
13719 (compile_range): Remove declaration since it doesn't exist.
13720 (struct compile_stack_elt_t): Remove inner_group_offset.
13721 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13722 (regex_grow_registers): Remove dead code.
13723 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13724 (regex_compile): Add shy-groups Change loops to use
13725 on_failure_jump_smart&jump instead of
13726 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13727 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13728 variable to me). Use `jump' instead of `jump_past_alt' and don't
13729 bother with push_dummy_failure in alternatives since it is now
13730 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13731 emacs' for (re)allocating the stack.
13732 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13733 from loop when bufp->can_be_null rather than jumping to `done'.
13734 Avoid jumping backwards so as to ensure termination. Use
13735 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13736 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13737 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13738 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13739 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13740 (lowest_active_reg, highest_active_reg)
13741 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13742 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13743 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13744 variables. Push register (in `start_memory') on the stack rather
13745 than storing it in old_reg(start|end). Remove the cycle detection
13746 from `stop_memory', replaced by the use of on_failure_jump_loop
13747 for greedy loops. Add code for the new on_failure_jump_<foo>.
13748 Remove ad-hoc code in `on_failure_jump' to push more registers in
13749 the case of a loop. Take out code from `maybe_pop_jump' into
13750 separate functions and adapt it to the semantics of
13751 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13752 and push_dummy_failure. Remove dummy_failure handling and
13753 handling of `failures to jump to on_failure_jump' (this last one
13754 was already dead code, it seems).
13755 (group_match_null_string_p, alt_match_null_string_p)
13756 (common_op_match_null_string_p): Remove.
95cd4c40 13757
7397acc4
DL
137582000-03-08 Dave Love <fx@gnu.org>
13759
13760 * config.in: Don't depend on __STDC__ for volatile.
13761 Add POINTER_TYPE, PTR, PROTOTYPES.
13762
13763 * hftctl.c, strftime.c: Use PROTOTYPES.
13764 * eval.c (find_handler_clause): Likewise.
13765
13766 * mem-limits.h: Use POINTER_TYPE.
13767
13768 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13769 (memory_warnings): Declare using POINTER_TYPE.
13770
5e91ff9e
GM
137712000-03-08 Gerd Moellmann <gerd@gnu.org>
13772
feab4fba
GM
13773 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13774
52283633 13775 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13776
5e91ff9e
GM
13777 * xfns.c: Remove obsolete code in #if 0.
13778 (Fx_focus_frame): New function.
13779
a735b7e1
KH
137802000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13781
13782 * coding.c (coding_category_name): Add coding-category-utf-8,
13783 coding-category-utf-16-be, coding-category-utf-16-le.
13784 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13785 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13786 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13787 (detect_coding_utf_8): New function.
13788 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13789 UTF_16_LOW_SURROGATE_P): New macros.
13790 (detect_coding_utf_16): New function
13791 (detect_coding_mask): When priorities are specified, skip any
13792 categories that have `nil' coding-system. Fix bug of returning
13793 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13794 returns a mask not set in PRIORITIES.
13795 (detect_eol_type_in_2_octet_form): New function.
13796 (detect_eol): selects detect_eol_type_XXX to call according to
13797 cooding->category_idx.
13798 (detect_coding_system): Remove `nil' coding-system in the result.
13799 (Fupdate_coding_systems_internal): Update all coding-categories.
13800
52283633
SM
13801 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13802 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13803 New macros.
13804 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13805 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13806 (CODING_CATEGORY_IDX_UTF_16_LE)
13807 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13808 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13809 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13810 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13811
9994cc69
GM
138122000-03-07 Gerd Moellmann <gerd@gnu.org>
13813
e9b4e5ff
GM
13814 * doc.c (Fdocumentation_property): If value is not a string,
13815 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13816
f7daf1e1
GM
13817 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13818 close the display with XtCloseDisplay. This caused a bus error
13819 on OpenWindows.
13820
9994cc69
GM
13821 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13822 complete but not unique.
13823
4336c705
GM
138242000-03-06 Gerd Moellmann <gerd@gnu.org>
13825
18bb0684
GM
13826 * process.c (send_process): Remove local variable `procname' that
13827 might become invalid when a GC happens. Instead, access the
13828 process name slot directly.
13829
4336c705
GM
13830 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13831 orig_height if set.
13832
13833 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13834 orig_height if set.
13835
515d0d0e
EZ
138362000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13837
13838 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13839 glyph matrices have been freed.
13840
100b3cbb
GM
138412000-03-05 Gerd Moellmann <gerd@gnu.org>
13842
50df5e5a 13843 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13844 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13845
13846 * xfns.c (QCdata): Moved to xdisp.c.
13847
13848 * xdisp.c (QCdata): Moved here from xfns.c.
13849 (syms_of_xdisp): Initialize QCdata.
13850
13851 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13852
13853 * window.c (coordinates_in_window): Use
13854 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13855 FRAME_INTERNAL_BORDER_WIDTH.
13856
100b3cbb 13857 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13858 it is obviously invalid.
100b3cbb
GM
13859
13860 * xterm.c (x_term_init): Create a colormap if not using the
13861 default visual.
13862
13863 * xterm.h (select_visual): Change prototype.
13864
13865 * xfns.c (select_visual): Rewritten. Recognize user-specified
13866 visual classes.
13867 (visual_classes): New variable.
13868
64d739c4
GM
138692000-03-04 Gerd Moellmann <gerd@gnu.org>
13870
13871 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13872 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13873 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13874 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13875 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13876 XtNcolormap resources.
13877 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13878 (Fx_create_frame): Initialize color members of x_output structure.
13879 (xpm_load): Pass colormap to XPM lib.
13880
13881 * xfaces.c (x_free_colors): Access colormap of frame using
13882 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13883 when default colormap is used.
13884
13885 * xterm.c (x_term_init): Set Colormap member of x_display_info
13886 structure. Copy colormap if resource `privateColormap' is
13887 specified (PseudoColor only).
13888 (x_setup_relief_color): Access colormap of frame using
13889 FRAME_X_COLORMAP.
13890
13891 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13892 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13893
c3cee013
JR
138942000-03-04 Jason Rumney <jasonr@gnu.org>
13895
13896 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13897 other non-platform-specific equivalents.
64d739c4 13898 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13899 specific functions and macros as their w32 equivalents where
13900 non-platform-specifics are not available.
13901 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13902 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13903 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13904 (frame_update_line_height): Use macros to access f->output_data.
13905 (defined_color): Remove FIXME comments; fixed.
13906 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13907 into #ifdef blocks. Add WINDOWSNT blocks.
13908 (Fx_list_fonts): Use macros for accessing font data.
13909 (set_lface_from_font_name): Different default fonts for X and
13910 WINDOWSNT.
13911 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13912 scalable for backward compatibility.
64d739c4 13913 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13914 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13915
64d739c4 13916 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13917 syms_of_w32faces.
13918
13919 * makefile.nt (w32faces.obj): Remove.
13920 (xfaces.obj): Add.
13921
807cc41c
JR
139222000-03-03 Jason Rumney <jasonr@gnu.org>
13923
13924 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13925 correct parameters.
13926
0007072a
KR
139272000-03-03 Ken Raeburn <raeburn@gnu.org>
13928
13929 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13930 standard ELF definitions here if the system header does not.
13931
71a6ba55
GM
139322000-03-03 Gerd Moellmann <gerd@gnu.org>
13933
13934 * xterm.c (PER_CHAR_METRIC): Removed.
13935 (x_per_char_metric_1, x_default_char): New functions.
13936 (x_per_char_metric): If font's default char is invalid, return
13937 metrics of a suitably chosen usable default char.
13938 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13939 char, replace occurrences of unprintable chars with a suitably
13940 chosen usable default char.
71a6ba55 13941
900fa1f1
GM
139422000-03-02 Gerd Moellmann <gerd@gnu.org>
13943
42f55fe0
GM
13944 * xterm.c (note_mouse_highlight): Return quickly if frame's
13945 glyph matrices have been freed.
13946
13947 * dispnew.c (free_glyphs): Block input while freeing matrices.
13948
900fa1f1
GM
13949 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13950
52283633
SM
13951 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13952 Use x_free_colors.
900fa1f1
GM
13953
13954 * dispextern.h (x_free_colors): Add prototype.
13955
13956 * xfaces.c (x_free_colors): New function.
13957 (unload_color, free_face_colors): Use it.
13958
2f950292
EZ
139592000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13960
13961 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13962
13963 * window.c [MSDOS]: Include msdos.h.
13964
54d04320
DL
139652000-03-02 Dave Love <fx@gnu.org>
13966
13967 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13968
13969 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13970 set C_OPTIMIZE_SWITCH for gcc.
13971
0ba93ac4
KH
139722000-03-02 Kenichi Handa <handa@etl.go.jp>
13973
13974 * coding.c (coding_save_composition): Be sure to allocate
13975 composition data area in coding even if there's no composition in
13976 the current run.
13977
a2bc11d4
JR
139782000-03-01 Jason Rumney <jasonr@gnu.org>
13979
13980 * w32term.c: Equivalent changes to those made to xterm.c on
13981 2000-02-25 and 2000-02-24.
13982
13983 * w32fns.c: Equivalent changes to those made to xfns.c on
13984 2000-02-25 and 2000-02-21.
13985
13986 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13987 correct line-end convention is followed.
13988
13989 * w32menu.c [HAVE_BOXES]: Remove #undef.
13990 (single_keymap_panes): Remove code for simulating checkmarks.
13991 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13992 Remove code for drawing simulated checkmarks.
13993 (w32_menu_show): make unibyte help string correctly.
13994 (add_menu_item): draw standard Windows checkmarks. Draw radio
13995 buttons as radio buttons if possible.
13996
72d19d75
GM
139972000-03-01 Gerd Moellmann <gerd@gnu.org>
13998
2df636f4
GM
13999 * sysdep.c (start_of_text): Don't define this function for NetBSD
14000 with ELF.
14001
427ec082 14002 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14003 Don't define.
14004 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14005 (LINKER): Don't undef if __NetBSD__ is defined.
14006
14007 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14008
14009 * fileio.c [__NetBSD__]: Define `unix'.
14010
72d19d75
GM
14011 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14012
ed4d0512
GM
140132000-02-29 Gerd Moellmann <gerd@gnu.org>
14014
50b1039f
GM
14015 * atimer.c (start_atimer): Don't abort when timers are stopped.
14016 (append_atimer_lists): New function.
14017 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14018 arbitrary lists of stopped and running atimers.
14019
ed4d0512
GM
14020 * atimer.c (cancel_atimer): Handle canceling an atimer when
14021 some timers are stopped.
14022
14023 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14024 after canceling it.
14025
14026 * fns.c (maybe_resize_hash_table): Handle case of new size
14027 coming out as being the same as old size.
14028
387023ee
JR
140292000-02-27 Jason Rumney <jasonr@gnu.org>
14030
14031 * makefile.nt: Add atimer.h to dependencies.
14032 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14033 * w32console.c: Only disable window system features for dispextern.h
14034 (initialize_w32_display): Build a display info for the console.
14035 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14036 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14037 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14038 as 2 button mice.
14039 * w32gui.h (struct W32FontStruct): Revert last change after change
14040 to xdisp.c.
14041 * w32menu.c (single_submenu): Set up help string.
14042 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14043 (w32_dialog_show): Set up help string.
14044 * w32term.c (w32_display_info_for_display): Remove unused function.
14045 (w32_draw_bitmap): Use pre-built bitmaps.
14046 (w32_initialize_display_info): New function to initialize parts of
14047 display info that are common to both GUI and console frames.
14048 (w32_term_init): Use w32_initialize_display_info. Do not set
14049 Vw32_num_mouse_buttons here, as it is not called for console
14050 frames. Build bitmaps for indicating truncated lines etc.
14051 (x_delete_display): Destroy pre-built bitmaps.
14052 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14053 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14054
4516715a
DL
140552000-02-27 Dave Love <fx@gnu.org>
14056
14057 * lisp.h: Add a bunch of prototypes.
14058
171ca836
KH
140592000-02-26 Kenichi Handa <handa@etl.go.jp>
14060
14061 * keyboard.c (read_char): Set `usec' correctly.
14062
4013921d
KH
140632000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14064
14065 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14066 `lambda', set reg[RRR] to the map index.
14067 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14068 reg[RRR] to 0. Otherwise, set it to -1.
14069
9244a058
GM
140702000-02-25 Gerd Moellmann <gerd@gnu.org>
14071
2df636f4 14072 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14073
18e21ce8 140742000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14075
f43d79c1
GM
14076 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14077 and contains a `:', prepend `/:'.
14078
14079 * window.c (select_window_1): If selected_window is nil,
14080 don't "swap out" the buffer's point.
14081 (Fset_window_configuration): Set selected_window to nil
14082 before calling Fselect_window.
14083 (unshow_buffer): Don't set point in buffer from window's point
14084 if another more recently selected window also shows the buffer.
14085
bed0c171
GM
140862000-02-25 Gerd Moellmann <gerd@gnu.org>
14087
449c3c52
GM
14088 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14089
f5b58615
GM
14090 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14091 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14092 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14093 New variables.
f5b58615
GM
14094 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14095 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14096 (hide_busy_cursor): New functions.
14097 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14098
14099 * minibuf.c (read_minibuf): Cancel busy-cursor.
14100
14101 * keyboard.c (command_loop_1): Call start_busy_cursor before
14102 Fcommand_execute and cancel_busy_cursor after it.
14103 (timer_check): Remove busy-cursor code.
14104 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14105 cursor timer.
14106
14107 * process.c (wait_reading_process_input): Remove busy-cursor code.
14108
14109 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14110 Fx_hide_busy_cursor.
14111
14112 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14113 Remove prototyoes.
14114 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14115
14116 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14117
14118 * xterm.c (XTread_socket): Remove busy-cursor code.
14119
4eb8436f
GM
14120 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14121 (build_frame_matrix_from_leaf_window): Put code handling
14122 glyph row's not being a slice of a frame row in #if 0.
14123 (sync_window_with_frame_matrix_rows): New function.
14124 (frame_row_to_window): New function.
14125 (mirror_line_dance): Handle copies between windows.
14126
3cb65b0e
GM
14127 * lread.c (Fload): Use `xfree' instead of `free'.
14128 (init_obarray): Use `xmalloc' instead of `malloc'.
14129
bed0c171
GM
14130 * window.c (Fset_window_buffer): Set WINDOW to the window
14131 after decoding.
2add4349
GM
14132 (coordinates_in_window): Take frame's internal border width
14133 into account.
bed0c171 14134
42088c12
GM
141352000-02-24 Gerd Moellmann <gerd@gnu.org>
14136
14137 * xterm.c (x_display_and_set_cursor): Display cursor of
14138 non-selected windows depending on the setting of
14139 cursor_in_non_selected_windows.
14140
14141 * xdisp.c (cursor_in_non_selected_windows): New variable.
14142 (syms_of_xdisp): DEFVAR_BOOL it.
14143
d1e103b2
GM
141442000-02-23 Gerd Moellmann <gerd@gnu.org>
14145
723e779c
GM
14146 * data.c (Fstring_to_number): If number is greater than what
14147 fits into an integer, return a float.
14148
d1e103b2
GM
14149 * eval.c (specbind): Remove references to
14150 keyword_symbols_constant_flag.
14151
14152 * data.c (keyword_symbols_constant_flag): Removed.
14153 (Fmakunbound, set_internal, syms_of_data): Remove references to
14154 keyword_symbols_constant_flag.
14155
14156 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14157
214f877f
KH
141582000-02-23 Kenichi Handa <handa@etl.go.jp>
14159
14160 * syntax.c (multibyte_syntax_as_symbol): New variable.
14161 (syms_of_syntax): Declare it as a Lisp variable.
14162 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14163 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14164 nonzero, treat all multibyte characters as symbol.
52283633 14165 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14166
130adcb7
EZ
141672000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14168
3cb65b0e 14169 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14170 a deleted frame.
130adcb7 14171
17cbbf95
GM
141722000-02-21 Gerd Moellmann <gerd@gnu.org>
14173
14174 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14175
14176 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14177 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14178
beb0bc36
DL
141792000-02-21 Dave Love <fx@gnu.org>
14180
14181 * frame.c (Vmouse_position_function): New variable.
14182 (Fmouse_position): Use it.
14183 (syms_of_frame): Install it.
14184
14185 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14186
1d92afcd
GM
141872000-02-20 Gerd Moellmann <gerd@gnu.org>
14188
14189 * fileio.c (Finsert_file_contents): Unbind the binding of
14190 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14191
14192 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14193 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14194 (specbind, unbind_to): Handle most common case of non-constant
14195 symbol with trivial value specially.
14196
14197 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14198
18e21ce8 141992000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14200
14201 * data.c (Fmake_variable_buffer_local): Doc fix.
14202 Init found_for_buffer to 0.
14203 (Fmake_variable_frame_local): If the variable has already
14204 been buffer-local, set the check_frame field.
14205
1d4311c3
EZ
142062000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14207
14208 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14209 produced for CODING_MODE_LAST_BLOCK requires.
14210
2dc95ddd
DL
142112000-02-18 Dave Love <fx@gnu.org>
14212
14213 * keyboard.c (echo_keystrokes): Remove declaration.
14214 (Vecho_keystrokes) New variable.
14215 (read_char, record_menu_key, read_key_sequence): Use it to allow
14216 use of float value.
14217 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14218
14219 * lread.c: Undef feature selection macros before defining.
14220
f0930f35
GM
142212000-02-18 Gerd Moellmann <gerd@gnu.org>
14222
14223 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14224 for symbols other than the symbol in question.
14225
e3d4de90
DL
142262000-02-17 Dave Love <fx@gnu.org>
14227
14228 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14229
0b378936
GM
142302000-02-17 Gerd Moellmann <gerd@gnu.org>
14231
d621caf7
GM
14232 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14233
0b378936
GM
14234 * alloc.c (enum mem_type): Compile unconditionally.
14235
3b451f74
EZ
142362000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14237
14238 * xfaces.c (tty_defined_color): Don't return faulire indication
14239 for unspecified-fg and unspecified-bg pseudo-colors.
14240
10689a01
GM
142412000-02-17 Gerd Moellmann <gerd@gnu.org>
14242
1216f5e4
GM
14243 * alloc.c (mark_object): Don't mark symbol names in pure space.
14244 (gc_sweep): Don't unmark symbol names in pure space.
14245
14246 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14247 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14248 [GC_MARK_STACK]: New defines.
427ec082 14249 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14250 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14251
14252 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14253
14254 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14255 allocate_buffer instead of xmalloc.
14256
14257 * alloc.c (toplevel): Include setjmp.h.
14258 (PURE_POINTER_P): New define.
14259 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14260 (Vdead) [GC_MARK_STACK]: New variable.
14261 (lisp_malloc): Add parameter TYPE, call mem_insert if
14262 GC_MARK_STACK is defined.
14263 (allocate_buffer): New function.
427ec082 14264 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14265 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14266 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14267 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14268 (MEM_NIL) [GC_MARK_STACK]: New define.
14269 (struct mem_node) [GC_MARK_STACK]: New structure.
14270 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14271 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14272 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14273 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14274 (mark_stack) [GC_MARK_STACK]: New functions.
14275 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14276 (clear_marks): Removed.
14277 (gc_sweep): Set free conses' car, free floats' type, free
14278 symbols' function to Vdead. Use lisp_free to free buffers.
14279 (init_alloc_once): Initialize Vdead.
14280 (survives_gc_p): Return non-zero for pure objects.
14281
14282 * alloc.c: Add comments throughout the file.
14283
2503c8b1
GM
14284 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14285 that unblocks alarms.
14286
8389e1e2
GM
14287 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14288 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14289 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14290
10689a01 14291 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14292
bfc17d18
KH
142932000-02-17 Kenichi Handa <handa@etl.go.jp>
14294
4a09dee0
KH
14295 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14296 avoid infinite error signaling. Allocate sufficient memory for
14297 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14298
2b927d02
SM
142992000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14300
14301 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14302 depends on the previous behavior.
14303
b49cb764
GM
143042000-02-16 Gerd Moellmann <gerd@gnu.org>
14305
14306 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14307
99e95407
GM
143082000-02-15 Gerd Moellmann <gerd@gnu.org>
14309
14310 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14311
14312 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14313 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14314 write(2).
14315
6ffd3cf7
RS
143162000-02-15 Richard M. Stallman <rms@gnu.org>
14317
14318 * data.c (set_internal): Don't make variable buffer-local
14319 if within a let-binding for the same buffer.
14320 (let_shadows_buffer_binding_p): New function.
14321
14322 * eval.c (specbind): For buffer-local value,
14323 record the current buffer also.
14324 (unbind_to): Cope with that change.
14325
cad53475
GM
143262000-02-15 Gerd Moellmann <gerd@gnu.org>
14327
14328 * window.c (Fsave_window_excursion): Doc fix.
14329
1aa963c8
SM
143302000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14331
14332 * syntax.c (back_comment): Make sure we only consider comment-starters
14333 of the relevant style and return -1 in case of a failure to find the
14334 beginning of the comment.
14335 (Fforward_comment): If back_comment fails, go back to the position just
14336 after the comment-end.
14337 (scan_lists): Add comment describing a very minor bug.
14338
b9b84fd3
SM
143392000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14340
14341 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14342 `completion-regexp-list' in the docstring.
14343
3a28db80
DL
143442000-02-14 Dave Love <fx@gnu.org>
14345
14346 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14347
fb4a568d
SM
143482000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14349
14350 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14351 to Emacs' syntax. Also fix the comment about set/not-set meanings
14352 since Emacs syntax is not the value 0 any more.
14353 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14354 since it's now part of RE_SYNTAX_EMACS.
14355
1063ebb5
DL
143562000-02-12 Dave Love <fx@gnu.org>
14357
52283633 14358 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14359
fb07a302
GM
143602000-02-12 Gerd Moellmann <gerd@gnu.org>
14361
14362 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14363
aaf2320c
DL
143642000-02-12 Dave Love <fx@gnu.org>
14365
14366 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14367
14368 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14369 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14370 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14371
14372 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14373
14374 * s/nextstep.h: Don't define HAVE_ALLOCA.
14375
14376 * config.in: Add vfork bits.
14377
eedf8bde
GM
143782000-02-12 Gerd Moellmann <gerd@gnu.org>
14379
14380 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14381 unwind function to undo the effect of stopping atimers.
14382
52283633 14383 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14384
14385 * atimer.c (stopped_atimers): New variable.
14386 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14387 New functions.
14388
14389 * atimer.h (stop_other_atimers, run_all_atimers)
14390 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14391
eedf8bde
GM
14392 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14393
8476c2f8
KR
143942000-02-11 Ken Raeburn <raeburn@gnu.org>
14395
14396 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14397 library may depend on jpeg.
14398 (atimer.o): Depends on atimer.c.
14399
0e85e4a3
KH
144002000-02-11 Kenichi Handa <handa@etl.go.jp>
14401
14402 * insdel.c (del_range_1): Call update_compositions.
14403 (del_range_both): Call update_compositions just once..
14404
97fa0cc8
DL
144052000-02-10 Dave Love <fx@gnu.org>
14406
14407 * xfns.c (create_frame_xic): Fix initialization of automatic
14408 aggregates for pcc.
14409
25566a3c
KH
144102000-02-09 Kenichi Handa <handa@etl.go.jp>
14411
14412 * ccl.c (CCL_MAKE_CHAR): New macro.
14413 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14414 registers by CCL_MAKE_CHAR before calling translate_char.
14415 <CCL_TranslateCharacterConstTbl> Likewise.
14416
69da54ba
DL
144172000-02-08 Dave Love <fx@gnu.org>
14418
14419 * lread.c (__EXTENSIONS__): Define.
14420
f7136ee8
GM
144212000-02-08 Gerd Moellmann <gerd@gnu.org>
14422
14423 * puresize.h (BASE_PURESIZE): Increase to 650000.
14424
7768790b
EZ
144252000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14426
14427 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14428 the help message.
14429
38fd211b
EZ
144302000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14431
14432 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14433 md, mh, mb, mr, and me to the fake termcap entry.
14434
66e4690f
KR
144352000-02-06 Ken Raeburn <raeburn@gnu.org>
14436
14437 * sound.c (sound_cleanup): Don't call device close routine if the
14438 function pointer is null.
14439
a75dfea0
AI
144402000-02-06 Andrew Innes <andrewi@gnu.org>
14441
14442 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14443 around image definitions and prototypes.
14444 (gamma_correct) [WINDOWSNT]: New prototype.
14445
14446 * w32term.c (x_make_frame_visible): Replace call to
14447 input_poll_signal with poll_for_input.
14448
14449 * window.c [WINDOWSNT]: Include w32term.h.
14450
14451 * xdisp.c [WINDOWSNT]: Include w32term.h.
14452
14453 * makefile.nt: Add dependencies on w32gui.h.
14454 (OBJ1): Include atimer.obj.
14455 ($(BLD)\atimer.obj): New dependency rule.
14456
14457 * w32.c (sigmask): New function (does nothing).
14458 (sigunblock): Ditto.
14459
14460 * frame.c [WINDOWSNT]: Include w32term.h.
14461
14462 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14463
14464 * lread.c (syms_of_lread): Fix literal newlines.
14465
14466 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14467 the string constant limit (2048 bytes) in MSVC.
14468 (main): Ditto.
14469
59ddecde
GM
144702000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14471
52283633 14472 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14473 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14474 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14475 dispatch the event.
14476
07590973
DL
144772000-02-04 Dave Love <fx@gnu.org>
14478
14479 * fileio.c: Remove some unused vars.
14480 (_GNU_SOURCE): Define (for euidaccess).
14481
14482 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14483
14484 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14485 gcpro1, gcpro2.
14486 (read_minibuf): Deal with allow_props correctly.
14487
649351f9
EZ
144882000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14489
14490 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14491
66e4690f 144922000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14493
14494 * search.c (compile_pattern): If a cache entry has a nil regexp,
14495 fill in that entry instead of clobbering a previously cached
14496 string regexp.
14497
66e4690f 144982000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14499
14500 * puresize.h (BASE_PURESIZE): Increase to 610000.
14501
d240a249
GM
145022000-02-02 Gerd Moellmann <gerd@gnu.org>
14503
14504 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14505 can GC.
14506
ca91fb26
KH
145072000-02-02 Kenichi Handa <handa@etl.go.jp>
14508
25660570
KH
14509 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14510 instead of incrementing ic directly.
14511 <CCL_WriteExprConst> Likewise.
14512 <ccl_set_expr>: Set ic to jump_address.
14513
ca91fb26
KH
14514 * fileio.c (e_write): Fix the handling of
14515 CODING_FINISH_INSUFFICIENT_SRC.
14516
2ede9689
DL
145172000-02-01 Dave Love <fx@gnu.org>
14518
14519 * editfns.c (Fpropertize): Doc fix.
14520
14521 * process.c (Fstart_process): Doc fix.
14522
14523 * eval.c: Fix various doc strings not to duplicate information
14524 from help-manyarg-func-alist.
14525
52283633 14526 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14527
14528 * doc.c (Vhelp_manyarg_func_alist): New variable.
14529 (Fdocumentation): Use it.
14530 (syms_of_doc): Define it.
14531
b6680a0e
GM
145322000-01-31 Gerd Moellmann <gerd@gnu.org>
14533
2cb750ba
GM
14534 * xterm.c (xim_open_dpy): Remove unused local variable.
14535
52283633 14536 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14537
14538 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14539 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14540
b6680a0e
GM
14541 * fns.c (sweep_weak_table): New function.
14542 (sweep_weak_hash_tables): Use it. Keep on marking until there
14543 is no more change.
14544
994c5afe
GM
145452000-01-30 Gerd Moellmann <gerd@gnu.org>
14546
14547 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14548 that XTread_socket does not crash by trying to call XNoOp on a
14549 closed display.
427ec082 14550
f00276e3
JR
145512000-01-30 Jason Rumney <jasonr@gnu.org>
14552
14553 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14554 Change selected_frame to SELECTED_FRAME ().
14555 (w32_console_mouse_position): Remove #ifndef MULE from around
14556 `insist' parameter.
14557
14558 * makefile.nt: Remove dosfns.obj.
14559
14560 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14561
14562 * w32fns.c (w32_defined_color): Check for valid frame before
14563 applying gamma correction. Eliminate dependency on frame elsewhere.
14564 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14565 (w32_to_x_font): Use resx and resy not height_in and width_in.
14566 (x_to_w32_font): Doc fix.
14567 (xlfd_strip_height): New function to strip and return font height.
14568 (w32_font_match): Compare height separately from rest of xlfd
14569 spec, using xlfd_strip_height.
14570
14571 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14572 width_in. Use w32_defined_color in place of defined_color.
14573
14574 * w32faces.c: Merge more of DOS and X specifics in preparation for
14575 merge with xfaces.c.
14576 (defined_color): Remove FIXME comment.
14577 (tty_color_name): Provide w32-specific function.
14578 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14579
14580 * w32console.c (turn_on_face, turn_off_face): Removed.
14581 (w32_face_attributes): New function.
14582 (Global_variables): Reduce scope where possible.
14583 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14584 fill attribute.
14585 (hl_mode): Don't modify text attributes.
14586 (write_glyphs): Don't do anything if len <= 0. Use
14587 w32_face_attributes to get attributes for drawing. Write
14588 terminating codes using char_attr_normal.
14589 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14590 (update_begin, update_end): Likewise.
14591 (vga_stdcolor_name): New function.
14592 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14593 (Fset_screen_color): Remove char_attr_reverse.
14594
b08e8bb2
GM
145952000-01-29 Gerd Moellmann <gerd@gnu.org>
14596
14597 * xfns.c (xic_set_preeditarea): Take window parameter and
14598 window-relative pixel-positions.
14599
14600 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14601 is its frame's selected window.
14602 (xim_instantiate_callback): Likewise.
14603
14604 * xfns.c (x_create_im): Removed.
14605 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14606 (supported_xim_styles): Renamed from supported_styles.
14607 (best_xim_style): Renamed from best_style.
14608 (create_frame_xic): Renamed from xic_create_frame.
14609 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14610
b08e8bb2
GM
146112000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14612
14613 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14614 our frames, call XFilterEvent with 2nd parameter `None'.
14615 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14616 returning XBufferOverflow.
52283633 14617 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14618 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14619 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14620 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14621 (xim_initialize, xim_close)
14622 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14623 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14624 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14625 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14626
14627 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14628 and `xim_styles'.
14629 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14630 `xic_style' and `xic_xfs'.
14631 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14632 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14633 (FRAME_XIM): Removed.
14634
14635 * xfns.c (supported_styles): New variable.
14636 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14637 (xic_create_xfontset, best_style, xic_create_frame)
14638 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14639 (xic_set_xfontset): New functions.
14640
142e109c
DL
146412000-01-28 Dave Love <fx@gnu.org>
14642
14643 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14644
14645 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14646
b02786f9
GM
146472000-01-28 Gerd Moellmann <gerd@gnu.org>
14648
d060bc9f
GM
14649 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14650 for *scratch* if it already existed.
14651
b02786f9
GM
14652 * emacs.c (USAGE): New macro.
14653 (main): Use it to display usage information.
14654
2c52d7e4
EZ
146552000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14656
14657 Support for the menu-help feature:
14658
52283633 14659 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14660
14661 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14662 part of the line to the termscript file.
14663 (IT_clear_to_end): Clear the entire line, not just its beginning.
14664 (menu_help_message, prev_menu_help_message): New variables.
14665 (IT_menu_make_room): Make room for the help_text member.
14666 (IT_menu_display): New argument disp_help; all callers changed.
14667 If disp_help is non-zero, store the help text of the active menu
14668 item in menu_help_message.
14669 (XMenuAddPane): Initialize the help_text member to NULL.
14670 (XMenuAddSelection): New argument help_text. Store it in the
14671 XMenu structure.
14672 (XMenuActivate): New argument help_callback. If the value of
14673 menu_help_message has changed since the last time, display the
14674 menu help message text while waiting for the mouse to move. Clear
14675 the echo area before exiting.
14676 (XMenuDestroy): Free the help_text member.
14677
ffe0bcd1
GM
146782000-01-27 Gerd Moellmann <gerd@gnu.org>
14679
14680 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14681 XMenuAddSelection. Pass help callback to XMenuActivate.
14682 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14683
50dbd23f
EZ
146842000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14685
14686 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14687 and EMACS_SET_USECS.
14688
f5941bf8
GM
146892000-01-26 Dave Love <fx@gnu.org>
14690
6c67ddee
DL
14691 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14692
f5941bf8
GM
14693 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14694 an error may be signalled.
14695
9e49c990
GM
146962000-01-26 Gerd Moellmann <gerd@gnu.org>
14697
fc3cb460
GM
14698 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14699 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14700
9e49c990
GM
14701 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14702
d0c037d8
GM
147032000-01-25 Gerd Moellmann <gerd@gnu.org>
14704
14705 * charset.c (Fstring): If there is a multibyte char among
14706 the args, always return a multibyte string.
14707
e12489f9
GM
147082000-01-25 Gerd Moellmann <gerd@gnu.org>
14709
14710 * sysdep.c (sys_select): Turn atimers off and on instead of
14711 recording and restoring old alarm handler
14712
14713 * process.c (toplevel): Include atimer.h.
14714 (create_process_1): Rewritten.
14715 (create_process): Use atimers instead of alarm.
14716 (wait_reading_process_input) [hpux]: Turn atimers off instead
14717 of turning off SIGALRM.
14718 (wait_reading_process_input): Turn off atimers instead off
14719 calling stop_polling.
14720
14721 * emacs.c (main): Call init_atimer.
14722
14723 * keyboard.c (toplevel): Include systime.h and atimer.h.
14724 (polling_for_input): Removed because unused.
14725 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14726 (poll_timer): New variable.
14727 (poll_for_input, poll_for_input_1): New functions.
14728 (start_polling, stop_polling): Rewritten.
14729
14730 * keyboard.h (polling_for_input): Removed.
427ec082 14731
e12489f9
GM
14732 * atimer.h, atimer.c: New files.
14733
14734 * Makefile.in (obj): Add atimer.o.
14735 (atimer.o): New target.
14736
14737 * blockinput.h (pending_atimers): Add extern declaration.
14738 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14739
14740 * lisp.h (popup_activated_flag): Add extern declaration.
14741
14742 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14743 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14744 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14745
14746 * xterm.c (toplevel): Include atimer.h.
14747 (toolkit_scroll_bar_interaction): New variable.
14748 (Fxt_process_timeouts): Removed.
14749 (x_process_timeouts): New function.
14750 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14751 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14752 (x_make_frame_visible): Call poll_for_input_1 instead of
14753 input_poll_signal. Don't call alarm.
14754 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14755
1e5279b9
DL
147562000-01-24 Dave Love <fx@gnu.org>
14757
6c67ddee 14758 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14759 Don't use -cckr -- apparently not now necessary.
14760
edf6aeb8
EZ
147612000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14762
14763 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14764 screen boundary.
14765
9badad41
JR
147662000-01-23 Jason Rumney <jasonr@gnu.org>
14767
14768 * w32fns.c (w32_defined_color): Apply gamma correction before
14769 trying to map to the palette.
14770 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14771 to w32_clear_rect.
14772
14773 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14774 here. Callers changed to always pass real device context.
14775 (w32_draw_bitmap): Likewise.
14776 (w32_get_glyph_overhangs): Likewise.
52283633 14777 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14778 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14779 pfnSetScrollInfo and SetScrollRange.
14780 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14781 back into MULE characters after decoding them.
14782 (x_get_glyph_face_and_encoding): Likewise.
14783 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14784 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14785 (x_produce_glyphs): Calculate per char metrics for a character
14786 that we know exists in default font when font_not_found_p is true.
14787
63bd786b
JR
147882000-01-22 Jason Rumney <jasonr@gnu.org>
14789
14790 * makefile.nt (intervals.obj, composite.obj): New modules.
14791 (composite.h): Added as dependency where appropriate.
14792
14793 * w32gui.h (XGCValue): New struct for emulating X GCs.
14794
14795 * w32term.h (XCharStruct): New struct for emulating X.
14796
14797 * w32console.c (turn_on_face, turn_off_face): New functions.
14798 (change_line_highlight): New prototype for new redisplay.
14799 (write_glyphs): Support multibyte text. Support faces.
14800
52283633 14801 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14802
14803 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14804 throughout. struct frame * in place of FRAME_PTR.
14805 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14806 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14807 (w32_get_arg): Renamed from x_get_arg.
14808 (Fx_file_dialog): New function.
14809 (w32_list_fonts): Check cache before asking system.
14810 (Vw32_enable_synthesized_fonts): New variable.
14811 (Vw32_enable_italics): Obsolete, removed.
14812
14813 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14814 Use SELECTED_FRAME macro.
14815
14816 * w32menu.c: Add skeleton support for help strings on menus.
14817 (add_menu_item): Native checkbox and radio support added, but not
14818 yet enabled due to bugs.
14819 (push_menu_item): Add parameters type, selection and help.
14820 Callers updated.
14821 Formatting changes to reduce unnecessary diffs with xmenu.c.
14822
14823 * w32select.c (Fw32_set_clipboard_data): Update call to
14824 find_charset_in_str.
14825
14826 * w32term.c: Complete rewrite for new redisplay based on new
14827 xterm.c with necessary sections merged back in from old w32term.c.
14828
6ffd3cf7 148292000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14830
14831 * data.c (set_internal): Further fix in same criterion.
14832
6ffd3cf7 148332000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14834
14835 * data.c (set_internal): Fix the criteria for whether
14836 to swap out the old cached binding.
14837
60af03f1
DL
148382000-01-19 Dave Love <fx@gnu.org>
14839
14840 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14841
f9be074f
KH
148422000-01-18 Kenichi Handa <handa@etl.go.jp>
14843
14844 * regex.c (re_compile_fastmap): While checking a range table for
14845 `charset', skip flag bits for a character class correctly.
14846
52b8dbf9
GM
148472000-01-17 Gerd Moellmann <gerd@gnu.org>
14848
d36100c9
GM
14849 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14850
52283633 14851 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14852
14853 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14854 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14855
14856 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14857 MENU_ITEMS_ITEM_.*.
14858 (MENU_ITEMS_ITEM_HELP): New enumerator.
14859 (push_menu_item): Add parameter HELP. Record help in menu_items.
14860 (single_menu_item, single_submenu, list_of_items): Call
14861 push_menu_item with new parameter.
14862 (single_submenu): Set help string in widget value.
14863 (menu_highlight_callback): New function.
14864 (set_frame_menubar): Call lw_create_widget with new
14865 parameter list.
14866 (xmenu_show, xdialog_show): Ditto.
14867
3139018f
GM
148682000-01-13 Gerd Moellmann <gerd@gnu.org>
14869
14870 * sound.c (Fplay_sound): Improve doc string.
14871
83c8f461
RS
148722000-01-11 Richard M. Stallman <rms@gnu.org>
14873
14874 * lisp.h (set_internal): Enter the new arg.
14875
14876 * eval.c (specbind): Record buffer-local variables specially,
14877 indicating which buffer's binding was saved.
14878 (unbind_to): Restore buffer-local variables specially
14879 in the proper buffer.
14880
14881 * data.c (set_internal): New arg BUF.
427ec082 14882
83c8f461
RS
14883 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14884 * data.c (Fset): Pass new arg to set_internal.
14885 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14886
1fab1775
GM
148872000-01-11 Gerd Moellmann <gerd@gnu.org>
14888
52283633 14889 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14890
83c8f461 148912000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14892
14893 * minibuf.c (Ftry_completion): Doc fix.
14894
7a85e4df
GM
148952000-01-11 Gerd Moellmann <gerd@gnu.org>
14896
14897 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14898 vector, too.
14899
a970dae4
AS
149002000-01-11 Andreas Schwab <schwab@suse.de>
14901
14902 * coding.c (code_convert_region): Initialize total_skip.
14903
c65d14ee
DL
149042000-01-08 Dave Love <fx@gnu.org>
14905
14906 * eval.c (Fuser_variable_p): Check customizability too.
14907
834938d2
GM
149082000-01-07 Gerd Moellmann <gerd@gnu.org>
14909
14910 * minibuf.c (Fcompleting_read): Doc fix.
14911
e0303cd6
GM
149122000-01-05 Gerd Moellmann <gerd@gnu.org>
14913
8a26744b
GM
14914 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14915 -L /usr/local/lib.
14916
e0303cd6
GM
14917 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14918 Check that input style is supported before trying to create an
14919 IC for it.
14920 (x_window): Call x_create_im.
427ec082 14921
2e471eb5
GM
149222000-01-04 Gerd Moellmann <gerd@gnu.org>
14923
560a7bd2
GM
14924 * xfns.c (current_gif_memory_src): New variable.
14925 (gif_load): Record the address of the current memory source
14926 in current_gif_memory_src.
14927 (gif_read_from_memory): Use current_gif_memory_src.
14928
f9ee84a3
GM
14929 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14930 macros statement form.
14931
d1299cde
GM
14932 * sound.c (struct sound): Renamed from struct sound_file.
14933 (struct sound): Add members `data' and `header_size'.
14934 (enum sound_attr): Add SOUND_DATA.
14935 (current_sound, current_sound_device): Variables renamed from
14936 sound_file and sound_device.
14937 (parse_sound): Parse :data.
14938 (parse_sound): Handle sound data in strings.
14939 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14940 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14941 needed header size.
14942 (wav_play, au_play): Play sounds from string data.
14943
2e471eb5
GM
14944 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14945
14946 * lisp.h: Add prototype for allocate_string_data.
14947
52283633 14948 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14949
14950 * alloc.c (mark_buffer): Remove code in #if 0.
14951 (gc_sweep): Ditto.
14952 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14953 (strings_consed): New variable.
14954 (allocate_string): Set it.
14955 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14956 (Fmemory_use_counts): Return strings_consed. Use Flist.
14957
14958 * alloc.c: General cleanup in comments etc. Remove conditional
14959 compilation for `standalone'.
14960
14961 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14962
14963 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14964 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14965 (DONT_COPY_FLAG): Removed.
14966 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14967 (struct sdata, struct sblock): New
14968 (struct string_block): Rewritten.
14969 (STRINGS_IN_STRING_BLOCK): New macro.
14970 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14971 (large_sblocks, string_blocks, string_free_list): New variables.
14972 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14973 (init_strings): Rewritten.
14974 (allocate_string, allocate_string_data, compact_small_strings)
14975 (free_large_strings, sweep_strings): New functions.
14976 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14977 (struct string_block_head, current_string_block)
14978 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14979 (STRING_PAD): Removed.
14980 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14981 (Fgarbage_collect): Don't set mark bit in large strings.
14982 (mark_object): Mark strings differently. Mark symbol names
14983 differently.
14984 (survives_gc_p): Test marked strings differently.
427ec082 14985 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14986 symbol names.
14987 (compact_strings): Removed.
14988
42608ba8
EZ
149892000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14990
14991 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14992 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14993
e0a09e1a
KH
149942000-01-04 Kenichi Handa <handa@etl.go.jp>
14995
dd9f0750 14996 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14997 in a non-empty buffer.
dd9f0750 14998
3c0f3b15 14999 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15000
44cd3ae5
GM
150012000-01-03 Gerd Moellmann <gerd@gnu.org>
15002
15003 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15004 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15005
15006 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15007
c182a70f
EZ
150082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15009
15010 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15011 need to test for MSDOS frames.
15012
24480d5b
EZ
150132000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15014
15015 * dosfns.c (unspecified_colors): Remove.
15016 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15017 unspecified_bg.
15018 (msdos_stdcolor_name): Return strings for unspecified fore- and
15019 back-ground colors.
15020
15021 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15022 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15023 (tty_color_name): Return Lisp strings for unspecified fore- and
15024 back-ground colors.
15025 (Finternal_set_lisp_face_attribute): Remove the special treatment
15026 for Qunspecified_{f,b}g.
52283633 15027 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15028
047f434a
GM
150292000-01-03 Gerd Moellmann <gerd@gnu.org>
15030
15031 * xdisp.c (reseat_at_next_visible_line_start): Position before
15032 newline only if ending up on a newline.
15033 (next_element_from_ellipsis): Return success. Handle case of
52283633 15034 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15035 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15036 returns 0.
15037
d684c676
EZ
150382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15039
15040 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15041 (Fcolor_supported_p): Renamed from face-color-supported-p.
15042
5fe1d139
EZ
150432000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15044
15045 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15046 list of colors renamed to tty-defined-color-alist.
15047 (tty_color_name): Pass the frame to tty-color-by-index.
15048 (realize_tty_face): tty-color-alist is now a function which
15049 accepts the frame as argument.
15050
52283633 15051 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15052
816be8b8
EZ
150532000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15054
15055 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15056 encode_terminal_code.
15057
b635321e
EZ
150582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15059
15060 * dispnew.c (mode_line_string): Support termcap frames as well.
15061
9b784e96
GM
150622000-01-01 Gerd Moellmann <gerd@gnu.org>
15063
27189709
GM
15064 * syntax.c (Fforward_word): Undo previous change.
15065
15066 * editfns.c (Fconstrain_to_field): Don't constrain if
15067 inhibit-field-text-motion is non-nil.
15068 (Fline_beginning_position): Undo previous change.
15069 (Fline_end_position): Ditto.
15070
15071 * syntax.c (Fforward_word): Notice field boundaries only if
15072 inhibit-field-text-motion is nil.
15073
15074 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15075
15076 * editfns.c (Vinhibit_field_text_motion): New variable.
15077 (inhibit-field-text-motion): New DEFVAR_LISP.
15078 (Fline_beginning_position, Fline_end_position): Notice field
15079 boundaries only if inhibit-field-text-motion is nil.
15080
45158a91
GM
15081 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15082 All calls adjusted.
15083 (x_build_heuristic_mask): Likewise.
15084 (xbm_load_image_from_file): Change error output.
15085 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15086 (gif_load, gs_load, x_kill_gs_process): Ditto.
15087
9b784e96
GM
15088 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15089 color indices when accessing raster pixels.
63cec32f
GM
15090 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15091 one of :file or :data.
15092 (enum pbm_keyword_index): Add PBM_DATA.
15093 (pbm_format): Add :data.
15094 (pbm_image_p): Allow either :file or :data.
15095 (pbm_read_file): New function.
15096 (pbm_scan_number): Rewritten to read from string.
15097 (pbm_load): Support :data.
9b784e96 15098
2cb085db 15099See ChangeLog.8 for earlier changes.
6922b018
KH
15100
15101;; Local Variables:
49b3bd82 15102;; coding: iso-2022-7bit
6922b018 15103;; End:
2a34a036
GM
15104
15105 Copyright (C) 2001 Free Software Foundation, Inc.
15106 Copying and distribution of this file, with or without modification,
15107 are permitted provided the copyright notice and this notice are preserved.